/* Entreverse · Atlas vivant, édition 45.
   Role tokens and scoped compositions. Maps and literary source text stay intact. */
:root{--ev-font-reading:Georgia,'Times New Roman',serif;--ev-font-ui:system-ui,-apple-system,'Segoe UI',sans-serif;--ev-space-1:8px;--ev-space-2:16px;--ev-space-3:24px;--ev-space-4:40px;--ev-space-5:64px;--ev-reading-width:68ch;--ev-duration:160ms;--ev-focus:#f4c776;--ev-focus-shadow:#13242a;--ev-radius:8px;--ev-error:#ffc4bb;--ev-success:#b5e8c9}
html[data-era]{--ev-surface:var(--epoch-panel,var(--room-panel,#162b33));--ev-ground:var(--epoch-bg,var(--room-bg,#101c24));--ev-ink:var(--epoch-text,var(--room-ink,#eef1e8));--ev-muted:var(--epoch-muted,var(--room-muted,#b1c7c8));--ev-accent:var(--epoch-accent,var(--room-accent,#b8d8ca));--ev-line:var(--epoch-line,var(--room-edge,#728b81))}
html[data-era] :is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--ev-focus)!important;outline-offset:4px;box-shadow:0 0 0 6px var(--ev-focus-shadow)}
/* The portal has a quiet editorial margin and a separate illustrated folio. */
html[data-era] .era-home{font:16px/1.75 var(--ev-font-ui);overflow-wrap:break-word}
html[data-era] .era-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;height:auto;max-height:none;background:var(--epoch-bg);color:var(--epoch-text);isolation:isolate}
html[data-era] .era-hero-image{position:absolute;inset:0 0 0 auto;width:50%;height:100%;object-fit:cover;object-position:60% 50%;filter:none}
html[data-era] .era-hero-veil{position:absolute;inset:auto 0 0 50%;height:130px;background:linear-gradient(transparent,#07171cc9)}
html[data-era] .era-hero-copy{position:relative;grid-column:1;padding:68px clamp(28px,3.5vw,64px) 96px;max-width:none;align-self:center;z-index:1}
html[data-era] .era-eyebrow{font:600 11px/1.6 var(--ev-font-ui);letter-spacing:.14em;color:var(--epoch-accent);text-transform:uppercase}
html[data-era] .era-hero .era-eyebrow{max-width:32ch;color:var(--epoch-accent);margin-bottom:26px}
html[data-era] .era-period{font:12px/1.6 var(--ev-font-ui);letter-spacing:.04em;color:var(--epoch-muted);margin-bottom:18px}
html[data-era] .era-home h1{font:400 clamp(42px,4.2vw,66px)/1.05 var(--ev-font-reading)!important;letter-spacing:-.045em;text-transform:none;color:var(--epoch-text)!important;text-wrap:balance;max-width:12ch;margin:0 0 28px;text-shadow:none}
html[data-era="3"] .era-home h1,html[data-era="6"] .era-home h1{font-style:italic!important}
html[data-era] .era-lead{font-size:16px;line-height:1.8;max-width:45ch;color:var(--epoch-muted);margin:0 0 30px}
html[data-era] .era-actions{display:flex;align-items:stretch;flex-direction:column;gap:14px;max-width:320px;margin:0}
html[data-era] .era-primary{background:var(--epoch-text);color:var(--epoch-bg);border:1px solid var(--epoch-text);font-size:13px;min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;line-height:1.5;transition:background var(--ev-duration),color var(--ev-duration)}
html[data-era] .era-primary:hover{background:var(--epoch-accent);border-color:var(--epoch-accent);color:var(--epoch-bg)}
html[data-era] .era-secondary{color:var(--epoch-accent);font-size:13px;min-height:44px;border:0;text-decoration:underline;text-underline-offset:6px;align-self:flex-start;display:inline-flex;align-items:center}
html[data-era] .era-hero-foot{position:absolute;bottom:24px;left:calc(50% + 28px);right:28px;gap:18px;color:#f8edda;font-size:10px;line-height:1.6;letter-spacing:.1em}
html[data-era] .era-hero-foot>span:last-child{white-space:nowrap}
html[data-era] .era-time-rail{background:var(--epoch-panel);border-block:1px solid var(--epoch-line);padding:0 20px;grid-template-columns:repeat(8,minmax(0,1fr))}
html[data-era] .era-time-rail a{padding:22px 8px 18px;min-height:100px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;border-bottom:3px solid transparent;transition:background var(--ev-duration)}
html[data-era] .era-time-rail a:hover{background:color-mix(in srgb,var(--epoch-accent) 9%,transparent)}
html[data-era] .era-time-rail a[aria-current=page]{background:color-mix(in srgb,var(--epoch-accent) 9%,transparent);border-bottom-color:var(--epoch-accent)}
html[data-era] .era-time-rail span{font:24px/1 var(--ev-font-reading);color:var(--epoch-accent)}
html[data-era] .era-time-rail small{font-size:11px;line-height:1.4;color:var(--epoch-text);text-align:center}
html[data-era] :is(.era-chapter,.era-memory,.era-common){padding:clamp(44px,6vw,88px) clamp(24px,4.5vw,72px)}
html[data-era] .era-chapter-head{gap:32px;align-items:end;margin-bottom:36px}
html[data-era] .era-home h2{font:400 clamp(30px,3vw,44px)/1.15 var(--ev-font-reading);letter-spacing:-.025em;max-width:22ch;text-wrap:balance}
html[data-era] .era-chapter-head>p{font-size:15px;line-height:1.8;max-width:36ch}
html[data-era] .era-doors{gap:24px}
html[data-era] .era-door{border:0;border-top:1px solid var(--epoch-line);background:transparent;box-shadow:none;transition:transform var(--ev-duration)}
html[data-era] .era-door:hover{transform:translateY(-3px);background:transparent}
html[data-era] .era-door-image{aspect-ratio:4/3;height:auto;margin-top:14px;overflow:hidden}
html[data-era] .era-door-image img{height:100%;width:100%;object-fit:cover;transition:transform 240ms}
html[data-era] .era-door-image span{background:var(--epoch-bg);color:var(--epoch-accent);font:17px var(--ev-font-reading);padding:10px 14px;bottom:0;left:0}
html[data-era] .era-door-copy{padding:22px 0 18px}
html[data-era] .era-door h3{font:400 27px/1.15 var(--ev-font-reading);letter-spacing:-.02em;margin:12px 0}
html[data-era] .era-door-copy>p:not(.era-eyebrow){font-size:14px;line-height:1.8;color:var(--epoch-muted)}
html[data-era] .era-arrow{position:static;display:block;margin-top:20px;font-size:24px;color:var(--epoch-accent)}
html[data-era] :is(.era-memory-intro,.era-common>div)>p:not(.era-eyebrow){font-size:16px;line-height:1.8;max-width:44ch}
html[data-era] .era-memory{gap:60px;border-block:1px solid var(--epoch-line);background:var(--epoch-panel)}
html[data-era] .era-timeline li{padding:0 0 28px 25px}
html[data-era] .era-timeline h3{font-size:23px;line-height:1.3}
html[data-era] .era-timeline p{font-size:14px;line-height:1.8}
html[data-era] .era-timeline li>span{font-size:12px;letter-spacing:.04em}
html[data-era] .era-text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:16px}
html[data-era] .era-common-links a{padding:22px 12px;min-height:105px;border-bottom:1px solid var(--epoch-line)}
html[data-era] .era-common-links span{font-size:12px;line-height:1.6}
html[data-era] .era-common-links strong{font-size:25px;line-height:1.3}
html[data-era] .era-end{padding:52px 24px;gap:12px}
html[data-era] .era-end small{font-size:11px}
/* Navigation behaves the same in every era. */
html[data-era] .nav-section>summary{font-size:11px!important;line-height:1.5;letter-spacing:.08em;padding-block:17px}
html[data-era] .nav-item .nav-title{font-size:13px;line-height:1.5}
html[data-era] .portal-era select{width:156px!important;max-width:none!important;font-size:13px}
html[data-era] .shell>.topbar{gap:16px;padding-inline:24px}
html[data-era] .top-actions{gap:10px;min-width:0}
html[data-era] .shell{min-width:0}
html[data-era] #content{min-width:0}
html[data-era] #app>.sidebar{contain:layout}
/* Shared modules: a compact illustrated masthead, one contextual navigation row. */
html.era-reading-room .era-threshold{min-height:0;padding:20px clamp(20px,4vw,56px);gap:12px 24px;border-bottom:1px solid var(--room-edge);background-position:center 44%}
html.era-reading-room .era-return{font:600 11px/1.6 var(--ev-font-ui);letter-spacing:.12em;min-height:30px;display:inline-flex;align-items:center}
html.era-reading-room .era-threshold-title{font:400 28px/1.15 var(--ev-font-reading)!important;margin:0;color:#f4e7cc!important}
html.era-reading-room .era-threshold-date{font:13px/1.6 var(--ev-font-ui)}
html.era-reading-room .era-threshold nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px 20px;padding:0;margin:0;scrollbar-width:thin;min-width:0;max-width:100%;align-items:center}
html.era-reading-room .era-threshold nav a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;font:13px/1.4 var(--ev-font-ui);border-bottom:1px solid #e8d2a34d;text-decoration:none}
html.era-reading-room #aube-reading-door{margin:0;padding:12px clamp(20px,4vw,56px);display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 22px;border:0;border-bottom:1px solid var(--room-edge)}
html.era-reading-room #aube-reading-door h2{font-size:20px;margin:0}
html.era-reading-room #aube-reading-door p{font-size:13px;line-height:1.6;margin:0}
html.era-reading-room #aube-reading-door a{color:var(--room-ink)}
html.era-reading-room :is(input,select,textarea){font-size:16px}
html.era-reading-room button{touch-action:manipulation}
/* Archives: collection cards and paper reading surface. */
html[data-era-module=library] .catalog-hero{min-height:230px;padding:34px clamp(20px,4vw,56px);gap:24px;background-image:linear-gradient(90deg,var(--room-bg),color-mix(in srgb,var(--room-bg) 82%,transparent)),url('/archives/assets/hall.webp')}
html[data-era-module=library] .catalog-hero h1{font:400 clamp(34px,4vw,54px)/1.1 var(--ev-font-reading)!important;letter-spacing:-.035em;margin:12px 0 18px;text-shadow:none}
html[data-era-module=library] .catalog-hero p{font-size:15px;line-height:1.8;max-width:60ch;color:var(--room-muted)}
html[data-era-module=library] .catalog-hero img{width:120px;height:150px}
html[data-era-module=library] .catalog-controls{padding:28px clamp(20px,4vw,56px) 8px}
html[data-era-module=library] .catalog-caption,html[data-era-module=library] .cards{padding-inline:clamp(20px,4vw,56px)}
html[data-era-module=library] .cards{gap:24px}
html[data-era-module=library] .bookcard{border:1px solid var(--room-edge);background:var(--room-panel);border-radius:4px;box-shadow:none}
html[data-era-module=library] .cover{background:linear-gradient(140deg,color-mix(in srgb,var(--room-accent) 20%,var(--room-bg)),var(--room-bg));border-color:var(--room-edge);height:180px}
html[data-era-module=library] .cover div{color:var(--room-ink);font:400 23px/1.3 var(--ev-font-reading)}
html[data-era-module=library] .cardcopy{padding:20px}
html[data-era-module=library] .cardcopy h3{font:400 22px/1.3 var(--ev-font-reading)!important;margin:10px 0;min-height:0}
html[data-era-module=library] .cardcopy p{font-size:13px;line-height:1.7;color:var(--room-muted)}
html[data-era-module=library] .cardactions button{min-height:44px;font-size:13px;background:var(--room-bg);color:var(--room-ink);border-color:var(--room-edge)}
html[data-era-module=library] .reader-text{font-family:var(--ev-font-reading);line-height:1.85;padding:36px max(24px,calc((100% - 68ch)/2)) 64px}
html.era-reading-room .reader-text:not(.night) :is(h1,h2,h3,h4){color:#342d25!important;font-family:var(--ev-font-reading)!important}
html.era-reading-room .reader-text.night :is(h1,h2,h3,h4){color:#eae0ca!important;font-family:var(--ev-font-reading)!important}
html[data-era-module=library] .reader-toolbar button{min-height:44px}
html[data-era-module=library] .site-first-ages-entry{padding-block:12px}
/* Chronological prose, without changing chart colours or compact mode. */
html[data-era-module=chrono] :is(.v16-focus,.v16-chapter,.v14-era-summary){background:var(--room-panel);border-color:var(--room-edge)}
html[data-era-module=chrono] .v14-event-copy p{font-size:14px;line-height:1.75}
html[data-era-module=chrono] :is(.v14-event-meta,.v16-event-list small){font-size:12px;line-height:1.6}
/* Dice controls keep the stage and probability engine intact. */
html[data-era-module=dice] :is(.small-toggle,.mode-buttons button,.preset-chip,.text-button){min-height:44px}
html[data-era-module=dice] .dice-picker button{min-height:60px}
@media(max-width:1100px){html[data-era] .era-hero{min-height:590px}html[data-era] .era-hero-copy{padding:48px 28px 64px}html[data-era] .era-home h1{font-size:48px!important}html[data-era] .era-chapter-head{grid-template-columns:1fr}html[data-era] .era-chapter-head>p{max-width:60ch}html[data-era] .era-doors{gap:18px}html[data-era] .era-door h3{font-size:24px}html[data-era] .era-memory,html[data-era] .era-common{gap:36px}}
@media(max-width:760px){
 html[data-era] .era-hero{display:flex;flex-direction:column;min-height:0;height:auto}
 html[data-era] .era-hero-image{position:relative;inset:auto;width:100%;height:260px;object-position:60% 46%}
 html[data-era] .era-hero-veil{display:none}
 html[data-era] .era-hero-copy{padding:30px 24px 36px;width:100%;align-self:auto}
 html[data-era] .era-hero .era-eyebrow{margin:0 0 14px;max-width:none;font-size:10px}
 html[data-era] .era-period{margin:0 0 15px;font-size:12px}
 html[data-era] .era-home h1{font-size:44px!important;max-width:15ch;margin-bottom:20px}
 html[data-era] .era-lead{font-size:15px;line-height:1.8;max-width:52ch;margin-bottom:24px}
 html[data-era] .era-actions{max-width:none;gap:6px}
 html[data-era] .era-primary{align-self:flex-start;max-width:100%;min-height:48px}
 html[data-era] .era-hero-foot{position:static;color:var(--epoch-muted);padding:0 24px 20px;font-size:9px}
 html[data-era] .era-time-rail{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 12px}
 html[data-era] .era-time-rail a{padding:16px 5px;min-height:92px}
 html[data-era] .era-time-rail small{font-size:11px}
 html[data-era] .era-time-rail span{font-size:22px}
 html[data-era] .era-doors{grid-template-columns:1fr;gap:24px}
 html[data-era] .era-door{display:grid;grid-template-columns:34% minmax(0,1fr);align-items:start;gap:20px}
 html[data-era] .era-door-image{aspect-ratio:3/4;height:auto;margin-top:20px}
 html[data-era] .era-door-copy{padding:18px 0 8px}
 html[data-era] .era-door h3{font-size:25px}
 html[data-era] .era-door-copy>p:not(.era-eyebrow){font-size:14px}
 html[data-era] .era-arrow{margin-top:8px}
 html[data-era] .era-memory,html[data-era] .era-common{grid-template-columns:1fr;gap:32px}
 html[data-era] .era-common-links{grid-template-columns:1fr 1fr}
 html[data-era] .era-common-links strong{font-size:23px}
 html[data-era] .shell>.topbar{padding:12px 16px;gap:10px}
 html[data-era] .top-actions{gap:8px}
 html[data-era] .portal-era select{width:150px!important;max-width:150px!important}
 html[data-era] #app>.sidebar{max-width:min(300px,calc(100vw - 40px));visibility:hidden}
 html[data-era] #app>.sidebar.visible,html[data-era] #app>.sidebar[aria-hidden=false]{visibility:visible}
 html.era-reading-room .era-threshold{padding:16px 20px 10px;gap:8px 16px}
 html.era-reading-room .era-threshold-title{font-size:25px!important}
 html.era-reading-room .era-threshold nav{margin-top:4px}
 html[data-era-module=library] .catalog-hero{min-height:0;padding:28px 20px}
 html[data-era-module=library] .catalog-hero img{display:none}
 html[data-era-module=library] .catalog-hero h1{font-size:38px!important}
}
@media(max-width:480px){html[data-era-module=dice] .dice-picker{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-era-module=library] .cards{grid-template-columns:1fr}html[data-era-module=library] .bookcard .cover{height:150px}html[data-era] .era-door{grid-template-columns:1fr}html[data-era] .era-door-image{aspect-ratio:16/9;margin-top:16px}html[data-era] .era-door-copy{padding-top:0}html[data-era] .era-hero-image{height:210px}html[data-era] .era-home h1{font-size:40px!important}}
@media(prefers-reduced-motion:reduce){html[data-era] :is(.era-door,.era-door img,.era-primary,.era-time-rail a){transition:none;transform:none}}

/* Explicitly outrank the former light-on-image CTA skins. */
html[data-era] .era-home .era-primary{color:var(--epoch-bg)!important}
html[data-era] .era-home .era-secondary{color:var(--epoch-accent)!important}
/* A literary page keeps paper contrast, even when the surrounding era is dark. */
html.era-reading-room body:has(>.reading-header){--paper:#f6f0e4;--link:var(--room-accent)}
html.era-reading-room .reading-header{width:min(900px,calc(100% - 40px));padding:22px 0;border:0}
html.era-reading-room .reading-header nav{padding:0;gap:12px 24px}
html.era-reading-room .reading-header nav a{min-height:44px;color:var(--room-accent)}
html.era-reading-room .reading-header+main{width:min(900px,calc(100% - 40px));padding:40px clamp(24px,5vw,70px) 64px;background:#f6f0e4;color:#302b23;border-top:3px solid var(--room-accent);font:18px/1.85 var(--ev-font-reading)}
html.era-reading-room .reading-header+main :is(h1,h2,h3,h4){color:#302b23!important;font-family:var(--ev-font-reading)!important}
html.era-reading-room .reading-header+main :is(.eyebrow,.edition,blockquote){color:#5b584f}
html.era-reading-room .reading-header+main a{color:#215976}
html.era-reading-room .reading-text{max-width:68ch;padding-bottom:16px}
html.era-reading-room .reading-text :is(h1,h2,h3){text-wrap:balance}
html.era-reading-room body:has(>.reading-header)>footer a{color:var(--room-accent)}
@media(max-width:600px){html.era-reading-room .reading-header+main{width:100%;padding:28px 24px 44px;font-size:17px}html.era-reading-room .reading-header{width:calc(100% - 40px)}html.era-reading-room .reading-header+main h1{font-size:35px}}

html[data-era-module=library] .archive-context{font:12px/1.65 var(--ev-font-ui);padding:10px clamp(20px,4vw,56px);background:var(--room-bg);color:var(--room-muted);border-bottom:1px solid var(--room-edge)}
html[data-era-module=library] #archive-main>a[href*="premiers-ages"]{display:block;margin:0;padding:12px clamp(20px,4vw,56px);font-size:14px;color:var(--room-accent)}
/* Legacy modules set a minimum height with !important; the compact masthead wins. */
html.era-reading-room #era-threshold{min-height:0!important}
html[data-era-module=library] #archive-main>p:has(>a[href*="premiere-ere.html"]){margin:0;padding:12px clamp(20px,4vw,56px)!important;line-height:1.6;font-size:14px}
html[data-era-module=library] #archive-main>p>a[href*="premiere-ere.html"]{color:var(--room-accent)}
@media(max-width:650px){
 html[data-era-module=library] .topbar .top-nav{display:flex;overflow-x:auto;gap:4px;scrollbar-width:thin}
 html[data-era-module=library] .topbar .top-nav .nav{flex:0 0 auto;width:auto;min-height:44px;padding:10px 12px;white-space:nowrap}
 html[data-era-module=library] .catalog-hero{gap:0}
 html[data-era-module=library] .catalog-hero>.archive-static-link{margin-top:16px;font-size:13px;min-height:44px}
}

html.era-reading-room .era-threshold nav{scrollbar-width:none}
html.era-reading-room .era-threshold nav::-webkit-scrollbar{display:none}
html.era-reading-room #aube-reading-door{display:flex!important;align-items:baseline;min-height:0}
html.era-reading-room #aube-reading-door :is(h2,p,a){margin:0!important}

html[data-era-module=library] :is(.v12-panel,.v12-tools).v45-disclosure{display:block;margin:14px clamp(20px,4vw,56px);padding:0;border:1px solid var(--room-edge);border-radius:4px;background:var(--room-panel);color:var(--room-ink)}
html[data-era-module=library] .v45-disclosure>summary{cursor:pointer;font:14px/1.6 var(--ev-font-ui);padding:14px 18px;min-height:50px;list-style-position:inside;color:var(--room-ink)}
html[data-era-module=library] .v45-disclosure[open]{padding:0 18px 18px}
html[data-era-module=library] .v45-disclosure[open]>summary{margin:0 -18px 18px;border-bottom:1px solid var(--room-edge)}
html[data-era-module=library] .v45-disclosure[open]>button{margin:5px;min-height:44px}
html[data-era-module=library] #view-catalog>p:has(>a[href*="premiere-ere.html"]){margin:0;padding:12px clamp(20px,4vw,56px)!important;line-height:1.6;font-size:14px}
html[data-era-module=library] #view-catalog>p>a[href*="premiere-ere.html"]{color:var(--room-accent)}
/* The atlas grid must shrink below the intrinsic width of its place list. */
html[data-era-module=terra] #shell{grid-template-columns:minmax(0,1fr)}
html[data-era-module=terra] #shell>:is(.topbar,.workspace){min-width:0;max-width:100%}
@media(max-width:650px){html[data-era-module=terra] #shell>.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;gap:10px}html[data-era-module=terra] .topbar .brand{min-width:0;gap:8px}html[data-era-module=terra] .topbar .brandmark{display:none}html[data-era-module=terra] .head-actions{gap:4px}html[data-era-module=terra] .head-actions button{min-width:40px;min-height:44px;padding:8px}html[data-era-module=terra] .topbar .brand strong{font-size:18px}}
