.guild-profile-shell { --gp-ink:#e5e9dd; --gp-muted:#9ea697; --gp-line:#313b31; --gp-accent:#c7af79; color:var(--gp-ink); font-family:var(--font-sans); }
.guild-profile-shell [hidden] { display:none !important; }
.guild-profile-shell :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--gp-accent); outline-offset:3px; }
.gp-back { color:var(--gp-muted); font-size:12px; text-underline-offset:3px; }
.gp-hero { display:flex; align-items:center; gap:18px; margin:16px 0 0; padding:0 0 16px; }
.gp-hero > .guild-cape--profile { inline-size:48px; block-size:62px; flex:none; }
.gp-identity { flex:1; min-width:0; }
.gp-identity h1 { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:0; font-family:var(--font-sans); font-size:24px; font-weight:600; letter-spacing:-.035em; line-height:1.3; }
.gp-identity h1 > span { color:var(--gp-muted); font-size:16px; font-weight:400; letter-spacing:0; }
.gp-identity p { margin:5px 0 0; font-size:12px; color:var(--gp-muted); }
.gp-stats { display:flex; gap:32px; font-variant-numeric:tabular-nums; }
.gp-stats > div { display:grid; gap:4px; }
.gp-stats strong { font-family:var(--font-sans); font-size:23px; font-weight:500; color:#d4c5a3; line-height:1.3; }
.gp-stats span { font-size:12px; color:var(--gp-muted); white-space:nowrap; }
.gp-stats small { margin-left:5px; color:#c7cebd; font-size:12px; }
.gp-honors { position:relative; z-index:2; margin-bottom:18px; border-block:1px solid var(--gp-line); }
.gp-honors-strip { display:flex; align-items:center; gap:28px; padding:8px 0; }
.gp-gold-capes { display:flex; align-items:center; gap:12px; min-width:190px; }
.gp-gold-capes strong { display:block; color:#e2c365; font-family:var(--font-sans); font-size:23px; font-weight:500; line-height:1.15; }
.gp-gold-capes strong > span { font-size:14px; }
.gp-gold-capes small { display:block; margin-top:3px; color:var(--gp-muted); font-size:12px; line-height:16px; }
.gp-gold-cape { display:grid; place-items:center; flex:none; width:34px; height:40px; }
.gp-gold-cape .guild-cape--directory { inline-size:30px; block-size:40px; }
.gp-gold-cape .guild-cape__trim { mask-mode:alpha; filter:brightness(1.35); }
.gp-stage-record { display:flex; flex:1; gap:32px; }
.gp-stage-record > div { display:flex; align-items:baseline; gap:10px; }
.gp-stage-record span { color:var(--gp-muted); font-size:13px; }
.gp-stage-record strong { font-size:20px; font-weight:500; font-variant-numeric:tabular-nums; }
.gp-honors-history { margin:0; padding:0; border:0; background:transparent; }
.gp-honors-history > summary { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--gp-muted); cursor:pointer; list-style:none; white-space:nowrap; }
.gp-honors-history > summary::-webkit-details-marker { display:none; }
.gp-honors-history > summary > span { color:#c7cebd; }
.gp-honors-history i { width:6px; height:6px; border-right:1px solid var(--gp-muted); border-bottom:1px solid var(--gp-muted); transform:rotate(45deg); margin:0 2px 3px; }
.gp-honors-history[open] i { transform:rotate(225deg); margin-bottom:0; }
.gp-honors-popover { position:absolute; top:calc(100% + 5px); right:0; width:410px; max-width:100%; padding:12px; border:1px solid #46503f; border-radius:5px; background:#171e19; box-shadow:0 10px 30px #0006; }
.gp-honors-popover table { width:100%; border-collapse:collapse; font-size:13px; }
.gp-honors-popover :is(th,td) { padding:8px; border:0; border-bottom:1px solid var(--gp-line); background:transparent; text-align:left; font-weight:400; text-transform:none; letter-spacing:0; }
.gp-honors-popover thead th { color:var(--gp-muted); font-size:12px; }
.gp-honors-popover p { margin:10px 8px 0; color:var(--gp-muted); font-size:12px; line-height:1.6; }
.gp-gold-text { color:#e2c365; }
.gp-performance, .gp-ledger { min-width:0; border:1px solid var(--gp-line); border-radius:5px; background:#141c18; overflow:hidden; }
.gp-performance { margin-bottom:18px; }
.gp-performance-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:12px 18px; border-bottom:1px solid var(--gp-line); }
.gp-performance-heading h2 { margin:0; font-family:var(--font-sans); font-size:16px; font-weight:600; letter-spacing:-.015em; }
.gp-performance-heading p { margin:5px 0 0; color:var(--gp-muted); font-size:12px; }
.gp-performance-filters { display:flex; align-items:center; gap:16px; }
.gp-field { display:flex; align-items:center; gap:8px; color:var(--gp-muted); font-size:12px; }
.gp-field > span { text-transform:none; letter-spacing:0; font-size:12px; font-weight:400; }
.guild-profile-shell :is(input,select) { min-height:34px; padding:6px 10px; border:1px solid #3f4a3b; border-radius:3px; background:#1b241d; color:var(--gp-ink); font:inherit; font-size:13px; }
.gp-field select { max-width:190px; }
.gp-chart-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
.gp-chart-grid > figure { margin:0; min-width:0; padding:10px 12px 8px; }
.gp-results-figure { border-left:1px solid var(--gp-line); }
.gp-chart-grid figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; padding:0 6px 6px; }
.gp-chart-grid h3 { margin:0; font-family:var(--font-sans); font-size:14px; font-weight:500; }
.gp-chart-grid figcaption > span { font-size:12px; color:var(--gp-muted); }
.gp-chart-toggle { display:flex; gap:2px; }
.gp-chart-toggle button { min-block-size:28px; min-height:28px; padding:4px 8px; border:1px solid transparent; border-radius:3px; background:transparent; color:var(--gp-muted); font:inherit; font-size:12px; cursor:pointer; }
.gp-chart-toggle button[aria-pressed="true"] { border-color:#46503f; background:#263025; color:var(--gp-ink); }
.guild-profile-shell .gvg-chart { height:250px; min-block-size:250px; margin:0; border:0; border-radius:0; background:transparent; background-image:none; box-shadow:none; }
.gp-chart-note { margin:0; padding:6px 6px 0; color:var(--gp-muted); font-size:12px; line-height:1.5; }
.gp-chart-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; height:250px; padding:18px; color:var(--gp-muted); text-align:center; font-size:13px; }
.gp-chart-empty strong { color:var(--gp-ink); font-weight:500; }
.gp-chart-empty span { max-width:300px; line-height:1.6; }
.gp-ledger-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px 18px; }
.gp-ledger-heading h2 { margin:0; font-family:var(--font-sans); font-size:16px; font-weight:600; }
.gp-ledger-heading > span, .gp-ledger-heading h2 > span { color:var(--gp-muted); font-size:12px; }
.gp-ledger-tabs { display:flex; gap:6px; }
.gp-ledger-tabs button { display:flex; align-items:center; gap:8px; min-height:36px; padding:7px 10px; border:1px solid transparent; border-radius:3px; background:transparent; color:var(--gp-muted); font:inherit; font-size:14px; cursor:pointer; }
.gp-ledger-tabs button[aria-pressed="true"] { border-color:#46503f; background:#263025; color:var(--gp-ink); }
.gp-ledger-tabs button > span { color:var(--gp-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.gp-ledger-controls { display:flex; gap:10px; }
.gp-search input { width:250px; box-sizing:border-box; }
.gp-search input::placeholder { color:var(--gp-muted); }
.gp-ledger-context { display:flex; justify-content:space-between; gap:12px; padding:0 18px 12px; color:var(--gp-muted); font-size:12px; }
.gp-table-scroll { width:100%; overflow-x:auto; scrollbar-width:thin; }
.gp-table { width:100%; margin:0; border-collapse:collapse; font-family:var(--font-sans); font-size:13px; font-variant-numeric:tabular-nums; }
.gp-table thead th { padding:10px 18px; border-block:1px solid var(--gp-line); background:#101813; color:var(--gp-muted); text-align:left; font-size:12px; font-weight:400; white-space:nowrap; text-transform:none; letter-spacing:0; }
.gp-table tbody :is(th,td) { height:44px; padding:9px 18px; border:0; border-bottom:1px solid #263126; background:transparent; text-align:left; font-size:13px; font-weight:400; white-space:nowrap; text-transform:none; letter-spacing:0; }
.gp-table tbody th { color:var(--gp-ink); font-weight:500; }
.gp-table tbody tr:hover { background:#202a20; }
.gp-table .gp-numeric { text-align:right; }
.gp-table .gp-table-date { text-align:right; color:var(--gp-muted); }
.gp-table-rank { color:#7f8b7c; width:40px; }
.gp-table-output { color:#d4c5a3; }
.gp-character-table { min-width:800px; }
.gp-character-table tbody th { width:32%; white-space:normal; overflow-wrap:anywhere; }
.gp-classes { display:flex; flex-wrap:wrap; gap:8px 14px; }
.gp-classes > span { display:flex; align-items:center; gap:7px; }
.gp-classes small { color:var(--gp-muted); font-size:12px; }
.gp-profession-icon, .gp-team-icons .loadout-icon { display:inline-grid; flex:none; place-items:center; width:20px; height:20px; inline-size:20px; block-size:20px; min-inline-size:20px; min-block-size:20px; padding:0; border:0; border-radius:0; background:transparent; }
.gp-profession-icon img, .gp-team-icons .loadout-icon img { width:20px; height:20px; inline-size:20px; block-size:20px; object-fit:contain; }
.gp-share { display:flex; align-items:center; justify-content:flex-end; gap:10px; color:var(--gp-muted); }
.gp-share > span:last-child { min-width:35px; }
.gp-share-track { width:90px; height:4px; background:#29362a; }
.gp-share-track i { display:block; height:100%; background:#87976b; }
.gp-matches-table { min-width:1100px; }
.gp-matches-table tbody th { min-width:220px; white-space:normal; }
.gp-matches-table tbody th a { display:flex; flex-wrap:wrap; gap:6px; color:inherit; }
.gp-matches-table tbody th small { color:var(--gp-muted); font-size:12px; font-weight:400; }
.gp-matches-table .gp-table-date { text-align:left; }
.gp-table-date a { color:var(--gp-muted); }
.gp-table-date a > span { color:#778271; font-size:12px; }
.gp-team-icons { display:flex; gap:3px; }
.guild-profile-shell .guild-build-slots { display:flex; flex-wrap:nowrap; gap:3px; }
.guild-profile-shell :is(.gp-elite-icon,.guild-build-elite).skill-token.icon-only { width:27px; height:27px; inline-size:27px; block-size:27px; min-inline-size:27px; min-block-size:27px; padding:1px; border:1px solid #665d40; border-radius:3px; background:#1b241d; flex:none; }
.guild-profile-shell :is(.gp-elite-icon,.guild-build-elite) .skill-token-icon { width:23px; height:23px; inline-size:23px; block-size:23px; min-inline-size:23px; min-block-size:23px; border:0; border-radius:1px; }
.gp-elite-unknown { display:inline-grid; place-items:center; width:27px; height:27px; flex:none; color:#7f8b7c; border:1px solid #344031; border-radius:3px; font-size:12px; }
.gp-composition-unavailable { color:var(--gp-muted); }
.gp-result { display:inline-block; color:var(--gp-muted); font-size:12px; }
.gp-result--win { color:#a1bc95; }
.gp-result--loss { color:#c49183; }
.gp-builds-table { min-width:700px; }
.gp-ledger-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:10px 18px; color:var(--gp-muted); font-size:12px; }
.gp-ledger-footer button { padding:6px 12px; border:1px solid #46503f; border-radius:3px; background:#1b241d; color:var(--gp-ink); font:inherit; font-size:13px; cursor:pointer; }
.gp-ledger-note { margin:0; padding:12px 18px; color:var(--gp-muted); font-size:12px; }
.gp-table .gp-empty { padding:28px 18px; color:var(--gp-muted); text-align:center; font-size:13px; }
.gp-methodology { margin:14px 0 22px; padding:0; border:0; background:transparent; color:var(--gp-muted); }
.gp-methodology :is(summary,p) { font-size:12px; line-height:1.7; }
.gp-methodology summary { cursor:pointer; }
.gp-ledger-tabs button:disabled { cursor:default; opacity:.55; }
.guild-profile-shell button:is(:hover,:focus-visible):not(:disabled) { color:var(--gp-ink); border-color:#8e855c; background:#293326; }
@media (max-width:600px) { .gp-chart-toggle button { min-block-size:44px; } }
@media (max-width:1200px) { .gp-stats { gap:22px; } .gp-stage-record { gap:24px; } .gp-stage-record > div { flex-direction:column; gap:4px; } .gp-performance-heading { align-items:flex-start; } }
@media (max-width:900px) { .gp-hero { flex-wrap:wrap; } .gp-stats { width:100%; justify-content:space-between; padding-top:4px; } .gp-honors-strip { flex-wrap:wrap; gap:12px 20px; } .gp-gold-capes { min-width:160px; } .gp-honors-history { margin-left:auto; } .gp-chart-grid { grid-template-columns:minmax(0,1fr); } .gp-results-figure { border-left:0; border-top:1px solid var(--gp-line); } .gp-stage-record { justify-content:space-between; gap:16px; } }
@media (max-width:600px) { .gp-back { margin-top:12px; } .gp-hero { gap:12px; } .gp-identity h1 { font-size:21px; } .gp-stats { gap:10px; } .gp-stats strong { font-size:21px; } .gp-stats span { font-size:11px; } .gp-stats small { display:block; margin:2px 0 0; font-size:11px; } .gp-honors-strip { gap:14px; } .gp-stage-record { flex-basis:100%; order:3; gap:12px; } .gp-stage-record span { font-size:12px; } .gp-stage-record strong { font-size:19px; } .gp-honors-history > summary { gap:8px; } .gp-performance-heading, .gp-ledger-heading { padding:12px; } .gp-performance-heading p { line-height:1.6; } .gp-performance-filters { width:100%; gap:10px; } .gp-performance-filters .gp-field { flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:5px; } .gp-performance-filters select { width:100%; max-width:100%; } .gp-chart-grid > figure { padding:12px 6px; } .gp-chart-grid figcaption { flex-wrap:wrap; gap:6px; } .gp-ledger-heading { gap:12px; } .gp-ledger-tabs { gap:2px; width:100%; } .gp-ledger-tabs button { flex:1; justify-content:center; gap:6px; padding:7px; font-size:13px; } .gp-ledger-controls { width:100%; } .gp-search { min-width:0; flex:1; } .gp-search input { width:100%; } .gp-ledger-controls select { max-width:120px; } .gp-ledger-context { padding-inline:12px; font-size:11px; } .gp-ledger-footer { padding-inline:12px; } .gp-methodology { padding-inline:4px; } }
:root[data-visual-mode="minimal"] .guild-profile-shell { --gp-ink:var(--color-text); --gp-muted:var(--color-text-muted); --gp-line:var(--color-border); --gp-accent:var(--color-brand); }
:root[data-visual-mode="minimal"] .guild-profile-shell :is(.gp-performance,.gp-ledger,select,input) { background:var(--color-canvas); border-radius:0; }
