*{box-sizing:border-box}html,body{overscroll-behavior:none;background:linear-gradient(#20303c,#16222b);height:100%;margin:0;font:16px system-ui,sans-serif;overflow:hidden}.frame{--phone-width:440px;--fit-width:min(100vw, var(--phone-width));width:var(--fit-width);height:min(100dvh, calc(var(--fit-width) * 19.5 / 9));margin:auto;position:fixed;inset:0;overflow:hidden}@media (width>=520px){.frame{border-radius:24px;box-shadow:0 18px 50px #00000073}}.app{position:absolute;inset:0}.stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}.hud{top:max(10px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.count{color:#fff;text-shadow:0 2px 8px #0000004d;align-items:baseline;gap:4px;display:flex}.count-value{font-variant-numeric:tabular-nums;font-size:54px;font-weight:800;line-height:1}.count-unit{opacity:.9;font-size:18px;font-weight:700}.timer{color:#ff3d71;font-variant-numeric:tabular-nums;-webkit-text-stroke:4px #fff;paint-order:stroke fill;font-size:60px;font-weight:800;line-height:1}.timer.urgent{color:#ff1745;animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{50%{transform:scale(1.14)}}@media (prefers-reduced-motion:reduce){.timer.urgent{animation:none}}.hint{top:calc(max(10px, env(safe-area-inset-top)) + 62px);left:max(16px, env(safe-area-inset-left));color:#fff;text-shadow:0 1px 3px #0000004d;pointer-events:none;margin:0;font-size:13px;position:absolute}.controls{left:50%;bottom:max(24px, env(safe-area-inset-bottom));gap:20px;display:flex;position:absolute;transform:translate(-50%)}.spin{color:#ff5ea0;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#fff;border:3px solid #ff9ec4;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.spin.mirrored svg{transform:scaleX(-1)}.spin:active:not(:disabled){background:#ffeaf3;transform:scale(.94)}.spin:disabled{opacity:.4}.over{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));color:#fff;background:#00000073;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.over-title{margin:0;font-size:28px;font-weight:700}.over-score{margin:0;font-size:20px}.over button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:24px;min-width:160px;min-height:48px;padding:0 28px;font:700 16px system-ui,sans-serif}.over button:active{transform:scale(.96)}.over-again{color:#ff5ea0;background:#fff}.over-again:active{background:#ffeaf3}.over-quit{color:#fff;background:#ffffff29}.over-quit:active{background:#ffffff47}.title{padding:max(28px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-right));overscroll-behavior:contain;background:linear-gradient(#8fd8f4,#cdeefb);flex-direction:column;gap:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.title-head{text-align:center;color:#fff;text-shadow:0 2px 6px #00000038}.title-name{letter-spacing:.04em;margin:0;font-size:clamp(28px,9vw,40px);font-weight:800}.sets{flex-direction:column;gap:12px;margin-top:auto;display:flex}.sets-label{color:#fff;text-shadow:0 1px 3px #00000040;margin:0;font-size:13px;font-weight:700}.set-card{color:#2b3a44;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffffd9;border:3px solid #0000;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;min-height:96px;padding:14px 16px;display:grid}.set-card[aria-pressed=true]{background:#fff;border-color:#ff5ea0}.set-card:active{transform:scale(.99)}.set-title{font-size:18px;font-weight:700}.set-count{color:#6b7a85;font-variant-numeric:tabular-nums;font-size:13px}.set-samples{grid-column:1/-1;align-items:flex-end;gap:10px;height:56px;display:flex}.set-samples img{object-fit:contain;width:auto;height:100%}.start{color:#fff;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ff5ea0;border:none;border-radius:30px;min-height:60px;font:800 20px system-ui,sans-serif}.start:active{background:#f04a8f;transform:scale(.98)}.custom{padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));overscroll-behavior:contain;background:linear-gradient(#8fd8f4,#cdeefb);flex-direction:column;gap:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.custom-head{color:#fff;text-shadow:0 1px 4px #00000040;align-items:baseline;gap:12px;display:flex}.custom-title{margin:0;font-size:20px;font-weight:800}.link{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px 4px;font:600 14px system-ui,sans-serif}.notice{color:#b3305e;background:#ffffffd9;border-radius:14px;margin:0;padding:12px 14px;font-size:14px}.set-list,.set-edit{flex-direction:column;gap:12px;display:flex}.set-row{align-items:stretch;gap:8px;display:flex}.set-open{color:#2b3a44;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffffe0;border:none;border-radius:18px;flex:1;justify-content:space-between;align-items:baseline;gap:12px;min-height:64px;padding:14px 16px;display:flex}.set-custom{background:#ffffff8c;border-style:dashed;border-color:#ffffffe6}.icon-button{color:#b3305e;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffffb3;border:none;border-radius:16px;min-width:48px;min-height:48px;font-size:22px;font-weight:800}.icon-button:disabled{opacity:.4}.name-input{color:#2b3a44;background:#fff;border:2px solid #ffffffe6;border-radius:16px;min-height:52px;padding:0 14px;font:700 17px system-ui,sans-serif}.image-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.image-card{background:#ffffffe0;border-radius:16px;flex-direction:column;gap:8px;margin:0;padding:10px;display:flex}.image-card img{object-fit:contain;width:100%;height:96px}.image-card figcaption{justify-content:space-between;align-items:center;gap:8px;display:flex}.sizes{gap:4px;display:flex}.sizes button{color:#ff5ea0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #ffc9de;border-radius:12px;min-width:34px;min-height:44px;font:700 15px system-ui,sans-serif}.sizes button.chosen{color:#fff;background:#ff5ea0;border-color:#ff5ea0}.add-images{color:#fff;text-shadow:0 1px 3px #00000040;touch-action:manipulation;border:2px dashed #fffffff2;border-radius:18px;place-items:center;min-height:56px;font-weight:700;display:grid}.add-images input{display:none}.edit-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.edit-actions .start{flex:1}
