:root,:root[data-theme=gym-dark]{--bg:#0d0f12;--surface:#16191e;--surface-2:#1e2228;--border:#232830;--text:#e8eaed;--text-muted:#9aa3ad;--accent:#d8f34e;--accent-contrast:#0d0f12;--positive:#4ade80;--negative:#f87171;--radius:12px;--font-weight-heading:800}:root[data-theme=clinical-light]{--bg:#f7f9fa;--surface:#fff;--surface-2:#eef2f5;--border:#e3e8ed;--text:#1a2330;--text-muted:#7a8694;--accent:#3b82c4;--accent-contrast:#fff;--positive:#2f9e6e;--negative:#d64545;--radius:10px;--font-weight-heading:700}:root[data-theme=warm-journal]{--bg:#faf6ef;--surface:#fff;--surface-2:#efe9df;--border:#e8e0d2;--text:#3d3429;--text-muted:#a39580;--accent:#d98e4a;--accent-contrast:#fff;--positive:#7a9b76;--negative:#c26d5a;--radius:14px;--font-weight-heading:700}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}h1,h2,h3{font-weight:var(--font-weight-heading)}a{color:var(--accent)}button{font:inherit}.app-layout{min-height:100dvh}.app-main{padding:16px 16px 96px}.app-nav{background:var(--surface);border-top:1px solid var(--border);padding:8px 0 env(safe-area-inset-bottom);z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.tab.active{color:var(--accent);font-weight:700}.fab{background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);cursor:pointer;z-index:15;border:none;border-radius:50%;font-size:28px;font-weight:800;position:fixed;bottom:84px;right:16px;box-shadow:0 4px 16px #00000059}@media (width>=768px){.app-layout{grid-template-columns:200px 1fr;display:grid}.app-nav{border-top:none;border-right:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:8px;height:100dvh;padding:24px 12px;position:sticky;top:0;bottom:auto}.tab{border-radius:var(--radius);flex-direction:row;gap:10px;width:100%;padding:10px 12px;font-size:14px}.tab.active{background:var(--surface-2)}.app-main{max-width:960px;padding:24px 32px}.fab{bottom:24px}}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.card.tappable{cursor:pointer}.muted{color:var(--text-muted);font-size:13px}.section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);margin:16px 0 8px;font-size:12px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;padding:10px 16px;font-weight:600}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-danger{border-color:var(--negative);color:var(--negative);background:0 0}.btn:disabled{opacity:.5;cursor:default}.input{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:10px}.input-num{text-align:center;width:72px}.error-text{color:var(--negative);font-size:13px}.sheet-backdrop{z-index:20;background:#00000080;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;border-top:2px solid var(--accent);width:100%;max-width:480px;max-height:80dvh;margin:0 auto;padding:16px;overflow-y:auto}.input,select.input,textarea.input{font-size:16px}@keyframes shimmer{to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.4s linear infinite shimmer}.glow-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 4px 14px #0000002e}.glow-card.is-active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 18px color-mix(in srgb, var(--accent) 22%, transparent)}.glow-card.is-upnext{opacity:.72}.pips{gap:3px;display:inline-flex}.pip{background:var(--surface-2);border-radius:2px;width:14px;height:4px}.pip.on{background:var(--accent)}.delta-up{color:var(--positive);font-weight:700}.delta-down{color:var(--text-muted)}.session-header{align-items:center;gap:14px;display:flex}.eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:10px}.set-note{color:var(--text-muted);font-size:12px;font-style:italic}
