@font-face{font-family:Doto;src:url(/fonts/Doto-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--ink:#f2efe8;--dim:#f2efe880;--accent:#7aa2ff;--unit:8px;--display:Doto, Inter, sans-serif}html,body,#app,canvas{width:100%;height:100%;display:block}html,body{overscroll-behavior:none;color:#fff;width:100%;height:100%;margin:0;font-family:Inter,sans-serif;overflow:hidden}#app{z-index:0;width:100%;height:100%;position:fixed;inset:0}canvas{display:block}.side,.game-over{z-index:1;font-family:var(--display);color:var(--ink);margin:0;font-weight:600;position:fixed}.side{top:calc(var(--unit) * 5);letter-spacing:.04em;width:min(24vw,320px);font-size:14px;line-height:1.6}.side-left{left:calc(var(--unit) * 5);pointer-events:none}.side-right{right:calc(var(--unit) * 5)}.side p,.side dl,.side ol{margin:0}.side-title,.score-label,.hud dt,.keys dt,.keys dd,.side .side-title{color:var(--ink)}.side .score-big{letter-spacing:0;font-variant-numeric:tabular-nums;margin:calc(var(--unit) * 1) 0 calc(var(--unit) * 5);white-space:nowrap;font-size:clamp(56px,9vw,168px);font-weight:800;line-height:.95}.hud,.keys{grid-template-columns:calc(var(--unit) * 10) auto;align-items:baseline;gap:0;display:grid}.side .hud{margin-bottom:calc(var(--unit) * 8)}.hud dd{font-variant-numeric:tabular-nums;margin:0;font-size:40px;font-weight:800;line-height:1.2}.keys dt{color:var(--ink)}.keys dd{margin:0}.side-right{text-align:right}.side .side-right .side-title{margin-bottom:calc(var(--unit) * 1)}.scores{counter-reset:rank;padding:0;list-style:none}.scores li{grid-template-columns:calc(var(--unit) * 4) 1fr auto;gap:0 calc(var(--unit) * 2);text-align:left;font-variant-numeric:tabular-nums;counter-increment:rank;align-items:baseline;font-size:22px;font-weight:700;line-height:1.5;display:grid}.scores li:first-child{font-size:40px;font-weight:800;line-height:1.3}.scores li span:last-child{text-align:right}.scores li:before{content:counter(rank);color:var(--dim);font-size:13px}.scores li.is-new{color:var(--accent)}.scores li.is-empty{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:13px;display:block}.scores li.is-empty:before{content:none}.game-over{justify-content:center;align-items:center;gap:calc(var(--unit) * 2);pointer-events:none;flex-direction:column;display:flex;inset:0}.go-title{color:var(--accent);text-transform:uppercase;font-size:clamp(56px,11vw,200px);font-weight:900;line-height:.9}.go-hint{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:13px;font-weight:700}.game-over[hidden]{display:none}@media (aspect-ratio<=11/10){.side{top:calc(var(--unit) * 2);width:22vw;font-size:11px}.side-left{left:calc(var(--unit) * 2)}.side-right{right:calc(var(--unit) * 2)}.keys{display:none}.side .side-title{margin-bottom:calc(var(--unit) * 3)}.side .score-big{font-size:clamp(32px,9vw,72px)}.hud dd,.scores li:first-child{font-size:24px}.scores li{font-size:14px}.side-right{width:30vw}.scores li.is-empty{letter-spacing:.08em;font-size:10px}}.boot{z-index:2;text-align:center;box-sizing:border-box;height:100%;padding:calc(var(--unit) * 5);color:var(--ink);font-family:var(--display);opacity:1;background:#000;justify-content:center;align-items:center;margin:0;line-height:.95;transition:opacity .45s linear;display:flex;position:fixed;inset:0}.boot p{letter-spacing:.14em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(14px,2vw,24px);font-weight:700}.boot p.is-gate{max-width:14em;font-size:clamp(22px,6vw,40px);font-weight:700;line-height:1.2}.boot.is-done{opacity:0;pointer-events:none}.settings-import{z-index:3;background:#111622;border:1px solid #3a4a6a;gap:8px;width:min(480px,90vw);padding:16px;font-size:13px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.settings-import textarea{height:240px;font:12px ui-monospace,monospace}body.debug .side-left{display:none}body.debug .profiler-toggle{border-radius:6px 12px 12px 6px;flex-direction:row-reverse;left:15px;right:auto}body.debug .profiler-mini-panel{left:15px;right:auto}body.debug .profiler-panel.position-right{border-left:none;border-right:2px solid var(--profiler-border);left:0;right:auto;transform:translate(-100%)}body.debug .profiler-panel.position-right.visible{transform:translate(0)}.touch-help,.motion-btn[hidden]{display:none}body.mobile{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}body.mobile .keys{display:none}.motion-btn{left:50%;bottom:calc(var(--unit) * 4);z-index:3;padding:calc(var(--unit) * 1.5) calc(var(--unit) * 3);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;font:800 20px Doto,Inter,sans-serif;position:fixed;transform:translate(-50%)}#motion-recal{color:var(--dim);font-size:13px}.side-title strong{font-weight:900}.side .credit{margin-bottom:calc(var(--unit) * 6);letter-spacing:.08em;color:var(--dim);pointer-events:auto;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.side .credit:hover{color:var(--accent)}.side .side-title{margin-bottom:calc(var(--unit) * 1)}.link{color:var(--dim);font:inherit;text-transform:lowercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link:hover{color:var(--accent)}.side-right .scores li.is-empty{text-align:right;letter-spacing:.1em;font-size:22px}.start{z-index:1;font-family:var(--display);color:var(--ink);background:#000000d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.start[hidden]{display:none}.start-box{justify-items:center;gap:calc(var(--unit) * 2);display:grid}.start-box label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:13px;font-weight:700}.start-box input{border:0;border-bottom:2px solid var(--accent);width:8ch;color:var(--ink);letter-spacing:.06em;text-align:center;text-transform:uppercase;background:0 0;outline:none;padding:0;font:800 clamp(40px,8vw,96px) Doto,Inter,sans-serif}.start-btn{margin-top:calc(var(--unit) * 3);padding:calc(var(--unit) * 1) calc(var(--unit) * 4);background:var(--accent);color:#000;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;font:900 24px Doto,Inter,sans-serif;transition:background-color .15s,color .15s,transform 80ms}.start-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.start-btn:active{transform:scale(.97)}@media (hover:hover){.start-btn:hover{background:var(--ink);color:#000}}.go-box{align-items:center;gap:calc(var(--unit) * 2);flex-direction:column;display:flex}.go-touch{display:none}body.mobile .go-touch{display:block}body.mobile .go-desktop,body.mobile .hud,body.mobile .side-right{display:none}body.mobile.is-over .side-right{display:block}body.mobile.is-started .touch-help,.touch-help{display:none}body.mobile .start .touch-help{max-width:22ch;margin:calc(var(--unit) * 3) 0 0;text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:700;display:block}body.mobile .side{width:46vw}body.mobile .side .credit{margin-bottom:calc(var(--unit) * 3)}body.mobile .side .side-title{font-size:11px}body.mobile body.mobile .scores li,body.mobile .scores li:first-child{font-size:18px;line-height:1.4}body.mobile:not(.is-started) .side{visibility:hidden}.start-box input.is-refused{border-bottom-color:#ff4d4d;animation:.35s linear refuse}@keyframes refuse{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.about-open{right:calc(var(--unit) * 3);bottom:calc(var(--unit) * 3);z-index:3;width:calc(var(--unit) * 4);height:calc(var(--unit) * 4);color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0;font:700 18px Doto,Inter,sans-serif;position:fixed}.about-open:hover{color:var(--ink)}body.mobile.is-started:not(.is-over) .about-open{display:none}.about{z-index:10;box-sizing:border-box;padding:calc(var(--unit) * 6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font-family:var(--display);cursor:pointer;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.about[hidden]{display:none}.about p{letter-spacing:.02em;max-width:34em;margin:0;font-size:clamp(16px,2.2vw,24px);font-weight:600;line-height:1.7}.about a{color:var(--accent)}.about-close{top:calc(var(--unit) * 3);right:calc(var(--unit) * 3);color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0;font:700 32px Doto,Inter,sans-serif;position:absolute}@supports (height:100svh){#app,.boot{height:100svh}}body.mobile .motion-btn,body.mobile .about-open{bottom:max(16px, env(safe-area-inset-bottom));align-items:center;height:32px;padding:0 8px;line-height:1;display:flex}body.mobile .about-open{right:max(16px, env(safe-area-inset-right));justify-content:center;width:auto}body.mobile .motion-btn{white-space:nowrap}.game-over{z-index:4;pointer-events:auto;background:#000000ad;animation:.45s ease-out veil-in;position:fixed;inset:0}body.is-over .side-right{z-index:5}@keyframes veil-in{0%{opacity:0}}.side-left{white-space:nowrap;width:auto;max-width:60vw;max-height:calc(100svh - var(--unit) * 8);flex-direction:column;align-items:flex-start;gap:0;display:flex;overflow:hidden}body .side-left .side-title{margin:0;font-size:clamp(14px,1.5vw,28px);line-height:1.1}body .side-left .credit{margin:var(--unit) 0 calc(var(--unit) * 3);font-size:clamp(10px,.7vw,13px);line-height:1.3}body .side-left .score-label{margin:0;font-size:10px;line-height:1.2}body .side-left .score-big{margin:4px 0 calc(var(--unit) * 2);font-size:clamp(28px,4.5vw,84px);line-height:1}body .side-left .hud,body .side-left .keys{grid-template-columns:calc(var(--unit) * 9) auto;row-gap:4px;width:100%}body .side-left .hud{margin:0 0 calc(var(--unit) * 3)}body .side-left .hud dt,body .side-left .keys dt,body .side-left .keys dd{margin:0;font-size:10px;line-height:1.3}body .side-left .hud dd{margin:0;font-size:20px;line-height:1.1}@media (height<=640px){body .side-left .keys{display:none}}@media (aspect-ratio<=11/10){body .side-left .score-big{font-size:clamp(20px,4.5vw,36px)}body .side-left .hud dd{font-size:14px}body .side-left .keys{display:grid}}body.mobile .side-left .keys{display:none}body .side-right .scores li{font-size:11px;line-height:1.4}body .side-right .scores li:first-child{font-size:20px;line-height:1.2}body .side-right .scores li:before{font-size:9px}body .side-right .scores li.is-empty{font-size:11px}body.mobile .side-right .scores li,body.mobile .side-right .scores li:first-child{font-size:11px;line-height:1.4}body.mobile .side-right .scores li:first-child{font-size:14px}.go-hint{text-align:center;text-wrap:balance;max-width:90vw;font-size:39px;line-height:1.15}.go-hint b{color:var(--ink);font-weight:900}body.mobile .motion-btn[hidden]{display:none}body.mobile .motion-btn{font-size:13px}body:not(.mobile) .side-left .score-label{margin-top:30px}.scores .crown{vertical-align:.04em;width:1.1em;height:.61em;fill:var(--ink);margin-right:.4em;display:inline-block;overflow:visible}.cam-hint{--cam-left:120px;--cam-top:532px;--cam-w:320px;--cam-shift:none;left:var(--cam-left);top:var(--cam-top);z-index:20;box-sizing:border-box;width:min(var(--cam-w), calc(100vw - 16px));color:var(--ink);font:600 12px / 1.5 var(--display);letter-spacing:.04em;pointer-events:none;transform:var(--cam-shift);background:#080808c7;margin:0;padding:8px 12px;position:fixed}.cam-hint[hidden],body.mobile .cam-hint{display:none}.cam-hint[data-browser=firefox]{--cam-left:154px;--cam-top:206px;--cam-w:405px}.cam-hint[data-browser=safari]{--cam-left:50%;--cam-top:calc(47.5% + 148px);--cam-w:261px;--cam-shift:translateX(-50%)}.cam-toggle{left:calc(var(--unit) * 3);bottom:calc(var(--unit) * 3);z-index:3;height:calc(var(--unit) * 4);color:var(--dim);letter-spacing:.1em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font:700 12px Doto,Inter,sans-serif;transition:color .15s;display:flex;position:fixed}.cam-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media (hover:hover){.cam-toggle:hover{color:var(--ink)}}body.mobile .cam-toggle{display:none}
