:root{--bg:#f8f6f0;--bg-elev:#f1eee6;--bg-hover:#ece8dd;--surface-variant:#e7e3d8;--border:#e1ddd2;--border-strong:#cfcabd;--text:#232220;--text-dim:#56544c;--text-faint:#84806f;--accent:#6f7c5c;--accent-soft:#dde4cf;--accent-ink:#3c4630;--accent-hover:#62704f;--on-accent:#fff;--clay:#a85a40;--clay-soft:#f2ddd3;--dusk:#5e6e78;--dusk-soft:#dce5e8;--gold:#9a7b3a;--success:#5f7348;--danger:#a8392b;--on-danger:#fff;--scrim:#23222061;--prio-urgent:#a8392b;--prio-high:#a85a40;--prio-medium:#97a380;--prio-low:#a8a496;--prio-none:#c9c5bc;--health-steady:#edf0e2;--health-steady-hi:#e4e9d5;--health-slipping:#f7ead6;--health-slipping-hi:#f2dfc3;--health-critical:#f6e1d9;--health-critical-hi:#f0d2c6;--health-waiting:#e6ecf0;--health-waiting-hi:#dbe4ea;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--serif:"Fraunces", Georgia, "Times New Roman", serif;--shadow:0 1px 2px #2322200d, 0 10px 30px #23222012;--shadow-sm:0 1px 2px #2322200f, 0 6px 16px -12px #23222080}:root[data-theme=dark]{--bg:#18170f;--bg-elev:#211f17;--bg-hover:#2a2820;--surface-variant:#45433b;--border:#3a382f;--border-strong:#4a473d;--text:#ece7db;--text-dim:#c9c5b8;--text-faint:#928e81;--accent:#bac79f;--accent-soft:#424e32;--accent-ink:#d6e2bc;--accent-hover:#c8d4ad;--on-accent:#1c2414;--clay:#f0b49c;--clay-soft:#723a24;--dusk:#aec2cc;--dusk-soft:#3f4d56;--gold:#d2b069;--success:#9fc487;--danger:#f2b5a8;--on-danger:#5a1709;--scrim:#0000008c;--prio-urgent:#f2b5a8;--prio-high:#f0b49c;--prio-medium:#aec2cc;--prio-low:#928e81;--prio-none:#5a574d;--health-steady:#23241a;--health-steady-hi:#2c2e21;--health-slipping:#32291a;--health-slipping-hi:#3c3122;--health-critical:#33211c;--health-critical-hi:#3e2925;--health-waiting:#1c2126;--health-waiting-hi:#242c32;--shadow:0 1px 2px #0006, 0 12px 34px #00000073;--shadow-sm:0 1px 2px #00000059, 0 6px 16px -12px #000000e6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}h1,h2,h3{font-family:var(--serif);letter-spacing:-.012em;font-weight:600;line-height:1.12}.section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:11px;font-weight:600}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:8px;padding:6px 11px;font-family:inherit;font-size:13px;transition:background .12s,border-color .12s,color .12s,transform 60ms}button:not(:disabled):hover{background:var(--bg-hover)}button:not(:disabled):active{transform:translateY(.5px)}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{background:0 0;border-color:#0000}button.ghost:not(:disabled):hover{background:var(--bg-hover)}button.danger{color:var(--danger);border-color:var(--border);background:0 0}button.danger:not(:disabled):hover{background:var(--clay-soft);border-color:var(--danger)}button:disabled{opacity:.5;cursor:default}input,textarea,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::placeholder{color:var(--text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.row{cursor:pointer;background:var(--row-tint,transparent);border-radius:8px;align-items:flex-start;gap:9px;padding:10px 12px;transition:background .12s;display:flex;position:relative}.row:hover{background:var(--row-tint-hi,var(--bg-elev))}.row.selected{background:var(--bg-hover)}.row.focused{outline:2px solid var(--accent);outline-offset:-2px}.health-swatch{border:1px solid var(--border-strong);border-radius:3px;flex:0 0 11px;width:11px;height:11px}.row-actions{opacity:0;flex:none;align-items:center;gap:2px;transition:opacity .12s;display:flex}.row:hover .row-actions,.row.focused .row-actions,.row-actions:focus-within{opacity:1}@media (hover:none){.row-actions{display:none}}body.show-row-actions .row-actions{opacity:1}.row-actions button{color:var(--text-faint);background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:12.5px;line-height:1.2}.row-actions button:hover{background:var(--bg-hover);color:var(--text)}.row-actions button.destructive:hover{background:var(--clay-soft);color:var(--danger)}input[type=checkbox].cbox{appearance:none;border:1.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 18px;place-content:center;width:18px;height:18px;transition:background .12s,border-color .12s;display:grid}input[type=checkbox].cbox:hover{border-color:var(--accent)}input[type=checkbox].cbox:after{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);opacity:0;width:9px;height:5px;transition:opacity .12s,transform .12s;transform:rotate(-45deg)translate(.5px,-1px)scale(.4)}input[type=checkbox].cbox:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox].cbox:checked:after{opacity:1;transform:rotate(-45deg)translate(.5px,-1px)scale(1)}input[type=checkbox].cbox.lg{flex-basis:21px;width:21px;height:21px}input[type=checkbox].selbox{appearance:none;border:1.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;flex:0 0 16px;place-content:center;width:16px;height:16px;margin-right:2px;display:grid}input[type=checkbox].selbox:hover{border-color:var(--accent)}input[type=checkbox].selbox:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox].selbox:after{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);opacity:0;width:8px;height:4px;transform:rotate(-45deg)translate(.5px,-1px)}input[type=checkbox].selbox:checked:after{opacity:1}.row.picked,.row.picked:hover{background:var(--accent-soft)}.tt{border-collapse:collapse;width:100%;font-size:13.5px}.tt th,.tt td{text-align:left;vertical-align:middle;padding:3px 6px}.tt thead th{z-index:2;background:var(--bg);border-bottom:1px solid var(--border-strong);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);white-space:nowrap;padding:7px 6px;font-size:11px;font-weight:600;position:sticky;top:0}.tt thead th button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;padding:0}.tt thead th button:hover{color:var(--text);background:0 0}.tt thead th[aria-sort] button{color:var(--accent)}.tt tbody tr{background:var(--row-tint,transparent);border-bottom:1px solid var(--border)}.tt tbody tr:hover{background:var(--row-tint-hi,var(--bg-elev))}.tt tbody tr.selected{background:var(--bg-hover)}.tt tbody tr.focused{outline:2px solid var(--accent);outline-offset:-2px}.tt tbody tr.focused td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tt tbody.group-body>tr.group-head>th{background:0 0;padding:14px 6px 5px}.tt tbody.group-body>tr.group-head{border-bottom:none}.tt .cell-in{width:100%;min-width:0;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 5px;font-size:13.5px}.tt .cell-in:hover{border-color:var(--border)}.tt .cell-in:focus{border-color:var(--accent);background:var(--bg)}.tt select.cell-in{appearance:none}.tt input[data-cell=update]:not(:focus):not(:placeholder-shown){border-color:var(--clay)}:root[data-theme=dark] .tt{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.fct{align-items:center;gap:4px;display:flex}.fct-main{text-align:left;min-width:0;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;flex:1;align-items:center;gap:10px;padding:6px 9px;font-size:13.5px;display:flex}.fct-main:hover{background:var(--bg-elev)}.fct-label{text-overflow:ellipsis;white-space:nowrap;flex:0 0 150px;overflow:hidden}.fct-bar{border-radius:var(--r-pill);background:var(--surface-variant);flex:1;min-width:30px;height:7px;overflow:hidden}.fct-fill{background:var(--text-faint);height:100%;transition:background .12s;display:block}.fct-count{text-align:right;color:var(--text-faint);font-variant-numeric:tabular-nums;flex:0 0 30px;font-size:12px}.fct-out{color:var(--text-faint);background:0 0;border-color:#0000;flex:none;padding:4px 8px;font-size:11px}.fct-out:hover{background:var(--clay-soft);color:var(--danger)}.fct[data-stance=in] .fct-main{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.fct[data-stance=in] .fct-fill{background:var(--accent)}.fct[data-stance=in] .fct-count{color:var(--accent-ink)}.fct[data-stance=out] .fct-label{color:var(--text-faint);text-decoration:line-through}.fct[data-stance=out] .fct-fill{background:var(--clay-soft)}.fct[data-stance=out] .fct-out{color:var(--danger);background:var(--clay-soft)}.walk-pane{flex-direction:column;display:flex}.walk-card{background:var(--row-tint,var(--bg-elev));width:100%;max-width:620px;margin:auto;padding:26px 26px 22px}.walk-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.walk-actions button{padding:9px 15px;font-size:14px}.walk-actions kbd{opacity:.6;border:1px solid;border-radius:4px;margin-left:8px;padding:0 4px;font-family:inherit;font-size:10.5px}@media (width<=760px){.fct-label{flex-basis:110px}.walk-card{padding:20px 18px 18px}.walk-actions kbd{display:none}}.listen-row{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;gap:6px 10px;padding:10px;font-size:14px;display:grid}.listen-row:not(:disabled):hover{background:var(--bg-elev)}.listen-row.current,.listen-row.current:not(:disabled):hover{background:var(--accent-soft);color:var(--accent-ink)}.listen-mark{color:var(--accent);text-align:center;font-size:12px}.listen-row.current .listen-mark{color:var(--accent-ink)}.listen-title{overflow-wrap:anywhere;line-height:1.35}.listen-row.done .listen-title{color:var(--text-dim)}.listen-meta{color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.listen-row.current .listen-meta{color:var(--accent-ink)}.listen-bar{border-radius:var(--r-pill);background:var(--surface-variant);grid-column:2/-1;height:3px;overflow:hidden}.listen-fill{background:var(--accent);height:100%;display:block}.listen-row.done .listen-fill{background:var(--prio-medium)}input[type=range].listen-seek{min-width:0;height:22px;accent-color:var(--accent);cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0}input[type=range].listen-seek:focus{box-shadow:none}:root[data-theme=dark] .listen-seek{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.listen-time{min-width:40px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.listen-controls{justify-content:center;align-items:center;gap:8px;display:flex}.listen-controls button{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:44px;height:40px;font-size:13px;display:inline-flex}.listen-controls button.listen-play{border-radius:var(--r-pill);width:52px;height:44px}.listen-bm-add{flex:none;justify-content:center;align-items:center;width:40px;height:32px;padding:0;font-size:16px;line-height:1;display:inline-flex}.listen-bm-list{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.listen-bm-bar{overscroll-behavior:contain;border-top:1px solid var(--border);max-height:10rem;margin:0 -4px;padding:6px 4px 2px;overflow:hidden auto}.listen-bm-sub{padding:0 10px 8px 38px}.listen-bm-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:6px;display:grid}.listen-bm-time{border-radius:var(--r-pill);background:var(--accent-soft);min-width:52px;min-height:28px;color:var(--accent-ink);font-variant-numeric:tabular-nums;border:none;padding:3px 8px;font-size:12px;font-weight:600}.listen-bm-time:not(:disabled):hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.listen-bm-note,textarea.listen-bm-input{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;width:100%;min-width:0;min-height:28px;padding:4px 6px;font-size:13px;line-height:1.4;display:block}.listen-bm-note{color:var(--text);background:0 0;border:none}.listen-bm-note.empty{color:var(--text-faint)}.listen-bm-note:not(:disabled):hover{background:var(--bg-hover)}textarea.listen-bm-input{resize:none;overflow:hidden}.listen-bm-del{min-width:32px;min-height:28px;color:var(--text-faint);background:0 0;border:none;padding:3px 8px;font-size:12px}.listen-bm-del:not(:disabled):hover{background:var(--clay-soft);color:var(--danger)}.listen-bm-rowwrap{border-radius:8px;align-items:center;gap:2px;display:flex}.listen-bm-rowwrap>.listen-row{flex:1 1 0;min-width:0}.listen-bm-rowwrap.current{background:var(--accent-soft)}.listen-bm-count{border-radius:var(--r-pill);min-height:28px;color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border:none;flex:none;align-items:center;gap:3px;margin-right:4px;padding:3px 8px;font-size:12px;display:inline-flex}.listen-bm-count:not(:disabled):hover{background:var(--bg-hover);color:var(--text)}.listen-bm-rowwrap.current .listen-bm-count{color:var(--accent-ink)}.listen-bm-count[aria-expanded=true],.listen-bm-count[aria-expanded=true]:not(:disabled):hover{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}@media (pointer:coarse){.listen-bm-time,.listen-bm-note,textarea.listen-bm-input,.listen-bm-del,.listen-bm-count{min-height:36px}}@media (width<=760px){.listen-bm-sub{padding-left:28px}textarea.listen-bm-input{font-size:16px}}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.pill{border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;padding:1px 9px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-flex}.pill.warn{color:var(--danger);border-color:var(--danger)}.pill.accent{color:var(--accent-ink);background:var(--accent-soft);border-color:#0000}input[type=range].prio-range{appearance:none;cursor:pointer;background:0 0;border:none;width:100%;height:22px;margin:0;padding:0}input[type=range].prio-range:focus{box-shadow:none}input[type=range].prio-range::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:var(--surface-variant);height:5px}input[type=range].prio-range::-moz-range-track{border-radius:var(--r-pill);background:var(--surface-variant);height:5px}input[type=range].prio-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--prio,var(--accent));border:2px solid var(--bg);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;margin-top:-5.5px}input[type=range].prio-range::-moz-range-thumb{background:var(--prio,var(--accent));border:2px solid var(--bg);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%}html{background:var(--bg)}:root{--gutter:28px}@media (width<=760px){:root{--gutter:16px}select,input[type=text],input[type=search]{min-width:0;max-width:100%}.row-actions{display:none}}body{overflow-x:hidden}.toast-host{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--r-lg);background:var(--bg-elev);border:1px solid var(--border-strong);min-width:min(260px,100vw - 132px);max-width:min(520px,100vw - 132px);box-shadow:var(--shadow);align-items:center;gap:12px;padding:10px 12px 10px 14px;font-size:13.5px;animation:.16s ease-out toast-in;display:flex}.toast .msg{text-overflow:ellipsis;flex:1;overflow:hidden}.toast.error{border-color:var(--danger);color:var(--danger)}.toast.success .dot{background:var(--success)}.toast .dot{background:var(--accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.toast button.undo{color:var(--accent);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:600}.toast button.undo:hover{background:var(--accent-soft);color:var(--accent-ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}
