:root{--bg:#15161A;--surface:#1D1F23;--surface-2:#25272C;--border:#34363B;--text:#EDEAE3;--text-dim:#9A9A96;--text-faint:#6B6C70;--a:#C4452F;--b:#3178B5;--c:#D9A83B;--good:#6FA96A;--bad:#C4452F;--font-d:"Oswald",sans-serif;--font-b:"Inter",sans-serif;--font-m:"IBM Plex Mono",monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-b);-webkit-font-smoothing:antialiased;min-height:100vh}body{padding-bottom:90px}.boot-screen{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:14px}.boot-screen .boot-title{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em;font-size:18px}.boot-screen p{color:var(--text-dim);font-size:13.5px;line-height:1.6;margin:0}.boot-screen button{padding:11px 20px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-b);font-weight:600;font-size:13px}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;position:relative}a{color:inherit}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.topbar{position:sticky;top:0;z-index:15;background:linear-gradient(180deg,var(--bg) 78%,rgba(21,22,26,0));padding:20px 18px 14px;display:flex;justify-content:space-between;align-items:flex-end}.topbar .brand{display:flex;flex-direction:column}.topbar h1{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.09em;font-size:21px;margin:0;font-weight:700}.topbar .tagline{font-size:10.5px;color:var(--text-faint);letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.topbar .today{font-family:var(--font-m);font-size:11.5px;color:var(--text-dim);text-align:right}.topbar .save-status{font-size:10px;color:var(--text-faint);margin-top:3px;text-align:right;letter-spacing:.03em}main#content{padding:2px 16px 30px;min-height:60vh}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{max-width:480px;margin:0 auto;display:flex}.tab-btn{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 0 8px;color:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-b)}.tab-btn.active{color:var(--text)}.tab-dot{width:24px;height:24px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:11px;font-weight:600;color:inherit}.tab-btn.active .tab-dot{background:var(--dot,var(--text));border-color:var(--dot,var(--text));color:#14151a}.tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.tab-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px}.section-label{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--text-dim);margin:22px 2px 10px}.section-label:first-child{margin-top:6px}.empty{color:var(--text-faint);font-size:13px;padding:14px 2px;line-height:1.5}.btn-primary{width:100%;padding:14px;border-radius:12px;border:none;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:14px;background:var(--accent,var(--text));color:#14151a;margin-bottom:16px}.btn-secondary{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-b);font-size:13px;font-weight:600;margin-bottom:14px}.btn-ghost{background:none;border:none;color:var(--text-dim);font-size:12px;text-decoration:underline;padding:0}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.stat-card .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.stat-card .value{font-family:var(--font-d);font-size:24px;margin-top:4px}.stat-card .sub{font-family:var(--font-m);font-size:11px;color:var(--text-dim);margin-top:3px}.ring-wrap{display:flex;align-items:center;gap:14px}.ring-text .big{font-family:var(--font-d);font-size:22px}.ring-text .small{font-size:11px;color:var(--text-dim);margin-top:2px}.signal-card{border-color:var(--good)}.signal-card .label{color:var(--good)}.chart-wrap{margin-top:6px}.chart-legend{display:flex;gap:16px;margin-bottom:6px;font-size:11px;color:var(--text-dim)}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.checkin-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid var(--border);font-size:13px}.checkin-row:last-child{border-bottom:none}.checkin-date{font-family:var(--font-m);color:var(--text-dim);font-size:11.5px}.checkin-vals{font-family:var(--font-m);font-size:13px}.checkin-note{font-size:11px;color:var(--text-faint);margin-top:2px}.form-row{margin-bottom:10px}.form-row label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:5px}.form-row input,.form-row textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--text);padding:10px;font-size:14px}.form-actions{display:flex;gap:10px;margin-top:4px}.form-actions button{flex:1}.workout-head{display:flex;align-items:center;gap:13px;margin:6px 0 16px}.plate{width:54px;height:54px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:700;font-size:21px;color:#14151a;box-shadow:inset 0 0 0 5px #00000038;flex-shrink:0}.workout-title{font-family:var(--font-d);text-transform:uppercase;font-size:21px;letter-spacing:.03em}.workout-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.session-summary{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:var(--surface);border:1px solid var(--border);border-radius:13px;margin-bottom:10px}.session-summary .left .num{font-family:var(--font-d);font-size:15px}.session-summary .left .date{font-family:var(--font-m);font-size:11px;color:var(--text-dim);margin-top:1px}.session-summary .right{text-align:right;font-family:var(--font-m);font-size:12px;color:var(--text-dim)}.session-summary .right-group{display:flex;align-items:center;gap:10px}.mini-delete{background:none;border:1px solid var(--border);color:var(--text-faint);width:24px;height:24px;border-radius:7px;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.session-card{border:1px solid var(--border);border-radius:14px;padding:14px 14px 6px;margin-bottom:14px;background:var(--surface)}.session-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.session-card-head .num{font-family:var(--font-d);font-size:16px;text-transform:uppercase;letter-spacing:.03em}.session-card-head input[type=date]{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:5px 7px;font-family:var(--font-m);font-size:11.5px}.session-card-head .head-right{display:flex;gap:8px;align-items:center}.cancel-link{background:none;border:none;color:var(--text-faint);font-size:11px;text-decoration:underline;padding:0;white-space:nowrap}.confirm-banner{background:#c4452f1a;border:1px solid var(--bad);border-radius:11px;padding:12px 13px;margin-bottom:12px}.confirm-banner p{margin:0 0 10px;font-size:12.5px;color:var(--text);line-height:1.5}.confirm-banner .row{display:flex;gap:10px}.confirm-banner button{flex:1;padding:9px;border-radius:9px;font-size:12.5px;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text)}.confirm-banner button.destructive{background:var(--bad);border-color:var(--bad);color:#14151a}.ex-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:13px 13px 12px;margin-bottom:10px}.ex-name-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ex-name{font-weight:600;font-size:14.5px}.ex-target{font-family:var(--font-m);font-size:11px;color:var(--text-dim);margin-top:2px}.cue-btn{background:none;border:1px solid var(--border);color:var(--text-faint);border-radius:7px;font-size:10.5px;padding:4px 8px;white-space:nowrap}.ex-cue{display:none;font-size:12px;color:var(--text-dim);margin-top:10px;border-top:1px dashed var(--border);padding-top:9px;line-height:1.5}.ex-cue.open{display:block}.ex-cue b{color:var(--text)}.sets-head,.sets-row{display:grid;grid-template-columns:26px 1fr 1fr;gap:8px;align-items:center}.sets-head{margin-top:12px;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.sets-row{margin-top:6px}.sets-row.bw{grid-template-columns:26px 1fr}.set-label{font-family:var(--font-m);font-size:11px;color:var(--text-faint)}input.num-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-m);font-size:15px;padding:8px 6px;text-align:center}input.num-input::placeholder{color:var(--text-faint)}.ex-footer{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.ex-footer .totals{font-family:var(--font-m);font-size:11.5px;color:var(--text-dim)}.badge{padding:3px 9px;border-radius:999px;font-family:var(--font-m);font-size:11px;font-weight:600}.badge.up{background:#6fa96a26;color:var(--good)}.badge.down{background:#c4452f26;color:var(--bad)}.badge.same,.badge.first{background:#9a9a9626;color:var(--text-dim)}.suggestion{font-size:11px;color:var(--text-dim);font-style:italic;margin:8px 2px 0}.session-total{display:flex;justify-content:space-between;padding:12px 2px 8px;font-family:var(--font-m);font-size:12.5px;color:var(--text-dim)}.session-total b{color:var(--text);font-family:var(--font-b)}.ref-search{margin-bottom:14px}.ref-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:13px 14px;margin-bottom:9px}.ref-item .name{font-weight:600;font-size:14.5px;display:flex;justify-content:space-between;align-items:center}.ref-item .chevron{color:var(--text-faint);font-size:12px;transition:transform .15s}.ref-item.open .chevron{transform:rotate(180deg)}.ref-body{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:12.5px;line-height:1.55;color:var(--text-dim)}.ref-item.open .ref-body{display:block}.ref-body .cue{color:var(--c);font-weight:600;margin-top:7px}
