@font-face{font-family:Golos Text;src:url(/fonts/golos-400-cyrillic.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;src:url(/fonts/golos-400-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;src:url(/fonts/golos-500-cyrillic.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;src:url(/fonts/golos-500-latin.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;src:url(/fonts/golos-600-cyrillic.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;src:url(/fonts/golos-600-latin.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(/fonts/onest-400-cyrillic.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-400-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(/fonts/onest-500-cyrillic.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-500-latin.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(/fonts/onest-600-cyrillic.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-600-latin.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(/fonts/onest-700-cyrillic.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-700-latin.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.375rem;--font-size-xl:1.75rem;--font-size-2xl:2.25rem;--font-size-3xl:3rem;--font-size-timer:clamp(4.5rem, 34vw, 9rem);--line-height-tight:1.15;--line-height-snug:1.3;--line-height-base:1.55;--letter-spacing-tight:-.01em;--letter-spacing-wide:.04em;--numeric-tabular:tabular-nums;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-full:999px;--touch-min:48px;--touch-player:64px;--screen-max:430px;--tabbar-height:64px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, .6, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--color-bg:#f5f7f9;--color-surface:#fff;--color-surface-2:#eef1f5;--color-surface-3:#e4e9ef;--color-text:#1b2531;--color-text-muted:#5a6572;--color-text-subtle:#8a95a2;--color-on-accent:#fff;--color-border:#d9e0e7;--color-border-strong:#c3ccd6;--color-overlay:#141b2473;--color-accent:#3a6db4;--color-accent-hover:#315e9c;--color-accent-press:#294f84;--color-accent-weak:#e7eef7;--color-accent-text:#2b5590;--color-work:#c9741f;--color-work-strong:#b3651a;--color-work-weak:#fbf0e2;--color-on-work:#fff;--color-rest:#2f8f74;--color-rest-strong:#277a63;--color-rest-weak:#e4f2ec;--color-on-rest:#fff;--color-danger:#c24a3f;--color-danger-strong:#a83d33;--color-danger-weak:#fbe9e7;--color-on-danger:#fff;--color-warning:#b8842a;--color-warning-weak:#fbf1dc;--color-success:#2f8f74;--color-success-weak:#e4f2ec;--color-xp:#c79521;--color-xp-weak:#f8f0d6;--color-section:#1f2a44;--color-on-section:#eef2f8;--shadow-sm:0 1px 2px #141b240f, 0 1px 3px #141b240d;--shadow-md:0 2px 6px #141b2412, 0 6px 16px #141b2414;--shadow-lg:0 8px 24px #141b241f, 0 2px 8px #141b2414;--illus-stroke:var(--color-text);--illus-fill:var(--color-surface-2);--illus-ground:var(--color-border-strong);--illus-highlight:var(--color-accent);--illus-motif:var(--color-rest)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#12161d;--color-surface:#1a1f28;--color-surface-2:#232a35;--color-surface-3:#2c3440;--color-text:#e8ecf1;--color-text-muted:#a2adba;--color-text-subtle:#6f7b89;--color-on-accent:#0f1420;--color-border:#2b333f;--color-border-strong:#3a4552;--color-overlay:#06090e99;--color-accent:#7aa4e0;--color-accent-hover:#8fb3e7;--color-accent-press:#6892d4;--color-accent-weak:#1e2a3d;--color-accent-text:#a9c6ee;--color-work:#e5954a;--color-work-strong:#f0a866;--color-work-weak:#33261a;--color-on-work:#1a1207;--color-rest:#4bb894;--color-rest-strong:#63c7a7;--color-rest-weak:#16302a;--color-on-rest:#06140f;--color-danger:#e07067;--color-danger-strong:#ea8880;--color-danger-weak:#331d1b;--color-on-danger:#1a0806;--color-warning:#dca94e;--color-warning-weak:#2f2716;--color-success:#4bb894;--color-success-weak:#16302a;--color-xp:#e0b84a;--color-xp-weak:#2c2712;--color-section:#16203a;--color-on-section:#e8ecf5;--shadow-sm:0 1px 2px #0006;--shadow-md:0 3px 10px #00000073;--shadow-lg:0 10px 30px #0000008c;--illus-stroke:var(--color-text);--illus-fill:var(--color-surface-2);--illus-ground:var(--color-border-strong);--illus-highlight:var(--color-accent);--illus-motif:var(--color-rest)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}:root{--text:var(--color-text);--text-h:var(--color-text);--bg:var(--color-bg);--border:var(--color-border);--code-bg:var(--color-surface-2);--accent:var(--color-accent);--accent-bg:var(--color-accent-weak);--accent-border:var(--color-accent);--social-bg:var(--color-surface-2);--shadow:var(--shadow-md);--sans:var(--font-body);--heading:var(--font-display);--mono:ui-monospace, Consolas, monospace;font-family:var(--sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark] #social .button-icon{filter:invert()brightness(2)}#root{max-width:var(--screen-max);box-sizing:border-box;flex-direction:column;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin:var(--space-5) 0}h2{font-size:var(--font-size-lg);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-2)}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}main{width:100%;padding:var(--space-2) var(--space-4) calc(var(--tabbar-height) + var(--space-7));box-sizing:border-box;margin:0 auto}header{text-align:center;margin-bottom:1rem}header h1{margin:0}.tagline{opacity:.7;margin:.2rem 0 0;font-size:.9rem}.card{border:1px solid color-mix(in srgb, currentColor 15%, transparent);border-radius:12px;margin-bottom:1rem;padding:1rem}.card form{flex-direction:column;gap:.6rem;display:flex}.check{align-items:center;gap:.5rem;display:flex}fieldset{border:none;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}legend{margin-bottom:.3rem;font-weight:600}input,select,button{font:inherit;border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:8px;padding:.5rem .8rem}button{cursor:pointer;background:var(--color-accent);color:var(--color-on-accent);border:none}button:disabled{opacity:.5;cursor:default}button.secondary{color:inherit;border:1px solid color-mix(in srgb, currentColor 30%, transparent);background:0 0}.row{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.exercises{flex-direction:column;gap:.7rem;padding:0;list-style:none;display:flex}.tech{opacity:.75;margin:.2rem 0 0;font-size:.85rem}.muted{opacity:.65}.error{color:var(--color-danger)}.success{font-size:1.1rem}.warning{color:var(--color-warning);font-weight:600}.disclaimer{opacity:.7;margin-top:1rem;font-size:.8rem}.hint{opacity:.7;font-size:.85rem}.rest-day{font-size:1.05rem}.week{flex-direction:column;gap:.4rem;padding:0;list-style:none;display:flex}.week li{border-radius:8px;justify-content:space-between;padding:.45rem .6rem;display:flex}.week li.today{background:var(--color-accent-weak);font-weight:600}.player{text-align:center}.countdown{margin:.2rem 0;font-size:3.5rem;font-weight:700}.timer.rest .countdown{opacity:.6}.player .row{justify-content:center;margin-top:.6rem}.stat{flex-direction:column;display:flex}.plan-progress{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.plan-progress li{border:1px solid var(--color-border-strong);opacity:.7;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.plan-progress li.current{border-color:var(--color-accent);color:var(--color-accent);opacity:1;font-weight:600}.plan-progress li.done{opacity:.45;text-decoration:line-through}.timer.tense .countdown{color:var(--color-work)}.timer.relax .countdown{color:var(--color-rest)}.timer.tense .countdown,.timer.relax .countdown{animation:.35s cue-pulse}@keyframes cue-pulse{0%{transform:scale(1.3)}to{transform:scale(1)}}.swap-controls{white-space:nowrap;margin-left:.5rem}.swap-controls button{margin-left:.3rem;padding:.15rem .5rem;font-size:.75rem}*{box-sizing:border-box}body{font-family:var(--font-body),system-ui,sans-serif;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}:where(a){color:var(--color-accent-text);text-decoration:none}:where(a:hover){color:var(--color-accent)}:where(button){font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent-weak);color:var(--color-text)}.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.ic--sm{width:18px;height:18px}.ic--lg{width:32px;height:32px}.ic--xl{width:48px;height:48px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-5);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast);-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active{background:var(--color-accent-press)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover{background:var(--color-surface-2)}.btn--secondary:active{background:var(--color-surface-3)}.btn--quiet{color:var(--color-accent-text);background:0 0;border-color:#0000}.btn--quiet:hover{background:var(--color-accent-weak)}.btn--danger{background:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-danger)}.btn--danger:hover{background:var(--color-danger-strong)}.btn--block{width:100%;display:flex}.btn--lg{min-height:56px;font-size:var(--font-size-md);padding:0 var(--space-6)}.btn--player{min-height:var(--touch-player);font-size:var(--font-size-lg);border-radius:var(--radius-lg);padding:0 var(--space-6)}.btn--phase{background:var(--phase,var(--color-accent));color:var(--phase-on,var(--color-on-accent));border-color:var(--phase,var(--color-accent))}.btn--phase:hover{filter:brightness(.94)}.btn__ic{margin:0 calc(-1 * var(--space-1))}.chip{align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex}.chip--neutral{background:var(--color-surface-2);color:var(--color-text-muted)}.chip--accent{background:var(--color-accent-weak);color:var(--color-accent-text)}.chip--work{background:var(--color-work-weak);color:var(--color-work-strong)}.chip--rest{background:var(--color-rest-weak);color:var(--color-rest-strong)}.chip--xp{background:var(--color-xp-weak);color:var(--color-xp)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card__kicker{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-subtle);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.card__title{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-2)}.card__body{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-base);margin:0}.card__meta{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.input{min-height:var(--touch-min);width:100%;padding:0 var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base)}.input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}textarea.input{min-height:88px;padding:var(--space-3) var(--space-4);resize:vertical}select.input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%235a6572' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-7)}.check,.radio-opt{align-items:center;gap:var(--space-3);min-height:var(--touch-min);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text);display:flex}.check input,.radio-opt input{width:24px;height:24px;accent-color:var(--color-accent);cursor:pointer;flex:none}.seg{background:var(--color-surface-2);border-radius:var(--radius-full);gap:4px;padding:4px;display:inline-flex}.seg__opt{min-height:40px;padding:0 var(--space-5);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none}.seg__opt.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.seg__opt.is-active[data-tone=yes]{color:var(--color-rest-strong)}.seg__opt.is-active[data-tone=no]{color:var(--color-text)}.stepper{align-items:center;gap:var(--space-3);display:inline-flex}.stepper__btn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-full);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.stepper__btn:hover{background:var(--color-surface-2)}.stepper__btn:disabled{opacity:.4;pointer-events:none}.stepper__value{text-align:center;min-width:52px;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--numeric-tabular)}.tabbar{background:var(--color-surface);border-top:1px solid var(--color-border);height:var(--tabbar-height);padding-bottom:env(safe-area-inset-bottom,0);display:flex}.tab{min-width:0;color:var(--color-text-subtle);cursor:pointer;min-height:var(--touch-min);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.tab__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.tab:hover{color:var(--color-text-muted)}.tab.is-active{color:var(--color-accent)}.progress{background:var(--color-surface-2);border-radius:var(--radius-full);height:10px;overflow:hidden}.progress__fill{background:var(--color-accent);border-radius:inherit;height:100%;transition:width var(--duration-slow) var(--ease-out)}.progress__fill--xp{background:var(--color-xp)}.ring{transform:rotate(-90deg)}.ring__track{stroke:var(--color-surface-2);fill:none}.ring__value{stroke:var(--color-accent);fill:none;stroke-linecap:round;transition:stroke-dashoffset var(--duration-slow) var(--ease-out)}.phase{--phase:var(--color-accent);--phase-weak:var(--color-accent-weak);--phase-on:var(--color-on-accent);--phase-strong:var(--color-accent-text)}.phase.is-work{--phase:var(--color-work);--phase-weak:var(--color-work-weak);--phase-on:var(--color-on-work);--phase-strong:var(--color-work-strong)}.phase.is-rest{--phase:var(--color-rest);--phase-weak:var(--color-rest-weak);--phase-on:var(--color-on-rest);--phase-strong:var(--color-rest-strong)}.timer{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.timer__label{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--phase-strong,var(--color-text-muted))}.timer__value{font-family:var(--font-display);font-size:var(--font-size-timer);font-weight:var(--font-weight-bold);font-variant-numeric:var(--numeric-tabular);letter-spacing:-.02em;color:var(--phase,var(--color-text));line-height:1}.timer__sub{font-size:var(--font-size-md);color:var(--color-text-muted);font-variant-numeric:var(--numeric-tabular)}.toast{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);font-size:var(--font-size-base);display:flex}.toast--success{border-left-color:var(--color-success)}.toast--success .toast__icon{color:var(--color-success)}.toast--danger{border-left-color:var(--color-danger)}.toast--danger .toast__icon{color:var(--color-danger)}.callout{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid #0000;display:flex}.callout__icon{flex:none;margin-top:1px}.callout__title{font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1);font-size:var(--font-size-base);color:var(--color-text)}.callout__body{font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text-muted);margin:0}.callout--info{background:var(--color-accent-weak)}.callout--info .callout__icon{color:var(--color-accent-text)}.callout--warning{background:var(--color-warning-weak)}.callout--warning .callout__icon{color:var(--color-warning)}.dialog-backdrop{background:var(--color-overlay);padding:var(--space-5);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:340px;box-shadow:var(--shadow-lg)}.dialog__title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3)}.dialog__body{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-base);margin:0 0 var(--space-5)}.dialog__actions{gap:var(--space-2);flex-direction:column;display:flex}.empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);flex-direction:column;display:flex}.empty__icon{color:var(--color-text-subtle)}.empty__title{font-family:var(--font-display);font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-md);margin:0}.empty__body{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:34ch;margin:0}.cycle{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.cycle__dots{gap:var(--space-2);display:flex}.cycle__dot{background:var(--color-surface-2);border:2px solid var(--color-border-strong);border-radius:50%;width:16px;height:16px}.cycle__dot.is-done{background:var(--color-rest);border-color:var(--color-rest)}.cycle__dot.is-current{background:var(--color-work);border-color:var(--color-work);box-shadow:0 0 0 5px var(--color-work-weak)}.cycle__count{font-family:var(--font-display);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-variant-numeric:var(--numeric-tabular)}.strip{gap:var(--space-1);display:flex}.strip__seg{border-radius:var(--radius-full);background:var(--color-surface-2);flex:1;height:6px}.strip__seg.is-done{background:var(--color-accent)}.strip__seg.is-current{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-weak)}.badge{width:88px;height:88px}.badge--locked{filter:grayscale();opacity:.4}.badge-tile{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;width:104px;display:flex}.badge-tile__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);line-height:var(--line-height-snug)}.badge-tile__cond{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.illus{background:var(--color-surface-2);border-radius:var(--radius-md);width:100%;height:auto;display:block}.appbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);display:flex}.appbar__title{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin:0}.appbar__sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:2px 0 0}.appbar__center{text-align:center;font-family:var(--font-display);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-muted)}.appbar__actions{gap:var(--space-1);flex:none;align-items:center;display:flex}.iconbtn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:var(--color-surface-2)}.content{gap:var(--space-4);padding:0 0 var(--space-5);flex-direction:column;display:flex}.dockbtns{padding:var(--space-3) 0 var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.section-h{font-family:var(--font-display);font-size:var(--font-size-md);margin:var(--space-2) 0 0;text-align:left;font-weight:600}.btn--sm{min-height:40px;padding:0 var(--space-4);font-size:var(--font-size-sm)}.tabbar{width:100%;max-width:var(--screen-max);z-index:40;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.exercise__row{gap:var(--space-3);text-align:left;align-items:flex-start;display:flex}.exercise__illus{border-radius:var(--radius-sm);background:var(--color-surface-2);flex:none;width:72px;height:54px;padding:2px}.exercise__main{flex:1;min-width:0}.exercise__spec{font-family:var(--font-display);color:var(--color-text);font-weight:600;font-size:var(--font-size-base);margin:2px 0 0}.exercise__cue{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:3px 0 0}.exercise__controls{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.player{justify-content:center;align-items:center;gap:var(--space-5);text-align:center;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--phase-weak,var(--color-surface));flex-direction:column;flex:1;display:flex}.player__ex{font-family:var(--font-display);font-size:var(--font-size-md);margin:0;font-weight:600}.hint{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);display:inline-flex}.dayrow{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.dayrow:last-child{border-bottom:none}.dayrow__date{text-align:center;flex:none;width:44px}.dayrow__main{text-align:left;flex:1}.stat-row{gap:var(--space-3);display:flex}.stat-row .stat{min-width:0;padding:var(--space-4) var(--space-3);flex:1}.stat__v{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-2xl);font-variant-numeric:var(--numeric-tabular);line-height:1}.stat__l{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0}.badges-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);justify-items:center;display:grid}.login-logo{margin:0 auto var(--space-4);height:64px;display:block}.phase-screen{z-index:45;background:var(--color-bg);max-width:var(--screen-max);padding:var(--space-4);box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex;position:fixed;inset:0;overflow:auto}.phase-screen .player{flex:1;min-height:0}.phase-screen .dockbtns{flex:none}.phase-screen .player{justify-content:safe center;gap:var(--space-4);overflow-y:auto}.phase-screen .timer__value{font-size:clamp(3.25rem,20vw,7rem)}.phase-screen .plan-progress{margin:0}.tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;display:block;overflow:hidden}
