:root{
  /* Death Counter site palette: ash greys, bone text, one blood-red accent (mirrors web/app/globals.css) */
  --color-bg:#0c0b0e; --color-surface:#141217; --color-text:#e8e2da;
  --color-divider:color-mix(in srgb, #e8e2da 13%, transparent);
  --color-neutral-100:#e8e2da; --color-neutral-200:#ddd6cf; --color-neutral-300:#c9c1bd;
  --color-neutral-400:#b0a8ac; --color-neutral-500:#9a9198; --color-neutral-600:#6b646e;
  --color-neutral-700:#3d3842; --color-neutral-800:#2b272f; --color-neutral-900:#1c1920;
  --color-accent:#d9555b;
  --color-accent-100:#fdecec; --color-accent-200:#f8d0d1; --color-accent-300:#f0a9ac;
  --color-accent-400:#e47a7f; --color-accent-500:#d9555b; --color-accent-600:#b3242c;
  --color-accent-700:#8e1c23; --color-accent-800:#6e1419; --color-accent-900:#3a0d10;
  --color-accent-2:var(--color-accent);
  --color-accent-2-100:var(--color-accent-100); --color-accent-2-200:var(--color-accent-200); --color-accent-2-300:var(--color-accent-300);
  --color-accent-2-400:var(--color-accent-400); --color-accent-2-500:var(--color-accent-500); --color-accent-2-600:var(--color-accent-600);
  --color-accent-2-700:var(--color-accent-700); --color-accent-2-800:var(--color-accent-800); --color-accent-2-900:var(--color-accent-900);
  --font-display-dc:"Cinzel","Times New Roman",serif;
  --font-body-dc:"Spectral",Georgia,serif;
  --font-heading:var(--font-display-dc); --font-body:var(--font-body-dc);
  --shadow-sm:0 0 0 1px #2b272f; --shadow-md:0 0 0 1px #3d3842,0 6px 18px rgba(0,0,0,.6);
  --g-line:var(--color-neutral-800);
  --g-muted:var(--color-neutral-500);
  --g-panel:var(--color-surface);
  --g-panel-2:var(--color-neutral-900);
}
body{background:var(--color-bg);}
@keyframes g-fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.g-root{font-family:var(--font-body-dc);color:var(--color-text);background:var(--color-bg);}
.g-root .panel{display:none;}
.g-root .panel.active{display:block;animation:g-fade .25s ease;}
.tab-pct{margin-left:7px;font-size:10px;color:var(--g-muted);font-variant-numeric:tabular-nums;flex:0 0 auto;align-self:center;}
.tab-btn.active .tab-pct{color:var(--color-accent-300);}
.tab-bar{flex:0 0 46px;width:46px;height:3px;background:var(--g-line);border-radius:99px;overflow:hidden;margin-left:auto;align-self:center;}
.tab-fill{display:block;height:100%;width:0%;background:var(--color-accent-600);transition:width .3s ease;}
.tab-btn.active .tab-fill{background:var(--color-accent);}
.tab-btn{display:flex;align-items:center;gap:18px;padding-right:14px;line-height:1.35;letter-spacing:.02em;text-align:left;padding:9px 12px;background:none;border:0;border-left:2px solid transparent;color:var(--g-muted);cursor:pointer;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-body-dc);transition:color .15s,background .15s;}
.tab-btn:hover{color:var(--color-text);background:var(--g-panel-2);}
.tab-btn.active{color:var(--color-accent-200);background:var(--g-panel-2);border-left-color:var(--color-accent);}
.tab-star{color:var(--color-accent);margin-left:3px;font-weight:600;}
.tab-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.panel-title{font-family:var(--font-display-dc);font-weight:600;font-size:23px;letter-spacing:.02em;}
.tier{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border:1px solid;border-radius:var(--radius-sm);white-space:nowrap;}
.tier.bronze{color:#c99271;border-color:#8a5f45;background:rgba(201,146,113,.10);}
.tier.silver{color:var(--color-neutral-300);border-color:var(--color-neutral-700);background:rgba(207,211,229,.08);}
.tier.gold{color:#d9bd84;border-color:#8d7549;background:rgba(217,189,132,.10);}
.tier.platinum{color:var(--color-neutral-100);border-color:var(--color-neutral-600);background:rgba(243,245,254,.10);}
.panel-desc{color:var(--g-muted);font-size:14px;margin-bottom:var(--space-8);line-height:1.65;}
.g-root h2.section{font-family:var(--font-display-dc);font-size:15px;color:var(--color-accent-300);margin:var(--space-8) 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);letter-spacing:.03em;}
.g-root h2.section:first-of-type{margin-top:0;}
.g-root p{line-height:1.7;font-size:14px;margin:0 0 var(--space-4);}
.g-root ol.steps,.g-root ul.steps{padding-left:20px;margin:0 0 var(--space-6);}
.g-root ol.steps li,.g-root ul.steps li{margin-bottom:var(--space-3);line-height:1.6;font-size:14px;}
.g-root ul.steps{list-style:none;padding-left:0;}
.g-root ul.steps li{padding-left:20px;position:relative;}
.g-root ul.steps li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--color-accent);}
.flag{background:var(--color-accent-900);border:1px solid var(--color-accent-800);border-radius:var(--radius-md);padding:12px 16px;font-size:13px;margin:var(--space-6) 0;line-height:1.6;}
.flag b{color:var(--color-accent-200);}
.flag.missable::before{content:'* ';color:var(--color-accent);font-weight:700;}
.item-star{color:var(--color-accent);font-weight:700;margin-left:3px;}
.spoiler-alert{border:1px solid var(--color-accent-700);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-accent-900),transparent 70%);padding:14px 18px;margin:0 0 var(--space-8);}
.spoiler-alert .sa-title{font-family:var(--font-display-dc);font-size:16px;color:var(--color-accent-200);letter-spacing:.02em;margin-bottom:4px;}
.spoiler-alert p{margin:0;font-size:13px;color:var(--g-muted);}
.tip{background:var(--g-panel);border:1px solid var(--g-line);border-radius:var(--radius-md);padding:12px 16px;font-size:13px;margin:var(--space-6) 0;line-height:1.6;color:var(--color-neutral-300);}
.tip b{color:var(--color-text);}
details.region{background:var(--g-panel);border:1px solid var(--g-line);border-radius:var(--radius-md);margin-bottom:var(--space-2);}
details.region summary{cursor:pointer;padding:10px 14px;font-size:14px;display:flex;align-items:center;list-style:none;}
details.region summary::-webkit-details-marker{display:none;}
details.region summary::after{content:'';margin-left:auto;width:6px;height:6px;border-right:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent);transform:rotate(-45deg);transition:transform .2s;}
details.region[open] summary::after{transform:rotate(45deg);}
.region-list{padding:2px 14px 12px 14px;font-size:13px;list-style:none;margin:0;}
.region-list li{margin-bottom:5px;line-height:1.5;}
table.quicklist{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:var(--space-3);}
table.quicklist td{padding:0;border-bottom:1px solid var(--color-divider);vertical-align:top;}
table.quicklist tr:last-child td{border-bottom:none;}
li.chk-item{list-style:none;padding-left:0 !important;}
li.chk-item::before{content:none !important;}
.chk-label,.row-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.chk-label input[type="checkbox"],.row-label input[type="checkbox"],.auto-check{appearance:none;-webkit-appearance:none;width:15px;height:15px;min-width:15px;margin:3px 0 0;border:1px solid var(--color-neutral-700);background:var(--g-panel-2);border-radius:3px;cursor:pointer;position:relative;}
.chk-label input[type="checkbox"]:checked,.row-label input[type="checkbox"]:checked,.auto-check:checked{background:var(--color-accent-700);border-color:var(--color-accent);}
.chk-label input[type="checkbox"]:checked::after,.row-label input[type="checkbox"]:checked::after,.auto-check:checked::after{content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;border-right:2px solid var(--color-accent-100);border-bottom:2px solid var(--color-accent-100);transform:rotate(40deg);}
.chk-item.done .chk-text,.row-label.done .chk-text,.chk-label.done .chk-text{color:var(--g-muted);text-decoration:line-through;text-decoration-color:var(--color-neutral-700);}
details.region ol.steps{list-style:decimal;padding:2px 14px 12px 38px !important;}
details.region ol.steps > li{padding-left:0;margin-bottom:6px;}
details.region ol.steps > li::marker{color:var(--color-accent-400);}
.chk-text:has(.row-tier){display:flex;width:100%;align-items:flex-start;gap:10px;}
li.chk-item > .chk-label{width:100%;}
.row-tier{display:flex;gap:6px;margin-left:auto !important;padding-left:10px;flex-shrink:0;}
.tjump{cursor:pointer;}
.auto-tag{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-400);border:1px solid var(--color-accent-800);border-radius:var(--radius-sm);padding:1px 5px;margin-left:8px;flex:0 0 auto;}
.tjump:hover{color:var(--color-accent-200);}
[data-trophy-index] input:disabled{cursor:default;opacity:1;}
.row-label{padding:8px 2px;}
.row-tier{margin-left:auto;padding-left:10px;flex-shrink:0;}
.auto-check{opacity:1;}
summary .chk-label{display:flex;width:100%;align-items:center;gap:8px;}
details.region summary:has(.row-tier){padding-right:34px;}
details.region summary .chk-text{flex:1 1 auto;}
.progress-track{flex:1;height:5px;background:var(--g-panel-2);border-radius:99px;overflow:hidden;}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--color-accent-700),var(--color-accent));transition:width .3s ease;}
.progress-label{font-size:11px;color:var(--color-accent-300);white-space:nowrap;letter-spacing:.02em;}
.panel-progress{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-8);}
.panel-progress .progress-track{flex:0 0 160px;max-width:160px;height:4px;}
.panel-progress .progress-label{font-size:10.5px;color:var(--g-muted);}
.panel-progress.complete .progress-label{color:var(--color-accent-300);}
.reset-btn{font-family:var(--font-body-dc);font-size:11px;color:var(--g-muted);background:none;border:1px solid var(--g-line);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;letter-spacing:.04em;font-family:var(--font-body-dc);}
.reset-btn:hover{color:var(--color-accent);border-color:var(--color-accent);}
.reset-btn:active{color:var(--color-accent-400);}
@media (max-width:780px){
  .g-layout{flex-direction:column !important;}
  .g-nav{position:static !important;flex:0 0 auto !important;flex-direction:row !important;overflow-x:auto;max-height:none !important;width:100%;}
  .tab-btn{border-left:0;border-bottom:2px solid transparent;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;}
  .tab-btn.active{border-left-color:transparent;border-bottom-color:var(--color-accent);}
}
