@font-face{font-family:Cubic11;src:url(../fonts/Cubic_11.woff2)format("woff2");font-display:swap}:root{--o:#140b06;--bg:#1d130c;--wood:#2c1c11;--wood-hi:#6e4426;--wood-lo:#170e08;--ink:#fff1d6;--muted:#cdb48f;--gold:#f2b14a;--gold-hi:#ffd98a;--gold-lo:#b8701f;--red:#ff7b6b;--green:#8ee08a;--frame:0 -3px 0 0 var(--o), 0 3px 0 0 var(--o), -3px 0 0 0 var(--o), 3px 0 0 0 var(--o);--bevel:inset 0 3px 0 0 var(--wood-hi), inset 0 -3px 0 0 var(--wood-lo);--font-pixel:"Cubic11", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", monospace;--font-body:"PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;line-height:1.55;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui .card{pointer-events:auto}#ui,#ui *{touch-action:manipulation}[hidden]{display:none!important}.panel{background:var(--wood);box-shadow:var(--frame), var(--bevel)}.btn,.icon-btn,h1,.kicker,.height,.score,.label,.record,.tag b,.loading,.toast,kbd{font-family:var(--font-pixel);font-weight:400}.btn{white-space:nowrap;appearance:none;cursor:pointer;color:var(--ink);box-shadow:var(--frame), inset 0 3px 0 0 #7a4f2e, inset 0 -4px 0 0 #24160c;background:#4a2f1b;border:0;padding:12px 18px;font-size:18px;line-height:1}.btn:active{box-shadow:var(--frame), inset 0 4px 0 0 #24160c;transform:translateY(2px)}.btn.gold{color:#2a1606;background:var(--gold);box-shadow:var(--frame), inset 0 3px 0 0 var(--gold-hi), inset 0 -4px 0 0 var(--gold-lo)}.btn.gold:active{box-shadow:var(--frame), inset 0 4px 0 0 var(--gold-lo)}.btn.big{padding:16px 28px;font-size:24px}.btn.small{padding:12px 14px;font-size:18px}.icon-btn{appearance:none;cursor:pointer;background:var(--wood);width:44px;height:44px;box-shadow:var(--frame), var(--bevel);border:0;font-size:18px}.hud{top:calc(16px + var(--safe-top));position:absolute}.hud-left{left:calc(16px + var(--safe-left));min-width:150px;padding:10px 14px 12px}.label{color:var(--muted);font-size:12px}.height{color:var(--gold-hi);font-size:36px;line-height:1.1}.height small,.score small{color:var(--muted);margin-left:4px;font-size:18px}.row{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.row b{color:var(--ink);font-weight:600}.hearts{gap:4px;margin-top:6px;font-size:18px;display:flex}.hearts i{color:#4a2f1b;font-style:normal;transition:transform .2s}.hearts i.on{color:var(--red)}.hud-right{right:calc(16px + var(--safe-right));align-items:flex-start;gap:12px;display:flex}.record{color:var(--muted);flex-direction:column;align-items:flex-end;padding:8px 12px;font-size:12px;display:flex}.record b{color:var(--gold-hi);font-size:18px;font-weight:400}.bar{left:0;right:0;bottom:calc(16px + var(--safe-bottom));padding:0 calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left));flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute}.tags{flex-direction:column;gap:10px;min-width:0;display:flex}.tag{align-items:center;gap:10px;max-width:min(360px,100vw - 32px);padding:8px 12px;display:flex}.tag .emoji{font-size:28px;line-height:1}.tag b{text-overflow:ellipsis;white-space:nowrap;font-size:18px;display:block;overflow:hidden}.tag small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.tag.next{color:var(--muted);align-self:flex-start;gap:10px;padding:6px 12px 6px 6px;font-size:12px}.peek{background:#170e08;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #3a2516}.peek b{font-size:28px;font-weight:400}.peek canvas{width:100%;height:100%;position:absolute;inset:0}.tag.next .txt{min-width:0}.tag.next span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.controls{align-items:center;gap:12px;margin-left:auto;display:flex}.toasts{top:calc(120px + var(--safe-top));flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{box-shadow:var(--frame);text-align:center;background:#140b06d1;padding:6px 14px;font-size:18px;animation:2.6s ease-out forwards toast}.toast.good{color:var(--green)}.toast.bad{color:var(--red)}.toast.gold{color:var(--gold-hi);font-size:24px}@keyframes toast{0%{opacity:0;transform:translateY(10px)scale(.9)}8%{opacity:1;transform:translateY(0)scale(1.05)}14%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.loading{box-shadow:var(--frame);background:#140b06bf;padding:8px 14px;font-size:18px;animation:1s steps(2,end) infinite blink;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes blink{50%{opacity:.55}}.screen{pointer-events:auto;background:radial-gradient(#1d130c59,#1d130cb3);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.screen.over{background:linear-gradient(#0000 30%,#1d130cb3);align-items:end}.screen.over .score{margin-top:0}.card{text-align:center;width:min(460px,100%);padding:24px 22px 18px}.kicker{color:var(--gold);letter-spacing:.1em;font-size:12px}h1{color:var(--gold-hi);text-shadow:0 4px 0 var(--o);margin:6px 0 10px;font-size:48px;line-height:1.1}.card p{margin:10px 0}.how{text-align:left;color:var(--muted);background:#00000038;margin:14px 0;padding:10px 12px;font-size:13px;list-style:none}.how li+li{margin-top:4px}kbd{text-align:center;min-width:22px;color:var(--ink);box-shadow:0 2px 0 0 var(--o);background:#4a2f1b;padding:1px 5px;font-size:12px;display:inline-block}.best{color:var(--muted);margin:4px 0 14px}.best b{color:var(--gold-hi)}.score{color:var(--gold-hi);text-shadow:0 4px 0 var(--o);margin:8px 0 4px;font-size:48px}.shot{cursor:pointer;box-shadow:var(--frame);aspect-ratio:4/5;background:#170e08;border:0;width:144px;margin:12px auto 4px;padding:0;display:block}.shot img{width:100%;height:100%;display:block}.shot img:not([src]){visibility:hidden}.chips{flex-wrap:wrap;justify-content:center;gap:6px;max-height:140px;margin:12px 0;padding:2px;display:flex;overflow-y:auto}.chip{color:var(--ink);background:#00000040;padding:3px 8px;font-size:12px}.actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:14px;display:flex}.fine{color:var(--muted);opacity:.8;font-size:11px;margin-top:16px!important}@media (max-width:600px){.hud-left{min-width:0;padding:8px 10px 10px}.height{font-size:24px}.bar{gap:12px}.tags{flex-direction:row;align-items:stretch;width:100%}.tag.now{flex:1;min-width:0}.tag.next{gap:8px;max-width:44%;padding-right:8px}.peek{width:52px;height:52px}.controls{gap:10px;width:100%;margin-left:0}.controls .btn{flex:1 1 0;min-width:0;padding:14px 4px}.controls .btn.big{flex-grow:1.3;font-size:24px}h1{font-size:36px}.shot{width:112px;margin-top:8px}.actions{gap:12px}.actions .btn{padding:14px 12px}}
