:root{color:#26241f;font-synthesis:none;-webkit-text-size-adjust:100%;background:#f9f7ef;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:900px;padding:18px max(16px, env(safe-area-inset-right)) 22px max(16px, env(safe-area-inset-left));margin:auto}header{margin-bottom:14px}.label{color:#6d6554;font-size:.74rem;font-weight:680}h1{letter-spacing:-.055em;margin:3px 0 0;font-size:clamp(1.45rem,4vw,2rem)}h2{margin:0 0 8px;font-size:.88rem}.stage{background:radial-gradient(at 50% 42%,#fff8dd,#ede3c5 90%);border-radius:24px;height:clamp(300px,45svh,440px);position:relative;overflow:hidden}canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}canvas:active{cursor:grabbing}.stage-label,.views{position:absolute;top:12px}.stage-label{pointer-events:none;background:#fffcf3;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:.73rem;font-weight:700;display:flex;left:12px}.stage-label i{background:#a87922;border-radius:50%;width:7px;height:7px}.views{background:#fffcf3;border-radius:999px;gap:2px;padding:2px;display:flex;right:12px}button{color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#f4f1e9;border:1px solid #0000;font-size:.8rem;font-weight:640}button:focus-visible{outline-offset:1px;outline:2px solid #725213}button[aria-pressed=true]{background:#f8df8b;border-color:#e8cb72}button:disabled{opacity:.45}.views button{background:0 0;border-radius:999px;min-width:42px;min-height:34px;padding:0 7px}.views button[aria-pressed=true]{background:#f8df8b}.controls{gap:10px;margin-top:10px;display:grid}.panel{background:#fffdf8;border:1px solid #eae5d8;border-radius:16px;padding:12px}.actions{grid-template-columns:1fr 1fr;align-content:start;gap:0 8px;display:grid}.actions h2{grid-column:1/-1}.choices{gap:4px;display:flex}.choices button{white-space:nowrap;border-radius:9px;flex:1;min-width:0;min-height:44px;padding:0 5px}.directions button{font-size:1.08rem}.part-grid{grid-template-columns:1fr 1fr;gap:9px 12px;display:grid}.part{min-width:0}.part>span{color:#6d6554;margin-bottom:4px;font-size:.73rem;font-weight:650;display:block}#failure{text-align:center;position:absolute;inset:45% 16px auto}@media (width>=720px){.controls{grid-template-columns:2fr 3fr}.actions{grid-template-columns:1fr;gap:6px}.actions h2{grid-column:auto}}
