.study-plan{--plan-ink:var(--text);padding-bottom:36px}.study-plan button,.study-plan input,.study-plan select,.study-plan textarea{font:inherit}.plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:7px 0 30px}.plan-eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;color:var(--accent);display:block}.plan-heading h1{font-size:clamp(28px,3vw,40px);margin-top:8px}.plan-heading p{color:var(--muted);max-width:640px;margin-top:12px;font-size:15px}.plan-private{white-space:nowrap;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px;margin-top:10px}.plan-private:before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%}.plan-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:26px;align-items:start}.plan-preferences{padding:25px;position:sticky;top:104px}.plan-preferences-title{display:flex;gap:10px;align-items:center}.plan-preferences-title>span{color:var(--accent);font-size:25px}.plan-preferences h2{font-size:20px}.plan-intro{font-size:12px;color:var(--muted);margin:10px 0 23px}.plan-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:750;margin:0 0 20px}.plan-field textarea,.plan-field select{padding:11px 12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;width:100%;font-size:13px;font-weight:400}.plan-field textarea{min-height:92px;resize:vertical}.plan-field>span{font-size:10px;font-weight:400;color:var(--muted)}.plan-minutes{border:0;padding:0;margin:0 0 23px;min-width:0}.plan-minutes legend{font-size:12px;font-weight:750;margin-bottom:9px}.plan-minutes>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.plan-minutes label{position:relative;cursor:pointer}.plan-minutes input{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%}.plan-minutes label>span{border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:61px;font-weight:800;background:var(--panel2)}.plan-minutes small{font-size:10px;font-weight:500;color:var(--muted)}.plan-minutes input:checked+span{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.plan-minutes input:focus-visible+span{outline:3px solid #8bb5ff;outline-offset:3px}.plan-save{width:100%;justify-content:center}.plan-form-note{color:var(--muted);font-size:10px;margin:10px 0 0;line-height:1.6}.plan-how{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.plan-how h3{font-size:12px}.plan-how p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:7px}.plan-main{min-width:0}.plan-overview{padding:25px 27px;margin-bottom:20px}.plan-overview-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.plan-overview h2{margin-top:7px;font-size:21px;overflow-wrap:anywhere;max-width:480px}.plan-overview .plan-eyebrow{font-size:10px;letter-spacing:1px}.plan-progress-number{font-family:'Manrope',sans-serif;font-size:30px;line-height:1.1;font-weight:800;white-space:nowrap;text-align:right}.plan-progress-number>span{font-size:17px;color:var(--muted);font-weight:600}.plan-progress-number small{font-family:'DM Sans',sans-serif;display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:7px}.plan-progress-track{height:7px;border-radius:9px;background:var(--panel2);border:1px solid var(--line);overflow:hidden;margin:24px 0 13px}.plan-progress-track>span{display:block;height:100%;background:var(--green);border-radius:9px}.plan-overview-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px}.plan-text-button{color:var(--accent);font-size:11px;font-weight:700;padding:3px 0}.plan-next{display:flex;gap:20px;justify-content:space-between;align-items:center;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 13%,var(--line));padding:24px 27px;border-radius:16px;margin-bottom:30px}.plan-next h2{font-size:21px;margin:7px 0}.plan-next p{font-size:12px;color:var(--muted);max-width:430px}.plan-next>.btn{flex-shrink:0}.plan-schedule-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:16px}.plan-schedule-heading h2{font-size:19px}.plan-schedule-heading p{font-size:11px;color:var(--muted)}.plan-days{display:grid;gap:18px}.plan-day{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden}.plan-day.is-today{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 6%,transparent)}.plan-day-heading{padding:15px 20px;background:var(--panel2);display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.plan-day-heading>div{display:flex;align-items:center;gap:10px}.plan-day-heading h3{font-size:13px;letter-spacing:0}.plan-day-heading>span{font-size:10px;color:var(--muted)}.plan-today,.plan-moved{font-size:9px;line-height:1;letter-spacing:.2px;border-radius:5px;padding:5px 6px;background:var(--accent-soft);color:var(--accent);font-weight:700}.plan-moved{color:var(--muted);background:var(--panel)}.plan-task{padding:22px 20px;display:flex;align-items:flex-start;gap:13px}.plan-task+.plan-task{border-top:1px solid var(--line)}.plan-task-mark{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:18px;font-weight:700}.plan-task.is-done .plan-task-mark{color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--panel))}.plan-task-body{flex:1;min-width:0}.plan-task-labels{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:9px;color:var(--muted);line-height:1.5}.plan-task-labels>span+span:before{content:'·';margin-right:8px;color:var(--muted)}.plan-task h3{font-size:15px;margin:4px 0 7px}.plan-reason{font-size:11px;line-height:1.65;color:var(--muted);max-width:520px}.plan-set-note,.plan-result{font-size:10px;color:var(--muted);margin-top:8px}.plan-result{color:var(--green);font-weight:600}.plan-task-actions{display:flex;align-items:stretch;flex-direction:column;gap:12px;flex-shrink:0;min-width:127px}.plan-task-actions .btn{justify-content:center;font-size:11px}.plan-move-label{font-size:9px;color:var(--muted);display:flex;gap:5px;align-items:center;justify-content:flex-end}.plan-move-label input{font-size:10px;border:1px solid var(--line);background:var(--panel2);border-radius:5px;padding:5px;color:var(--text);max-width:113px;min-width:0}.plan-done-label{font-size:10px;color:var(--green);text-align:center}.plan-overdue{color:var(--accent)}.plan-open-day{color:var(--muted);font-size:12px;padding:22px}.plan-history{padding:20px;margin-top:22px;font-size:12px}.plan-history summary{font-weight:700;cursor:pointer}.plan-history>p{font-size:11px;color:var(--muted);margin-top:10px}.plan-history ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.plan-history li{display:flex;justify-content:space-between;gap:15px;font-size:11px;border-top:1px solid var(--line);padding-top:8px}.plan-history li>span+span{color:var(--muted);font-size:10px;flex-shrink:0}.plan-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.plan-layout{grid-template-columns:300px minmax(0,1fr)}.plan-preferences{padding:28px}.plan-task{padding:24px}.plan-task-actions{min-width:145px}}
@media(max-width:1150px){.plan-layout{grid-template-columns:235px minmax(0,1fr);gap:18px}.plan-preferences{padding:19px}.plan-task{flex-wrap:wrap}.plan-task-body{flex-basis:calc(100% - 50px)}.plan-task-actions{margin-left:45px;flex-direction:row;align-items:center;gap:15px}.plan-next{align-items:flex-start;flex-direction:column}.plan-schedule-heading{display:block}.plan-schedule-heading p{margin-top:5px}.plan-overview-bottom{align-items:flex-start;flex-direction:column;gap:5px}.plan-private{display:none}}
@media(max-width:780px){.plan-layout{grid-template-columns:1fr}.plan-preferences{position:static}.plan-heading{margin-bottom:22px}.plan-heading h1{font-size:29px}.plan-heading p{font-size:13px}.plan-preferences form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.plan-preferences form>.plan-field:first-child{grid-row:span 2}.plan-minutes{margin-bottom:17px}.plan-save{align-self:start}.plan-form-note{margin:0}.plan-how{margin-top:20px}.plan-overview{padding:22px}.plan-next{flex-direction:row;align-items:center;padding:22px}.plan-overview-bottom{flex-direction:row;align-items:center}.plan-task{flex-wrap:nowrap}.plan-task-body{flex-basis:auto}.plan-task-actions{margin-left:0;flex-direction:column;align-items:stretch}.plan-task-labels{font-size:10px}}
@media(max-width:540px){.plan-preferences form{display:block}.plan-field{margin-bottom:18px}.plan-form-note{margin-top:10px}.plan-next{flex-direction:column;align-items:flex-start}.plan-next>.btn{width:100%;justify-content:center}.plan-task{flex-wrap:wrap;padding:18px 16px;gap:11px}.plan-task-body{flex-basis:calc(100% - 45px)}.plan-task-actions{margin-left:43px;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.plan-task-actions>.btn{min-height:40px}.plan-move-label input{min-height:35px}.plan-task-mark{width:30px;height:30px}.plan-overview{padding:20px}.plan-overview-top{gap:10px}.plan-overview h2{font-size:18px}.plan-progress-number{font-size:26px}.plan-progress-number>span{font-size:14px}.plan-overview-bottom{flex-direction:column;align-items:flex-start}.plan-day-heading{padding:14px 16px}.plan-day-heading>span{font-size:9px}.plan-day-heading h3{font-size:12px}.plan-day-heading>div{gap:7px}.plan-history li{display:block}.plan-history li>span+span{display:block;margin-top:3px}}
@media(prefers-reduced-motion:reduce){.study-plan *{scroll-behavior:auto}}
/* Keep the week easy to scan, with an honest recoverable local-save state. */
.plan-save-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-10px 0 24px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:calc(12px * var(--font-scale,1));line-height:1.8}.plan-save-status[hidden]{display:none}.plan-save-status.is-error{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.plan-save-status>.btn{flex-shrink:0}.plan-private.is-unsaved:before{background:var(--accent)}.plan-week-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0 23px}.plan-week-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:13px 5px;min-height:87px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted)}.plan-week-nav button:hover{border-color:var(--accent);background:var(--accent-soft)}.plan-week-nav button[aria-current]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 7%,transparent)}.plan-week-nav button>span{font-size:calc(10px * var(--font-scale,1));font-weight:650}.plan-week-nav button>strong{font-family:Manrope,sans-serif;font-size:calc(20px * var(--font-scale,1));line-height:1.25;color:var(--text)}.plan-week-nav button>small{font-size:calc(9px * var(--font-scale,1));white-space:nowrap}.plan-day-heading h3{scroll-margin-top:110px}.plan-day.has-unfinished .plan-day-heading{border-left:3px solid var(--accent)}.plan-schedule-heading{align-items:center}.plan-schedule-heading>div{min-width:0}.plan-schedule-heading>button{display:flex;align-items:center;gap:7px;flex-shrink:0;min-height:40px}.plan-schedule-heading .icon{width:15px;height:15px}.plan-preferences{scroll-margin-top:100px}.plan-task h3{font-size:calc(15px * var(--font-scale,1))}.plan-reason{font-size:calc(12px * var(--font-scale,1));line-height:1.85}.plan-task-labels,.plan-set-note,.plan-result{font-size:calc(10px * var(--font-scale,1))}.plan-intro{line-height:1.85}.plan-how{line-height:1.8}.plan-move-label input{min-height:32px}.plan-save-status .btn{min-height:40px}
@media(max-width:1150px){.plan-schedule-heading{display:flex}.plan-week-nav{gap:5px}.plan-week-nav button{min-height:79px;padding:11px 2px}.plan-week-nav button>strong{font-size:calc(18px * var(--font-scale,1))}}
@media(max-width:780px){.plan-main{grid-row:1}.plan-preferences{grid-row:2}.plan-week-nav{gap:7px}.plan-week-nav button{min-height:87px}.plan-schedule-heading{align-items:flex-start}.plan-schedule-heading>button{min-height:32px}.plan-save-status{margin-top:-3px}.plan-private{display:flex}}
@media(max-width:540px){.plan-heading{gap:12px;flex-direction:column}.plan-heading .plan-private{margin-top:0}.plan-week-nav{gap:4px}.plan-week-nav button{padding:11px 1px;min-height:78px;border-radius:9px}.plan-week-nav button>span{font-size:calc(9px * var(--font-scale,1))}.plan-week-nav button>strong{font-size:calc(17px * var(--font-scale,1))}.plan-week-nav button>small{font-size:calc(8px * var(--font-scale,1))}.plan-schedule-heading{gap:10px}.plan-schedule-heading h2{font-size:calc(17px * var(--font-scale,1))}.plan-schedule-heading p{line-height:1.8}.plan-save-status{align-items:flex-start;flex-direction:column;gap:10px}.plan-reason{font-size:calc(11px * var(--font-scale,1))}.plan-day-heading>div{flex-wrap:wrap}.plan-day-heading{align-items:flex-start}.plan-day-heading>span{text-align:right;max-width:115px}.plan-task-actions{margin-left:41px}.plan-preferences{padding:21px}.plan-history li{line-height:1.8}}
