:root{color-scheme:dark;--bg:#0c1019;--card:#141c2a;--txt:#f0f4fb;--mute:#97a5bd;--accent:#daae68;--line:#283349}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#1c2a42 0,transparent 45%),var(--bg);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--txt)}a{color:inherit;text-decoration:none}.shell{max-width:1180px;min-height:100vh;margin:auto;padding:0 28px;display:flex;flex-direction:column}.header{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.logo{font-size:24px;font-weight:900;letter-spacing:.035em}.muted{color:var(--accent);font-weight:500;font-size:14px;letter-spacing:.16em;margin-left:7px}.emblem{color:var(--accent)}nav{display:flex;gap:25px;font-size:14px;color:#c8d2e0}nav a:hover,.hint a:hover{color:var(--accent)}main{flex:1}.hero{max-width:850px;padding:92px 0 65px}.kicker{color:var(--accent);letter-spacing:.2em;font-size:11px;font-weight:850}.hero h1{font-size:clamp(43px,7.5vw,88px);line-height:1.08;letter-spacing:-.045em;margin:26px 0}.hero h1 span{color:var(--accent)}.hero p,.form-card>p,.page-head p{color:var(--mute);font-size:17px;line-height:1.65;max-width:650px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}.primary,.secondary,.textbtn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 19px;font-size:14px;font-weight:750;cursor:pointer;border:1px solid transparent}.primary{background:var(--accent);color:#19140b}.primary:hover{background:#efc48c}.secondary{background:transparent;border-color:#46546c;color:#eef3fb}.secondary:hover{background:#222d3e}.textbtn{background:none;color:var(--mute)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guild,.metrics article{background:linear-gradient(150deg,#1b283b,#111724);border:1px solid #303a4f;border-radius:20px;padding:28px}.orb{width:48px;height:48px;border:1px solid #927448;background:#42331f;color:#f4d096;display:grid;place-items:center;border-radius:12px;font-weight:900}.guild h2{margin:18px 0 5px}.guild p{color:var(--mute);margin:0}.note{background:#171f2d;border-left:3px solid var(--accent);color:#b9c6d7;margin:28px 0;padding:20px 24px;border-radius:0 14px 14px 0;line-height:1.6}.form-card{max-width:520px;margin:70px auto;padding:38px;border:1px solid var(--line);background:#141b28;border-radius:22px}.form-card h1,.page-head h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.025em;margin:14px 0 16px}.form-card>p{font-size:15px}form{margin:0}label{display:block;margin:19px 0;color:#d8e0ec;font-size:13px;font-weight:650}input,select{display:block;width:100%;margin-top:8px;border:1px solid #3d4a60;background:#0c1320;color:white;padding:14px;border-radius:10px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--accent)}form>.primary{margin-top:10px;width:100%}.notice{border:1px solid #75562c;background:#2b241b;color:#eed1ab;border-radius:12px;padding:15px;margin:18px 0;font-size:14px;line-height:1.5}.notice.good{border-color:#3e7f6b;background:#16312c;color:#d1f0e7}.hint{font-size:13px!important;margin-top:26px}.hint a{color:var(--accent)}.page-head{padding-top:60px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.metrics strong{font-size:44px;display:block;color:var(--accent)}.metrics span{color:var(--mute);font-size:14px}.request-list{display:grid;gap:12px;margin:30px 0}.request-list article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;justify-content:space-between;gap:14px;align-items:center}.request-list article p{color:var(--mute);margin:5px 0}.request-list .actions{margin:0}.secret{color:#fff;background:#0b1818;padding:15px;border:1px dashed #649d86;border-radius:8px;letter-spacing:.07em;font-family:monospace;font-size:17px;margin:12px 0}footer{border-top:1px solid var(--line);margin-top:60px;padding:24px 0;color:var(--mute);font-size:12px}@media(max-width:650px){.shell{padding:0 18px}.header{height:auto;padding:18px 0;align-items:flex-start;flex-direction:column}nav{gap:18px;flex-wrap:wrap}.hero{padding:60px 0 35px}.cards,.metrics{grid-template-columns:1fr}.form-card{margin:32px auto;padding:24px}.request-list article{align-items:flex-start;flex-direction:column}.hero p{font-size:15px}}

/* Weekly ranking on narrow screens */
.filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:24px 0}.filters label{flex:1;min-width:210px;margin:0}.filters .primary{height:48px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;margin:25px 0}.ranking{border-collapse:collapse;width:100%;min-width:690px;background:var(--card)}.ranking th,.ranking td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left}.ranking th{color:var(--mute);font-size:12px;white-space:nowrap}.ranking td{font-size:14px}.ranking .rank,.ranking .amount{color:var(--accent);font-weight:700}.ranking a:hover{color:var(--accent)}.ranking tbody tr:hover{background:#1b283b}.metrics strong{overflow-wrap:anywhere}.filters select{min-height:48px}
@media(max-width:650px){.filters{gap:12px}.filters label{min-width:100%}.filters .primary{width:100%}}

/* GUARD locale control; no JS dependency */
.header nav{flex:1;justify-content:flex-end;flex-wrap:wrap;column-gap:16px;row-gap:9px}
.lang-switch{flex:none;display:inline-flex;gap:3px;border:1px solid var(--line);border-radius:9px;padding:3px}
.lang-switch a{display:inline-block;min-width:34px;padding:7px 8px;border-radius:6px;text-align:center;font-size:12px;font-weight:800;color:var(--mute)}
.lang-switch a[aria-current=true]{background:var(--accent);color:#17140c}
.ui-unknown{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}
.ranking td,.ranking th{vertical-align:middle}
.ranking .amount{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:900px){.header{height:auto;padding:14px 0;flex-wrap:wrap}.header nav{order:3;flex-basis:100%;justify-content:flex-start}.lang-switch{margin-left:auto}}
\n
/* V0.10 DESIGN SYSTEM — accessible ranks, compact week range and navigation */
:root{--gold-soft:rgba(217,171,91,.11);--silver-soft:rgba(165,183,211,.095);--bronze-soft:rgba(171,116,85,.115)}
.header{height:auto;min-height:78px;padding:12px 0;gap:14px}
.header .logo{white-space:nowrap;flex:none;font-size:23px}
.header .main-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 5px;min-width:0}
.header .main-nav a{font-size:12px;font-weight:630;line-height:1.25;white-space:nowrap;padding:10px 11px;border-radius:9px;border:1px solid transparent;color:#cbd6e6;transition:background-color .16s,color .16s,border-color .16s}
.header .main-nav a:hover{background:#222d40;border-color:#35445b;color:#fff}
.header .main-nav a[aria-current="page"]{background:#29291f;border-color:#806740;color:#f5d29c;box-shadow:inset 0 -2px 0 #d4a75e}
.header .main-nav a:focus-visible,.lang-switch a:focus-visible{outline:2px solid #efc47c;outline-offset:2px}
.lang-switch{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #405069;background:#111c2b;border-radius:10px;white-space:nowrap}
.lang-switch a{display:inline-flex;justify-content:center;align-items:center;min-width:40px;min-height:32px;padding:6px 9px;border-radius:7px;font-size:12px;font-weight:750;color:#aebed2}
.lang-switch a:hover:not([aria-current="true"]){background:#26354b;color:#fff}
.lang-switch a[aria-current="true"]{background:#d9ad67;color:#19170f}
.metric-week{font-size:clamp(20px,2.5vw,35px)!important;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2}
.ranking .player-name,.history-table .player-name{font-size:15px;font-weight:780;color:#f2f6fc;letter-spacing:.008em}
.ranking .player-name a:hover,.history-table .player-name a:hover{color:#eac78c;text-decoration:underline;text-underline-offset:3px}
.ranking tbody tr.rank-gold,.history-table tbody tr.rank-gold{background:var(--gold-soft)}
.ranking tbody tr.rank-silver,.history-table tbody tr.rank-silver{background:var(--silver-soft)}
.ranking tbody tr.rank-bronze,.history-table tbody tr.rank-bronze{background:var(--bronze-soft)}
.ranking tbody tr.rank-gold td:first-child,.history-table tbody tr.rank-gold td:first-child{box-shadow:inset 3px 0 #d9ad67}
.ranking tbody tr.rank-silver td:first-child,.history-table tbody tr.rank-silver td:first-child{box-shadow:inset 3px 0 #b7c6d7}
.ranking tbody tr.rank-bronze td:first-child,.history-table tbody tr.rank-bronze td:first-child{box-shadow:inset 3px 0 #bb8665}
.ranking tbody tr.rank-gold .rank,.history-table tbody tr.rank-gold td:first-child{color:#f3ca81;font-weight:850}
.ranking tbody tr.rank-silver .rank,.history-table tbody tr.rank-silver td:first-child{color:#d6e0ed;font-weight:850}
.ranking tbody tr.rank-bronze .rank,.history-table tbody tr.rank-bronze td:first-child{color:#daa586;font-weight:850}
.ranking tbody tr.rank-gold:hover,.history-table tbody tr.rank-gold:hover{background:rgba(217,171,91,.17)}
.ranking tbody tr.rank-silver:hover,.history-table tbody tr.rank-silver:hover{background:rgba(165,183,211,.15)}
.ranking tbody tr.rank-bronze:hover,.history-table tbody tr.rank-bronze:hover{background:rgba(171,116,85,.17)}
/* Week review is read-only administrative evidence, not a publishing control. */
.review-panel{margin:22px 0;padding:22px 24px;border:1px solid #2c3a50;background:linear-gradient(160deg,#172235,#121b2a);border-radius:16px}
.review-panel h1{margin:8px 0 16px;font-size:clamp(25px,3.3vw,37px);letter-spacing:-.025em}
.review-panel p{line-height:1.6;color:#bfcde1;max-width:900px;margin:9px 0}
.review-panel .section-label{color:#dfb577;font-size:11px;font-weight:800;letter-spacing:.11em}
.review-scroll{margin:0;max-width:100%;border-radius:12px}
.review-table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0;font-size:12px}
.review-table th{position:sticky;top:0;background:#202d41;color:#c3d1e4;font-size:11px;line-height:1.35;text-transform:none;text-align:left;white-space:nowrap;padding:14px 12px;border-bottom:1px solid #40516b}
.review-table td{background:#141e2d;padding:12px;border-bottom:1px solid #29384d;vertical-align:middle;font-variant-numeric:tabular-nums}
.review-table tbody tr:nth-child(even) td{background:#172338}
.review-table tbody tr:hover td{background:#22324a}
.review-table .week-cell{font-weight:750;color:#ecf3fb;white-space:nowrap}
.review-table .num-cell{text-align:right}
.review-table .amount{white-space:nowrap;color:#e6b979;font-weight:750}
.review-state{display:inline-block;border:1px solid #3c4d64;border-radius:7px;background:#223046;padding:4px 8px;color:#d9e3f0;font-size:11px;font-weight:740;white-space:nowrap}
.review-state.state-published{background:#203b32;border-color:#3a7059;color:#a6e0c2}
.review-state.state-validated{background:#233650;border-color:#40688f;color:#bcd7f5}
.review-state.state-draft{background:#3d3328;border-color:#796145;color:#e9c99c}
.review-note{min-width:155px;color:#c6d2e1}
@media(max-width:1040px){.header{gap:10px}.header .main-nav{order:3;flex-basis:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:3px 0 7px;scrollbar-width:thin}.header .lang-switch{margin-left:auto}}
@media(max-width:650px){.header{gap:8px;padding:12px 0}.header .main-nav{gap:4px}.header .main-nav a{padding:10px 9px;flex:none}.metrics strong.metric-week{font-size:clamp(23px,6vw,32px)!important}.review-panel{padding:16px 13px}.review-table{min-width:900px}.ranking .player-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.header .main-nav a{transition:none}}

/* Layout QA V0.10: keep every tab reachable without overflowing the document. */
.header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:9px 16px;padding:14px 0 10px}
.header .logo{grid-column:1;grid-row:1}
.header .lang-switch{grid-column:2;grid-row:1;margin-left:0;justify-self:end}
.header .main-nav{grid-column:1 / -1;grid-row:2;order:unset;width:100%;min-width:0;flex:unset;justify-content:flex-start;flex-wrap:wrap;align-self:stretch;gap:4px 6px}
@media(max-width:1040px){.header .main-nav{width:100%;flex-basis:auto;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}}
@media(max-width:650px){.header{padding:12px 0 8px}.header .main-nav{width:100%;flex-basis:auto;flex-wrap:nowrap;overflow-x:auto}.header .logo{font-size:21px}}

/* V0.11 / Android UAT: preserve guild names and player context while scanning a wide table.
   Only the table region scrolls. Never expose source names to auto-translation. */
.shell,.shell main,.table-scroll,.shell .history-table-wrap{min-width:0;max-width:100%}
.table-scroll,.shell .history-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#61718a #151f30}
.table-scroll:focus-visible,.shell .history-table-wrap:focus-visible{outline:2px solid #e8b66d;outline-offset:3px}
.mobile-swipe-hint{display:none}
@media(max-width:650px){
  .mobile-swipe-hint{display:flex;align-items:center;gap:8px;margin:11px 1px 1px;color:#c1cfe2;font-size:12px;line-height:1.45}
  .mobile-swipe-hint::before{content:'↔';color:#e2b671;font-weight:900;font-size:21px;line-height:1}
  .table-scroll{margin-top:9px}
  .ranking .player-name{white-space:nowrap}
  /* Sticky global rank + nickname only on ranking/analytics tables.
     Keep sufficient horizontal area for swiping the remaining columns. */
  .table-scroll--rankings .ranking{table-layout:fixed;width:778px;min-width:778px}
  .table-scroll--rankings .ranking th:nth-child(1),
  .table-scroll--rankings .ranking td:nth-child(1){width:67px;min-width:67px;max-width:67px;position:sticky;left:0;z-index:2;background:#171f2e;padding-left:11px;padding-right:7px}
  .table-scroll--rankings .ranking th:nth-child(2),
  .table-scroll--rankings .ranking td:nth-child(2){width:150px;min-width:150px;max-width:150px;position:sticky;left:67px;z-index:2;background:#171f2e;padding-left:11px;padding-right:8px;box-shadow:2px 0 0 #3d506b}
  .table-scroll--rankings .ranking th:nth-child(1),.table-scroll--rankings .ranking th:nth-child(2){background:#1c2940;z-index:4;white-space:normal;line-height:1.25}
  .table-scroll--rankings .ranking .player-name > a,
  .table-scroll--rankings .ranking .player-name > span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .table-scroll--rankings .ranking tr.rank-gold td:nth-child(-n+2){background:#353027}
  .table-scroll--rankings .ranking tr.rank-silver td:nth-child(-n+2){background:#2c3440}
  .table-scroll--rankings .ranking tr.rank-bronze td:nth-child(-n+2){background:#343039}
  .table-scroll--profile .ranking{min-width:785px}
  .table-scroll--profile .ranking th:first-child,
  .table-scroll--profile .ranking td:first-child{position:sticky;left:0;z-index:2;background:#1b2638;min-width:137px;white-space:nowrap;box-shadow:2px 0 0 #3d506b}
  .shell .history-table-wrap--mobile .history-table{min-width:1050px}
  .shell .history-table-wrap--mobile .history-table th:first-child,
  .shell .history-table-wrap--mobile .history-table td:first-child{position:sticky;left:0;z-index:2;background:#1b2638;min-width:65px}
  .shell .history-table-wrap--mobile .history-table th:nth-child(2),
  .shell .history-table-wrap--mobile .history-table td:nth-child(2){position:sticky;left:65px;z-index:2;background:#1b2638;min-width:125px;max-width:145px;box-shadow:2px 0 0 #3d506b}
  .shell .history-table-wrap--mobile .history-table .player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .review-scroll .review-table{min-width:910px}
}
@media(prefers-reduced-motion:reduce){.table-scroll,.shell .history-table-wrap{scroll-behavior:auto}}

/* GUARD V0.12 — official brand, accessible guest landing and read-only cosmetic catalog */
:root{--bg:#101010;--card:#1b1a19;--line:#3b3227;--accent:#e0b76c;--mute:#b4ada4;--txt:#f3eee6}
body{background:radial-gradient(ellipse at 50% -8%,#34271a 0%,#111112 46%,#0d0d0e 100%)}
.brand-wordmark{display:inline-flex;align-items:center;gap:11px;font-size:23px;letter-spacing:.09em;min-height:42px}
.brand-wordmark img{width:42px;height:42px;object-fit:contain;border-radius:10px}
.public-hero{margin-top:30px;overflow:hidden;border:1px solid #59452d;border-radius:22px;background:linear-gradient(150deg,#1c1915,#111112)}
.public-hero-media{width:100%;aspect-ratio:2048/682;max-height:345px;background:#111}
.public-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.public-hero-copy{padding:clamp(23px,4vw,44px);max-width:920px}
.public-hero h1{font-size:clamp(29px,4.7vw,51px);letter-spacing:-.045em;line-height:1.11;margin:12px 0 17px}
.public-hero p{font-size:clamp(15px,1.6vw,18px);line-height:1.62;color:#ccc2b5;max-width:730px;margin:0}
.public-section{padding-top:47px}.public-section h2,.public-social h2{font-size:clamp(24px,3vw,32px);margin:10px 0 21px}
.guilds-public .guild{background:linear-gradient(145deg,#26221c,#141414);border-color:#55412e;padding:25px;min-height:176px}
.guilds-public .guild h3{font-size:22px;margin:18px 0 7px}
.guild-symbol{display:grid;place-items:center;width:53px;height:53px;border-radius:12px;background:#382e22;border:1px solid #9b7745;color:#efc887;font-weight:900}
.public-social{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #4d3e2d;border-radius:18px;padding:27px;margin-top:36px;background:#1a1816}
.public-social p{color:#b9b0a6;line-height:1.5;margin:0}.public-social-links{display:flex;gap:12px;flex-wrap:wrap}
.public-access-notice{color:#a9a092;font-size:13px;line-height:1.6;margin:24px 0 0}
.manage-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.manage-cards .guild{display:flex;flex-direction:column;gap:12px}.manage-cards .guild h2{margin:0;font-size:22px}.manage-cards .guild p{flex:1;line-height:1.5}.manage-cards .guild a{align-self:flex-start}
.appearance-preview-card{display:flex;align-items:center;gap:30px;padding:24px;border-radius:18px;border:1px solid #55412e;background:#1a1715;margin:25px 0}
.appearance-preview-card h2{font-size:26px;margin:7px 0}.appearance-preview-card p{color:#c8baac;overflow-wrap:anywhere}
.appearance-avatar{position:relative;width:210px;height:210px;flex:none;isolation:isolate}
.appearance-face{position:absolute;width:74%;height:74%;top:13%;left:13%;object-fit:cover;border-radius:15%;z-index:1}
.appearance-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.appearance-form fieldset{border:1px solid #4b3b2d;border-radius:16px;padding:17px;margin:20px 0}.appearance-form legend{font-weight:800;font-size:20px;padding:0 7px}
.appearance-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(103px,1fr));gap:9px}
.appearance-option{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:105px;border:2px solid #453b31;background:#1a1919;border-radius:12px;padding:7px;margin:0;cursor:pointer;font-size:12px;color:#ddd}
.appearance-option:has(input:checked){border-color:#f0c675;background:#33291e}
.appearance-option:has(input:focus-visible){outline:3px solid #e4b462;outline-offset:3px}
.appearance-option input{position:absolute;opacity:0;width:1px;height:1px}
.appearance-option img{width:76px;height:76px;object-fit:contain}.appearance-option span{font-size:12px;margin-top:5px}
.appearance-none{font-size:35px!important;line-height:76px;min-height:76px}.appearance-form>button{margin:8px 0 0}
@media(max-width:650px){.public-hero{margin-top:15px}.public-hero-media{aspect-ratio:2048/682}.public-hero-copy{padding:21px}.public-social{flex-direction:column;align-items:flex-start;padding:20px}.appearance-preview-card{flex-direction:column;align-items:flex-start;gap:10px}.appearance-avatar{width:180px;height:180px}.appearance-catalog{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.appearance-option{min-height:92px;padding:4px}.appearance-option img{height:60px;width:60px}.appearance-none{line-height:60px;min-height:60px}}

/* V0.13: persisted profile preference action after confirmed preview. */
.appearance-save-form{display:flex;justify-content:flex-start;margin-top:15px}
.appearance-save-form .primary{width:auto;margin:0}
@media(max-width:650px){.appearance-save-form .primary{width:100%}}

/* V0.14: non-entitled seasonal Legacy/management frames remain visible but locked. */
.appearance-option.appearance-locked { opacity:.65; cursor:not-allowed; position:relative; }
.appearance-option.appearance-locked input { cursor:not-allowed; }
.appearance-lock-note { display:block; font-size:.68rem; font-weight:650; line-height:1.2; overflow-wrap:anywhere; }

/* GUARD V0.15 — manual cosmetic awards form, narrow-screen safe */
.cosmetic-management-form{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%;max-width:690px;min-width:0;background:#151c28;border:1px solid #423b35;border-radius:18px;padding:clamp(14px,3vw,25px);margin:24px 0}
.cosmetic-management-form>*{min-width:0;max-width:100%}
.cosmetic-management-form label{margin:9px 0 0}
.cosmetic-management-form select,.cosmetic-management-form input,.cosmetic-management-form textarea{display:block;box-sizing:border-box;max-width:100%;min-width:0;width:100%;overflow-wrap:anywhere}
.cosmetic-management-form textarea{color:#edf2f9;background:#0c1320;border:1px solid #3d4a60;border-radius:10px;padding:14px;font:inherit;resize:vertical}
.cosmetic-management-form p{font-size:13px;line-height:1.6;color:#acbad1;margin:12px 0}
.cosmetic-management-form .primary{width:100%;margin-top:8px}
@media(max-width:650px){.cosmetic-management-form{padding:16px 13px}}

/* V0.16: successful individual award indicator, distinct from locked items. */
.appearance-award-note{color:#e7bd70;opacity:.96;font-size:.68rem;line-height:1.25;overflow-wrap:anywhere}

/* GUARD V0.20 target-layout foundation: no scripts, responsive and keyboard accessible. */
.public-hero-media{aspect-ratio:auto;max-height:none;overflow:hidden}
.public-hero-media img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.v020-portrait{width:50px;height:50px;position:relative;display:inline-flex;flex:none;isolation:isolate;vertical-align:middle}
.v020-face{position:absolute;width:74%;height:74%;top:13%;left:13%;object-fit:cover;border-radius:15%;z-index:1}
.v020-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.v020-frame[hidden]{display:none}
.v020-no-avatar{border:1px solid #574b35;background:#30271c;border-radius:10px;align-items:center;justify-content:center;color:#d9ad67;font-weight:800}
.v020-player-cell{display:flex;gap:8px;align-items:center;min-width:0}.v020-player-cell>a,.v020-player-cell>span:not(.v020-portrait){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v020-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 12px}.v020-tabs>a,.v020-tabs>span{border:1px solid #695339;border-radius:10px;padding:10px 15px;font-weight:700;font-size:13px}.v020-tabs>a[aria-current=page]{background:#33291e;color:#f0c675}.v020-tabs span[aria-disabled=true]{color:#7f8897;border-color:#323847}
.v020-evidence{font-size:13px;line-height:1.5;color:#abbace;background:#192332;padding:12px 16px;border-radius:11px;margin:12px 0 23px}
.v020-personal{border:1px solid #54432e;border-radius:18px;padding:24px;margin:23px 0;background:linear-gradient(140deg,#282018,#15171c)}.v020-personal-head{display:flex;align-items:center;gap:20px}.v020-personal-head h2{margin:6px 0;font-size:clamp(22px,4vw,36px)}.v020-personal-head p{color:#b6c0d0}.v020-portrait--large{width:112px;height:112px}
.v020-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.v020-stats article{min-width:170px;flex:1;border:1px solid #443c35;padding:16px;border-radius:12px}.v020-stats strong{display:block;font-size:26px;color:#ecc184}.v020-stats small{color:#b8c3cf}
.v020-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;margin:20px 0}.v020-action{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #364356;border-radius:14px;background:#151e2b;line-height:1.35}.v020-action strong{font-size:17px}.v020-action small{color:#b5c3d3}.v020-roadmap{margin-top:30px}.v020-roadmap p{color:#aabace}.v020-logout{margin-top:26px}.v020-logout button{width:auto}
.v020-directory{display:grid;gap:8px}.v020-directory-player{display:flex;gap:13px;align-items:center;padding:11px 13px;border:1px solid #2c394a;background:#141c29;border-radius:14px;min-width:0}.v020-directory-player:hover{border-color:#b68d4e}.v020-directory-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.v020-directory-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v020-directory-info small{color:#9bacc0}.v020-number{color:#d9ae6e;white-space:nowrap}
.v020-awards{max-width:1000px}.v020-action-picker{display:flex;gap:10px;border:0;padding:0;margin:20px 0;flex-wrap:wrap}.v020-action-picker legend{margin-bottom:8px;font-weight:800}.v020-action-picker label{margin:0;cursor:pointer}.v020-action-picker input{position:absolute;width:1px;height:1px;opacity:0}.v020-action-picker label span{display:block;border:1px solid #4b5363;padding:10px 15px;border-radius:10px}.v020-action-picker label:has(input:checked) span{background:#33291e;border-color:#e0b675;color:#f0c675}.v020-action-picker label:has(input:focus-visible) span{outline:3px solid #f0c675}
.v020-award-photos{border:1px solid #3d4655;border-radius:15px;padding:18px;margin:20px 0}.v020-award-photos legend{font-weight:800}.v020-award-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.v020-award-tile{position:relative;border:2px solid #344055;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 5px;margin:0;cursor:pointer;font-size:11px;min-width:0}.v020-award-tile img{width:76px;height:76px;object-fit:contain}.v020-award-tile input{position:absolute;opacity:0;width:1px;height:1px}.v020-award-tile:has(input:checked){border-color:#d9ad67;background:#352a20}.v020-award-tile:has(input:focus-visible){outline:3px solid #d9ad67;outline-offset:3px}.v020-awards:has(#v020-grant:checked) .v020-public-award{display:none}
@media(max-width:650px){.v020-portrait{width:38px;height:38px}.v020-portrait--large{width:92px;height:92px}.table-scroll--rankings .ranking th:nth-child(2),.table-scroll--rankings .ranking td:nth-child(2){width:190px;min-width:190px;max-width:190px}.v020-number{font-size:13px}.v020-award-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.v020-award-tile img{width:61px;height:61px}.v020-personal{padding:15px}.v020-personal-head{gap:12px}}

.v020-action-picker{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.v020-action-picker a{display:block;border:1px solid #4b5363;padding:11px 15px;border-radius:10px;font-size:14px;font-weight:700}.v020-action-picker a[aria-current=page]{background:#33291e;border-color:#e0b675;color:#f0c675}.v020-action-picker a:focus-visible{outline:3px solid #f0c675}
.v020-awards textarea{display:block;width:100%;min-height:115px;margin-top:9px;padding:14px;border:1px solid #3d4a60;background:#0c1320;color:#f1f5fb;border-radius:10px;font:inherit;resize:vertical;line-height:1.45}
.v020-awards textarea:focus-visible{outline:2px solid #d9ad67;outline-offset:2px}

/* V0.21 personal records; works on mobile without document-level horizontal scroll. */
.v021-records{margin:28px 0 23px}.v021-records h2{font-size:clamp(22px,3vw,28px);margin:0 0 8px}
.v021-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:13px;margin:17px 0}
.v021-record{min-width:0;display:flex;flex-direction:column;gap:10px;background:#151f2c;border:1px solid #425069;border-radius:16px;padding:17px}
.v021-record h3{font-size:14px;line-height:1.4;margin:0;font-weight:700;min-height:37px;color:#f0e9db}
.v021-record strong{font-size:clamp(22px,3vw,30px);font-weight:850;color:#e5ba72;overflow-wrap:anywhere}
.v021-record small,.v021-records-evidence,.v021-chart-note{font-size:13px;line-height:1.6;color:#b8c5d6}
.v021-record-icon{color:#deb675;font-size:19px;line-height:1}
.v021-chart-note{margin:9px 0 17px}
@media(max-width:600px){.v021-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v021-record{padding:12px}.v021-record strong{font-size:21px}.v021-record h3{font-size:12px;min-height:51px}}
@media(max-width:345px){.v021-record-grid{grid-template-columns:1fr}.v021-record h3{min-height:0}}

/* GUARD V0.22 — responsive compact ranking, clear four-guild visual hierarchy. */
.v022-current-week-heading{font-size:clamp(19px,2.7vw,25px);margin:18px 0 4px}
.v022-player-cell{display:flex;gap:7px;align-items:center;min-width:0}
.v022-player-meta{min-width:0;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:4px}
.v022-player-meta>a,.v022-player-meta>span:first-child{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.18}
.v022-ranking th:first-child,.v022-ranking td:first-child{text-align:center;white-space:nowrap}
.v022-ranking th:first-child abbr{text-decoration:none;cursor:help}
.v022-directory-search{display:grid;grid-template-columns:minmax(190px,1.6fr) minmax(165px,1fr) auto;align-items:end;gap:12px;margin:20px 0}
.v022-directory-search label{margin:0;min-width:0}.v022-directory-search button{height:49px}
.v022-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:11px;margin-top:18px}
.v022-directory-player{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;border-radius:13px;border:1px solid #3c4759;background:#151e2c}
.v022-directory-player:hover,.v022-directory-player:focus-visible{border-color:#e1b965;outline-offset:2px}
.v022-directory-info{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:5px;min-width:0}
.v022-directory-info strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v022-directory-info small{color:#a9bbcd}
.v022-directory-arrow{font-size:27px;color:#e1b965}
@media(max-width:650px){
  .v022-directory-search{grid-template-columns:minmax(0,1fr);gap:12px}
  .v022-directory-search button{width:100%}
  /* Last overrides intentionally supersede old V0.11 67/150 and V0.20 190px rules. */
  .table-scroll--rankings .ranking.v022-ranking{table-layout:fixed;width:625px;min-width:625px}
  .table-scroll--rankings .ranking.v022-ranking th:nth-child(1),
  .table-scroll--rankings .ranking.v022-ranking td:nth-child(1){box-sizing:border-box;width:34px;min-width:34px;max-width:34px;left:0;padding:7px 1px;font-size:12px;font-variant-numeric:tabular-nums;text-align:center}
  .table-scroll--rankings .ranking.v022-ranking th:nth-child(2),
  .table-scroll--rankings .ranking.v022-ranking td:nth-child(2){box-sizing:border-box;width:140px;min-width:140px;max-width:140px;left:34px;padding:8px 5px;box-shadow:2px 0 0 #554938}
  .table-scroll--rankings .ranking.v022-ranking th:nth-child(3),
  .table-scroll--rankings .ranking.v022-ranking td:nth-child(3){width:152px;min-width:152px}
  .v022-ranking .v020-portrait{width:30px;height:30px}
  .v022-ranking .v022-player-cell{gap:5px}
  .v022-ranking .v022-player-meta>a,.v022-ranking .v022-player-meta>span:first-child{font-size:12px;line-height:1.25}
}

.v022-profile-title{display:flex;align-items:center;gap:20px;margin:20px 0 12px;min-width:0}.v022-profile-title h1{margin:0 0 7px;overflow-wrap:anywhere}.v022-profile-title p{margin:4px 0 10px}.v022-source-note{color:#aab9c9;font-size:12px;line-height:1.5}.v022-profile-records{margin:22px 0}.v022-profile-records>h2{font-size:clamp(19px,3vw,28px)}
@media(max-width:650px){.v022-profile-title{gap:11px}.v022-profile-title .v020-portrait--large{width:74px;height:74px}}

/* GUARD V0.23 — canonical guild tag, shared by rankings, profiles, history and directory. */
.guild-tag{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:19px;padding:2px 6px;border:1px solid #827463;border-radius:6px;font-size:10px;font-weight:800;line-height:1.25;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;flex:none;vertical-align:middle}
.guild-tag--primeguard{color:#ffe9e2;background:#a43b29;border-color:#db7354}
.guild-tag--vanguard{color:#2d210c;background:#e1b965;border-color:#ffdaa0}
.guild-tag--va{color:#f3f5f7;background:#646d79;border-color:#929ca8}
.guild-tag--supreme2{color:#072c33;background:#78c7c9;border-color:#a1e5e4}
.guild-tag--historic{color:#ecdfc5;background:#574c3f;border-color:#a1917c}
.guild-tag--other{color:#eee4cf;background:#554b42;border-color:#827463}

/* GUARD Calc V06: standalone insight surfaces; no overrides to existing rankings. */
.gcv06-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:16px 0 24px;}
.gcv06-card {border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:16px;background:rgba(255,255,255,.035);min-width:0;}
.gcv06-card h3 {font-size:.90rem;opacity:.8;margin:0 0 10px;}
.gcv06-card strong {display:block;font-size:1.35rem;overflow-wrap:anywhere;}
.gcv06-card small {display:block;opacity:.72;margin-top:7px;}
.gcv06-section {margin:28px 0;}
.gcv06-head {display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;}
.gcv06-muted {opacity:.78;font-size:.92rem;}
.gcv06-progress {display:block;width:100%;height:8px;border:0;border-radius:20px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:10px;}
.gcv06-progress::-webkit-progress-value {background:#c89856;}
.gcv06-progress::-moz-progress-bar {background:#c89856;}
.gcv06-link {color:inherit;text-decoration:underline;text-underline-offset:3px;}
.gcv06-nobadge {margin:14px 0;padding:12px;border-left:3px solid #a58055;background:rgba(255,255,255,.035);}
.gcv06-table {width:100%;border-collapse:collapse;}.gcv06-table td,.gcv06-table th {text-align:left;border-bottom:1px solid rgba(255,255,255,.10);padding:9px;}
.gcv06-table th {font-size:.85rem;opacity:.76;white-space:nowrap;}
.gcv06-empty {padding:14px 0;opacity:.73;}
.gcv06-actions {display:flex;gap:10px;flex-wrap:wrap;margin:15px 0;}
@media(max-width:480px){.gcv06-card{padding:12px}.gcv06-table td,.gcv06-table th{padding:8px 5px;font-size:.88rem}}

/* V14: framed lifetime-damage milestone previews. No award entitlements implied. */
.gcv14-frame-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:18px 0 25px}
.gcv14-frame-card{display:flex;align-items:center;gap:13px;min-width:0;padding:12px;border:1px solid rgba(225,181,106,.25);border-radius:16px;background:linear-gradient(140deg,#25221f,#141c28)}
.gcv14-frame-art{flex:0 0 108px;width:108px;height:108px;display:grid;place-items:center;background:radial-gradient(circle at center,#3d3027 0%,#121927 74%);border-radius:12px;overflow:hidden}
.gcv14-frame-art img{display:block;width:100%;height:100%;object-fit:contain}
.gcv14-frame-body{flex:1;min-width:0}.gcv14-frame-body h3{margin:0 0 3px;font-size:1.24rem;color:#f0c984}
.gcv14-frame-stage{font-size:.78rem;color:#b4c3d5;margin:0 0 8px}
.gcv14-numbers{font-size:.91rem!important;color:#f1f5fb;overflow-wrap:anywhere}
.gcv14-frame-card small{margin-top:5px;font-size:.79rem}
@media(max-width:390px){.gcv14-frame-card{gap:10px;padding:10px}.gcv14-frame-art{flex-basis:88px;width:88px;height:88px}.gcv14-frame-body h3{font-size:1.12rem}}

/* V17 private GUARD Feed (opt-in only, no teaser for unreleased rewards). */
.gcv17-feed{max-width:940px;margin:25px auto 50px}.gcv17-feed h1{margin-bottom:8px}
.gcv17-feed-list{margin:24px 0;padding:0;list-style:none;display:grid;gap:12px}
.gcv17-event{display:flex;gap:16px;min-width:0;align-items:center;border:1px solid #46505e;border-radius:15px;background:#18202b;padding:13px}
.gcv17-event-image{width:94px;height:94px;flex:0 0 94px;border-radius:12px;background:#282520;display:grid;place-items:center}
.gcv17-event-image img{max-width:88px;max-height:88px;object-fit:contain}
.gcv17-event-text{min-width:0;overflow-wrap:anywhere}.gcv17-event-title{font-weight:750;color:#f0cb86}
.gcv17-event-text p{margin:5px 0 8px}.gcv17-event-text time{color:#aab8cb;font-size:.80rem}
@media(max-width:390px){.gcv17-event{gap:10px;padding:10px}.gcv17-event-image{width:70px;height:70px;flex-basis:70px}.gcv17-event-image img{max-width:66px;max-height:66px}.gcv17-event-text{font-size:.88rem}}

/* V20: weekly change indicators; directional values never colorized when absent */
.g20-delta{display:block;font-size:.83rem;line-height:1.5;margin-top:.30rem;font-weight:750;white-space:nowrap}
.g20-up{color:#5ed799!important}.g20-down{color:#ff777d!important}.g20-flat{color:#a9b2c2!important}
.g20-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px;color:#b6c6dc}
.g20-identity code{font:inherit;color:#f7c879;font-weight:700;user-select:all}
.g20-copy-id{font-size:.85rem;padding:6px 12px;cursor:pointer}
.g20-explain{font-size:.84rem;color:#c6d5e8;margin-top:8px}.g20-explain summary{cursor:pointer}.g20-explain p{line-height:1.55;margin:7px 0}
.gcv14-numbers{display:block!important;white-space:nowrap!important;overflow-wrap:normal!important;font-size:clamp(.72rem,1.04vw,.96rem)!important;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
@media(max-width:700px){.gcv14-numbers{font-size:clamp(.85rem,3.8vw,1rem)!important}}
.g20-history-chart{margin:18px 0;border:1px solid #3d485c;background:#111922;border-radius:14px;overflow:hidden}.g20-history-chart svg{display:block;width:100%;height:auto;max-height:310px}
.g20-month-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0 22px}.g20-month-form label{display:grid;gap:5px}.g20-month-form select,.g20-month-form input{min-width:90px;max-width:135px;padding:10px;border-radius:7px;background:#111b2d;color:#f8f8f6;border:1px solid #40536c}
.g20-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:18px}.g20-cal-head{text-align:center;color:#e8bf82;font-size:.85rem;font-weight:700}.g20-cal-day{min-width:0;min-height:74px;background:#1b222a;border:1px solid #3d4858;border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:5px}.g20-cal-day strong{font-size:.95rem}.g20-cal-day small{font-size:.77rem;word-break:break-word;color:#d7e1ef}.g20-cal-outside{opacity:.24}.g20-cal-level-1{background:#243d34}.g20-cal-level-2{background:#25513d}.g20-cal-level-3{background:#23754b}.g20-cal-level-4{background:#168358}.g20-calendar-legend{color:#9caabc;font-size:.88rem;margin-top:15px}
@media(max-width:600px){.g20-cal-grid{gap:4px}.g20-cal-day{padding:5px;min-height:57px;border-radius:6px}.g20-cal-day small{font-size:.60rem}.g20-cal-day strong{font-size:.78rem}}
.g20-month-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0 22px}.g20-month-form label{display:grid;gap:5px}.g20-month-form select,.g20-month-form input{min-width:90px;max-width:135px;padding:10px;border-radius:7px;background:#111b2d;color:#f8f8f6;border:1px solid #40536c}
.g20-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:18px}.g20-cal-head{text-align:center;color:#e8bf82;font-size:.85rem;font-weight:700}.g20-cal-day{min-width:0;min-height:74px;background:#1b222a;border:1px solid #3d4858;border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:5px}.g20-cal-day strong{font-size:.95rem}.g20-cal-day small{font-size:.77rem;word-break:break-word;color:#d7e1ef}.g20-cal-outside{opacity:.24}.g20-cal-level-1{background:#243d34}.g20-cal-level-2{background:#25513d}.g20-cal-level-3{background:#23754b}.g20-cal-level-4{background:#168358}.g20-calendar-legend{color:#9caabc;font-size:.88rem;margin-top:15px}
@media(max-width:600px){.g20-cal-grid{gap:4px}.g20-cal-day{padding:5px;min-height:57px;border-radius:6px}.g20-cal-day small{font-size:.60rem}.g20-cal-day strong{font-size:.78rem}}

.g20-manage-insights{margin:20px 0 26px}.g20-manage-table{overflow-x:auto}.g20-manage-table table{width:100%;min-width:720px;border-collapse:collapse}.g20-manage-table th,.g20-manage-table td{padding:12px 14px;border-bottom:1px solid #364457;text-align:left}.g20-manage-table th{color:#f3bd70}.g20-manage-table td{font-variant-numeric:tabular-nums}.g20-muted{color:#b5c0cc;font-size:.86rem}
/* Hall phase 1: one completed week; winners, not metrics, lead each nomination. */
.guard-hall-head{padding-bottom:6px}
.guard-hall-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:15px 0 24px}
.guard-hall-filter label{margin:0;min-width:210px;max-width:325px;flex:1}
.guard-hall-filter .primary{min-height:46px}
.guard-hall-week-title{font-size:clamp(19px,3vw,27px);margin:10px 0 18px;color:#e8cc9b}
.guard-hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:0 0 19px}
.guard-hall-card{min-width:0;overflow:hidden;padding:23px;border:1px solid #584932;border-radius:18px;background:linear-gradient(145deg,#24211d,#17191f 73%);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.guard-hall-category{display:flex;align-items:center;gap:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;font-size:12px;color:#d7bc91;margin-bottom:22px}
.guard-hall-mark{display:grid;place-items:center;font-size:21px;width:29px;height:29px;color:#e5be7b}
.guard-hall-winners{display:flex;flex-direction:column;gap:15px}
.guard-hall-winner{display:flex;align-items:center;gap:16px;min-width:0}
.guard-hall-portrait-link{display:inline-flex;flex:none;border-radius:13px}
.guard-hall-portrait{width:81px;height:81px}
.guard-hall-winner-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.guard-hall-name{font-size:clamp(20px,2.8vw,27px);line-height:1.16;font-weight:850;letter-spacing:-.02em;overflow-wrap:anywhere;color:#faf3e8}
a.guard-hall-name:hover{color:#f6c67e}
.guard-hall-guild{font-size:12px;letter-spacing:.04em;color:#b1a79b;overflow-wrap:anywhere}
.guard-hall-tie{font-size:12px;letter-spacing:.04em;color:#e7c98f;margin:12px 0 0}
.guard-hall-result{font-size:clamp(24px,4vw,37px);font-weight:850;color:#ecca86;font-variant-numeric:tabular-nums;margin:20px 0 12px;overflow-wrap:anywhere}
.guard-hall-detail{color:#a9a49c;font-size:12px;line-height:1.5;margin:0}
.guard-hall-unavailable{display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:145px;color:#a9a49c;font-size:14px}
.guard-hall-unavailable span{font-size:38px;color:#9c8a71}
.guard-hall-footnote{color:#a9a49c;font-size:12px;line-height:1.5;margin:20px 0 25px}
@media(max-width:700px){.guard-hall-grid{grid-template-columns:1fr}.guard-hall-card{padding:18px}.guard-hall-name{font-size:22px}}
@media(max-width:420px){.guard-hall-filter label{max-width:none;width:100%}.guard-hall-filter .primary{width:100%}.guard-hall-portrait{width:69px;height:69px}.guard-hall-winner{gap:11px}}
/* Hall Phase 2: additional series leaders follow the four primary awards. */
.guard-hall-series{margin:26px 0 12px}
.guard-hall-series h3{color:#ecd1a0;font-size:18px;margin:0 0 6px}
.guard-hall-series-intro{color:#aaa39a;font-size:13px;margin:0 0 16px}
.guard-hall-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.guard-hall-series-card{border-color:#423c33;padding:18px;box-shadow:none}
.guard-hall-series-card .guard-hall-category{margin-bottom:14px}
.guard-hall-series-card .guard-hall-portrait{width:60px;height:60px}
.guard-hall-series-card .guard-hall-name{font-size:18px}
.guard-hall-series-card .guard-hall-result{font-size:24px;margin:13px 0 8px}
@media(max-width:700px){.guard-hall-series-grid{grid-template-columns:1fr}}

/* GUARD WEEK_CLOSE MVP: scoped, horizontal table on small screens */
.guard-week-mvp{max-width:100%;min-width:0}
.guard-week-mvp-scroller{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.guard-week-mvp table{min-width:620px;width:100%;border-collapse:collapse}
.guard-week-mvp th,.guard-week-mvp td{padding:.55rem;border-bottom:1px solid var(--border,#444);text-align:left}
.guard-week-mvp form{display:flex;flex-direction:column;gap:.6rem}
.guard-week-mvp input[type=file],.guard-week-mvp input[type=text],.guard-week-mvp input[type=date]{max-width:100%;box-sizing:border-box}
.guard-week-mvp .warn{border-inline-start:3px solid #c89d4f;padding:.65rem}
.guard-week-mvp details{margin:.9rem 0}
@media(max-width:480px){.guard-week-mvp{padding:.6rem}.guard-week-mvp button{max-width:100%}}

/* GUARD 28 — administrative week confirmation, scoped mobile/desktop layout. */
.guard-week-mvp-body{max-width:100%;min-width:0;overflow-wrap:anywhere}
.guard-week-mvp-body .guard-week-mvp-scroller{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.guard-week-mvp-body .guard-week-mvp-scroller table{width:100%;min-width:420px}
.guard-week-mvp-body .guard-week-roster-sha code{overflow-wrap:anywhere;word-break:break-word}
.guard-week-mvp form>label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:12px;margin:0;cursor:pointer;min-width:0;line-height:1.5;font-weight:550;font-size:14px}
.guard-week-mvp form>label>input[type=checkbox]{display:block;flex:0 0 19px;width:19px;height:19px;margin:2px 0 0;padding:0;accent-color:#daae68;cursor:pointer}
.guard-week-mvp .guard-week-roster-form{max-width:800px;display:flex;flex-direction:column;gap:18px;margin:25px 0 12px}
.guard-week-mvp .guard-week-roster-form .guard-week-check span{min-width:0;overflow-wrap:anywhere}
.guard-week-mvp .guard-week-roster-submit{align-self:flex-start;width:auto;max-width:100%;white-space:normal;text-align:center;min-height:44px}
@media(max-width:650px){.guard-week-mvp .guard-week-roster-form{max-width:100%}.guard-week-mvp .guard-week-roster-submit{width:100%}.guard-week-mvp-body .guard-week-mvp-scroller table{min-width:360px}}
