.profile-container { min-width: 0; }
.profile-container img { max-width: 100%; }
.profile-eyebrow { margin: 0 0 .35rem; color: var(--color-gold-300); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.profile-header {
	display: grid; grid-template-columns: minmax(8rem, 13rem) minmax(0, 1fr); gap: 1.5rem; align-items: center;
	margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
	background: linear-gradient(125deg, rgba(142,39,27,.22), transparent 48%), var(--color-surface); box-shadow: var(--shadow-card);
}
.profile-header__visual { display: grid; min-height: 12rem; place-items: center; overflow: hidden; }
.profile-header__visual img { max-height: 13rem; object-fit: contain; }
.profile-header__title { margin: 0 0 .25rem; font-size: clamp(1.7rem, 5vw, 2.7rem); }
.profile-header__class { margin: 0 0 1rem; color: var(--color-text-muted); font-weight: 700; }
.profile-progress { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); gap: .65rem; margin: 0; }
.profile-progress div, .profile-optional-data div { padding: .65rem .75rem; border: 1px solid rgba(209,166,94,.18); border-radius: var(--radius-sm); background: rgba(8,7,6,.45); }
.profile-progress dt, .profile-optional-data dt { color: var(--color-text-muted); font-size: .72rem; text-transform: uppercase; }
.profile-progress dd, .profile-optional-data dd { margin: .2rem 0 0; font-weight: 800; }
.equipment-panel { padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.equipment-panel__heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.equipment-panel__heading h2, .equipment-panel__heading p { margin: 0; }
.equipment-panel__heading > p { color: var(--color-text-muted); font-size: .85rem; }
.equipment-grid {
	position: relative; display: grid;
	grid-template-columns: repeat(5, minmax(3.6rem, 1fr));
	grid-template-rows: repeat(6, minmax(3.9rem, auto));
	grid-template-areas:
		"pet helm helm wings wings"
		"right_weapon helm helm left_weapon left_weapon"
		"right_weapon armor armor left_weapon left_weapon"
		"gloves armor armor pendant pendant"
		"ring_left pants pants ring_right ring_right"
		"boots boots boots boots boots";
	gap: .65rem; min-height: 34rem; padding: 1rem; overflow: hidden;
	border: 1px solid rgba(209,166,94,.22); border-radius: var(--radius-lg);
	background: radial-gradient(circle at 50% 42%, rgba(185,138,66,.13), transparent 43%), #0b0908;
}
.equipment-grid__class-image { position: absolute; z-index: 0; inset: 4% 16% 3%; width: 68%; height: 93%; object-fit: contain; opacity: .72; pointer-events: none; filter: drop-shadow(0 .8rem 1.1rem rgba(0,0,0,.75)); }
.equipment-slot { position: relative; z-index: 1; display: grid; min-height: 4rem; place-items: center; border: 1px solid rgba(209,166,94,.28); border-radius: var(--radius-sm); background: rgba(10,8,7,.83); box-shadow: inset 0 0 1.2rem rgba(0,0,0,.45); }
.equipment-slot--right_weapon { grid-area: right_weapon; }
.equipment-slot--left_weapon { grid-area: left_weapon; }
.equipment-slot--helm { grid-area: helm; }
.equipment-slot--armor { grid-area: armor; }
.equipment-slot--pants { grid-area: pants; }
.equipment-slot--gloves { grid-area: gloves; }
.equipment-slot--boots { grid-area: boots; }
.equipment-slot--wings { grid-area: wings; }
.equipment-slot--pet { grid-area: pet; }
.equipment-slot--pendant { grid-area: pendant; }
.equipment-slot--ring_left { grid-area: ring_left; }
.equipment-slot--ring_right { grid-area: ring_right; }
.equipment-slot__label { position: absolute; top: .28rem; left: .38rem; color: rgba(241,224,194,.62); font-size: .58rem; letter-spacing: .04em; text-transform: uppercase; }
.equipment-slot__empty { color: rgba(255,255,255,.18); font-size: 1.4rem; }
.equipment-item { display: grid; width: 100%; height: 100%; min-height: 4rem; padding: .85rem .35rem .35rem; place-items: center; border: 0; background: transparent; cursor: pointer; }
.equipment-item img { max-width: 88%; max-height: 7.5rem; object-fit: contain; filter: drop-shadow(0 .3rem .35rem rgba(0,0,0,.9)); }
.equipment-item:focus-visible { outline: 2px solid var(--color-gold-300); outline-offset: -3px; }
.item-rarity-excellent { box-shadow: inset 0 0 1.2rem rgba(74,197,93,.16); }
.item-rarity-ancient { box-shadow: inset 0 0 1.2rem rgba(83,154,255,.18); }
.item-rarity-socket { box-shadow: inset 0 0 1.2rem rgba(184,92,255,.18); }
.item-rarity-380 { box-shadow: inset 0 0 1.2rem rgba(255,166,70,.18); }
.item-tooltip { position: fixed; z-index: 1000; width: min(21rem, calc(100vw - 2rem)); padding: 1rem; border: 1px solid var(--color-gold-500); border-radius: var(--radius-sm); background: rgba(7,6,5,.98); color: var(--color-text); box-shadow: 0 1rem 3rem rgba(0,0,0,.7); font-size: .82rem; line-height: 1.45; }
.item-tooltip[hidden] { display: none; }
.item-tooltip__close { position: absolute; top: .35rem; right: .4rem; width: 2rem; height: 2rem; border: 0; background: transparent; color: var(--color-text); font-size: 1.5rem; cursor: pointer; }
.item-tooltip__name { padding-right: 2rem; color: var(--color-gold-300); font-weight: 800; }
.item-tooltip__subtitle { margin-top: .15rem; color: var(--color-text-muted); }
.item-tooltip__lines { margin: .7rem 0 0; padding: 0; list-style: none; }
.item-tooltip__lines li + li { margin-top: .22rem; }
.profile-optional-data { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .65rem; margin: 1rem 0 0; }
@media (max-width: 42rem) {
	.profile-header { grid-template-columns: 1fr; text-align: center; }
	.profile-header__visual { min-height: 8rem; }
	.equipment-panel__heading { align-items: start; flex-direction: column; }
	.equipment-grid { min-height: 29rem; padding: .6rem; gap: .4rem; }
}
@media (max-width: 30rem) {
	.equipment-grid { grid-template-columns: repeat(4, minmax(2.7rem, 1fr)); grid-template-rows: repeat(7, minmax(3.4rem, auto)); grid-template-areas:
		"pet helm helm wings"
		"right_weapon helm helm left_weapon"
		"right_weapon armor armor left_weapon"
		"gloves armor armor pendant"
		"ring_left pants pants ring_right"
		"boots boots boots boots"
		"boots boots boots boots"; }
	.equipment-slot__label { font-size: .5rem; }
	.equipment-item { padding-inline: .15rem; }
	.item-tooltip { inset: auto 1rem 1rem !important; width: auto; max-height: 70vh; overflow: auto; }
}
@media (prefers-reduced-motion: reduce) { .equipment-item, .item-tooltip { transition: none !important; } }

/* Advanced guild profile */
.guild-profile-header {
	display: grid; grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr); gap: 1.5rem; align-items: center;
	margin-bottom: 1.5rem; padding: 1.35rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
	background: radial-gradient(circle at 12% 45%, rgba(209,166,94,.13), transparent 27%), linear-gradient(125deg, rgba(142,39,27,.2), transparent 50%), var(--color-surface);
	box-shadow: var(--shadow-card);
}
.guild-profile-header__mark { display: grid; min-height: 11rem; place-items: center; }
.guild-profile-header__mark img { width: min(9.5rem, 100%); image-rendering: pixelated; filter: drop-shadow(0 .7rem .9rem rgba(0,0,0,.7)); }
.guild-mark-fallback { display: grid; width: 8rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(209,166,94,.35); border-radius: var(--radius-sm); background: rgba(8,7,6,.6); color: var(--color-gold-300); font-size: 3rem; font-weight: 800; }
.guild-profile-header__content h1 { margin: 0 0 .35rem; font-size: clamp(1.8rem, 5vw, 2.8rem); overflow-wrap: anywhere; }
.guild-profile-master { display: flex; flex-wrap: wrap; gap: .4rem .65rem; align-items: baseline; margin: 0 0 .85rem; }
.guild-profile-master span { color: var(--color-text-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.guild-profile-master a, .guild-member-table a { overflow-wrap: anywhere; color: var(--color-gold-300); font-weight: 800; text-decoration: none; }
.guild-profile-master a:hover, .guild-member-table a:hover { text-decoration: underline; }
.guild-profile-badges { display: flex; flex-wrap: wrap; gap: .45rem; min-height: 0; }
.guild-profile-badge { display: inline-flex; padding: .35rem .65rem; border: 1px solid rgba(209,166,94,.3); border-radius: 999px; background: rgba(8,7,6,.55); font-size: .72rem; font-weight: 800; }
.guild-profile-badge--castle { color: #efbf72; }
.guild-profile-badge--king { color: #f3d784; box-shadow: inset 0 0 1rem rgba(209,166,94,.12); }
.guild-profile-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 10rem)); gap: .65rem; margin: 1rem 0 0; }
.guild-profile-stats div { padding: .7rem .8rem; border: 1px solid rgba(209,166,94,.18); border-radius: var(--radius-sm); background: rgba(8,7,6,.48); }
.guild-profile-stats dt { color: var(--color-text-muted); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.guild-profile-stats dd { margin: .2rem 0 0; font-size: 1.1rem; font-weight: 800; }
.guild-members-panel { padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.guild-members-panel__heading h2 { margin: 0 0 1rem; }
.guild-member-table-wrap { overflow-x: auto; }
.guild-member-table { width: 100%; border-collapse: collapse; }
.guild-member-table th, .guild-member-table td { padding: .75rem; border-bottom: 1px solid rgba(209,166,94,.14); text-align: left; vertical-align: middle; }
.guild-member-table th { color: var(--color-text-muted); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.guild-member-table tbody tr:hover { background: rgba(209,166,94,.045); }
.guild-rank { display: inline-flex; padding: .25rem .5rem; border: 1px solid rgba(209,166,94,.2); border-radius: 999px; font-size: .7rem; font-weight: 800; }
.guild-rank--guild-master { color: #f3d784; }
.guild-rank--assistant-guild-master { color: #d6b4ff; }
.guild-rank--battle-master { color: #ff9c86; }
.guild-members-empty { margin: 0; padding: 1.25rem; color: var(--color-text-muted); text-align: center; }
@media (max-width: 42rem) {
	.guild-profile-header { grid-template-columns: 1fr; text-align: center; }
	.guild-profile-header__mark { min-height: 8rem; }
	.guild-profile-master, .guild-profile-badges { justify-content: center; }
	.guild-profile-stats { justify-content: center; }
}
@media (max-width: 36rem) {
	.guild-member-table-wrap { overflow: visible; }
	.guild-member-table, .guild-member-table tbody, .guild-member-table tr, .guild-member-table td { display: block; width: 100%; }
	.guild-member-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
	.guild-member-table tr { margin-bottom: .75rem; padding: .35rem .65rem; border: 1px solid rgba(209,166,94,.18); border-radius: var(--radius-sm); background: rgba(8,7,6,.38); }
	.guild-member-table td { display: grid; grid-template-columns: minmax(6.5rem, .75fr) minmax(0, 1.25fr); gap: .75rem; padding: .55rem 0; border-bottom: 1px solid rgba(209,166,94,.1); text-align: right; }
	.guild-member-table td:last-child { border-bottom: 0; }
	.guild-member-table td::before { content: attr(data-label); color: var(--color-text-muted); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
}
