:root{--bg:#fdfcfa;--fg:#23211e;--muted:#6b6660;--rule:#e4e0d9;--card:#fff;--accent:#c8412f;--accent-fg:#fff;--work:#c8412f;--rest:#2f7a4f;--prepare:#2f5f8a;--done:#23211e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#171614;--fg:#e9e6e1;--muted:#a09a92;--rule:#302d29;--card:#1e1d1a;--accent:#e0604d;--accent-fg:#1a0c09;--work:#b23a2a;--rest:#276a43;--prepare:#28527a;--done:#171614;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:17px;line-height:1.6}#app{min-height:100dvh}button,input{font:inherit;color:inherit}button{touch-action:manipulation;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.noscript{padding:1.5rem}.setup{max-width:30rem;padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 6.5rem);margin:0 auto}.setup h1{color:var(--muted);margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.presets{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.preset{border:1px solid var(--rule);background:var(--card);border-radius:999px;align-items:stretch;display:flex;overflow:hidden}.preset.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.preset button{background:0 0;border:0;padding:.4rem .9rem;font-size:.95rem}.preset .preset-delete{opacity:.7;padding:.4rem .8rem .4rem .2rem}.fields{gap:.6rem;display:grid}.field{background:var(--card);border:1px solid var(--rule);border-radius:14px;justify-content:space-between;align-items:center;padding:.5rem .5rem .5rem 1rem;display:flex}.field label{font-weight:600}.stepper{align-items:center;gap:.25rem;display:flex}.step{border:1px solid var(--rule);background:var(--bg);border-radius:12px;width:3rem;height:3rem;font-size:1.4rem;line-height:1}.step:active{background:var(--rule)}.value{justify-content:center;align-items:baseline;gap:.15rem;min-width:5.5rem;display:flex}.value input{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;width:3.2rem;padding:0;font-size:1.6rem;font-weight:700}.value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.value input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit{color:var(--muted);font-size:.9rem}.total{text-align:center;color:var(--muted);margin:1rem 0}.total-value{color:var(--fg);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.toggle{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.toggle input{width:1.5rem;height:1.5rem;accent-color:var(--accent)}.save-row{gap:.5rem;margin-top:1rem;display:flex}.save-row input{border:1px solid var(--rule);background:var(--card);border-radius:10px;flex:1;min-width:0;padding:.6rem .8rem}.secondary{border:1px solid var(--rule);background:var(--card);border-radius:10px;padding:.6rem 1.1rem}.start-bar{padding:.75rem 1rem calc(env(safe-area-inset-bottom) + .75rem);background:linear-gradient(to top, var(--bg) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.start{background:var(--accent);width:100%;max-width:30rem;color:var(--accent-fg);border:0;border-radius:16px;margin:0 auto;padding:1rem;font-size:1.3rem;font-weight:700;display:block}.start:active{filter:brightness(.9)}.run{--phase:var(--prepare);padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 1rem);background:var(--phase);color:#fff;-webkit-user-select:none;user-select:none;flex-direction:column;transition:background-color .25s;display:flex;position:fixed;inset:0}.run[data-phase=work]{--phase:var(--work)}.run[data-phase=rest]{--phase:var(--rest)}.run[data-phase=done]{--phase:var(--done)}.run-top{justify-content:space-between;align-items:baseline;display:flex}.phase-label{letter-spacing:.05em;margin:0;font-size:2rem;font-weight:800}.round{font-variant-numeric:tabular-nums;opacity:.9;margin:0;font-size:1.2rem}.run-middle{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.clock{font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:0;font-size:min(48vw,42vh);font-weight:800;line-height:1}.next{opacity:.85;margin:.5rem 0 0;font-size:1.2rem}.paused-note{margin:.25rem 0 0;font-size:1.1rem;font-weight:700;display:none}.run[data-running=false] .paused-note{display:block}.run[data-running=false] .clock{opacity:.6}.bar{background:#ffffff40;border-radius:3px;height:6px;overflow:hidden}.bar-fill{--progress:0;transform-origin:0;width:100%;height:100%;transform:scaleX(var(--progress));background:#fff}.total-left{text-align:center;font-variant-numeric:tabular-nums;opacity:.9;margin:.4rem 0 .9rem}.controls{grid-template-columns:1fr 1.4fr 1fr;gap:.6rem;display:grid}.control{color:#fff;background:#ffffff1f;border:2px solid #fff9;border-radius:16px;min-height:4.5rem;font-size:1.1rem;font-weight:700;position:relative;overflow:hidden}.control.primary{color:var(--phase);background:#fff;border-color:#fff;font-size:1.3rem}.control:active{filter:brightness(.9)}.control.hold{-webkit-touch-callout:none}.control.hold span{flex-direction:column;line-height:1.2;display:flex;position:relative}.control.hold small{opacity:.8;font-size:.7rem;font-weight:600}.control.hold:before{content:"";transform-origin:0;background:#ffffff59;position:absolute;inset:0;transform:scaleX(0)}.control.hold.holding:before{transition:transform .8s linear;transform:scaleX(1)}.done-box,.run[data-phase=done]>:not(.done-box){display:none}.run[data-phase=done] .done-box{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.done-title{margin:0;font-size:4rem;font-weight:800}.done-total{opacity:.85;font-variant-numeric:tabular-nums;margin:0 0 2rem;font-size:1.2rem}.done-actions{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;max-width:26rem;display:grid}
