@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/saira-vietnamese-wght-normal-B59RsdDd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/saira-latin-ext-wght-normal-Cq1Gr55P.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/saira-latin-wght-normal-C4OLzBX3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/saira-vietnamese-wght-italic-BXWbOl7W.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/saira-latin-ext-wght-italic-nK28umCI.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/saira-latin-wght-italic-CXFDjbPw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090c;--bg-glow:#16161d;--text:#f4f4f6;--muted:#9d9daa;--faint:#858592;--gantry:#050507;--gantry-edge:#ffffff12;--red:#ff1a1a;--red-text:#ff5a52;--gold:#ffc940;--display:"Saira Variable", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:radial-gradient(120% 70% at 50% 42%, var(--bg-glow) 0%, var(--bg) 62%) fixed, var(--bg);height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#game{height:100%;height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));text-align:center;cursor:pointer;grid-template-rows:auto 1fr auto;justify-items:center;display:grid;position:relative}.stats-btn{top:max(14px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));width:44px;height:44px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:12px;place-items:center;display:grid;position:absolute}.stats-btn[hidden]{display:none}.wordmark{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(1.4rem,5vw,1.9rem);font-style:italic;font-weight:700}.wordmark span{color:var(--red-text)}.stage{flex-direction:column;align-self:center;align-items:center;gap:clamp(28px,6vh,56px);width:100%;display:flex}.gantry{--size:min(14vw, 15vh, 76px);gap:calc(var(--size) * .22);padding:calc(var(--size) * .2) calc(var(--size) * .26);background:linear-gradient(180deg, #0d0d11, var(--gantry));border:1px solid var(--gantry-edge);border-radius:999px;display:flex;box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff0a}.lamp{width:var(--size);height:var(--size);background:radial-gradient(circle at 38% 32%,#2b2b33 0%,#17171c 58%,#101014 100%);border-radius:50%;transition:none;animation:none;box-shadow:inset 0 2px 6px #000000b3,inset 0 -1px #ffffff0a}.lamp.on{background:radial-gradient(circle at 38% 32%, #ff8a7a 0%, var(--red) 42%, #c40000 100%);box-shadow:0 0 calc(var(--size) * .45) #ff1a1a80, inset 0 -3px 6px #00000040}.panel{flex-direction:column;align-items:center;gap:.5rem;height:21rem;display:flex}.medal{justify-content:center;height:60px;display:flex}.medal:empty{visibility:hidden}.message{min-height:1.3em;font-family:var(--display);margin:0;font-size:clamp(1.35rem,6vw,1.9rem);font-weight:700;line-height:1.2}.message.good{color:var(--text)}.message.record{color:var(--gold)}.message.bad{color:var(--red-text)}.message.neutral{color:var(--muted)}.result{font-family:var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:clamp(2.8rem,14vw,5rem);font-weight:600;line-height:1.05}.result:empty{display:none}.detail{min-height:1.3em;color:var(--muted);margin:0;font-size:.95rem}.detail a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40}.best,.hint{min-height:1.3em;color:var(--faint);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.hint{margin-top:.3rem}.share{font:inherit;color:var(--text);cursor:pointer;touch-action:manipulation;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.45rem;margin-top:.2rem;padding:.55rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.share[hidden]{display:none}.share.hot{color:#fff;background:var(--red);border-color:var(--red);box-shadow:0 6px 24px #ff1a1a59}.sheet{width:min(100%,480px);max-height:80dvh;padding:0 20px max(20px, env(safe-area-inset-bottom));color:var(--text);text-align:left;cursor:auto;touch-action:pan-y;-webkit-user-select:text;user-select:text;background:#121218;border:1px solid #ffffff14;border-bottom:0;border-radius:20px 20px 0 0;margin:auto auto 0}.sheet::backdrop{background:#0009}.sheet-head{justify-content:space-between;align-items:center;padding:16px 0 8px;display:flex}.sheet-head h2{font-family:var(--display);margin:0;font-size:1.3rem}.sheet-close{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.tabs{background:#ffffff0d;border-radius:12px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px;font-weight:600}.tabs button[aria-selected=true]{color:var(--text);background:#ffffff1a}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:#ffffff0a;border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.tile.wide{grid-column:1/-1}.tile b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.25rem}.tile span,.sheet-empty{color:var(--muted);font-size:.85rem}.sheet h3{margin:20px 0 6px;font-size:.95rem}.records{margin:0;padding:0;list-style:none}.records li{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0f;justify-content:space-between;padding:8px 0;display:flex}.sheet-clear{font:inherit;color:var(--faint);cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-size:.85rem;text-decoration:underline}.share:focus-visible{outline:2px solid var(--text);outline-offset:3px}a:focus-visible{outline:2px solid var(--text);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}footer{color:var(--faint);flex-wrap:wrap;justify-content:center;gap:.6rem;font-size:.8rem;display:flex}footer a{color:var(--faint);text-decoration:none}@media (hover:hover){.share:hover{background:#ffffff1a}footer a:hover{color:var(--muted);text-decoration:underline}}@media (prefers-reduced-motion:no-preference){.panel.m-in>*,.panel.m-pop>*,.panel.m-shake>*{animation:.16s ease-out both rise}.panel.m-pop .medal,.panel.m-pop .message{animation:.32s cubic-bezier(.2,1.6,.4,1) both pop}.panel.m-shake .message{animation:.32s ease-in-out both shake}.panel.m-in .share.hot,.panel.m-pop .share.hot{animation:.16s ease-out both rise,.7s ease-in-out .5s both pulse}.sheet[open]{animation:.22s ease-out slide-up}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}45%{transform:scale(1.08)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media (max-width:360px){footer{gap:.4rem;font-size:.75rem}footer a{font-size:.75rem}}@media (max-height:620px) and (min-height:501px){.stage{gap:20px}.panel{gap:.3rem;height:19rem}}@media (max-height:500px){#game{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom))}.stage{gap:12px}.gantry{--size:min(14vw, 17vh, 60px)}.panel{gap:.1rem;height:11.5rem}.medal{display:none}.message{font-size:1.2rem}.result{font-size:2.2rem}.detail,.best,.hint{min-height:1.2em;font-size:.8rem}.share{padding:.35rem 1.1rem}.hint{margin-top:.1rem}}.debug{text-align:left;max-width:100%;color:var(--muted);-webkit-user-select:text;user-select:text;margin:.5rem 0 0;font:11px/1.4 ui-monospace,Menlo,monospace;overflow-x:auto}.debug:empty,.debug-copy[hidden]{display:none}.debug-copy{color:var(--text);border:1px solid var(--muted);background:0 0;border-radius:6px;padding:.3rem .8rem;font:12px ui-monospace,Menlo,monospace}
