/* Age of Eons — archive design layer. Self-hosted OFL fonts; no remote runtime assets. */
@font-face{font-family:AoE Editorial;src:url('fonts/CormorantGaramond.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:AoE Interface;src:url('fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--ui-font:'AoE Interface','Segoe UI',sans-serif;--display-font:'AoE Editorial',Georgia,serif;--archive-ink:#f1efe6;--archive-muted:#ced2cc;--archive-gold:#e4c996;--archive-line:rgba(245,238,214,.25);--archive-glass:rgba(12,24,28,.49);--archive-control:rgba(7,17,20,.7)}
[data-theme="abyss"]{--biome-photo:url('themes/taiga.jpg');--biome-photo-sm:url('themes/taiga-sm.jpg');--archive-gold:#b7dfeb;--archive-glass:rgba(8,24,40,.48)}
[data-theme="glass"],[data-theme="aurora-steppe"]{--archive-gold:#bfe4dc;--archive-glass:rgba(15,29,37,.32)}
[data-theme="ember"],[data-theme="amber-terminal"],[data-theme="savanna-dusk"]{--archive-gold:#f3d1a0;--archive-glass:rgba(43,25,16,.48)}
[data-theme="rainforest"],[data-theme="coal-swamp"]{--archive-gold:#d2dcae;--archive-glass:rgba(12,32,22,.48)}
[data-theme="bone-parchment"]{--archive-ink:#30291e;--archive-muted:#554b3e;--archive-gold:#71501e;--archive-line:rgba(65,45,20,.3);--archive-glass:rgba(245,237,215,.76);--archive-control:rgba(251,245,228,.88);--display-font:'AoE Editorial',Georgia,serif;--ui-font:'AoE Interface','Segoe UI',sans-serif}
[data-theme] body{font-family:var(--ui-font);background-image:linear-gradient(100deg,rgba(4,13,17,.42),rgba(5,15,19,.18) 55%,rgba(3,12,17,.45)),var(--biome-photo);background-size:cover;background-position:center;background-attachment:fixed;color:var(--archive-ink);line-height:1.65}
/* Light theme needs a light wash AND must out-specify the dark default above,
   otherwise dark parchment ink lands on the dark scrim (measured 1.34:1). */
html[data-theme="bone-parchment"] body{background-image:linear-gradient(110deg,rgba(237,228,207,.86),rgba(244,232,206,.72)),var(--biome-photo);color:var(--archive-ink)}
/* Overscroll / repaint guard: paint the root in the theme surface colour so rubber-band
   scrolling and any compositing gap shows the theme, never a black void. */
[data-theme]{background-color:var(--bg,#070d0b);overscroll-behavior-y:none}
/* The body surface must follow the theme as well: a hard-coded dark body colour was
   bleeding through the translucent light wash (measured 1.34:1 on bone-parchment). */
html[data-theme] body{background-color:var(--bg,#070d0b)}
/* Explicit light surface for the parchment theme: aoe-glass.css sets `body{background:var(--bg-1)}`
   (a dark shorthand that is not theme-aware), so the variable route is not reliable here. */
html[data-theme="bone-parchment"] body{background-color:#f4efe2}
/* --amber/--amber-bright had no light-theme override, so gold eyebrow text rendered
   light-on-light (1.5:1). Sepia equivalents give ~5:1 and ~7:1 on parchment. */
html[data-theme="bone-parchment"]{--amber:#8a5a1c;--amber-bright:#6b4413}
[data-theme] body::before,[data-theme] body::after{pointer-events:none;opacity:.06}
[hidden]{display:none!important}
a,button,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid var(--archive-gold);outline-offset:5px}
[data-theme] :is(.beta-card,.beta-service,.spine,.panel,.cta-card,.server-card){background:var(--archive-glass);border:1px solid var(--archive-line);backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%);box-shadow:0 20px 70px #0003,inset 0 1px 0 #fff2;color:var(--archive-ink)}
.beta-page :is(h1,h2,h3){font-family:var(--display-font);color:var(--archive-ink);font-weight:500;letter-spacing:-.025em;line-height:1.06}
.beta-page :is(p,label,li),.beta-page .beta-card :is(p,li){font-family:var(--ui-font);color:var(--archive-muted);font-size:.95rem;line-height:1.7}
.beta-page a{color:var(--archive-ink);text-decoration:none}
.beta-page :is(button,.btn){border:1px solid var(--archive-line);border-radius:6px;background:var(--archive-control);color:var(--archive-ink);font:600 .82rem var(--ui-font);padding:13px 20px;min-height:46px;box-shadow:none}
.beta-page :is(button,.btn):hover{background:var(--archive-glass);border-color:var(--archive-gold)}
.beta-page :is(input:not([type=checkbox]),select,textarea){background:var(--archive-control);color:var(--archive-ink);border:1px solid var(--archive-line);border-radius:6px;font-family:var(--ui-font)}
.beta-page select option{background:#172528;color:#f2eee1}
.beta-page .eyebrow,.storage-page .storage-kicker{font-family:var(--ui-font);font-size:.65rem;font-weight:700;letter-spacing:.19em;color:var(--archive-gold)}
.beta-page:not(.storage-page) .beta-hero h1{font-size:clamp(3.5rem,7vw,6.6rem);max-width:760px;font-weight:400;margin:20px 0}
.beta-page .grad{background:none;color:var(--archive-gold);-webkit-text-fill-color:currentColor}
.beta-page .beta-hero{padding-top:58px}.beta-page .beta-lede{max-width:65ch}
.beta-page .beta-steps{border-color:var(--archive-line);gap:18px}.beta-page .beta-steps span{color:var(--archive-gold)}
.beta-page .beta-section-head h2{font-size:2.5rem}.beta-page .beta-card h3{font-size:2rem}
.beta-page .spine{background:var(--archive-glass)}.beta-page .spine__brand-text strong{font-family:var(--display-font);font-size:1.6rem}.beta-page .spine__brand-text small{letter-spacing:.05em;font-size:.55rem}
.beta-page .spine__link{font-family:var(--ui-font);color:var(--archive-muted);font-size:.8rem}.beta-page .spine__link.active{color:var(--archive-gold)}
.storage-page .storage-shell{max-width:1380px;margin:0 auto;padding:28px clamp(22px,5vw,76px) 24px;min-height:100vh;box-sizing:border-box}
.storage-page .storage-nav{display:flex;justify-content:space-between;gap:24px;padding:0 0 24px;border-bottom:1px solid var(--archive-line);align-items:center}
.storage-page .storage-brand{display:flex;align-items:center;gap:16px;font:700 .82rem var(--ui-font);letter-spacing:.2em}
.storage-brand small{display:block;font-size:.5rem;letter-spacing:.17em;margin-top:8px;color:var(--archive-muted)}
.archive-mark{font:400 2.8rem var(--display-font);letter-spacing:-.17em;width:54px;height:54px;text-align:center;line-height:54px;border:1px solid var(--archive-line);border-radius:50%;padding-right:7px}
.studio-links{display:flex;gap:28px;align-items:center;font-size:.74rem}.studio-account{padding:10px 16px;border:1px solid var(--archive-line);border-radius:5px}
.storage-page .storage-heading{padding:52px 0 35px;display:grid;grid-template-columns:1fr 220px;gap:28px;align-items:end}
.storage-page .storage-heading h1{font-size:clamp(3.8rem,7.5vw,7rem);font-weight:400;line-height:1;letter-spacing:-.045em;margin:13px 0 18px}.storage-heading h1 span{color:var(--archive-gold)}
.storage-page .storage-heading p{font-size:.87rem;max-width:53ch;color:var(--archive-muted)}
.storage-page .atmosphere-control label{font-size:.65rem;color:var(--archive-muted);margin:0 0 8px;letter-spacing:.06em}
.storage-page #siteTheme{width:100%;max-width:none;font-size:.8rem;min-height:44px}
.storage-page .storage-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:44px;align-items:stretch}
.storage-page .storage-access{position:relative;overflow:hidden;padding:28px 36px 24px;border:1px solid var(--archive-line);border-radius:18px;background:linear-gradient(125deg,rgba(235,248,241,.12),transparent 65%),var(--archive-glass);backdrop-filter:blur(26px) saturate(130%)}
.archive-card-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.archive-number{font:500 .65rem var(--ui-font);letter-spacing:.12em;color:var(--archive-muted)}
.archive-seal{width:76px;height:76px;border:1px solid var(--archive-line);border-radius:50%;display:grid;place-items:center;margin:28px 0 23px;position:relative;box-shadow:0 0 32px #fff1,inset 0 0 25px #fff1}
.archive-seal::before{content:'';position:absolute;inset:7px;border:1px solid var(--archive-line);border-radius:50%}.archive-seal span{font:400 2.6rem var(--display-font);color:var(--archive-gold)}
.storage-page .storage-access h2{font-size:clamp(2.1rem,3.7vw,3.3rem);max-width:390px;margin:0 0 17px;font-weight:400}
.storage-page #storageStatus{font-size:.84rem;max-width:40ch;min-height:2.8em}
.storage-page .storage-actions{gap:12px;margin:26px 0}.storage-page .storage-actions a{background:var(--archive-gold);color:#19211e;border-radius:5px;min-width:140px;justify-content:space-between;gap:36px;font:700 .82rem var(--ui-font);padding:14px 20px}
[data-theme="bone-parchment"] .storage-actions a{color:#fff}
.storage-page .archive-footnote{border-top:1px solid var(--archive-line);padding-top:18px;font-size:.68rem;max-width:51ch;margin-bottom:0}
.archive-index{padding-top:5px}.archive-index-title{display:flex;justify-content:space-between;padding:0 0 19px;border-bottom:1px solid var(--archive-line)}
.archive-entry{display:grid;grid-template-columns:24px 1fr 16px;gap:15px;align-items:center;padding:24px 0;border-bottom:1px solid var(--archive-line)}
.archive-entry:hover strong{color:var(--archive-gold)}.entry-number{font:500 .62rem var(--ui-font);color:var(--archive-gold)}
.archive-entry strong{font:500 1.7rem var(--display-font);display:block;line-height:1.2}.archive-entry small{display:block;font-size:.68rem;color:var(--archive-muted);margin-top:7px}
.archive-note{margin-top:25px;padding:20px 24px;border-left:1px solid var(--archive-gold);background:var(--archive-glass);backdrop-filter:blur(20px)}.storage-page .archive-note p{font-size:.74rem;margin:10px 0 0}
.archive-footer{display:flex;justify-content:space-between;gap:20px;margin-top:40px;border-top:1px solid var(--archive-line);padding-top:21px;font-size:.58rem;letter-spacing:.1em;color:var(--archive-muted)}.archive-footer span span{padding:0 10px}
@supports not (backdrop-filter:blur(1px)){[data-theme] :is(.beta-card,.spine,.panel,.archive-note){background:#13252b}[data-theme="bone-parchment"] :is(.beta-card,.spine,.panel,.archive-note){background:#f2ead8}}
@media(max-width:800px){.storage-page .storage-heading{grid-template-columns:1fr;gap:22px;padding-top:32px}.storage-page .storage-layout{grid-template-columns:1fr;gap:32px}.storage-page .atmosphere-control{max-width:250px}.studio-links{gap:16px;flex-wrap:wrap}.storage-page .storage-access{padding:24px}.storage-page .storage-nav{align-items:flex-start}.storage-page .storage-brand{font-size:.65rem}.archive-mark{display:none}.studio-links a:not(.studio-account){display:none}.archive-footer{flex-wrap:wrap}.beta-page .beta-hero{padding-top:32px}.beta-page:not(.storage-page) .beta-hero h1{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(prefers-reduced-transparency:reduce),(max-width:760px){
  [data-theme] :is(.beta-card,.beta-service,.spine,.panel,.cta-card,.server-card,.storage-access,.archive-index,.archive-note,.glass,.card,.era-banner,.era-tab,.sp-card,.sp-hero,.detail,.rcard){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:var(--archive-control)}
}
/* Sheltered reading surface over high-detail landscapes. */
.storage-page .archive-index{padding:22px 26px;border:1px solid var(--archive-line);border-radius:18px;background:var(--archive-glass);backdrop-filter:blur(16px) saturate(110%);-webkit-backdrop-filter:blur(16px) saturate(110%)}
.storage-page .archive-note{padding:16px 0 0;border-left:0;background:none;backdrop-filter:none}
.storage-page .storage-access .archive-footnote{font-size:.72rem}
/* Catalogue and public-page contrast: all theme tokens share the same readable palette. */
[data-theme]{--ink:var(--archive-muted);--ink-bright:var(--archive-ink);--ink-dim:var(--archive-muted);--ink-faint:var(--archive-muted);--accent:var(--archive-gold);--mono:var(--ui-font);--edge:var(--archive-line);--edge-bright:var(--archive-line);--panel:var(--archive-glass);--panel-2:var(--archive-control);--panel-3:var(--archive-control)}
[data-theme] :is(.glass,.card,.era-banner,.era-tab,.sp-card,.sp-hero){background:var(--archive-glass);border:1px solid var(--archive-line);color:var(--archive-ink);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%);box-shadow:0 16px 42px #0002}
[data-theme] :is(h1,h2,.cn,.nm){font-family:var(--display-font);font-weight:500;letter-spacing:0;line-height:1.1}
[data-theme] :is(.spine__link,.spine__brand-text,.btn,.era-tab,.sn,.taxo,.chip){font-family:var(--ui-font)}
[data-theme] .spine{color:var(--archive-ink)}
.planned-roster .card{display:grid;grid-template-columns:80px 1fr;gap:18px;align-items:center;padding:22px;border-radius:10px}
.planned-roster .card .art{width:80px;height:80px;display:grid;place-items:center;border:1px solid var(--archive-line);border-radius:50%;background:transparent}
.art-status{display:block;text-align:center;font:400 10px/1.5 var(--ui-font);letter-spacing:.02em;color:var(--archive-muted)}.art-status strong{display:block;font-weight:600;color:var(--archive-gold)}
.planned-roster .card .cn{font-size:1.8rem}.planned-roster .card .sn{display:none}.planned-roster .card .tg{font-size:.75rem}
.planned-roster :is(.detail,.sp-hero){background:var(--archive-glass);backdrop-filter:blur(24px)}
.planned-roster .detail .big{max-height:100px;display:grid;place-items:center}.planned-roster .detail .big .art-status{font-size:.8rem;padding:18px}
.planned-roster .availability-note{font-size:.875rem;line-height:1.65;padding:16px 0;border-block:1px solid var(--archive-line)}
.planned-roster :is(.taxo,.taxo dd,.sp-notes,.blurb){font-size:.95rem;line-height:1.65}.planned-roster .taxo dt{font-size:.75rem}
.planned-roster :is(.era-tab .n,.era-tab .c,.era-tab .m){font-size:.75rem}
[data-theme] body::before,[data-theme] body::after,[data-theme] .scanlines{display:none}
@media(max-width:600px){.planned-roster .card{grid-template-columns:64px 1fr;padding:16px;gap:12px}.planned-roster .card .art{width:64px;height:64px}.planned-roster .card .cn{font-size:1.5rem}}
.planned-roster .rcard{display:grid;grid-template-columns:76px 1fr;gap:8px 20px;text-align:left;padding:22px;border-radius:10px;background:var(--archive-glass);border:1px solid var(--archive-line);backdrop-filter:blur(20px)}
.planned-roster .rcard .art{grid-row:span 3;width:76px;height:76px;border:1px solid var(--archive-line);border-radius:50%;display:grid;place-items:center;margin:0}
.planned-roster .rcard .cn{font:500 1.7rem/1.1 var(--display-font);color:var(--archive-ink)}.planned-roster .rcard .sn{display:none}.planned-roster .rcard .row{font-family:var(--ui-font)}
.planned-roster .rcard .badge{font-size:.75rem;color:var(--archive-muted)!important;border-color:var(--archive-line)!important}
.planned-roster .dhero .art{height:90px;display:grid;place-items:center}.planned-roster .dhero .cn{font:500 2.4rem/1.1 var(--display-font)}

/* Readable specimen rows beside a fixed dossier. */
.planned-roster .roster{grid-template-columns:1fr;gap:10px}
.planned-roster .rcard{grid-template-columns:76px minmax(0,1fr)}
.planned-roster .rcard .cn{overflow-wrap:anywhere}
.planned-roster .dhd{grid-template-columns:1fr;gap:18px}
.planned-roster .dhd .art{height:70px;display:grid;place-items:center}
.planned-roster .dhd .cn{font:500 2.25rem/1.08 var(--display-font);overflow-wrap:anywhere}
.planned-roster .pick-layout{gap:28px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
.planned-roster .era-tab .c{color:var(--archive-gold)}
.planned-roster .hero{padding-block:38px}
@media(max-width:980px){.planned-roster .pick-layout{grid-template-columns:1fr}}
.release-notice{position:relative;z-index:10;padding:10px 22px;background:#142623;color:#e4ece7;text-align:center;font:500 12px/1.5 var(--ui-font);border-bottom:1px solid #ffffff30}

.creator-seal{display:flex;align-items:center;justify-content:center;gap:9px;padding:28px 20px;color:var(--archive-ink);font:500 12px/1.4 var(--display-font);letter-spacing:.1em;background:var(--archive-control)}.creator-seal small{display:block;font:400 10px/1.5 var(--ui-font);letter-spacing:0;color:var(--archive-muted)}.spine__mark:has(img){background:transparent;border:0}.creator-seal img{flex:none}

/* The public site uses photographic glass, without the legacy CRT overlay. */
[data-theme] .scanlines{display:none!important}
[data-theme] body::before,[data-theme] body::after{content:none!important}
