html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#fff4e2;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}canvas{display:block;position:fixed;inset:0}#backdrop{z-index:0}#stage{z-index:1;touch-action:none}.corner{z-index:5;top:max(4px, env(safe-area-inset-top));color:#8a6342;opacity:.24;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:50%;place-items:center;width:64px;height:64px;padding:0;transition:opacity .2s;display:grid;position:fixed}.corner-right{right:max(4px, env(safe-area-inset-right))}.corner>svg{z-index:1;position:relative}.hold-ring{pointer-events:none;position:absolute;inset:0}.hold-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke:#0f9f94;stroke-width:5px;stroke-linecap:round;stroke-dasharray:170;stroke-dashoffset:170px;transition:stroke-dashoffset .25s ease-out}.corner.holding{opacity:.85}.corner.holding .hold-ring circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}.overlay{z-index:20;box-sizing:border-box;background:#46280a6b;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.panel{color:#3d2a17;box-sizing:border-box;background:#fff;border-radius:28px;width:100%;max-width:860px;padding:22px 26px 20px;box-shadow:0 16px 40px #46230047}.panel-title{text-align:center;margin-bottom:12px;font-size:22px;font-weight:800}.rows{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px 22px;display:grid}.row{flex-direction:column;gap:6px;display:flex}.row-title{color:#7d5c3c;font-size:16px;font-weight:700}.choices{flex:1;gap:10px;display:flex}.choice{color:#5a4128;min-height:66px;font:inherit;cursor:pointer;background:#fff8ee;border:3px solid #f3e3cc;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 8px;display:flex}.choice.on{color:#fff;background:#12a596;border-color:#12a596;box-shadow:0 4px #0b7d72}.choice-label{letter-spacing:1px;font-size:22px;font-weight:800}.choice-sub{opacity:.85;font-size:13px;font-weight:600}.choice-script{align-items:center;height:30px;display:flex}.choice-script svg{width:auto;height:28px;display:block}.hint{color:#8a6d52;margin:12px 2px 4px;font-size:14px}.done{color:#fff;min-width:180px;min-height:64px;font:inherit;cursor:pointer;background:#2ecc71;border:0;border-radius:20px;margin:12px auto 0;font-size:22px;font-weight:800;display:block;box-shadow:0 5px #1e9c55}
