@font-face{font-family:Syne Mono;src:url(../SyneMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:dark;--onyx: #0e1010;--plate: #161818;--pocket: #080909;--mocha: #412828;--clay: #a46f67;--rose: #b7958c;--oak: #c9bab0;--rose2: #b19a98;--mauve: #6a4f5c;--dusty: #937f6d;--dim: #737078;--indigo: #3e4158;--done: #9ea3c8;--working: #d4b07a;--failed: #e07a62;--ease: cubic-bezier(.45, .1, .25, 1);--quick: .15s cubic-bezier(.2, 0, 0, 1);--ritual: cubic-bezier(.65, 0, .35, 1);--carve: 0 -1px 1px #000000f2, -1px -1px 1px #000000a6, 0 1px 0 #c9bab052;--font: "Syne Mono", ui-monospace, "DejaVu Sans Mono", monospace}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;background:#020202;overscroll-behavior:none}html{font-synthesis:none;-webkit-text-size-adjust:100%}body{color:var(--oak);font:400 15px/25px var(--font);text-shadow:var(--carve);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}body *{font-family:var(--font);font-weight:400}::selection{background:var(--mauve);color:var(--oak)}:focus-visible{outline:2px solid var(--oak);outline-offset:2px}h1,h2,p{margin:0;font-weight:400}a{color:var(--rose);text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--clay) 60%,transparent)}button{font:inherit;color:inherit;background:none;border:0;padding:0;text-shadow:inherit}svg{filter:drop-shadow(0 -1px 1px #000000f2) drop-shadow(-1px -1px 1px #000000a6) drop-shadow(0 1px 0 #c9bab052)}svg.flat{filter:none}#app{position:relative;width:100vw;height:100dvh;margin:0 auto;overflow:hidden;background:var(--onyx);box-shadow:0 0 0 1px #000,0 0 60px #000;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.screen{position:absolute;inset:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:flex;flex-direction:column;background:var(--onyx)}.scroll{flex:1;min-height:0;overflow-y:auto;padding:20px 15px 30px;display:flex;flex-direction:column;gap:20px;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.grow{flex:1}.center{align-items:center;text-align:center}@media(min-width:760px)and (min-height:500px){html:not(.native) #app{width:480px}}.h1{font-size:32px;line-height:40px}.body{font-size:15px;line-height:25px}.small{font-size:13px;line-height:20px}.lbl{font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase}.cap{font-size:11px;line-height:16px;letter-spacing:.04em}.house{font-size:11px;line-height:16px;letter-spacing:.42em;text-transform:uppercase;color:var(--dim)}.display{font-size:40px;line-height:48px;letter-spacing:.4em;margin-right:-.4em;text-transform:uppercase}.muted{color:var(--rose)}.subtle{color:var(--dusty)}.dim{color:var(--dim)}.done{color:var(--done)}.working{color:var(--working)}.failed{color:var(--failed)}.num{font-size:20px;line-height:26px}.plate{background:var(--plate) repeating-linear-gradient(0deg,#c9bab003 0 1px,transparent 1px 3px);box-shadow:inset 0 1px #c9bab014,inset 0 -1px #0009,0 2px #000}.panel{background:var(--plate) repeating-linear-gradient(0deg,#c9bab003 0 1px,transparent 1px 3px);border-radius:12px;padding:15px;box-shadow:inset 0 1px #c9bab014,inset 1px 0 #c9bab00a,inset 0 -1px #0009,0 2px #000,0 10px 24px #00000080}.pocket{position:relative;background:var(--pocket);border-radius:12px;padding:6px;box-shadow:inset 0 4px 10px -3px #000000e6,inset 0 2px #000,inset 4px 0 8px -5px #000000b3,inset -4px 0 8px -5px #000000b3,inset 0 -1px 0 var(--mocha)}.window{position:relative;display:block;overflow:hidden;background:var(--onyx) linear-gradient(180deg,#c9bab012 0%,#c9bab005 40%,transparent 41%);border:1px solid var(--mocha);border-radius:8px;box-shadow:inset 0 1px #c9bab01f,inset 0 -2px 6px #0009,0 1px 2px #000}.glass{position:absolute;inset:2px;z-index:2;border-radius:7px;pointer-events:none;background:radial-gradient(130% 90% at 12% -10%,#c9bab017 0%,#c9bab006 40%,transparent 60%),linear-gradient(116deg,transparent 6%,#c9bab005 14%,#c9bab00c 20%,#c9bab012 26%,#c9bab00c 32%,#c9bab005 38%,transparent 46%),linear-gradient(116deg,transparent 50%,#c9bab004 56%,#c9bab008 62%,#c9bab004 68%,transparent 74%),linear-gradient(180deg,transparent 65%,#00000029 100%)}.glass:before{content:"";position:absolute;top:1px;left:10%;right:34%;height:1px;background:linear-gradient(90deg,transparent,#e6d8cd59 35%,#e6d8cd33 70%,transparent)}.glass:after{content:"";position:absolute;top:18%;bottom:18%;left:1px;width:1px;background:linear-gradient(180deg,transparent,#e6d8cd26 40%,transparent)}.well{position:relative;background:radial-gradient(120% 80% at 50% 0%,#121414,#0a0b0b 60%,#060707);box-shadow:inset 0 10px 24px -8px #000000f2,inset 0 2px #000,inset 0 -1px 0 var(--mocha)}.tile{background:var(--plate);border-radius:3px;box-shadow:inset 0 1px #c9bab014,0 1px 2px #000}.cells{display:inline-block;letter-spacing:0;white-space:pre;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent);background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x}.led{display:inline-block;width:7px;height:7px;border-radius:999px;flex:none;background:#0a0b0b;box-shadow:0 0 0 1.5px #050606,0 1px 0 2px #c9bab012,inset 0 1px 2px #000}.led.on{background:radial-gradient(circle at 35% 35%,#f6c9b8,#e07a62 55%,#a46f67);box-shadow:0 0 0 1.5px #050606,0 1px 0 2px #c9bab012,0 0 6px 1px #e07a6299;animation:led-on .28s var(--ease)}.led.cool.on{background:radial-gradient(circle at 35% 35%,#e3e6f6,#9ea3c8 55%,#3e4158);box-shadow:0 0 0 1.5px #050606,0 1px 0 2px #c9bab012,0 0 6px 1px #9ea3c899}.led.warm.on{background:radial-gradient(circle at 35% 35%,#f6e6c8,#d4b07a 55%,#937f6d);box-shadow:0 0 0 1.5px #050606,0 1px 0 2px #c9bab012,0 0 6px 1px #d4b07a99}@keyframes led-on{0%{transform:scale(.2);opacity:0}60%{opacity:1;transform:scale(1.15)}}.live{animation:breathe 3.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}.btn{--c: var(--dim);--f: #3e415833;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 20px;border-radius:6px;cursor:pointer;font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--f);border:1.5px solid color-mix(in srgb,var(--c) 70%,transparent);color:var(--oak);box-shadow:0 3px #000,0 6px 14px #0009,inset 0 1px #c9bab00f;transition:transform .08s ease,box-shadow .08s ease,border-color .14s ease}.btn:active{transform:translateY(2px);box-shadow:0 1px #000,inset 0 1px #c9bab00a}.btn.primary{--c: var(--rose);--f: #b7958c26}.btn.hot{--c: var(--clay);--f: #a46f6740}.btn.secondary{--c: var(--indigo);--f: #3e415866}.btn.danger{--c: var(--failed);--f: #e07a6222}.btn:disabled{opacity:.38;cursor:default;transform:none}.btn.wide{width:100%}.keys{display:flex;flex-direction:column;gap:15px}.rb{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;cursor:pointer;color:var(--oak);flex:none}.rb:active{transform:translateY(1px)}.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 4px;cursor:pointer;color:var(--rose)}input.field{font:inherit;color:var(--oak);caret-color:var(--rose);background:var(--pocket);border:1px solid #000;border-bottom-color:var(--mocha);border-radius:6px;min-height:48px;padding:9px 12px;text-shadow:none;width:100%;text-transform:uppercase;letter-spacing:.08em;font-size:18px;box-shadow:inset 0 3px 6px #000c;user-select:text;-webkit-user-select:text}input.field:focus{outline:2px solid var(--oak);outline-offset:2px}.check{display:flex;align-items:center;gap:15px;min-height:44px;padding:5px 12px;cursor:pointer;width:100%;text-align:left}.check .box{width:22px;height:22px;flex:none;border-radius:3px;background:var(--pocket);display:grid;place-items:center;box-shadow:inset 0 2px 4px #000,inset 0 -1px 0 var(--mocha),0 1px #c9bab012}.check .box:after{content:"";width:11px;height:6px;border-left:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(-45deg) scale(0);transform-origin:center;margin-top:-3px;transition:transform .2s var(--ease)}.check[aria-checked=true] .box:after{transform:rotate(-45deg) scale(1)}.bar{position:relative;z-index:3;padding:5px;flex:none}.ticker{height:34px;display:flex;align-items:center;width:100%;cursor:pointer;text-align:left}.ticker .cells{font-size:12px;line-height:16px;padding:0 1ch;width:100%;overflow:hidden}.ticker .gold{color:var(--working)}.head{display:flex;align-items:center;padding:0 5px 0 15px;min-height:44px;flex:none;position:relative;z-index:3}.head .grow{color:var(--dusty)}.hud{margin:0 10px;flex:none;position:relative;z-index:3}.hud .window{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 12px 10px}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat .lbl{color:var(--dusty)}.stat .cap{color:var(--rose);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter{grid-column:1 / -1;display:flex;flex-direction:column;gap:5px}.meter .row{display:flex;justify-content:space-between;gap:10px}.track{height:8px;border-radius:3px;background:var(--pocket);box-shadow:inset 0 2px 3px #000,inset 0 -1px 0 var(--mocha);overflow:hidden}.fill{height:100%;width:0;background:var(--rose2);border-radius:3px;box-shadow:inset 0 1px #fff3;transition:width var(--quick)}.fill.warn{background:var(--working)}.fill.bad{background:var(--failed)}.fieldwrap{flex:1;min-height:0;position:relative;margin-top:-30px;padding-top:30px}.fieldwrap canvas{position:absolute;inset:0;width:100%;height:100%}.planet{position:absolute;border-radius:999px;cursor:pointer;transform:translate(-50%,-50%);z-index:2}.planet:active{transform:translate(-50%,-50%) scale(.92)}.chip{position:absolute;left:50%;transform:translate(-50%);bottom:12px;z-index:3;display:flex;align-items:center;gap:10px;padding:8px 12px;white-space:nowrap;background:#0e1010e6;border:1px solid var(--mocha);border-radius:6px;box-shadow:0 3px #000,0 6px 14px #0009}.viewkey{position:absolute;left:10px;top:36px;z-index:3;min-height:34px;padding:0 12px;border-radius:6px;cursor:pointer;color:var(--rose);background:#0e1010cc;border:1px solid var(--mocha);box-shadow:0 2px #000}.viewkey:active{transform:translateY(1px)}.fieldwrap{touch-action:none}.camkeys{position:absolute;left:10px;top:78px;z-index:3;display:flex;gap:6px}.camkey{min-width:44px;min-height:44px;padding:0 10px;border-radius:6px;cursor:pointer;color:var(--rose);background:#0e1010cc;border:1px solid var(--mocha);box-shadow:0 2px #000}.camkey:active{transform:translateY(1px)}.camkey[hidden]{display:none}.camkeys.flight{top:40px}.newsline{position:absolute;right:10px;top:40px;left:150px;z-index:2;text-align:right;color:var(--dusty);pointer-events:none;text-wrap:balance}.newsline.near{color:var(--rose)}.newsline[hidden]{display:none}.hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:var(--dusty);z-index:2;pointer-events:none}.banner{position:absolute;left:10px;right:10px;top:60px;z-index:9;padding:10px 12px;background:#0e1010f2;border:1px solid var(--mocha);border-radius:6px;box-shadow:0 3px #000,0 6px 14px #0009}.toast{position:absolute;left:50%;top:40%;transform:translate(-50%);z-index:8;pointer-events:none;color:var(--done);animation:rise .9s var(--ease) forwards;white-space:nowrap}@keyframes rise{0%{opacity:1}to{opacity:0;transform:translate(-50%,-40px)}}.nearby{margin:0 10px 10px;flex:none;position:relative;z-index:3}.nearby .inner{max-height:132px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;scrollbar-width:none}.nearby:after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;box-shadow:inset 0 6px 8px -4px #000000e6,inset 0 -1px 0 var(--mocha)}.rowt{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:6px 10px;min-height:30px}.rowt .v{width:9ch;text-align:right}.card{display:flex;flex-direction:column;gap:10px;padding:12px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 15px;align-items:baseline}.kv .lbl{color:var(--dusty)}.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tabs .btn[aria-selected=true]{--c: var(--rose);--f: #b7958c26;transform:translateY(2px);box-shadow:0 1px #000,inset 0 2px 4px #0009}.lrow{display:grid;grid-template-columns:5ch 1fr auto;gap:10px;align-items:center;padding:8px 10px}.lrow.you{box-shadow:inset 0 0 0 1px var(--clay),0 1px 2px #000}.lrow .n{color:var(--dusty)}.lrow .c{color:var(--rose)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.sw{width:44px;height:44px;border-radius:6px;cursor:pointer;display:grid;place-items:center;border:1.5px solid #000;box-shadow:0 3px #000,inset 0 1px #ffffff40,inset 0 -6px 10px #0005}.sw:active{transform:translateY(2px);box-shadow:0 1px #000}.sw:disabled{opacity:.3;cursor:default}.sw[aria-pressed=true]{outline:2px solid var(--oak);outline-offset:2px}.log{display:grid;grid-template-columns:6ch 1fr;gap:6px 12px;padding:12px}.log .t{color:var(--dusty)}.scene{position:relative;height:240px}.scene canvas{position:absolute;inset:0;width:100%;height:100%}.tapzone{position:absolute;inset:0;z-index:2;cursor:pointer;width:100%}.splash{position:absolute;inset:0;z-index:20;background:#020202;display:grid;place-items:center}.splash .mark{width:min(64vw,300px)}.splash .col{display:flex;flex-direction:column;align-items:center;gap:30px}.splash path,.splash circle,.splash line{stroke-dasharray:var(--len, 400);stroke-dashoffset:var(--len, 400);animation:draw .5s var(--ease) forwards;animation-delay:var(--d, 0s)}.splash .node{opacity:0;stroke-dasharray:none;stroke-dashoffset:0;animation:node-on .28s var(--ease) forwards;animation-delay:var(--d, 0s);transform-box:fill-box;transform-origin:center}.splash .name,.splash .house{opacity:0;animation:fadein .6s ease forwards;animation-delay:var(--d, 2.4s)}@keyframes node-on{0%{transform:scale(.2);opacity:0}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadein{to{opacity:1}}.fade{animation:fadein var(--quick) both}.ritual{animation:ritual 1s var(--ritual) both}@keyframes ritual{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.splash path,.splash circle,.splash line{stroke-dashoffset:0}.splash .node,.splash .name,.splash .house{opacity:1}}.reduce *,.reduce *:before,.reduce *:after{animation:none!important;transition:none!important}.reduce .splash path,.reduce .splash circle,.reduce .splash line{stroke-dashoffset:0}.reduce .splash .node,.reduce .splash .name,.reduce .splash .house{opacity:1}
