/* INDEX ATLAS / a single visual system for the city, learning and access. */
:root{--surface:#11120f;--surface-raised:#1b1c17;--amber:#ffb35c;--paper:#efeee6;--quiet:#a1a391;--rule:#e8dfc71e;--round:12px}
.vector-scene{background:radial-gradient(ellipse at 53% 65%,#292719 0,#171912 30%,#10120d 64%);isolation:isolate;touch-action:pan-y}
.vector-scene:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#d6cfb219 .65px,transparent .65px);background-size:23px 23px;pointer-events:none;mask-image:linear-gradient(transparent,#000 40%,transparent)}
.atlas-svg{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;overflow:visible;touch-action:pan-y}
.atlas-svg path,.atlas-svg ellipse,.atlas-svg circle{vector-effect:none;stroke-linecap:round;stroke-linejoin:round}
.atlas-watermark{position:absolute;bottom:47px;left:40px;font:450 clamp(30px,4vw,60px)/.9 Geist,sans-serif;letter-spacing:-3px;color:#e5d4ad0c;pointer-events:none}.atlas-watermark>span{letter-spacing:6px;font:8px var(--mono);color:#bcb49644;display:inline-block;margin-top:9px}
.atlas-grid{stroke:#c8c3a812;stroke-width:.65;pointer-events:none}.island-base{fill:#151710;stroke:#c1b49735;stroke-width:1}.island-rim{stroke:#9f936638;stroke-width:.7;fill:none}.island-rim.second{opacity:.5}.atlas-building{cursor:pointer;outline:none}.district-boundary{fill:#d9c29a03;stroke:#c9b88f29;stroke-width:.7;stroke-dasharray:3 5;transition:stroke .5s,fill .5s}.district-glow{fill:url(#atlas-halo);opacity:0;transition:opacity .6s}.face-left{fill:#20251b;stroke:#bcb59977;stroke-width:.7;transition:fill .55s,stroke .55s}.face-right{fill:#171c14;stroke:#bcb59977;stroke-width:.7;transition:fill .55s,stroke .55s}.face-top{fill:#343a29;stroke:#c6bba27a;stroke-width:.8;transition:fill .55s,stroke .55s}.floor .face-left{fill:#393b2b}.floor .face-right{fill:#252b1e}.floor .face-top{fill:#464736}.crown .face-top{fill:#5e5640}.crown .face-left{fill:#343023}.mullion{stroke:#b4a7825e;stroke-width:.6;transition:stroke .5s}.edge-trace{stroke:#ffbb69;stroke-width:1.25;fill:none;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1),opacity .25s}.atlas-emblem,.crypto-glyph{stroke:#e7c58b;stroke-width:1.5;fill:#ffc16e06;transition:stroke .5s}.atlas-link{stroke:#caaa6c66;stroke-width:1}.spire{stroke:#e4ba7560;stroke-width:1.5}.building-target{fill:transparent;stroke:none!important}.atlas-building:hover .district-glow,.atlas-building.is-hovered .district-glow,.atlas-building.is-selected .district-glow,.atlas-building:focus-visible .district-glow{opacity:1}.atlas-building:hover .edge-trace,.atlas-building.is-hovered .edge-trace,.atlas-building.is-selected .edge-trace,.atlas-building:focus-visible .edge-trace{stroke-dashoffset:0;opacity:1}.atlas-building:hover .face-top,.atlas-building.is-hovered .face-top,.atlas-building.is-selected .face-top{fill:#715c36;stroke:#ffbb6999}.atlas-building:hover .face-left,.atlas-building.is-hovered .face-left,.atlas-building.is-selected .face-left{fill:#3b3421;stroke:#e5b15c88}.atlas-building:hover .face-right,.atlas-building.is-hovered .face-right,.atlas-building.is-selected .face-right{fill:#2c2b1c;stroke:#e5b15c88}.atlas-building:hover .mullion,.atlas-building.is-hovered .mullion{stroke:#d9ad6570}.atlas-building:focus-visible .district-boundary{stroke:#ffe0ac;stroke-width:2;stroke-dasharray:none}.atlas-connections{stroke:#b0925747;stroke-width:1;transition:opacity .4s}.atlas-connections .travel{stroke:#ffbd69;stroke-width:1.5;stroke-dasharray:8 160;animation:atlas-travel 13s linear infinite;opacity:.65}.atlas-plaza{stroke:#dfbc7659;stroke-width:1;fill:#29291d}.plaza-pulse{stroke:none;fill:#ffd196;animation:atlas-pulse 4s ease-in-out infinite}.atlas-person{stroke:#e3ca9d;stroke-width:1.3;fill:#171a12}.person-platform{stroke:#b29c6640;fill:#202418}.person-back{fill:#4a4430;stroke:#eed1a488!important}.city-background-buildings{opacity:.18;pointer-events:none}.atlas-survey{stroke:#9e8b633c;stroke-width:.7;pointer-events:none}.atlas-survey text{fill:#aa9c7b80;stroke:none;font:7px 'Geist Mono',monospace;letter-spacing:2px}.vector-scene[data-network=off] .atlas-connections{opacity:0}.vector-scene[data-dim=true]{background:#090c08}.vector-scene[data-dim=true] .atlas-ground{opacity:.6}.vector-scene[data-motion=off] *{animation-play-state:paused!important}.vector-scene[data-motion=off] .edge-trace{transition:none!important}.vector-scene~.scene-vignette{background:linear-gradient(#10120d99,transparent 25%,transparent 90%,#10120d55)}
.building-label{border-radius:7px;background:#151811e8;backdrop-filter:blur(14px);box-shadow:0 10px 24px #0002;border-color:#c1b0822f}.building-label.selected,.building-label.hovered{border-color:#ffb35c88;background:#2d2c1deb}.building-label .building-name i{background:var(--amber)!important}.building-label:after{background:#d5ab686b}.building-label .building-name{color:#dddacb}.building-label .building-values strong{font-weight:450}.world-status{color:#a1a38e}.category-dock{background:#11130f}.scene-caption{background:#131610be;border-color:#d0b37b25}.scene-caption .status-dot{background:var(--amber)}
/* Learning: a quiet workspace with one next action. */
dialog.academy-panel{background:#13150f;max-width:calc(100vw - 24px);border-color:#d1b38133}.academy-topline{padding-bottom:18px;border-bottom:1px solid var(--rule)}.academy-intro{margin-top:32px;grid-template-columns:1fr 280px;align-items:center;gap:40px}.academy-intro h2{font-size:clamp(44px,5vw,65px);font-weight:440;letter-spacing:-.055em;line-height:1.03;margin:24px 0}.academy-intro p{font-size:14px;line-height:1.75;max-width:405px;color:#a9ad9a}.academy-caption{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.academy-caption span{border-right:1px solid #d4c6a331;padding-right:10px}.academy-caption span:last-child{border:0}.access-chip{background:none!important;border:0!important;border-bottom:1px solid #be9a5d45!important;border-radius:0!important;padding:0 0 9px!important;font:8px var(--mono)!important;letter-spacing:1.5px;color:var(--amber)!important}.academy-blueprint{width:100%;aspect-ratio:1;position:relative}.academy-blueprint svg{height:100%;width:100%;overflow:visible}.academy-blueprint .bp-guide{stroke:#d1b07b28;stroke-width:1;fill:none}.academy-blueprint .bp-line{stroke:#efbd74;stroke-width:1.2;fill:#ffb45905;stroke-dasharray:1;stroke-dashoffset:1;animation:bp-arrival 1.2s var(--ease) forwards}.academy-blueprint .bp-line:nth-child(2n){animation-delay:.15s}.academy-blueprint text{fill:#dcb77e;font:8px 'Geist Mono',monospace;letter-spacing:1px}.academy-blueprint .bp-number{fill:#ece7d9;font:400 58px Geist,sans-serif;letter-spacing:-3px}.academy-section-head{margin-top:34px;margin-bottom:18px}.phase-grid{gap:0;border-top:1px solid var(--rule);grid-template-columns:1fr 1fr}.phase-card{position:relative;border:0;border-bottom:1px solid var(--rule);background:none;border-radius:0;min-height:104px;padding:22px 24px 21px 36px;opacity:1}.phase-card:nth-child(odd){border-right:1px solid var(--rule)}.phase-card .phase-index{position:absolute;left:0;top:25px;color:#d5b276;opacity:.9}.phase-card:nth-child(even) .phase-index{left:15px}.phase-card:nth-child(even){padding-left:50px}.phase-card strong{font-size:14px;font-weight:450;color:#e0e1d3}.phase-card small{font-size:10px;color:#939a83}.phase-card>svg{width:13px;color:#9f977c}.phase-card:disabled{opacity:1}.phase-card.done .phase-index{color:#c8d8ab}.phase-card.done{background:#b4c49b06}.phase-card:not(:disabled):hover{background:#efb25b08}.academy-progress{border:1px solid var(--rule);border-radius:9px;padding:18px;gap:14px;background:#1d2116}.academy-track{height:3px!important;border-radius:0;background:#4e543330}.academy-track>span{background:var(--amber)!important;border-radius:0!important;transition:width .5s var(--ease)}.academy-unlock{padding:24px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;gap:20px}.academy-unlock>div>span{color:var(--amber);margin-top:6px}.academy-unlock button{min-height:46px;font-size:12px}.academy-reading{display:flex;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid var(--rule);font-size:12px}.academy-reading svg{color:var(--amber);width:18px}.academy-reading small{color:#919783;display:block;font-size:10px;margin-top:5px}.academy-reading>span{flex:1}.academy-reading .text-button{font-size:11px}.lesson-top{padding-bottom:18px;border-bottom:1px solid var(--rule)}.lesson-top>span{color:#ad9e7d}.lesson-workspace h2{font-weight:450;line-height:1.12}.lesson-art{border:1px solid var(--rule);border-radius:4px;background:radial-gradient(ellipse at center,#b3873920,transparent 70%);margin:28px 0}.mini-account,.mini-hub{background:#15190f!important;border-color:#e9b76d66!important;color:#f1c485!important;border-radius:4px!important}.lesson-help{background:#1b1e14;border-color:var(--rule);border-radius:7px}.lesson-help summary{padding-block:18px}.lesson-task{border-left:1px solid #dd9d4f70;background:#e8ba6505;padding:20px 23px;margin:24px 0}.lesson-task .eyebrow{font-size:8px}.lesson-task ol{margin-bottom:0}.lesson-task li{padding:5px 0;line-height:1.75}.lesson-checkpoint{padding:20px;border:1px solid #caa16344;border-radius:7px;background:#e8ba6508;margin-block:26px}.lesson-checkpoint:has(input:checked){border-color:#c7d2a36b;background:#bbc9940b}.lesson-checkpoint input{accent-color:#ffb35c;width:18px;height:18px}.lesson-footer{position:sticky;bottom:-28px;padding:19px 0 17px;background:#13150ff5;backdrop-filter:blur(15px);border-top:1px solid var(--rule);z-index:4}.lesson-heading{margin-top:30px}.paid-progress{font:9px var(--mono);padding:22px 0 15px}.lesson-step-strip{display:flex;gap:5px;margin:17px 0 29px}.lesson-step-strip span{height:3px;background:#cbc3a020;flex:1}.lesson-step-strip .done{background:#bdc993}.lesson-step-strip .current{background:var(--amber)}.lesson-link{border:1px solid var(--rule);border-radius:7px;padding:16px;margin:9px 0;color:#ffcf93;background:#d99d4006}.lesson-link:hover{background:#ffb35c12;border-color:#ffb35c55}.lesson-quiz label{border-color:var(--rule);background:none}.lesson-quiz input{accent-color:var(--amber)}
/* Payment entry uses the live checkout; no duplicate financial backend. */
.access-summary{display:flex;align-items:end;gap:18px;margin:28px 0 30px;padding-bottom:25px;border-bottom:1px solid var(--rule)}.access-summary strong{font:430 55px/1 Geist,sans-serif;letter-spacing:-2px}.access-summary small{font-size:11px;color:#aaad9c;line-height:1.7}.access-methods{display:grid;gap:10px}.access-method{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--rule);border-radius:8px;background:#1c2014;transition:background .25s,border-color .25s}.access-method:hover{background:#28291b;border-color:#ffc47677}.access-method>svg{width:20px;color:var(--amber)}.access-method>span{flex:1}.access-method strong{display:block;font-size:14px;font-weight:450}.access-method small{display:block;color:#a6ac96;font-size:11px;margin-top:6px}.access-method>b{font:11px var(--mono);color:#e3c18f}.access-steps{display:flex;gap:10px;justify-content:space-between;margin-top:28px;padding:19px 0;border-block:1px solid var(--rule);font-size:10px;color:#bbc2a9}.access-steps i{font:10px var(--mono);font-style:normal;color:var(--amber);margin-right:6px}.access-note{font-size:12px!important;line-height:1.8!important;color:#a2a990!important}.access-destination{color:#7f8970;font:9px var(--mono);margin-top:20px;overflow-wrap:anywhere}.access-help{padding:15px 0;border-top:1px solid var(--rule);margin-top:20px}.access-help summary{font-size:12px;cursor:pointer}.access-help p{font-size:12px!important;line-height:1.8!important;color:#a2a990}
@keyframes atlas-travel{to{stroke-dashoffset:-336}}@keyframes atlas-pulse{50%{opacity:.4}}@keyframes bp-arrival{to{stroke-dashoffset:0}}
@media(min-width:761px){.vector-scene .atlas-svg{will-change:transform}.building-label{min-width:143px;padding:11px 13px}.building-values strong{font-size:15px}.atlas-watermark{bottom:25px}}
@media(max-width:760px){.world-stage{padding-top:580px}.scene,.labels,.scene-vignette{height:580px!important}.city-controls{top:520px}.view-options{top:232px}.atlas-watermark{left:20px;bottom:63px;font-size:30px}.atlas-survey{display:none}.building-label{min-width:110px;width:110px;padding:9px 10px}.building-name{font-size:9px}.building-values strong{font-size:12px}.building-label:after{height:7px;bottom:-8px}.academy-intro{display:grid;grid-template-columns:1fr;gap:0;margin-top:28px}.academy-intro h2{max-width:none;font-size:45px;letter-spacing:-2px}.academy-intro p{max-width:none}.academy-blueprint{width:200px;margin:-5px auto 12px;order:2;height:190px}.academy-intro>div:first-child{order:1}.academy-caption{margin-top:16px;font-size:9px}.academy-section-head{margin-top:20px}.academy-section-head h3{font-size:14px}.academy-section-head>span{font-size:8px}.phase-card{padding:20px 10px 20px 27px;min-height:114px}.phase-card:nth-child(even){padding-left:37px}.phase-card:nth-child(even) .phase-index{left:10px}.phase-card strong{font-size:12px}.phase-card small{font-size:9px}.phase-card>svg{display:none}.academy-unlock{flex-wrap:wrap;gap:15px}.academy-unlock button{width:100%}.academy-reading{align-items:start}.academy-reading .text-button{font-size:10px}.lesson-footer{bottom:-25px}.access-summary strong{font-size:46px}.access-method{padding:17px 14px;gap:12px}.access-method strong{font-size:13px}.access-method small{font-size:10px}.access-method>b{font-size:10px}.access-steps{gap:6px;font-size:9px}.access-steps i{display:block;margin-bottom:6px}.immersive .scene,.immersive .labels,.immersive .scene-vignette{height:calc(100svh - 68px)!important}.immersive .world-stage{padding-top:0}.immersive .city-controls{top:calc(100svh - 126px)}}
@media(prefers-reduced-motion:reduce){.atlas-svg *,.academy-blueprint *{animation:none!important;transition:none!important}.academy-blueprint .bp-line{stroke-dashoffset:0}.atlas-svg{will-change:auto}}
html[data-interface-motion=off] .academy-blueprint *{animation:none!important;stroke-dashoffset:0}html[data-page-hidden=true] .atlas-svg *{animation-play-state:paused!important}

.course-language{display:flex;gap:10px;align-items:center;font-size:10px;color:#aeb199}.course-language select{color:#e7ddc5;border:1px solid var(--rule);padding:7px 10px;border-radius:5px;background:#22271a;font-size:11px}.paid-lesson .lesson-step-strip{margin-bottom:0}.paid-lesson .lesson-heading{margin-top:24px}.lesson-workspace>.academy-blueprint{max-width:240px;margin:12px auto 25px;height:210px}
.access-method{cursor:default}.access-method:hover{background:#1c2014;border-color:var(--rule)}
/* Decorative typography never competes with the working controls. */
.atlas-watermark{user-select:none}.vector-scene .atlas-building:active{filter:brightness(1.13)}
.access-summary strong{white-space:nowrap}
@media(max-width:380px){.access-summary{flex-wrap:wrap;gap:12px}.access-summary strong{font-size:42px}.access-summary small{display:block}.access-method>b{white-space:nowrap}.access-method>svg{flex-shrink:0}}
