:root{--bg:#071214;--panel:#0f1a1f;--panel-2:#14262b;--border:#24504f;--border-light:#50d2c1;--text:#f0fbf8;--muted:#8fa8a4;--gold:#97fce4;--green:#50d2c1;--red:#ed7088;--cyan:#6aa8ff;--orange:#ff9f43;--mint:#97fce4;--teal:#50d2c1;--blue:#3b82f6;--font-pixel:"Press Start 2P", "Courier New", monospace;--font-body:"VT323", "Courier New", monospace}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-body);margin:0;padding:0;font-size:20px;line-height:1.2;overflow:hidden}canvas.game{image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair;display:block;position:absolute;inset:0}img.pixel{image-rendering:pixelated;image-rendering:crisp-edges}.hud{pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.panel{background:var(--panel);border:3px solid var(--border);box-shadow:inset 0 0 0 2px #071214, inset 0 0 0 3px var(--border-light), 0 6px 0 #00000073;color:var(--text);padding:10px 14px}.wallet{flex-direction:column;gap:4px;min-width:200px;font-size:22px;display:flex;position:absolute;top:12px;left:12px}.wallet .row,.effect .row{justify-content:space-between;gap:16px;display:flex}.wallet .val{font-variant-numeric:tabular-nums}.gold{color:var(--gold)}.green{color:var(--green)}.red{color:var(--red)}.cyan{color:var(--cyan)}.orange{color:var(--orange)}.muted{color:var(--muted)}.effect{border-color:var(--green);min-width:200px;padding:8px 12px;font-size:18px;position:absolute;top:92px;left:12px}.effect .name{font-family:var(--font-pixel);color:var(--gold);margin-bottom:4px;font-size:10px}.effect .timer{font-variant-numeric:tabular-nums;color:var(--text)}.bar{border:2px solid var(--border);background:#071214;height:6px;margin-top:6px}.bar .fill{background:var(--green);height:100%;transition:width .2s linear}.bar .fill.cyanfill{background:var(--cyan)}.mining{min-width:250px;padding:8px 12px;font-size:19px;position:absolute;top:12px;right:12px}.mining .title{font-family:var(--font-pixel);color:var(--gold);margin-bottom:6px;font-size:10px}.mining .kv{grid-template-columns:1fr auto;gap:1px 14px;display:grid}.mining .kv span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums}.mining .tiny{margin-top:4px;font-size:15px}.mining .warn{color:var(--red);font-family:var(--font-pixel);margin-top:4px;font-size:10px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.controls{color:var(--muted);flex-wrap:wrap;gap:14px;max-width:60vw;font-size:18px;display:flex;position:absolute;bottom:12px;left:12px}.controls b{color:var(--text);background:var(--panel-2);border:2px solid var(--border);font-family:var(--font-pixel);vertical-align:middle;margin-right:4px;padding:0 5px;font-size:10px}.prompt{font-family:var(--font-pixel);border:3px solid var(--gold);color:var(--gold);white-space:nowrap;background:#0b0f14e6;padding:10px 16px;font-size:12px;animation:.15s ease-out pop;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.prompt.tap{pointer-events:auto;cursor:pointer;touch-action:manipulation}.prompt.dim{border-color:var(--border-light);color:var(--muted);font-size:10px}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.9)}}.tutorial{font-family:var(--font-pixel);color:var(--cyan);border:3px solid var(--cyan);white-space:nowrap;background:#0b0f14d9;padding:8px 14px;font-size:11px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.tutorial .arrow{margin-right:8px;animation:.8s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{50%{transform:translate(4px)}}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:104px;left:50%;transform:translate(-50%)}.toast{font-family:var(--font-pixel);border:3px solid var(--border-light);background:#0b0f14eb;padding:8px 14px;font-size:11px;animation:.2s ease-out toastIn}.toast.ok{border-color:var(--green);color:var(--green)}.toast.bad{border-color:var(--red);color:var(--red)}.toast.info{border-color:var(--cyan);color:var(--cyan)}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}}.popup{text-align:center;border:4px solid var(--gold);z-index:8;cursor:pointer;background:#0b0f14f0;min-width:320px;padding:22px 34px;animation:.35s cubic-bezier(.2,1.4,.4,1) popupIn;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #071214,0 0 40px #f4d03f40}.popup .icon{margin-bottom:8px;font-size:44px;line-height:1;animation:.9s ease-in-out infinite bounce}.popup .title{font-family:var(--font-pixel);color:var(--gold);margin-bottom:10px;font-size:16px}.popup .line{color:var(--text);font-size:22px}.popup .line.big{font-family:var(--font-pixel);color:var(--green);margin-bottom:6px;font-size:18px}.popup.power{border-color:var(--green);box-shadow:0 0 0 3px #071214,0 0 40px #4cff7a4d}.popup.power .title{color:var(--green)}.popup.power .line.big{color:var(--gold)}.popup.nvda{border-color:var(--cyan);box-shadow:0 0 0 3px #071214,0 0 40px #7ff7ec4d}.popup.nvda .title{color:var(--cyan)}@keyframes popupIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}@keyframes bounce{50%{transform:translateY(-4px)}}.modal-bg{z-index:10;background:#05080eb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-bg.soft{background:#05080e59}.modal{flex-direction:column;width:min(720px,92vw);max-height:88vh;padding:0;display:flex}.modal header{font-family:var(--font-pixel);background:var(--panel-2);border-bottom:3px solid var(--border);color:var(--gold);justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;display:flex}.modal header .sub{font-family:var(--font-body);color:var(--muted);font-size:18px}.modal .body{padding:14px 18px;overflow-y:auto}.modal footer{border-top:3px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 18px;font-size:18px;display:flex}.btn{font-family:var(--font-pixel);color:var(--text);border:3px solid var(--border-light);cursor:pointer;text-transform:uppercase;background:#17393b;padding:10px 14px;font-size:11px;box-shadow:0 4px #071214}.btn:hover:not(:disabled){background:#1f4c4e;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #071214}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{border-color:var(--green);background:#1f8a7a}.btn.primary:hover:not(:disabled){background:#27a892}.btn.danger{border-color:var(--red);background:#7a2a3a}.btn.gold{border-color:var(--gold);color:var(--gold);background:#1d4f91}.btn.small{padding:7px 10px;font-size:9px}.btn.big{padding:14px 40px;font-size:14px}.btn.active{border-color:var(--gold);color:var(--gold);background:#1d4f91}.browser{background:#0f141ef0;flex-direction:column;width:min(640px,94vw);padding:0;display:flex}.browser header{background:var(--panel-2);border-bottom:3px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.browser header .title{font-family:var(--font-pixel);color:var(--gold);font-size:14px}.browser header .keeper{color:var(--muted);text-align:right;font-size:17px}.browser header .x{font-family:var(--font-pixel);color:#fff;border:3px solid var(--red);cursor:pointer;background:#7a2a3a;width:34px;height:34px;font-size:12px}.browser .stage{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:14px 12px 6px;display:grid;overflow:hidden}.browser .nav{height:120px;font-family:var(--font-pixel);background:var(--panel-2);color:var(--gold);border:3px solid var(--border);cursor:pointer;font-size:16px}.browser .nav:hover:not(:disabled){border-color:var(--gold)}.browser .nav:disabled{opacity:.3;cursor:default}.browser .card{text-align:center;border:3px solid var(--border);background:linear-gradient(#10272a 0%,#0b1a1c 100%);min-height:380px;padding:6px 10px}.browser .card.slide-left{animation:.28s cubic-bezier(.2,.9,.3,1) slideLeft}.browser .card.slide-right{animation:.28s cubic-bezier(.2,.9,.3,1) slideRight}.browser .card.bought{animation:.35s ease-out boughtFlash}@keyframes slideLeft{0%{opacity:0;transform:translate(60px)}}@keyframes slideRight{0%{opacity:0;transform:translate(-60px)}}@keyframes boughtFlash{0%{border-color:var(--green);box-shadow:inset 0 0 40px #4cff7a66}}.browser .name{font-family:var(--font-pixel);color:var(--text);margin:8px 0 10px;font-size:15px}.browser .art{border:3px solid var(--border);background-color:#071214;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:12px 12px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;width:220px;height:110px;margin:0 auto 10px;display:flex;position:relative}.browser .art img{object-fit:contain;width:auto;max-width:190px;height:96px;max-height:96px}.browser .art .emoji{font-size:26px;position:absolute;bottom:6px;right:8px}.browser .blurb{color:var(--muted);min-height:22px;margin-bottom:8px;font-size:18px;font-style:italic}.browser .stats{width:340px;color:var(--muted);text-align:left;grid-template-columns:max-content 1fr;gap:2px 20px;margin:0 auto 10px;font-size:19px;display:grid}.browser .stats span:nth-child(2n){text-align:right;color:var(--text)}.browser .price{font-family:var(--font-pixel);color:var(--gold);margin:6px 0 2px;font-size:13px}.browser .owned{min-height:18px;margin-bottom:8px;font-size:16px}.browser .actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:6px;display:flex}.browser footer{border-top:3px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.browser footer .counter{font-family:var(--font-pixel);color:var(--muted);font-size:10px}.browser .balance{text-align:center;color:var(--muted);padding:6px 0 8px;font-size:16px}.exchange-panel{width:min(520px,94vw)}.ex-body{text-align:center;padding:18px 20px 8px}.ex-label{font-family:var(--font-pixel);color:var(--muted);letter-spacing:1px;font-size:10px}.ex-big{font-family:var(--font-pixel);margin:8px 0;font-size:20px}.ex-arrow{color:var(--muted);font-size:28px;line-height:1}.ex-rate{color:var(--muted);margin:4px 0 14px;font-size:17px}.ex-picker{background:var(--panel-2);border:3px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.ex-amount{min-width:150px;font-family:var(--font-pixel);font-size:11px;line-height:1.7}.ex-remaining{margin:10px 0 14px;font-size:18px}.ex-hold{margin-top:14px;font-size:17px}.inv-section{margin-bottom:14px}.inv-section h3{font-family:var(--font-pixel);color:var(--muted);letter-spacing:1px;margin:0 0 8px;font-size:10px}.inv-row{background:var(--panel-2);border:3px solid var(--border);align-items:center;gap:12px;margin-bottom:6px;padding:8px 10px;display:flex}.inv-row img{width:32px;height:32px}.inv-row .n{flex:1}.inv-row .qty{font-family:var(--font-pixel);color:var(--gold);text-align:right;min-width:48px;font-size:12px}.inv-row .meta{color:var(--muted);font-size:17px}.buildbar{align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.buildbar .btn{min-width:82px}.buildbar .btn small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.buildbar .sep{background:var(--border);width:3px;height:36px;margin:0 4px}.palette{width:250px;max-height:calc(100vh - 290px);padding:10px;position:absolute;top:200px;right:12px;overflow-y:auto}.palette h3{font-family:var(--font-pixel);color:var(--muted);margin:4px 0 8px;font-size:10px}.palette .pal-item{border:3px solid var(--border);background:var(--panel-2);cursor:pointer;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;font-size:18px;display:flex}.palette .pal-item:hover{border-color:var(--border-light)}.palette .pal-item.active{border-color:var(--gold);background:#123a36}.palette .pal-item img{width:28px;height:28px}.palette .pal-item .q{font-family:var(--font-pixel);color:var(--gold);margin-left:auto;font-size:10px}.palette .empty{color:var(--muted);padding:6px;font-size:17px}.machine-info{width:260px;padding:10px 12px;font-size:18px;position:absolute;top:180px;left:12px}.machine-info h3{font-family:var(--font-pixel);margin:0 0 8px;font-size:11px}.machine-info .kv{grid-template-columns:1fr auto;gap:2px 10px;display:grid}.machine-info .kv span:nth-child(2n){text-align:right}.build-banner{font-family:var(--font-pixel);color:var(--gold);border:3px solid var(--gold);white-space:nowrap;background:#0b0f14d9;padding:6px 12px;font-size:11px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.intro{text-align:center;width:min(560px,92vw);padding:30px 28px}.intro h1{font-family:var(--font-pixel);color:var(--gold);text-shadow:4px 4px #000;margin:0 0 6px;font-size:26px}.intro h2{font-family:var(--font-pixel);color:var(--cyan);margin:0 0 22px;font-size:12px}.intro p{margin:8px 0;font-size:22px}.intro .start{text-align:left;background:var(--panel-2);border:3px solid var(--border);gap:6px;margin:12px 0 20px;padding:12px 24px;font-size:22px;display:inline-grid}.intro .fine{color:var(--muted);margin-top:14px;font-size:16px}.dialog{cursor:pointer;z-index:9;width:min(640px,92vw);padding:14px 18px;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}.dialog .who{font-family:var(--font-pixel);color:var(--gold);margin-bottom:8px;font-size:11px}.dialog .line{min-height:30px;font-size:24px}.dialog .gift-line{border:3px solid var(--green);color:var(--green);margin-top:8px;padding:6px 10px;font-size:20px;animation:.2s ease-out pop;display:inline-block}.dialog .dialog-actions{justify-content:flex-end;align-items:center;gap:8px;min-height:30px;margin-top:8px;display:flex}.dialog .next{color:var(--muted);font-size:16px;animation:1.2s steps(2,end) infinite blink}.menu .body{flex-direction:column;gap:10px;display:flex}.account{background:var(--panel-2);border:3px solid var(--border);flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px;display:flex}.account .acct-actions .btn{white-space:nowrap}.account .who{align-items:center;gap:10px;display:flex}.account .handle{font-family:var(--font-pixel);color:var(--text);font-size:11px}.account .small{font-size:16px}.account .acct-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.avatar{border:3px solid var(--border-light);image-rendering:auto;background:#071214;width:36px;height:36px}.avatar.placeholder{color:var(--text);justify-content:center;align-items:center;font-size:18px;display:inline-flex}.cloudchip{color:var(--muted);border:3px solid var(--border);background:#0b0f14cc;padding:4px 10px;font-size:16px;position:absolute;bottom:12px;right:12px}.cloudchip.on{color:var(--cyan);border-color:var(--border-light)}.choice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choice .opt{background:var(--panel-2);border:3px solid var(--border);flex-direction:column;gap:8px;padding:12px;font-size:17px;display:flex}.choice .opt-title{font-family:var(--font-pixel);font-size:11px}@media (width<=560px){.choice{grid-template-columns:1fr}}.menu .stats{color:var(--muted);grid-template-columns:1fr auto;gap:4px 20px;padding:8px 0;font-size:19px;display:grid}.menu .stats span:nth-child(2n){color:var(--text);text-align:right}.wallet .lvl{color:var(--muted);white-space:nowrap;justify-content:space-between;gap:12px;margin-top:4px;font-size:15px;display:flex}.wallet .lvlbar{border:1px solid var(--border);background:#071214;height:5px;margin-top:3px}.wallet .lvlbar .fill{background:var(--cyan);height:100%;transition:width .4s}.effect{top:132px}.browser header{grid-template-columns:auto 1fr auto auto}.browser header .lvl{font-family:var(--font-pixel);color:var(--cyan);border:2px solid var(--border);white-space:nowrap;padding:5px 7px;font-size:9px}.browser .tabs{flex-wrap:wrap;gap:6px;padding:10px 14px 0;display:flex}.browser .tab{font-family:var(--font-pixel);background:var(--panel-2);border:3px solid var(--border);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;padding:7px 10px;font-size:8px}.browser .tab:hover:not(.active){border-color:var(--border-light);color:var(--text)}.browser .tab.active{color:var(--gold);border-color:var(--gold);background:#163a3f}.browser .tier{font-family:var(--font-pixel);letter-spacing:1px;background:#00000059;border:2px solid;margin-top:8px;padding:4px 8px;font-size:7px;display:inline-block}.browser .card.locked .art img{filter:grayscale(.75)brightness(.55)}.browser .lock{font-family:var(--font-pixel);color:var(--orange);margin:2px 0 6px;font-size:9px}.browser footer .cat{color:var(--muted);font-family:var(--font-body);font-size:15px}.devbtn{font-family:var(--font-pixel);color:#5d7f7c;cursor:pointer;opacity:.65;background:#0b0f148c;border:2px solid #1f3a3b;padding:5px 8px;font-size:8px;position:absolute;bottom:50px;right:12px}.devbtn:hover{opacity:1;color:var(--text);border-color:var(--border-light)}.devbtn.on{color:var(--orange);border-color:var(--orange);opacity:1}.dev-banner{pointer-events:none;background:repeating-linear-gradient(45deg,#97fce4 0 14px,#071214 14px 22px);justify-content:center;align-items:center;height:22px;display:flex;position:absolute;top:0;left:0;right:0}.dev-banner span{font-family:var(--font-pixel);color:#071214;letter-spacing:1px;background:#97fce4;padding:3px 12px;font-size:9px}.hud.dev .wallet,.hud.dev .mining{top:32px}.hud.dev .effect{top:152px}.hud.dev .tutorial{top:34px}.hud.dev .build-banner{top:80px}.devpanel{width:min(680px,94vw);max-height:92vh;overflow:auto}.dev-toggle{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;font-size:17px;display:flex}.dev-status{margin-bottom:10px;font-size:16px}.dev-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.dev-grid.off{opacity:.45}.dev-grid section{border:3px solid var(--border);background:var(--panel-2);padding:8px 10px}.dev-grid section.wide{grid-column:1/-1}.dev-grid h3{font-family:var(--font-pixel);color:var(--muted);letter-spacing:1px;margin:0 0 6px;font-size:9px}.dev-grid .row{flex-wrap:wrap;gap:6px;display:flex}.dev-grid .btn{padding:6px 9px;font-size:8px}.dev-reset{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}@media (width<=640px){.dev-grid{grid-template-columns:1fr}}.prompt.hurt{border-color:var(--red);color:var(--red)}.controls .unstuck{font-family:var(--font-pixel);background:var(--panel-2);border:2px solid var(--border);color:var(--muted);cursor:pointer;align-self:center;padding:5px 8px;font-size:8px}.controls .unstuck:hover{color:var(--text);border-color:var(--border-light)}.dialog.has-portrait{align-items:flex-start;gap:16px;display:flex}.dialog .portrait{border:3px solid var(--border);background:#071214;flex:none;width:96px;height:96px;box-shadow:inset 0 0 0 2px #040b0c}.dialog .dialog-main{flex:1;min-width:0}.exdesk .ex-body{text-align:left;padding:12px 18px 6px}.exdesk .ex-label{text-align:left;margin:4px 0 8px}.ex-badge{color:var(--orange)!important;border-color:var(--orange)!important}.ex-grid{grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px;display:grid}.ex-stat{border:3px solid var(--border);background:var(--panel-2);padding:8px 10px}.ex-stat-label{font-family:var(--font-pixel);color:var(--muted);letter-spacing:1px;margin-bottom:5px;font-size:8px}.ex-stat-value{font-family:var(--font-pixel);white-space:nowrap;font-size:13px}.ex-stat-value.text{color:var(--text)}.ex-stat-sub{margin-top:4px;font-size:15px}.ex-actions{flex-wrap:wrap;gap:8px;margin:10px 0 6px;display:flex}.ex-foot{margin-top:4px;font-size:15px}.ex-note{margin:4px 0 8px;font-size:17px;line-height:1.3}.ex-form{flex-direction:column;gap:8px;display:flex}.ex-field{color:var(--muted);flex-direction:column;gap:4px;font-size:16px;display:flex}.ex-input{font-family:var(--font-body);color:var(--text);border:3px solid var(--border);background:#071214;outline:none;width:100%;padding:6px 10px;font-size:22px}.ex-input:focus{border-color:var(--gold)}.ex-input.mono,.mono{word-break:break-all;font-family:Courier New,monospace;font-size:15px}.ex-presets{flex-wrap:wrap;gap:6px;display:flex}.ex-preview{font-size:17px}.ex-review{border:3px solid var(--gold);background:#f4d03f0f;padding:10px 12px}.ex-review p{margin:8px 0 0;font-size:18px}.ex-kv{grid-template-columns:max-content 1fr;align-items:baseline;gap:4px 16px;font-size:17px;display:grid}.ex-card{border:3px solid var(--border);background:var(--panel-2);padding:10px 12px}.ex-steps{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.ex-step{font-family:var(--font-pixel);border:2px solid var(--border);color:var(--muted);padding:4px 6px;font-size:7px}.ex-step.done{color:var(--green);border-color:var(--green)}.ex-step.now{color:var(--gold);border-color:var(--gold);animation:1s steps(2,end) infinite blink}.ex-list{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow:auto}.ex-row{border:2px solid var(--border);background:var(--panel-2);cursor:pointer;grid-template-columns:1fr 1fr 1.4fr;gap:10px;padding:4px 8px;font-size:16px;display:grid}.ex-row:hover{border-color:var(--border-light)}.wallet .tinyrow{font-size:14px}.dev-json{white-space:pre-wrap;word-break:break-all;border:2px solid var(--border);max-height:220px;color:var(--text);background:#071214;margin:6px 0 0;padding:8px;font-family:Courier New,monospace;font-size:12px;overflow:auto}.cache-panel{width:min(760px,96vw)}.cache-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cache-card{border:3px solid var(--border);text-align:center;background:linear-gradient(#10272a 0%,#0b1a1c 100%);flex-direction:column;gap:6px;padding:10px;display:flex}.cache-card.locked{opacity:.75}.cache-art{filter:drop-shadow(0 4px #00000080);padding:6px 0;font-size:40px;line-height:1}.cache-card.locked .cache-art{filter:grayscale()brightness(.6)}.cache-name{font-family:var(--font-pixel);font-size:11px}.cache-card .blurb{color:var(--muted);min-height:40px;font-size:16px;font-style:italic}.cache-list{font-size:14px;line-height:1.25}.cache-card .price{font-family:var(--font-pixel);color:var(--gold);margin-top:auto;font-size:11px}.cache-card .lock{font-family:var(--font-pixel);color:var(--orange);font-size:8px}.cache-reveal .loot{flex-direction:column;gap:6px;margin:8px 0;display:flex}.loot-row{border:3px solid var(--border);background:var(--panel-2);grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;padding:6px 10px;font-size:19px;animation:.45s cubic-bezier(.2,1.4,.4,1) both lootIn;display:grid}.loot-row img{object-fit:contain;width:32px;height:32px}.loot-row .q{font-family:var(--font-pixel);color:var(--cyan);font-size:11px}.loot-row.rare{border-color:var(--gold);box-shadow:0 0 18px #f4d03f40}@keyframes lootIn{0%{opacity:0;transform:translateY(-14px)scale(.9)}}.lock.green{color:var(--green)}@media (width<=720px){.cache-grid{grid-template-columns:1fr}}.menu header .xlink{color:var(--text);border-bottom:2px solid var(--border-light);text-decoration:none}.menu header .xlink:hover{color:var(--gold);border-color:var(--gold)}.follow{border:3px solid var(--border);background:var(--panel-2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;font-size:17px;display:flex}.follow .btn{white-space:nowrap}.ca{border:3px solid var(--border);background:var(--panel-2);flex-direction:column;gap:6px;margin-bottom:8px;padding:8px 10px;display:flex}.ca-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.ca-label{font-family:var(--font-pixel);color:var(--gold);font-size:10px}.ca .btn{white-space:nowrap}.ca-addr{font-family:var(--font-body);color:var(--text);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:17px}.mono{font-variant-numeric:tabular-nums}.up{color:var(--teal)}.down{color:var(--red)}.perp-bg{background:#040b0cb8}.panel.perp{background:var(--panel);flex-direction:column;width:min(1320px,97vw);height:min(900px,95vh);padding:0;display:flex}.perp-top{border-bottom:3px solid var(--border);background:#0b1619;align-items:center;gap:16px;padding:10px 14px;display:flex}.perp-top .title{font-family:var(--font-pixel);color:var(--mint);letter-spacing:1px;font-size:14px}.perp-top .keeper{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:19px;overflow:hidden}.perp-bal{gap:14px;font-size:20px;display:flex}.perp-top .x{font-family:var(--font-pixel);color:var(--text);border:3px solid var(--border);cursor:pointer;background:#17393b;width:34px;height:34px}.perp-top .x:hover{border-color:var(--red);color:var(--red)}.perp-scroll{scrollbar-color:var(--border) transparent;flex:1;overflow:hidden auto}.coin-ico{image-rendering:pixelated;image-rendering:crisp-edges;flex:none}.perp .pair{border-bottom:3px solid var(--border);background:repeating-linear-gradient(0deg,#0f1a1f 0 3px,#0d171b 3px 6px);justify-content:space-between;gap:24px;padding:16px 18px 14px;display:flex}.perp .ident{align-items:center;gap:14px;display:flex}.perp .ident h1{font-family:var(--font-pixel);color:var(--text);text-shadow:3px 3px #04110f;margin:0;font-size:34px;line-height:1}.perp .ident h1 small{color:var(--teal);margin-left:6px;font-size:13px}.perp .kicker{color:var(--muted);margin-top:6px;font-size:18px}.perp .kicker b{color:var(--mint);font-weight:400}.perp .stats{color:var(--muted);flex-wrap:wrap;gap:6px 22px;margin-top:12px;font-size:18px;display:flex}.perp .stats b{color:var(--text);margin-left:4px;font-weight:400}.perp .stats b.up{color:var(--teal)}.perp .stats b.down{color:var(--red)}.pair-price{flex-direction:column;align-items:flex-end;gap:4px;min-width:340px;display:flex}.pair-price .kicker{font-family:var(--font-pixel);margin:0;font-size:9px}.pair-price .big{font-family:var(--font-pixel);color:var(--text);padding:2px 6px;font-size:30px;transition:color .4s}.pair-price .big.up{color:var(--teal);background:#50d2c11f}.pair-price .big.down{color:var(--red);background:#ed70881f}.perp .search{width:100%;margin-top:6px;position:relative}.perp .search input{width:100%;font-family:var(--font-body);color:var(--text);border:3px solid var(--border);background:#071214;outline:none;padding:6px 40px 6px 10px;font-size:20px}.perp .search input:focus{border-color:var(--teal)}.perp .search kbd{font-family:var(--font-pixel);color:var(--muted);border:2px solid var(--border);padding:3px 6px;font-size:10px;position:absolute;top:7px;right:8px}.perp .results{z-index:5;background:var(--panel-2);border:3px solid var(--teal);position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 6px #00000073}.perp .results button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;grid-template-columns:22px 1fr auto 70px 44px;align-items:center;gap:10px;padding:5px 10px;font-size:19px;display:grid}.perp .results button:hover{background:#17393b}.perp .results .rc{font-family:var(--font-pixel);font-size:10px}.perp .tape{border-bottom:3px solid var(--border);white-space:nowrap;background:#071214;overflow:hidden}.perp .tape-in{padding:5px 0;animation:70s linear infinite perp-tape;display:inline-flex}.perp .tape:hover .tape-in{animation-play-state:paused}.perp .tape button{border:0;border-right:2px dotted var(--border);color:var(--text);font-family:var(--font-body);cursor:pointer;background:0 0;padding:0 16px;font-size:19px}.perp .tape button b{font-family:var(--font-pixel);color:var(--mint);font-size:9px;font-weight:400}@keyframes perp-tape{to{transform:translate(-50%)}}.perp .desk{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;padding:12px;display:grid}.perp .left{flex-direction:column;gap:12px;min-width:0;display:flex}.perp .card{background:var(--panel-2);border:3px solid var(--border);box-shadow:0 4px #0006}.perp .card>header{font-family:var(--font-pixel);color:var(--mint);border-bottom:2px solid var(--border);background:#10232a;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:10px;display:flex}.perp .card>header .mono{font-family:var(--font-body);font-size:18px}.perp .ivals{gap:2px;display:flex}.perp .ivals button,.perp .ticks button,.perp .chips button,.perp .m-tabs button{font-family:var(--font-pixel);color:var(--muted);border:2px solid var(--border);cursor:pointer;background:#0b1a1c;padding:5px 7px;font-size:9px}.perp .ivals button.on,.perp .ticks button.on,.perp .m-tabs button.on{color:#071214;background:var(--teal);border-color:var(--teal)}.perp .ivals button:hover:not(.on),.perp .ticks button:hover:not(.on),.perp .chips button:hover,.perp .m-tabs button:hover:not(.on){color:var(--text);border-color:var(--teal)}.chart-box{position:relative}.chart-box .ohlc{color:var(--muted);gap:14px;min-height:30px;padding:5px 10px;font-size:18px;display:flex}.chart-canvas{cursor:crosshair;height:330px;margin:0 72px 8px 8px;position:relative}.chart-canvas canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.chart-canvas .axis span,.chart-canvas .last-tag,.chart-canvas .line-tag{white-space:nowrap;pointer-events:none;font-size:17px;position:absolute;left:calc(100% + 6px);transform:translateY(-50%)}.chart-canvas .axis span{color:var(--muted)}.chart-canvas .last-tag{color:#071214;background:var(--teal);padding:0 4px}.chart-canvas .last-tag.down{background:var(--red)}.chart-canvas .line-tag{font-family:var(--font-pixel);background:#071214;padding:2px 4px;font-size:8px;left:6px}.chart-canvas .line-tag.entry{color:var(--mint);border:1px solid var(--mint)}.chart-canvas .line-tag.pinned{border-style:dashed}.chart-canvas .line-tag.liq{color:var(--orange);border:1px solid var(--orange)}.chart-load{font-family:var(--font-pixel);color:var(--muted);place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.pos-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:22px 10px;display:flex}.pos-empty b{font-family:var(--font-pixel);color:var(--text);font-size:10px;font-weight:400}.ptable,.mtable{font-size:18px}.ptable .tr{border-bottom:1px solid #1a3a3c;grid-template-columns:1.6fr .9fr 1fr 1fr 1fr .8fr .8fr 1.4fr 70px;align-items:center;gap:8px;padding:6px 10px;display:grid}.ptable .tr.danger{background:repeating-linear-gradient(45deg,#ff9f4314 0 6px,#0000 6px 12px)}.ptable .th,.mtable .th{font-family:var(--font-pixel);color:var(--muted);font-size:8px}.ptable em{font-style:normal;font-family:var(--font-pixel);font-size:8px}.perp .link{color:var(--text);font-family:var(--font-pixel);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.perp .link:hover{color:var(--mint)}.fills{border-top:2px solid var(--border);padding:8px 10px 10px}.fills-head{font-family:var(--font-pixel);margin-bottom:6px;font-size:8px}.fill{grid-template-columns:60px 80px 1fr auto;gap:10px;font-size:18px;display:grid}.perp .ticket{position:sticky;top:12px}.t-body{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.perp .sides{border:3px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.perp .sides button{font-family:var(--font-pixel);color:var(--muted);cursor:pointer;background:#0b1a1c;border:0;padding:10px 0;font-size:11px}.perp .sides.long button.on{background:var(--teal);color:#071214}.perp .sides.short button.on{background:var(--red);color:#1a0710}.perp .lbl{font-family:var(--font-pixel);color:var(--muted);letter-spacing:.5px;font-size:8px}.perp .lbl .muted{font-family:var(--font-body);letter-spacing:0;font-size:16px}.perp .field{border:3px solid var(--border);background:#071214;align-items:center;display:flex}.perp .field:focus-within{border-color:var(--teal)}.perp .field input{min-width:0;color:var(--text);font-family:var(--font-body);background:0 0;border:0;outline:none;flex:1;padding:4px 10px;font-size:24px}.perp .field span{font-family:var(--font-pixel);color:var(--mint);padding:0 10px;font-size:9px}.perp .chips{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.lev-head{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.lev-head b{font-family:var(--font-pixel);color:var(--mint);font-size:14px;font-weight:400}.perp .range{appearance:none;background:linear-gradient(90deg, var(--teal) var(--fill,0%), #0b1a1c var(--fill,0%));border:2px solid var(--border);cursor:pointer;outline:none;width:100%;height:12px}.perp .range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--mint);width:14px;height:22px;box-shadow:0 0 0 2px var(--teal);border:3px solid #071214}.perp .range::-moz-range-thumb{background:var(--mint);border:3px solid #071214;border-radius:0;width:12px;height:20px}.perp .ticks{flex-wrap:wrap;gap:3px;display:flex}.perp .ticks button{flex:1;padding:4px 0;font-size:8px}.perp .meter{margin-top:4px}.meter-head{justify-content:space-between;align-items:center;font-size:19px;display:flex}.meter-wire{height:34px;margin:4px 4px 0;position:relative}.meter-wire:before{content:"";border-top:2px dotted var(--border);position:absolute;top:10px;left:0;right:0}.meter-wire .zone{background:repeating-linear-gradient(90deg,#ff9f438c 0 2px,#0000 2px 4px);height:8px;position:absolute;top:7px}.meter-wire .liq,.meter-wire .entry{width:4px;height:16px;transition:left .25s steps(6,end);position:absolute;top:3px;transform:translate(-50%)}.meter-wire .liq{background:var(--orange)}.meter-wire .entry{background:var(--mint);left:50%}.meter-wire .tag{position:absolute;top:19px;transform:translate(-50%)}.meter-wire .tag.to-left{transform:translate(calc(2px - 100%))}.meter-wire .tag.to-right{transform:translate(-2px)}.meter-wire .tag{color:var(--muted);font-size:15px;transition:left .25s steps(6,end)}.perp .sum{border-top:2px dotted var(--border);margin:4px 0 0;padding-top:6px;font-size:18px}.perp .sum div{justify-content:space-between;display:flex}.perp .sum dt{color:var(--muted)}.perp .sum dd{margin:0}.perp .go{font-family:var(--font-pixel);cursor:pointer;border:3px solid #071214;margin-top:6px;padding:14px 0;font-size:12px;box-shadow:0 5px #04110f}.perp .go.long{background:var(--teal);color:#071214}.perp .go.short{background:var(--red);color:#1a0710}.perp .go:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.perp .go:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #04110f}.perp .go:disabled{opacity:.5;cursor:not-allowed}.perp .term{min-height:112px;color:var(--mint);background:#040b0c;border:2px solid #12302f;margin:0 12px 12px;padding:6px 8px;font-size:17px}.perp .term p{white-space:nowrap;text-overflow:ellipsis;margin:0;animation:.25s steps(8,end) both perp-type;overflow:hidden}.perp .term p.ok{color:var(--teal)}.perp .term p.bad{color:var(--red)}.perp .term p.muted{color:var(--muted)}@keyframes perp-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.perp .bridge{border-top:2px solid var(--border);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.bridge-row{gap:6px;display:flex}.bridge-row .field{flex:1}.bridge-row .field input{font-size:20px}.perp .bridge small{font-size:16px}.perp .markets{padding:4px 12px 16px}.m-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 10px;display:flex}.m-head h2{font-family:var(--font-pixel);color:var(--text);margin:0;font-size:14px}.m-tabs{gap:4px;display:flex}.mtable{border:3px solid var(--border);background:var(--panel-2)}.mtable .tr{width:100%;color:var(--text);font-family:var(--font-body);text-align:left;background:0 0;border:0;border-bottom:1px solid #1a3a3c;grid-template-columns:1.4fr 1fr .8fr 1fr 1fr .9fr 1.4fr .5fr;align-items:center;gap:8px;padding:6px 10px;font-size:18px;display:grid}.mtable button.tr{cursor:pointer}.mtable button.tr:hover{background:#17393b}.mtable .tr.sel{box-shadow:inset 4px 0 0 var(--teal);background:#123a36}.mtable .mc{font-family:var(--font-pixel);align-items:center;gap:8px;font-size:10px;display:flex}.mtable .move{background:repeating-linear-gradient(90deg,#12302f 0 2px,#0000 2px 4px);height:10px;position:relative}.mtable .move:after{content:"";background:var(--border);width:2px;position:absolute;top:-2px;bottom:-2px;left:50%}.mtable .move i{position:absolute;top:0;bottom:0}.mtable .move i.up{background:var(--teal)}.mtable .move i.down{background:var(--red)}.m-foot{margin:10px 2px 0;font-size:17px}.perp-chip{font-family:var(--font-pixel);color:var(--mint);font-size:8px}@media (width<=980px){.perp .desk{grid-template-columns:minmax(0,1fr)}.perp .desk>*,.perp .card{min-width:0}.perp .ticket{position:static}.perp .pair{flex-direction:column}.pair-price{align-items:stretch;min-width:0}.ptable .tr{grid-template-columns:1.6fr 1fr 1fr 1.4fr 64px}.ptable .tr>:nth-child(2),.ptable .tr>:nth-child(5),.ptable .tr>:nth-child(6),.ptable .tr>:nth-child(7){display:none}.mtable .tr{grid-template-columns:1.4fr 1fr .8fr 1fr .5fr}.mtable .tr>:nth-child(5),.mtable .tr>:nth-child(6),.mtable .tr>:nth-child(7),.perp-top .keeper{display:none}}.topbar{z-index:20;align-items:stretch;gap:6px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.ca-pill{border:3px solid var(--teal);color:var(--text);cursor:pointer;font-family:var(--font-body);background:#071214eb;align-items:center;gap:8px;max-width:92vw;padding:6px 10px;font-size:18px;display:flex;box-shadow:0 4px #00000073}.ca-pill:hover{border-color:var(--mint)}.ca-pill:active{transform:translateY(2px)}.ca-tag{font-family:var(--font-pixel);color:#071214;background:var(--mint);padding:3px 5px;font-size:9px}.ca-pill code{white-space:nowrap;font-family:var(--font-body);color:var(--mint);letter-spacing:.5px;font-size:18px}.ca-short{display:none}.ca-copy{color:var(--teal);font-size:16px}.x-btn{border:3px solid var(--teal);width:40px;color:var(--text);background:#071214eb;place-items:center;display:grid;box-shadow:0 4px #00000073}.x-btn:hover{border-color:var(--mint);color:var(--mint)}.x-btn svg{width:16px;height:16px}.tutorial{top:64px}.touch{pointer-events:none;z-index:15;position:absolute;inset:0}.touch>*{pointer-events:auto}.stick{left:max(18px, env(safe-area-inset-left));bottom:max(22px, env(safe-area-inset-bottom));touch-action:none;background:#0712148c;border:3px solid #50d2c1b3;border-radius:50%;place-items:center;width:128px;height:128px;display:grid;position:absolute}.stick i{background:var(--teal);width:54px;height:54px;box-shadow:0 0 0 2px var(--mint);border:3px solid #071214;border-radius:50%}.tbtns{right:max(16px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));touch-action:none;grid-template-columns:auto auto;align-items:end;gap:8px;display:grid;position:absolute}.tbtn{font-family:var(--font-pixel);color:var(--text);border:3px solid var(--border-light);touch-action:none;-webkit-user-select:none;user-select:none;background:#071214d9;min-width:64px;height:44px;font-size:9px;box-shadow:0 4px #00000073}.tbtn:active{transform:translateY(3px);box-shadow:0 1px #00000073}.tbtn.big{color:#071214;background:var(--mint);border-color:#071214;grid-row:span 2;min-width:72px;height:96px;font-size:22px}.touch-hint{display:none}body.touch .touch-hint{display:inline}body.touch .keys-hint,body.touch .controls{display:none}body.touch canvas.game{touch-action:none}body.touch .prompt{bottom:170px}@media (width<=760px),(height<=500px){.ca-full{display:none}.ca-short{display:inline}.topbar{top:8px}.ca-pill{white-space:nowrap;padding:4px 8px}.x-btn{width:36px}body.touch .prompt{bottom:236px}.tutorial{white-space:normal;text-align:center;width:max-content;max-width:92vw;font-size:8px;line-height:1.5;top:auto;bottom:176px}.wallet{gap:2px;width:min(44vw,200px);min-width:0;padding:6px 8px;font-size:15px;top:56px;left:8px}.wallet .row{gap:6px}.wallet .lvl{font-size:7px}.mining{width:min(46vw,230px);min-width:0;padding:6px 8px;font-size:13px;top:56px;right:8px}.mining .title{font-size:8px}.mining .tiny{display:none}.effect{top:150px;left:8px}.prompt{white-space:normal;text-align:center;max-width:92vw;font-size:9px}.cloudchip,.devbtn{display:none}}@media (height<=500px){.tutorial{max-width:46vw;bottom:10px}body.touch .prompt{bottom:64px}.stick{width:112px;height:112px}.tbtn{height:40px}.tbtn.big{height:88px}}@media (width<=760px),(height<=500px){body.ui-open .topbar{display:none}.browser header{grid-template-columns:1fr auto auto;gap:8px;padding:8px 10px}.browser header .keeper{display:none}.browser header .title{font-size:11px}.browser .stage{grid-template-columns:minmax(0,1fr);padding:8px 8px 4px}.browser .nav{display:none}.browser .card{min-width:0;min-height:0}.browser .art{max-width:100%}.panel.perp{border-width:0;width:100vw;height:100%}.perp-top{gap:8px;padding:8px 10px}.perp-top .title{flex:1;font-size:11px}.perp-bal{display:none}.perp .ident h1{font-size:24px}.pair-price .big{font-size:22px}.chart-canvas{height:220px;margin-right:64px}.perp .desk{padding:8px}.m-head h2{font-size:11px}.m-tabs{flex-wrap:wrap}.browser .stats{font-size:15px}.browser .card{padding:6px 8px}.perp .chips button,.perp .ticks button{min-width:0;padding-left:0;padding-right:0}.perp .sum{font-size:16px}.pos-empty small{white-space:normal}}.intro-logo{image-rendering:auto;width:min(220px,52vw);height:auto;margin:-6px auto 4px;display:block}.tb-logo{filter:drop-shadow(0 3px #00000080);align-self:center;width:auto;height:44px}@media (width<=760px),(height<=500px){.tb-logo{height:34px}.intro-logo{width:min(92px,26vw);margin-top:-10px}.modal-bg:has(.intro){align-items:flex-start;overflow-y:auto}.intro{margin-top:52px}}
