:root{--text:#4b5563;--text-h:#0a0a0a;--bg:#f3f4f1;--surface:#fff;--border:#d1d5db;--accent:#16a34a;--accent-contrast:#fff;--accent2:#0891b2;--accent3:#c026d3;--danger:#dc2626;--caution:#9a6700;--caution-high:#bc4c00;--glow:#16a34a59;--accent-quick:#0e7490;--glow-quick:#0e748959;--glow2:#0891b24d;--glow3:#c026d347;--scanline:#00000005;--crt-sweep:#00000005;--circuit-line:#105c4629;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:15px/150% ui-monospace,Cascadia Code,SF Mono,Consolas,Liberation Mono,monospace}:root[data-theme=dark]{--text:#9aa4af;--text-h:#e6edf3;--bg:#06090c;--surface:#0d1117;--border:#23292f;--accent:#3fb950;--accent-contrast:#06090c;--accent2:#22d3ee;--accent3:#ff44e0;--danger:#f85149;--caution:#e3b341;--caution-high:#f0883e;--glow:#3fb9508c;--accent-quick:#22d3ee;--glow-quick:#22d3ee80;--glow2:#22d3ee80;--glow3:#ff44e073;--scanline:#b4ffdc09;--crt-sweep:#b4ffdc08;--circuit-line:#78e1be26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0;position:relative}body:before{content:"";z-index:9999;pointer-events:none;background:repeating-linear-gradient(to bottom, var(--scanline) 0px, var(--scanline) 1px, transparent 1px, transparent 3px);animation:2s linear infinite scanline-drift;position:fixed;inset:0}@keyframes scanline-drift{to{background-position:0 3px}}body:after{content:"";z-index:9998;pointer-events:none;background:linear-gradient(to bottom, transparent, var(--crt-sweep), transparent);height:24vh;animation:7s linear infinite crt-sweep;position:fixed;top:0;left:0;right:0}@keyframes crt-sweep{0%{transform:translateY(-30vh)}to{transform:translateY(130vh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}#root{min-height:100svh}h1,h2{color:var(--text-h);margin:0}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app{z-index:1;flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:16px 16px 48px;display:flex;position:relative}.circuit{z-index:0;pointer-events:none;opacity:.55;position:fixed;inset:0}.app{padding-top:calc(16px + env(safe-area-inset-top));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(48px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left))}.app.board{max-width:1360px}.app.board>.completed-section{align-self:center;width:100%;max-width:480px}.app-top{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;width:100%;display:flex}.app-controls{flex-direction:column;flex:0 480px;gap:16px;min-width:280px;display:flex}.app-controls[hidden]{display:none}.today-cards{flex-direction:column;flex:420px;gap:12px;min-width:280px;display:flex}.app-top .start-here{flex:auto;justify-content:flex-start}.today-cards.split .start-here{gap:6px;padding:12px 14px}.today-cards.split .start-here-text{font-size:clamp(18px,1.5vw,23px)}.today-cards.split .start-here-reason{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.today-cards.split .start-here.quick{box-shadow:0 0 20px var(--glow);animation:none}.today-cards.split .start-here.quick:before{opacity:.55;animation:none}.app-top .start-here .start-here-meta,.app-top .start-here .start-here-footer{margin-top:auto}.task-row,.start-here{position:relative;overflow:hidden}.task-row:after,.start-here:after{content:"";background:linear-gradient(to bottom, transparent, var(--glow2) 70%, var(--accent2));height:70%;box-shadow:0 0 14px var(--glow2);opacity:0;pointer-events:none;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.start-here:after{background:linear-gradient(#0000,#ffffff59 70%,#ffffffd9);box-shadow:0 0 14px #ffffff80}.task-row:before,.start-here:before{--bracket:linear-gradient(var(--accent2), var(--accent2));--bracket-len:14px;--bracket-w:2px;content:"";pointer-events:none;opacity:0;filter:drop-shadow(0 0 4px var(--glow2));background:var(--bracket) left top / var(--bracket-len) var(--bracket-w) no-repeat, var(--bracket) left top / var(--bracket-w) var(--bracket-len) no-repeat, var(--bracket) right top / var(--bracket-len) var(--bracket-w) no-repeat, var(--bracket) right top / var(--bracket-w) var(--bracket-len) no-repeat, var(--bracket) left bottom / var(--bracket-len) var(--bracket-w) no-repeat, var(--bracket) left bottom / var(--bracket-w) var(--bracket-len) no-repeat, var(--bracket) right bottom / var(--bracket-len) var(--bracket-w) no-repeat, var(--bracket) right bottom / var(--bracket-w) var(--bracket-len) no-repeat;transition:opacity .2s;position:absolute;inset:0}.start-here:before{--bracket:linear-gradient(#fffffff2, #fffffff2);--bracket-len:26px;--bracket-w:3px;opacity:1;filter:drop-shadow(0 0 8px #ffffffb3);animation:3.2s ease-in-out infinite bracket-pulse}@keyframes bracket-pulse{0%,to{opacity:.5;filter:drop-shadow(0 0 4px #ffffff73)}50%{opacity:1;filter:drop-shadow(0 0 14px #fffffff2)}}@media (hover:hover){button,.task-input,select,.task-row,.start-here{transition:box-shadow .15s,border-color .15s,transform .1s,text-shadow .15s}button:hover{border-color:var(--accent2);box-shadow:0 0 4px var(--glow2), 0 0 14px var(--glow2), 0 0 30px var(--glow2), inset 0 0 12px var(--glow2);text-shadow:-1px 0 4px var(--glow3), 1px 0 4px var(--glow2), 0 0 10px var(--glow2)}button:active{box-shadow:0 0 6px var(--accent2), 0 0 24px var(--glow2), inset 0 0 18px var(--glow2);transform:translateY(1px)scale(.98)}.start-here.quick button:hover{border-color:var(--accent-contrast)}.task-row:hover:after,.start-here:hover:after{animation:.7s ease-out scan-sweep}.task-row:hover:before,.start-here:hover:before{opacity:1}.task-row:hover{border-color:var(--accent2);box-shadow:0 0 18px var(--glow2), inset 0 0 24px color-mix(in srgb, var(--accent2) 7%, transparent)}.start-here:hover{transform:scale(1.01)}}@media (hover:none){.task-row[data-focus]:before{opacity:.9}}.task-row{animation:.42s ease-out backwards task-materialize}@keyframes task-materialize{0%{opacity:0;clip-path:inset(0 100% 0 0);border-color:var(--accent2);box-shadow:0 0 22px var(--glow2)}70%{border-color:var(--accent2);box-shadow:0 0 22px var(--glow2)}to{opacity:1;clip-path:inset(0)}}.task-row:nth-child(2){animation-delay:40ms}.task-row:nth-child(3){animation-delay:80ms}.task-row:nth-child(4){animation-delay:.12s}.task-row:nth-child(5){animation-delay:.16s}.task-row:nth-child(n+6){animation-delay:.2s}.task-row.completing{animation:.42s ease-in forwards task-complete}@keyframes task-complete{0%{border-color:var(--accent);box-shadow:0 0 20px var(--glow)}35%{border-color:var(--accent);box-shadow:0 0 44px var(--glow), inset 0 0 34px var(--glow)}to{opacity:0;transform:translate(14px);box-shadow:0 0 #0000}}.start-here.completing{animation:.42s ease-in forwards start-here-complete}@keyframes start-here-complete{0%{box-shadow:0 0 32px var(--glow)}35%{box-shadow:0 0 60px #ffffffe6,inset 0 0 60px #fff9}to{opacity:0;transform:scale(.97)}}@keyframes scan-sweep{0%{opacity:0;transform:translateY(-100%)}12%{opacity:1}to{opacity:0;transform:translateY(260%)}}.app-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.app.focus{justify-content:center;max-width:640px;min-height:70vh}.app.focus .start-here{padding:24px}.app.focus .start-here-text{font-size:clamp(24px,3vw,34px)}.focus-exit{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);border-radius:3px;flex:none;padding:6px 12px;font-size:12px}.app-header h1{letter-spacing:.5px;text-shadow:0 0 10px var(--glow);font-size:24px;animation:8s linear infinite title-flicker}@keyframes title-flicker{0%,91%,to{opacity:1;text-shadow:0 0 10px var(--glow)}92%{opacity:.55;text-shadow:-2px 0 6px var(--glow3), 2px 0 6px var(--glow2)}94%{opacity:1;text-shadow:2px 0 6px var(--glow3), -2px 0 6px var(--glow2)}96%{opacity:.7;text-shadow:0 0 10px var(--glow)}98%{opacity:1;text-shadow:0 0 18px var(--glow), 0 0 34px var(--glow)}}.app-header h1:after{content:"_";color:var(--accent);text-shadow:0 0 8px var(--glow);animation:1s step-end infinite cursor-blink}@keyframes cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.status-vitals{border:1px solid var(--border);border-left:3px solid var(--status);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 10px;font-size:12px;display:flex}.status-vitals.fine{--status:var(--accent)}.status-vitals.caution{--status:var(--caution)}.status-vitals.caution-high{--status:var(--caution-high)}.status-vitals.danger{--status:var(--danger)}.status-label{color:var(--status);letter-spacing:2px;text-shadow:0 0 8px color-mix(in srgb, var(--status) 55%, transparent);font-weight:700}.status-vitals.danger .status-label{animation:1.1s step-end infinite status-alarm}@keyframes status-alarm{0%,60%{opacity:1}60.01%,to{opacity:.35}}.status-ecg{width:72px;height:12px;overflow:hidden}.status-ecg polyline{fill:none;stroke:var(--status);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--status) 60%, transparent));animation:2.4s linear infinite ecg-scroll}.status-vitals.caution .status-ecg polyline{animation-duration:1.9s}.status-vitals.caution-high .status-ecg polyline{animation-duration:1.4s}.status-vitals.danger .status-ecg polyline{animation-duration:.9s}@keyframes ecg-scroll{to{transform:translate(-60px)}}.status-count strong{color:var(--text-h);font-weight:700}.status-note{color:var(--status);flex:auto;min-width:0}.add-row{gap:8px;display:flex}.task-input{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:3px;flex:1;min-height:48px;padding:12px 14px;font-size:16px}.task-input:focus,.field input:focus,.field select:focus,.date-input:focus{border-color:var(--accent2);box-shadow:0 0 0 2px var(--glow2);outline:none}.add-button,.photo-button,.build-button{border:1px solid var(--border);border-radius:3px;min-height:48px;padding:12px 16px;font-size:16px;font-weight:600}.add-button{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);white-space:nowrap;box-shadow:0 0 12px var(--glow)}.photo-button{background:var(--surface);width:100%;color:var(--text-h)}.photo-button:disabled,.build-button:disabled{opacity:.6}.sync-overlay{z-index:20;pointer-events:none;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sync-panel{border:1px solid var(--accent2);background:color-mix(in srgb, var(--surface) 92%, transparent);min-width:min(320px,80vw);box-shadow:0 0 26px var(--glow2), inset 0 0 34px color-mix(in srgb, var(--accent2) 7%, transparent);border-radius:3px;flex-direction:column;gap:12px;padding:18px 20px;transition:min-width .22s,padding .22s,border-color .22s,box-shadow .22s;animation:.18s ease-out sync-panel-in;display:flex;position:relative}.sync-panel:before{--bracket:linear-gradient(var(--accent2), var(--accent2));content:"";pointer-events:none;filter:drop-shadow(0 0 6px var(--glow2));background:var(--bracket) left top / 18px 2px no-repeat, var(--bracket) left top / 2px 18px no-repeat, var(--bracket) right top / 18px 2px no-repeat, var(--bracket) right top / 2px 18px no-repeat, var(--bracket) left bottom / 18px 2px no-repeat, var(--bracket) left bottom / 2px 18px no-repeat, var(--bracket) right bottom / 18px 2px no-repeat, var(--bracket) right bottom / 2px 18px no-repeat;position:absolute;inset:-1px}@keyframes sync-panel-in{0%{opacity:0;transform:scale(.96)}}.sync-panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sync-panel-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:700}.sync-progress-track{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 70%, transparent);border-radius:2px;flex-shrink:0;width:100%;height:8px;overflow:hidden}.sync-progress-fill{background:var(--accent2);height:100%;box-shadow:0 0 10px var(--glow2);transition:width .14s linear;display:block}.sync-progress-value{letter-spacing:.08em;color:var(--accent2);text-shadow:0 0 8px var(--glow2);font-variant-numeric:tabular-nums;white-space:pre;text-align:right;min-width:8ch;font-size:15px;font-weight:700}.sync-panel.done{border-color:var(--accent);min-width:min(400px,88vw);box-shadow:0 0 34px var(--glow), inset 0 0 40px color-mix(in srgb, var(--accent) 8%, transparent);padding:28px 30px;animation:.9s ease-out forwards sync-complete}.sync-panel.done .sync-panel-label{font-size:13px}.sync-panel.done .sync-progress-value{letter-spacing:.12em;font-size:22px}.sync-panel.done:before{--bracket:linear-gradient(var(--accent), var(--accent));filter:drop-shadow(0 0 8px var(--glow))}.sync-panel.done .sync-progress-fill{background:var(--accent);box-shadow:0 0 14px var(--glow)}.sync-panel.done .sync-progress-value{color:var(--accent);text-shadow:0 0 10px var(--glow)}@keyframes sync-complete{0%,60%{opacity:1}to{opacity:0}}.sync-button{justify-content:center;align-items:center;gap:10px;display:flex}.sync-badge{border:1px solid var(--accent3);color:var(--accent3);white-space:nowrap;box-shadow:0 0 8px var(--glow3);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1}.build-button{background:var(--text-h);width:100%;color:var(--bg);border-color:var(--text-h)}.secondary-actions{flex-direction:column;gap:16px;display:flex}.error{color:var(--danger);font-size:14px}.start-here{background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 32px var(--glow);border-radius:3px;flex-direction:column;gap:6px;padding:12px 14px;animation:3.2s ease-in-out infinite start-here-breathe;display:flex}.start-here-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.today-swap{border:1px solid var(--accent-contrast);min-height:32px;color:var(--accent-contrast);white-space:nowrap;background:0 0;border-radius:3px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:600}.start-here.quick{--accent:var(--accent-quick);--glow:var(--glow-quick)}@keyframes start-here-breathe{0%,to{box-shadow:0 0 24px var(--glow)}50%{box-shadow:0 0 44px var(--glow), 0 0 76px var(--glow)}}.start-here-label{letter-spacing:1.5px;text-transform:uppercase;opacity:.85;font-size:11px;font-weight:700}.start-here-text{font-size:clamp(19px,1.5vw,23px);font-weight:700;line-height:1.25}.start-here-meta{opacity:.9;flex-wrap:wrap;gap:10px;font-size:13px;font-weight:600;display:flex}.start-here-reason{opacity:.9;font-size:13px}.start-here-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.done-row{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.done-row input,.task-check input{width:22px;height:22px}.task-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.task-row{background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);border-radius:3px;flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;padding:9px 10px;display:flex}.task-check{padding:4px;display:flex}.rank-cell{flex-shrink:0;align-items:center;gap:3px;min-width:38px;display:flex}.rank-badge{color:var(--accent2);text-shadow:0 0 6px var(--glow2);text-align:center;flex-shrink:0;min-width:18px;font-size:13px;font-weight:700}.card-mark{width:13px;color:var(--accent);text-shadow:0 0 6px var(--glow);flex-shrink:0;justify-content:center;font-size:11px;line-height:1;display:inline-flex}.card-mark-quick{color:var(--accent-quick);text-shadow:0 0 6px var(--glow-quick)}.task-body{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.task-text{color:var(--text-h);overflow-wrap:break-word;font-size:16px}.task-text.editable{cursor:text;border-radius:3px;margin:-1px -3px;padding:1px 3px;transition:background .12s ease-out}.task-text.editable:hover{background:color-mix(in srgb, var(--accent2) 12%, transparent)}.task-text-input{width:100%;color:var(--text-h);background:var(--bg);border:1px solid var(--accent2);border-radius:3px;margin:-1px -3px;padding:1px 3px;font-family:inherit;font-size:16px}.task-metrics{font-variant-numeric:tabular-nums;color:var(--accent2);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.task-reason{color:var(--text);font-size:12px}.snooze-button{border:1px solid var(--border);background:var(--bg);min-height:32px;color:var(--text);border-radius:3px;flex:none;padding:4px 8px;font-size:12px}.task-dates{color:var(--text);font-size:12px}.undo-bar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;border:1px solid var(--accent2);background:var(--surface);max-width:calc(100vw - 32px);box-shadow:0 0 14px var(--glow2);border-radius:3px;align-items:center;gap:12px;padding:10px 12px;animation:.16s ease-out undo-in;display:flex;position:fixed;transform:translate(-50%)}@keyframes undo-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.undo-bar{animation:none}}.undo-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.undo-button{letter-spacing:.5px;border:1px solid var(--accent2);background:var(--bg);min-height:40px;color:var(--accent2);text-shadow:0 0 6px var(--glow2);border-radius:3px;flex:none;padding:8px 14px;font-size:13px;font-weight:700}.completed-section{flex-direction:column;gap:8px;display:flex}.completed-label{color:var(--text);font-size:13px;font-weight:700}.completed-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.bulk-delete{min-height:32px;padding:6px 10px;font-size:12px}.completed-row{opacity:.7}.event-row{border-left:2px solid var(--accent2)}.event-chip{border-color:var(--accent2);color:var(--accent2)}.calendar-mark{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:3px;padding:6px 8px;font-size:12px;font-weight:600}.calendar-mark.pending{border-color:var(--caution);color:var(--caution)}.calendar-mark.failed{border-color:var(--danger);color:var(--danger)}.prep-button{white-space:nowrap}.today-events{flex-direction:column;gap:6px;width:100%;display:flex}.today-events-label{color:var(--accent2);font-size:13px;font-weight:700}.today-events-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.today-event{border:1px solid var(--accent2);background:var(--bg);min-height:36px;color:var(--text-h);text-align:left;border-radius:3px;align-items:baseline;gap:8px;padding:8px 12px;display:flex}.today-event-time{color:var(--accent2);white-space:nowrap;font-size:13px;font-weight:700}.today-event-text{font-size:14px}.modal-actions button:disabled{opacity:.4}.deadline-chip{border:1px solid var(--border);background:var(--bg);min-height:36px;color:var(--text-h);white-space:nowrap;border-radius:3px;padding:8px 12px;font-size:13px;font-weight:600}.deadline-chip.unset{color:var(--accent);border-color:var(--accent);background:0 0}.start-here .deadline-chip.unset{color:var(--accent-contrast);border-color:var(--accent-contrast)}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.genre-chip{border:1px solid var(--accent3);max-width:104px;min-height:36px;color:var(--accent3);text-shadow:0 0 6px var(--glow3);white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:3px;flex-shrink:0;padding:8px 10px;font-size:12px;font-weight:600;overflow:hidden}.genre-chip.unset{border-color:var(--border);color:var(--text);text-shadow:none}.start-here .genre-chip{border-color:var(--accent-contrast);color:var(--accent-contrast);text-shadow:none}.task-row.on-card{border-color:var(--accent)}.task-row.on-card .rank-badge{color:var(--accent);text-shadow:0 0 6px var(--glow)}.task-row.on-card-quick{border-color:var(--accent-quick)}.task-row.on-card-quick .rank-badge{color:var(--accent-quick);text-shadow:0 0 6px var(--glow-quick)}.genre-board{grid-template-columns:repeat(auto-fit,minmax(200px,250px));justify-content:center;align-items:start;gap:12px;display:grid}.genre-column{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 45%, transparent);border-radius:3px;flex-direction:column;gap:8px;padding:10px;display:flex}.genre-column-head{border-bottom:1px solid var(--border);letter-spacing:1px;color:var(--accent2);text-shadow:0 0 6px var(--glow2);justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;font-size:13px;font-weight:700;display:flex}.genre-column-name:before{content:"▌";opacity:.8;margin-right:6px}.genre-column.loose .genre-column-name{color:var(--accent3);text-shadow:0 0 6px var(--glow3)}.genre-count{color:var(--text);text-shadow:none;font-size:12px}.genre-column .task-row{flex-wrap:wrap;row-gap:8px}.genre-column .task-body{flex:120px}.genre-column .chip-row{flex:1 0 100%}.followup-badge{border:1px solid var(--accent2);width:36px;height:36px;color:var(--accent2);text-shadow:0 0 6px var(--glow2);box-shadow:0 0 10px var(--glow2), inset 0 0 8px var(--glow2);background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;animation:2.6s ease-in-out infinite badge-glow;display:flex}@keyframes badge-glow{0%,to{box-shadow:0 0 8px var(--glow2), inset 0 0 6px var(--glow2)}50%{box-shadow:0 0 20px var(--glow2), inset 0 0 14px var(--glow2)}}.backup-row{gap:8px;display:flex}.backup-row>*{flex:1}.file-button{cursor:pointer;justify-content:center;align-items:center;display:flex}.file-button input[type=file]{display:none}.backup-message{color:var(--accent)}.ai-failed-chip{white-space:nowrap;border:1px solid var(--danger);min-height:36px;color:var(--danger);background:0 0;border-radius:3px;flex-shrink:0;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.start-here .ai-failed-chip{background:var(--accent-contrast);border-color:var(--accent-contrast)}.start-here .followup-badge{border-color:var(--accent-contrast);color:var(--accent-contrast);text-shadow:none;animation:2.6s ease-in-out infinite badge-glow-contrast}@keyframes badge-glow-contrast{0%,to{box-shadow:0 0 6px #ffffff59}50%{box-shadow:0 0 16px #fff9,inset 0 0 10px #ffffff59}}.followup-loading{animation:1.2s ease-in-out infinite followup-pulse}@keyframes followup-pulse{0%,to{opacity:.4}50%{opacity:1}}.delete-button{border:1px solid var(--border);background:var(--bg);min-height:36px;color:var(--text);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:8px 10px;font-size:13px;font-weight:600}.delete-button.confirming{border-color:var(--danger);color:var(--danger);box-shadow:0 0 8px color-mix(in srgb, var(--danger) 50%, transparent)}.followup-item{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.followup-item:last-of-type{border-bottom:none;padding-bottom:0}.followup-question{color:var(--text-h);font-size:15px;font-weight:600}.followup-options{flex-wrap:wrap;gap:8px;display:flex}.followup-option{border:1px solid var(--border);background:var(--bg);min-height:40px;color:var(--text-h);border-radius:3px;padding:8px 14px;font-size:14px;font-weight:600}.followup-option.selected{border-color:var(--accent2);color:var(--accent2);box-shadow:0 0 10px var(--glow2), inset 0 0 8px var(--glow2)}.followup-freeform{gap:8px;display:flex}.followup-freeform input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:3px;flex:1;min-height:44px;padding:10px 12px;font-size:16px}.followup-freeform button{border:1px solid var(--border);background:var(--accent);color:var(--accent-contrast);border-radius:3px;padding:8px 14px;font-size:14px;font-weight:600}.followup-skip{color:var(--text);background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:12px;text-decoration:underline}.modal-overlay{z-index:10;background:#0f172a80;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--surface);overscroll-behavior:contain;width:100%;max-width:480px;max-height:90dvh;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:3px 3px 0 0;flex-direction:column;gap:14px;display:flex;overflow-y:auto}.modal h2{font-size:18px}.field{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field input,.field select,.date-input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:3px;min-height:48px;padding:12px 14px;font-size:16px}.date-field{flex-direction:column;gap:6px;display:flex}.date-field-label{color:var(--text);font-size:13px;font-weight:600}.date-field-row{align-items:stretch;gap:8px;display:flex}.date-field-row .date-input{flex:1;min-width:0}.date-clear{border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:0 12px;font-size:13px}.hint{color:var(--text);font-size:12px}.genre-swipe{flex-direction:column;gap:16px;width:100%;display:flex}.genre-pane{touch-action:pan-y}@keyframes genre-slide-from-right{0%{opacity:0;transform:translate(24px)}}@keyframes genre-slide-from-left{0%{opacity:0;transform:translate(-24px)}}.genre-pane.slide-from-right{animation:.18s ease-out genre-slide-from-right}.genre-pane.slide-from-left{animation:.18s ease-out genre-slide-from-left}@media (prefers-reduced-motion:reduce){.genre-pane.slide-from-right,.genre-pane.slide-from-left{animation:none}}.genre-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.genre-tabs::-webkit-scrollbar{display:none}.genre-tab{scroll-snap-align:start;letter-spacing:.5px;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:3px;flex:none;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.genre-tab-count{background:var(--bg);color:var(--text);border-radius:2px;padding:1px 5px;font-size:11px;font-weight:700}.genre-tab.active{border-color:var(--accent2);color:var(--accent2);text-shadow:0 0 6px var(--glow2);box-shadow:0 0 10px var(--glow2), inset 0 0 10px var(--glow2)}.genre-tab.loose.active{border-color:var(--accent3);color:var(--accent3);text-shadow:0 0 6px var(--glow3);box-shadow:0 0 10px var(--glow3), inset 0 0 10px var(--glow3)}.section-label{letter-spacing:1px;color:var(--accent2);text-shadow:0 0 6px var(--glow2);border-top:1px solid var(--border);padding-top:6px;font-size:12px;font-weight:700}.photo-hint{color:var(--text);text-align:center;margin-top:-6px;font-size:12px}.modal-actions{flex-wrap:wrap;gap:8px;display:flex}.modal-actions button{border:1px solid var(--border);background:var(--bg);min-width:96px;min-height:48px;color:var(--text-h);border-radius:3px;flex:1;padding:12px;font-size:15px;font-weight:600}@media (width<=720px){.app{padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));gap:12px}.add-row{z-index:5;background:var(--bg);border-top:1px solid var(--border);padding:10px 12px calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.add-button{padding:12px 10px;font-size:14px}.app-top,.app-controls{gap:12px}.secondary-actions{flex-direction:row;gap:8px}.secondary-actions .photo-button{flex:1;padding:12px 8px;font-size:14px}.start-here{padding:12px}.task-row{flex-wrap:wrap;row-gap:6px;padding:8px}.task-body{flex:120px}.task-row .chip-row{flex:1 0 100%}.start-here-footer{flex-wrap:wrap;row-gap:12px}.completed-section .task-row{row-gap:4px}}@media (hover:none){button:active{border-color:var(--accent2);box-shadow:0 0 4px var(--glow2), 0 0 16px var(--glow2), inset 0 0 12px var(--glow2)}}
