:root{--primary:#ff40ce;--secondary:#36d9ff;--accent:#b992ff;--background:#090b13;--surface:#121622;--text:#f4f2fc;--muted:#bbc2d4;--border:#606c83;--glow:.28;--diffusion:22px;--pink:var(--primary);--cyan:var(--secondary);--blue:var(--secondary)}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 2% 12%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 55%),radial-gradient(ellipse at 98% 57%,color-mix(in srgb,var(--secondary) 7%,transparent),transparent 53%),var(--background);color:var(--text)}.world-canvas{z-index:4;contain:strict;width:100vw;height:100vh;position:fixed;inset:0;pointer-events:none!important}.habitat{isolation:isolate;min-width:0;position:relative;overflow:hidden}.habitat-floor{background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent);opacity:.5;height:1px;box-shadow:0 4px 24px var(--secondary);position:absolute;bottom:17px;left:6%;right:6%}.actor-touch{cursor:pointer;z-index:5;color:#0000;touch-action:pan-y;border-radius:28px;width:66px;height:100px;position:absolute;bottom:10px;transform:translate(-50%);background:0 0!important;border:0!important}.actor-touch:focus-visible{outline-offset:-3px;outline:2px solid var(--secondary)!important}.actor-touch:disabled{cursor:default}.hero-habitat{height:146px}.chart-habitat,.lesson-habitat{height:113px;margin:-2px -6px -10px}.doorway-habitat{z-index:0;height:105px;margin-top:8px;margin-bottom:-14px}.doorway-habitat .actor-touch{pointer-events:none}.door-glimmer{background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 70%);filter:blur(12px);border-radius:50%;position:absolute;inset:34px 0 -24px}[data-public-world] .hero{min-height:79svh;padding-top:32px}[data-public-world] .portal{z-index:5;border-color:var(--primary);box-shadow:0 0 34px color-mix(in srgb,var(--primary) 14%,transparent);background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 8%,#121522),color-mix(in srgb,var(--secondary) 8%,#101521));position:relative}[data-public-world] .mark{border-color:var(--primary)}[data-public-world] .portal svg{color:var(--primary)}.world-options,.play-options{font-size:12px}.world-options>summary,.play-options>summary{cursor:pointer;min-height:44px;color:var(--muted);justify-content:center;align-items:center;gap:10px;list-style:none;display:flex}.world-options>summary::-webkit-details-marker{display:none}.play-options>summary::-webkit-details-marker{display:none}.world-options-body,.play-options-body{border:1px solid var(--border);background:var(--surface);z-index:5;border-radius:18px;padding:12px 14px 16px;position:relative}.play-options-body{margin-bottom:8px}.swatches,.cast-swatches{justify-content:center;gap:4px;display:flex}.swatch,.cast-swatch{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid;position:relative}.swatch>span,.cast-swatch>span{background:var(--swatch,var(--cast));width:20px;height:20px;box-shadow:0 0 14px color-mix(in srgb,var(--swatch,var(--cast)) 55%,transparent),inset 0 0 4px #fff5;border-radius:50%}.swatch[aria-pressed=true],.cast-swatch[aria-pressed=true]{border-color:var(--swatch,var(--cast))}.swatch[aria-pressed=true]:after,.cast-swatch[aria-pressed=true]:after{content:"✓";color:#fff;background:#0a0d16;border:1px solid;border-radius:50%;width:13px;height:13px;font-size:9px;position:absolute;bottom:-1px;right:0}.theme-name{text-align:center;color:var(--text)!important;margin:8px 0 15px!important;font-size:12px!important}.preference-row{justify-content:space-between;align-items:center;gap:14px;min-height:48px;font-size:13px;display:flex}.preference-row select,.play-actions select{min-height:44px;color:var(--text);border:1px solid var(--border);font:inherit;background:#0b101c;border-radius:10px;padding:8px 12px}.preference-note{text-align:center;color:var(--muted)!important;margin:14px 0 0!important;font-size:11px!important}.play-actions{align-items:center;gap:6px;display:flex}.play-actions select{flex:1;min-width:0;font-size:12px}.play-actions button{background:color-mix(in srgb,var(--primary) 11%,var(--surface));border:1px solid var(--border);width:44px;height:44px;color:var(--primary);cursor:pointer;border-radius:12px;font-size:18px}.info-dot{width:44px;height:44px;color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;font:italic 600 16px Georgia}.info-dot:before{content:"";border:1px solid;border-radius:50%;width:19px;height:19px;margin-top:0;margin-left:-7px;position:absolute}.info-dot:active,.play-actions button:active,.education-play:active,.play-money:active{box-shadow:0 0 18px color-mix(in srgb,var(--primary) 35%,transparent);transform:scale(.98)}.info-sheet{border:1px solid var(--border);width:100%;max-width:590px;max-height:80dvh;padding:22px 24px calc(24px + env(safe-area-inset-bottom));color:var(--text);background:#111724;border-radius:24px 24px 0 0;margin:0 auto;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -8px 90px #000a}.info-sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040610bf}.sheet-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.sheet-head h2{font-size:21px!important}.sheet-head button{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:#192333;border-radius:14px;flex-shrink:0;font-size:26px}.info-sheet p{font-size:14px;line-height:1.6}.info-body input{width:100%;min-height:44px;accent-color:var(--secondary)}.info-body table{border-collapse:collapse;width:100%;font-size:12px}.info-body td,.info-body th{border-bottom:1px solid #343f53;padding:9px 3px}.info-body td:last-child,.info-body th:last-child{text-align:right}.diagram-link{stroke:var(--secondary);stroke-width:2px;fill:none}.diagram-node{fill:var(--surface);stroke:var(--primary);stroke-width:1.4px}.flow-diagram text{fill:var(--text);font:13px system-ui}.scene-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.scene-status{color:var(--muted);font-size:10px;line-height:1.4}.play-money,.education-play{border:1px solid color-mix(in srgb,var(--primary) 50%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface));min-height:44px;color:var(--primary);cursor:pointer;white-space:nowrap;border-radius:12px;padding:8px 14px;font:600 12px system-ui}.replay{color:var(--secondary)!important}.money-playing .ownership-piece{filter:drop-shadow(0 0 5px var(--secondary))}.money-playing .company{stroke-width:2.2px}.scene-footer svg{overflow:visible}.small-steps{align-items:flex-end;gap:10px;height:92px;margin:12px 0 24px;display:flex}.small-steps i{border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border-radius:8px 8px 0 0;flex:1;height:18%;display:block}.small-steps i:nth-child(2){height:36%}.small-steps i:nth-child(3){height:54%}.small-steps i:nth-child(4){height:72%}.small-steps i:nth-child(5){height:90%}.education-playing .small-steps i{animation:1.8s both step-light}.education-playing .small-steps i:nth-child(2){animation-delay:.12s}.education-playing .small-steps i:nth-child(3){animation-delay:.24s}.education-playing .small-steps i:nth-child(4){animation-delay:.36s}.education-playing .small-steps i:nth-child(5){animation-delay:.48s}.education-playing .job svg{animation:1.8s both step-light}.education-playing .job:nth-child(2) svg{animation-delay:.3s}.education-playing .job:nth-child(3) svg{animation-delay:.6s}.privacy-illustration{border:1px solid var(--border);color:var(--secondary);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:16px 25px;display:flex}.privacy-illustration span{letter-spacing:.35em;font-size:28px}.privacy-illustration svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:32px;height:32px}@keyframes step-light{0%,to{opacity:1;filter:none}45%{opacity:.6;filter:drop-shadow(0 0 12px var(--primary))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.world-canvas{filter:none}*,:before,:after{transition:none!important;animation:none!important}}[data-motion=off] *,[data-motion=off] :before,[data-motion=off] :after{transition:none!important;animation:none!important}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}@property --primary{syntax:"<color>";inherits:true;initial-value:#ff40ce}@property --secondary{syntax:"<color>";inherits:true;initial-value:#36d9ff}@property --accent{syntax:"<color>";inherits:true;initial-value:#b992ff}html{transition:--primary .55s,--secondary .55s,--accent .55s}.story-trail a{position:relative}.story-trail a.neon-trail:after{content:"";pointer-events:none;background:linear-gradient(var(--primary),transparent);width:2px;height:24px;box-shadow:0 0 12px var(--primary);transform-origin:top;animation:.65s ease-out both neon-tail;position:absolute;top:31px;left:50%}@keyframes neon-tail{0%{opacity:.9;transform:scaleY(.1)}65%{opacity:.5;transform:scaleY(1.35)translateY(4px)}to{opacity:0;transform:scaleY(1.6)translateY(10px)}}@media (prefers-reduced-motion:reduce){html{transition:none}}html:has([data-motion=off]),html:has([data-motion=subtle]){transition:none}.swatch>span,.cast-swatch>span{box-shadow:0 0 var(--diffusion) color-mix(in srgb,var(--swatch,var(--cast)) calc(var(--glow)*100%),transparent),inset 0 0 4px #fff5}[data-public-world] .portal{box-shadow:0 0 calc(var(--diffusion)*1.5) color-mix(in srgb,var(--primary) calc(var(--glow)*55%),transparent)}.roaming-stage{z-index:6;isolation:isolate;contain:strict;position:fixed;inset:0;overflow:hidden;pointer-events:none!important}.roaming-stage>.world-canvas{z-index:2;contain:strict;position:absolute;inset:0;pointer-events:none!important}.roaming-stage>.world-atmosphere{z-index:1;opacity:.8;contain:strict;width:100%;height:100%;position:absolute;inset:0;pointer-events:none!important}[data-roaming=true] .habitat{isolation:auto;height:64px;min-height:64px;overflow:visible}[data-roaming=true] .habitat-floor{opacity:.2;bottom:8px;left:10%;right:10%}[data-roaming=true] .doorway-habitat{height:64px;min-height:64px;margin-top:12px;margin-bottom:-7px}[data-roaming=true] .actor-touch{display:none}@media (prefers-reduced-motion:reduce){.roaming-stage{filter:none}}body:has(.roaming-stage)>main,body:has(.roaming-stage)>header,body:has(.roaming-stage)>footer{z-index:2;position:relative}body>.world-atmosphere{z-index:1;opacity:1;contain:strict;width:100%;height:100%;position:fixed;inset:0;pointer-events:none!important}
