:root{--weird: 0;--ink: #1d2340;--chrome: linear-gradient(180deg, #ffffff 0%, #e2e7f1 40%, #aeb8cc 50%, #e9edf5 100%);--aqua: linear-gradient(180deg, #e8f6ff 0%, #9fd2ff 48%, #5aa9f5 52%, #bfe4ff 100%);--gold: linear-gradient(180deg, #fff7c2 0%, #ffd24a 48%, #f5a623 52%, #ffe48a 100%);font-family:Trebuchet MS,Verdana,Tahoma,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#05010a}html[data-weird=deep] .scene canvas{image-rendering:pixelated}.crt{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity 3s;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%)}html[data-weird=odd] .crt{opacity:.35}html[data-weird=deep] .crt{opacity:1}.cinematic-hint{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%);padding:6px 14px;border:0;border-radius:999px;background:#0a0e2899;color:#fff;font:700 12px Trebuchet MS,Verdana,sans-serif;cursor:pointer;animation:fade-out 1s 3s forwards}@keyframes fade-out{to{opacity:0}}.logo{position:fixed;top:16px;left:16px;z-index:10;margin:0;pointer-events:none;font:italic 900 28px/1 Arial Black,Trebuchet MS,sans-serif;letter-spacing:-1px;background:linear-gradient(180deg,#fff,#bff3ff 44%,#2a7bd4 52%,#c8f0ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #0b1a4a) drop-shadow(0 0 8px rgba(80,200,255,.6))}.logo span{font-size:.45em;margin-left:4px;vertical-align:super}.logo.big{position:static;font-size:clamp(44px,10vw,92px)}.aqua{cursor:pointer;border:1px solid #2a5fa8;border-radius:999px;padding:4px 11px;font:700 12px Trebuchet MS,Verdana,sans-serif;color:#0b2a5a;background:var(--aqua);box-shadow:inset 0 1px #fff,0 1px 2px #00000059}.aqua:hover{filter:brightness(1.08)}.aqua[aria-pressed=true]{background:var(--gold);border-color:#b07a10}.aqua.big{font-size:18px;padding:10px 28px}.aqua:focus-visible{outline:3px solid #ff2bd6;outline-offset:2px}.panel{position:fixed;left:16px;right:16px;bottom:16px;z-index:10;max-width:780px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-radius:22px;background:var(--chrome);border:1px solid #6d7894;box-shadow:inset 0 1px #fff,inset 0 -2px 4px #00002833,0 8px 24px #00001e73}.who{display:flex;gap:10px;align-items:center}.who strong{display:block;font-size:15px}.who small{display:block;max-width:130px;font-size:11px;color:#4b5578}.gem{width:18px;height:30px;flex:none;background:linear-gradient(135deg,#b8ffc9,#22c55e 55%,#0d7a35);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.needs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px 14px;font-size:12px;font-weight:700}.bar{height:12px;margin-top:2px;border-radius:6px;background:#2b3149;box-shadow:inset 0 2px 3px #0009;overflow:hidden}.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(180deg,hsl(var(--h) 90% 75%),hsl(var(--h) 85% 45%) 55%,hsl(var(--h) 85% 38%));transition:width .3s}.clock{text-align:right;font-size:13px;font-weight:700}.time{font-family:Lucida Console,Courier New,monospace;background:#0d1b12;color:#7dff9a;padding:3px 8px;border-radius:6px;box-shadow:inset 0 1px 3px #000;white-space:nowrap}.money{margin:5px 0;color:#1c6b2f}.speeds{display:flex;gap:4px;justify-content:flex-end}.window{position:fixed;top:16px;right:16px;z-index:10;width:min(300px,calc(100vw - 32px));background:#eef2fa;border:2px solid #fff;border-right-color:#7b86a3;border-bottom-color:#7b86a3;border-radius:10px 10px 4px 4px;box-shadow:0 6px 18px #00001e59;overflow:hidden}.titlebar{display:flex;justify-content:space-between;padding:4px 8px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(90deg,#1b3fa8,#5fa8ff)}.window ol{list-style:none;margin:0;padding:6px 10px 8px;max-height:180px;overflow:hidden;font-size:12.5px}.window li{padding:3px 0;border-bottom:1px dotted #b6bfd6;opacity:.7}.window li:first-child{font-weight:700;opacity:1}.bubble{width:max-content;max-width:220px;padding:8px 12px;background:#fff;border:2px solid var(--ink);border-radius:16px;font:700 12px Trebuchet MS,Verdana,sans-serif;color:var(--ink);text-align:center;position:relative;box-shadow:0 3px #00000040;transform:translateY(-50%);animation:pop .2s ease-out both}.bubble:after{content:"";position:absolute;left:50%;bottom:-8px;width:12px;height:12px;background:#fff;border:2px solid var(--ink);border-top:0;border-left:0;transform:translate(-50%) rotate(45deg)}.pie-backdrop{position:fixed;inset:0;z-index:20}.pie{position:absolute;width:0;height:0}.pie-center{position:absolute;transform:translate(-50%,-50%);padding:6px 12px;border-radius:999px;background:#0f143ce0;border:1px solid #8fb4ff;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.pie-option{position:absolute;left:0;top:0;white-space:nowrap;animation:pop .18s ease-out both}@keyframes pop{0%{opacity:0;scale:.6}}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:16px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 40%,#2a6fdb,#0b1a4a 70%)}.overlay.void{color:var(--ink);background:#f4f1ff}.overlay h2{font-size:clamp(24px,5vw,40px);margin:0 0 8px}.overlay p{max-width:420px;margin:0 auto 20px}.tagline{font-style:italic;opacity:.85}.loadbar{width:min(320px,80vw);height:16px;margin:18px auto 8px;border-radius:8px;background:#0b1230;border:1px solid #8fb4ff;overflow:hidden}.loadbar i{display:block;height:100%;background:repeating-linear-gradient(90deg,#7dff9a 0 10px,#2ec4b6 10px 20px);animation:load 2.4s ease-in-out infinite alternate}@keyframes load{0%{width:8%}to{width:100%}}.loading{font-family:Lucida Console,Courier New,monospace;font-size:13px;color:#bff3ff}.overlay .controls-hint{margin-top:18px;font-size:13px;opacity:.8}.overlay .credit{display:inline-block;font:12px Lucida Console,Courier New,monospace;letter-spacing:.12em;color:#ff8ccc;text-decoration:none}.overlay .credit:hover,.overlay .credit:focus-visible{color:#fff}.panel,.window{filter:hue-rotate(calc(var(--weird) * 120deg));transition:filter 1s}html[data-weird=deep] .panel,html[data-weird=deep] .window{animation:jitter .3s steps(2) infinite}@keyframes jitter{50%{translate:1px -1px}}@media(max-width:640px){.panel{grid-template-columns:1fr auto;gap:8px 12px;padding:10px 12px}.needs{grid-column:1 / -1;grid-row:2}.window{top:56px;left:16px;right:16px;width:auto}.window ol{max-height:76px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
