:root{--font-ui:-apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;--font-number:ui-rounded, -apple-system, "SF Pro Rounded", sans-serif;--color-bg:#111;--color-surface:#1c1c1e;--color-text:#f5f5f7;--color-text-muted:#8e8e93;--color-accent:#ff9f0a;--color-on-accent:#1c1c1e;--color-danger:#ff453a;--color-positive:#30d158;--color-border:#3a3a3c;--color-on-segment:#111;--segment-1:#ff9f0a;--segment-2:#30d158;--segment-3:#0a84ff;--segment-4:#bf5af2;--segment-5:#ff375f;--segment-6:#64d2ff}:root[data-theme=light]{--color-bg:#f2f2f7;--color-surface:#fff;--color-text:#1c1c1e;--color-text-muted:#6c6c70;--color-border:#d1d1d6}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-ui);-webkit-text-size-adjust:100%;margin:0}#app{min-height:100%;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}:root{--top-gap:16px}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}input{font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;min-width:0;padding:8px 10px}.num{font-family:var(--font-number);font-variant-numeric:tabular-nums}.muted{color:var(--color-text-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{padding:calc(16px + var(--top-gap) + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.screen-header.is-sticky{z-index:1;margin:calc(-16px - var(--top-gap) - env(safe-area-inset-top)) -16px 16px;padding:calc(8px + var(--top-gap) + env(safe-area-inset-top)) 16px 8px;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.screen-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.screen-title{margin:0;font-size:28px;font-weight:700}.btn{background:var(--color-surface);border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-danger{color:var(--color-danger)}.btn-text{min-height:44px;color:var(--color-accent);padding:0 4px;font-weight:600}.card{background:var(--color-surface);border-radius:16px;padding:16px}.stack{flex-direction:column;gap:12px;display:flex}.switch{background:var(--color-border);border-radius:999px;flex:none;width:51px;height:31px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--color-positive)}.switch[aria-checked=true]:after{transform:translate(20px)}.row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper button{background:var(--color-bg);border-radius:10px;width:36px;height:36px;font-size:20px}.stepper .num{text-align:center;min-width:2.5em}.tabbed{flex-direction:column;height:100dvh;display:flex}.tabbed-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.tabbed-body .screen{padding-bottom:24px}.tabbar{background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);flex:none;display:flex}.tab{min-height:56px;color:var(--color-text-muted);flex:1;font-weight:600}.tab.is-active{color:var(--color-accent)}.timer-card{text-align:left;width:100%;display:block}.timer-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.timer-card-name{font-size:20px;font-weight:700}.strip{border-radius:5px;gap:2px;height:10px;margin:12px 0 10px;display:flex;overflow:hidden}.strip>span{min-width:2px}.timer-card-meta{justify-content:space-between;align-items:center;font-size:14px;display:flex}.set{border:1px solid var(--color-border);border-radius:16px;padding:12px}.set-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.segment{border-top:1px solid var(--color-border);grid-template-columns:6px minmax(0,1fr) auto;gap:8px 10px;padding:10px 0;display:grid}.segment-bar{border-radius:3px;grid-row:1/span 2}.segment-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.segment-fields .name{flex:120px;width:100%}.duration{align-items:center;gap:4px;display:inline-flex}.duration input{text-align:right;width:3.4em}.swatches{grid-column:2/span 2;gap:8px;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:28px;height:28px}.swatch[aria-checked=true]{border-color:var(--color-text)}.segment-actions{align-items:flex-start;gap:2px;display:flex}.icon-btn{width:32px;height:36px;color:var(--color-text-muted);border-radius:10px}.icon-btn:disabled{opacity:.3}.error{color:var(--color-danger);font-size:14px}.run{height:100dvh;padding:calc(12px + var(--top-gap) + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.run-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.progress{background:var(--color-surface);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--color-text-muted);transform-origin:0;height:100%}.stage{flex:1;position:relative;overflow:hidden}.panel{height:74%;color:var(--color-on-segment);transform:translateY(calc(var(--offset) * (100% + 12px)));will-change:transform;border-radius:24px;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .6s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;left:0;right:0}.panel-name{font-size:28px;font-weight:700}.panel-time{letter-spacing:-.02em;font-size:min(28vw,140px);font-weight:700;line-height:1}.panel.is-next .panel-time{font-size:32px}.panel-rounds{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.dots{gap:6px;display:flex}.dots>span{border:2px solid;border-radius:50%;width:10px;height:10px}.dots>span.is-filled{background:currentColor}.controls{grid-template-columns:1fr 2fr;gap:12px;display:grid}.controls .btn{min-height:64px;font-size:18px}.finished{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile{background:var(--color-surface);border-radius:16px;padding:12px}.tile-label{color:var(--color-text-muted);font-size:12px}.tile-value{margin-top:4px;font-size:24px;font-weight:700}.tile-unit{margin-left:2px;font-size:13px;font-weight:600}.chart{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(7,1fr);align-items:end;height:160px;display:grid;position:relative}.chart-col{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.chart-bar{background:var(--color-accent);border-radius:4px 4px 0 0;width:20px}.chart-col.is-selected .chart-bar{outline:2px solid var(--color-text);outline-offset:2px}.chart-tip{bottom:calc(var(--h) + 8px);white-space:nowrap;background:var(--color-bg);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600;position:absolute}.chart-days{text-align:center;grid-template-columns:repeat(7,1fr);margin-top:6px;font-size:12px;display:grid}.record{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.badge{border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.badge.is-reset{color:var(--color-text-muted);border-style:dashed}
