:root{--bg: #162030;--surface: #1E2A3D;--surface-2: #26354B;--line: #2E3F58;--text: #E9ECF1;--muted: #8A96A8;--grid: rgba(233, 236, 241, .07);--grid-strong: rgba(233, 236, 241, .25);--up: #3FB27F;--down: #E5534B;--c: #4C8DF0;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Barlow", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}main{padding:0 16px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px 8px}.brand{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:.01em}.brand span{color:var(--muted);font-weight:500;margin-left:4px}.sync{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font-size:.8rem;padding:6px 0}.sync i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.sync.s-synced i{background:var(--up)}.sync.s-syncing i{background:#e8b931;animation:pulse 1s infinite alternate}.sync.s-error i,.sync.s-offline i{background:var(--down)}@keyframes pulse{to{opacity:.3}}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#162030f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tabs button{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;color:var(--muted);font-size:.72rem;padding:9px 0 8px}.tabs button.on{color:var(--text)}.view{padding-top:4px}.view-title{font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;margin:8px 0 16px}.empty{color:var(--muted);padding:24px 0}.date-pick{position:relative;display:inline-block;color:var(--muted);font-size:.9rem;margin:4px 0 10px}.date-pick span{border-bottom:1px dashed var(--line)}.date-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%}.day-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.day-chips::-webkit-scrollbar{display:none}.day-chips button{flex:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.85rem;color:var(--muted);white-space:nowrap}.day-chips button.on{background:var(--c);border-color:var(--c);color:#0f1724;font-weight:600}.day-chips small{color:var(--text);opacity:.7}.day-hero{margin:18px 0 14px}.day-hero h1{font-family:var(--display);font-weight:700;font-size:3.6rem;line-height:.9;margin:0;letter-spacing:-.01em}.day-hero h1:before{content:"";display:inline-block;width:14px;height:.72em;background:var(--c);border-radius:3px;margin-right:12px;vertical-align:baseline}.day-progress{display:flex;align-items:baseline;gap:6px;margin-top:10px}.day-progress .big{font-family:var(--display);font-weight:700;font-size:1.6rem}.day-progress .of{color:var(--muted)}.bar{height:4px;background:var(--surface-2);border-radius:2px;margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--c);transition:width .3s ease}.ex{background:var(--surface);border-radius:14px;margin-bottom:10px;border-left:3px solid transparent}.ex-done{opacity:.62}.ex-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 12px;cursor:pointer}.ex-head h3{font-family:var(--display);font-weight:600;font-size:1.3rem;margin:0;line-height:1.1}.ex-rx{margin:2px 0 0;color:var(--muted);font-size:.82rem}.ex-count{display:flex;gap:4px;flex:none}.ex-count i{width:8px;height:22px;border-radius:2px;background:var(--surface-2)}.ex-count i.on{background:var(--c)}.ex-body{padding:0 14px 14px}.ex-ref{display:flex;flex-direction:column;gap:2px;font-size:.86rem;color:var(--muted);background:var(--bg);border-radius:8px;padding:8px 10px}.ex-ref b,.ex-sug{color:var(--text)}.ex-note{font-size:.82rem;color:var(--muted);margin:8px 0 0}.sets{list-style:none;margin:10px 0 0;padding:0}.sets li{display:grid;grid-template-columns:24px 1fr auto 28px;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:.95rem}.sets li.warm{color:var(--muted)}.set-n{font-family:var(--display);color:var(--muted)}.set-main b{font-family:var(--display);font-size:1.15rem;font-weight:600}.set-rir{color:var(--muted);font-size:.82rem}.set-del{background:none;border:0;color:var(--muted);font-size:1.2rem}.entry{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-top:12px}.stepper-label{display:block;font-size:.72rem;color:var(--muted);margin-bottom:3px}.stepper-row{display:flex;background:var(--bg);border-radius:10px;overflow:hidden}.stepper-row button{width:34px;flex:none;background:none;border:0;font-size:1.2rem;color:var(--muted)}.stepper-row button:active{background:var(--surface-2)}.stepper-row input{width:100%;min-width:0;text-align:center;background:none;border:0;font-family:var(--display);font-weight:600;font-size:1.45rem;padding:6px 0}.entry-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.check{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.check input{accent-color:var(--text);width:16px;height:16px}.btn-primary{background:var(--c);color:#0f1724;border:0;border-radius:10px;padding:11px 16px;font-weight:600}.btn-primary:disabled{opacity:.4}.btn-ghost{background:none;border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--text)}.add-ex{display:flex;gap:8px;margin:14px 0}.add-ex input,.search,.field input,.closing input,.closing textarea,.rt input,.rt select,.select select{flex:1;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.closing{margin:18px 0 24px}.closing h3,.card h3{font-family:var(--display);font-weight:600;font-size:1.25rem;margin:0 0 10px}.closing label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:10px}.closing input,.closing textarea{margin-top:4px;color:var(--text)}.closing-row label{max-width:220px}.rest{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));background:var(--text);color:#0f1724;border:0;border-radius:999px;padding:10px 22px;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 30px #00000073;z-index:20}.rest-time{font-family:var(--display);font-weight:700;font-size:1.8rem;line-height:1}.rest-label{font-size:.7rem;opacity:.7}.rest.done{background:var(--up)}.warmup{background:var(--surface);border-radius:12px;padding:10px 14px;margin-bottom:10px;font-size:.88rem}.warmup summary{cursor:pointer;color:var(--muted)}.warmup ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.warmup small{display:block;color:var(--muted)}.card{background:var(--surface);border-radius:14px;padding:16px;margin-bottom:12px}.chart{margin:0 -6px}.chart-foot{color:var(--muted);font-size:.78rem;margin:8px 0 0}.tip{background:#0f1724;border-radius:8px;padding:8px 10px;font-size:.8rem;max-width:220px}.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.leader{text-align:left;background:var(--surface);border:0;border-top:3px solid var(--c);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}.leader-delta{font-family:var(--display);font-weight:700;font-size:1.6rem;line-height:1;color:var(--up)}.leader-name{font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-sub{font-size:.72rem;color:var(--muted)}.select{display:block;margin-bottom:12px}.select select{font-family:var(--display);font-size:1.25rem;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.chart-card{border-top:3px solid var(--c)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi{display:block;font-family:var(--display);font-weight:700;font-size:2rem;line-height:1}.kpi small{font-size:.9rem;color:var(--muted);margin-left:2px;font-weight:500}.kpi.up{color:var(--up)}.kpi.down{color:var(--down)}.kpi-l{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.pr{margin:10px 0 0;font-size:.85rem;color:#e8b931}.seg{display:inline-flex;background:var(--bg);border-radius:9px;padding:3px;margin:14px 0 6px}.seg button{background:none;border:0;padding:6px 12px;border-radius:7px;font-size:.82rem;color:var(--muted)}.seg button.on{background:var(--surface-2);color:var(--text)}.tbl{width:100%;border-collapse:collapse;font-size:.86rem}.tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:.75rem;padding:4px 0}.tbl td{padding:7px 0;border-top:1px solid var(--line);vertical-align:top}.tbl td:nth-child(2){color:var(--muted);padding-right:8px}.tbl .r{text-align:right;font-family:var(--display);font-size:1rem}.ex-list{list-style:none;padding:0;margin:0}.ex-list button{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;border-top:1px solid var(--line);padding:10px 0;text-align:left}.ex-list .dot{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}.ex-list-name{flex:1;display:flex;flex-direction:column}.ex-list-name small{color:var(--muted);font-size:.75rem}.ex-list-delta{font-family:var(--display);font-weight:600;font-size:1.1rem}.ex-list-delta.up{color:var(--up)}.ex-list-delta.down{color:var(--down)}.week-hero{display:flex;align-items:center;gap:18px}.ring{width:118px;flex:none}.ring-bg{fill:none;stroke:var(--surface-2);stroke-width:12}.ring-fg{fill:none;stroke:var(--up);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .5s ease}.ring-n{font-family:var(--display);font-weight:700;font-size:44px;fill:var(--text)}.ring-l{font-size:12px;fill:var(--muted)}.week-name{font-family:var(--display);font-weight:600;font-size:1.25rem;margin:0 0 6px}.week-stats dl{margin:0;display:grid;gap:4px}.week-stats dl div{display:flex;justify-content:space-between;gap:12px;font-size:.88rem}.week-stats dt{color:var(--muted)}.week-stats dd{margin:0;font-weight:600}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.mini-stats>div{background:var(--surface);border-radius:12px;padding:12px}.cal{display:grid;gap:4px}.cal-row{display:grid;grid-template-columns:52px repeat(7,1fr);gap:4px;align-items:center;background:none;border:0;padding:0;border-radius:6px}.cal-row.sel{outline:1px solid var(--grid-strong);outline-offset:2px}.cal-head span{font-size:.7rem;color:var(--muted);text-align:center}.cal-label{font-size:.72rem;color:var(--muted);text-align:left}.cal-cell{aspect-ratio:1.6;border-radius:4px;background:var(--surface-2)}.cal-cell.today{box-shadow:inset 0 0 0 1.5px var(--text)}.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:.75rem;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.groups{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.groups li{display:grid;grid-template-columns:84px 1fr 26px;align-items:center;gap:10px;font-size:.86rem}.g-track{position:relative;height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.g-zone{position:absolute;left:calc(10 / 24 * 100%);width:calc(10 / 24 * 100%);top:0;bottom:0;background:#3fb27f24}.g-track i{position:relative;display:block;height:100%;border-radius:5px}.g-n{font-family:var(--display);font-weight:600;text-align:right}.search{margin-bottom:12px}.hist{list-style:none;padding:0;margin:0}.hist li{background:var(--surface);border-radius:12px;margin-bottom:8px;overflow:hidden}.hist-head{width:100%;display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 14px;text-align:left}.hist-plate{width:6px;height:34px;border-radius:2px;background:var(--c);flex:none}.hist-main{flex:1;display:flex;flex-direction:column}.hist-main b{font-family:var(--display);font-weight:600;font-size:1.15rem;line-height:1.1}.hist-main small{color:var(--muted);font-size:.8rem}.hist-n{color:var(--muted);font-size:.82rem}.hist-body{padding:0 14px 12px 32px}.hist-ex{display:grid;grid-template-columns:1fr;gap:2px;padding:6px 0;border-top:1px solid var(--line);font-size:.88rem}.hist-sets{display:flex;flex-wrap:wrap;gap:4px 10px}.hist-sets em{font-style:normal;font-family:var(--display);font-size:1rem}.hist-sets em.warm{color:var(--muted)}.hist-note{color:var(--muted);font-size:.82rem;margin:8px 0 0}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);overflow-y:auto;z-index:30;padding:calc(12px + env(safe-area-inset-top)) 16px 40px}.sheet>*{max-width:528px;margin-left:auto;margin-right:auto}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sheet-head h2{font-family:var(--display);font-size:2rem;margin:0}.status{font-size:.86rem;margin:0 0 10px;color:var(--muted)}.status.s-synced{color:var(--up)}.status.s-error{color:var(--down)}.field{display:block;font-size:.8rem;color:var(--muted)}.field input{margin-top:4px;color:var(--text)}.row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.import{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}.rt{list-style:none;padding:0;margin:12px 0 0}.rt li{border-top:1px solid var(--line);padding:12px 0}.rt-name{font-family:var(--display);font-weight:600;font-size:1.1rem}.rt-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:6px;margin-top:6px}.rt-grid label{font-size:.7rem;color:var(--muted)}.rt-grid input,.rt-grid select{padding:7px 8px;margin-top:2px}.rt-notes{margin-top:6px;font-size:.85rem}.rt-actions{display:flex;gap:6px;margin-top:6px}.rt-actions button{background:var(--bg);border:0;border-radius:8px;padding:5px 10px;color:var(--muted)}.rt-actions .danger{margin-left:auto;color:var(--down)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media (max-width: 380px){.day-hero h1{font-size:3rem}.entry{grid-template-columns:1.2fr 1fr 1fr;gap:6px}.stepper-row button{width:28px}.leaders{grid-template-columns:1fr 1fr}}
