/* 0.17 / precise interfaces, expressive space. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/experience/assets/fonts/space-grotesk-variable.woff2') format('woff2')}
:root{--display:'Space Grotesk',Geist,sans-serif;--motion-ease:cubic-bezier(.2,.75,.15,1)}
.brand-word strong,.mobile-brand>span{font-family:var(--display);font-weight:550;letter-spacing:-1.6px}
h1,h2,.journey-reveal,.space-name,.account-node strong,.network-center,.tower-front strong{font-family:var(--display)}
.room-title h2,.connections-content h2,.academy-intro h2,.lesson-workspace h2{font-family:var(--display);font-weight:460;letter-spacing:-.06em}
.main-metric strong,.room-balance,.space-copy>strong,.allocation-center strong{font-family:Geist,sans-serif;font-variant-numeric:tabular-nums}
.world-stage{height:max(1080px,116svh)}
.vector-scene{background:radial-gradient(ellipse at 56% 62%,#342b1c 0,#1c1d14 30%,#0f120d 69%)}
.atlas-watermark{font-family:var(--display);font-size:clamp(70px,8vw,130px);font-weight:450;letter-spacing:-8px;bottom:55px;left:32px;line-height:.78;color:#ded4b107}
.atlas-watermark>span{display:block;font-size:8px;letter-spacing:2px;margin-top:17px;color:#c7b48e5e;line-height:1.5}
.atlas-avenues{stroke:#c0aa7140;stroke-width:1;fill:none}.atlas-connections .travel{stroke-width:1.7;stroke-dasharray:12 210;animation-duration:19s;opacity:.8}
.island-base{fill:#191d13;stroke:#ad9e7333}.island-skirt{fill:#10140d;stroke:#b1a17835;stroke-width:1}
.atlas-tree{fill:#45473133;stroke:#b6b19278;stroke-width:.7;pointer-events:none}.atlas-lamp{stroke:#ae9c6666;stroke-width:.8;pointer-events:none}.atlas-lamp circle{fill:#ffd08d;stroke:#ffd08d;animation:atlas-light 6s ease-in-out infinite;animation-delay:var(--delay)}
.city-bench{stroke:#b4a38066;stroke-width:1;fill:#ab947911}.city-contours{fill:none;stroke:#d6b77216;stroke-width:.7}.exchange-columns{stroke:#d6bf9380;stroke-width:2}.building-insignia{stroke:#e3c18b90;stroke-width:1;fill:none}
.atlas-observatory{stroke:#d4b57a66;stroke-width:.8;fill:none;pointer-events:none}.observer-platform{fill:#ac95620a;stroke:#d4b57a55}.observer-platform.inner{stroke-dasharray:2 10}.observer-rise{stroke:#d4b57a25}.observer-orbit{stroke:#f4c78fc2;stroke-width:1.2;animation:observer-breath 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.observer-orbit path{fill:#ffb46309}.observer-axis{stroke:#d4b57a24}.atlas-observatory text{fill:#bea77890;stroke:none;font:8px 'Geist Mono',monospace;letter-spacing:2px}
.building-label{box-shadow:0 8px 24px #0003;background:#13170feb;border-color:#e7c48b30;transition:background .35s,border-color .35s,box-shadow .35s}
.building-label.selected,.building-label.hovered{border-color:#ffc57b88;background:#262519f5;box-shadow:0 0 0 1px #ffb45c09,0 10px 35px #0005}
.building-name{font-family:var(--display);font-weight:500}.building-label:after{background:linear-gradient(#ffb45c80,#ffb45c05);height:22px;bottom:-23px}
.scene-caption{background:none;border:0;backdrop-filter:none;color:#a5aa96;font-family:var(--mono);font-size:9px;letter-spacing:.4px}
.city-controls{background:#151910e8;box-shadow:0 10px 35px #0003}
/* A custom native popover: light dismiss, Escape and keyboard options. */
.currency-picker{position:relative;display:inline-flex;flex-shrink:0}
.currency-trigger{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;color:#d3c8b1;border:1px solid #e5c48630;background:#d4b77708;border-radius:7px;font:10px var(--mono);letter-spacing:.5px;transition:background .2s,border-color .2s}
.currency-trigger>svg{width:10px;height:10px;transform:rotate(90deg);transition:transform .3s var(--motion-ease)}
.currency-trigger:hover,.currency-trigger[aria-expanded=true]{border-color:#e7b46d88;background:#e0b77412;color:#ffd39b}.currency-trigger[aria-expanded=true]>svg{transform:rotate(-90deg)}
.currency-popover{position:fixed;inset:auto;margin:0;padding:10px;width:310px;max-width:calc(100vw - 24px);border:1px solid #daba8255;border-radius:13px;background:#181c13f5;color:#ede6d9;box-shadow:0 22px 75px #0009,0 0 0 4px #d2b68505;backdrop-filter:blur(24px);max-height:calc(100dvh - 24px);overflow:auto;transform-origin:top left}
.currency-popover:popover-open{display:block;animation:currency-arrival .25s var(--motion-ease)}.currency-popover::backdrop{background:transparent}
.currency-caption{font:8px var(--mono);color:#a29981;letter-spacing:.9px;display:flex;justify-content:space-between;gap:10px;padding:10px 9px 15px;border-bottom:1px solid #d4c39a1c;margin-bottom:6px}.currency-caption span{font-size:7px;color:#727c66}
.currency-popover [role=option]{display:flex;align-items:center;gap:12px;width:100%;border-radius:7px;padding:13px 9px;text-align:left;border:1px solid transparent;min-height:61px;background:none}
.currency-popover [role=option]>i{height:31px;width:31px;display:grid;place-items:center;font-style:normal;font-size:16px;background:#b3b99a0c;border:1px solid #daba8226;border-radius:50%;color:#d4c099}
.currency-popover [role=option]>span{flex:1}.currency-popover [role=option] strong{font:450 13px Geist,sans-serif!important;letter-spacing:0;white-space:normal!important;color:#e0e0d2}.currency-popover [role=option] small{display:block;font:9px var(--mono)!important;color:#9a9c84;margin:5px 0 0!important}
.currency-popover [role=option]>b{font:12px var(--mono);color:#ffc783}.currency-popover [aria-selected=true]{background:#f3b45b0c;border-color:#f2b45b2b}.currency-popover [role=option]:hover{background:#f3b45b12}.currency-popover [role=option]:focus-visible{outline:1px solid #ffbc6a;outline-offset:-1px;background:#f3b45b12}
.currency-popover>p{padding:13px 9px 4px;margin:5px 0 0;border-top:1px solid #d4c39a1c;font:10px/1.7 Geist,sans-serif;color:#9fa58f}
/* Words resolve through the scroll; account balances never blur. */
.journey-word{filter:blur(calc((1 - var(--word))*5px));opacity:calc(.12 + var(--word)*.88);transform:translateY(calc((1 - var(--word))*10px));transition:filter .12s linear,opacity .12s linear,transform .12s linear}
.journey-copy h2{font-weight:450;font-size:clamp(34px,3.9vw,62px);letter-spacing:-.06em}.manifesto-content>.journey-reveal{font-size:clamp(45px,6.1vw,96px);font-weight:450;letter-spacing:-.055em;line-height:1.12;max-width:1060px}
.journey-pin{padding-block:85px}.journey-chapter{min-height:170svh}.journey-manifesto{background:radial-gradient(ellipse at 82% 40%,#e7a84c10,transparent 60%)}
.manifesto-content{position:relative;z-index:1}.manifesto-bottom{margin-top:46px}.manifesto-content>.journey-reveal{position:relative;z-index:1}
.data-weave{position:absolute;width:64%;height:80%;right:-18%;top:7%;pointer-events:none;opacity:calc(.06 + var(--draw)*.16);transform:rotate(-12deg) translateY(calc((1 - var(--draw))*45px));z-index:-1}
.data-weave path{stroke:#ffbc70;stroke-width:1;fill:none;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw));vector-effect:non-scaling-stroke}.data-weave circle{stroke:#ffbc7040;stroke-width:.8;fill:none}
.account-wiring .signal-travel{fill:none;stroke:#ffd393;stroke-width:2;stroke-dasharray:9 110;animation:connection-flow 7s linear infinite;opacity:0}.chapter-visible .account-wiring .signal-travel{opacity:var(--draw)}
.account-node{transition:translate .4s var(--motion-ease),border-color .3s,box-shadow .3s,background .3s}.account-node:hover,.account-node:focus-visible{translate:0 -5px;box-shadow:0 18px 45px #0004,0 0 30px #f6ac4210}.account-node:after{content:'';position:absolute;inset:-1px;border:1px solid #ffbd6a80;clip-path:inset(0 100% 98% 0);pointer-events:none;transition:clip-path .5s var(--motion-ease);border-radius:inherit}.account-node:hover:after{clip-path:inset(0)}
.account-sculpture:has(.node-bybit:hover) .node-bybit,.account-sculpture:has(.node-binance:hover) .node-binance,.account-sculpture:has(.node-iol:hover) .node-iol,.account-sculpture:has(.node-fp:hover) .node-fp{color:#ffcc8e}
.journey-index{border-bottom-color:#d0aa6740}.journey-index [aria-current]{box-shadow:inset 0 -1px #e3b471;border-radius:3px}.journey-link>span{transition:transform .45s var(--motion-ease),background .3s}.journey-finale h2{font-family:var(--display);font-weight:450}
.room-title{position:relative}.room-title:after{content:'';display:block;height:1px;width:72px;transform-origin:left;background:linear-gradient(90deg,#fbc781,#fbc78112);animation:section-rule .75s var(--motion-ease) both;margin:13px 0 6px}
.phase-card{transition:background .3s,color .3s}.phase-card:after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#e8b575;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--motion-ease)}.phase-card:hover:after,.phase-card:focus-visible:after{transform:scaleX(1)}
.space-card{position:relative;overflow:hidden}.space-card:after{content:'';position:absolute;inset:auto 17px 0;height:1px;background:linear-gradient(90deg,transparent,#ffbd6d,transparent);transform:scaleX(0);transition:transform .65s var(--motion-ease)}.space-card:hover:after,.space-card:focus-visible:after{transform:scaleX(1)}
@keyframes currency-arrival{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
@keyframes observer-breath{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-5px);opacity:1}}
@keyframes atlas-light{0%,100%{opacity:.35}50%{opacity:.9}}
@keyframes connection-flow{to{stroke-dashoffset:-238}}
@keyframes section-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:761px) and (max-width:1200px){.world-stage{height:max(1010px,112svh)}.journey-copy h2{font-size:37px}}
.journey-chapter:not(.chapter-visible) .signal-travel{animation-play-state:paused}
/* Touch layout keeps readable values outside the architecture. */
@media(max-width:760px){
 .world-stage{height:auto;padding-top:770px}.scene,.scene-vignette{height:770px!important}.city-controls{top:710px}.view-options{top:422px}.world-heading{top:211px}
 .labels{inset:548px 15px auto!important;height:142px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}
 .labels .building-label{position:relative;top:auto;left:auto;min-width:0;width:auto;transform:none!important;visibility:visible;padding:12px;background:#171c12f5;border-color:#d7bc8733;box-shadow:none}
 .labels .building-label:after{display:none}.labels .building-name{font-size:10px}.labels .building-name svg{height:10px;width:10px}.labels .building-values{gap:5px;margin-top:7px}.labels .building-values strong{font-size:14px}.labels .building-values small{display:block;font-size:9px}
 .atlas-watermark{bottom:235px;left:21px;font-size:47px;letter-spacing:-4px;opacity:.65}.atlas-watermark>span{display:none}
 .category-dock .space-card{display:none}.category-dock{min-height:0;padding:20px 16px 24px}.dock-header{margin-bottom:0}.dock-foot{margin-top:6px}
 .main-metric>div{flex-wrap:wrap;row-gap:7px}.currency-trigger{min-height:29px;padding:0 7px;font-size:9px;gap:4px}.currency-trigger svg{width:8px;height:8px}.top-metrics{align-items:center}.currency-popover{border-radius:12px}.currency-popover [role=option]{min-height:64px}.currency-popover [role=option] strong{font-size:13px!important}
 .journey-pin{padding-block:56px}.journey-manifesto{min-height:150svh}.journey-copy h2{font-size:37px}.manifesto-content>.journey-reveal{font-size:clamp(41px,9.3vw,63px)}.data-weave{width:100%;height:90%;right:-35%;top:5%;opacity:calc(.03 + var(--draw)*.1)}.journey-index b{display:none}.account-wiring .signal-travel{stroke-width:1.6}.academy-intro h2{font-size:46px}
 .immersive .world-stage{height:calc(100svh - 68px);padding-top:0}.immersive .scene,.immersive .scene-vignette{height:calc(100svh - 68px)!important}.immersive .labels{top:auto!important;bottom:74px!important;height:142px!important}.immersive .city-controls{top:auto;bottom:16px}.immersive .atlas-watermark{display:none}
}
@media(max-width:360px){
 .main-metric strong{font-size:22px}.metric>span{font-size:8px}.world-heading{top:218px}.world-status{font-size:8px}.journey-copy h2{font-size:32px}.academy-intro h2{font-size:39px}.city-app[data-unit=ARS] .main-metric>div{flex-direction:column;align-items:flex-start}.city-app[data-unit=BTC] .main-metric strong{font-size:19px}
 .labels,.immersive .labels{height:166px!important}.labels .building-values{display:block}.labels .building-values strong{font-size:12px}.labels .building-values small{font-size:8px;margin-top:4px}.labels .building-name{font-size:9px}.world-stage{padding-top:794px}.scene,.scene-vignette{height:794px!important}.city-controls{top:734px}
}
html[data-interface-motion=off] .observer-orbit,html[data-interface-motion=off] .atlas-lamp circle,html[data-interface-motion=off] .signal-travel,html[data-interface-motion=off] .room-title:after{animation:none!important}
html[data-interface-motion=off] .journey-word,.journey[data-motion=off] .journey-word{filter:none;transition:none;transform:none;opacity:1}
html[data-interface-motion=off] .currency-popover,html[data-interface-motion=off] .account-node,html[data-interface-motion=off] .phase-card:after{animation:none!important;transition:none!important}
html[data-page-hidden=true] .signal-travel{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.journey-word{filter:none!important;transform:none!important;opacity:1!important;transition:none!important}.data-weave{transform:none}.data-weave path{stroke-dashoffset:0}.room-title:after,.observer-orbit,.atlas-lamp circle,.signal-travel,.currency-popover{animation:none!important}.account-node:hover,.account-node:focus-visible{translate:0}}

/* 0.18 / an inhabited city and a calmer reading rhythm. */
.city-garden{pointer-events:none}.park-island{fill:#82965309;stroke:#b3b49145;stroke-width:.8}.park-border{fill:none;stroke:#c2af7133;stroke-dasharray:2 6}.park-path{stroke:#d6bf8555;stroke-width:2;fill:none}
.garden-tree{stroke:#c1c49c8c;stroke-width:.8;fill:#747e3821}.tree-trunk{stroke:#b5a78180;stroke-width:1.1}.tree-canopy{transform-box:fill-box;transform-origin:50% 100%;animation:tree-breeze 10s ease-in-out infinite;animation-delay:var(--delay)}.tree-rib{stroke:#e0d6a841;fill:none}.tree-ground{fill:#a7b5720c;stroke:#a7b57222}.garden-shrub{fill:#8d9b5020;stroke:#b5bc8370;stroke-width:.75}.garden-shrub ellipse{stroke:#adba6320;fill:#8893530a}
.garden-bench{fill:none;stroke:#d2b98d88;stroke-width:1.1}.bench-seat{fill:#a6874933;stroke:#bfb18b88}.street-lamp{fill:none;stroke:#c8b58588;stroke-width:1}.lamp-cap{fill:#f6c2743d;stroke:#ffce91aa}.lamp-bulb{fill:#ffe3b0;stroke:none;filter:drop-shadow(0 0 3px #ffb95488)}.lamp-pool{fill:#f8b95609;stroke:none;animation:street-glow 9s ease-in-out infinite;animation-delay:var(--delay)}
.atlas-fountain{pointer-events:none;fill:none;stroke:#c3b68877;stroke-width:.9}.fountain-plinth{fill:#25281b;stroke:#b9a57166}.fountain-rim{fill:#3b3a2517;stroke:#e4c38b88}.basin-wall{fill:#292e20;stroke:#acb29888}.fountain-water{fill:#d4d9be12;stroke:#d0d2b379}.fountain-pedestal{fill:#4c503c;stroke:#e6d7b788}.fountain-bowl{fill:#81785630;stroke:#efd0a091}.fountain-axis{stroke:#beab7344}.water-jet{stroke:#efe7cbcc;stroke-width:1.1;stroke-dasharray:3 8;animation:fountain-flow 3.8s linear infinite}.water-jet.fine{stroke:#dfc88a75;stroke-width:.7;animation-duration:4.7s}.water-ripple{stroke:#ece0be7d;stroke-width:.8;transform-box:fill-box;transform-origin:center;animation:fountain-ripple 4.8s linear infinite;animation-delay:var(--delay)}.water-drops circle{fill:#ffdda4;stroke:none;animation:fountain-drop 2.6s ease-out infinite;animation-delay:var(--delay)}
@keyframes tree-breeze{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.4deg)}}
@keyframes street-glow{0%,100%{opacity:.4}50%{opacity:.9}}
@keyframes fountain-flow{to{stroke-dashoffset:-88}}
@keyframes fountain-ripple{0%{transform:scale(.14);opacity:.65}85%{opacity:.12}100%{transform:scale(1);opacity:0}}
@keyframes fountain-drop{0%{transform:translateY(0);opacity:0}20%{opacity:.8}70%{transform:translateY(-41px);opacity:.4}100%{transform:translateY(-43px);opacity:0}}
.account-scope{display:flex;align-items:center;gap:14px;margin:16px 0 26px}.account-scope>span{font:11px Geist,sans-serif;color:#989e8a}.account-trigger{min-height:46px;font:12px Geist,sans-serif;gap:12px;padding:6px 12px;border-color:#e7c48b3b;border-radius:9px;text-align:left;max-width:100%}.account-trigger>i{font:10px var(--mono);font-style:normal;border:1px solid #dcbb7233;border-radius:5px;display:grid;place-items:center;width:26px;height:26px;flex:none;color:#ebc88f;background:#e8b55706}.account-trigger>span{flex:1;min-width:0}.account-trigger>svg{width:12px;height:12px;flex:none}.account-popover [role=option]>i{font:10px var(--mono);border-radius:6px}.account-popover [role=option]{min-height:68px}.account-popover [role=option] strong{line-height:1.5}.account-popover [role=option] small{font-variant-numeric:tabular-nums}
.journey-index{gap:10px}.journey-index>b{flex:none}.journey-index>button{white-space:nowrap}.journey-index>span{letter-spacing:.7px}.journey-index b{font-size:10px}
.journey-chapter[data-chapter-section="3"]{background:radial-gradient(ellipse at 74% 55%,#e6a25309,transparent 58%)}
.story-intro{font:16px/1.8 Geist,sans-serif;color:#adb29e;max-width:365px;margin:0 0 32px}.lens-tabs{display:grid;gap:0;border-top:1px solid #c4b69429;max-width:350px}.lens-tabs>button{position:relative;display:flex;gap:16px;align-items:center;text-align:left;padding:20px 0;border-bottom:1px solid #c4b69429;font:17px var(--display);color:#828875;transition:color .25s,padding .35s}.lens-tabs>button>span{font:9px var(--mono);color:#6d765f}.lens-tabs>button>svg{width:15px;height:15px;margin-left:auto;opacity:0;transform:translateX(-7px);transition:opacity .35s,transform .35s}.lens-tabs>button:before{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#ebbc7b;transform:scaleX(0);transform-origin:left;transition:transform .5s}.lens-tabs>button[aria-selected=true]{color:#f5c487;padding-inline:12px}.lens-tabs>button[aria-selected=true]>span{color:#e8ba78}.lens-tabs>button[aria-selected=true]>svg{opacity:1;transform:none}.lens-tabs>button[aria-selected=true]:before{transform:scaleX(1)}.lens-tabs>button:hover{color:#eddec3}
.lens-console{position:relative;padding:25px 30px 30px;border:1px solid #ccb58c40;border-radius:14px;background:radial-gradient(ellipse at 80% 15%,#ffb85a06,transparent 75%),#13170f;box-shadow:0 25px 80px #0003;width:100%;min-height:500px;overflow:hidden}
.lens-console:before,.lens-console:after{position:absolute;content:'+';font:16px var(--mono);color:#d6b37666;top:8px;left:10px;pointer-events:none}.lens-console:after{top:auto;left:auto;bottom:8px;right:10px}
.lens-console-head{display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:1px;color:#94977e;border-bottom:1px solid #d6c19920;padding:5px 0 20px;margin-bottom:32px}.lens-console-head>i{width:4px;height:4px;border-radius:50%;background:#c5aa7c;margin-left:auto}
.lens-console [role=tabpanel]{animation:lens-arrive .55s cubic-bezier(.2,.8,.2,1) both;outline-offset:6px}.lens-console [role=tabpanel][hidden]{display:none}.lens-caption{font:9px var(--mono);letter-spacing:1px;color:#929a7f;display:block;margin-bottom:18px}.lens-value{display:block;font:450 clamp(28px,3.2vw,48px)/1.12 Geist,sans-serif;letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.lens-console p{font:13px/1.75 Geist,sans-serif;max-width:300px;color:#a0a791;margin-top:16px}.lens-sum{display:flex;gap:11px;align-items:center;justify-content:center;font:9px var(--mono);color:#afa98e;margin:28px -10px 0;flex-wrap:wrap}.lens-sum i{font-style:normal;color:#edbc77}.lens-balance-art{max-width:430px;height:150px;margin:-3px auto 12px}.lens-balance-art svg{width:100%;height:100%;stroke:#c8b77e6b;fill:none;stroke-width:1}.lens-balance-art circle{fill:#e1b477;stroke:none}.lens-wire{stroke:#ffbc6c;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}.lens-wire.second{stroke:#edc18a99}
.lens-footnote{display:block;font:10px/1.65 Geist,sans-serif;color:#939b83;border-top:1px solid #ccb58c22;padding-top:15px;margin-top:20px}.lens-return{display:flex;gap:10px;align-items:center;color:#9ab997;font:15px Geist,sans-serif;margin-top:12px}.lens-return small{font-size:10px;color:#858e76}.lens-result-chart{width:100%;height:148px;margin-top:16px;fill:none;overflow:visible}.lens-grid{stroke:#c6bc981a;stroke-width:.7;stroke-dasharray:3 7}.lens-line{stroke:#edbd7a;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:lens-trace 1.3s cubic-bezier(.2,.8,.2,1) both}.lens-equation{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:#8e997e;gap:12px}.lens-equation span{min-width:0}.lens-equation b{display:block;font:12px Geist,sans-serif;color:#d7d9c5;margin-top:8px}.lens-equation svg{width:14px;height:14px;color:#a18c69}.lens-chart-hidden{height:148px;display:grid;place-items:center;color:#929a7f;font:11px var(--mono)}
.lens-console h3{font:450 32px/1.13 var(--display);letter-spacing:-1.4px;margin:0 0 25px}.lens-category{margin-top:17px}.lens-category>div{display:flex;justify-content:space-between;gap:8px;font:12px Geist,sans-serif}.lens-category strong{font-weight:450;color:#c9b899}.lens-category>i{height:3px;background:#c9b99113;display:block;margin:10px 0 6px;overflow:hidden}.lens-category b{height:3px;width:var(--portion);display:block;background:var(--lane);transform-origin:left;animation:section-rule 1s cubic-bezier(.2,.8,.2,1) both}.lens-category>small{font:9px var(--mono);color:#929a7f}
@keyframes lens-arrive{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes lens-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.journey-answers{min-height:0!important;padding:120px clamp(32px,5vw,86px) 110px;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(45px,5vw,90px);background:radial-gradient(ellipse at 5% 55%,#d6a34b07,transparent 48%)}.answers-intro{align-self:start;position:sticky;top:110px}.answers-intro h2{font:450 clamp(34px,3.5vw,56px)/1.12 var(--display);letter-spacing:-.055em;margin:0 0 26px}.answers-intro>p{font:14px/1.8 Geist,sans-serif;color:#a0a892;max-width:320px}.clarity-stamp{display:flex;align-items:center;gap:25px;margin:38px 0 18px}.clarity-stamp svg{width:115px;height:115px;stroke:#dec69855;stroke-width:1;fill:none}.clarity-trace{stroke:#edbb73b8;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}.clarity-stamp>span{font:8px/2 var(--mono);letter-spacing:1.1px;color:#8b927a}.answers-intro .journey-link svg{width:16px;height:16px;margin-left:20px}
.faq-list{border-top:1px solid #cbb89132;min-width:0}.faq-item{border-bottom:1px solid #cbb89132}.faq-item>summary{list-style:none;display:flex;gap:15px;align-items:center;cursor:pointer;padding:26px 0;min-height:90px}.faq-item summary::-webkit-details-marker{display:none}.faq-number{font:8px var(--mono);color:#777f69;align-self:flex-start;line-height:1.9;min-width:18px}.faq-item h3{font:450 17px/1.5 var(--display);color:#d6d8c8;margin:0;transition:color .25s;letter-spacing:-.35px}.faq-item summary>i{margin-left:auto;display:grid;place-items:center;min-width:27px;height:27px;border:1px solid #c1ae7d25;border-radius:50%;color:#ccb085;transition:transform .35s,border-color .35s}.faq-item summary svg{width:13px;height:13px}.faq-item[open] summary>i{transform:rotate(45deg);border-color:#edbd7b70}.faq-item[open] h3,.faq-item summary:hover h3{color:#f2c485}.faq-answer{padding:0 38px 25px 33px;animation:lens-arrive .4s ease-out}.faq-answer>p{font:13px/1.9 Geist,sans-serif;color:#a2ab93;margin:0}.faq-item:focus-within{outline-color:#f6c582}.faq-end{display:flex;align-items:flex-start;gap:12px;padding:30px 0}.faq-end .status-dot{margin-top:6px;flex:none}.faq-end p{font:10px/1.8 Geist,sans-serif;color:#929a7f;margin:0;flex:1}.faq-end button{display:flex;align-items:center;gap:8px;color:#ecc58c;font:10px Geist,sans-serif;padding:5px 0;min-height:40px;white-space:nowrap}.faq-end svg{width:12px;height:12px}
@media(min-width:761px) and (max-width:1200px){.journey-index b{display:none}.lens-console{padding:24px 20px;min-height:485px}.journey-understand .journey-split{gap:35px}.lens-value{font-size:34px}.lens-sum{gap:7px;font-size:8px}.journey-answers{gap:35px}.answers-intro h2{font-size:37px}.faq-item h3{font-size:15px}.faq-answer{padding-right:10px}.faq-end{flex-wrap:wrap}.faq-end button{margin-left:17px}}
@media(max-width:760px){
 .view-options{top:356px}.account-scope{align-items:flex-start;flex-direction:column;gap:9px}.account-trigger{width:100%;font-size:12px;min-height:46px}.account-popover [role=option]{min-height:64px}
 .journey-index{gap:4px;padding-inline:16px}.journey-index>span{display:none}.journey-index>button{min-width:33px;min-height:44px;justify-content:center;padding:5px 7px;flex:1}.journey-index .journey-back{margin-left:4px;flex:0 0 32px}
 .journey-understand{min-height:0!important}.journey-understand .journey-pin{position:relative;top:0;min-height:0;padding:80px 21px;gap:35px}.lens-tabs{max-width:none;grid-template-columns:repeat(3,1fr)}.lens-tabs>button{font:11px Geist,sans-serif;padding:18px 3px;justify-content:center;gap:6px}.lens-tabs>button[aria-selected=true]{padding:18px 3px}.lens-tabs>button>svg{display:none}.lens-tabs>button>span{font-size:7px}.lens-console{padding:22px;min-height:490px}.lens-value{font-size:38px}.story-intro{font-size:14px;max-width:none}.lens-console-head{font-size:7px}.lens-sum{font-size:9px}.lens-footnote{font-size:10px}
 .journey-answers{display:block;padding:65px 21px 60px}.answers-intro{position:static;margin-bottom:35px}.answers-intro h2{font-size:40px}.answers-intro>p{font-size:13px}.clarity-stamp{margin:25px 0 5px;gap:22px}.clarity-stamp svg{width:90px;height:90px}.answers-intro .journey-link{margin-top:8px}.faq-item summary{padding:23px 0;min-height:80px;gap:10px}.faq-item h3{font-size:15px}.faq-number{min-width:16px}.faq-answer{padding:0 10px 25px 26px}.faq-answer>p{font-size:12px}.faq-end{flex-wrap:wrap}.faq-end p{min-width:200px}.faq-end button{margin-left:17px}
}
@media(max-width:360px){.lens-console{padding:22px 17px}.lens-value{font-size:32px}.lens-tabs>button{font-size:10px}.answers-intro h2{font-size:35px}.journey-index{padding-inline:10px;gap:2px}.journey-index>button{min-width:30px}}
html[data-interface-motion=off] .city-garden *,html[data-interface-motion=off] .atlas-fountain *,html[data-interface-motion=off] .lens-console *,html[data-interface-motion=off] .faq-answer{animation:none!important}
html[data-interface-motion=off] .lens-tabs>button,html[data-interface-motion=off] .lens-tabs>button:before{transition:none}
html[data-page-hidden=true] .city-garden *,html[data-page-hidden=true] .atlas-fountain *{animation-play-state:paused!important}
.journey-understand:not(.chapter-visible) .lens-console *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.city-garden *,.atlas-fountain *,.lens-console *,.faq-answer{animation:none!important}.lens-tabs>button,.lens-tabs>button:before,.faq-item summary>i{transition:none}.clarity-trace,.lens-wire{stroke-dashoffset:0}}

/* 0.19 / a continuous landscape, stable text rendering, clear wayfinding. */
/* Text-shadow resolves the words without animated filter layers, which could
   produce colored raster artifacts on some GPU/browser combinations. */
.journey-word{filter:none!important;color:transparent;--reveal-ink:#eeeee4;text-shadow:0 0 calc((1 - var(--word))*5px) var(--reveal-ink);opacity:calc(.16 + var(--word)*.84);transform:none;transition:text-shadow .12s linear,opacity .12s linear}
.journey-word.accent{color:transparent;--reveal-ink:#ffb85e}
html[data-interface-motion=off] .journey-word,.journey[data-motion=off] .journey-word{color:var(--reveal-ink);text-shadow:none;opacity:1}
.city-landscape,.city-river,.river-bridge{pointer-events:none;fill:none}
.island-base{fill:#171b12;stroke:none}.island-rim,.island-skirt,.atlas-grid,.city-contours,.atlas-survey{display:none}
.mountain-range{stroke:#b7ae7c30;stroke-width:.8;fill:#b6ab6104}.mountain-range path+path{fill:none;stroke:#c3b98124}.terrain-contours{stroke:#aeac701c;stroke-width:.8}.outer-forest{opacity:.5}
.river-verge{stroke:#8797750b;stroke-width:81}.river-bank{stroke:#abae7747;stroke-width:55}.river-bed{stroke:#212d22;stroke-width:52}
.river-flow{stroke:#dbd2a659;stroke-width:.8;stroke-dasharray:15 170;animation:river-current 24s linear infinite;fill:none}.river-flow.secondary{stroke:#a8ba944f;stroke-width:1.3;stroke-dasharray:8 92;animation:river-underflow 29s linear infinite;transform:translateY(9px)}
.river-ripples{stroke:#e2d7b443;stroke-width:.8;animation:river-shimmer 8s ease-in-out infinite}
.river-fish{fill:#f0cc92;stroke:none}.fish-leap{opacity:0;animation:fish-leap 18s linear infinite}.fish-splash{fill:none;stroke:#dacda378;stroke-width:.7;opacity:0;transform-box:fill-box;transform-origin:center;animation:fish-splash 18s linear infinite}.river-fish.second .fish-leap,.river-fish.second .fish-splash{animation-delay:-9s;animation-duration:24s}
.bridge-shadow{fill:#03090070;stroke:none}.bridge-deck{fill:#333628;stroke:#c8b9909c;stroke-width:1}.bridge-rail{stroke:#e1bd87b3;stroke-width:1.2}.bridge-planks{stroke:#d1bd854f;stroke-width:.75}
.park-island{fill:#3e4a251f;stroke:#b5b78c59;stroke-width:.85}.park-border{stroke:#b2b98145;stroke-dasharray:none}.park-path{stroke:#c0b58255;stroke-width:3}.park-flowers{stroke:#a7b48b88;stroke-width:.6;fill:#e8bb7599}.park-flowers>g{stroke:none;transform-box:fill-box;transform-origin:bottom;animation:tree-breeze 9s ease-in-out infinite}.park-table{fill:#b0935230;stroke:#c7b48c88;stroke-width:.85}
.atlas-connections .travel{stroke-dasharray:8 360;animation:avenue-current 32s linear infinite;stroke:#ffc887;stroke-width:1.4}
@keyframes avenue-current{to{stroke-dashoffset:-736}}
@keyframes river-current{to{stroke-dashoffset:-370}}
@keyframes river-underflow{to{stroke-dashoffset:-300}}
@keyframes river-shimmer{0%,100%{opacity:.45}50%{opacity:.85}}
@keyframes fish-leap{0%,82%,89%,100%{opacity:0;transform:translate(0,0) rotate(-15deg)}83%{opacity:.7;transform:translate(0,0) rotate(-25deg)}85%{opacity:.9;transform:translate(7px,-17px) rotate(4deg)}88%{opacity:0;transform:translate(18px,0) rotate(28deg)}}
@keyframes fish-splash{0%,88%,96%,100%{opacity:0;transform:translateX(18px) scale(.25)}89%{opacity:.6;transform:translateX(18px) scale(.25)}95%{opacity:0;transform:translateX(18px) scale(1.3)}}
/* Always-visible local names associate a building with its matching account card. */
.district-markers{position:absolute;inset:0;pointer-events:none;z-index:3}
.district-marker{position:absolute;transform:translate(-50%,0);display:flex;align-items:center;gap:6px;padding:5px 8px;min-height:27px;border:1px solid #d0b97e38;background:#171d13e8;border-radius:5px;color:#cbc9ad;white-space:nowrap;font:9px var(--display);pointer-events:auto;transition:border-color .3s,background .3s,box-shadow .3s,color .3s}
.district-marker>span{font:7px var(--mono);color:#d0ac72;opacity:.75}.district-marker.is-hovered,.district-marker.is-selected,.district-marker:focus-visible{background:#423821;border-color:#ffc57c;color:#ffddb0;box-shadow:0 0 0 3px #f1b15d15}
.building-label .building-name .district-number{display:grid;place-items:center;background:#d7b77910!important;border:1px solid #d8bb8245;width:21px;height:21px;border-radius:5px;font:8px var(--mono);font-style:normal;color:#d8bd8c;box-shadow:none}
.labels .building-label.selected,.labels .building-label.hovered{background:#37301ff5;border-color:#ffc77b;box-shadow:0 0 0 2px #edbc7530,0 12px 28px #0004}
.labels .building-label.selected .building-name,.labels .building-label.hovered .building-name{color:#ffdbad}.labels .building-label.selected .district-number,.labels .building-label.hovered .district-number{background:#ffb75b!important;color:#211b0d;border-color:#ffd79b}
.data-weave{opacity:calc(.09 + var(--draw)*.19);transform:rotate(calc(-20deg + var(--chapter)*35deg));transition:transform .12s linear;right:-12%;width:65%;height:95%;top:-10%;z-index:-1}
.weave-strands{transform-origin:330px 260px;transition:transform 1.3s var(--motion-ease),opacity 1.3s}
.weave-rings{transform-origin:330px 260px;transform:rotate(calc(var(--chapter)*65deg));transition:transform .12s linear}
.data-weave .weave-rings>*{stroke:#f1c380;stroke-width:.8;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw));opacity:.4;transition:opacity 1.2s}
[data-weave=orbit] .weave-strands{transform:scale(.35) rotate(90deg);opacity:.13}[data-weave=orbit] .weave-rings>*{opacity:1}
.weave-control{display:flex;flex-direction:column;align-items:flex-end;gap:22px}.weave-control>button{display:flex;align-items:center;gap:9px;color:#d9bc90;font:10px var(--display);border-bottom:1px solid #c9ac703b;padding:9px 0;min-height:40px}.weave-control>button>svg{width:13px;height:13px;transition:transform .8s var(--motion-ease)}.weave-control>button:hover>svg{transform:rotate(140deg)}.weave-control>button>span{font:7px var(--mono);color:#818c71;margin-left:10px}
/* Native details semantics with cancellable measured-height transitions. */
.faq-answer{animation:none}.faq-item[open] summary>i{transform:none}.faq-item[data-expanded=true] summary>i{transform:rotate(45deg)}
.faq-answer p>span{display:inline-block;animation:answer-resolve .7s ease-out both;animation-delay:calc(min(var(--word-order),30)*12ms)}
.faq-item[data-expanded=false] .faq-answer{opacity:0;transition:opacity .2s}
@keyframes answer-resolve{from{opacity:0;color:transparent;text-shadow:0 0 4px #a2ab93;transform:translateY(4px)}to{opacity:1;color:#a2ab93;text-shadow:0 0 0 #a2ab93;transform:none}}
@media(min-width:761px) and (max-width:1100px){
 .labels{inset:auto 18px calc(var(--dock) + 71px)!important;height:70px!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible}
 .labels .building-label{position:relative;left:auto;top:auto;width:auto;min-width:0;transform:none!important;visibility:visible;padding:9px}
 .labels .building-label:after{display:none}.labels .building-name{font-size:9px;gap:4px}.labels .building-name svg{display:none}.labels .building-values{display:block;margin-top:6px}.labels .building-values strong{font-size:13px}.labels .building-values small{font-size:9px;margin-left:6px}.labels .building-name .district-number{width:17px;height:17px;font-size:7px}
 .immersive .labels{bottom:73px!important}
}
@media(max-width:760px){
 .district-marker{font-size:9px;padding:5px 7px;gap:4px;min-height:29px}.district-marker>span{font-size:7px}
 .labels .building-name{font-size:11px;gap:7px}.labels .building-name .district-number{width:20px;height:20px;font-size:8px}.labels .building-name svg{width:10px;height:10px}.labels .building-label{padding:10px}.labels .building-values{margin-top:6px}
 .weave-control{align-items:flex-start;gap:9px;margin-top:22px}.weave-control .journey-scroll{margin-top:0}.data-weave{right:-34%;width:110%;top:-1%;height:90%}.outer-forest{opacity:.38}
}
@media(max-width:360px){.district-marker{font-size:8px;gap:3px;padding:5px}.labels .building-name{font-size:10px}.labels .building-name svg{display:none}}
html[data-interface-motion=off] .city-river *,html[data-interface-motion=off] .city-landscape *,html[data-interface-motion=off] .park-flowers *,html[data-interface-motion=off] .faq-answer p>span{animation:none!important}
html[data-page-hidden=true] .city-river *,html[data-page-hidden=true] .city-landscape *,.scene[data-motion=off] .city-river *,.scene[data-motion=off] .city-landscape *{animation-play-state:paused!important}
.journey-manifesto:not(.chapter-visible) .data-weave *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.city-river *,.city-landscape *,.park-flowers *,.faq-answer p>span{animation:none!important}.journey-word{color:var(--reveal-ink);text-shadow:none;opacity:1}.data-weave,.data-weave *,.weave-control>button>svg{transition:none!important}.district-marker{transition:none}}
@media(min-width:1101px){.district-markers{display:none}}
@media(min-width:761px) and (max-width:1100px){.labels .building-name{font-size:10px}.labels .building-values strong{font-size:14px}}
@media(max-width:760px){.city-controls{bottom:auto;height:auto;min-height:47px;align-items:center}.immersive .city-controls{top:auto;bottom:16px}}
@media(max-width:360px){.world-stage{padding-top:690px}.scene,.scene-vignette{height:690px!important}.labels{top:447px!important;height:156px!important}.city-controls{top:617px}.atlas-watermark{bottom:235px}.immersive .labels{top:auto!important}}
@media(max-width:360px){.labels{grid-template-rows:repeat(2,minmax(0,1fr))}.labels .building-label{padding:8px;min-height:0}.labels .building-name{line-height:20px}.labels .building-values{margin-top:4px}.labels .building-values strong{line-height:1.3}.labels .building-values small{line-height:1.3;margin-top:3px}}

/* 0.20 / an inhabited landscape, without people or visual clutter. */
.city-dawn{pointer-events:none}.dawn-drift{animation:dawn-drift 90s ease-in-out infinite;transform-origin:1127px 239px}.dawn-aura{fill:url(#dawn-glow);stroke:none;animation:dawn-breath 28s ease-in-out infinite}.dawn-disc{fill:#efb46506;stroke:#e9bc7780;stroke-width:.9}.dawn-orbit{fill:none;stroke:#d8b57c28;stroke-width:.6;stroke-dasharray:2 13}.dawn-latitudes{stroke:#deb67b25;stroke-width:.65}.dawn-rays{stroke:#d7b27642;stroke-width:.7}
@keyframes dawn-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-9px)}}
@keyframes dawn-breath{0%,100%{opacity:.6}50%{opacity:1}}
.park-island{fill:#8596630b;stroke:#b4b58a50;stroke-width:.8}.park-border{stroke:#afb88c33;stroke-width:.65}.park-path,.garden-approach{fill:none;stroke:#d1c79c57;stroke-width:2.2;stroke-linecap:round}.garden-approach{stroke:#c4b98243;stroke-width:1.6}
.riverside-walk{pointer-events:none;fill:none}.promenade-under{stroke:#92976608;stroke-width:10}.promenade{stroke:#adab7b38;stroke-width:1;stroke-dasharray:1 5}.lookout-access{stroke:#b4af7e40;stroke-width:1.1}.lookout-deck{fill:#a9a2760a;stroke:#c9b28b66;stroke-width:.9}.lookout-edge{stroke:#bfad8036;stroke-width:.7}.lookout-rail{stroke:#c7b78e60;stroke-width:.9}.lookout-mark{stroke:#dcc09166;stroke-width:.8}.telescope{stroke:#e0c490c7;stroke-width:1;fill:none}.telescope-tripod{stroke:#cbb68595}.telescope-tube>path:first-child{fill:#d5b27814}.telescope-tube>ellipse{fill:#191f14;stroke:#f0c989ba}.telescope-tube{transform-origin:0 -22px;animation:telescope-survey 42s ease-in-out infinite}
@keyframes telescope-survey{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(4deg)}}
.clarity-stamp svg{width:137px;height:137px;overflow:visible}.clarity-astrolabe{fill:none;stroke:#d2ba8450;stroke-width:.7;transform-origin:120px 120px;transform:rotate(calc((1 - var(--draw))*-36deg))}.clarity-astrolabe>circle,.clarity-astrolabe>ellipse{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}.clarity-astrolabe>ellipse{stroke:#d4bc7a38}.clarity-satellite{transform-origin:120px 120px;animation:clarity-orbit 35s linear infinite}.clarity-satellite>circle{fill:#f3c484;stroke:none;opacity:var(--draw)}
@keyframes clarity-orbit{to{transform:rotate(360deg)}}
.journey-answers:not(.chapter-visible) .clarity-satellite{animation-play-state:paused}
html[data-interface-motion=off] .dawn-drift,html[data-interface-motion=off] .dawn-aura,html[data-interface-motion=off] .telescope-tube,html[data-interface-motion=off] .clarity-satellite{animation:none!important}
html[data-page-hidden=true] .telescope-tube,html[data-page-hidden=true] .clarity-satellite,.scene[data-motion=off] .telescope-tube{animation-play-state:paused!important}
@media(max-width:760px){.clarity-stamp svg{width:112px;height:112px}.dawn-rays{opacity:.6}}
@media(prefers-reduced-motion:reduce){.dawn-drift,.dawn-aura,.telescope-tube,.clarity-satellite{animation:none!important}.clarity-astrolabe{transform:none}.clarity-astrolabe>circle,.clarity-astrolabe>ellipse{stroke-dashoffset:0}}

/* 0.21 — Quiet plaza and a single, geometrically aligned river crossing. */
.atlas-avenues,.atlas-connections{stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.avenue-outline{stroke:#bfa97059;stroke-width:21;fill:none}
.avenue-surface{stroke:#202419;stroke-width:18.5;fill:none}
.district-walks{pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
.walk-border{stroke:#bfb68a63;stroke-width:7.5}
.walk-surface{stroke:#363c2b;stroke-width:5.8}
.entrance-pavers{stroke:#e4c99991;stroke-width:.85}
.building-door{fill:#f4c78412;stroke:#eed3a99c;stroke-width:.9}
.atlas-connections>path:not(.travel){stroke:#c4a46724;stroke-width:.7}
.bridge-deck{fill:#343728;stroke:#cbbb939c;stroke-width:.9;stroke-linejoin:round}
.bridge-rail{fill:none;stroke:#e1c396a8;stroke-width:1;stroke-linejoin:round;stroke-linecap:round}
.bridge-rail.far{stroke:#c8b7897a}.bridge-planks{stroke:#cab58a38;stroke-width:.7}
.pocket-park .park-island{fill:#85966308;stroke:none}
.pocket-park .park-border{stroke:#b7b18c4f;stroke-width:.8;fill:none}
.pocket-park .garden-approach{stroke:#c5b88750;stroke-width:1.3;stroke-linecap:round}
.garden-bench{stroke-width:.9;stroke-linejoin:round;stroke-linecap:round}
.bench-back{fill:#25291b;stroke:#c7b68b8c}.bench-seat{fill:#504a31;stroke:#c9b58c99}
.bench-slat{fill:none;stroke:#d2bd9266;stroke-width:.6}.bench-feet{stroke:#c4b28a8a}
.lookout-deck{fill:#1b2016;stroke:#b9aa8059}.lookout-edge{fill:none;stroke:#a69b7038}
.lookout-rail{stroke:#c9b88d75;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}

/* 0.23 — A brief arrival, warm daylight and quiet life in the existing atlas. */
.vector-scene[data-dim=true]{background:radial-gradient(ellipse at 56% 62%,#342b1c 0,#1c1d14 30%,#0f120d 69%)}
.vector-scene[data-dim=true] .atlas-ground{opacity:1}
.vector-scene[data-dim=false]{background:radial-gradient(ellipse at 67% 33%,#574529 0,#2d301f 39%,#191f15 78%)}
.vector-scene .island-base,.vector-scene .dawn-disc,.vector-scene .dawn-rays,.vector-scene .dawn-latitudes,.vector-scene .river-bed{transition:fill .75s ease,stroke .75s ease}
.vector-scene[data-dim=false] .island-base{fill:#252b1c}
.vector-scene[data-dim=false] .face-left{fill:#303728;stroke:#cabb9294}
.vector-scene[data-dim=false] .face-right{fill:#242d20;stroke:#c2b58b8a}
.vector-scene[data-dim=false] .face-top{fill:#515b3d;stroke:#ded09bab}
.vector-scene[data-dim=false] .floor .face-left{fill:#474c35}
.vector-scene[data-dim=false] .floor .face-right{fill:#353f2a}
.vector-scene[data-dim=false] .floor .face-top{fill:#5c6244}
.vector-scene[data-dim=false] .crown .face-top{fill:#786b45}
.vector-scene[data-dim=false] .crown .face-left{fill:#51482e}
.vector-scene[data-dim=false] .atlas-building:is(:hover,.is-hovered,.is-selected) .face-top{fill:#867348;stroke:#ffd08da8}
.vector-scene[data-dim=false] .dawn-disc{fill:#efb46514;stroke:#f5c779b5}
.vector-scene[data-dim=false] .dawn-rays{stroke:#eac17b85}
.vector-scene[data-dim=false] .dawn-latitudes{stroke:#eac17b4d}
.vector-scene[data-dim=false] .river-bed{stroke:#2a3829}
.atlas-sun-control{cursor:pointer;outline:none}
.atlas-sun-target{fill:transparent;stroke:none;pointer-events:all}
.atlas-sun-focus{fill:none;stroke:#efc480;stroke-width:1.2;stroke-dasharray:3 8;opacity:0;pointer-events:none;transition:opacity .25s ease}
.atlas-sun-control:hover .atlas-sun-focus{opacity:.55}
.atlas-sun-control:focus-visible .atlas-sun-focus{opacity:1;stroke:#ffe0ac;stroke-width:2;stroke-dasharray:none}
.atlas-birds{fill:none;stroke:#dfc79c9c;stroke-width:1;pointer-events:none}
.atlas-flock{animation:atlas-birds-drift 31s ease-in-out infinite}
.atlas-bird-wings{transform-box:fill-box;transform-origin:50% 50%;animation:atlas-bird-wings 3.4s ease-in-out infinite;animation-delay:var(--wing-delay)}
.atlas-grass{fill:none;stroke:#b0b5876b;stroke-width:.7;pointer-events:none}
.atlas-grass-blades{transform-box:fill-box;transform-origin:50% 100%;animation:atlas-grass-breeze 8.5s ease-in-out infinite;animation-delay:var(--breeze-delay)}
@keyframes atlas-birds-drift{0%,100%{transform:translate(-16px,2px)}50%{transform:translate(20px,-4px)}}
@keyframes atlas-bird-wings{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1)}}
@keyframes atlas-grass-breeze{0%,100%{transform:skewX(-3deg)}50%{transform:skewX(4deg)}}
.vector-scene[data-motion=off] .atlas-flock,.vector-scene[data-motion=off] .atlas-bird-wings,.vector-scene[data-motion=off] .atlas-grass-blades,html[data-page-hidden=true] .atlas-flock,html[data-page-hidden=true] .atlas-bird-wings,html[data-page-hidden=true] .atlas-grass-blades{animation-play-state:paused!important}
html[data-interface-motion=off] .atlas-flock,html[data-interface-motion=off] .atlas-bird-wings,html[data-interface-motion=off] .atlas-grass-blades{animation:none!important}
.vector-scene[data-motion=off] .island-base,.vector-scene[data-motion=off] .dawn-disc,.vector-scene[data-motion=off] .dawn-rays,.vector-scene[data-motion=off] .dawn-latitudes,.vector-scene[data-motion=off] .river-bed,.vector-scene[data-motion=off] .face-left,.vector-scene[data-motion=off] .face-right,.vector-scene[data-motion=off] .face-top,.vector-scene[data-motion=off] .atlas-sun-focus{transition:none!important}
@media(prefers-reduced-motion:reduce){.atlas-flock,.atlas-bird-wings,.atlas-grass-blades{animation:none!important}}

/* The sun rises a little in daylight; the accessible hit area travels with it. */
.vector-scene .dawn-drift{translate:0 0;transition:translate 1.1s cubic-bezier(.22,.7,.25,1)}
.vector-scene .atlas-sun-control{transform:translateY(0);transition:transform 1.1s cubic-bezier(.22,.7,.25,1)}
.vector-scene[data-dim=false] .dawn-drift{translate:0 -24px}
.vector-scene[data-dim=false] .atlas-sun-control{transform:translateY(-24px)}
.vector-scene[data-motion=off] .dawn-drift,.vector-scene[data-motion=off] .atlas-sun-control{transition:none!important}
@media(prefers-reduced-motion:reduce){.vector-scene .dawn-drift,.vector-scene .atlas-sun-control{transition:none!important}}

/* 0.25 / A low horizon at night, directional daylight and local warm light. */
.vector-scene[data-dim=true] .island-base{fill:#10170f}
.vector-scene .dawn-drift{translate:0 48px;transition:translate 1.65s cubic-bezier(.22,.7,.25,1)}
.vector-scene .atlas-sun-control{transform:translateY(48px);transition:transform 1.65s cubic-bezier(.22,.7,.25,1)}
.vector-scene[data-dim=false] .dawn-drift{translate:0 -66px}
.vector-scene[data-dim=false] .atlas-sun-control{transform:translateY(-66px)}
.vector-scene[data-dim=true] .dawn-disc{fill:#efb46503;stroke:#dcb17d6b}
.vector-scene[data-dim=true] .dawn-rays,.vector-scene[data-dim=true] .dawn-orbit{opacity:.25}
.vector-scene[data-dim=true] .dawn-aura{opacity:.25;animation:none}
.vector-scene[data-dim=false] .dawn-disc{fill:#edbb682c;stroke:#ffe2aee0}
.vector-scene[data-dim=false] .dawn-aura{opacity:1}
.vector-scene[data-dim=false] .face-top{fill:url(#atlas-roof-light)}
.vector-scene[data-dim=false] .floor .face-top{fill:#85754e}
.vector-scene[data-dim=false] .crown .face-top{fill:url(#atlas-roof-light);stroke:#f4d79eae}
.vector-scene[data-dim=false] .face-left{fill:#393d2a;stroke:#dfc99594}
.vector-scene[data-dim=false] .face-right{fill:#2b3526;stroke:#bbbc908c}
.vector-scene[data-dim=false] .atlas-building:is(:hover,.is-hovered,.is-selected) .face-top{fill:#aa8953;stroke:#ffe0a4}
.building-ground-shadow{fill:url(#atlas-shadow-fade);stroke:none;opacity:0;pointer-events:none;transition:opacity 1.2s ease}
.vector-scene[data-dim=false] .building-ground-shadow{opacity:.85}
.occupied-windows{fill:#ffcd8e;stroke:#ffdfab54;stroke-width:.3;opacity:.72;filter:url(#atlas-window-bloom);pointer-events:none;transition:opacity 1.1s ease}
.vector-scene[data-dim=false] .occupied-windows{opacity:.08;filter:none}
.street-lamp .lamp-pool{fill:url(#atlas-lamp-halo);opacity:1;animation:none;transition:opacity 1.1s}
.lamp-cone{fill:#ffd59a06;stroke:none;pointer-events:none;transition:opacity 1.1s}
.lamp-corona{fill:url(#atlas-lamp-halo);stroke:none;transition:opacity 1.1s}
.street-lamp .lamp-bulb{fill:#ffe5b8;filter:none;transition:opacity 1.1s}
.vector-scene[data-dim=false] .lamp-pool,.vector-scene[data-dim=false] .lamp-corona,.vector-scene[data-dim=false] .lamp-cone{opacity:.08}
.vector-scene[data-dim=false] .lamp-bulb{opacity:.45}
.vector-scene[data-dim=false] .river-bed{stroke:#2b3a2c}

/* Two fish follow their stream tangent; the swim and leap return continuously. */
.river-creature{fill:none;stroke:#dac99b;stroke-width:.65;pointer-events:none;stroke-linejoin:round}
.river-creature-track{animation:stream-swim var(--swim-duration) ease-in-out infinite;animation-delay:var(--swim-delay)}
.river-creature-lift{animation:stream-rise var(--swim-duration) ease-in-out infinite;animation-delay:var(--swim-delay);opacity:.55}
.river-creature-body{fill:#b5b99042;stroke:#d3c99cb3}
.river-creature-tail{fill:#c9b78217;transform-origin:-8px 0;animation:stream-tail 1.25s ease-in-out infinite}
.river-creature-fin,.river-creature-gill{stroke:#ded5ab8c;stroke-width:.55}
.river-creature-eye{fill:#eee0b7;stroke:none}
.river-creature-ring{stroke:#e6d5a9;stroke-width:.6;opacity:0;transform-origin:0 0;animation:stream-ring var(--swim-duration) linear infinite;animation-delay:var(--swim-delay)}
.river-creature-ring.second{animation-name:stream-ring-second}
@keyframes stream-swim{0%,100%{transform:translate(-12px,0)}50%{transform:translate(16px,2px)}}
@keyframes stream-rise{0%,60%,78%,100%{transform:translateY(0) rotate(0);opacity:.5}64%{transform:translateY(-3px) rotate(-8deg);opacity:.75}68%{transform:translateY(-15px) rotate(-3deg);opacity:.95}72%{transform:translateY(1px) rotate(8deg);opacity:.75}}
@keyframes stream-tail{0%,100%{transform:scaleX(.9) skewY(-7deg)}50%{transform:scaleX(1.05) skewY(7deg)}}
@keyframes stream-ring{0%,71%,87%,100%{opacity:0;transform:scale(.6)}72%{opacity:.6;transform:scale(.65)}86%{opacity:0;transform:scale(2)}}
@keyframes stream-ring-second{0%,73%,91%,100%{opacity:0;transform:scale(.6)}74%{opacity:.35;transform:scale(.65)}90%{opacity:0;transform:scale(1.9)}}
.vector-scene[data-motion=off] .river-creature *,html[data-page-hidden=true] .river-creature *{animation-play-state:paused!important}
html[data-interface-motion=off] .river-creature *{animation:none!important}
.vector-scene[data-motion=off] :is(.building-ground-shadow,.occupied-windows,.lamp-pool,.lamp-cone,.lamp-corona,.lamp-bulb){transition:none!important}
@media(prefers-reduced-motion:reduce){.river-creature *{animation:none!important}.building-ground-shadow,.occupied-windows,.lamp-pool,.lamp-cone,.lamp-corona,.lamp-bulb{transition:none!important}}

/* 0.27 / Diffuse daylight and directional architectural shadows. */
.city-sunlight,.mountain-sunfaces,.city-cast-shadows{pointer-events:none}
.city-sunlight,.mountain-sunfaces,.city-cast-shadows{opacity:0;transition:opacity 1.65s cubic-bezier(.22,.7,.25,1)}
.sun-ground-field{fill:url(#atlas-sun-field);stroke:none}
.mountain-sunfaces{fill:#d0b37c0b;stroke:none}.mountain-sunridge{fill:none;stroke:#ecd2a340;stroke-width:1.3}
.building-cast-shadow{fill:#030903;stroke:none;opacity:.32}
.vector-scene[data-dim=false] .city-sunlight,.vector-scene[data-dim=false] .city-cast-shadows,.vector-scene[data-dim=false] .mountain-sunfaces{opacity:1}
.vector-scene[data-dim=false] .face-left{fill:#303729;stroke:#b9b58b80}
.vector-scene[data-dim=false] .face-right{fill:url(#atlas-lit-wall);stroke:#e8ce9a9c}
.vector-scene[data-dim=false] .floor .face-left{fill:#3f4530}
.vector-scene[data-dim=false] .floor .face-right{fill:#6d6346}
.vector-scene[data-dim=false] .floor .face-top{fill:#7d7550}
.vector-scene[data-dim=false] .crown .face-left{fill:#44462e}
.vector-scene[data-dim=false] .crown .face-right{fill:#7e6c47}
.vector-scene[data-dim=false] .mullion{stroke:#f1d5a268}
.vector-scene[data-dim=false] .river-flow{stroke:#d9d7a363}
.vector-scene[data-motion=off] :is(.city-sunlight,.mountain-sunfaces,.city-cast-shadows){transition:none!important}
.view-options{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){.view-options{top:326px;max-height:370px;max-height:min(370px,calc(100dvh - 416px))}}
@media(prefers-reduced-motion:reduce){.city-sunlight,.mountain-sunfaces,.city-cast-shadows{transition:none!important}}

/* Open countryside continues the city beyond either camera edge. */
.outskirts-meadows{pointer-events:none;fill:none}
.meadow-contour{stroke:#b2ad7333;stroke-width:.7}
.outskirts-meadows .ecology-cluster{opacity:.66}
.meadow-stones{stroke:#b5ad7742;stroke-width:.7;fill:#8c95600b}

/* Pause the entire scene, including fountain/roads/lights, when it is out of
   view or behind a dialog. Individual habitat selectors missed some effects. */
.vector-scene[data-motion=off] .atlas-svg *{animation-play-state:paused!important}
.vector-scene[data-solar-phase=day] .occupied-windows{filter:none!important}
/* The scroll controller already interpolates progress. A second CSS tween
   added delay and repainted text after the reader stopped scrolling. */
.journey-word{transition:none}

/* A viewport-sized SVG bounds repainting, including on Safari/Retina. */
.vector-scene .atlas-svg{overflow:hidden;will-change:transform;transform:translateZ(0)}
/* World-space strokes scale with the camera. Screen-space SVG strokes forced
   Safari to rebuild outlines across the animated scene on each repaint. */
