/* impeccable pass (impeccable 4.7.0: polish + typeset + craft-floor): refinement inside the Elowyn world (night + gold, Fraunces display,
   Alegreya Sans UI, card art). Loaded last on every page. The DECK page keeps its own design: everything below is scoped to
   body:not([data-page="deck"]), except the deck header's text placement and the browser surfaces at the end. */
:root{--t-label:600 14px/1.2 var(--f-ui);--t-meta:500 14px/1.45 var(--f-ui);--t-section:600 17px/1.2 var(--f-ui)}
/* 1. Type roles: one UI voice (Alegreya Sans) for labels, buttons and section heads; mono only for data (codes, mana, counts). */
body:not([data-page="deck"]) .btn{font:var(--t-label);letter-spacing:.01em;text-transform:none;height:40px;padding:0 18px}
body:not([data-page="deck"]) .btn.sm{font-size:13px;height:32px;padding:0 12px}
body:not([data-page="deck"]) .si-tabs>button{font:var(--t-label);letter-spacing:.01em;text-transform:none}
body:not([data-page="deck"]) .hint{font-size:13.5px;line-height:1.5}

/* 2. No kickers, no section numbers: section labels become real section heads in sentence case. */
body:not([data-page="deck"]) .hr{font:var(--t-section);letter-spacing:0;text-transform:none;color:var(--text);gap:14px}
body:not([data-page="deck"]) .hr .n{display:none}
body:not([data-page="deck"]) .hr .aside{font:500 13.5px var(--f-ui);letter-spacing:0;color:var(--muted)}
body:not([data-page="deck"]) .hr:has(+ h1){display:none}
body:not([data-page="deck"]) .fc-kick{font:500 13.5px/1.3 var(--f-ui);letter-spacing:0;text-transform:none}
body:not([data-page="deck"]) .fc-stats{font:500 13px/1.4 var(--f-ui);letter-spacing:0;font-variant-numeric:tabular-nums}
body:not([data-page="deck"]) .fc-name{font-size:25px}
body:not([data-page="deck"]) .fc-tt .fc-name{order:-1}
body:not([data-page="deck"]) .fc-tt{gap:4px}

/* 3. Legibility floor: no functional text under 12px, body copy 16px, measure 60ch, leading >= 1.45 on dark. */
body:not([data-page="deck"]){font-size:16px;line-height:1.5}
body:not([data-page="deck"]) .fr-cnt{font-size:14px}
body:not([data-page="deck"]) .dfeed .lead,body:not([data-page="deck"]) .band .lede p{font-size:18px;line-height:1.55;max-width:60ch;text-wrap:pretty}
body:not([data-page="deck"]) p{text-wrap:pretty}
body:not([data-page="deck"]) h1,body:not([data-page="deck"]) h2,body:not([data-page="deck"]) h3{text-wrap:balance}

/* 4. No coloured side-tab: the rarity stripe on decklist rows becomes a small rarity gem in front of the mana number. */
body:not([data-page="deck"]) .dr{grid-template-columns:40px 1fr auto}
body:not([data-page="deck"]) .dr::before{width:7px;height:7px;left:8px;top:50%;bottom:auto;transform:translateY(-50%) rotate(45deg);box-shadow:0 0 0 1px rgba(0,0,0,.5)}
body:not([data-page="deck"]) .dr .mn{padding-left:10px}
body:not([data-page="deck"]) .dr.warn{background:linear-gradient(90deg,rgba(205,69,13,.16),rgba(205,69,13,.04)),var(--night-2)}

/* 5. Spacing: tight groups, generous separation, more space above a section head than below; insets on bordered controls. */
body:not([data-page="deck"]) .dfeed .fsec{margin-top:48px}
body:not([data-page="deck"]) .dfeed .fhead{margin-bottom:8px}
body:not([data-page="deck"]) .hpop{padding-top:56px}
body:not([data-page="deck"]) .flist{margin-top:18px}
body:not([data-page="deck"]) .seg{padding:3px;gap:3px}
body:not([data-page="deck"]) .seg>*{border-right:0}
body:not([data-page="deck"]) .si-tabs{padding:4px;gap:4px}
body:not([data-page="deck"]) .fc-foot{padding:12px 18px}
body:not([data-page="deck"]) .fc-top{padding:18px 18px 14px}
body:not([data-page="deck"]) .fc-cards{padding:0 18px 16px}
body:not([data-page="deck"]) .fstat-inline{color:var(--muted);white-space:nowrap}
body:not([data-page="deck"]) .dfeed .fempty h2{font:600 26px var(--f-display);margin:0 0 8px}

/* 6. Label role where the incumbent used tracked uppercase mono as a costume. Sentence case, the UI face, >= 13px. */
body:not([data-page="deck"]) :is(.authslot .out,.fac,.fld label,.hav-link a,.kudos,.kv span,.legend,.mg .h,.rar span,.si-act,.si-or,.toast button,.toast b,.vbadge,.visseg button,.vis,.vtog,.dk-list .grp,.grp,.dlong-btn,.sc small,.leanrow b,.hc .pw,.dfeed .fstat){font-family:var(--f-ui);font-weight:600;font-size:13px;letter-spacing:.01em;text-transform:none}
body:not([data-page="deck"]) .grp{font-size:13.5px;color:var(--text-2)}
body:not([data-page="deck"]) .kudos{font-size:14px}
body:not([data-page="deck"]) .mark .sub{font-size:10.5px;letter-spacing:.1em}
body:not([data-page="deck"]) .fac{white-space:nowrap}
body:not([data-page="deck"]) .mclock .hand{transition-timing-function:cubic-bezier(.22,1,.36,1)}

@media (max-width:640px){
  body:not([data-page="deck"]) .btn{height:44px}
  body:not([data-page="deck"]) .dfeed .lead,body:not([data-page="deck"]) .band .lede p{font-size:17px}
}

/* Deck page header only (Nicro): title first, then the hero line as its subtitle, sentence-case meta, no kicker above the title. */
body[data-page="deck"] .dband h1{margin:0 0 6px;text-wrap:balance}
body[data-page="deck"] .dheroline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
body[data-page="deck"] #dHeroLine{font:italic 400 17px/1.3 var(--f-display);letter-spacing:0;text-transform:none;color:var(--text-2)}
body[data-page="deck"] .meta{font:500 14px/1.45 var(--f-ui);letter-spacing:0;font-variant-numeric:tabular-nums}
body[data-page="deck"] .meta b{font-weight:700}
body[data-page="deck"] .dvis{margin:12px 0 0}
body[data-page="deck"] #dCmtN{font:500 14px var(--f-ui);letter-spacing:0}
@media (max-width:640px){body[data-page="deck"] #dHeroLine{font-size:16px}}

/* Browser surfaces, themed from the palette (every page). */
::selection{background:rgba(191,160,71,.38);color:#fff7dc}
html{scrollbar-color:var(--gold-lo) var(--night);accent-color:var(--gold)}
input,textarea{caret-color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
a{text-underline-offset:.18em}
.dr .mn,.dr .x,.fr-cnt,.code{font-variant-numeric:tabular-nums}

/* footer credit link to X */
.footer .foot-x{color:var(--gold-hi);text-decoration:none}
.footer .foot-x:hover{text-decoration:underline;text-underline-offset:3px}
.footer .foot-ew{display:flex;flex-wrap:wrap;gap:4px 14px}
.footer .foot-ew a{color:var(--text-2);text-decoration:none;font-size:13px}
.footer .foot-ew a:hover{color:var(--gold-hi)}
