:root{--night:#050406;--ink:#f5f3f1;--muted:#ebe6e4a3;--signal:#ff4a38;--signal-ink:#1c0502;--glass-fill:linear-gradient(180deg, #ffffff21, #ffffff0a 55%, #ffffff12);--glass-tint:#100f136b;--glass-blur:blur(22px) saturate(1.7) brightness(1.04);--glass-shadow:0 10px 30px #00000061, 0 1px 3px #0000004d, inset 0 1px 1px #ffffff57, inset 0 -1px 1px #ffffff1a;--rim:linear-gradient(135deg, #ffffffa8, #ffffff1f 30%, #fff0 55%, #ffffff1a 80%, #ffffff61);--well:#ffffff14;--spring:cubic-bezier(.34, 1.56, .64, 1);--display:"Black Han Sans", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%}body{background:var(--night);color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;margin:0;position:fixed;inset:0;overflow:hidden}canvas{touch-action:none;outline:none;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.glass{background:var(--glass-fill), var(--glass-tint);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:0;position:fixed}.glass:before{content:"";border-radius:inherit;background:var(--rim);pointer-events:none;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.press{transition:transform .45s var(--spring), filter .3s}.press:active{filter:brightness(1.25);transform:scale(1.07)}.hud{z-index:5;top:calc(var(--safe-top) + 10px);left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed}.hud>*{pointer-events:auto}.plate,.board{background:linear-gradient(#2b2a2f,#1b1a1e);border:0;border-radius:12px;min-height:44px;box-shadow:inset 0 1px #fff3,inset 0 -1px #00000080,0 6px 14px #00000073}.plate{color:#e7e3df;align-items:center;gap:8px;padding:0 12px 0 14px;display:flex}.wordmark{font-family:var(--display);letter-spacing:.08em;font-size:15px}.opens{width:12px;height:12px;color:var(--muted)}.board{background:linear-gradient(#17161a,#0b0a0d);justify-items:end;gap:1px;padding:6px 12px;display:grid}#clock{letter-spacing:.1em;color:#ff5a44;text-shadow:0 0 8px #ff4a388c;font:600 14px/1.1 ui-monospace,SF Mono,Menlo,monospace}.board-now{color:var(--muted);font-size:11px}.board-now b{color:var(--ink)}.dock{left:50%;bottom:calc(var(--safe-bottom) + 12px);z-index:5;border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;width:min(300px,100% - 24px);padding:5px;display:grid;transform:translate(-50%)}.dock button{background:0 0;border:0;border-radius:999px;justify-items:center;gap:3px;min-width:0;padding:8px 4px 7px;display:grid}.dock button svg{width:22px;height:22px}.dock button span{white-space:nowrap;font-size:11px;font-weight:600}.dock button[aria-pressed=true]{color:var(--signal);background:color-mix(in srgb, var(--signal) 18%, transparent);box-shadow:inset 0 1px 1px #fff3, inset 0 0 0 1px color-mix(in srgb, var(--signal) 30%, transparent)}.touch .desk-only{display:none}.stick{z-index:4;left:calc(max(16px, var(--safe-left)) + 74px);bottom:calc(var(--safe-bottom) + 94px);pointer-events:none;opacity:.7;background:radial-gradient(circle,#ffffff12,#ffffff05 70%);border:1.5px solid #ffffff42;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:fixed;transform:translateY(56px)}.stick.active{opacity:1;border-color:#ffffff6b;bottom:auto;transform:none}.stick-knob{background:#fff3;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%;box-shadow:inset 0 1px 1px #fff6,0 2px 8px #00000059}.jump-pad{z-index:5;right:calc(max(16px, var(--safe-right)) + 12px);bottom:calc(var(--safe-bottom) + 34px);touch-action:none;background:#ffffff17;border:1.5px solid #ffffff4d;border-radius:50%;place-items:center;width:84px;height:84px;padding:0;display:grid;position:fixed;box-shadow:inset 0 1px 1px #ffffff4d}.jump-pad svg{width:34px;height:34px}.jump-pad.held{background:#ff4a3859;border-color:#ff7864b3;transform:scale(.95)}#hint{z-index:4;left:50%;bottom:calc(var(--safe-bottom) + 84px);white-space:nowrap;color:#ebe6e4c7;text-shadow:0 1px 8px #000000e6;pointer-events:none;margin:0;font-size:12.5px;position:fixed;transform:translate(-50%)}.sheet{--glass-tint:#0e0d11a8;--glass-blur:blur(26px) saturate(1.2);z-index:7;left:50%;top:calc(var(--safe-top) + 62px);width:min(340px,100% - 24px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 74px);border-radius:28px;gap:10px;padding:18px;display:grid;overflow-y:auto;transform:translate(-50%)}.sheet h2{margin:0;font-size:16px;font-weight:650}.row{background:var(--well);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 8px 8px 14px;font-size:14px;display:flex}.btn{border:0;border-radius:999px;min-height:44px;font-size:14px;font-weight:600}.btn.quiet{background:var(--well)}.btn.leave{color:#ff9a8a;background:0 0}.switch{appearance:none;background:#ffffff29;border-radius:999px;flex:none;width:44px;height:26px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px}.switch:checked{background:var(--signal)}.switch:checked:after{transform:translate(18px)}.overlay{z-index:8;padding:calc(var(--safe-top) + 10px) max(16px, var(--safe-right)) calc(var(--safe-bottom) + 12px) max(16px, var(--safe-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#intro{background:linear-gradient(#03020400 38%,#030204b8)}.card{border-radius:36px;gap:12px;width:min(420px,100%);max-height:100%;padding:24px;display:grid;position:relative;overflow-y:auto}.card h1{font-family:var(--display);letter-spacing:.04em;margin:0;font-size:46px;font-weight:400;line-height:1}.card h1 em{color:var(--signal);font-style:normal}.lede{margin:0;font-size:17px;font-weight:600}.desc,.fine{color:var(--muted);word-break:keep-all;text-wrap:pretty;margin:0}.desc{font-size:14px;line-height:1.6}.fine{font-size:12px}.enter{font-family:var(--display);letter-spacing:.06em;background:var(--signal);color:var(--signal-ink);box-shadow:inset 0 1px 1px #ffffff8c, 0 8px 24px color-mix(in srgb, var(--signal) 32%, transparent);border:0;border-radius:999px;padding:15px;font-size:20px}#rotate{z-index:9;background:#030204c7}.rotate-note{border-radius:28px;justify-items:center;gap:10px;padding:22px 26px;font-size:15px;font-weight:600;display:grid;position:relative}.rotate-note p{margin:0}.rotate-note svg{width:40px;height:40px}#stats{z-index:6;top:calc(var(--safe-top) + 60px);right:max(12px, var(--safe-right));color:var(--muted);font:10px ui-monospace,monospace;position:fixed}#error{z-index:10;border:1px solid var(--signal);background:#1c1416;border-radius:20px;padding:24px;line-height:1.6;position:fixed;top:40%;left:10%;right:10%}@media (height<=480px){.card{border-radius:30px;gap:8px;width:min(460px,100%);padding:18px 22px}.card h1{font-size:36px}.lede{font-size:15px}.desc{font-size:13px;line-height:1.45}.enter{padding:11px;font-size:18px}}@media (prefers-reduced-motion:reduce){.press,.press:active{transition:none;transform:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#141216eb}}
