:root{--bg:#1a232a;--surface:#26343d;--surface-2:#31424c;--text:#f0f4f2;--muted:#9cadb5;--work:#f4b942;--rest:#7fb7d6;--danger:#e07a6c;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border-radius:var(--radius);background:var(--surface-2);cursor:pointer;border:0;min-height:52px;padding:14px 20px}button:focus-visible{outline:3px solid var(--work);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--work);color:#1a1a1a;font-weight:700}button.quiet{color:var(--muted);background:0 0}button.danger{color:var(--danger);background:0 0}.app{max-width:480px;min-height:100%;padding:20px 20px calc(20px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.topbar h1{letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:700}.topbar nav{gap:4px;display:flex}.topbar nav button{min-height:40px;padding:8px 12px}.topbar nav button[aria-current=page]{background:var(--surface);color:var(--text)}.month{background:var(--surface);border-radius:var(--radius);margin-bottom:20px;padding:18px 20px}.month strong{margin-bottom:6px;font-size:2.6rem;font-weight:700;line-height:1;display:block}.month span{color:var(--muted)}.workout{align-items:stretch;gap:8px;margin-bottom:10px;display:flex}.workout-main{text-align:left;background:var(--surface);flex-direction:column;flex:1;gap:2px;padding:16px 18px;display:flex}.workout .name{font-size:1.1rem;font-weight:600}.workout .meta{color:var(--muted);font-size:.92rem}.workout-edit{background:var(--surface);color:var(--muted);padding:0 16px}.new-workout{border:1px dashed var(--surface-2);width:100%;color:var(--muted);background:0 0;margin-top:4px}.form{flex-direction:column;gap:14px;display:flex}.form h2{margin:0;font-size:1.3rem}.form h3{color:var(--muted);margin:8px 0 0;font-size:1rem}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.form label.inline{flex-direction:row;align-items:center;gap:6px}.form input,.form select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--surface-2);border-radius:10px;min-height:44px;padding:10px 12px}.form input:focus-visible,.form select:focus-visible{outline:2px solid var(--work);outline-offset:1px}.form input.unit{width:56px}.form .suffix{color:var(--text);align-items:center;gap:6px;display:flex}.form .hint{color:var(--muted);margin:-6px 0 0;font-size:.82rem}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.row-list{flex-direction:column;gap:8px;display:flex}.row-item{align-items:flex-start;gap:8px;display:flex}.row-fields{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.row-fields>input:first-child{flex:140px}.row-remove{color:var(--danger);background:0 0;min-height:44px;padding:0 12px;font-size:1.3rem}.row-add{color:var(--work);background:0 0;align-self:flex-start;min-height:0;padding:8px 0}.circuit-row{flex-direction:column;flex:1;gap:8px;display:flex}.circuit-row .link{color:var(--muted);background:0 0;align-self:flex-start;min-height:0;padding:2px 0;font-size:.85rem;text-decoration:underline}.errors{background:color-mix(in srgb, var(--danger) 15%, var(--surface));color:var(--text);border-radius:10px;margin:0;padding:12px 12px 12px 30px;font-size:.9rem}.form-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.form-actions .primary{flex:1}.play{text-align:center;flex-direction:column;flex:1;display:flex}.play .sub{color:var(--muted);min-height:1.4em;margin-top:8px;font-size:1rem}.play .label{letter-spacing:-.01em;margin-top:4px;font-size:1.7rem;font-weight:700}.play .dial{flex:1;place-items:center;min-height:260px;display:grid}.dial svg{width:min(78vw,320px);height:auto;overflow:visible}.dial .track{stroke:var(--surface-2)}.dial .arc{transition:stroke-dashoffset .25s linear}.dial.work .arc{stroke:var(--work)}.dial.rest .arc{stroke:var(--rest)}.dial.manual .arc{stroke:var(--work)}.dial text{fill:var(--text);font-weight:700}.dial .big{font-size:96px}.dial .unit{fill:var(--muted);font-size:22px;font-weight:500}.play .next{color:var(--muted);min-height:1.4em}.play .controls{gap:10px;margin-top:18px;display:grid}.play .controls .row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.play .controls .big{min-height:64px;font-size:1.15rem}.progress{background:var(--surface-2);border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden}.progress i{background:var(--work);height:100%;transition:width .3s;display:block}.card{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:18px 20px}.card h2{margin:0 0 8px;font-size:1.1rem}.card .muted{color:var(--muted)}table{border-collapse:collapse;width:100%}td,th{text-align:left;border-bottom:1px solid var(--surface-2);vertical-align:middle;padding:8px 10px 8px 0}td:last-child,th:last-child{padding-right:0}td.nowrap{white-space:nowrap}th{color:var(--muted);font-size:.9rem;font-weight:500}td.num,th.num{text-align:right}.pill{white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.8rem;display:inline-block}.pill.partial{color:var(--work)}.pill.ready{background:var(--work);color:#1a1a1a;font-weight:600}.empty{color:var(--muted);text-align:center;padding:40px 0}@media (prefers-reduced-motion:reduce){.dial .arc,.progress i{transition:none}}
