/* verres-atlas */
.bar{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;margin:.2rem 0 .5rem}
.bar .wide{font:600 var(--fs-label) system-ui;background:var(--sub);color:var(--pku-navy);border:1px solid var(--hairline);border-radius:999px;padding:.3rem .7rem;cursor:pointer}
.bar .wide[aria-pressed=true]{background:var(--pku-navy);color:#fff;border-color:var(--pku-navy)}
.lang-toggle{display:flex;gap:.2rem}
.lang-toggle button{font:600 var(--fs-label) system-ui;background:var(--paper);color:var(--ink);border:1px solid var(--hairline);border-radius:7px;padding:.28rem .6rem;cursor:pointer}
.lang-toggle button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* A spatial workbench uses the viewport width, while prose retains a reading measure. */
#main{max-width:none;width:100%;padding:1.2rem clamp(12px,2vw,40px) 5rem}
#main>.lede{max-width:90ch}#main>h1{margin:.6rem 0}
.atlas-workspace{min-width:0;position:relative}
.bar{justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 0}
.map-actions{display:flex;flex-wrap:wrap;gap:8px}.bar button{min-height:44px;font-size:.875rem!important}
.atlas{--rail-w:clamp(190px,14vw,230px);--panel-w:clamp(260px,21vw,340px);display:grid;gap:10px;align-items:stretch;
 grid-template-columns:var(--rail-w) minmax(0,1fr) 8px var(--panel-w);grid-template-areas:"rail map sep panel";
 height:clamp(560px,calc(100dvh - 10rem),1200px);min-width:0}
.atlas>.rail{grid-area:rail}.atlas>.mapwrap{grid-area:map}.atlas>.sep{grid-area:sep}.atlas>.panel{grid-area:panel}
.atlas>.rail,.atlas>.panel{overflow:auto;min-height:0;min-width:0;border:1px solid var(--hairline);border-radius:9px;background:var(--paper)}
.mapwrap{display:flex;flex-direction:column;min-height:0;min-width:0;gap:8px}
#map{flex:1 1 0;min-height:250px;width:100%;border:1px solid var(--hairline);border-radius:9px}
.under{flex:0 0 auto;max-height:24%;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.under>*{min-width:0;overflow-wrap:anywhere}
.sep{cursor:col-resize;touch-action:none;background:linear-gradient(var(--hairline),var(--hairline)) center/2px 60% no-repeat;border-radius:3px}
.sep:hover,.sep:focus-visible{background:linear-gradient(var(--pku-crimson),var(--pku-crimson)) center/3px 80% no-repeat;outline:2px solid var(--pku-crimson)}
.atlas.wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"map"}
.atlas.wide>.rail,.atlas.wide>.panel,.atlas.wide>.sep,.atlas.wide .under{display:none!important}
body.va-expanded{overflow:hidden!important}
.atlas-workspace.is-expanded{position:fixed;inset:0;z-index:20000;background:var(--bg);padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:auto}
.is-expanded>.bar{flex:0 0 auto;margin:0;padding:4px 0 10px}
.is-expanded>.atlas{flex:1 1 0;height:auto;min-height:0}
.is-expanded #map{min-height:120px}
@media(max-width:1200px){.under{grid-template-columns:1fr}.atlas{--rail-w:190px;--panel-w:260px}}
@media(max-width:1000px){
 .atlas{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"rail map" "panel panel";grid-template-rows:minmax(420px,65dvh) auto;height:auto}
 .atlas>.sep{display:none}.atlas>.panel{max-height:32rem}
 .atlas.wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"map";grid-template-rows:minmax(420px,75dvh)}
 .is-expanded>.atlas{overflow:auto;flex-basis:auto}.is-expanded>.atlas.wide{flex:1 1 0;grid-template-rows:minmax(0,1fr);overflow:hidden}
}
@media(max-width:600px){
 .atlas{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "rail" "panel";grid-template-rows:minmax(350px,62dvh) auto auto}
 .atlas>.rail{max-height:15rem}.atlas>.panel{max-height:none}.under{max-height:22%}
 .atlas.wide{grid-template-rows:minmax(350px,72dvh)}
 .bar{align-items:flex-start}.map-actions{flex:1;justify-content:flex-end}.map-actions button{flex:1}
}
@media(max-height:500px){
 .is-expanded>.atlas{grid-template-columns:180px minmax(0,1fr);grid-template-areas:"rail map" "panel panel";grid-template-rows:minmax(250px,calc(100dvh - 90px)) auto;overflow:auto;flex-basis:auto}
 .is-expanded>.atlas>.sep{display:none}.is-expanded>.atlas.wide{grid-template-columns:minmax(0,1fr);grid-template-areas:"map";grid-template-rows:minmax(0,1fr);flex:1 1 0;overflow:hidden}
}
@media print{.bar{display:none}.atlas-workspace.is-expanded{position:static;overflow:visible}.atlas{display:block;height:auto}.atlas>.rail,.atlas>.sep{display:none}#map{height:18cm}}

.stages{list-style:none;margin:0;padding:.3rem}
.stage{margin:0 0 .15rem}
.st,.ep{display:block;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:.4rem .5rem;cursor:pointer;font:inherit;color:var(--ink)}
.st:hover,.ep:hover{background:var(--sub)}
.st[aria-current=true],.ep[aria-current=true]{background:var(--sub);box-shadow:inset 3px 0 var(--pku-crimson)}
.st .ord{font:600 var(--fs-label)/1 'DM Mono',monospace;color:var(--muted);margin-right:.4rem}
.st .ti{font:600 .86rem/1.35 'DM Sans',system-ui}
.st .dt,.st .pr{display:block;font:var(--fs-label)/1.3 system-ui;color:var(--muted)}
.st .pr{font-style:italic}
.eps{list-style:none;margin:.1rem 0 .4rem 1.1rem;padding:0;border-left:1px solid var(--hairline)}
.eps .ep{font:.82rem/1.35 system-ui}
.band,.notmapped{font:var(--fs-small)/var(--lh-text) system-ui}
.band h3,.notmapped h3{font:600 var(--fs-label)/1.3 'DM Sans',system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--pku-crimson);margin:.2rem 0 .2rem}
.band ul,.notmapped ul{list-style:none;margin:0;padding:0}
.band li{display:flex;gap:.5rem}.band .yr{font:var(--fs-label)/1.5 'DM Mono',monospace;color:var(--muted);flex:0 0 5.5em}
.notmapped li{border-left:3px solid var(--pku-gold);padding-left:.5rem;margin:.25rem 0}
.panel{padding:.8rem .9rem}
.panel h2{font:600 1.02rem/1.35 'DM Sans',system-ui;margin:.1rem 0 .2rem}
.panel h3{font:600 var(--fs-label)/1.3 'DM Sans',system-ui;letter-spacing:.06em;text-transform:uppercase;color:var(--pku-crimson);margin:.8rem 0 .2rem}
.panel .meta{font:var(--fs-label)/1.4 system-ui;color:var(--muted);margin:0 0 .5rem}
.panel .lim{color:var(--muted)}
.panel .pl li{margin:.3rem 0}
.pas{margin:.5rem 0;border:1px solid var(--hairline);border-radius:7px;background:var(--sub)}
.pas>summary{cursor:pointer;padding:.4rem .55rem;font:.82rem/1.4 system-ui}
.pas blockquote{margin:0;padding:.2rem .7rem .6rem}
.pas p[lang=la]{font:var(--fs-body)/var(--lh-text) Georgia,serif}
.pas .zh{font:var(--fs-small)/var(--lh-cjk) system-ui}
.pas .src{font:var(--fs-label)/1.4 'DM Mono',monospace}
.unanchored{margin-top:1.2rem;border-top:1px solid var(--hairline);padding-top:.6rem}
.unanchored h2{font:600 var(--fs-label)/1.3 'DM Sans',system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--pku-crimson)}
.unanchored li{font:var(--fs-small)/var(--lh-text) system-ui;margin:.3rem 0}
/* the original beside a transliterated name, so the reader knows which place or person is meant */
.gl{border-bottom:1px dotted var(--muted)}
.gl .orig{color:var(--muted);font:max(.85em,var(--fs-label))/1 Georgia,serif}
/* with both languages showing, the Chinese sits under the English rather than running into it */
body[data-lang="both"] .panel .lang-zh,body[data-lang="both"] .unanchored .lang-zh,
body[data-lang="both"] .band .lang-zh,body[data-lang="both"] .notmapped .lang-zh{display:block;color:var(--muted);margin-top:.1rem}
body[data-lang="both"] .st .lang-zh,body[data-lang="both"] .ep .lang-zh{display:block;color:var(--muted)}
/* type layer (2026-09-24): short labels at the 13 px label step, the passages and the lists' sentences
   at 15-16 px; the episodes not placed on the map (they ran 1,342 px wide) at the shared line length */
.mw-type .unanchored li{max-width:var(--measure)}
