:root{--bg:#f5f5f2;--surface:#fff;--surface-2:#efefeb;--fg:#1b1b19;--muted:#6b6b65;--line:#e1e1dc;--accent:#2f5bd3;--accent-fg:#fff;--ok:#1f7a45;--ok-bg:#e3f3e9;--warn:#9a5b00;--warn-bg:#fdf1dc;--danger:#b42318;--danger-bg:#fdecea;--radius:12px;--nav-h:60px;color:var(--fg);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#121211;--surface:#1c1c1a;--surface-2:#262623;--fg:#ececea;--muted:#9a9a94;--line:#31312d;--accent:#7c9bff;--accent-fg:#0d1430;--ok:#5fcf8d;--ok-bg:#17321f;--warn:#f0b259;--warn-bg:#3a2a10;--danger:#ff8a7a;--danger-bg:#3a1b17;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}main{max-width:44rem;padding:16px 16px calc(var(--nav-h) + 32px);margin:0 auto}h1{margin:4px 0 12px;font-size:1.5rem}h2{margin:24px 0 8px;font-size:1.05rem}h3{margin:0;font-size:1rem}p{margin:0 0 8px}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:10px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.list{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;display:block;overflow:hidden}.list>*{border-top:1px solid var(--line);color:inherit;width:100%;min-height:52px;font:inherit;text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.list>:first-child{border-top:0}button.list-item,a.list-item{cursor:pointer}.list-item:hover{background:var(--surface-2)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:28px 12px}button,.btn{font:inherit;cursor:pointer}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--fg);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn.small{min-height:34px;padding:0 10px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:default}.icon-btn{min-width:40px;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:1.1rem}.icon-btn:hover{background:var(--surface-2)}label.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:0 12px;font-size:16px}textarea{min-height:80px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}.check{align-items:center;gap:10px;display:flex}.segmented{background:var(--surface-2);border-radius:10px;gap:3px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;min-height:36px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--fg);font-weight:600}.tabbar{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;text-decoration:none;display:flex}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--accent);font-weight:600}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:44rem;max-height:88vh;display:flex}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 12px 8px 16px;display:flex}.sheet-body{padding:12px 16px 24px;overflow-y:auto}.session-bar{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin:-16px 0 8px;padding:8px 0;position:sticky;top:0}.set-grid{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 56px 44px 28px;align-items:center;gap:6px;display:grid}.set-grid.single{grid-template-columns:22px minmax(0,2fr) 56px 44px 28px}.set-grid .icon-btn{width:28px;min-width:28px}.set-grid select.rpe{text-align:center;text-align-last:center;padding:0 4px}.set-grid .hdr{color:var(--muted);font-size:.75rem}.set-grid input{text-align:center;padding:0 6px}.set-grid.done input{background:var(--ok-bg);border-color:#0000}.tick{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--muted);border-radius:10px;font-size:1.2rem}.tick[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.rest{font-variant-numeric:tabular-nums}.error-banner{z-index:30;border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);align-items:center;gap:8px;padding:10px 6px 10px 14px;font-size:.9rem;display:flex;position:fixed;top:8px;left:8px;right:8px}
