:root{--bg:#f4f1ea;--surface:#fffdf8;--ink:#1b1d22;--muted:#5d6068;--line:#d9d4c8;--focus:#1d4ed8;--work:#d93a14;--work-bg:#fbe3d9;--rest:#0f7a6a;--rest-bg:#d7efe9;--ready:#8a5a00;--ready-bg:#f6e8c4;--error:#b42318;--on-accent:#fff;--radius:14px;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--surface:#1d2026;--ink:#f1efe9;--muted:#a3a6ad;--line:#353943;--focus:#8ab4ff;--work:#ff7a52;--work-bg:#3a1d14;--rest:#4fd1b5;--rest-bg:#0f2e29;--ready:#f2c14e;--ready-bg:#33290f;--error:#ff8a80;--on-accent:#14161a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);min-height:100dvh;margin:0;font:17px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}main{max-width:640px;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}[hidden]{display:none!important}a{color:inherit;text-underline-offset:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{background:var(--surface);z-index:10;border-radius:8px;padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{margin:8px 0 20px}.brand h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.2rem,10vw,3.2rem);font-weight:850;line-height:1}.brand h1:after{content:"";background:var(--work);width:.32em;height:.32em;box-shadow:.42em 0 0 var(--rest);border-radius:50%;margin-left:.12em;display:inline-block}.lede{color:var(--muted);max-width:34ch;margin:10px 0 0}form{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.field{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.grid{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}@media (min-width:560px){.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.field,.toggles{min-width:0}label,legend{font-weight:700;display:block}.hint{color:var(--muted);margin:2px 0 8px;font-size:.9rem}code{font-family:var(--mono);background:var(--bg);border-radius:5px;padding:1px 5px;font-size:.85em}.error,.status,.next,.log li span{overflow-wrap:anywhere;min-width:0}.error{color:var(--error);margin:6px 0 0;font-size:.92rem;font-weight:600}.error:empty,.status:empty{display:none}.status{color:var(--muted);margin:8px 0 0;font-size:.92rem}input[type=text],input[type=number],textarea{width:100%;font:inherit;color:inherit;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;min-height:46px;padding:10px 12px}textarea{resize:vertical;line-height:1.6}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}.lists{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.lists:empty{display:none}.lists-label{color:var(--muted);font-size:.9rem}.chip{border:1.5px solid var(--line);background:var(--bg);border-radius:999px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.chip button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-height:40px;font-size:.92rem}.chip-load{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 4px 0 14px;font-weight:600;overflow:hidden}.chip-del{flex:none;padding:0 12px 0 8px;color:var(--muted)!important;font-size:1.1rem!important}.chip button:hover{background:var(--line)}.chip button:focus-visible{outline-offset:-3px}.save-row{gap:8px;margin-top:10px;display:flex}.save-row input{flex:1;min-width:0}.stepper{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.stepper input{text-align:center;width:5.5rem;font-family:var(--mono);font-size:1.2rem;font-weight:700}.step{width:46px;padding:0!important;font-size:1.4rem!important}.estimate{color:var(--muted);margin:0 0 0 6px;font-size:.95rem}.toggles{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:4px 20px;margin:0;padding:12px 14px;display:flex}.toggles legend{padding:0 4px}.check{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:500;display:inline-flex}.check input{width:22px;height:22px;accent-color:var(--work)}.btn{font:inherit;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);touch-action:manipulation;border-radius:12px;padding:0 18px;font-weight:700}.btn:hover{border-color:var(--muted)}.btn-go{background:var(--ink);color:var(--bg);border-color:var(--ink);min-height:58px;font-size:1.15rem}.btn-go:hover{border-color:var(--ink);opacity:.92}.btn-small{min-height:40px;padding:0 12px;font-size:.9rem}#start{width:100%}.foot{color:var(--muted);margin-top:28px;font-size:.88rem}.foot p{margin:4px 0}body[data-view=session]{background:var(--phase-bg,var(--bg))}#session{--phase:var(--ready);--phase-bg:var(--ready-bg);flex-direction:column;min-height:calc(100dvh - 40px);display:flex}#session[data-kind=work]{--phase:var(--work);--phase-bg:var(--work-bg)}#session[data-kind=rest]{--phase:var(--rest);--phase-bg:var(--rest-bg)}body:has(#session[data-kind=work]:not([hidden])){--phase:var(--work);--phase-bg:var(--work-bg)}body:has(#session[data-kind=rest]:not([hidden])){--phase:var(--rest);--phase-bg:var(--rest-bg)}body:has(#session[data-kind=ready]:not([hidden])){--phase:var(--ready);--phase-bg:var(--ready-bg)}.session-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.round{font-family:var(--mono);margin:0;font-size:1rem;font-weight:700}.display{text-align:center;flex-direction:column;flex:1;justify-content:center;min-width:0;padding:16px 0;display:flex}.phase{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--on-accent);background:var(--phase,var(--ink));border-radius:999px;align-self:center;margin:0;padding:6px 14px;font-size:1.05rem;font-weight:800}.exercise{letter-spacing:-.02em;overflow-wrap:anywhere;margin:18px 0 0;font-size:clamp(2.2rem,11vw,4.2rem);font-weight:850;line-height:1.05}.clock{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--phase);white-space:nowrap;margin:4px 0 0;font-size:clamp(7rem,42vw,15rem);font-weight:800;line-height:1}.clock[data-len="4"]{font-size:clamp(5rem,31vw,13rem)}.clock[data-len="5"]{font-size:clamp(4rem,25vw,10.5rem)}#session.final .clock{color:var(--ink)}#session.paused .clock{opacity:.45}#session.paused .phase:after{content:" · paused"}.bar{background:color-mix(in srgb, var(--phase) 22%, transparent);border-radius:999px;height:10px;margin:18px 0 0;overflow:hidden}.bar-fill{background:var(--phase);transform-origin:0;height:100%;transform:scaleX(0)}.next{min-height:1.5em;margin:16px 0 0;font-size:1.15rem;font-weight:600}.controls{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.controls .btn{min-width:0;min-height:64px;padding:4px 8px;line-height:1.2}#session .btn-go{background:var(--phase);border-color:var(--phase);color:var(--on-accent);font-size:1.25rem}.keys{text-align:center;color:var(--muted);margin:12px 0 0;font-size:.85rem}@media (hover:none){.keys{display:none}}.flash{pointer-events:none;background:var(--phase,transparent);opacity:0;position:fixed;inset:0}.flash.on{animation:.6s ease-out flash}@keyframes flash{0%{opacity:0}15%{opacity:.55}to{opacity:0}}.done-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:8vh;padding:22px 18px}.done-card .phase{--phase:var(--rest);display:inline-block}#done-title{letter-spacing:-.03em;margin:14px 0 4px;font-size:clamp(2.4rem,12vw,3.6rem);line-height:1}#done-title:focus{outline:none}.log{counter-reset:r;border-top:1px solid var(--line);max-height:40vh;margin:16px 0 20px;padding:0;list-style:none;overflow:auto}.log li{counter-increment:r;border-bottom:1px solid var(--line);gap:10px;padding:8px 2px;display:flex}.log li:before{content:counter(r);font-family:var(--mono);color:var(--muted);min-width:2ch}.log li span:first-child{flex:1}.mono{font-family:var(--mono)}.log .time{white-space:nowrap;flex:none}.done-card .controls{grid-template-columns:1fr 1fr}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
