.snap-chopsticks-app{--ink:#f4e8d4;--ink-soft:#c9b79c;--bg:#120b07;--card:rgba(28,19,13,0.92);--card-2:rgba(44,30,20,0.9);--line:rgba(244,232,212,0.14);--shu:#ff5a1f;--shu-dark:#b8360a;--good:#8fd16a;--warn:#ffb547;--bad:#ff6a4d;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--mincho:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP","Noto Serif",Georgia,serif;position:fixed;inset:0;height:100dvh;overflow:hidden;background:var(--bg);color:var(--ink);font-family:M PLUS Rounded\ 1c,Avenir Next,Hiragino Maru Gothic ProN,Noto Sans,PingFang SC,Apple SD Gothic Neo,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.snap-chopsticks-app button{cursor:pointer;font:inherit;color:inherit}.snap-chopsticks-app [hidden]{display:none!important}.snap-chopsticks-app .wb-backdrop{position:absolute;inset:0;background:#120b07 url(/images/snap-chopsticks/backdrop-wide.webp) center 40%/cover no-repeat}@media (max-aspect-ratio:1/1){.snap-chopsticks-app .wb-backdrop{background-image:url(/images/snap-chopsticks/backdrop.webp);background-position:center 30%}}.snap-chopsticks-app .wb-scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.snap-chopsticks-app.snapped .wb-scene{animation:wb-jolt .22s ease-out}@keyframes wb-jolt{30%{transform:translate(2px,-2px)}60%{transform:translate(-2px,1px)}}.snap-chopsticks-app .wb-topbar{position:absolute;z-index:30;top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + 14px);right:calc(var(--safe-r) + 14px);display:flex;justify-content:space-between;align-items:center;pointer-events:none}.snap-chopsticks-app .wb-topbar>*{pointer-events:auto}.snap-chopsticks-app .wb-brand{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;min-height:44px;font-family:var(--mincho);font-weight:800;font-size:19px;color:var(--ink)}.snap-chopsticks-app .wb-brand img{width:44px;height:44px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.snap-chopsticks-app .wb-topbtns{display:flex;gap:8px}.snap-chopsticks-app .wb-round{width:44px;height:44px;border-radius:12px;border:0;display:inline-grid;place-items:center;background:#f4e8d4;color:#2a1a10;box-shadow:0 3px 0 rgba(0,0,0,.35)}.snap-chopsticks-app .wb-round .off,.snap-chopsticks-app .wb-round.muted .on{display:none}.snap-chopsticks-app .wb-round.muted .off{display:inline}.snap-chopsticks-app .wb-menu-only,.snap-chopsticks-app .wb-play-only{display:none}.snap-chopsticks-app[data-phase=menu] .wb-menu-only,.snap-chopsticks-app[data-phase=play] .wb-play-only{display:inline-grid}.snap-chopsticks-app .wb-hud{position:absolute;inset:0;z-index:25;pointer-events:none}.snap-chopsticks-app:not([data-phase=play]):not([data-phase=split]) .wb-hud{display:none}.snap-chopsticks-app .wb-tag{position:absolute;top:calc(var(--safe-t) + 66px);left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:10px;white-space:nowrap;padding:6px 14px;border-radius:12px;background:rgba(244,232,212,.94);color:#2a1a10;font-size:13px;font-weight:700;box-shadow:0 3px 0 rgba(0,0,0,.3)}.snap-chopsticks-app .wb-tag b{font-size:15px;font-weight:800}.snap-chopsticks-app .wb-target{color:var(--shu-dark)}.snap-chopsticks-app .wb-timer{position:absolute;top:calc(var(--safe-t) + 112px);left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:baseline;padding:4px 12px;border-radius:999px;background:rgba(18,11,7,.7)}.snap-chopsticks-app .wb-timer output{font-size:22px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:2.4em;text-align:right}.snap-chopsticks-app .wb-timer.low output{color:var(--bad)}.snap-chopsticks-app .wb-label{display:block;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft)}.snap-chopsticks-app .wb-timer .wb-label{display:inline}.snap-chopsticks-app .wb-hint{position:absolute;left:50%;bottom:calc(var(--safe-b) + 92px);transform:translateX(-50%);margin:0;width:max-content;max-width:calc(100% - 28px);padding:8px 16px;border-radius:12px;background:rgba(244,232,212,.94);color:#2a1a10;font-size:15px;font-weight:800;text-align:center;box-shadow:0 3px 0 rgba(0,0,0,.3)}.snap-chopsticks-app .wb-hint:empty{display:none}.snap-chopsticks-app .wb-meter{position:absolute;left:50%;bottom:calc(var(--safe-b) + 30px);transform:translateX(-50%);width:min(460px,calc(100% - 32px));display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:var(--ink-soft)}.snap-chopsticks-app .wb-meter-track{position:relative;flex:1 1;height:20px;border-radius:10px;background:rgba(18,11,7,.78);border:1.5px solid rgba(244,232,212,.35);overflow:hidden}.snap-chopsticks-app .wb-meter-zone{position:absolute;left:47%;right:47%;top:0;bottom:0;background:rgba(143,209,106,.25)}.snap-chopsticks-app .wb-meter-mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--ink)}.snap-chopsticks-app .wb-bar{position:absolute;top:3px;bottom:3px;width:50%;--v:0;background:#e7c48d;transition:background .15s}.snap-chopsticks-app .wb-bar-l{right:50%;transform-origin:right;transform:scaleX(var(--v));border-radius:6px 0 0 6px}.snap-chopsticks-app .wb-bar-r{left:50%;transform-origin:left;transform:scaleX(var(--v));border-radius:0 6px 6px 0}.snap-chopsticks-app .wb-start{position:absolute;top:0;bottom:0;width:2px;--v:0.3;background:rgba(244,232,212,.45)}.snap-chopsticks-app .wb-start-l{right:calc(50% + 50% * var(--v))}.snap-chopsticks-app .wb-start-r{left:calc(50% + 50% * var(--v))}.snap-chopsticks-app .wb-meter[data-state=even] .wb-bar{background:var(--good)}.snap-chopsticks-app .wb-meter[data-strong=left] .wb-bar-l,.snap-chopsticks-app .wb-meter[data-strong=right] .wb-bar-r{background:var(--warn)}.snap-chopsticks-app .wb-meter[data-state=bad][data-strong=left] .wb-bar-l,.snap-chopsticks-app .wb-meter[data-state=bad][data-strong=right] .wb-bar-r{background:var(--bad)}.snap-chopsticks-app .wb-meter.cracking .wb-meter-track{border-color:var(--shu)}.snap-chopsticks-app .wb-pads{position:absolute;inset:auto 0 calc(var(--safe-b) + 18px) 0;display:flex;justify-content:space-between;padding:0 calc(var(--safe-r) + 18px) 0 calc(var(--safe-l) + 18px);pointer-events:none}.snap-chopsticks-app .wb-pad{pointer-events:auto;touch-action:none;min-width:108px;min-height:52px;border-radius:14px;border:1.5px solid rgba(244,232,212,.4);background:rgba(28,19,13,.85);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:800;box-shadow:0 4px 0 rgba(0,0,0,.4);transition:transform .06s,background .1s}.snap-chopsticks-app .wb-pad.on{background:var(--shu);border-color:var(--shu);transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.4)}.snap-chopsticks-app kbd{font-family:inherit;font-size:13px;font-weight:800;line-height:1;padding:5px 8px;border-radius:6px;background:#f4e8d4;color:#2a1a10}@media (hover:none),(pointer:coarse){.snap-chopsticks-app .wb-pads,.snap-chopsticks-app kbd{display:none}}.snap-chopsticks-app .wb-fingers{position:absolute;inset:0;z-index:24;pointer-events:none}.snap-chopsticks-app:not([data-phase=play]) .wb-fingers{display:none}.snap-chopsticks-app .wb-finger{position:absolute;left:0;top:0;width:0;height:0;--f:0}.snap-chopsticks-app .wb-finger i{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border-radius:50%;border:3px solid rgba(244,232,212,.85);background:rgba(255,90,31,calc(.12 + var(--f) * .45));transform:scale(calc(.8 + var(--f) * .35))}.snap-chopsticks-app .wb-hand{position:absolute;z-index:24;left:-36px;top:-8px;width:72px;height:72px;pointer-events:none;opacity:0;transition:opacity .25s;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.snap-chopsticks-app .wb-hand.show{opacity:.95}.snap-chopsticks-app:not([data-phase=play]) .wb-hand{display:none}.snap-chopsticks-app .wb-banner{position:absolute;z-index:26;left:50%;top:36%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;font-size:clamp(42px,9vw,76px);font-weight:900;letter-spacing:2px;white-space:nowrap;color:var(--shu);-webkit-text-stroke:3px #fff6e8;paint-order:stroke fill;text-shadow:0 4px 0 rgba(0,0,0,.35)}.snap-chopsticks-app .wb-banner[data-kind=snap]{color:#fff6e8;-webkit-text-stroke:3px var(--shu)}.snap-chopsticks-app .wb-banner[data-kind=chip]{color:#fff6e8;-webkit-text-stroke:3px #7a2a12;font-size:clamp(30px,6vw,52px)}.snap-chopsticks-app .wb-banner.show{animation:wb-pop .9s ease-out forwards}@keyframes wb-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-6deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}32%{transform:translate(-50%,-50%) scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-58%) scale(1)}}.snap-chopsticks-app .wb-sheet{position:absolute;z-index:40;top:calc(var(--safe-t) + 72px);left:calc(var(--safe-l) + 20px);max-height:calc(100dvh - var(--safe-t) - var(--safe-b) - 92px);width:min(420px,42vw);overflow-y:auto;overscroll-behavior:contain;padding:22px 22px 20px;touch-action:pan-y;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 50px rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:stretch;gap:10px;opacity:0;transform:translateX(-16px);transition:opacity .2s,transform .2s}.snap-chopsticks-app .wb-sheet.show{opacity:1;transform:none}.snap-chopsticks-app .wb-dialog{z-index:45}.snap-chopsticks-app .wb-sheet h2{margin:0 0 4px;font-size:22px;font-weight:900}.snap-chopsticks-app .wb-sheet p{margin:0;line-height:1.45}.snap-chopsticks-app .wb-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center}.snap-chopsticks-app .wb-primary,.snap-chopsticks-app .wb-secondary{min-height:52px;border-radius:14px;font-size:17px;font-weight:900;padding:10px 18px}.snap-chopsticks-app .wb-primary{border:0;background:var(--shu);color:#fff;box-shadow:0 5px 0 var(--shu-dark)}.snap-chopsticks-app .wb-primary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--shu-dark)}.snap-chopsticks-app .wb-primary:disabled{opacity:.5;cursor:default}.snap-chopsticks-app .wb-secondary{border:1.5px solid rgba(244,232,212,.35);background:var(--card-2);color:var(--ink);box-shadow:0 4px 0 rgba(0,0,0,.35)}.snap-chopsticks-app .wb-link{border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:15px;min-height:44px;color:var(--ink-soft)}.snap-chopsticks-app .wb-chip{min-height:44px;padding:6px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--card-2);font-size:13px;font-weight:800}.snap-chopsticks-app .wb-chip[aria-pressed=false]{opacity:.55;text-decoration:line-through}.snap-chopsticks-app .wb-menu-head{text-align:left}.snap-chopsticks-app .wb-menu-title{margin:0;font-family:var(--mincho);font-size:clamp(34px,4vw,46px);line-height:1.05;font-weight:800;color:#fbf1e0}.snap-chopsticks-app .wb-menu-title:after{content:"";display:inline-block;width:.32em;height:.32em;margin-left:.18em;background:var(--shu)}.snap-chopsticks-app .wb-menu-sub{font-size:14px;color:var(--ink-soft);margin-top:6px!important;font-weight:700}.snap-chopsticks-app .wb-levels-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}.snap-chopsticks-app .wb-total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink)}.snap-chopsticks-app .wb-levels{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px}.snap-chopsticks-app .wb-lv{position:relative;min-height:50px;border-radius:12px;border:1.5px solid rgba(244,232,212,.25);background:rgba(244,232,212,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 0}.snap-chopsticks-app .wb-lv-num{font-size:18px;font-weight:900;line-height:1}.snap-chopsticks-app .wb-lv-best{font-size:11px;font-weight:800;color:var(--ink-soft);min-height:1em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.snap-chopsticks-app .wb-lv-lock{display:none;color:var(--ink-soft)}.snap-chopsticks-app .wb-lv.locked{opacity:.45;cursor:not-allowed}.snap-chopsticks-app .wb-lv.locked .wb-lv-lock{display:block}.snap-chopsticks-app .wb-lv.locked .wb-lv-best{display:none}.snap-chopsticks-app .wb-lv.cleared{background:rgba(143,209,106,.14);border-color:rgba(143,209,106,.55)}.snap-chopsticks-app .wb-lv.cleared .wb-lv-best{color:var(--good)}.snap-chopsticks-app .wb-lv[aria-checked=true]{background:var(--shu);border-color:#ffd2bd;color:#fff}.snap-chopsticks-app .wb-lv[aria-checked=true] .wb-lv-best{color:#fff}.snap-chopsticks-app .wb-lv:focus-visible{outline:3px solid #fff6e8;outline-offset:2px}.snap-chopsticks-app .wb-level-card{padding:12px 14px;border-radius:14px;background:rgba(244,232,212,.07);border:1px solid var(--line)}.snap-chopsticks-app .wb-level-kicker{font-size:12px;font-weight:800;color:var(--ink-soft)}.snap-chopsticks-app .wb-level-name{font-size:20px!important;margin:2px 0 4px!important}.snap-chopsticks-app .wb-level-note{font-size:14px;color:var(--ink)}.snap-chopsticks-app .wb-level-meta{font-size:13px;font-weight:800;color:var(--shu);margin-top:6px!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.snap-chopsticks-app .wb-menu>.wb-primary{margin-top:2px}.snap-chopsticks-app .wb-settings{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.snap-chopsticks-app .wb-menu-foot{font-size:13px;text-align:center}.snap-chopsticks-app .wb-menu-foot a{color:var(--ink-soft)}.snap-chopsticks-app .wb-steps{margin:4px 0 8px;padding-left:22px;display:grid;grid-gap:8px;gap:8px;line-height:1.45;font-size:15px}.snap-chopsticks-app .wb-results{gap:8px}.snap-chopsticks-app .wb-r-kicker{font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--ink-soft)}.snap-chopsticks-app .wb-r-top{display:flex;align-items:center;gap:12px}.snap-chopsticks-app .wb-r-img{width:104px;height:104px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.snap-chopsticks-app .wb-r-name{font-family:var(--mincho);font-size:26px!important;line-height:1.15;color:#fbf1e0}.snap-chopsticks-app .wb-r-rank b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--shu);color:#fff;font-size:17px;margin-right:6px}.snap-chopsticks-app .wb-results[data-rank=S] .wb-r-rank b{background:#f6c64a;color:#3a2408}.snap-chopsticks-app .wb-results[data-rank=D] .wb-r-rank b{background:#6d5a4a}.snap-chopsticks-app .wb-r-rank span{font-weight:800;color:var(--ink-soft)}.snap-chopsticks-app .wb-r-scores{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-gap:6px;gap:6px}.snap-chopsticks-app .wb-r-scores>div{padding:8px 10px;border-radius:12px;background:rgba(244,232,212,.07);border:1px solid var(--line)}.snap-chopsticks-app .wb-r-scores output{display:block;font-size:22px;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.snap-chopsticks-app #wb-r-score{font-size:34px;line-height:1;color:var(--shu)}.snap-chopsticks-app .wb-r-diagram{width:100%;height:auto;aspect-ratio:560/120;border-radius:10px;background:rgba(244,232,212,.06)}.snap-chopsticks-app .wb-r-verdict{font-size:17px;font-weight:900}.snap-chopsticks-app .wb-results[data-passed=true] .wb-r-verdict{color:var(--good)}.snap-chopsticks-app .wb-results[data-passed=false] .wb-r-verdict{color:var(--warn)}.snap-chopsticks-app .wb-r-best{font-size:13px;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.snap-chopsticks-app .wb-new{color:var(--shu);margin-left:6px}.snap-chopsticks-app .wb-r-unlock{font-size:14px;font-weight:800;color:#f6c64a}.snap-chopsticks-app .wb-r-tips{margin:0;padding:8px 12px 8px 28px;border-radius:12px;background:rgba(255,90,31,.1);border:1px solid rgba(255,90,31,.3);font-size:13.5px;line-height:1.45;display:grid;grid-gap:4px;gap:4px}.snap-chopsticks-app .wb-r-tips:empty{display:none}.snap-chopsticks-app .wb-r-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:2px}.snap-chopsticks-app .wb-r-actions .wb-link,.snap-chopsticks-app .wb-r-actions .wb-primary{grid-column:1/-1}.snap-chopsticks-app .wb-results>*{order:3}.snap-chopsticks-app .wb-results>.wb-r-kicker,.snap-chopsticks-app .wb-results>.wb-r-scores,.snap-chopsticks-app .wb-results>.wb-r-top{order:0}.snap-chopsticks-app .wb-results>.wb-r-verdict{order:1}.snap-chopsticks-app .wb-results>.wb-r-actions{order:2}.snap-chopsticks-app .wb-share-note{font-size:13px;color:var(--ink-soft);min-height:1em;text-align:center}.snap-chopsticks-app #snap-chopsticks-leaderboard{width:100%}.snap-chopsticks-app .wb-toast{position:absolute;z-index:60;left:50%;bottom:calc(var(--safe-b) + 130px);transform:translate(-50%,10px);padding:8px 14px;border-radius:10px;background:rgba(244,232,212,.95);color:#2a1a10;font-size:14px;font-weight:800;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.snap-chopsticks-app .wb-toast.show{opacity:1;transform:translate(-50%)}.snap-chopsticks-app .wb-webgl-error{position:absolute;inset:auto 20px 40% 20px;z-index:80;text-align:center;font-weight:800}.snap-chopsticks-app .wb-loading{position:absolute;inset:0;z-index:70;display:none;place-items:center;background:#120b07;padding:20px}.snap-chopsticks-app .wb-loading.show{display:grid}@media (max-aspect-ratio:4/5),(max-width:700px){.snap-chopsticks-app .wb-sheet{top:auto;left:0;right:0;bottom:0;width:auto;max-height:min(64dvh,620px);border-radius:22px 22px 0 0;padding:18px 16px calc(var(--safe-b) + 16px);transform:translateY(24px)}.snap-chopsticks-app .wb-results{max-height:min(60dvh,620px)}.snap-chopsticks-app .wb-dialog{max-height:86dvh}.snap-chopsticks-app .wb-menu-title{font-size:30px}.snap-chopsticks-app .wb-brand span{display:none}.snap-chopsticks-app .wb-r-img{width:76px;height:76px}.snap-chopsticks-app .wb-r-name{font-size:21px!important}.snap-chopsticks-app .wb-tag{top:calc(var(--safe-t) + 64px)}.snap-chopsticks-app .wb-timer{top:calc(var(--safe-t) + 106px)}}@media (max-height:500px){.snap-chopsticks-app .wb-topbar{top:calc(var(--safe-t) + 8px)}.snap-chopsticks-app .wb-tag{top:calc(var(--safe-t) + 12px);padding:4px 10px;font-size:12px}.snap-chopsticks-app .wb-timer{top:auto;bottom:calc(var(--safe-b) + 64px);left:calc(var(--safe-l) + 14px);transform:none}.snap-chopsticks-app .wb-hint{bottom:auto;top:calc(var(--safe-t) + 58px);font-size:13px;padding:5px 12px}.snap-chopsticks-app .wb-meter{bottom:calc(var(--safe-b) + 12px);width:min(380px,50vw)}.snap-chopsticks-app .wb-pads{bottom:calc(var(--safe-b) + 8px)}.snap-chopsticks-app .wb-pad{min-height:46px;min-width:96px}.snap-chopsticks-app .wb-sheet{top:calc(var(--safe-t) + 60px);bottom:calc(var(--safe-b) + 8px);max-height:none;padding:14px 16px;gap:7px;width:min(400px,50vw)}.snap-chopsticks-app .wb-menu-title{font-size:26px}.snap-chopsticks-app .wb-menu-sub{display:none}.snap-chopsticks-app .wb-lv{min-height:44px}.snap-chopsticks-app .wb-r-img{width:56px;height:56px}.snap-chopsticks-app .wb-r-name{font-size:20px!important}.snap-chopsticks-app .wb-r-scores output{font-size:18px}.snap-chopsticks-app #wb-r-score{font-size:26px}.snap-chopsticks-app .wb-primary,.snap-chopsticks-app .wb-secondary{min-height:46px}}@media (max-height:500px) and (max-width:700px){.snap-chopsticks-app .wb-sheet{top:auto}}@media (prefers-reduced-motion:reduce){.snap-chopsticks-app .wb-sheet{transition:none}.snap-chopsticks-app.snapped .wb-scene{animation:none}}