:root{--bg:#f2f3f0;--surface:#fff;--sunk:#e7e9e4;--ink:#1b2024;--muted:#5b656c;--line:#d5d9d3;--accent:#2e5e86;--accent-ink:#fff;--done:#2f7a4f;--done-bg:#e3f0e7;--warn:#c2571b;--danger:#b3261e;--kb12:#3b78c4;--kb16:#e2b21e;--kb20:#7b4fa6;--kb24:#3c8a4a;--kb28:#d0661f;--shadow:0 1px 2px #141e280f, 0 6px 24px #141e2814;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15191c;--surface:#1e2327;--sunk:#262c31;--ink:#e9ecea;--muted:#9ba5ab;--line:#333b41;--accent:#7fb0da;--accent-ink:#0f1a24;--done:#79c995;--done-bg:#1f3328;--warn:#f0925a;--danger:#ff8a80;--shadow:0 1px 2px #0000004d, 0 6px 24px #00000059}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15191c;--surface:#1e2327;--sunk:#262c31;--ink:#e9ecea;--muted:#9ba5ab;--line:#333b41;--accent:#7fb0da;--accent-ink:#0f1a24;--done:#79c995;--done-bg:#1f3328;--warn:#f0925a;--danger:#ff8a80;--shadow:0 1px 2px #0000004d, 0 6px 24px #00000059}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}h1,h2,h3{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0;line-height:1.05}h1{text-transform:uppercase;font-size:clamp(32px,5vw,48px);font-weight:800}h2{text-transform:uppercase;font-size:26px;font-weight:700}h3{font-size:21px;font-weight:700}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eyebrow{font:500 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:14px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shell{max-width:1100px;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(96px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:24px;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;padding-top:8px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand b{font:800 26px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}.brand svg{width:28px;height:28px}.themebtn{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sunk);color:var(--muted);border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.themebtn svg{width:14px;height:14px}.topbar .row{gap:8px}.sync{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sunk);color:var(--muted);border:0;border-radius:6px;padding:6px 8px}.sync.ok{color:var(--done)}.sync.warn{color:var(--warn)}.tabbar{z-index:5;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;color:var(--muted);border-top:3px solid #0000;flex:0 160px;padding:12px 6px 10px;font-size:14px;font-weight:600;text-decoration:none}.tabbar a[aria-current=page]{color:var(--ink);border-top-color:var(--accent)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.big{min-height:56px;padding:14px 24px;font-size:18px}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:default}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:36px;padding:7px 14px;font-size:14px;font-weight:500}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.pill{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sunk);color:var(--muted);white-space:nowrap;border-radius:6px;padding:5px 7px}.pill.ok{background:var(--done);color:var(--surface)}.pill.outline{border:1px solid var(--muted);background:0 0}.bell-dot{vertical-align:0;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.next{background:var(--accent);color:var(--accent-ink);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding:20px 22px;display:flex}.next .eyebrow{color:inherit;opacity:.8}.next h2{margin-top:6px;font-size:34px}.next p{opacity:.9;margin-top:4px}.next .btn{background:var(--accent-ink);color:var(--accent);border-color:#0000}.progress{flex-direction:column;gap:8px;min-width:220px;display:flex}.bar{background:var(--sunk);border-radius:5px;height:10px;overflow:hidden}.bar i{background:var(--done);height:100%;transition:width .4s;display:block}.blockhead{border-top:2px solid var(--ink);flex-direction:column;gap:6px;padding-top:12px;display:flex}.blockhead p{color:var(--muted);max-width:70ch}.week{grid-template-columns:170px 1fr;gap:16px;display:grid}.week .meta p{color:var(--muted);margin-top:6px;font-size:14px}.days{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.day{background:var(--surface);border:1px solid var(--line);text-align:left;color:inherit;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex}.day:hover{border-color:var(--accent)}.day.done{background:var(--done-bg);border-color:#0000}.day .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.day h3{font-size:20px}.day .fmt{color:var(--muted);font-size:14px}.day .score{color:var(--done);font-size:13px}@media (width<=760px){.week,.days{grid-template-columns:1fr}}.filters{flex-direction:column;gap:10px;display:flex}.search{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;padding:12px 14px;font-size:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.wcard{color:inherit;text-decoration:none}.wcard:hover{border-color:var(--accent)}.tags{flex-wrap:wrap;gap:6px;display:flex}.detail{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=860px){.detail{grid-template-columns:1fr}}ol.moves{margin:0;padding:0;list-style:none}ol.moves li{border-top:1px solid var(--line);grid-template-columns:64px 1fr;gap:12px;padding:10px 0;display:grid}ol.moves li:first-child{border-top:0}ol.moves .reps{font:500 16px/1.4 var(--mono);font-variant-numeric:tabular-nums;color:var(--accent)}ol.moves .name{font-weight:600}ol.moves .cue{color:var(--muted);margin-top:2px;font-size:14px;font-weight:400;display:block}.target{border-left:4px solid var(--done);background:var(--done-bg);border-radius:0 10px 10px 0;padding:10px 14px}.tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}th{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:var(--sunk)}.form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form .full{grid-column:1/-1}label.field{color:var(--muted);flex-direction:column;gap:5px;font-size:14px;display:flex}.field input,.field select,.field textarea{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.field textarea{resize:vertical;min-height:90px}@media (width<=520px){.form{grid-template-columns:1fr}}.scrim{z-index:20;background:#0a0f1480;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}@media (width>=640px){.scrim{align-items:center}}.modal{background:var(--bg);width:min(620px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;padding:22px;display:flex;overflow-y:auto}.timer{z-index:10;background:var(--bg);padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:16px;display:flex;position:fixed;inset:0}.timer .head{justify-content:space-between;align-items:center;gap:12px;display:flex}.timer .body{flex:1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;min-height:0;display:grid}@media (width<=820px),(orientation:portrait){.timer .body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}}.clockpane{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.clockpane.running{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.clockpane.hot{background:var(--warn);color:#fff;border-color:var(--warn)}.clockpane.leadin{background:var(--ink);color:var(--bg);border-color:var(--ink)}.clockpane.done{background:var(--done);color:#fff;border-color:var(--done)}.clock{font:600 clamp(80px, 16vw, 200px)/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.clockpane .phase{font:600 16px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.85}.clockpane .now{font:700 clamp(28px, 4.5vw, 44px)/1.1 var(--display);text-align:center;text-transform:uppercase}.clockpane .later{opacity:.85;text-align:center;font-size:16px}.movespane{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.movespane ol.moves li{cursor:pointer;border-radius:8px;padding-left:8px}.movespane ol.moves li.here{background:var(--sunk)}.controls{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.roundbtn{font:700 22px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;min-width:220px;min-height:72px;color:inherit;background:0 0;border:2px solid;border-radius:14px}.adjust{flex-direction:column;align-items:center;gap:12px;margin-top:4px;display:flex}.stepper{align-items:center;gap:14px;display:flex}.stepper button{width:60px;height:60px;color:inherit;font:600 30px/1 var(--mono);background:0 0;border:2px solid;border-radius:50%}.stepper .num{text-align:center;min-width:190px;font-size:22px;font-weight:600}.counter{font:600 20px/1 var(--mono)}.empty{text-align:center;color:var(--muted);padding:24px}.notice{background:var(--sunk);border-radius:10px;padding:12px 14px;font-size:14px}.notice.err{color:var(--danger)}pre.code{background:var(--sunk);font:13px/1.5 var(--mono);border-radius:8px;padding:12px;overflow-x:auto}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
