body.game-body.choi-body{background:#f7f4ec;color:#283d40}.choi-primary,.choi-secondary,.choi-icon-button,.choi-filters button{font:inherit;font-weight:700;min-height:var(--tap-min);font-size:var(--fs-ui-button);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;text-decoration:none;line-height:1.4;touch-action:manipulation}.choi-primary{background:#244e4b;color:#fffdf5;border:1px solid #244e4b;padding:10px 19px;box-shadow:0 4px #173b38}.choi-primary:active{transform:translateY(2px);box-shadow:0 2px #173b38}.choi-secondary{background:#fffdf6;color:#345852;border:1px solid #d2d8ca;padding:10px 14px}.choi-primary:disabled{opacity:.5;cursor:wait}.choi-primary svg,.choi-secondary svg{width:25px;height:25px}.choi-primary>span:has(svg){display:contents}.choi-primary:focus-visible,.choi-secondary:focus-visible,.choi-icon-button:focus-visible,.choi-card:focus-visible,.choi-filters button:focus-visible,.choi-pad:focus-visible,.choi-trigger:focus-visible,.choi-confirm:focus-visible{outline:3px solid #d58b38;outline-offset:3px}.choi-home{max-width:1120px;margin:auto;padding:22px 24px 50px}.choi-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0 28px}.choi-eyebrow{font-size:13px;color:#68796e}.choi-hero h1{font-size:clamp(32px,5vw,48px);line-height:1.3;margin:5px 0 8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;letter-spacing:.03em}.choi-beta{font-size:11px;letter-spacing:0;padding:3px 7px;border:1px solid #c9cbbb;color:#798374;border-radius:6px;font-weight:500}.choi-hero p{font-size:15px;color:#68796e;margin:0}.choi-hero-actions{display:flex;flex-direction:column;align-items:center;gap:9px}.choi-hero-actions>span{font-size:12px;color:#718072}.choi-filters{display:flex;gap:7px;margin:0 0 20px;flex-wrap:wrap}.choi-filters button{background:transparent;border:1px solid #d9ddcf;color:#68776a;padding:8px 13px;border-radius:999px;font-size:13px}.choi-filters svg{width:24px;height:24px}.choi-filters button[aria-pressed=true]{background:#244e4b;color:#fffdf5;border-color:#244e4b}.choi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.choi-card{position:relative;min-width:0;border-radius:20px;overflow:hidden;color:inherit;text-decoration:none;background:#fffdf8;border:1px solid #e2e1d3;box-shadow:0 3px #dce0d260;transition:transform .15s,box-shadow .15s}.choi-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #344c3e17}.choi-card-art{position:relative;aspect-ratio:1/1.15;background:#e7ece1;overflow:hidden}.choi-card-art img,.choi-card-art canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.choi-card-art canvas{opacity:0;transition:opacity .3s}.choi-card[data-preview=ready] canvas{opacity:1}.choi-card[data-featured=true]{grid-column:span 2}.choi-card[data-featured=true] .choi-card-art{aspect-ratio:2/1.15}.choi-card[data-featured=true] canvas,.choi-card[data-featured=true] img{object-fit:contain;background:#152e3a}.choi-card[data-featured=true][data-game-card=sushi-slide] .choi-card-art,.choi-card[data-featured=true][data-game-card=eraser-flick] .choi-card-art{background:#dccca9}.choi-card-no{position:absolute;top:10px;left:11px;padding:3px 7px;border-radius:8px;background:#fffcf2e8;color:#35584f;font:700 11px ui-monospace,monospace;z-index:1}.choi-card-play{position:absolute;bottom:11px;right:11px;width:35px;height:35px;display:grid;place-items:center;background:#fffcf2e8;color:#244e4b;border-radius:50%;z-index:1}.choi-card-play svg{width:23px;height:23px}.choi-card-copy{padding:13px 14px 15px}.choi-card-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.choi-card h2{font-size:17px;line-height:1.45;margin:0;letter-spacing:0}.choi-card-gesture{width:30px;height:30px;flex:none;color:#6c8778}.choi-card-gesture svg{width:100%;height:100%}.choi-card-meta{font-size:11px;color:#83917f;display:flex;justify-content:space-between;margin-top:8px;gap:6px}.choi-card-record{color:#547867;white-space:nowrap}.choi-status{min-height:1em;font-size:13px;color:#718072}.choi-record-tools{margin-top:28px;padding:14px 0;border-top:1px solid #d9ddcf;color:#718072;font-size:13px}.choi-record-tools summary{min-height:var(--tap-min);display:flex;align-items:center;cursor:pointer}.choi-record-tools summary:before{content:"＋";margin-right:8px}.choi-record-tools[open] summary:before{content:"−"}.choi-record-tools p{max-width:650px;line-height:1.8}.choi-record-tools>div{display:flex;gap:10px;flex-wrap:wrap}.choi-game{--deck-height:112px;--bottom-height:var(--deck-height);height:calc(100svh - 74px);max-height:1100px;max-width:620px;min-height:360px;margin:0 auto;display:grid;grid-template-rows:46px minmax(0,1fr) auto;position:relative;padding:0 10px 8px;gap:6px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.choi-game[data-mode=running],.choi-game[data-mode=paused],.choi-game[data-mode=result]{position:fixed;inset:0;z-index:500;background:#f7f4ec;height:100svh;max-height:none;padding-top:env(safe-area-inset-top);padding-bottom:max(6px,env(safe-area-inset-bottom));max-width:none;padding-inline:max(10px,calc((100vw - 620px)/2));gap:4px}body[data-game-screen=game] #menu,body[data-game-screen=game]>.game-header{visibility:hidden;pointer-events:none}.choi-play-top{display:flex;align-items:center;gap:8px;min-width:0;position:relative}.choi-heading{display:flex;align-items:center;gap:8px;min-width:0}.choi-heading h1{font-size:18px;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choi-back{display:grid;place-items:center;min-width:var(--tap-min);min-height:var(--tap-min);font-size:32px;text-decoration:none;color:#365e54}.choi-hud{display:none;align-items:center;gap:12px;font-weight:750;font-size:16px;font-variant-numeric:tabular-nums;min-width:0}.choi-time{font-size:14px;color:#778778}.choi-play-actions{margin-left:auto;display:flex;gap:4px}.choi-icon-button{width:44px;height:44px;padding:9px;border:0;background:transparent;color:#537567;flex:none}.choi-icon-button>span{display:contents}.choi-icon-button svg{width:26px;height:26px}.choi-icon-button:disabled{opacity:.25}.choi-game[data-mode=ready] .choi-exit,.choi-game[data-mode=ready] #choi-pause{display:none}.choi-game:not([data-mode=ready]) .choi-heading{display:none}.choi-game:not([data-mode=ready]) .choi-hud{display:flex}.choi-challenge{position:absolute;z-index:2;top:50px;left:16px;padding:4px 9px;border-radius:8px;background:#fffdf4df;color:#628073;font-size:11px;pointer-events:none;margin:0}.choi-stage{min-width:0;min-height:0;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:20px;background:#e6ebdf;isolation:isolate}.choi-stage canvas{width:100%;height:100%;object-fit:contain;display:block;min-height:0;min-width:0;touch-action:none;outline-offset:-4px}.choi-stage canvas:focus-visible{outline:3px solid #d58b38}.choi-bottom{min-width:0;position:relative}.choi-controls{height:var(--deck-height);display:flex;align-items:stretch;gap:9px;padding:6px 0 0;touch-action:none}.choi-pad,.choi-trigger,.choi-confirm{position:relative;display:grid;place-items:center;border-radius:22px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #c6d5c6;background:#e3ebde;color:#456d60;overflow:hidden;cursor:pointer;min-height:var(--tap-min);outline-offset:-4px}.choi-pad{flex:1;background:radial-gradient(ellipse,#f8f9ee 10%,#dfe9db 95%);border:2px solid #c6d7c5}.choi-pad:after{content:"";position:absolute;inset:13px;border:1px dashed #96b39d;opacity:.5;border-radius:14px}.choi-pad-guide{width:62px;height:62px;opacity:.34;display:block}.choi-pad-guide svg{width:100%;height:100%}.choi-pad-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border:2px solid #527e69;border-radius:50%;background:#8cae8e55;transform:translate(var(--thumb-x,0px),var(--thumb-y,0px));opacity:0}.choi-pad[data-held=true] .choi-pad-knob{opacity:1}.choi-pad[data-held=true] .choi-pad-guide{opacity:.12}.choi-trigger{flex:1;background:#2f6557;color:#fff9df;border:1px solid #275347;box-shadow:0 4px #1f4a40;margin-bottom:4px;font:inherit}.choi-trigger:active,.choi-trigger[data-held=true]{background:#3b806b;box-shadow:0 1px #1f4a40;transform:translateY(3px)}.choi-trigger>svg{width:59px;height:59px;position:relative;z-index:1}.choi-trigger-fill{position:absolute;bottom:0;left:0;right:0;height:calc(var(--power,0)*100%);background:#a7d48144}.choi-confirm{flex:0 0 74px;background:#fffdf4;border:2px solid #9cb69c}.choi-confirm svg{width:45px;height:45px}.choi-confirm:active{background:#d6e4cc}.choi-controls[data-input=dual] .choi-trigger{flex:0 0 30%}.choi-controls[data-input=direct]:not(:has(.choi-confirm)){display:none}.choi-game[data-input=direct]{--deck-height:58px}.choi-game[data-input=direct][data-confirm=""]{--deck-height:0px}.choi-game[data-input=direct] .choi-confirm{flex:1}.choi-game[data-input=direct] .choi-confirm svg{height:33px}.choi-pad-hand,.choi-trigger-hand{position:absolute;width:48px;height:48px;top:50%;left:50%;color:#d8a66a;filter:drop-shadow(1px 2px 1px #152b4040);z-index:2;display:none;pointer-events:none;transform:translate(calc(-10px + var(--demo-x,0px)),calc(-8px + var(--demo-y,0px)))}.choi-pad-hand svg,.choi-trigger-hand svg{width:100%;height:100%}.choi-game[data-mode=ready] .choi-pad-hand,.choi-game[data-mode=ready] .choi-trigger-hand{display:block}.choi-ready-row{display:flex;align-items:center;justify-content:center;gap:15px;height:64px}.choi-ready-row .choi-primary{min-width:190px;font-size:18px}.choi-gesture{width:38px;height:38px;color:#628271;display:block}.choi-gesture svg{width:100%;height:100%}.choi-game[data-mode=ready]{--deck-height:84px}.choi-game[data-mode=ready][data-input=direct]{--deck-height:0px}.choi-overlay{padding:5px 0 0}.choi-panel{background:#fffdf5;border:1px solid #dce2d0;border-radius:20px;padding:14px 16px;text-align:center;max-height:55svh;overflow:auto;overscroll-behavior:contain}.choi-panel h2{font-size:19px;line-height:1.3;margin:0 0 4px;outline:none}.choi-panel-detail{font-size:12px;line-height:1.5;color:#78846c;margin:0}.choi-result-line{display:flex;align-items:center;justify-content:center;gap:17px;margin:4px 0}.choi-result-score{font-size:34px;font-weight:800;color:#315e50;line-height:1.2;margin:0}.choi-result-score span{font-size:14px;margin-left:5px}.choi-result-line>p:last-child{color:#d4992e;font-size:22px;letter-spacing:3px;margin:0}.choi-result-best{font-size:12px;margin:3px 0 10px;color:#7b8c5a}.choi-result-actions,.choi-pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choi-next{font-size:13px}.choi-result-actions .choi-primary,.choi-pause-actions .choi-primary{font-size:15px;padding-inline:8px}.choi-record-actions{margin-top:8px;font-size:12px;color:#71816e}.choi-record-actions summary{cursor:pointer;min-height:var(--tap-min);display:flex;align-items:center;justify-content:center}.choi-record-actions>div{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.choi-record-actions button{font-size:12px}.choi-result-status{font-size:12px;line-height:1.5;color:#867a54;margin:8px 0 0}.choi-result-status:empty{display:none}.choi-game[data-mode=result] .choi-controls,.choi-game[data-mode=paused] .choi-controls{display:none}.choi-pause-actions{margin-top:14px}#choi-share-fallback{margin-top:10px;font-size:12px}#choi-share-url{width:100%;font-size:var(--fs-input);min-height:var(--tap-min);border:1px solid #a5b6a1;padding:7px;border-radius:6px;user-select:text;-webkit-user-select:text;touch-action:auto}.choi-error{padding:16px;background:#fff1db;color:#8b5239;border-radius:10px}@media (max-width:740px){.choi-home{padding:15px 14px 32px}.choi-hero{gap:12px;align-items:flex-start;padding-bottom:23px}.choi-hero h1{font-size:32px;gap:8px}.choi-hero-actions{padding-top:10px}.choi-hero-actions .choi-primary{padding:10px;min-width:51px}.choi-hero-actions .choi-random-label{display:none}.choi-hero-actions>span{font-size:10px}.choi-hero p{font-size:13px}.choi-filters{gap:5px}.choi-filters button{padding:8px 10px;font-size:12px;gap:5px}.choi-filters svg{width:22px;height:22px}.choi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.choi-card-copy{padding:11px 11px 12px}.choi-card h2{font-size:15px}.choi-card-gesture{width:25px;height:25px}.choi-card-meta{font-size:10px}.choi-card{border-radius:17px}.choi-card[data-featured=true] .choi-card-art{aspect-ratio:1.7/1}.choi-game,.choi-game[data-mode=running],.choi-game[data-mode=paused],.choi-game[data-mode=result]{padding-inline:7px}.choi-play-top{gap:4px}.choi-play-actions{gap:0}.choi-heading h1{font-size:17px}}@media (max-height:650px) and (orientation:portrait){.choi-game{--deck-height:92px;gap:3px}.choi-game[data-mode=ready]{--deck-height:68px}.choi-game[data-input=direct]{--deck-height:50px}.choi-game[data-input=direct][data-confirm=""],.choi-game[data-mode=ready][data-input=direct]{--deck-height:0px}.choi-ready-row{height:58px}.choi-panel{padding:9px 12px}.choi-panel h2{font-size:16px}.choi-result-score{font-size:27px}.choi-result-best{margin-bottom:6px}.choi-record-actions{margin-top:2px}.choi-record-actions summary{min-height:var(--tap-min)}.choi-trigger>svg{width:49px;height:49px}}@media (orientation:landscape) and (max-height:600px){.choi-game,.choi-game[data-mode=running],.choi-game[data-mode=paused],.choi-game[data-mode=result]{max-width:none;padding:2px 14px 6px;height:100svh;grid-template-columns:minmax(0,1fr) minmax(220px,34%);grid-template-rows:44px minmax(0,1fr);gap:5px 18px}.choi-game[data-mode=ready]{height:calc(100svh - 70px)}.choi-play-top{grid-column:1/-1}.choi-bottom{align-self:center}.choi-game{--deck-height:150px}.choi-game[data-mode=ready]{--deck-height:100px}.choi-panel{max-height:calc(100svh - 65px)}.choi-stage{height:100%}.choi-game[data-input=direct] .choi-bottom{align-self:end}}@media (prefers-reduced-motion:reduce){.choi-card,.choi-card-art canvas{transition:none}.choi-card:hover{transform:none}.choi-pad-hand,.choi-trigger-hand{transform:translate(-10px,-8px)}}.choi-card[data-featured=true]{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:235px;background:#fffdf8}.choi-card[data-featured=true] .choi-card-art{order:2;aspect-ratio:auto;min-height:235px;background:var(--game-bg,#e7ece1)}.choi-card[data-featured=true] canvas,.choi-card[data-featured=true] img{background:var(--game-bg,#e7ece1)}.choi-card[data-featured=true] .choi-card-copy{order:1;align-self:center;padding:21px}.choi-card[data-featured=true] .choi-card-title{flex-direction:column;align-items:flex-start;gap:12px}.choi-card[data-featured=true] h2{font-size:21px}.choi-card[data-featured=true] .choi-card-gesture{width:42px;height:42px;order:-1}.choi-card[data-featured=true] .choi-card-meta{flex-direction:column;gap:6px;margin-top:15px}.choi-card[data-featured=true] .choi-card-no{left:auto;right:10px}@media (max-width:740px){.choi-card[data-featured=true] .choi-card-art{aspect-ratio:auto}.choi-card[data-featured=true] .choi-card-copy{padding:19px}.choi-card[data-featured=true] h2{font-size:21px}}body.choi-body astro-dev-toolbar{display:none}.choi-game[data-mode=ready][data-input=direct] .choi-controls{display:none}.choi-game,.choi-controls,.choi-panel{box-sizing:border-box}@media (orientation:landscape) and (max-height:600px){.choi-game{min-height:0}}.choi-confirm:disabled{opacity:.4;cursor:default}.choi-game[data-mode=ready] .choi-controls{display:none}.choi-game[data-mode=ready] .choi-stage canvas{opacity:.42}.choi-ready-row{position:absolute;inset:0;height:auto;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:24px;background:#f7f4ec45;backdrop-filter:blur(1px);z-index:3;text-align:center}.choi-ready-row .choi-gesture{width:62px;height:62px;color:#416c64}.choi-ready-gesture{font-size:17px;font-weight:700;line-height:1.6;color:#345b56;margin:0 0 6px}.choi-ready-row .choi-primary{min-width:200px;min-height:58px;font-size:21px;box-shadow:0 5px #173b38}.choi-ready-sound{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--tap-min);padding:7px 12px;font:inherit;font-size:var(--fs-ui-label);font-weight:600;border:0;background:#fffdf2b8;border-radius:999px;color:#496e64;cursor:pointer;touch-action:manipulation}.choi-ready-sound svg{width:24px;height:24px}.choi-game[data-mode=ready] #choi-play-sound{display:none}.choi-card-meta:has(.choi-card-record:empty){display:none}.choi-controls[data-input=direct] .choi-confirm:has(.choi-confirm-label){display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:16px;font-weight:700}.choi-confirm-label{font-size:var(--fs-ui-label)}.choi-result-actions>.choi-next{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);color:#567966;text-decoration:none;font-size:13px}.choi-result-actions>.choi-next:hover{text-decoration:underline}
