:root{--ink:#e9ecf5;--dim:#98a0b8;--night:#070a14;--panel:#0a0d1ac7;--line:#a0afe62e;--sodium:#ffb347;--grow:#d96bff;--leaf:#7ddc6a;--alarm:#ff5a5a;--police:#6aa8ff;color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--night);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}canvas#block{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 45%,#03040ab8 100%);transition:background .6s;position:fixed;inset:0}body.cut .vignette{background:radial-gradient(#0000 18%,#010206e6 85%)}.hidden{display:none!important}.title-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:linear-gradient(#0e1224eb,#070914f0);border-radius:18px;width:min(560px,100vw - 32px);max-height:calc(100vh - 80px);padding:30px 32px 24px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-52%);box-shadow:0 30px 80px #0009,0 0 0 1px #ffb3470d,inset 0 1px #ffffff0d}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--sodium);margin:0 0 6px;font-size:12px}h1{letter-spacing:-.02em;background:linear-gradient(180deg, #fff 20%, #ffd9a0 70%, var(--sodium));color:#0000;text-shadow:0 0 40px #ffb34740;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(44px,9vw,76px);font-weight:800;line-height:.95}.tagline{max-width:26em;margin:14px auto 12px;font-size:18px;line-height:1.35}.how{color:var(--dim);max-width:34em;margin:0 auto 20px;font-size:14px;line-height:1.5}.note{color:var(--dim);margin:12px 0 0;font-size:12.5px}.btn{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);cursor:pointer;background:#ffffff0a;border-radius:12px;margin:0 auto 10px;padding:14px 18px;font-size:16px;font-weight:700;transition:transform 80ms,background .15s,box-shadow .15s;display:block}.btn:hover{background:#ffffff17}.btn:active{transform:translateY(1px)scale(.99)}.btn.primary{color:#1a1002;background:linear-gradient(180deg, #ffd08a, var(--sodium));border:0;font-size:19px;box-shadow:0 8px 30px #ffb34759,inset 0 1px #ffffff80}.btn.primary:hover{background:linear-gradient(#ffdca6,#ffbd5e)}.btn.ghost{color:var(--dim);font-size:14px;font-weight:600}.panel{left:max(12px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;width:232px;padding:12px 14px;font-size:14px;position:fixed}.row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.label{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.value{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}#v-cash{color:var(--leaf)}.value.bump{animation:.45s bump}@keyframes bump{30%{transform:scale(1.35)}}.bar{background:#ffffff14;border-radius:6px;flex:1;height:9px;position:relative;overflow:hidden}.bar>span:first-child{background:linear-gradient(90deg, #ffd08a, var(--alarm));border-radius:6px;width:0;height:100%;transition:width .25s;display:block}.bar .mark{opacity:.6;background:#fff;width:2px;position:absolute;top:-2px;bottom:-2px;left:25%}.heat.hot .label{color:var(--alarm);animation:.9s infinite pulse}@keyframes pulse{50%{opacity:.45}}.carry{border-top:1px solid var(--line);margin:8px 0 0;padding-top:8px;font-weight:600}.carry.hot{color:var(--alarm)}.notice{color:var(--sodium);margin:6px 0 0;font-size:12.5px;line-height:1.35}.notice:empty{display:none}#feed{left:max(12px, env(safe-area-inset-left));bottom:max(40px, calc(env(safe-area-inset-bottom) + 34px));pointer-events:none;text-shadow:0 1px 3px #000;flex-direction:column;gap:4px;width:min(360px,60vw);font-size:13.5px;display:flex;position:fixed}#feed p{border-left:3px solid var(--line);background:#080a16a8;border-radius:0 8px 8px 0;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;padding:5px 10px;transition:opacity 1.2s;animation:.3s line-in}#feed p.old{opacity:.4}#feed p.bad{border-left-color:var(--alarm)}#feed p.law{border-left-color:var(--police)}#feed p.good{border-left-color:var(--leaf)}#feed p.me{background:#3c2806cc;font-weight:700}@keyframes line-in{0%{opacity:0;transform:translate(-14px)}}.banner{text-align:center;background:#0a1028e0;border:1px solid #6aa8ff80;border-radius:12px;max-width:min(620px,100vw - 24px);padding:11px 20px;font-size:16px;font-weight:800;animation:.35s banner-in;position:fixed;top:max(64px,11vh);left:50%;transform:translate(-50%);box-shadow:0 0 40px #6aa8ff40}.banner.alarm{background:#3c080ce6;border-color:#ff5a5ab3;animation:.35s banner-in,.8s infinite pulse;box-shadow:0 0 50px #ff5a5a59}.banner.dark{box-shadow:none;background:#020308eb;border-color:#ffffff40}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-10px)}}.prompt{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;border-radius:12px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:9px 16px 9px 10px;font-size:16px;font-weight:700;display:flex;position:fixed;bottom:max(92px,15vh);left:50%;transform:translate(-50%)}.advice{color:#ffe9b0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#281e08b8;border:1px solid #ffc85a6b;border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:7px 14px 7px 8px;font-size:14px;font-weight:600;animation:.35s ease-out advice-in;display:flex;position:fixed;bottom:calc(max(92px,15vh) + 54px);left:50%;transform:translate(-50%)}.advice .tag{letter-spacing:.08em;text-transform:uppercase;color:#2a1c00;white-space:nowrap;background:#ffcf5a;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}@keyframes advice-in{0%{opacity:0;transform:translate(-50%,8px)}}.pointer{filter:drop-shadow(0 0 2px #140c00)drop-shadow(0 0 10px #ffc85ae6);pointer-events:none;border-top:20px solid #0000;border-bottom:20px solid #0000;border-left:34px solid #ffcf5a;width:0;height:0;margin:-20px 0 0 -17px;animation:.9s ease-in-out infinite pointer-pulse;position:fixed}@keyframes pointer-pulse{50%{opacity:.7;scale:.86}}.prompt.no{color:#ffc0c0;border-color:#ff5a5a66}.prompt.no kbd{display:none}kbd{min-width:30px;height:30px;font:inherit;color:#1a1002;background:var(--sodium);border-radius:8px;place-items:center;padding:0 7px;font-weight:800;display:inline-grid;box-shadow:0 2px #a86a12}.touch kbd{display:none}.progress{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(300px,70vw);padding:10px 14px;font-size:14px;font-weight:700;position:fixed;bottom:max(150px,24vh);left:50%;transform:translate(-50%)}.progress .bar{margin-top:8px;display:block}.progress .bar>span:first-child{background:linear-gradient(90deg, #fff, var(--sodium));transition:none}.emotes{left:50%;bottom:max(34px, calc(env(safe-area-inset-bottom) + 30px));gap:6px;display:flex;position:fixed;transform:translate(-50%)}.emotes button{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:600;display:flex}.emotes button:hover{background:#28305ad9}.emotes button b{color:var(--sodium)}.touch .emotes{bottom:auto;top:max(12px, env(safe-area-inset-top));left:auto;right:max(12px, env(safe-area-inset-right));flex-wrap:wrap;justify-content:flex-end;max-width:190px;margin-top:44px;transform:none}.touch .emotes button b,.stick,.thumbs{display:none}.touch .stick{left:max(22px, env(safe-area-inset-left));bottom:max(70px, calc(env(safe-area-inset-bottom) + 60px));border:1px solid var(--line);touch-action:none;background:#ffffff0f;border-radius:50%;width:132px;height:132px;display:block;position:fixed}#stick-knob{pointer-events:none;background:#ffb347bf;border-radius:50%;width:54px;height:54px;position:absolute;top:39px;left:39px;box-shadow:0 4px 14px #00000080}.touch .thumbs{right:max(18px, env(safe-area-inset-right));bottom:max(70px, calc(env(safe-area-inset-bottom) + 60px));align-items:flex-end;gap:10px;display:flex;position:fixed}.thumb{border:1px solid var(--line);width:70px;height:70px;font:inherit;color:var(--ink);touch-action:none;background:#141a36cc;border-radius:50%;font-size:13px;font-weight:800}.thumb.big{color:#1a1002;background:linear-gradient(180deg, #ffd08a, var(--sodium));border:0;width:92px;height:92px;font-size:17px}.thumb.small{width:56px;height:56px;font-size:12px}.thumb:active{transform:scale(.94)}.touch #feed{bottom:auto;top:max(150px, calc(env(safe-area-inset-top) + 150px));width:min(300px,56vw);font-size:12px}.touch .prompt{bottom:max(214px,32vh)}#stats.duty{border-color:#6aa8ffbf;box-shadow:0 0 0 1px #6aa8ff59,0 0 28px #4f8fff47}#stats.duty .notice{color:#9cc4ff}.row.night .bar>span{background:linear-gradient(90deg,#f0a060,#7088d0 22% 82%,#e8e4d8) 0 0/0 100%;border-radius:6px;width:0;height:100%;display:block}.row.night.late .label{color:#f1ecdc}#stats.helmet{border-color:#ff823ccc;box-shadow:0 0 0 1px #ff823c59,0 0 28px #ff641e42}#stats.helmet .notice{color:#ffb890}#stats.keys{border-color:#f0d060cc;box-shadow:0 0 0 1px #f0d06059,0 0 28px #e8c04042}#stats.keys .notice{color:#ffe9a0}#stats.press{border-color:#ecf2ffd9;box-shadow:0 0 0 1px #ecf2ff59,0 0 28px #d2e1ff47}#stats.press .notice{color:#f2f6ff}#stats.apron{border-color:#ffbe5abf;box-shadow:0 0 0 1px #ffbe5a59,0 0 28px #ffa03242}#stats.apron .notice{color:#ffd590}.modal{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0d1cf2;border-radius:16px;width:min(430px,100vw - 28px);padding:20px 22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 80px #000000a6}.modal.paper{width:min(900px,100vw - 20px);padding:14px}.modal.paper canvas{border-radius:6px;width:100%;height:auto;display:block;box-shadow:0 6px 30px #00000080}.modal.paper .row{gap:10px;margin-top:12px;display:flex}.modal.paper .row .btn{flex:1;margin:0}.modal h2{margin:0 0 4px;font-size:22px}.modal .sub{color:var(--dim);margin:0 0 14px;font-size:13px;line-height:1.45}.modal table{border-collapse:collapse;width:100%;font-size:15px}.modal td{border-top:1px solid var(--line);padding:7px 4px}.modal td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.modal tr.me td{color:var(--sodium)}.modal tr.gone td{opacity:.45}.tag{letter-spacing:.08em;color:var(--dim);background:#ffffff1f;border-radius:5px;margin-left:8px;padding:1px 6px;font-size:10.5px;font-weight:800}.swatch{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:8px;display:inline-block}.flats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.flats button{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:10px;padding:13px 0;font-size:18px;font-weight:800}.flats button.lit{border-color:#ffb347b3;box-shadow:inset 0 0 18px #ffb34740}.flats button:disabled{opacity:.25;cursor:default}.flats button:not(:disabled):hover{background:#6aa8ff33}.status{border:1px solid var(--line);background:#0a0d1cf0;border-radius:14px;padding:16px 26px;font-size:17px;font-weight:700;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}.status.low{top:auto;bottom:max(72px, calc(env(safe-area-inset-bottom) + 64px));text-align:center;max-width:min(560px,100vw - 28px);font-size:15px;line-height:1.4;transform:translate(-50%)}.watching #stats,.watching #prompt,.watching #advice,.watching #pointer,.watching #emotes,.watching #stick,.watching .thumbs,.watching #progress{display:none!important}.toast{border:1px solid var(--line);opacity:0;pointer-events:none;background:#141a36f2;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .25s,transform .25s;position:fixed;bottom:80px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.corner{right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));gap:6px;display:flex;position:fixed}.chip{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}.chip.off{opacity:.45;text-decoration:line-through}footer{right:max(12px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));gap:14px;font-size:11.5px;display:flex;position:fixed}footer a{color:var(--dim);text-decoration:none}footer a:hover{color:var(--ink);text-decoration:underline}@media (max-width:640px){.panel{width:190px;padding:9px 11px;font-size:12.5px}.value{font-size:15px}.title-card{padding:22px 18px 18px}.tagline{font-size:16px}}.touch .panel{width:min(210px,52vw)}.touch .corner{gap:4px}.touch .chip{padding:6px 9px;font-size:12px}.touch .emotes{gap:4px;max-width:44vw;margin-top:40px}.touch .emotes button{padding:5px 8px;font-size:11.5px}.touch #feed{top:auto;bottom:max(264px, calc(env(safe-area-inset-bottom) + 254px));width:min(260px,58vw)}.touch #feed p:nth-last-child(n+3){display:none}.touch .prompt{top:auto;bottom:max(212px, calc(env(safe-area-inset-bottom) + 202px));font-size:15px}.touch .advice{bottom:auto;top:max(196px, calc(env(safe-area-inset-top) + 196px));font-size:13px}.touch .banner{top:max(240px, calc(env(safe-area-inset-top) + 240px));font-size:14px}@media (orientation:landscape){.touch #feed{bottom:auto;top:max(150px, calc(env(safe-area-inset-top) + 150px))}.touch .banner{top:max(12px, env(safe-area-inset-top))}.touch .prompt{top:auto;bottom:38vh}.touch .advice{top:auto;bottom:calc(38vh + 50px)}}.shop{gap:8px;margin-bottom:12px;display:grid}.shop button{text-align:left;font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:10px;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 14px;display:grid}.shop button strong{font-size:16px}.shop button span{color:var(--dim);grid-column:1;font-size:13px}.shop button em{color:var(--leaf);grid-area:1/2/span 2;align-self:center;font-size:18px;font-style:normal;font-weight:800}.shop button:disabled{opacity:.45;cursor:default}.shop button.owned{opacity:.8;border-color:#7ddc6a80}.shop button.owned em{letter-spacing:.08em;text-transform:uppercase;font-size:12px}.shop button:not(:disabled):hover{background:#7ddc6a24}
