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:#eaf2ff;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:#5b5f8f;opacity:.22;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:#7c5cff;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:#1e184673;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.panel{color:#2d2752;box-sizing:border-box;background:#fff;border-radius:28px;width:100%;max-width:860px;padding:22px 26px 20px;box-shadow:0 16px 40px #140a3c4d}.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:#5a547f;font-size:16px;font-weight:700}.choices{flex:1;gap:10px;display:flex}.choice{color:#4a4470;min-height:66px;font:inherit;cursor:pointer;background:#f7f5ff;border:3px solid #e2ddf5;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:#7c5cff;border-color:#7c5cff;box-shadow:0 4px #5a3fd6}.choice-label{letter-spacing:1px;font-size:22px;font-weight:800}.choice-sub{opacity:.85;font-size:13px;font-weight:600}.hint{color:#6c6790;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}
