/* Learning planner: shared palette tokens keep all themes consistent. */
.learning-planner{max-width:1280px;margin-inline:auto;display:grid;gap:24px;min-width:0;color:var(--ink)}
.planner-heading,.planner-week-toolbar,.planner-heading-actions,.planner-week-navigation,.planner-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.planner-heading{align-items:flex-end;gap:28px}.planner-heading h2{margin:4px 0 10px;font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.045em;font-weight:650}.planner-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.planner-heading .eyebrow{font-size:11px;margin-bottom:8px}.planner-heading-actions{justify-content:flex-end;flex-wrap:wrap}.planner-heading-actions .button{flex-shrink:0}
.planner-week-toolbar{border-top:1px solid var(--line);padding-top:24px;flex-wrap:wrap}.planner-week-navigation{justify-content:flex-start;flex-wrap:wrap}.planner-week-navigation h3{font-size:15px;font-weight:600;margin:0 4px}.planner-week-navigation>.button:first-child,.planner-week-navigation>.button:nth-child(3){min-width:36px;font-size:22px;padding:0 10px}.planner-week-navigation>.button:last-child{margin-left:8px}
.planner-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--surface-solid,var(--surface));overflow:hidden}.planner-overview>div{padding:19px 22px;min-width:0}.planner-overview>div+div{border-left:1px solid var(--line)}.planner-overview span{display:block;font-size:11px;color:var(--muted);line-height:1.5}.planner-overview strong{display:block;font-size:clamp(1.1rem,2vw,1.7rem);font-weight:600;letter-spacing:-.035em;margin-top:7px;font-variant-numeric:tabular-nums}.planner-overview small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;display:block;margin-top:5px}
.planner-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--surface-solid,var(--surface));overflow:hidden;min-width:0}.planner-day{min-width:0;display:flex;flex-direction:column}.planner-day+.planner-day{border-left:1px solid var(--line)}.planner-day>header{padding:16px 10px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;border-bottom:1px solid var(--line);min-height:66px}.planner-day>header>span{color:var(--muted);font-size:11px}.planner-day>header>strong{font-size:18px;font-weight:600;letter-spacing:-.035em;display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.planner-day>header>small{font-size:10px;color:var(--muted);grid-column:1/-1}.planner-day.is-today>header{background:var(--accent-soft)}.planner-day.is-today>header>strong{background:var(--accent);color:var(--on-accent,#fff)}.planner-day.is-past>header{background:var(--surface)}.planner-day-sessions{padding:10px 7px;display:flex;flex-direction:column;gap:9px;min-height:240px;flex:1}.planner-day-empty{color:var(--muted);font-size:11px;text-align:center;padding-top:18px}
.planner-session{font:inherit;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;padding:10px 9px;width:100%;display:flex;flex-direction:column;gap:8px;cursor:pointer;min-width:0;overflow-wrap:anywhere}.planner-session:hover{background:var(--accent-soft);border-color:var(--accent)}.planner-session:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.planner-session.is-proposed{border-style:dashed;background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface-solid));border-left-style:solid}.planner-session.is-done{border-left-color:var(--muted);background:var(--surface-solid)}.planner-session.is-skipped{border-left-color:var(--line);background:transparent}.planner-session.is-skipped>strong{text-decoration:line-through;color:var(--muted)}.planner-session-top,.planner-session-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:9px;line-height:1.4;color:var(--muted)}.planner-session-top time{color:var(--ink);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.planner-session>strong{font-size:12px;line-height:1.45;font-weight:600}.planner-session-work{font-size:11px;line-height:1.5}.planner-session-project{font-size:10px;line-height:1.45;color:var(--muted)}.planner-session-bottom{border-top:1px solid var(--line);padding-top:7px;margin-top:2px;flex-wrap:wrap}.planner-session-bottom>span:last-child{white-space:nowrap}.planner-session-actual{font-size:10px;color:var(--accent);line-height:1.4}.planner-day-external{margin:0 9px;padding:12px 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:10px;line-height:1.5;color:var(--muted)}.planner-day-external .planner-unknown{font-style:italic}
.planner-preview-banner{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:15px 18px;border:1px dashed var(--accent);border-radius:9px;background:var(--accent-soft);font-size:12px;line-height:1.6}.planner-preview-banner strong{font-weight:600}.planner-empty{max-width:640px;margin:15px auto;text-align:center;padding:28px 24px;display:grid;justify-items:center;gap:14px}.planner-empty-symbol{font-size:36px;color:var(--accent);font-weight:300}.planner-empty h3{font-size:20px;font-weight:600;letter-spacing:-.025em;margin:0}.planner-empty p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.planner-empty .button{margin-top:4px}.planner-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.planner-footer p{font-size:11px;line-height:1.6;color:var(--muted);margin:0;max-width:740px}.planner-footer small{display:block;flex-basis:100%;font-size:10px;line-height:1.6;color:var(--muted)}.planner-footer a{white-space:nowrap}.planner-notes{padding:15px 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.planner-notes summary,.planner-projection summary,.planner-archived summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.6}.planner-notes ul{margin:12px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.planner-error{max-width:1280px;margin:12px auto;padding:14px 18px;border:1px solid var(--line);border-radius:8px;color:var(--danger,var(--ink));font-size:13px;line-height:1.6}
.planner-projects{display:grid;gap:24px}.planner-project{background:var(--surface-solid,var(--surface));border:1px solid var(--line);border-radius:12px;padding:22px 24px;min-width:0}.planner-project>header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:10px}.planner-project>header h3{font-size:19px;letter-spacing:-.025em;font-weight:600;margin:0 0 7px}.planner-project>header p{color:var(--muted);font-size:12px;margin:0}.planner-goal{padding:22px 0;display:grid;gap:14px}.planner-goal+.planner-goal{border-top:1px solid var(--line)}.planner-goal:last-child{padding-bottom:0}.planner-goal-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.planner-goal-heading small{font-size:10px;color:var(--muted);line-height:1.6}.planner-goal-heading h4{font-size:15px;line-height:1.5;margin:4px 0 0;font-weight:600}.planner-goal-progress{display:flex;align-items:center;gap:18px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.planner-goal-progress progress{width:240px;max-width:60%;height:5px;border:0;border-radius:5px;overflow:hidden;background:var(--line);accent-color:var(--accent)}.planner-goal-progress progress::-webkit-progress-bar{background:var(--line)}.planner-goal-progress progress::-webkit-progress-value{background:var(--accent)}.planner-goal-facts{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;font-size:11px;color:var(--muted);line-height:1.7}.planner-goal-facts strong{color:var(--ink);font-weight:500}.planner-goal-facts .planner-shortfall{color:var(--danger,var(--ink))}.planner-goal>details>summary{cursor:pointer;font-size:11px;color:var(--muted);padding:5px 0}.planner-work-list{padding:0;list-style:none;margin:12px 0;display:grid;gap:0}.planner-work-list li{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.planner-work-list strong{font-weight:500}.planner-work-list small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.planner-table-scroll{max-width:100%;overflow:auto;margin-top:18px}.planner-projection table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;min-width:610px}.planner-projection th,.planner-projection td{padding:13px 12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.planner-projection th{font-weight:500;color:var(--muted)}.planner-projection td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.planner-projection>p{font-size:11px;line-height:1.7;color:var(--muted)}.planner-archived .planner-row-heading{padding:12px 0;font-size:12px;border-bottom:1px solid var(--line)}
/* Forms use the existing accessible Learning dialog. */
.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;min-width:0}.planner-fields label{min-width:0;font-size:12px}.planner-fields input,.planner-fields select{min-width:0;width:100%;box-sizing:border-box}.planner-form-row{min-width:0;margin:16px 0;padding:17px!important;border:1px solid var(--line)!important;border-radius:9px;background:var(--surface)}.planner-row-heading{margin-bottom:14px;font-size:12px}.planner-row-heading strong{font-weight:600}.planner-form-row>details{margin-top:16px}.planner-form-row>details summary{font-size:11px;cursor:pointer;margin-bottom:12px}.planner-form-row input:disabled,.planner-form-row select:disabled{opacity:.4}.planner-weekday-choices{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.planner-weekday-choices label{position:relative;display:block;cursor:pointer}.planner-weekday-choices input{position:absolute;opacity:0;inset:0;cursor:pointer}.planner-weekday-choices span{display:grid;place-items:center;min-width:41px;min-height:36px;border:1px solid var(--line);border-radius:6px;font-size:11px;background:var(--surface-solid)}.planner-weekday-choices input:checked+span{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.planner-weekday-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.planner-form-hint{font-size:12px;line-height:1.7;color:var(--muted)}.planner-form-details{margin:15px 0}.planner-form-details>summary{cursor:pointer;font-size:12px;font-weight:600;padding:10px 0}.planner-form-details>label{margin-top:16px}.planner-form-details small{font-size:11px;color:var(--muted);line-height:1.7;display:block;margin-top:12px}.planner-check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;margin:15px 0}.planner-check input{width:17px!important;min-height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--accent)}.planner-session-actions{display:flex;gap:10px;flex-wrap:wrap;padding:20px 0 5px;border-top:1px solid var(--line);margin-top:20px}.planner-ring-modes{display:grid;gap:14px;margin-top:12px}.planner-ring-modes label{font-size:12px}.planner-top-modes{margin:0 auto 26px;max-width:1280px;display:flex;border-bottom:1px solid var(--line);gap:24px;padding-bottom:10px}.planner-top-modes .button{border-radius:0;background:transparent;color:var(--muted);padding:8px 0;border:0;border-bottom:2px solid transparent;min-height:40px;font-size:13px}.planner-top-modes .button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.planner-anki-modes{padding:16px 0 0;border-top:1px solid var(--line)}
@media(max-width:1050px){.planner-heading{align-items:flex-start;flex-direction:column;gap:18px}.planner-calendar{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.planner-overview>div{padding:16px}.planner-session-top{flex-wrap:wrap}.planner-week-toolbar{gap:16px}}
@media(max-width:700px){.learning-planner{gap:20px}.planner-heading h2{font-size:28px}.planner-heading-actions{justify-content:flex-start}.planner-week-toolbar{display:grid;gap:16px}.planner-week-navigation{gap:8px}.planner-week-navigation h3{font-size:13px;margin:0}.planner-week-navigation>.button:last-child{margin-left:0}.planner-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-overview>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.planner-overview>div:nth-child(4){border-top:1px solid var(--line)}.planner-overview strong{font-size:23px}.planner-calendar{display:grid;grid-template-columns:1fr;overflow:visible;border:0;background:transparent;gap:18px}.planner-day{border:1px solid var(--line)!important;border-radius:10px;background:var(--surface-solid);overflow:hidden}.planner-day>header{grid-template-columns:auto auto 1fr;justify-content:start;gap:10px;min-height:0;padding:12px 15px}.planner-day>header>span{font-size:12px}.planner-day>header>strong{font-size:18px}.planner-day>header>small{grid-column:auto;justify-self:end;font-size:11px}.planner-day-sessions{min-height:0;padding:12px;gap:10px}.planner-day-empty{padding:8px 0;margin:0;text-align:left}.planner-session{padding:13px 14px;gap:8px}.planner-session-top{font-size:10px;flex-wrap:nowrap}.planner-session-top time{font-size:12px}.planner-session>strong{font-size:14px}.planner-session-project{font-size:11px}.planner-session-bottom{font-size:10px}.planner-day-external{margin:0 15px;font-size:11px;padding:11px 0}.planner-preview-banner{padding:13px 15px}.planner-footer{display:grid;justify-items:start}.planner-project{padding:18px 17px}.planner-project>header{align-items:flex-start}.planner-project>header h3{font-size:18px}.planner-goal-heading{align-items:flex-start}.planner-goal-facts{display:grid;gap:6px}.planner-goal-progress{font-size:10px;gap:12px}.planner-fields{grid-template-columns:1fr}.planner-form-row{padding:14px!important}.planner-fields input,.planner-fields select,.planner-form-details textarea,.planner-form-details select{font-size:16px!important}.learning-planner .button,.planner-session-actions .button,.planner-form-row .button{min-height:44px}.planner-weekday-choices span{min-height:44px;min-width:37px}.planner-session-actions{display:grid}.planner-top-modes{gap:28px;margin-bottom:24px}.planner-top-modes .button{min-height:44px}.planner-empty{padding:24px 8px}}

.planner-chart{margin:0;padding:22px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid,var(--surface));min-width:0}.planner-chart figcaption{font-size:16px;font-weight:600;letter-spacing:-.02em;margin-bottom:16px}.planner-chart-legend{display:flex;gap:12px 20px;flex-wrap:wrap;font-size:11px;color:var(--muted);line-height:1.6}.planner-chart-legend span{display:flex;align-items:center;gap:7px}.planner-chart-legend i{display:block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.planner-chart-focus{fill:var(--accent);background:var(--accent)}.planner-chart-anki{fill:var(--muted);background:var(--muted);opacity:.7}.planner-chart-rings{fill:var(--line);background:var(--line)}.planner-chart-scroll{max-width:100%;overflow:auto;margin:16px 0 9px}.planner-chart svg{display:block;width:100%;height:auto}.planner-chart svg text{fill:var(--muted);font-family:inherit;font-size:10px}.planner-chart svg .planner-chart-caption{font-size:10px;fill:var(--ink)}.planner-chart-grid{stroke:var(--line);stroke-width:1}.planner-chart-demand{fill:none;stroke:var(--accent);stroke-width:2}.planner-chart-capacity{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4}.planner-chart-legend .planner-chart-demand-key{height:2px;width:16px;background:var(--accent);border-radius:0}.planner-chart-legend .planner-chart-capacity-key{height:0;width:16px;border-top:2px dashed var(--muted);border-radius:0}.planner-chart>p{font-size:11px;line-height:1.6;color:var(--muted);margin:14px 0 0}@media(max-width:700px){.planner-chart{padding:18px 15px}.planner-chart-legend{font-size:10px;gap:8px 14px}}

.planner-method{padding-top:16px;border-top:1px solid var(--line)}.planner-method>summary{font-size:12px;font-weight:600;cursor:pointer;color:var(--muted)}.planner-method p{font-size:12px;line-height:1.75;color:var(--muted);max-width:860px}.planner-method a{color:var(--ink);text-underline-offset:3px}

.planner-exam-completion{display:block;margin-top:5px;color:var(--ink)}.planner-project>header .planner-shortfall{line-height:1.65;color:var(--danger,var(--muted));margin-top:9px;max-width:650px}

.planner-session.is-unavailable{border-left-color:var(--muted);background:transparent;border-style:dashed}.planner-session.is-unavailable .planner-session-top>span{max-width:95px}.planner-session.is-unavailable>strong{color:var(--muted)}

.planner-goal-notes{white-space:pre-line;overflow-wrap:anywhere;font-size:12px;line-height:1.75;color:var(--muted);margin:14px 0}

/* Sport shares the calendar but retains its own time budget and visual key. */
.learning-planner{--planner-sport:color-mix(in srgb,var(--accent) 45%,var(--muted));--planner-sport-soft:color-mix(in srgb,var(--planner-sport) 10%,var(--surface-solid,var(--surface)))}
.planner-calendar-filters{display:flex;align-items:center;gap:4px;justify-self:start;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.planner-calendar-filters .button{min-height:36px;padding:8px 17px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:12px}
.planner-calendar-filters .button[aria-pressed=true]{background:var(--surface-solid,var(--surface));color:var(--ink);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 8%,transparent)}
.planner-session.is-sport{border-left-color:var(--planner-sport,var(--muted))}
.planner-session.is-sport:hover{background:var(--planner-sport-soft,var(--surface));border-color:var(--planner-sport,var(--muted))}
.planner-session.is-canceled{opacity:.55;border-left-color:var(--line);background:transparent}
.planner-session.is-canceled>strong{text-decoration:line-through;color:var(--muted)}
.planner-chart-sport{fill:var(--planner-sport,var(--muted));background:var(--planner-sport,var(--muted))}
.planner-form-section-title{font-size:14px;font-weight:600;margin:22px 0 15px}
.planner-sport-repeat{padding:0;border:0;margin:16px 0;min-width:0}
.planner-sport-repeat:disabled{opacity:.5}
@media(max-width:700px){.planner-calendar-filters .button{min-height:44px}.planner-sport-repeat input[type=date]{font-size:16px}}

/* A task reserves time without becoming an objective or a sports session. */
.learning-planner{--planner-task:color-mix(in srgb,var(--accent) 25%,var(--ink))}
.planner-session.is-task{border-left-color:var(--planner-task,var(--muted))}
.planner-session.is-free{border-left-color:var(--muted)}
.planner-chart-free{fill:var(--muted);background:var(--muted)}
.planner-session-tasks{font-size:10px;color:var(--muted);line-height:1.4}
.planner-chart-task{fill:var(--planner-task,var(--muted));background:var(--planner-task,var(--muted))}
.planner-overview{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.planner-add-menu{position:relative}
.planner-add-menu>summary{cursor:pointer;list-style:none}
.planner-add-menu>summary::-webkit-details-marker{display:none}
.planner-add-menu>div{position:absolute;z-index:10;right:0;top:calc(100% + 6px);display:grid;gap:4px;min-width:160px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-solid,var(--paper));box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 10%,transparent)}
.planner-add-menu>div .button{text-align:left;justify-content:flex-start;min-height:44px}
.planner-task-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0}
.planner-task-section>summary{color:var(--ink);min-height:44px;align-content:center}
.planner-linked-tasks{list-style:none;padding:0;margin:8px 0 16px;display:grid}
.planner-linked-tasks>li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:8px 0;min-width:0}
.planner-linked-tasks label{display:flex!important;align-items:center;gap:10px;min-width:0;flex:1;min-height:44px;font-size:12px;line-height:1.5;cursor:pointer}
.planner-linked-tasks label>span{min-width:0;overflow-wrap:anywhere}
.planner-linked-tasks input[type=checkbox]{width:18px!important;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--accent)}
.planner-linked-tasks small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.planner-linked-tasks>li>div{display:flex;align-items:center;flex-shrink:0}
.planner-linked-tasks .button{min-height:44px;padding-inline:10px;font-size:11px}
.planner-linked-tasks .is-completed label>span,.planner-linked-tasks .is-deleted label>span{color:var(--muted)}
.planner-linked-tasks .is-completed label>span{text-decoration:line-through}
.planner-task-empty{font-size:12px;color:var(--muted);line-height:1.6}
.planner-task-add{margin:8px 0 16px}
.planner-task-add>summary{font-size:12px;cursor:pointer;padding:10px 0;min-height:44px}
.planner-task-add label{min-width:0;font-size:12px}
.planner-task-add input,.planner-task-add select{width:100%;min-width:0;box-sizing:border-box}
.planner-task-inline{display:flex;align-items:end;gap:10px;margin-top:14px;min-width:0}
.planner-task-inline>label{flex:1}
.planner-task-inline>.button{flex-shrink:0;min-height:44px;margin-bottom:1px}
.planner-task-feedback{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0}
.planner-delete-controls{margin:14px 0}
.planner-delete-controls>[hidden]{display:none}
.planner-delete-controls>[data-planner-delete-action=ask],.planner-archive-actions [data-learning-action$=delete-block]{color:var(--danger,var(--muted))}
.planner-delete-confirm{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.planner-delete-confirm[hidden]{display:none}
.planner-delete-confirm p{font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:0 0 12px}
.planner-delete-confirm .planner-heading-actions{justify-content:flex-start;flex-wrap:wrap}
.planner-delete-confirm .button{min-height:44px}
.planner-archive-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}
.planner-archive-actions .button{min-height:44px}
.planner-week-layout{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:20px;min-width:0}
.planner-week-layout .planner-calendar-board{--planner-day-min-width:125px}
.planner-task-tray{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid,var(--surface));overflow:hidden}
.planner-task-tray>details>summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:54px;padding:14px 16px;font-size:13px;font-weight:600}
.planner-task-tray>details>summary::-webkit-details-marker{display:none}
.planner-tray-count{font-variant-numeric:tabular-nums;font-size:11px;border:1px solid var(--line);padding:3px 7px;border-radius:20px;color:var(--muted)}
.planner-tray-body{padding:0 12px 14px}
.planner-tray-body>p{margin:0 4px 12px;font-size:11px;line-height:1.65;color:var(--muted)}
.planner-tray-quick{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.planner-tray-quick input,.planner-tray-tools input,.planner-tray-tools select{font:inherit;font-size:12px;color:var(--ink);min-width:0;min-height:44px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px}
.planner-tray-quick input{border:0;background:transparent;flex:1}
.planner-tray-quick button{font:inherit;font-size:22px;min-width:40px;min-height:44px;border:0;background:transparent;color:var(--accent);cursor:pointer}
.planner-tray-tools{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:6px;margin:12px 0}
.planner-tray-tools select{padding-inline:7px}
.planner-tray-body>.planner-tray-feedback:empty{display:none}
.planner-tray-body>.planner-tray-feedback{margin:10px 4px;font-size:11px;color:var(--ink)}
.planner-tray-list{list-style:none;padding:0;margin:0;display:grid;gap:7px;max-height:360px;overflow:auto;overscroll-behavior:contain}
.planner-tray-card{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}
.planner-tray-card:hover{border-color:var(--muted)}
.planner-tray-title{flex:1;min-width:0;text-align:left;cursor:grab;border:0;background:transparent;color:var(--ink);font:inherit;padding:11px 10px;display:grid;gap:6px}
.planner-tray-title strong{font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.planner-tray-title small{font-size:10px;color:var(--muted)}
.planner-tray-grip{flex:0 0 36px;min-height:44px;touch-action:none;user-select:none;cursor:grab;border:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0;background:transparent;color:var(--muted);font-size:22px}
.planner-tray-card.is-dragging{opacity:.45}
.planner-task-tray button:disabled{cursor:default;opacity:.5}
.planner-tray-more{width:100%;margin-top:5px}
.planner-tray-empty{font-size:12px;color:var(--muted);line-height:1.7;padding:8px 4px}
.planner-tray-footnote{display:block;font-size:10px;line-height:1.65;color:var(--muted);margin:14px 4px 0}
@media(max-width:1050px){
 .planner-week-layout{grid-template-columns:minmax(0,1fr)}
 .planner-tray-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:180px}
 .planner-tray-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .planner-tray-body>p,.planner-tray-body>[data-tray-list],.planner-tray-footnote{grid-column:1/-1}
 .planner-tray-body>p,.planner-tray-tools,.planner-tray-footnote{margin:0}
}
@media(max-width:700px){
 .planner-tray-list{grid-template-columns:minmax(0,1fr);max-height:200px}
 .planner-tray-body{display:block}
 .planner-tray-body>p{margin-bottom:12px}
 .planner-tray-tools{margin:10px 0;grid-template-columns:minmax(0,1fr) 96px}
 .planner-tray-quick input,.planner-tray-tools input,.planner-tray-tools select{font-size:16px}
 .planner-tray-grip{flex-basis:44px}
 .planner-tray-footnote{margin-top:12px}
 .planner-calendar-filters{max-width:100%;gap:2px;flex-wrap:wrap}
 .planner-calendar-filters .button{padding-inline:13px}
 .planner-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .planner-overview>div:nth-child(n+3){border-top:1px solid var(--line)}
 .planner-overview>div:nth-child(odd){border-left:0}
 .planner-task-inline{flex-wrap:wrap}
 .planner-task-inline>label{min-width:180px}
 .planner-task-add input,.planner-task-add select{font-size:16px}
 .planner-linked-tasks>li{align-items:flex-start;flex-wrap:wrap}
 .planner-linked-tasks label{flex-basis:calc(100% - 8px)}
 .planner-linked-tasks>li>div{margin-left:28px}
 .planner-archived .planner-work-list>li{flex-wrap:wrap;align-items:flex-start}
 .planner-archived .planner-work-list>li>span{min-width:0;overflow-wrap:anywhere;flex:1 1 150px}
 .planner-archive-actions{flex-wrap:wrap}
}

/* A small shared choice keeps creation in one place. */
.planner-creation-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.planner-check[hidden]{display:none!important}
.planner-hour-lane{cursor:crosshair}
.planner-hour-block{cursor:auto}

.learning-form.planner-manual-form{gap:14px}
.planner-manual-form .planner-check,.planner-manual-form .planner-form-hint,.planner-manual-form .planner-form-details{margin:0}
.planner-manual-form .planner-form-hint:empty{display:none}
.planner-manual-form .planner-creation-types{margin-bottom:4px}
.planner-manual-form [data-planner-work-fields]{display:grid;gap:12px}
.planner-manual-form [data-planner-work-fields] label{display:grid;gap:7px;font-size:12px}

/* Weekly preparation remains a choice of reservations, separate from task editing. */
.planner-preparation-study{font-size:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin:0}
.planner-preparation-tasks{display:grid;max-height:360px;overflow:auto;border-block:1px solid var(--line);overscroll-behavior:contain}
.planner-preparation-task{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:18px;align-items:center;padding:14px 2px}
.planner-preparation-task+.planner-preparation-task{border-top:1px solid var(--line)}
.planner-preparation-task .planner-check{margin:0;min-width:0;align-items:center;cursor:pointer}
.planner-preparation-task .planner-check>span{min-width:0;overflow-wrap:anywhere}
.planner-preparation-task strong{display:block;font-size:12px;font-weight:550;line-height:1.6}
.planner-preparation-task small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:3px}
.planner-preparation-duration{display:grid;gap:6px;min-width:0}
.planner-preparation-duration>span{font-size:10px;color:var(--muted)}
.planner-preparation-duration input{width:100%;min-width:0;box-sizing:border-box}
.planner-preparation-duration input:disabled{opacity:.4}
.planner-preparation-summary{font-size:12px;font-weight:550;font-variant-numeric:tabular-nums;margin:0}
.planner-task-late{color:var(--danger,var(--muted))}
@media(max-width:700px){.planner-preparation-task{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.planner-preparation-tasks{max-height:40dvh}.planner-preparation-duration input{font-size:16px!important;min-height:44px}.planner-preparation-task .planner-check{min-height:44px}}
