/* Atlas controls follow scope, then view. Reading destinations have a way back. */
.atlas-intro{display:block}.atlas-tools{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:14px}.atlas-scope{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px}.atlas-scope .scope-tabs{flex:1;max-width:550px;margin:0}.atlas-tools .map-view-toggle{margin:0;align-self:center;justify-self:start}.atlas-tools .map-search-wrap{width:100%}.focus-scope-note{font-size:14px;color:var(--muted)}
.atlas-layout{display:block}.map-inspector{border-left:0;border-top:1px solid var(--line);max-height:none;overflow:visible}.inspector-empty{text-align:center;align-items:center;min-height:0;padding:45px 22px!important;max-width:620px;margin:auto}.inspector-empty .line-art{margin:auto}.inspector-empty h3{font-size:27px;line-height:1.65;text-wrap:balance}.inspector-empty p{font-size:18px;line-height:1.8;text-wrap:balance;max-width:28em;margin:auto}.inspector-body{text-align:left;max-width:950px;margin:auto}.inspector-body>.eyebrow{overflow-wrap:anywhere}.inspector-node .inspector-art{height:140px}.inspector-node .inspector-art .line-art{max-height:120px}.related-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.related-nodes>button{text-align:left;justify-content:start;border:1px solid var(--line);padding:12px;gap:10px}.related-nodes>button>span:nth-child(2){flex:1}.related-nodes .icon{flex-shrink:0}.related-nodes small{display:block}.place-connections>button{text-align:left;justify-content:start}.source-line{align-items:start}.source-line>a{text-align:left;display:inline;line-height:1.8}.source-line>.icon{vertical-align:middle}
.atlas-return{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 20px;color:var(--clay);border-bottom:1px solid var(--line);font-size:16px;text-decoration:underline;text-underline-offset:4px;width:100%;text-align:left}.atlas-return>.icon{width:18px;height:18px;transform:rotate(-90deg)}.atlas-destination{animation:destination-glow 1.3s ease-out}@keyframes destination-glow{0%,35%{box-shadow:inset 0 0 0 2px #ae8057;background-color:#ead4b2}100%{box-shadow:inset 0 0 0 0 transparent}}
.word{position:relative;border-radius:2px;text-underline-offset:5px;cursor:pointer}.word:active{background:#bd955940}.word.saved{animation:word-light .7s ease-out}@keyframes word-light{30%{background:#d6b57380;box-shadow:0 0 18px #c9a85d60}}.term-hint{margin-top:18px}.reading-body h1,.page-intro h1{text-wrap:balance}.term-explanation,.inspector-body>p{text-align:left;overflow-wrap:break-word}
.map-stage.network{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:660px;min-height:0}.map-stage.network .map-corner-label{position:relative;inset:auto;padding:20px 80px 7px 22px}.map-stage.network #network{position:relative;inset:auto;width:100%;height:100%;min-height:0;overflow:hidden}.map-stage.network .map-bottom-left{position:relative;inset:auto;padding:8px 80px 16px 22px;background:#f4ead8ed}.map-stage.network .map-help{margin:0}.map-zoom{right:16px;bottom:16px}.graph-node .node-era{display:none}.graph-node.focused .node-era{display:block}.graph-link text{display:none}.graph-link.highlighted text{display:block}.map-fullscreen-button{position:absolute;z-index:4;top:14px;right:14px;display:flex;align-items:center;justify-content:center;gap:7px;width:48px;height:48px;border:1px solid #b08c62;background:#f9f1e2;color:#4e3b29;border-radius:3px}.map-fullscreen-button>.icon{width:23px;height:23px}.map-fullscreen-button:hover{background:#ead9bb}.map-stage.time .map-corner-label,.map-stage.earth .map-corner-label{padding-right:80px}.map-corner-label>.eyebrow{font-size:13px;letter-spacing:.8px}.map-corner-label>span:last-child{font-size:16px}
/* The wide viewer lives outside the reading page and always has a close control. */
body.atlas-open{overflow:hidden}.atlas-fullscreen{position:fixed;inset:0;width:100vw;height:100dvh;z-index:120;background:#f4ead8;display:grid;grid-template-rows:56px minmax(0,1fr);padding:0 max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left));overflow:hidden}.atlas-fullscreen[hidden]{display:none}.atlas-screen-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;border-bottom:1px solid #ac8e64}.atlas-screen-header>span{font-size:16px;white-space:nowrap}.atlas-screen-controls{display:flex;align-items:center;gap:10px}.atlas-screen-controls select{background:#f8efdf;border:1px solid #af8a5d;font:15px var(--sans);height:40px;max-width:200px;border-radius:3px;padding:0 8px}.atlas-screen-header button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;font-size:15px}.atlas-screen-header button .icon{width:20px;height:20px}.atlas-fullscreen>.map-stage{height:100%!important;min-height:0!important;max-height:none;width:100%;margin:0;border:0;overflow:hidden;box-shadow:none}.atlas-fullscreen .map-fullscreen-button{display:none}.atlas-fullscreen .map-stage.network{grid-template-rows:minmax(0,1fr)}.atlas-fullscreen .network .map-corner-label{position:absolute;top:14px;left:18px;padding:0;color:#e3d1ac;z-index:2;pointer-events:none}.atlas-fullscreen .network .map-corner-label span{color:#e3d1ac;font-size:14px}.spatial-canvas{width:100%;height:100%;min-height:0;display:block;touch-action:none;outline:none}.spatial-canvas:focus-visible{box-shadow:inset 0 0 0 2px #ecd4a3}.atlas-fullscreen .network .map-bottom-left{position:absolute;bottom:12px;left:18px;right:100px;padding:0;background:transparent;color:#e3d1ac;pointer-events:none}.atlas-fullscreen .network .map-bottom-left button{pointer-events:auto}.atlas-fullscreen .network .map-help,.atlas-fullscreen .network .map-detail-link,.atlas-fullscreen .network .map-legend>button{color:#ecdbbb;font-size:14px}.atlas-fullscreen .network .map-help-phone{display:none}.atlas-fullscreen .network .map-help-desktop{display:inline}.atlas-fullscreen .network .map-legend{display:none}.atlas-fullscreen .network .map-zoom{background:#28302cee;border-color:#bca47c}.atlas-fullscreen .network .map-zoom button{color:#ead6af}.atlas-fullscreen .network .map-zoom button+button{border-color:#bca47c55}.atlas-fullscreen .map-detail-link{max-width:100%;text-align:left}.atlas-fullscreen .earth{display:grid!important;grid-template-rows:auto minmax(0,1fr)}.atlas-fullscreen .earth .map-corner-label{display:none}.atlas-fullscreen .earth-toolbar{padding:7px 12px;gap:8px}.atlas-fullscreen .earth-toolbar button{font-size:14px;min-height:40px;padding:6px 12px}.atlas-fullscreen .globe-container{height:100%!important;min-height:0!important}.atlas-fullscreen .earth-places{display:none}.atlas-fullscreen .earth .map-zoom{top:64px;bottom:auto;right:12px}.atlas-fullscreen .earth .map-bottom-left{display:none}.atlas-fullscreen .map-stage.time{overflow:hidden}.atlas-fullscreen .time .map-corner-label{display:none}.atlas-fullscreen #time-pane-root{height:100%}.atlas-fullscreen .time-pane{height:100%;display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;gap:5px 20px;padding:12px}.atlas-fullscreen .time-heading{display:none}.atlas-fullscreen .time-controls{grid-column:1;margin:0;gap:4px}.atlas-fullscreen .time-controls button{font-size:13px;min-height:38px;padding:5px 8px}.atlas-fullscreen .time-scrubber-label{grid-column:1;font-size:14px;flex-wrap:wrap;gap:0}.atlas-fullscreen .time-scrubber-label output{font-size:20px}.atlas-fullscreen .time-scrubber{grid-column:1;margin:0;height:40px}.atlas-fullscreen .time-nearby{grid-column:1;overflow:auto;max-height:110px;padding:2px 0}.atlas-fullscreen .time-nearby h3,.atlas-fullscreen .time-nearby p{font-size:14px}.atlas-fullscreen .time-nearby button{font-size:14px;min-height:36px;padding:4px 8px}.atlas-fullscreen .time-chart-scroll{grid-column:2;grid-row:1/6;overflow-y:auto;overscroll-behavior:contain;min-height:0;margin:0;padding:0}.atlas-fullscreen .time-now{display:block;grid-column:1;margin:0;padding:4px 0;align-self:end;font-size:13px}.atlas-fullscreen .time-now strong{display:block;font-size:18px}.atlas-fullscreen .time-now span:last-child{font-size:12px}.atlas-fullscreen .time-scale-note{display:none}.atlas-fullscreen .time-tick text,.atlas-fullscreen .time-event .time-period{font-size:16px}.atlas-fullscreen .time-event .time-name{font-size:16px}
@media(orientation:portrait){.atlas-fullscreen{inset:auto;top:50%;left:50%;width:100dvh;height:100vw;transform:translate(-50%,-50%) rotate(90deg);padding:0 12px;grid-template-rows:52px minmax(0,1fr)}}
@media(max-width:650px){.atlas-tools{display:flex;flex-direction:column;align-items:stretch;gap:12px}.atlas-scope{width:100%;flex-wrap:wrap;gap:4px}.atlas-scope .scope-tabs{width:100%;max-width:none}.atlas-tools .map-view-toggle{width:100%;display:flex}.atlas-tools .map-view-toggle button{flex:1}.focus-scope-note{font-size:14px}.map-stage.network{height:540px}.map-stage.network .map-corner-label{padding:17px 70px 0 16px}.map-stage.network .map-bottom-left{padding:8px 70px 12px 16px}.map-stage.network .map-legend{gap:9px}.map-stage.network .map-legend>button{min-height:32px;font-size:14px}.map-fullscreen-button{top:12px;right:12px;width:44px;height:44px}.related-nodes{grid-template-columns:1fr}.inspector-empty h3{font-size:25px}.inspector-empty p{font-size:18px}.inspector-body h2{font-size:29px;overflow-wrap:break-word}.atlas-fullscreen .atlas-screen-header>span{font-size:14px}.atlas-fullscreen .atlas-screen-controls{gap:7px}.atlas-fullscreen .atlas-screen-controls select{max-width:175px;font-size:14px}.atlas-fullscreen .network .map-corner-label{left:12px;top:10px}.atlas-fullscreen .network .map-corner-label .eyebrow{font-size:12px}.atlas-fullscreen .network .map-corner-label>span:last-child{font-size:13px}.atlas-fullscreen .network .map-bottom-left{left:12px;bottom:7px}.atlas-fullscreen .network .map-help{font-size:12px}.atlas-fullscreen .map-stage.network .map-detail-link{font-size:14px;min-height:36px}.atlas-fullscreen .map-zoom{bottom:12px;right:12px}.atlas-fullscreen .time-pane{grid-template-columns:160px minmax(0,1fr);gap:4px 12px}}
/* A short opening of a worn, brass-bound book on each launch. */
#opening-root{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at 50% 42%,#f8eedb,#e1cfae);overflow:hidden}#opening-root[hidden]{display:none}.opening-stage{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;perspective:1100px;background-image:url('/assets/paper-grain.svg')}.old-book{position:relative;width:210px;height:285px;transform-style:preserve-3d;transform:rotateX(18deg) rotateZ(-7deg);animation:book-arrive 2.6s ease both;box-shadow:25px 30px 28px #4f321650}.book-base{position:absolute;inset:0;background:#594027;border-radius:7px 9px 9px 7px;transform:translateZ(-17px);box-shadow:0 4px 0 #342616}.book-pages{position:absolute;inset:6px 7px 5px 10px;border-radius:2px 7px 7px 2px;background:repeating-linear-gradient(0deg,#bfa77e 0px,#ead9b8 1px,#f6e9ce 3px);box-shadow:6px 10px 0 #d0ba91,6px 13px 0 #ab926b,6px 16px 0 #725232}.book-page-lines{position:absolute;inset:20px;background:#f3e6ca;border:1px solid #b89c6c}.book-page-copy{position:absolute;inset:80px 35px;color:#775538;font-size:22px;line-height:2;text-align:center;letter-spacing:2px}.book-cover{position:absolute;inset:0;border-radius:6px 8px 8px 6px;background:radial-gradient(ellipse at 65% 40%,#765333,#47321f);border:2px solid #332415;box-shadow:inset 6px 0 6px #d5ab6440,inset -2px -2px 14px #180d08a0;transform-origin:left center;transform-style:preserve-3d;backface-visibility:visible;animation:book-open 2.6s cubic-bezier(.22,.6,.35,1) both}.book-cover:before{content:'';position:absolute;inset:0;opacity:.37;background-image:url('/assets/paper-grain.svg');border-radius:inherit}.book-cover:after{content:'';position:absolute;left:7px;top:15px;bottom:15px;width:8px;border-left:1px solid #bd986750;border-right:1px solid #bd986750}.cover-frame{position:absolute;inset:22px 17px 20px 27px;border:1px solid #c29e65;box-shadow:inset 0 0 0 4px #45301e,inset 0 0 0 5px #bd95654d;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dec18d;text-shadow:0 1px 2px #17100b;font-family:var(--latin)}.cover-frame>span{font-size:79px;line-height:.9}.cover-frame>b{font-size:36px;font-weight:400}.cover-frame>small{font-family:var(--serif);font-size:12px;letter-spacing:3px;margin-top:15px}.cover-frame>svg{width:95px;margin-top:18px;stroke:#d6b681;fill:#d6b681;stroke-width:.7}.cover-frame>svg path{fill:none}.book-corner{position:absolute;width:24px;height:24px;background:linear-gradient(135deg,#ecd197,#8d693e,#cba66b);box-shadow:1px 2px 2px #291c12;z-index:2}.book-corner.tl{top:0;left:0;clip-path:polygon(0 0,100% 0,0 100%)}.book-corner.tr{top:0;right:0;clip-path:polygon(0 0,100% 0,100% 100%)}.book-corner.bl{bottom:0;left:0;clip-path:polygon(0 0,100% 100%,0 100%)}.book-corner.br{bottom:0;right:0;clip-path:polygon(100% 0,100% 100%,0 100%)}.book-clasp{position:absolute;right:-10px;top:47%;width:28px;height:18px;border:1px solid #806133;background:linear-gradient(#d9bc7a,#a5834d,#ead6a1);border-radius:1px;animation:clasp-release 2.6s ease both}.book-leaf{position:absolute;inset:6px 9px 9px 11px;transform-origin:left center;background:#f4e7cc;opacity:0;box-shadow:inset -18px 0 24px #a7864a30;backface-visibility:hidden;animation:leaf-turn 2.6s ease both}.book-leaf.leaf-two{animation-delay:.13s}.opening-stage>p{font-size:18px;letter-spacing:1px;color:#5b452e;margin-top:58px;animation:opening-copy 2.6s both}.opening-stage>button{font-size:15px;color:#6c5339;min-height:44px;padding:0 20px;text-decoration:underline;text-underline-offset:5px;margin-top:16px}.book-dust{position:absolute;inset:0;pointer-events:none}.book-dust i{position:absolute;left:calc(12% + var(--i)*4.2%);top:var(--y);width:3px;height:3px;background:#b29359;border-radius:50%;opacity:0;animation:dust-rise 2.6s ease both;animation-delay:calc(var(--i)*.035s)}@keyframes book-arrive{0%{opacity:0;transform:translateY(20px) rotateX(28deg) rotateZ(-9deg) scale(.92)}20%,60%{opacity:1;transform:rotateX(18deg) rotateZ(-7deg)}86%{opacity:1;transform:rotateX(12deg) rotateZ(-3deg) scale(1.08)}100%{opacity:0;transform:translateY(15px) rotateX(0deg) scale(1.15)}}@keyframes book-open{0%,28%{transform:rotateY(0)}75%,100%{transform:rotateY(-145deg)}}@keyframes clasp-release{0%,20%{transform:translateX(0)}35%,100%{transform:translateX(10px);opacity:0}}@keyframes leaf-turn{0%,48%{opacity:0;transform:rotateY(0)}51%{opacity:1}85%,100%{opacity:0;transform:rotateY(-128deg)}}@keyframes dust-rise{0%,15%{opacity:0;transform:translateY(15px)}35%{opacity:.65}100%{opacity:0;transform:translate(35px,-95px)}}@keyframes opening-copy{0%,9%{opacity:0}28%,82%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.old-book,.book-cover,.book-clasp,.book-leaf,.opening-stage>p,.book-dust i,.atlas-destination,.word.saved{animation:none}.book-leaf,.book-dust{display:none}.book-cover{transform:none}.old-book{transform:none}.opening-stage>p{opacity:1}}

body.book-opening{overflow:hidden}
.time-control-short{display:none}.atlas-fullscreen .time-control-full{display:none}.atlas-fullscreen .time-control-short{display:inline}.atlas-fullscreen .time-nearby{min-height:0;max-height:90px}.atlas-fullscreen .time-controls{flex-wrap:nowrap}.atlas-fullscreen .time-controls button{padding:5px 6px;font-size:13px;white-space:nowrap}
.analytics-choice{position:fixed;z-index:25;bottom:24px;right:24px;width:min(460px,calc(100vw - 32px));padding:22px;background:#f7efdf;border:1px solid #a7804c;box-shadow:0 8px 40px #40332226;color:#3d3020;}
.analytics-choice[hidden]{display:none;}
.analytics-choice p{margin:0 0 8px;font-size:20px;line-height:1.5;}
.analytics-choice span{font-size:15px;line-height:1.7;display:block;}
.analytics-choice a{color:inherit;text-decoration:underline;margin-left:.4em;}
.analytics-choice-buttons{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.analytics-choice-buttons button{flex:1;min-width:140px;min-height:48px;background:#f8f1e4;color:#4d3c29;border:1px solid #957448;padding:12px 10px;font:inherit;cursor:pointer;}
.analytics-choice-buttons button:focus-visible{outline:2px solid #674628;outline-offset:3px;}
.analytics-choice-buttons button:disabled{opacity:.6;}
@media(max-width:800px){.analytics-choice{bottom:calc(84px + env(safe-area-inset-bottom));right:16px;padding:18px;}.analytics-choice p{font-size:18px;}.analytics-choice span{font-size:14px;}}
