:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#06070a;--bg-panel:#0c0e14;--bg-card:#12161f;--bg-elevated:#1a202c;--border-subtle:#ffffff14;--border-strong:#ffffff29;--text-main:#f4f6fb;--text-muted:#8b95a8;--led-red:#ff2828;--led-blue:#129eff;--led-amber:#ffaa1d;--led-green:#22e56b;--led-white:#fff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-sans);overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden}#root{width:100%;height:100dvh;max-height:100dvh;overflow:hidden}button,input{font-family:inherit}.app-shell.full-viewport{width:100%;height:100dvh;max-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 10%, #129eff0f, transparent 45%), radial-gradient(circle at 50% 45%, #ff28280d, transparent 55%), var(--bg-app);flex-direction:column;gap:8px;display:flex;overflow:hidden}.top-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand-logo-img{object-fit:contain;border-radius:8px;flex-shrink:0;width:32px;height:32px}.brand-title{letter-spacing:.1em;color:#f4f7fc;font-size:.96rem;font-weight:900}.top-actions{align-items:center;gap:6px;display:flex}.icon-pill-btn{border:1px solid var(--border-strong);background:var(--bg-card);height:36px;color:var(--text-main);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:.78rem;font-weight:700;display:inline-flex}.icon-pill-btn:disabled{opacity:.45;cursor:not-allowed}.icon-pill-btn.pill-active{color:#7cc9ff;background:#129eff33;border-color:#129eff8c}.icon-btn{border:1px solid var(--border-subtle);background:var(--bg-card);width:36px;height:36px;color:var(--text-main);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}@media (width<=380px){.hide-xs{display:none}}.sound-drawer{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.sound-drawer-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:800}.mode-strip{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:4px;display:grid}.mode-pill{color:var(--text-muted);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:10px 4px;font-size:.78rem;font-weight:800}.mode-pill.active{color:#fff;background:linear-gradient(#1f2737 0%,#151a25 100%);border:1px solid #129eff66;box-shadow:inset 0 1px #ffffff1f,0 1px 4px #00000080}.fortime-switch-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.fortime-switch-btn{border:1px solid var(--border-subtle);background:var(--bg-panel);height:36px;color:var(--text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.fortime-switch-btn.active{color:#ff8b8b;background:#ff282829;border-color:#ff282880}.status-strip{justify-content:space-between;align-items:center;gap:8px;padding:0 2px;display:flex}.config-summary-btn{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 0;font-size:.8rem;font-weight:600}.config-summary-btn:disabled{cursor:default}.status-right{align-items:center;gap:8px;display:flex}.fs-tabata-round-note{color:#54bdff;font-size:.78rem;font-weight:800}.phase-badge{letter-spacing:.1em;color:var(--text-muted);background:#ffffff12;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800}.phase-badge.badge-work{color:#ff6b6b;background:#ff282829;border:1px solid #ff282859}.phase-badge.badge-prep{color:#ffcb66;background:#ffaa1d2e;border:1px solid #ffaa1d59}.phase-badge.badge-rest,.phase-badge.badge-finished{color:#63f098;background:#22e56b2e;border:1px solid #22e56b66}.clock-stage{flex-direction:column;flex:1;justify-content:center;gap:8px;min-height:0;display:flex;overflow:hidden}.landscape-phase-bar{display:none}.landscape-mode-label{letter-spacing:.08em;color:#6bc6ff;font-size:.8rem;font-weight:900}.led-bezel{background:linear-gradient(#090b0f 0%,#040507 100%);border:2px solid #222836;border-radius:18px;padding:18px 12px 12px;position:relative;overflow:hidden;box-shadow:inset 0 2px 16px #000000e6,0 12px 32px #000000a6}.led-bezel.bezel-prep{border-color:#ffaa1d80}.led-glass-glare{pointer-events:none;background:linear-gradient(135deg,#ffffff0a 0%,#fff0 42%);position:absolute;inset:0}.led-grid{justify-content:space-between;align-items:center;gap:8px;display:flex;position:relative}.led-col{flex-direction:column;align-items:center;gap:6px;display:flex}.led-col-blue{flex:none;min-width:60px}.led-col-red{flex:auto;min-width:0;overflow:hidden}.led-divider{background:#ffffff14;align-self:stretch;width:1px;margin:6px 0}.led-caption{letter-spacing:.12em;text-transform:uppercase;text-align:center;font-size:.62rem;font-weight:800}.caption-blue{color:#4ab5ffe0}.caption-red{color:#ff5c5ce6}.caption-green{color:#22e56beb}.caption-white-muted{color:#ffffffad}.led-display{justify-content:center;align-items:center;gap:2px;display:inline-flex}.chrono-split-led{flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:3px;display:inline-flex}.led-blue-digits .led-digit{width:auto;height:clamp(36px,9.5vw,76px)}.led-main-seg .led-digit,.led-main-sep .led-colon{width:auto;height:clamp(50px,14vw,124px)}.led-centis-seg .led-digit,.led-centis-seg .led-dot{width:auto;height:clamp(30px,8.2vw,68px)}.tabata-led-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tabata-rounds-panel{border-bottom:1px solid #ffffff14;flex-direction:column;grid-column:1/-1;align-items:center;gap:4px;padding-bottom:8px;display:flex}.tabata-rounds-pair{align-items:center;gap:10px;display:flex}.tabata-round-box{flex-direction:column;align-items:center;gap:2px;display:flex}.tabata-sub-tag{letter-spacing:.1em;color:#7cc9ff;font-size:.62rem;font-weight:800}.led-blue-slash .led-slash{width:auto;height:clamp(40px,9.5vw,72px)}.tabata-panel{border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;transition:opacity .2s,border-color .2s;display:flex}.tabata-active-work{background:#ff282817;border-color:#ff282873}.tabata-active-rest{background:#22e56b17;border-color:#22e56b73}.tabata-dim{opacity:.45}.tabata-time-row{align-items:flex-end;gap:2px;display:inline-flex}.led-tabata-digits .led-digit,.led-tabata-digits .led-colon{width:auto;height:clamp(36px,8.8vw,68px)}.led-tabata-centis .led-digit,.led-tabata-centis .led-dot{width:auto;height:clamp(24px,5.5vw,42px)}.led-progress-track{background:#141822;border-radius:999px;width:100%;height:5px;margin-top:14px;overflow:hidden}.led-progress-fill{background:linear-gradient(90deg, var(--led-blue), var(--led-red));height:100%;transition:width 80ms linear}.led-progress-fill.fill-green{background:linear-gradient(90deg, var(--led-blue), var(--led-green))}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.telemetry-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.telemetry-label{letter-spacing:.08em;color:var(--text-muted);font-size:.66rem;font-weight:800}.telemetry-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,6.2vw,2.25rem);font-weight:800;line-height:1.1}.blue-led-text{color:#3db2ff;text-shadow:0 0 12px #129eff59}.red-led-text{color:#ff4747;text-shadow:0 0 12px #ff282859}.blue-text{color:#3db2ff}.red-text{color:#ff4747}.green-text{color:var(--led-green)}.telemetry-sub{color:var(--text-muted);margin-top:2px;font-size:.72rem}.round-tap-zone{flex-direction:column;flex:none;gap:5px;min-height:0;display:flex}.round-tap-btn{color:#fff;cursor:pointer;background:linear-gradient(#129eff38 0%,#0c52943d 100%);border:2px solid #129eff73;border-radius:14px;flex:none;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px;display:flex}.round-tap-btn.ready:active{transform:scale(.98)}.round-tap-btn.disabled{opacity:.45;border-color:var(--border-subtle);background:var(--bg-panel);cursor:not-allowed}.round-tap-icon{color:#70cbff;background:#129eff3d;border:1px solid #129eff73;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.round-tap-text{text-align:left;flex-direction:column;flex:1;align-items:flex-start;display:flex}.round-tap-main{letter-spacing:.05em;font-size:.96rem;font-weight:900}.round-tap-sub{color:#a9bfd8;font-size:.72rem}.round-tap-counter{font-family:var(--font-mono);color:#6bc6ff;text-align:right;min-width:36px;font-size:1.65rem;font-weight:900}.undo-round-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;border-radius:999px;align-self:flex-end;align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;font-weight:700;display:inline-flex}.splits-ticker{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.splits-ticker-list{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.splits-ticker-list::-webkit-scrollbar{display:none}.split-chip{background:var(--bg-card);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:.74rem;display:inline-flex}.split-chip-num{color:#4eb7ff;font-weight:800}.split-chip-time{font-family:var(--font-mono);color:var(--text-main);font-weight:600}.view-splits-btn{color:#4eb7ff;white-space:nowrap;cursor:pointer;background:0 0;border:none;font-size:.76rem;font-weight:700}.controls-bar{gap:8px;display:flex}.ctrl-btn{letter-spacing:.05em;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:54px;font-size:.92rem;font-weight:800;display:inline-flex}.ctrl-start{color:#fff;background:linear-gradient(#ff3434 0%,#c81414 100%);flex:1.5}.ctrl-pause{color:#fff;background:linear-gradient(#1b9eff 0%,#0d6ec2 100%);flex:1.5}.ctrl-secondary{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-main);flex:1}.ctrl-finish{color:#63f098;background:#22e56b24;border:1px solid #22e56b66;flex:.9}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:150;background:#000000bd;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.modal-sheet{border:1px solid var(--border-strong);background:#0f131b;border-radius:22px;flex-direction:column;width:100%;max-width:540px;max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 20px 50px #000000b3}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.modal-eyebrow{letter-spacing:.12em;color:#4eb7ff;font-size:.68rem;font-weight:800;display:block}.modal-title{margin:2px 0 0;font-size:1.15rem;font-weight:800}.modal-tabs{grid-template-columns:1fr 1fr;gap:6px;padding:10px 18px 0;display:grid}.modal-tab{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;border-radius:10px;padding:9px;font-size:.82rem;font-weight:700}.modal-tab.active{color:#fff;background:#129eff29;border-color:#129eff73}.modal-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.cfg-block{flex-direction:column;gap:8px;display:flex}.cfg-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:700}.cfg-stepper{align-items:center;gap:8px;display:flex}.cfg-step-btn{border:1px solid var(--border-strong);background:var(--bg-elevated);color:#fff;cursor:pointer;border-radius:12px;min-width:50px;height:44px;font-size:.92rem;font-weight:800}.cfg-step-sm{background:var(--bg-card);min-width:42px;font-size:.76rem}.cfg-step-val{text-align:center;font-family:var(--font-mono);color:#fff;flex:1;font-size:1.4rem;font-weight:800}.cfg-chips{flex-wrap:wrap;gap:7px;display:flex}.cfg-chip{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);cursor:pointer;border-radius:10px;padding:7px 11px;font-size:.8rem;font-weight:700}.cfg-chip.active{color:#ff8080;background:#ff28282e;border-color:#ff28288c}.cfg-summary-pill{color:#7cc9ff;background:#129eff1f;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;display:inline-flex}.save-preset-form{gap:8px;display:flex}.preset-input{border:1px solid var(--border-strong);background:var(--bg-card);color:#fff;border-radius:10px;flex:1;height:42px;padding:0 12px;font-size:.86rem}.preset-save-btn{color:#77c9ff;cursor:pointer;background:#129eff2e;border:1px solid #129eff73;border-radius:10px;align-items:center;gap:6px;height:42px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.preset-list{flex-direction:column;gap:8px;display:flex}.preset-item{align-items:center;gap:8px;display:flex}.preset-select-btn{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);text-align:left;cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:10px;padding:11px 12px;display:flex}.preset-badge{color:#ff6e6e;background:#ff282829;border-radius:6px;padding:4px 8px;font-size:.66rem;font-weight:800}.preset-text{flex-direction:column;display:flex}.preset-name{font-size:.92rem;font-weight:700}.preset-sub{color:var(--text-muted);font-size:.76rem}.preset-del-btn{color:#ff7a7a;cursor:pointer;background:#ff28281a;border:1px solid #ff282840;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.modal-footer{border-top:1px solid var(--border-subtle);gap:10px;padding:12px 18px 16px;display:flex}.btn-primary-full{color:#fff;cursor:pointer;background:linear-gradient(#1b9eff 0%,#0d6ec2 100%);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;height:46px;font-size:.92rem;font-weight:800;display:inline-flex}.btn-secondary{border:1px solid var(--border-strong);background:var(--bg-card);height:46px;color:var(--text-main);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:700;display:inline-flex}.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.summary-card-label{color:var(--text-muted);align-items:center;gap:5px;font-size:.68rem;font-weight:800;display:inline-flex}.summary-card-val{font-family:var(--font-mono);font-size:1.3rem;font-weight:800}.splits-section{flex-direction:column;gap:8px;display:flex}.splits-header{color:var(--text-muted);justify-content:space-between;font-size:.74rem;font-weight:800;display:flex}.splits-empty{background:var(--bg-card);color:var(--text-muted);text-align:center;border-radius:10px;padding:14px;font-size:.85rem}.splits-table{flex-direction:column;gap:6px;display:flex}.split-row{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.85rem;display:flex}.split-round{color:#4eb7ff;font-weight:800}.split-dur{font-family:var(--font-mono);font-weight:800}.split-total{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem}.app-shell.is-active-clock .landscape-phase-bar{justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.app-shell.is-active-clock:not(.is-landscape-clock) .clock-stage{justify-content:space-between;gap:10px}.app-shell.is-active-clock:not(.is-landscape-clock) .fs-led-bezel{flex-direction:column;flex:1;justify-content:center;padding:18px 12px;display:flex}.app-shell.is-active-clock:not(.is-landscape-clock) .led-main-seg .led-digit,.app-shell.is-active-clock:not(.is-landscape-clock) .led-main-sep .led-colon{height:clamp(56px,15.2vw,138px)}.app-shell.is-active-clock:not(.is-landscape-clock) .led-centis-seg .led-digit,.app-shell.is-active-clock:not(.is-landscape-clock) .led-centis-seg .led-dot{height:clamp(32px,8.8vw,74px)}.app-shell.is-active-clock:not(.is-landscape-clock) .led-tabata-digits .led-digit,.app-shell.is-active-clock:not(.is-landscape-clock) .led-tabata-digits .led-colon{height:clamp(42px,10.6vw,84px)}.app-shell.is-active-clock:not(.is-landscape-clock) .led-tabata-centis .led-digit,.app-shell.is-active-clock:not(.is-landscape-clock) .led-tabata-centis .led-dot{height:clamp(26px,6.4vw,48px)}.app-shell.is-active-clock:not(.is-landscape-clock) .telemetry-value{font-size:clamp(1.7rem,7.2vw,2.5rem)}.app-shell.is-landscape-clock{padding:max(6px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));gap:6px}.app-shell.is-landscape-clock .top-bar,.app-shell.is-landscape-clock .sound-drawer,.app-shell.is-landscape-clock .mode-strip,.app-shell.is-landscape-clock .fortime-switch-row,.app-shell.is-landscape-clock .status-strip,.app-shell.is-landscape-clock .splits-ticker{display:none!important}.app-shell.is-landscape-clock .landscape-phase-bar{grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 2px;display:flex}.app-shell.is-landscape-clock .clock-stage{grid-template-rows:auto 1fr auto;grid-template-columns:1.9fr 1fr;align-items:stretch;gap:8px 12px;display:grid}.app-shell.is-landscape-clock .clock-stage.no-manual-rounds{grid-template-rows:auto 1fr;grid-template-columns:1.95fr .95fr}.app-shell.is-landscape-clock .fs-led-bezel{flex-direction:column;grid-area:2/1/span 2;justify-content:center;padding:14px 14px 10px;display:flex}.app-shell.is-landscape-clock .clock-stage.no-manual-rounds .fs-led-bezel{grid-row:2}.app-shell.is-landscape-clock .telemetry-grid{grid-area:2/2;grid-template-columns:1fr;gap:8px}.app-shell.is-landscape-clock .telemetry-card{justify-content:center;padding:10px 14px}.app-shell.is-landscape-clock .telemetry-label{font-size:.72rem}.app-shell.is-landscape-clock .telemetry-value{font-size:clamp(1.65rem,6.8vh,2.55rem);line-height:1.08}.app-shell.is-landscape-clock .telemetry-sub{font-size:.74rem}.app-shell.is-landscape-clock .clock-stage.no-manual-rounds .telemetry-grid{grid-template-columns:1fr;align-content:center}.app-shell.is-landscape-clock .round-tap-zone{flex:none;grid-area:3/2;min-height:50px}.app-shell.is-landscape-clock .round-tap-btn{border-radius:14px;min-height:50px;padding:7px 12px}.app-shell.is-landscape-clock .round-tap-icon{border-radius:10px;width:36px;height:36px}.app-shell.is-landscape-clock .round-tap-main{font-size:.9rem}.app-shell.is-landscape-clock .round-tap-sub{display:none}.app-shell.is-landscape-clock .round-tap-counter{font-size:1.55rem}.app-shell.is-landscape-clock .led-blue-digits .led-digit{height:min(clamp(46px,16vh,96px),10vw)}.app-shell.is-landscape-clock .led-main-seg .led-digit,.app-shell.is-landscape-clock .led-main-sep .led-colon{height:min(clamp(64px,28vh,152px),14.5vw)}.app-shell.is-landscape-clock .led-centis-seg .led-digit,.app-shell.is-landscape-clock .led-centis-seg .led-dot{height:min(clamp(38px,16vh,84px),8.6vw)}.app-shell.is-landscape-clock .led-tabata-digits .led-digit,.app-shell.is-landscape-clock .led-tabata-digits .led-colon{height:min(clamp(44px,18vh,96px),9.5vw)}.app-shell.is-landscape-clock .led-tabata-centis .led-digit,.app-shell.is-landscape-clock .led-tabata-centis .led-dot{height:min(clamp(26px,11vh,56px),5.8vw)}.app-shell.is-landscape-clock .ctrl-btn{height:44px}
