:root{--bg:#f6f7f9;--surface:#fff;--text:#1c1f24;--muted:#5f6672;--border:#d9dde3;--accent:#2f5bea;--accent-soft:#e8eefe;--warn:#b4410e;--warn-soft:#fdeee6;--error:#b42318;--tag-general-bg:#e9ecef;--tag-general-text:#3d4450;--tag-homework-bg:#e3f1e8;--tag-homework-text:#1d6b3a;--tag-exam-bg:#fbe7ec;--tag-exam-text:#a3243f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--surface:#1e2127;--text:#e8eaee;--muted:#a0a7b3;--border:#353a43;--accent:#7c9cff;--accent-soft:#232c45;--warn:#f59e6b;--warn-soft:#3a2519;--error:#ff8a80;--tag-general-bg:#2c3038;--tag-general-text:#c4cad4;--tag-homework-bg:#1d3326;--tag-homework-text:#8fd8a8;--tag-exam-bg:#3a1f27;--tag-exam-text:#ff9fb3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--surface:#1e2127;--text:#e8eaee;--muted:#a0a7b3;--border:#353a43;--accent:#7c9cff;--accent-soft:#232c45;--warn:#f59e6b;--warn-soft:#3a2519;--error:#ff8a80;--tag-general-bg:#2c3038;--tag-general-text:#c4cad4;--tag-homework-bg:#1d3326;--tag-homework-text:#8fd8a8;--tag-exam-bg:#3a1f27;--tag-exam-text:#ff9fb3}}.app-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.theme-toggle{width:44px;height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.theme-toggle[data-showing=light] .theme-icon-sun,.theme-toggle[data-showing=dark] .theme-icon-moon{display:none}.theme-changing,.theme-changing *,.theme-changing :before,.theme-changing :after{transition:background-color .5s,border-color .5s,color .5s!important}.theme-changing .theme-toggle svg{animation:.5s theme-spin}@keyframes theme-spin{0%{transform:rotate(-180deg)scale(.5)}}@media (prefers-reduced-motion:reduce){.theme-changing,.theme-changing *,.theme-changing :before,.theme-changing :after{transition:none!important}.theme-changing .theme-toggle svg{animation:none}}*{box-sizing:border-box}body{background:var(--bg);margin:0}main{max-width:640px;margin:0 auto;padding:24px 16px 64px}h1{margin:0;font-size:1.9rem}h2{margin:32px 0 12px;font-size:1.1rem}.tagline,.muted{color:var(--muted);margin:4px 0 0}.task-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;position:relative}.task-card .tag{margin-bottom:10px}.task-card h3{margin:0 0 6px;font-size:1.05rem}.task-card.next{border:2px solid var(--accent);background:var(--accent-soft);padding:20px}.task-card.next h3{font-size:1.4rem}.meta{color:var(--muted);margin:0;line-height:1.45}.reason{margin:12px 0 0;font-weight:500;line-height:1.45}.due-soon .reason{color:var(--warn)}.next-empty{background:var(--surface);border:2px dashed var(--border);color:var(--muted);border-radius:12px;margin:0;padding:20px}form{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:12px;padding:16px;display:grid}label{gap:4px;font-size:.95rem;font-weight:500;display:grid}input,select,button{font:inherit}input,select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row>label{min-width:0}input[type=date],input[type=time]{appearance:none;min-width:0;min-height:44px}button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:600}.form-errors{color:var(--error);margin:0;padding-left:20px}.form-errors:empty,.status:empty{display:none}.status{color:var(--accent);margin:0}.banner{border-radius:8px;margin-top:16px;padding:12px}.banner.error{background:var(--warn-soft);color:var(--error)}[hidden]{display:none!important}.filter{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 14px}.filter-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.tag{letter-spacing:.02em;border-radius:999px;margin-bottom:6px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.tag-general{background:var(--tag-general-bg);color:var(--tag-general-text)}.tag-homework{background:var(--tag-homework-bg);color:var(--tag-homework-text)}.tag-exam{background:var(--tag-exam-bg);color:var(--tag-exam-text)}.category-picker{border:none;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.category-picker legend{margin-bottom:6px;padding:0;font-size:.95rem;font-weight:500}.category-picker label{border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;display:flex}.category-picker label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.category-picker input{width:auto;margin:0}.plan{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:4px 16px 16px}.plan h2{margin-top:12px}.plan-hours{max-width:220px}.plan-steps{gap:8px;margin:12px 0 0;padding-left:22px;display:grid}.plan-steps li strong,.plan-steps li .meta{display:block}.plan-steps li .meta{font-size:.9rem}.plan-message{color:var(--muted);margin:12px 0 0}.plan-message:empty{display:none}.plan-message.warning{color:var(--warn)}.undo-bar{background:var(--text);width:min(608px,100% - 32px);color:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.undo-bar button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.card-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.card-action{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;padding:8px 14px;font-size:.9rem;text-decoration:none;display:inline-flex}.card-action.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.log-form{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:end;gap:8px;margin-top:12px;padding:12px;display:flex}.log-form label{width:140px}.log-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;min-height:42px;padding:8px 16px;font-weight:600}.log-form .form-errors{width:100%;padding:0}.done-section{margin-top:32px}.done-section summary{cursor:pointer;font-size:1.1rem;font-weight:700}.done-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.done-item{border:1px solid var(--border);background:var(--surface);opacity:.85;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.done-item strong{margin-bottom:4px;text-decoration:line-through;display:block}.done-item .card-actions{margin-top:0}.account{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:16px;padding:10px 14px;display:flex}.account-status{color:var(--muted);flex:200px;margin:0;font-size:.9rem}.account-status.warning{color:var(--warn)}.account button{border:1px solid var(--border);background:var(--bg);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-weight:600}#sign-in{border-color:var(--accent);background:var(--accent);color:#fff}.form-buttons{gap:8px;display:flex}.form-buttons button{flex:1}#cancel-edit{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:12px;font-weight:600}form.editing{border:2px solid var(--accent)}.canvas{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:16px;padding:4px 16px 16px}.canvas h2{margin-top:12px}.canvas.canvas-invite{border:2px solid var(--accent);background:var(--accent-soft)}.canvas-pitch{margin:0 0 12px;font-size:1.05rem}.canvas-setup summary{background:var(--accent);color:#fff;text-align:center;cursor:pointer;border-radius:8px;padding:14px;font-size:1.1rem;font-weight:700;list-style:none}.canvas-setup summary::-webkit-details-marker{display:none}.canvas-setup[open] summary{color:var(--accent);text-align:left;background:0 0;padding:0}.canvas-setup form{border:none;gap:12px;margin-top:12px;padding:0;display:grid}.canvas-setup .form-errors:empty{display:none}.canvas-status{color:var(--muted);margin:0}.canvas-status.warning{color:var(--warn)}.canvas-new{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.canvas-new:empty{display:none}.canvas-new label{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-weight:400;display:flex}.canvas-new input{flex:none;width:20px;height:20px;margin-top:2px}.canvas-new strong,.canvas-new .meta{display:block}button.secondary{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;padding:12px;font-weight:600}.app-nav{z-index:10;background:var(--surface);border-color:var(--border);border-style:solid;border-width:0;display:flex;position:fixed}.app-nav a{color:var(--muted);border-radius:10px;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.app-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.app-nav svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}@media (width>=768px){.app-nav{border-right-width:1px;flex-direction:column;gap:4px;width:180px;padding:24px 12px;top:0;bottom:0;left:0}.app-nav a{padding:12px 14px}body{padding-left:180px}}@media (width<=767px){.app-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top-width:1px;justify-content:space-around;bottom:0;left:0;right:0}.app-nav a{flex-direction:column;flex:1;gap:2px;padding:6px;font-size:.8rem}main{padding-bottom:96px}.undo-bar{bottom:calc(76px + env(safe-area-inset-bottom))}}body[data-screen=calendar] main,body[data-screen=insights] main{max-width:1100px}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.calendar-nav{gap:6px;display:flex}.calendar-nav .card-action{justify-content:center;min-width:40px;font-size:1rem}.calendar-title{flex:200px;margin:0;font-size:1.3rem}.calendar-views{gap:6px;display:flex}.calendar-body{margin-top:16px}.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding:4px;font-size:.8rem;font-weight:600}.calendar-cell{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:96px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:stretch;gap:3px;padding:6px;display:flex}.calendar-week .calendar-cell{min-height:220px}.calendar-cell.outside{opacity:.45}.calendar-cell.today .calendar-date{background:var(--accent);color:#fff;border-radius:999px;align-self:flex-start;padding:0 6px}.calendar-cell.selected{border:2px solid var(--accent)}.calendar-date{font-size:.85rem;font-weight:700}.calendar-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600;overflow:hidden}.calendar-chip.done{opacity:.55;text-decoration:line-through}.calendar-more{color:var(--muted);font-size:.75rem}.calendar-year{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.calendar-mini-month{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:8px;padding:12px;display:grid}.calendar-mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.75rem;display:grid}.calendar-mini-grid span{color:var(--muted);border-radius:4px;padding:2px 0}.calendar-mini-grid .has-tasks{background:var(--accent-soft);color:var(--accent);font-weight:700}.calendar-mini-grid .today{outline:2px solid var(--accent)}.calendar-day{margin-top:24px}.calendar-done{border:1px dashed var(--border);color:var(--muted);border-radius:12px;padding:10px 14px;text-decoration:line-through}@media (width<=600px){.calendar-month .calendar-cell{flex-flow:wrap;align-content:flex-start;min-height:56px;padding:4px}.calendar-month .calendar-date{width:100%}.calendar-month .calendar-chip{background:currentColor;border-radius:50%;width:8px;height:8px;padding:0;font-size:0}.calendar-month .calendar-more{display:none}.calendar-week{grid-template-columns:1fr}.calendar-week .calendar-cell{min-height:0}}.timer-bar{z-index:5;border:2px solid var(--accent);background:var(--accent-soft);border-radius:12px;gap:8px;margin-top:16px;padding:14px 16px;display:grid;position:sticky;top:8px;box-shadow:0 4px 16px #00000026}.timer-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.timer-text{min-width:0;display:grid}.timer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.timer-task{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.timer-clock{font-variant-numeric:tabular-nums;flex:none;font-size:2rem;font-weight:700}.timer-status{color:var(--muted);margin:0;font-size:.9rem}.timer-status:empty{display:none}.timer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pomodoro-control{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;display:flex}.timer-bar .pomodoro-control{justify-content:flex-start}.pomodoro-toggle{cursor:pointer;align-items:center;gap:6px;font-weight:600;display:flex}.pomodoro-toggle input{width:20px;height:20px;margin:0}.pomodoro-lengths{gap:12px;display:flex}.pomodoro-lengths[hidden]{display:none}.pomodoro-lengths label{align-items:center;gap:6px;display:flex}.pomodoro-lengths input{text-align:center;width:4.5em;padding:6px 8px}.pomodoro-error{text-align:center;flex-basis:100%;padding-left:0}.focus-pick .pomodoro-control{justify-content:flex-start}#timer-discard{color:var(--muted);background:0 0;border-color:#0000;margin-left:auto}.timer-confirm{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.timer-confirm p{margin:0}.timer-confirm .form-errors:empty{display:none}.timer-bar.alerting{animation:.6s ease-in-out 4 timer-flash}@keyframes timer-flash{50%{border-color:var(--warn);background:var(--warn-soft)}}@media (prefers-reduced-motion:reduce){.timer-bar.alerting{border-color:var(--warn);animation:none}}.card-action.start{border-color:var(--accent);color:var(--accent);font-weight:600}.timing-badge{background:var(--accent-soft);min-height:40px;color:var(--accent);border-radius:8px;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.welcome{border:2px solid var(--accent);background:var(--accent-soft);border-radius:12px;margin-top:16px;padding:4px 18px 18px}.welcome h2{margin-top:14px;font-size:1.25rem}.welcome ul{gap:8px;margin:12px 0;padding-left:20px;display:grid}.welcome .form-buttons{margin-top:16px}.tag-sample{border:1px dashed var(--muted);color:var(--muted);background:0 0;margin-left:6px}.button-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:600}.insights-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.insights-header h2{margin:0;font-size:1.3rem}.insights-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px;display:grid}.stat-tile{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;min-width:0;padding:14px 16px;display:grid}.stat-label,.stat-detail{color:var(--muted);font-size:.8rem}.stat-label{font-weight:600}.stat-value{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:1.6rem;overflow:hidden}.insights-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:16px;padding:4px 16px 16px}.insights-card h3{margin:14px 0 12px;font-size:1.05rem}.insights-summary{margin:0 0 12px}.bar-row{grid-template-columns:minmax(90px,160px) 1fr auto;align-items:center;gap:12px;padding:6px 0;display:grid}.bar-row:hover .bar-fill{filter:brightness(1.15)}.bar-label{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.bar-label small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.bar-track{background:var(--bg);border-radius:4px;height:12px}.bar-fill{background:var(--accent);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.bar-value{min-width:70px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem}.accuracy-row{border-bottom:1px solid var(--border);padding:10px 0}.accuracy-row p{margin:0}.accuracy-heading{margin-bottom:4px}.accuracy-badge{background:var(--accent-soft);color:var(--accent);margin:0 0 0 6px}.insights-switch{cursor:pointer;align-items:center;gap:8px;margin-top:14px;display:flex}.insights-switch input{width:20px;height:20px;margin:0}.insights-note{margin:8px 0 0;font-size:.85rem}@media (width<=600px){.bar-row{grid-template-columns:1fr auto;gap:4px 12px}.bar-track{grid-area:2/1/auto/-1}}.focus-pick{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:20px;padding:4px 18px 18px}.focus-lead{font-size:1.05rem}.focus-pick-fields{gap:12px;display:grid}.focus-music-form{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;margin-top:16px;padding:4px 18px 18px;display:grid}.focus-music-form h3{margin:14px 0 0}.focus-music-form p{margin:0}.focus-music-form .form-errors:empty,.focus-music-form .status:empty{display:none}.focus-player{width:100%;max-width:480px;margin-top:8px}.focus-player iframe{border:none;border-radius:12px;width:100%;display:block}.focus-session{z-index:30;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:var(--bg);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;display:flex;position:fixed;inset:0;overflow-y:auto}.focus-session p{margin:0}.focus-label,.focus-course,.focus-next{color:var(--muted)}.focus-title{max-width:32ch;margin:0;font-size:1.6rem}.focus-clock{font-variant-numeric:tabular-nums;font-size:clamp(4rem,20vw,9rem);font-weight:700;line-height:1;margin:12px 0!important}.focus-status{min-height:1.5em}.focus-actions{gap:12px;margin:16px 0;display:flex}.focus-actions button{min-width:140px;font-size:1.05rem}.focus-exit{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:16px;padding:10px 14px;text-decoration:underline}body.focus-session-on{overflow:hidden}.focus-session>:first-child{margin-top:auto}.focus-session>:last-child{margin-bottom:auto}.screen-title{margin:20px 0 6px;font-size:1.3rem}.courses-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.course-card{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.course-card strong{font-size:1.05rem}#course-back{margin-top:20px}.course-form{margin-top:16px}.course-form h3,.course-section-title{margin:0;font-size:1.05rem}.course-section-title{margin:24px 0 12px}.course-form-note{margin:0;font-size:.85rem}.course-form .form-errors:empty{display:none}#course-done,.course-add-open{margin-top:12px}#course-add-form .form-errors:empty{display:none}.course-delete{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.card-action.danger{border-color:var(--error);color:var(--error)}.course-delete-confirm{border:1px solid var(--error);background:var(--warn-soft);border-radius:12px;gap:10px;margin-top:12px;padding:14px;display:grid}.course-delete-confirm p{margin:0}.button-danger{background:var(--error);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:600}body[data-screen=planner] main{max-width:1200px}.planner-screen{container-type:inline-size}.planner-heading{flex:200px;margin:0}.planner-help{margin:4px 0 8px;font-size:1rem;line-height:1.5}.planner-layout{gap:16px;margin-top:12px;display:grid}.planner-tray{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:4px 14px 14px}.planner-tray h3{margin:14px 0 8px;font-size:1.05rem}.planner-tray-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.planner-task{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:grab;border-radius:10px;gap:4px;padding:12px;display:grid}.planner-task strong{overflow-wrap:break-word}.planner-task .meta{font-size:.85rem;line-height:1.4}.planner-task[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.planner-days{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}@container (width>=1100px){.planner-days{grid-template-columns:repeat(7,minmax(0,1fr))}}.planner-day{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;min-width:0;min-height:150px;padding:10px;display:flex}.planner-day.today{border:2px solid var(--accent)}.planner-day.past{opacity:.6;min-height:0}.planner-day.over{border:2px solid var(--warn)}.planner-day.drop-target{background:var(--accent-soft);outline:2px dashed var(--accent)}.planner-day-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;display:flex}.planner-day-total{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.planner-day.over .planner-day-total{color:var(--warn);font-weight:700}.planner-load{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.planner-load-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.planner-day.over .planner-load-fill{background:var(--warn)}.planner-warning{color:var(--warn);margin:0;font-size:.8rem;font-weight:600;line-height:1.35}.planner-block{min-width:0;min-height:calc(40px + min(var(--hours,1), 8) * 48px);border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.planner-block-top{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.planner-block strong{overflow-wrap:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.3;display:-webkit-box;overflow:hidden}.planner-block .meta{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.35;overflow:hidden}.planner-block.late{border:1px dashed var(--warn);border-left:4px solid var(--warn);background:var(--warn-soft)}.planner-block.late .meta{color:var(--warn);font-weight:600}.planner-remove{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;font-size:1rem;line-height:1}.planner-remove:hover{background:var(--surface);color:var(--text)}.planner-stepper{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-self:stretch;align-items:center;max-width:150px;margin-top:auto;display:flex}.planner-stepper button{width:32px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;font-size:1.1rem}.planner-stepper button:disabled{color:var(--muted);cursor:default}.planner-stepper output{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:.9rem;font-weight:600}.planner-plan-here{justify-content:center;margin-top:auto}.plan-prompts{gap:8px;margin-top:16px;display:grid}.plan-prompts:empty{display:none}.plan-prompt{border:2px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:12px 14px}.plan-prompt p{margin:0;font-weight:600}.plan-prompt .card-actions{margin-top:10px}.planner-block.late .meta{white-space:normal}.repeat-remove{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-top:12px;padding:12px}.repeat-remove p{margin:0;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quick-add{border:2px solid var(--accent);background:var(--surface);border-radius:12px;margin-top:16px;padding:4px 16px 16px}.quick-add-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.quick-add-header h2{margin:0}.quick-add-form{background:0 0;border:none;gap:8px;margin-top:12px;padding:0;display:flex}.quick-add-form input{flex:1;min-width:0;font-size:1.05rem}.quick-add-form button{flex:none;padding:10px 20px}.quick-add-preview{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.quick-add-preview:empty{display:none}.quick-add-preview li{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:600}.quick-add .form-errors:empty,.quick-add .status:empty{display:none}.quick-add .form-errors,.quick-add .status{margin:10px 0 0;padding:0}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.9rem;text-decoration:underline}.quick-add-help{background:var(--bg);border-radius:10px;margin-top:12px;padding:12px 14px;font-size:.95rem;line-height:1.5}.quick-add-help p{margin:0}.quick-add-help ul{gap:4px;margin:8px 0;padding-left:20px;display:grid}.quick-add-help code{background:var(--surface);border-radius:4px;padding:1px 5px;font-size:.9em}.quick-add-help .card-action{margin-top:10px}.planner-block{cursor:grab;position:relative}.planner-day.past .planner-block{cursor:default}.planner-block.drop-before:before{content:"";background:var(--accent);border-radius:999px;height:3px;position:absolute;top:-7px;left:0;right:0}.planner-block.dragging{opacity:.4}.planner-block.selected{box-shadow:0 0 0 2px var(--accent)}.planner-remove:disabled{opacity:.3;cursor:default}.planner-tray.drop-target{background:var(--accent-soft);outline:2px dashed var(--accent)}.planner-unplan{margin:0 0 10px}.planner-block-tools{justify-content:flex-end;gap:2px;margin:-2px -4px 0 0;display:flex}.planner-block-tools .planner-remove{width:30px;height:30px}.overload-warnings{gap:8px;margin-top:16px;display:grid}.overload-warnings:empty{display:none}.overload-warning{border:2px solid var(--warn);background:var(--warn-soft);border-radius:12px;gap:6px;margin:0;padding:12px 14px;display:grid}.overload-warning p{margin:0;line-height:1.45}.overload-warning.ask{border-color:var(--accent);background:var(--accent-soft)}.overload-warning .form-errors:empty{display:none}.weekly-hours-form{background:0 0;border:none;flex-wrap:wrap;align-items:end;gap:8px;margin:0;padding:0;display:flex}.weekly-hours-form label{flex:200px}.weekly-hours-form input{max-width:140px}.weekly-hours-form button{padding:10px 18px}#insights-weekly-status:empty{display:none}
