:root{--page-bg:#f3f1ff;--surface:#ffffffdb;--surface-strong:#fff;--ink:#20223d;--muted:#676b87;--faint:#8589a5;--line:#564aa021;--purple:#6545e7;--purple-deep:#4f2dcc;--purple-soft:#eae5ff;--blue:#78a7ed;--green:#61b79e;--orange:#f0b75f;--rose:#ee8b91;--shadow-card:0 16px 42px #51439614;--shadow-float:0 24px 60px #4d3d912e;--radius-md:15px;--radius-lg:22px;--font-sans:"Avenir Next", "Segoe UI", "Noto Sans SC", sans-serif}.plan-hydration-fallback{color:#0000;background:0 0;min-height:100dvh;font-size:0}*{box-sizing:border-box}html{background:var(--page-bg);min-width:0}body{min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 76% -18%,#bdb1ff85,#0000 38rem),radial-gradient(circle at -12% 28%,#b0cfff3d,#0000 34rem),linear-gradient(135deg,#f1efff 0%,#faf9ff 58%,#eeeaff 100%);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.plan-app-shell{min-height:100vh;display:flex}.plan-rail{background:#f5f3ffa8;border-right:1px solid #695db214;flex-direction:column;flex:0 0 138px;min-height:100vh;padding:20px 13px;display:flex}.rail-brand{align-items:center;gap:9px;padding:0 8px 32px;display:flex}.rail-brand strong{letter-spacing:-.04em;font-size:1.05rem;display:block}.mgbatt-rail-logo{object-fit:contain;flex:0 0 40px;width:40px;height:40px;display:block}.rail-module-icon{width:17px;height:17px;-webkit-mask-image:var(--mgbatt-module-icon-url);-webkit-mask-image:var(--mgbatt-module-icon-url);mask-image:var(--mgbatt-module-icon-url);background:currentColor;flex:0 0 17px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.rail-nav{gap:5px;display:grid}.rail-link{color:#515473;border-radius:10px;align-items:center;gap:11px;padding:10px;font-size:.75rem;transition:color .16s,background .16s,transform .16s;display:flex}.rail-link:hover{color:var(--purple-deep);background:#ffffffa6;transform:translate(1px)}.rail-link.is-active{color:var(--purple-deep);background:linear-gradient(100deg,#dad3fff2,#e9e4ffb3);font-weight:700;box-shadow:0 5px 17px #6e54da1a}.rail-footer{gap:5px;margin-top:auto;display:grid}.plan-main{flex:1;min-width:0;padding:18px 25px 30px}.plan-header,.plan-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1375px;margin:0 auto;display:flex}.plan-header{padding:0 0 19px}.plan-title-line{align-items:baseline;gap:10px;display:flex}.plan-title-line>.plan-title-module-icon{width:24px;height:24px;color:var(--purple-deep);-webkit-mask-image:var(--mgbatt-module-icon-url);-webkit-mask-image:var(--mgbatt-module-icon-url);mask-image:var(--mgbatt-module-icon-url);background:currentColor;flex:0 0 24px;align-self:center;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.plan-title-line h1{letter-spacing:-.07em;margin:0;font-size:2rem}.plan-title-line span{color:#555876;font-size:1.45rem}.plan-heading p{color:var(--muted);margin:7px 0 0;font-size:.78rem}.plan-header-actions{align-items:center;gap:16px;display:flex}.search-box{background:#ffffffb8;border:1px solid #ffffffe6;border-radius:11px;align-items:center;width:314px;height:38px;padding:0 10px 0 15px;display:flex;box-shadow:0 8px 22px #5245910f}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:.72rem}.search-box input::placeholder{color:#989bb1}.search-box kbd{color:#8d90a7;white-space:nowrap;background:#f1f0fa;border-radius:6px;padding:4px 6px;font-size:.57rem}.primary-button{color:#fff;background:linear-gradient(135deg,#6e47ef,#5128cc);border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 21px;font-size:.78rem;font-weight:700;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 12px 22px #5f39db33}.primary-button:hover{transform:translateY(-2px);box-shadow:0 16px 28px #5f39db45}.avatar{color:#fff;background:linear-gradient(145deg,#856ee7,#6247cf);border-radius:50%;place-items:center;width:36px;height:36px;font-size:.78rem;font-weight:700;display:grid}.plan-toolbar{align-items:center;padding:0 0 16px}.view-tabs{align-items:center;gap:8px;display:flex}.view-tab{color:#5a5e7b;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:9px 14px;font-size:.76rem;display:inline-flex}.view-tab.is-active{color:var(--purple-deep);border-color:var(--purple);font-weight:700}.semester-switcher{color:var(--ink);background:#fff9;border:1px solid #796dbd1c;border-radius:10px;align-items:center;gap:7px;padding:7px 9px 7px 14px;font-size:.7rem;font-weight:650;display:flex}.semester-switcher button{color:#6c6f8e;background:0 0;border-radius:7px;width:23px;height:23px;font-size:1.2rem;line-height:1}.semester-switcher button:hover{color:var(--purple);background:var(--purple-soft)}.plan-placeholder{border-radius:var(--radius-lg);max-width:1375px;min-height:560px;box-shadow:var(--shadow-card);background:#fff9;border:1px solid #fffc;margin:0 auto;padding:70px 40px}.eyebrow{color:var(--purple);letter-spacing:.16em;font-size:.68rem;font-weight:800}.plan-placeholder h1{letter-spacing:-.06em;margin:12px 0 5px;font-size:2.2rem}.plan-placeholder p{color:var(--muted);margin:0}@media (max-width:1300px){.plan-main{padding-inline:18px}.search-box{width:250px}}.plan-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:14px;max-width:1375px;margin:0 auto;display:grid}.plan-sidebar{align-content:start;gap:12px;min-width:0;display:grid}.side-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffe6;padding:17px 16px}.side-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.side-card-heading h2{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:.88rem}.card-kicker{color:var(--purple);letter-spacing:.13em;margin-bottom:5px;font-size:.53rem;font-weight:800;display:block}.card-icon{color:var(--purple)}.calendar-actions{gap:2px;display:flex}.calendar-actions button,.circle-action{width:25px;height:25px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;display:grid}.calendar-actions button:hover,.circle-action:hover{color:var(--purple);background:var(--purple-soft)}.mini-weekdays,.mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.mini-weekdays{color:var(--faint);margin-top:17px;font-size:.62rem}.mini-grid{gap:3px 1px;margin-top:7px}.mini-grid span{color:#545875;border-radius:8px;place-items:center;min-height:26px;font-size:.65rem;display:grid}.mini-grid span.in-week{color:var(--purple-deep);background:#e9e4ff8f}.mini-grid span.is-today{color:#fff;background:linear-gradient(135deg,#7150ec,#5833d3);font-weight:800;box-shadow:0 4px 10px #5f3ad833}.text-action{color:var(--purple);background:0 0;align-items:center;gap:2px;padding:0;font-size:.62rem;display:inline-flex}.text-action:hover{color:var(--purple-deep)}.deadline-list{gap:4px;margin-top:13px;display:grid}.deadline-row{width:100%;color:inherit;text-align:left;background:0 0;border-bottom:1px solid #6358a314;align-items:center;gap:9px;padding:7px 0;display:flex}.deadline-row:last-child{border-bottom:0}.deadline-row:hover .deadline-copy strong{color:var(--purple-deep)}.deadline-chip{border-radius:9px;flex:0 0 39px;place-items:center;min-height:31px;font-size:.63rem;font-weight:800;display:inline-grid}.deadline-chip.rose{color:#d95768;background:#ffe8eb}.deadline-chip.amber{color:#ae721b;background:#fff1d4}.deadline-chip.blue{color:#4877c6;background:#e4efff}.deadline-copy{gap:3px;min-width:0;display:grid}.deadline-copy strong{color:#3e4261;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;font-weight:700;overflow:hidden}.deadline-copy small{color:var(--faint);align-items:center;gap:4px;font-size:.58rem;display:inline-flex}.empty-copy{color:var(--faint);margin:10px 0 2px;font-size:.65rem;line-height:1.55}.inbox-card h2 small{color:var(--muted);font-size:.65rem;font-weight:500}.inbox-list{gap:9px;margin-top:13px;display:grid}.inbox-row,.day-task{color:#515572;align-items:center;gap:8px;font-size:.69rem;line-height:1.3;display:flex}.inbox-row input,.day-task input{appearance:none;cursor:pointer;background:#ffffffad;border:1px solid #c8c5d9;border-radius:5px;flex:none;width:15px;height:15px;margin:0}.inbox-row input:checked,.day-task input:checked{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 3px #fff}.inbox-capture{border-top:1px solid #6358a317;gap:5px;margin-top:13px;padding-top:11px;display:flex}.inbox-capture input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.64rem}.inbox-capture input::placeholder{color:#a9abc0}.inbox-capture button{width:24px;height:24px;color:var(--purple);background:var(--purple-soft);border-radius:7px;place-items:center;display:grid}.more-row{color:var(--faint);background:0 0;align-items:center;gap:6px;margin-top:11px;padding:0;font-size:.62rem;display:inline-flex}.more-row:hover{color:var(--purple)}.semester-name{color:#363a59;margin-top:14px;font-size:.76rem;display:block}.semester-dates{color:var(--faint);margin-top:5px;font-size:.61rem;display:block}.semester-week{color:var(--muted);justify-content:space-between;gap:8px;margin-top:14px;font-size:.62rem;display:flex}.semester-week strong{color:var(--purple);font-size:.61rem}.progress-track{background:#eeecf7;border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#7654e8,#a184ff);height:100%;display:block}.semester-actions{gap:7px;margin-top:14px;display:flex}.semester-actions button{min-height:29px;color:var(--purple-deep);background:#f0edff;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;font-size:.61rem;display:inline-flex}.semester-actions button:hover{background:#e5dfff}.plan-content-stack{min-width:0}.week-view{border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border:1px solid #ffffffe6;padding:18px 17px 14px}.week-view-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;display:flex}.week-view-heading h2{color:var(--ink);letter-spacing:-.05em;margin:5px 0 0;font-size:1.16rem}.week-heading-meta{color:var(--muted);gap:13px;font-size:.61rem;display:flex}.week-heading-meta>span{align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.purple{background:var(--purple)}.legend-dot.blue{background:var(--blue)}.legend-dot.green{background:var(--green)}.phase-strip-area{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:7px;margin-bottom:9px;display:grid}.phase-strip-label{color:var(--purple);white-space:nowrap;padding-top:7px;font-size:.58rem;font-weight:800}.phase-strip-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:25px;gap:4px;min-height:25px;display:grid}.phase-strip{color:#5c49a8;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#e8e1ff;border-radius:7px;align-items:center;gap:5px;min-width:0;padding:0 10px;font-size:.6rem;font-weight:700;display:inline-flex;overflow:hidden}.phase-strip span{color:var(--purple);margin-left:auto;font-size:.56rem}.phase-strip:hover{filter:brightness(.98);transform:translateY(-1px)}.phase-soak{color:#277f6d;background:#d9f3e8}.phase-characterize{color:#a26b1d;background:#ffedc4}.phase-mgmg{color:#416db5;background:#dceaff}.week-board{background:#ffffffa8;border:1px solid #6b62a621;border-radius:14px;overflow:hidden}.week-day-headers{border-bottom:1px solid #6b62a621;grid-template-columns:55px repeat(7,minmax(0,1fr));display:grid}.time-gutter-label{color:var(--faint);writing-mode:vertical-rl;text-align:center;padding:12px 5px;font-size:.53rem}.week-day-header{border-left:1px solid #6b62a61a;min-width:0;min-height:156px;padding:11px 8px 8px}.week-day-header.is-today{background:linear-gradient(#efecffc7,#f9f8ff7a)}.week-day-header>strong{color:#2e3250;text-align:center;font-size:.86rem;display:block}.week-day-header>span{color:var(--muted);text-align:center;margin-top:2px;font-size:.6rem;display:block}.week-day-header.is-today>strong,.week-day-header.is-today>span{color:var(--purple)}.day-task-count{color:var(--faint);border-bottom:1px solid #6b62a61a;justify-content:space-between;align-items:center;margin-top:13px;padding-bottom:7px;font-size:.56rem;display:flex}.day-task-count span{color:#b1b4c7;font-size:.9rem}.day-task-list{gap:8px;margin-top:9px;display:grid}.day-task{text-overflow:ellipsis;white-space:nowrap;align-items:flex-start;font-size:.6rem;overflow:hidden}.day-task span{text-overflow:ellipsis;overflow:hidden}.day-task.is-done span{color:var(--faint);text-decoration:line-through}.time-grid{grid-template-columns:55px repeat(7,minmax(0,1fr));min-height:650px;display:grid}.time-labels{color:var(--faint);text-align:center;grid-template-rows:repeat(17,1fr);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.53rem;display:grid}.day-column{border-left:1px solid #6b62a61a;min-width:0;position:relative}.day-column.is-today{background:#efecff47}.hour-lines{pointer-events:none;grid-template-rows:repeat(17,1fr);display:grid;position:absolute;inset:0}.hour-lines span{border-top:1px solid #6b62a61a}.hour-lines span:last-child{border-bottom:1px solid #6b62a61a}.event-block{z-index:2;border-left:3px solid var(--blue);color:#334e80;text-align:left;cursor:pointer;background:#dbeaff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;min-height:48px;padding:8px;transition:transform .16s,box-shadow .16s;display:flex;position:absolute;left:6px;right:6px;overflow:hidden;box-shadow:0 7px 14px #577abd1a}.event-block:hover{z-index:3;transform:translateY(-2px);box-shadow:0 11px 20px #577abd2e}.event-block strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.68rem;overflow:hidden}.event-block small,.event-time{align-items:center;gap:4px;font-size:.55rem;display:inline-flex}.event-block small{color:#334e80c2}.event-event-lab{border-color:var(--green);color:#286b5d;background:#d9f2e9}.event-event-analysis{color:#5d489f;background:#e9e2ff;border-color:#8b6be8}.event-event-reading{color:#5e538d;background:#eeeaff;border-color:#9280da}.event-event-meeting{color:#9d4a57;background:#ffe3e7;border-color:#ea8b91}.event-event-lab small,.event-event-analysis small,.event-event-reading small,.event-event-meeting small{color:currentColor;opacity:.72}.now-line{z-index:4;pointer-events:none;background:#ee6573;height:2px;position:absolute;left:0;right:0}.now-line:before{content:"";background:#ee6573;border-radius:50%;width:7px;height:7px;position:absolute;left:-3px;transform:translateY(-2px)}.now-line span{color:#dc4e5d;white-space:nowrap;background:#fff1f2;border-radius:5px;padding:2px 5px;font-size:.53rem;font-weight:800;position:absolute;top:-12px;right:5px}.now-line.is-before-grid span{top:4px}.week-footnote{color:var(--faint);align-items:center;gap:6px;margin-top:11px;font-size:.6rem;display:flex}.week-footnote svg{color:var(--purple)}.selection-banner{color:var(--muted);background:#f7f4ffd1;border:1px solid #7863e024;border-radius:11px;align-items:center;gap:8px;margin-top:10px;padding:10px 13px;font-size:.65rem;display:flex}.selection-banner strong{color:var(--ink)}.selection-banner button{color:var(--purple);background:0 0;margin-left:auto;font-size:.6rem}.date-debug{color:#aaaabd;text-align:right;margin:9px 3px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.53rem}@media (max-width:1250px){.plan-layout{grid-template-columns:220px minmax(0,1fr)}.event-block{padding-inline:5px}.event-block strong{font-size:.61rem}.event-time,.event-block small{font-size:.5rem}}.timeline-layout{display:block}.timeline-view,.compact-view{border-radius:var(--radius-lg);max-width:1375px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #ffffffe6;margin:0 auto;padding:21px}.timeline-heading,.compact-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:19px;display:flex}.timeline-heading h2,.compact-heading h2{letter-spacing:-.05em;margin:5px 0 3px;font-size:1.35rem}.timeline-heading p,.compact-heading p{color:var(--muted);margin:0;font-size:.7rem}.timeline-heading-meta{color:var(--muted);gap:8px;font-size:.64rem;display:flex}.timeline-heading-meta span{border:1px solid var(--line);background:#ffffff94;border-radius:9px;align-items:center;gap:5px;padding:8px 10px;display:inline-flex}.timeline-board{background:#ffffff8a;border:1px solid #6b62a621;border-radius:14px;overflow:hidden}.timeline-axis-row,.timeline-row{grid-template-columns:216px minmax(0,1fr);display:grid}.timeline-label-head{color:var(--muted);padding:14px 15px;font-size:.65rem;font-weight:800}.timeline-axis{border-bottom:1px solid #6b62a61f;border-left:1px solid #6b62a61a;min-height:61px;display:grid;position:relative}.timeline-axis>span{color:var(--ink);border-left:1px solid #6b62a61a;flex-direction:column;gap:4px;padding:12px 6px 0;font-size:.63rem;display:flex}.timeline-axis>span small{color:var(--faint);font-size:.54rem}.timeline-today-line{z-index:3;pointer-events:none;border-left:1px dashed #6545e7b8;width:1px;position:absolute;top:0;bottom:-1000px}.timeline-today-line b{color:#fff;background:var(--purple);white-space:nowrap;border-radius:5px;padding:3px 6px;font-size:.52rem;font-weight:700;position:absolute;top:5px;left:-17px}.timeline-group-heading{color:var(--ink);background:#f4f1ff94;align-items:center;gap:7px;padding:12px 15px 8px;font-size:.7rem;font-weight:800;display:flex}.timeline-group-heading small{color:var(--faint);margin-left:4px;font-size:.56rem;font-weight:500}.timeline-project-dot,.timeline-status-dot{background:var(--purple);border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 4px #6545e71a}.timeline-row{border-top:1px solid #6b62a617;min-height:65px}.timeline-item-label{color:var(--ink);text-align:left;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:8px 15px;display:flex}.timeline-item-label:hover strong{color:var(--purple-deep)}.timeline-item-label strong{font-size:.69rem}.timeline-item-label span{color:var(--faint);font-size:.55rem}.timeline-track{border-left:1px solid #6b62a61a;min-width:0;position:relative}.timeline-track-lines{pointer-events:none;display:grid;position:absolute;inset:0}.timeline-track-lines i{border-left:1px solid #6b62a614}.timeline-bar{color:#5e46ab;text-align:left;white-space:nowrap;background:#e4dcff;border-radius:8px;align-items:center;gap:8px;min-width:29px;height:32px;padding:0 9px;display:flex;position:absolute;top:15px;overflow:hidden;box-shadow:0 5px 12px #5f46be1a}.timeline-bar:hover{filter:brightness(.97);box-shadow:0 8px 17px #5f46be29}.timeline-bar span{text-overflow:ellipsis;font-size:.61rem;font-weight:750;overflow:hidden}.timeline-bar em{color:var(--purple);margin-left:auto;font-size:.54rem;font-style:normal}.timeline-bar-in-progress{color:#5f43c5;background:linear-gradient(90deg,#dfd5ff,#ece8ff)}.timeline-bar-completed{color:#277b68;background:#d8f1e7}.timeline-bar-paused{color:#956a26;background:#ffedc4}.timeline-milestone{z-index:2;color:#6051a7;text-align:left;white-space:nowrap;background:0 0;align-items:center;gap:4px;max-width:175px;padding:0;display:inline-flex;position:absolute;top:47px;overflow:hidden;transform:translate(-5px)}.timeline-milestone svg{color:var(--purple);fill:var(--purple);flex:none;transform:rotate(45deg)}.timeline-milestone span{text-overflow:ellipsis;font-size:.53rem;overflow:hidden}.timeline-milestone.is-complete{color:var(--green)}.timeline-detail-grid{grid-template-columns:1.35fr 1fr 1fr;gap:11px;margin-top:13px;display:grid}.timeline-detail-card{background:#ffffffd4;border:1px solid #ffffffe6;border-radius:14px;min-height:126px;padding:15px;box-shadow:0 8px 21px #5143960d}.detail-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.detail-card-heading>div{align-items:center;gap:8px;display:flex}.detail-card-heading strong{font-size:.75rem}.detail-card-heading .card-kicker{margin:0}.status-pill{color:var(--purple);background:var(--purple-soft);border-radius:999px;padding:4px 7px;font-size:.55rem}.icon-button{width:27px;height:27px;color:var(--purple);background:var(--purple-soft);border-radius:8px;place-items:center;display:grid}.icon-button:hover{color:#fff;background:var(--purple)}.detail-progress{align-items:center;gap:9px;margin-top:16px;display:flex}.detail-progress>span{background:linear-gradient(90deg, var(--purple), #a385ff);border-radius:999px;flex:1;height:7px;overflow:hidden}.detail-progress strong{color:var(--purple);font-size:.63rem}.timeline-detail-card p{color:var(--muted);align-items:center;gap:6px;margin:11px 0 0;font-size:.6rem;display:flex}.timeline-detail-card p svg{color:var(--purple)}.milestone-row{color:#454967;align-items:center;gap:7px;margin-top:12px;font-size:.62rem;display:flex}.milestone-row small{color:var(--faint);margin-left:auto;font-size:.54rem}.milestone-marker{border:2px solid var(--purple);border-radius:50%;width:8px;height:8px}.milestone-marker.is-complete{border-color:var(--green);background:var(--green)}.detail-note{line-height:1.65}.compact-view-note{color:var(--faint);align-items:center;gap:7px;margin-top:15px;font-size:.6rem;display:flex}.compact-view-note svg,.compact-heading>svg{color:var(--purple)}.compact-columns{grid-template-columns:1fr 1fr;gap:13px;display:grid}.compact-columns>div,.task-list-section{background:#ffffff94;border:1px solid #6b62a61a;border-radius:13px;padding:16px}.compact-columns h3,.task-list-section h3{color:var(--ink);justify-content:space-between;margin:0 0 9px;font-size:.73rem;display:flex}.compact-columns h3 span,.task-list-section h3 span{color:var(--purple);font-size:.58rem;font-weight:500}.compact-item{width:100%;min-height:47px;color:var(--ink);text-align:left;background:0 0;border-top:1px solid #6b62a614;align-items:center;gap:9px;padding:8px 0;display:flex}.compact-item>input{appearance:none;background:#fff;border:1px solid #c8c5d9;border-radius:5px;width:15px;height:15px;margin:0}.compact-item>input:checked{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 3px #fff}.compact-item-copy{flex:1;gap:4px;min-width:0;display:grid}.compact-item-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.compact-item-copy small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.compact-item>button,.compact-item-button>svg{color:var(--faint);background:0 0}.compact-item>button:hover,.compact-item-button:hover>svg{color:var(--purple)}.compact-item.is-done .compact-item-copy strong{color:var(--faint);text-decoration:line-through}.compact-item-button{cursor:pointer}.compact-icon{border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.month-grid{border:1px solid #6b62a61f;border-radius:12px;overflow:hidden}.month-weekdays,.month-days-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{color:var(--faint);text-align:center;padding:10px 0;font-size:.6rem}.month-days-grid{grid-template-rows:repeat(6,minmax(102px,auto))}.month-cell{border-top:1px solid #6b62a617;border-left:1px solid #6b62a617;min-height:102px;padding:9px;position:relative}.month-cell:nth-child(7n+1){border-left:0}.month-cell>strong{border-radius:7px;place-items:center;width:24px;height:24px;font-size:.65rem;display:inline-grid}.month-cell.is-muted>strong{color:var(--faint)}.month-cell.is-today>strong{color:#fff;background:var(--purple)}.month-cell-items{gap:4px;margin-top:7px;display:grid}.month-cell-items button{color:#59607d;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f0edff;border-radius:5px;padding:4px 5px;font-size:.54rem;overflow:hidden}.month-cell-items button:hover{color:var(--purple-deep);background:var(--purple-soft)}.month-cell-items .event-mini{color:#39756a;background:#e3f5ed}.task-list-view{gap:12px;display:grid}.task-list-section{min-width:0}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#26225340;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.plan-modal{width:min(680px,100%);max-height:calc(100vh - 60px);box-shadow:var(--shadow-float);background:#fcfbfff7;border:1px solid #ffffffeb;border-radius:22px;overflow:auto}.modal-header{justify-content:space-between;align-items:center;padding:21px 23px 13px;display:flex}.modal-title-wrap{align-items:center;gap:11px;display:flex}.modal-plus{color:#fff;background:linear-gradient(135deg,#8b6cf1,#5c36d6);border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.modal-kicker{color:var(--purple);letter-spacing:.14em;font-size:.5rem;font-weight:800;display:block}.modal-header h2{margin:3px 0 0;font-size:1.05rem}.modal-close{width:29px;height:29px;color:var(--muted);background:0 0;border-radius:8px;place-items:center;display:grid}.modal-close:hover{color:var(--purple);background:var(--purple-soft)}.modal-tabs{border-bottom:1px solid #6b62a61a;gap:8px;padding:0 23px;display:flex}.modal-tabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 12px;font-size:.67rem;display:inline-flex}.modal-tabs button.is-active{color:var(--purple);border-color:var(--purple);font-weight:750}.modal-body{padding:18px 23px 22px}.smart-input-box{background:#fff;border:1.5px solid #8467f4;border-radius:13px;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 3px #6545e70f}.smart-input-box textarea{resize:vertical;width:100%;min-height:86px;color:var(--ink);background:0 0;border:0;outline:0;padding:15px;font-size:.81rem;line-height:1.55;display:block}.smart-input-actions{color:var(--purple);justify-content:flex-end;align-items:center;gap:9px;padding:0 9px 9px;font-size:.62rem;display:flex}.smart-input-actions>span{align-items:center;gap:4px;display:inline-flex}.smart-submit{color:#fff;background:var(--purple);border-radius:9px;place-items:center;width:31px;height:31px;display:grid;transform:rotate(-90deg)}.modal-examples{flex-wrap:wrap;align-items:center;gap:6px;margin-top:15px;display:flex}.modal-examples strong{width:100%;margin-bottom:2px;font-size:.68rem}.modal-examples button{color:#5e59a0;background:#f0edff;border-radius:7px;padding:7px 9px;font-size:.59rem}.modal-examples button:hover{color:#fff;background:var(--purple)}.modal-tip{color:var(--faint);margin:15px 0 0;font-size:.61rem}.preview-card{background:linear-gradient(135deg,#fff,#f7f4ff);border:1px solid #6545e724;border-radius:14px;padding:15px}.preview-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.preview-title-wrap{align-items:center;gap:9px;display:flex}.preview-kind-icon{width:31px;height:31px;color:var(--purple);background:var(--purple-soft);border-radius:9px;place-items:center;display:grid}.preview-title-wrap strong{font-size:.78rem}.preview-pill{color:#327761;background:#e2f5ed;border-radius:999px;padding:5px 8px;font-size:.57rem}.preview-info{gap:8px;margin:15px 0 0;display:grid}.preview-info-row{color:var(--muted);align-items:center;gap:7px;font-size:.62rem;display:flex}.preview-info-row svg{color:var(--purple)}.preview-note{color:var(--muted);background:#f1effb;border-radius:8px;margin:14px 0 0;padding:9px;font-size:.59rem;line-height:1.5}.preview-warning{color:#ae721b;margin:13px 0 0;font-size:.59rem}.preview-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.preview-actions button{border-radius:8px;min-height:31px;padding:0 12px;font-size:.62rem}.preview-actions .preview-edit{color:var(--muted);background:#f0eef8}.preview-actions .preview-confirm{color:#fff;background:var(--purple)}.manual-form{gap:13px;display:grid}.type-switcher{gap:6px;display:flex}.type-switcher button{color:var(--muted);background:#f1eff8;border-radius:7px;padding:7px 10px;font-size:.61rem}.type-switcher button.is-active{color:var(--purple);background:var(--purple-soft);font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-field{color:var(--muted);gap:6px;font-size:.6rem;display:grid}.form-field input{width:100%;min-height:35px;color:var(--ink);background:#fff;border:1px solid #6b62a629;border-radius:8px;outline:0;padding:0 9px;font-size:.68rem}.form-field input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6545e717}.advanced-settings{color:var(--muted);background:#f8f7fccc;border:1px solid #6b62a61a;border-radius:9px;padding:10px 11px;font-size:.62rem}.advanced-settings summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;font-weight:700;display:flex}.advanced-settings p{margin:9px 0 0;line-height:1.55}.modal-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.secondary-button{min-height:38px;color:var(--muted);background:#fff;border:1px solid #6b62a629;border-radius:10px;padding:0 16px;font-size:.69rem}.secondary-button:hover{color:var(--purple);border-color:#6545e759}.modal-actions .primary-button{min-height:38px}@media (max-width:850px){.timeline-axis-row,.timeline-row{grid-template-columns:150px minmax(0,1fr)}.timeline-detail-grid,.compact-columns{grid-template-columns:1fr}.timeline-label-head,.timeline-item-label{padding-inline:9px}.month-cell{min-height:82px;padding:6px}}html,body{height:100%;min-height:0;overflow:hidden}.plan-access-page{place-items:center;min-height:100dvh;padding:28px;display:grid}.plan-access-card,.plan-migration-card{width:min(480px,100%);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd1;border:1px solid #ffffffeb;border-radius:24px;padding:32px}.plan-access-card h1,.plan-migration-card h1{color:var(--ink);letter-spacing:-.06em;margin:9px 0 0;font-size:1.8rem}.mgbatt-auth-page{background:linear-gradient(140deg,#f3f1ff 0%,#faf9ff 55%,#eeeaff 100%);place-items:center;min-height:100dvh;padding:28px;display:grid}.mgbatt-auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd1;border:1px solid #ffffffeb;border-radius:24px;width:min(460px,100%);padding:32px;box-shadow:0 22px 50px #48397529}.mgbatt-auth-brand{color:#222033;align-items:center;gap:10px;margin-bottom:30px;font-size:1.05rem;font-weight:800;display:flex}.mgbatt-auth-logo{object-fit:contain;flex:0 0 40px;width:40px;height:40px;display:block}.plan-access-copy{color:var(--muted);margin:10px 0 0;font-size:.78rem;line-height:1.7}.mgbatt-auth-card h1{color:#222033;letter-spacing:-.06em;margin:10px 0 0;font-size:1.8rem}.mgbatt-auth-form{gap:13px;margin-top:23px;display:grid}.mgbatt-auth-form label{color:#6e6a82;gap:6px;font-size:.66rem;font-weight:700;display:grid}.mgbatt-auth-form input{color:#222033;background:#ffffffdb;border:1px solid #564aa029;border-radius:10px;outline:0;min-height:41px;padding:0 12px;font-size:.76rem}.mgbatt-auth-form input:focus{border-color:#6545e7;box-shadow:0 0 0 3px #6545e71a}.mgbatt-auth-submit{background:#514183;border-radius:10px;width:100%;min-height:38px;margin-top:4px;padding:0 14px;font-size:.76rem;box-shadow:0 8px 18px #5141832e}.mgbatt-auth-submit:hover{background:#44336f;transform:translateY(-2px);box-shadow:0 12px 24px #51418340}.mgbatt-auth-error{color:#a44d5c;background:#fff0f2;border-radius:9px;margin:0;padding:9px 11px;font-size:.67rem;line-height:1.5}.plan-migration-card{width:min(620px,100%)}.plan-migration-icon{width:42px;height:42px;color:var(--purple);background:var(--purple-soft);border-radius:13px;place-items:center;display:grid}.migration-flow{background:#f8f7ffcc;border:1px solid #6b62a61a;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;margin-top:24px;padding:14px;display:grid}.migration-flow>div{gap:4px;min-width:0;display:grid}.migration-flow>div>svg{color:var(--purple)}.migration-flow>svg{color:var(--faint)}.migration-flow strong{color:var(--ink);font-size:.72rem}.migration-flow span{color:var(--muted);font-size:.62rem;line-height:1.5}.migration-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.migration-actions .primary-button,.migration-actions .secondary-button{flex:1}.plan-sync-status{max-width:1375px;min-height:22px;color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin:-5px auto 7px;font-size:.59rem;display:flex}.plan-sync-status-icon{color:currentColor;align-items:center;display:inline-flex}.plan-sync-status button{color:currentColor;background:0 0;border-radius:6px;place-items:center;width:20px;height:20px;display:inline-grid}.plan-sync-status button:hover{background:var(--purple-soft)}.plan-sync-status.is-local{color:#8c6b2a}.plan-sync-status.is-syncing{color:var(--purple)}.plan-sync-status.is-failed,.plan-sync-status.is-conflict{color:#a44d5c}.is-spinning{animation:.9s linear infinite plan-spin}.plan-main>.plan-sync-status{padding-inline:2px}@keyframes plan-spin{to{transform:rotate(360deg)}}.plan-content-entry{animation:.6s cubic-bezier(.22,1,.36,1) both plan-content-rise-in}@keyframes plan-content-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.is-spinning,.plan-content-entry{animation:none}}@media (max-width:620px){.plan-access-page{padding:16px}.plan-access-card,.plan-migration-card{padding:24px}.migration-flow{grid-template-columns:1fr}.migration-flow>svg{justify-self:center;transform:rotate(90deg)}.migration-actions{display:grid}}body{min-height:0}.plan-app-shell{height:100dvh;min-height:0;overflow:hidden}.plan-rail{overscroll-behavior:contain;scrollbar-gutter:stable;height:100dvh;min-height:0;overflow:hidden auto}.plan-main{grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.plan-header,.plan-toolbar{min-width:0}.plan-layout{align-items:stretch;height:100%;min-height:0;overflow:hidden}.plan-sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;max-height:100%;overflow-y:auto}.plan-content-stack{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.plan-content-stack>.week-view,.plan-content-stack>.compact-view{flex:auto;min-height:0}.deadline-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:142px;overflow-y:auto}.inbox-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:150px;overflow-y:auto}.week-view{flex-direction:column;height:100%;min-height:0;display:flex}.week-view-heading,.phase-strip-area,.week-footnote{flex:none}.week-board{flex-direction:column;flex:auto;min-height:0;display:flex}.week-day-headers{flex:none}.time-grid{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;align-content:start;min-height:0;overflow-y:auto}.timeline-layout{height:100%;min-height:0;overflow:hidden}.timeline-view,.compact-view{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.timeline-heading,.compact-heading,.timeline-detail-grid,.compact-view-note{flex:none}.timeline-board{flex:none;min-width:930px}*{scrollbar-width:thin;scrollbar-color:#50489124 transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#5048911f;border-radius:999px}:hover::-webkit-scrollbar-thumb{background:#50489133}.plan-sidebar,.deadline-list,.inbox-list,.time-grid,.timeline-view,.compact-view{scrollbar-gutter:auto}.plan-header,.plan-toolbar,.plan-layout{width:100%}.plan-content-stack>.week-view,.plan-content-stack>.compact-view{width:100%;max-width:none;margin:0}.timeline-layout{grid-template-columns:34px minmax(0,1fr);gap:14px;max-width:1375px;margin:0 auto;display:grid}.timeline-content-stack{min-width:0}.timeline-content-stack>.timeline-view{width:100%;max-width:none;margin:0}.plan-sidebar-collapsed{color:#77759a;min-width:0;box-shadow:var(--shadow-card);background:#ffffff7a;border:1px solid #ffffffe6;border-radius:15px;flex-direction:column;align-items:center;gap:14px;padding:14px 0;display:flex}.plan-sidebar-collapsed span{border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.plan-sidebar-collapsed span:not(.collapsed-rail-title):hover{color:var(--purple);background:var(--purple-soft)}.plan-sidebar-collapsed .collapsed-rail-title{width:auto;height:auto;color:var(--purple);writing-mode:vertical-rl;font-size:.55rem}.today-view .compact-columns{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-content:start}.today-view .compact-columns>div{min-height:220px}.task-list-view{align-content:start}.task-list-view .task-list-section{width:100%}.sidebar-section{gap:5px;min-width:0;display:grid;position:relative}.sidebar-section-toggle{color:var(--muted);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0 5px;font-size:.59rem;display:flex}.sidebar-section-toggle:hover{color:var(--purple)}.sidebar-section-toggle span:last-child{color:var(--purple);font-size:.85rem}.today-summary-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:13px;display:grid}.today-summary-card{background:#ffffff94;border:1px solid #6b62a61a;border-radius:13px;gap:8px;min-height:86px;padding:14px 16px;display:grid}.today-summary-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.today-summary-card small{color:var(--muted);font-size:.59rem}.summary-label{color:var(--purple);align-items:center;gap:5px;font-size:.59rem;font-weight:700;display:inline-flex}.next-up .summary-label{color:#39756a}.task-filter-bar{background:#ffffff85;border:1px solid #6b62a61a;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:1px;padding:7px;display:flex}.filter-pills,.type-pills{flex-wrap:wrap;gap:4px;display:flex}.filter-pills button,.type-pills button{min-height:27px;color:var(--muted);background:0 0;border-radius:7px;padding:0 9px;font-size:.6rem}.filter-pills button:hover,.type-pills button:hover{color:var(--purple);background:var(--purple-soft)}.filter-pills button.is-active,.type-pills button.is-active{color:var(--purple);background:var(--purple-soft);font-weight:700}.advanced-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.advanced-settings select,.form-field select,.form-field textarea,.advanced-settings textarea{width:100%;min-height:35px;color:var(--ink);font:inherit;background:#fff;border:1px solid #6b62a629;border-radius:8px;outline:0;padding:8px 9px;font-size:.68rem}.form-field textarea,.advanced-settings textarea{resize:vertical;min-height:62px}.input-with-icon{min-height:35px;color:var(--muted);background:#fff;border:1px solid #6b62a629;border-radius:8px;align-items:center;gap:6px;padding-left:9px;display:flex}.input-with-icon input{border:0;min-height:33px;padding-left:0}.recurrence-box{color:var(--muted);background:#f7f5fd;border-radius:9px;gap:8px;margin-top:10px;padding:10px;font-size:.6rem;display:grid}.recurrence-box select{min-height:31px;color:var(--ink);background:#fff;border:1px solid #6b62a629;border-radius:7px;padding:0 8px;font-size:.65rem}.weekday-picker{flex-wrap:wrap;gap:5px;display:flex}.weekday-picker button{min-width:31px;min-height:27px;color:var(--muted);background:#fff;border-radius:7px;font-size:.58rem}.weekday-picker button.is-active{color:#fff;background:var(--purple)}.check-option{color:var(--muted);align-items:center;gap:6px;font-size:.61rem;display:flex}.check-option input{accent-color:var(--purple)}.check-spacer{flex:1}.danger-button{color:#bd5667;background:#fff0f2;border-radius:10px;align-items:center;gap:5px;min-height:38px;margin-right:auto;padding:0 12px;font-size:.65rem;display:inline-flex}.danger-button:hover{color:#fff;background:#c85a6b}@media (max-width:980px){.task-filter-bar,.today-summary-grid{flex-direction:column;grid-template-columns:1fr;align-items:stretch;display:grid}}:root{--task-color:#7564c7;--task-surface:#f0edff;--event-color:#3f8f83;--event-surface:#e3f5ed;--phase-color:#6545e7;--phase-surface:#e8e1ff}.card-kicker,.modal-kicker,.eyebrow{display:none}.week-view-heading h2{margin:0;font-size:1.05rem}.week-heading-meta{gap:10px;font-size:.62rem}.legend-dot.phase{background:var(--phase-color)}.legend-dot.event{background:var(--event-color)}.legend-dot.task{background:var(--task-color)}.phase-strip-area{margin-bottom:5px}.phase-strip{font-size:.66rem}.week-day-header>strong{white-space:nowrap;font-size:.82rem}.week-day-header>strong span{color:var(--muted);font-size:.67rem;font-weight:500}.week-day-header.is-today>strong span{color:var(--purple)}.event-block{color:#2f7167;background:var(--event-surface);border-left-color:var(--event-color)}.event-event-lab,.event-event-analysis,.event-event-reading,.event-event-meeting{color:#2f7167;background:var(--event-surface);border-color:var(--event-color)}.event-event-lab small,.event-event-analysis small,.event-event-reading small,.event-event-meeting small{color:currentColor}.week-footnote{display:none}.compact-heading h2{margin:0;font-size:1.22rem}.compact-heading p{display:none}.compact-item-copy small{color:#686d8a;font-size:.66rem}.compact-item.item-task{border-left:3px solid var(--task-color);padding-left:8px}.compact-icon.blue{color:var(--event-color);background:var(--event-surface)}.compact-icon.purple{color:var(--phase-color);background:var(--phase-surface)}.month-cell{padding:7px}.month-cell>strong{display:none}.month-view .month-grid{flex:none;overflow:visible}.month-view .month-days-grid{grid-template-rows:repeat(6,102px)}.month-day-number{width:25px;height:25px;color:var(--ink);background:0 0;border-radius:7px;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid}.month-day-number:hover{color:var(--purple);background:var(--purple-soft)}.month-cell.is-muted .month-day-number{color:var(--faint)}.month-cell.is-today .month-day-number{color:#fff;background:var(--purple)}.month-item.item-task{color:#5e568f;background:var(--task-surface)}.month-item.item-event{color:#2f7167;background:var(--event-surface)}.month-overflow{font-weight:700;color:var(--purple)!important;background:#f4f1ff!important}.month-item.is-done{opacity:.62;text-decoration:line-through}.timeline-bar,.timeline-bar-in-progress,.timeline-bar-completed,.timeline-bar-paused{color:#5e46ab;background:var(--phase-surface)}.timeline-empty-state{min-height:230px;color:var(--muted);text-align:center;place-items:center;gap:7px;padding:35px;display:grid}.timeline-empty-state strong{color:var(--ink);font-size:1rem}.timeline-empty-state span{font-size:.72rem}.timeline-empty-state button{color:var(--purple);background:var(--purple-soft);border-radius:8px;margin-top:7px;padding:8px 12px;font-size:.72rem;font-weight:700}.deadline-group-label{color:var(--muted);margin:5px 0 1px;font-size:.62rem;font-weight:700}.deadline-group-label:first-child{margin-top:0}.semester-actions button:disabled{cursor:not-allowed;opacity:.56}.day-detail-backdrop{z-index:18;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26225324;justify-content:flex-end;display:flex;position:fixed;inset:0}.day-detail-panel{width:min(430px,100%);height:100%;box-shadow:var(--shadow-float);background:#fcfbfff7;border-left:1px solid #ffffffe6;flex-direction:column;padding:24px 22px;display:flex}.day-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:17px;display:flex}.day-detail-heading h2{margin:0;font-size:1.13rem}.day-detail-kicker{color:var(--purple);margin-bottom:5px;font-size:.68rem;font-weight:750;display:block}.day-detail-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:11px 0;overflow-y:auto}.day-detail-section{border-bottom:1px solid #6b62a61a;padding:11px 0 14px}.day-detail-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-detail-section-heading h3{margin:0 0 6px;font-size:.86rem}.day-detail-section-heading h3 span{color:var(--purple);font-size:.7rem;font-weight:500}.day-detail-section-heading button{color:var(--purple);background:0 0;align-items:center;gap:4px;font-size:.66rem;display:inline-flex}.day-detail-row{border-top:1px solid #6b62a612;justify-content:space-between;align-items:center;gap:9px;min-height:43px;padding:7px 0;display:flex}.day-detail-row label,.day-detail-icon{min-width:0;color:var(--ink);align-items:center;gap:8px;font-size:.76rem;display:flex}.day-detail-row label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-detail-row.is-done label span{color:var(--faint);text-decoration:line-through}.day-detail-row input{accent-color:var(--purple)}.day-detail-row-actions{flex:none;gap:3px;display:flex}.day-detail-row-actions button{width:26px;height:26px;color:var(--faint);background:0 0;border-radius:7px;place-items:center;display:grid}.day-detail-row-actions button:hover{color:var(--purple);background:var(--purple-soft)}.day-detail-row-actions button:last-child:hover{color:#bd5667;background:#fff0f2}.day-detail-icon.event{color:var(--event-color)}.day-detail-icon.event>span{color:var(--ink);gap:3px;display:grid}.day-detail-icon.event small{color:#686d8a;font-size:.65rem}.day-detail-footer{color:var(--faint);align-items:center;gap:6px;padding-top:12px;font-size:.64rem;display:flex}.day-detail-task-link{min-width:0;color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;font-size:.76rem;overflow:hidden}.day-detail-task-link:hover{color:var(--purple)}.day-detail-row.is-done .day-detail-task-link{color:var(--faint);text-decoration:line-through}.day-task-row{align-items:center;gap:4px;min-width:0;display:flex}.day-task-row .day-task{flex:auto;min-width:0}.day-task-edit{color:#0000;background:0 0;border-radius:5px;flex:none;place-items:center;width:20px;height:20px;display:grid}.day-task-row:hover .day-task-edit{color:var(--muted)}.day-task-edit:hover{color:var(--purple);background:var(--purple-soft)}.day-task-button{text-align:left;cursor:pointer;border:0;width:100%}.day-task.deadline-reminder{color:#7a7190}.day-task.deadline-reminder:not(.is-done){color:#8060a2;font-weight:650}.day-task.deadline-reminder.is-done,.day-task-row.is-done .day-task span{color:var(--faint);text-decoration:line-through}.preview-actions button:disabled{cursor:not-allowed;opacity:.5}.smart-preview{gap:12px;display:grid}.recognition-status{color:#318069;align-items:center;gap:6px;font-size:.66rem;font-weight:650;display:inline-flex}.preview-card{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.preview-icon{width:31px;height:31px;color:var(--purple);background:var(--purple-soft);border-radius:9px;place-items:center;display:grid}.preview-icon.preview-event{color:var(--event-color);background:var(--event-surface)}.preview-icon.preview-phase{color:var(--phase-color);background:var(--phase-surface)}.preview-main{min-width:0}.preview-title-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-title-line strong{color:var(--ink);font-size:.82rem}.kind-pill,.recurrence-pill{color:var(--muted);background:#f1eff8;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:.58rem;display:inline-flex}.kind-pill.task{color:var(--task-color);background:var(--task-surface)}.kind-pill.event{color:var(--event-color);background:var(--event-surface)}.kind-pill.phase{color:var(--phase-color);background:var(--phase-surface)}.recurrence-pill{color:#866334;background:#fff2d8}.preview-facts{color:var(--muted);gap:6px;margin-top:10px;font-size:.64rem;display:grid}.preview-facts span{align-items:center;gap:6px;display:inline-flex}.preview-facts svg{color:var(--purple)}.preview-facts .uncertain-fact{color:#986723}.preview-change{color:var(--purple);white-space:nowrap;background:0 0;font-size:.62rem}.mini-grid button{color:#545875;background:0 0;border-radius:8px;place-items:center;min-height:26px;font-size:.65rem;display:grid}.mini-grid button:hover{color:var(--purple);background:var(--purple-soft)}.mini-grid button.in-week{color:var(--purple-deep);background:#e9e4ff8f}.mini-grid button.is-today{color:#fff;background:linear-gradient(135deg,#7150ec,#5833d3);font-weight:800;box-shadow:0 4px 10px #5f3ad833}.switcher-today{min-width:38px;padding:0 7px;color:var(--purple)!important;background:var(--purple-soft)!important;font-size:.66rem!important}@media (max-width:1180px){.plan-rail{flex-basis:112px;padding-inline:8px}.rail-brand{padding-inline:3px}.rail-link{gap:7px;padding-inline:7px}.plan-main{padding-inline:12px}.plan-header-actions{gap:8px}.search-box{width:205px}.plan-layout{grid-template-columns:190px minmax(0,1fr);gap:10px}.view-tabs{gap:2px}.view-tab{gap:5px;padding-inline:8px}.semester-switcher{max-width:330px}.semester-switcher>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.plan-main{grid-template-rows:auto minmax(0,1fr);padding:12px 20px 18px}.plan-header{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 0 10px;display:grid}.plan-heading{min-width:0}.plan-title-line{gap:7px}.plan-title-line h1{font-size:1.55rem}.plan-title-line>span:not(.plan-title-module-icon){font-size:1.08rem}.plan-heading p{display:none}.plan-header .view-tabs{justify-content:center;gap:1px;min-width:0}.plan-header .view-tab{white-space:nowrap;border-radius:8px;gap:5px;min-width:0;padding:7px 9px;font-size:.69rem}.plan-header .view-tab:hover{background:#ffffff9e}.plan-header .semester-switcher{white-space:nowrap;max-width:245px;padding:5px 7px 5px 10px;font-size:.64rem}.plan-header-actions{gap:7px}.plan-header-actions .search-box{gap:7px;width:205px;height:34px;padding-left:10px}.plan-header-actions .search-box svg{color:var(--muted);flex:none}.plan-header-actions .primary-button{min-height:34px;padding-inline:14px;font-size:.7rem}.plan-header-actions .avatar{width:31px;height:31px;font-size:.68rem}.plan-toolbar{display:none}.week-view{padding:9px 11px 8px}.week-view-heading{margin-bottom:4px}.week-view-heading h2{font-size:.94rem}.week-heading-meta{display:none}.phase-strip-area{grid-template-columns:53px minmax(0,1fr);gap:5px;margin-bottom:4px}.phase-strip-label{padding-top:4px;font-size:.55rem}.phase-strip-grid{grid-auto-rows:18px;gap:2px;min-height:18px}.phase-strip{border-radius:6px;gap:4px;padding-inline:7px;font-size:.57rem}.phase-strip svg{width:10px;height:10px}.phase-strip span{font-size:.52rem}.phase-strip-overflow{color:var(--purple);background:#f2efff;border-radius:6px;grid-column:1/-1;justify-content:center;align-items:center;font-size:.55rem;display:inline-flex}.week-day-headers{grid-template-columns:45px repeat(7,minmax(0,1fr))}.time-gutter-label{padding:7px 3px;font-size:.48rem}.week-day-header{min-height:73px;padding:6px 5px 4px}.week-day-header>strong{font-size:.72rem;line-height:1.1}.week-day-header>strong span{font-size:.6rem}.day-task-count{margin-top:4px;padding-bottom:3px;font-size:.54rem}.day-task-list{gap:3px;margin-top:4px}.day-task{gap:5px;font-size:.64rem}.day-task input{border-radius:4px;width:13px;height:13px}.day-task-edit{display:none}.day-task-more{color:var(--purple);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:0;font-size:.59rem;overflow:hidden}.day-task-more:hover{text-decoration:underline}.time-grid{grid-template-columns:45px repeat(7,minmax(0,1fr));min-height:600px}.event-block{min-height:42px;padding:6px 7px;left:4px;right:4px}.now-line span{padding:2px 4px;font-size:.5rem;top:-11px;right:4px}.compact-view{padding:14px 15px 12px}.compact-heading{margin-bottom:8px}.compact-heading h2{font-size:1.05rem}.month-view{overflow:hidden}.month-view .month-grid{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.month-view .month-weekdays{flex:none;padding:6px 0;font-size:.58rem}.month-view .month-days-grid{flex:none;grid-template-rows:repeat(6,96px);grid-auto-rows:96px}.month-view .month-cell{height:96px;min-height:96px;padding:6px;overflow:hidden}.month-view .month-cell-items{min-width:0;max-height:65px;margin-top:5px;overflow:hidden}.month-view .month-cell-items button{width:100%;min-width:0;padding:3px 5px;font-size:.61rem;line-height:1.25}.month-view .compact-view-note{display:none}.month-cell{cursor:pointer}.month-cell-items{min-width:0}.month-view .month-cell{padding:5px}.month-view .month-cell-items{gap:3px;max-height:none;margin-top:3px;overflow:visible}.month-cell-items button{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.month-view .month-cell-items button{min-height:21px;padding:3px 6px;font-size:.68rem;font-weight:650;line-height:1.15}.month-item{align-items:center;gap:5px;display:flex!important}.month-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.month-summary-icon{flex:none}.month-summary-icon.task{color:var(--task-color)}.month-summary-icon.event,.month-summary-icon.course{color:var(--event-color)}.month-summary-icon.deadline{color:#c18b4a}.month-item.deadline-reminder{color:#846c78;background:#fff5e9}.month-item.deadline-reminder .month-summary-icon{color:#c18b4a}.month-item.is-done .month-summary-icon{opacity:.7}.month-overflow-preview{z-index:30;pointer-events:auto;background:#fcfbfffa;border:1px solid #6545e729;border-radius:12px;width:min(286px,100vw - 24px);padding:12px;position:fixed;box-shadow:0 14px 32px #4336892e}.month-overflow-preview:before{content:"";background:#fcfbfffa;border:1px solid #6545e729;width:9px;height:9px;position:absolute;transform:rotate(45deg)}.month-overflow-preview[data-placement=right]:before{top:calc(var(--arrow-offset) - 5px);border-top:0;border-right:0;left:-5px}.month-overflow-preview[data-placement=left]:before{top:calc(var(--arrow-offset) - 5px);border-bottom:0;border-left:0;right:-5px}.month-overflow-preview[data-placement=top]:before{bottom:-5px;left:calc(var(--arrow-offset) - 5px);border-top:0;border-left:0}.month-overflow-preview[data-placement=bottom]:before{top:-5px;left:calc(var(--arrow-offset) - 5px);border-bottom:0;border-right:0}.month-overflow-preview-heading{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:.7rem;display:flex}.month-overflow-preview-heading span{color:var(--muted);flex:none;font-size:.58rem}.month-overflow-preview-list{gap:6px;margin-top:10px;display:grid}.month-overflow-preview-item{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.66rem;line-height:1.3;display:flex;overflow:hidden}.month-overflow-preview-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.month-overflow-preview-item.is-done{opacity:.62;text-decoration:line-through}.month-overflow-preview-more{color:var(--faint);margin-top:8px;font-size:.6rem}.month-overflow-preview-action{width:100%;color:var(--purple);text-align:left;background:0 0;border-top:1px solid #6b62a61a;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;font-size:.64rem;font-weight:700;display:flex}.month-overflow-preview-action span{font-size:.9rem}.month-view .month-grid{overflow:hidden}.month-view .month-days-grid{flex:auto;grid-template-rows:repeat(5,minmax(0,1fr));grid-auto-rows:auto;min-height:0;overflow:hidden}.month-view .month-cell{height:auto;min-height:0;overflow:hidden}.month-view .month-cell.is-center-week{background:#f7f5ff94}.month-view .month-cell.has-preview{background:#efebffad;box-shadow:inset 0 0 0 1px #6545e757}.month-view .month-view-mode{color:var(--muted);margin-left:6px;font-size:.61rem;font-weight:600}.month-view .month-cell-items button{min-height:21px;font-size:.68rem}.month-view .month-overflow{font-size:.65rem}.month-overflow-preview{animation:.15s ease-out both month-popover-in}@keyframes month-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{padding:16px}.plan-modal{width:min(920px,100%);max-height:calc(100dvh - 32px);overflow:hidden}.modal-header{padding:14px 19px 9px}.modal-header h2{font-size:1.02rem}.modal-subtitle{color:var(--muted);margin-top:3px;font-size:.62rem;display:block}.modal-plus{background:var(--modal-accent,linear-gradient(135deg,#8b6cf1,#5c36d6));border-radius:10px;width:31px;height:31px}.modal-tabs{justify-content:space-between;align-items:center;padding:0 19px}.modal-tabs>span{color:var(--ink);font-size:.69rem;font-weight:750}.modal-tabs button.smart-entry-trigger{color:var(--modal-accent,var(--purple));background:0 0;align-items:center;gap:5px;padding:8px 0;font-size:.64rem;font-weight:700;display:inline-flex}.modal-tabs button.smart-entry-trigger:hover{color:var(--purple-deep)}.modal-body{max-height:calc(100dvh - 102px);padding:13px 19px 17px;overflow-y:auto}.manual-form{gap:10px}.plan-type-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.plan-type-card{min-width:0;min-height:82px;color:var(--muted);text-align:left;background:#f8f7fde0;border:1px solid #6b62a61c;border-radius:12px;align-items:flex-start;gap:8px;padding:10px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.plan-type-card:hover{background:#fff;border-color:#6545e747}.plan-type-card>svg:first-child{width:29px;height:29px;color:var(--modal-accent,var(--task-color));background:var(--modal-surface,var(--task-surface));border-radius:8px;flex:none;margin-top:1px;padding:5px}.plan-type-card>span{gap:3px;min-width:0;display:grid}.plan-type-card strong{color:var(--ink);font-size:.73rem}.plan-type-card small{color:var(--muted);font-size:.59rem;line-height:1.35}.plan-type-card em{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;font-style:normal;overflow:hidden}.plan-type-card.is-active{border-color:var(--modal-accent,var(--task-color));background:var(--modal-surface,var(--task-surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--modal-accent,var(--task-color)) 12%, transparent)}.plan-type-card.is-active strong{color:var(--modal-accent,var(--task-color))}.plan-type-card:disabled{cursor:default;opacity:.62}.type-card-check{color:var(--modal-accent,var(--task-color));position:absolute;top:9px;right:9px}.type-selection-note{color:var(--modal-accent,var(--task-color));align-items:center;gap:5px;font-size:.6rem;display:inline-flex}.type-selection-note svg{flex:none}.form-field{font-size:.64rem}.form-field input,.advanced-settings select,.form-field select,.form-field textarea,.advanced-settings textarea{font-size:.72rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.advanced-settings select:focus,.advanced-settings textarea:focus{border-color:var(--modal-accent,var(--purple));box-shadow:0 0 0 3px color-mix(in srgb, var(--modal-accent,var(--purple)) 11%, transparent)}.advanced-settings{padding:8px 10px}.advanced-settings-content{gap:9px;margin-top:10px;display:grid}.advanced-settings-content .form-field textarea{min-height:54px}.weekday-picker{align-items:center}.weekday-picker>span{color:var(--muted);margin-right:2px;font-size:.6rem}.weekday-picker button.is-active{background:var(--modal-accent,var(--purple))}.modal-actions .primary-button{background:var(--modal-accent,linear-gradient(135deg,#6e47ef,#5128cc))}.smart-input-box{border-color:var(--modal-accent,#8467f4)}.smart-submit{background:var(--modal-accent,var(--purple))}.smart-form .modal-tip{margin-top:10px}.preview-card[data-plan-kind=task]{border-color:color-mix(in srgb, var(--task-color) 28%, white);background:linear-gradient(135deg,#fff,#f7f4ff)}.preview-card[data-plan-kind=event]{border-color:color-mix(in srgb, var(--event-color) 28%, white);background:linear-gradient(135deg,#fff,#f2fbf7)}.preview-card[data-plan-kind=phase]{border-color:color-mix(in srgb, var(--phase-color) 28%, white);background:linear-gradient(135deg,#fff,#f5f1ff)}.preview-type-description{color:var(--muted);margin-top:4px;font-size:.59rem;display:block}.plan-modal[data-plan-kind=task]{--modal-accent:var(--task-color);--modal-surface:var(--task-surface)}.plan-modal[data-plan-kind=event]{--modal-accent:var(--event-color);--modal-surface:var(--event-surface)}.plan-modal[data-plan-kind=phase]{--modal-accent:var(--phase-color);--modal-surface:var(--phase-surface)}@media (max-width:1180px){.plan-main{padding:9px 12px 13px}.plan-header{gap:5px}.plan-title-line h1{font-size:1.38rem}.plan-title-line>span:not(.plan-title-module-icon){font-size:.95rem}.plan-header .view-tabs{gap:0}.plan-header .view-tab{padding-inline:6px;font-size:.63rem}.plan-header .view-tab svg{width:14px;height:14px}.plan-header .semester-switcher{max-width:155px;padding-left:7px;font-size:.58rem}.plan-header-actions{gap:4px}.plan-header-actions .search-box{justify-content:center;width:32px;padding:0}.plan-header-actions .search-box input,.plan-header-actions .search-box kbd{display:none}.plan-header-actions .primary-button{padding-inline:9px;font-size:.62rem}.plan-header-actions .primary-button svg{width:15px;height:15px}.plan-header-actions .avatar{width:28px;height:28px}.plan-layout{grid-template-columns:176px minmax(0,1fr)}}@media (max-width:900px){.plan-layout{grid-template-columns:34px minmax(0,1fr)}.plan-layout>.plan-sidebar{display:none}.plan-header{grid-template-columns:auto minmax(0,1fr) auto}.plan-header .semester-switcher,.plan-header-actions .avatar{display:none}}.semester-settings-backdrop{z-index:30}.semester-settings-modal{width:min(1080px,100vw - 28px);height:min(760px,100dvh - 28px);box-shadow:var(--shadow-float);background:#fcfbfffa;border:1px solid #fffffff0;border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.semester-settings-header{border-bottom:1px solid #6b62a61a;justify-content:space-between;align-items:center;padding:18px 22px 13px;display:flex}.semester-settings-header h2{margin:3px 0 0;font-size:1.12rem}.semester-settings-body{flex:auto;grid-template-columns:170px minmax(0,1fr);min-height:0;display:grid}.semester-settings-nav{background:linear-gradient(#f4f1ffe6,#faf9ff80);border-right:1px solid #6b62a61a;align-content:start;gap:5px;padding:18px 12px;display:grid}.semester-settings-nav button{min-height:37px;color:var(--muted);text-align:left;background:0 0;border-radius:9px;align-items:center;padding:0 12px;font-size:.7rem;display:flex}.semester-settings-nav button:hover,.semester-settings-nav button.is-active{color:var(--purple-deep);background:var(--purple-soft);font-weight:750}.semester-settings-content{min-width:0;padding:22px 25px;overflow:auto}.semester-settings-section{gap:16px;display:grid}.semester-settings-section h3{color:var(--ink);margin:0;font-size:1rem}.settings-help{color:var(--muted);margin:-8px 0 0;font-size:.68rem;line-height:1.6}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.settings-form-grid .form-field input,.settings-form-grid .form-field select{min-height:38px;font-size:.72rem}.form-warning{color:#9b6a20;font-size:.62rem}.settings-section-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-section-title .secondary-button,.transfer-actions .secondary-button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.settings-record-list,.schedule-slot-list,.settings-course-list,.resource-list{gap:8px;display:grid}.settings-record-row{background:#ffffffd1;border:1px solid #6b62a61f;border-radius:10px;grid-template-columns:minmax(130px,1.4fr) 145px 145px 120px 32px;align-items:center;gap:7px;padding:8px;display:grid}.settings-record-row input,.settings-record-row select,.schedule-slot-row input,.settings-rule-row input,.settings-rule-row select{min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fff;border:1px solid #6b62a624;border-radius:7px;outline:0;padding:0 8px;font-size:.67rem}.settings-record-row input:focus,.settings-record-row select:focus,.schedule-slot-row input:focus,.settings-rule-row input:focus,.settings-rule-row select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6545e714}.schedule-slot-row{background:#ffffffd1;border:1px solid #6b62a61f;border-radius:10px;grid-template-columns:55px minmax(100px,1fr) 115px 18px 115px 32px;align-items:center;gap:7px;padding:8px;display:grid;position:relative}.schedule-slot-row.is-missing{background:#fffaf0;border-color:#c1892759}.schedule-slot-row small{color:#9b6a20;grid-column:2/-1;font-size:.61rem}.settings-course-card{background:#ffffffd6;border:1px solid #6b62a621;border-radius:13px;gap:12px;padding:14px;display:grid}.settings-course-heading,.settings-rules-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-course-heading input{width:min(100%,300px);color:var(--ink);background:0 0;border:0;outline:0;font-size:.85rem;font-weight:800}.settings-course-heading small{color:var(--muted);margin-top:3px;font-size:.6rem;display:block}.settings-rules-heading{border-top:1px solid #6b62a61a;padding-top:2px}.text-button{color:var(--purple);background:0 0;align-items:center;gap:4px;font-size:.65rem;display:inline-flex}.settings-rule-row{grid-template-columns:82px 100px minmax(140px,1fr) 110px 100px 32px;align-items:center;gap:7px;display:grid}.resource-row{color:var(--purple);background:#ffffffd1;border:1px solid #6b62a61f;border-radius:10px;align-items:center;gap:10px;padding:10px 11px;display:flex}.resource-row>span{flex:auto;gap:3px;min-width:0;display:grid}.resource-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.resource-row small{color:var(--muted);font-size:.6rem}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.transfer-actions{flex-wrap:wrap;gap:9px;display:flex}.transfer-note{color:var(--muted);background:#f2f0fb;border-radius:10px;align-items:flex-start;gap:8px;padding:11px;font-size:.65rem;line-height:1.5;display:flex}.import-preview{background:linear-gradient(135deg,#faf8ff,#fff);border:1px solid #6545e733;border-radius:12px;gap:10px;padding:14px;display:grid}.import-preview h4{color:var(--ink);margin:0;font-size:.8rem}.import-preview p{color:var(--muted);margin:0;font-size:.66rem}.import-course-summary{max-height:150px;color:var(--muted);gap:5px;margin:0;padding-left:17px;font-size:.64rem;line-height:1.45;display:grid;overflow:auto}.import-course-summary li{padding-left:2px}.import-course-summary strong{color:var(--ink);margin-right:6px}.import-preview-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.import-preview-columns>div{min-width:0}.import-preview-columns>div>strong{color:var(--ink);font-size:.66rem}.settings-issue-list{background:#f7f5fc;border-radius:10px;gap:5px;padding:10px 12px;display:grid}.settings-issue-list p{margin:0;font-size:.63rem;line-height:1.45}.settings-issue-list .is-warning{color:#9b6a20}.settings-issue-list .is-error{color:#a14d59}.semester-settings-footer{color:var(--muted);border-top:1px solid #6b62a61a;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;font-size:.62rem;display:flex}.semester-settings-footer>div{gap:8px;display:flex}.semester-course-count{color:var(--muted);align-items:center;gap:4px;font-size:.61rem;display:inline-flex}.course-label{color:#2b7b71;background:#e3f5ed;border-radius:999px;flex:none;padding:3px 6px;font-size:.57rem}.compact-item.course-item{cursor:default}.month-item.course-item{color:#2c7d70;background:#e3f5ed}.day-detail-row.course-item{background:#e3f5ed80}@media (max-width:760px){.semester-settings-modal{width:calc(100vw - 18px);height:calc(100dvh - 18px)}.semester-settings-body{grid-template-columns:116px minmax(0,1fr)}.semester-settings-nav{padding-inline:7px}.semester-settings-nav button{padding-inline:8px;font-size:.64rem}.semester-settings-content{padding:17px 14px}.settings-form-grid,.settings-record-row,.schedule-slot-row,.settings-rule-row{grid-template-columns:1fr 1fr}.settings-record-row .icon-button,.schedule-slot-row .icon-button,.settings-rule-row .icon-button{justify-self:end}.schedule-slot-row span{display:none}.settings-record-row input,.settings-record-row select,.schedule-slot-row input,.settings-rule-row input,.settings-rule-row select{width:100%}.semester-settings-footer{flex-direction:column;align-items:flex-start}.semester-settings-footer>div{justify-content:flex-end;width:100%}}.semester-label-short{display:none}.rail-link.is-disabled,.avatar.is-disabled{cursor:not-allowed;opacity:.58}.rail-link.is-disabled:hover{color:#515473;background:0 0;transform:none}.date-debug{display:none}.compact-item-content-button{min-width:0;color:inherit;text-align:left;background:0 0;flex:auto;align-items:center;gap:9px;padding:0;display:flex}.compact-item-content-button:hover{color:var(--purple)}.compact-item-content-button>.compact-item-copy{min-width:0}.today-dashboard-grid{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;min-height:0;display:grid}.today-panel{background:#ffffff94;border:1px solid #6b62a61a;border-radius:13px;min-width:0;min-height:0;padding:15px 16px;overflow-y:auto}.today-panel h3{color:var(--ink);justify-content:space-between;margin:0 0 9px;font-size:.78rem;display:flex}.today-panel h3 span{color:var(--purple);font-size:.62rem;font-weight:500}.today-dashboard-grid .today-summary-card{min-height:82px}.compact-item-copy strong{font-size:.84rem}.compact-item-copy small{font-size:.68rem}.month-cell-items button{font-size:.72rem}.phase-strip-overflow{cursor:pointer;border:1px solid #6545e71f}.phase-strip-overflow:hover{color:var(--purple-deep);background:var(--purple-soft)}.phase-overflow-panel{z-index:6;box-shadow:var(--shadow-card);background:#fcfbfffa;border:1px solid #6545e729;border-radius:10px;grid-template-columns:1fr auto;gap:7px 12px;margin:4px 0 7px 58px;padding:9px 10px;display:grid;position:relative}.phase-overflow-panel>div:first-child{align-items:baseline;gap:8px;display:flex}.phase-overflow-panel>div:first-child strong{font-size:.72rem}.phase-overflow-panel>div:first-child span{color:var(--muted);font-size:.61rem}.phase-overflow-list{grid-column:1/-1;gap:4px;display:grid}.phase-overflow-list button{min-width:0;color:var(--ink);text-align:left;background:#f7f5ff;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 7px;display:flex}.phase-overflow-list button:hover{color:var(--purple);background:var(--purple-soft)}.phase-overflow-list button span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.68rem;display:inline-flex;overflow:hidden}.phase-overflow-list button em{color:var(--purple);font-size:.61rem;font-style:normal}.sidebar-section-toggle{z-index:2;justify-content:flex-end;min-height:16px;padding:0 2px;position:absolute;top:7px;right:8px}.sidebar-section-toggle>span:last-child{line-height:1}.plan-sidebar-collapsed button{width:25px;height:25px;color:inherit;background:0 0;border-radius:7px;place-items:center;display:grid}.plan-sidebar-collapsed button:hover{color:var(--purple);background:var(--purple-soft)}.form-error{color:#a74d61;background:#fff0f2;border:1px solid #cd556933;border-radius:8px;margin:8px 19px 0;padding:8px 10px;font-size:.67rem;line-height:1.45}.time-labels,.hour-lines{grid-template-rows:repeat(17,1fr)}.time-labels,.day-column{min-height:650px}.form-help{color:var(--faint);font-size:.58rem;line-height:1.4}.confirm-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#26225338;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(410px,100%);box-shadow:var(--shadow-float);background:#fcfbfffa;border:1px solid #ffffffeb;border-radius:16px;padding:20px}.confirm-dialog h2{margin:0;font-size:1rem}.confirm-dialog p{color:var(--muted);margin:8px 0 0;font-size:.72rem;line-height:1.55}.confirm-help{background:#fff5df;border-radius:8px;padding:8px 9px;color:#866334!important;margin-top:11px!important;font-size:.66rem!important}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:16px;display:flex}.confirm-actions .danger-button{margin-right:0}.sidebar-mobile-close,.responsive-collapsed-sidebar{display:none}@media (max-width:1180px){.semester-label-full{display:none}.semester-label-short{display:inline}}@media (max-width:980px){.today-dashboard-grid{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;overflow-y:auto}.today-panel{min-height:150px}}@media (max-width:900px){.plan-layout>.plan-sidebar.is-responsive-open{z-index:8;width:min(260px,100vw - 58px);max-height:100%;box-shadow:var(--shadow-float);background:#f8f7fffa;border:1px solid #ffffffd9;border-radius:14px;padding:10px;display:grid;position:absolute;inset:0 auto 0 0}.plan-layout{position:relative}.responsive-collapsed-sidebar{display:flex}.sidebar-mobile-close{width:26px;height:26px;color:var(--muted);background:0 0;border-radius:7px;justify-self:end;place-items:center;display:grid}.sidebar-mobile-close:hover{color:var(--purple);background:var(--purple-soft)}.plan-header .semester-switcher{max-width:96px;padding-inline:6px;font-size:.58rem;display:flex;overflow:hidden}.plan-header .semester-switcher button,.plan-header .semester-switcher .switcher-today{display:none}.plan-header .view-tab{padding-inline:4px}.plan-header .view-tab svg{width:13px;height:13px}}.week-day-header-meta{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.week-day-header-meta>strong{color:#2e3250;text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:baseline;min-width:0;font-size:.82rem;display:flex;overflow:hidden}.week-day-header-meta>strong span{color:var(--muted);margin-left:4px;font-size:.67rem;font-weight:500}.week-day-header.is-today .week-day-header-meta>strong,.week-day-header.is-today .week-day-header-meta>strong span{color:var(--purple)}.week-day-header-meta .day-task-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border:0;flex:none;margin:0;padding:0;font-size:.64rem;display:block}.time-gutter-label{font-size:.58rem}.time-labels{font-size:.62rem}.time-labels span{padding-top:6px}.day-task{font-size:.79rem}.event-block strong{font-size:.82rem}.event-block small,.event-time{font-size:.68rem}.month-cell-head{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.month-day-count{min-width:0;color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:650;overflow:hidden}.month-cell.is-muted .month-day-count{color:var(--faint)}.mini-calendar-card .calendar-actions{margin-right:6px}.plan-header .semester-switcher{min-width:0;overflow:hidden}.plan-header .semester-switcher>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.plan-header .semester-switcher>button{flex:0 0 23px}.plan-header-actions{min-width:0}.plan-header-actions .search-box{flex:0 205px;min-width:0}.plan-header-actions .search-box input{min-width:0}.plan-header .semester-label-full{display:inline}.plan-header .semester-label-short{display:none}.plan-header .semester-switcher{flex:0 0 290px;width:290px;max-width:290px}@media (max-width:1180px){.plan-header .semester-switcher{flex-basis:250px;width:250px;max-width:250px}}.event-card-shell{z-index:2;min-width:0;min-height:28px;position:absolute;left:6px;right:6px;container-type:inline-size}.event-card-shell:hover,.event-card-shell:focus-within{z-index:10}.event-card-shell .event-block{width:100%;height:100%;min-height:0;position:relative;inset:auto;overflow:visible}.event-card-shell .event-block>.event-time,.event-card-shell .event-block>strong,.event-card-shell .event-block>small,.event-short-line{min-width:0}.event-card-long .event-block{padding:8px}.event-card-long .event-block>strong{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-height:none;display:block;overflow:hidden}.event-card-medium .event-block{gap:2px;padding:5px 7px}.event-card-medium .event-block>small{display:none}.event-card-medium .event-block>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-card-short .event-block{gap:0;padding:4px 6px}.event-short-line{white-space:nowrap;align-items:center;gap:5px;width:100%;display:flex;overflow:hidden}.event-short-line>svg{flex:none}.event-short-time{color:currentColor;font-variant-numeric:tabular-nums;flex:none;font-size:.58rem}.event-short-separator{color:currentColor;opacity:.72;flex:none}.event-short-line>strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.68rem;overflow:hidden}.event-short-start{display:none}.event-hover-card{z-index:12;min-width:175px;max-width:240px;color:var(--ink);box-shadow:var(--shadow-float);pointer-events:none;background:#fcfbfffa;border:1px solid #fffffff2;border-radius:9px;padding:9px 10px;font-size:.62rem;line-height:1.45;display:none;position:absolute;top:calc(100% + 6px);left:0}.event-hover-card strong,.event-hover-card>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-hover-card strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;margin-bottom:2px;font-size:.7rem;overflow:visible}.event-hover-card>span{color:var(--muted)}.event-hover-card>span svg{vertical-align:-2px;margin-right:3px}.event-card-shell:hover .event-hover-card,.event-card-shell:focus-within .event-hover-card{display:block}@container (max-width:125px){.event-short-range{display:none}.event-short-start{display:inline}}.sidebar-section.is-collapsed{display:block}.sidebar-section-collapsed{border-radius:var(--radius-lg);width:100%;min-height:42px;color:var(--ink);box-shadow:var(--shadow-card);text-align:left;background:#ffffffd1;border:1px solid #ffffffe6;justify-content:space-between;align-items:center;padding:0 12px;font-size:.75rem;font-weight:700;display:flex}.sidebar-section-collapsed:hover{color:var(--purple);background:#fffffff5}.sidebar-section-collapsed span:last-child{color:var(--purple);font-size:1rem;font-weight:500;line-height:1}.mini-grid button.is-selected{color:var(--purple-deep);position:relative;box-shadow:0 0 0 1.5px #6545e79e}.mini-grid button.is-selected.is-today{color:#fff;box-shadow:0 0 0 2px #6545e747,0 4px 10px #5f3ad833}.month-view .month-cell.is-focus{background:#efebff75;box-shadow:inset 0 0 0 1px #6545e738}.month-view .month-cell.is-focus .month-day-number{box-shadow:0 0 0 1.5px #6545e7b8}.month-view .month-cell.is-today .month-day-number{box-shadow:0 0 0 2px #6545e740,0 3px 8px #5f3ad82e}.month-overflow-preview{width:min(320px,100vw - 24px);max-height:min(390px,100dvh - 24px);overflow:hidden}.month-overflow-preview-list{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(286px,100dvh - 150px);overflow-y:auto}.month-overflow-preview-empty{color:var(--muted);font-size:.68rem}.week-view{position:relative}.week-day-todo-area{border-radius:8px;min-height:24px;transition:background .14s,box-shadow .14s}.week-day-todo-area.has-preview{background:#efebffb3;box-shadow:inset 0 0 0 1px #6545e747}.week-todo-preview{z-index:31;width:min(300px,100vw - 24px);max-height:min(410px,100dvh - 24px);color:var(--ink);pointer-events:auto;background:#fcfbfffa;border:1px solid #6545e729;border-radius:12px;padding:12px;animation:.15s ease-out both month-popover-in;position:absolute;box-shadow:0 14px 32px #4336892e}.week-todo-preview:before{content:"";background:#fcfbfffa;border:1px solid #6545e729;width:9px;height:9px;position:absolute;transform:rotate(45deg)}.week-todo-preview[data-placement=right]:before{top:calc(var(--arrow-offset) - 5px);border-top:0;border-right:0;left:-5px}.week-todo-preview[data-placement=left]:before{top:calc(var(--arrow-offset) - 5px);border-bottom:0;border-left:0;right:-5px}.week-todo-preview[data-placement=top]:before{bottom:-5px;left:calc(var(--arrow-offset) - 5px);border-top:0;border-left:0}.week-todo-preview[data-placement=bottom]:before{top:-5px;left:calc(var(--arrow-offset) - 5px);border-bottom:0;border-right:0}.week-todo-preview-heading{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:.7rem;display:flex}.week-todo-preview-heading span{color:var(--muted);white-space:nowrap;font-size:.58rem}.week-todo-preview-list{overscroll-behavior:contain;scrollbar-width:thin;gap:7px;max-height:min(320px,100dvh - 150px);margin-top:10px;display:grid;overflow-y:auto}.week-todo-preview-item{color:#5e568f;align-items:center;gap:6px;min-width:0;font-size:.68rem;line-height:1.35;display:flex}.week-todo-preview-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.week-todo-preview-item>svg{color:var(--task-color);flex:none}.week-todo-preview-item.is-deadline{color:#846c78}.week-todo-preview-item.is-deadline>svg{color:#c18b4a}.week-todo-preview-item.is-done{opacity:.62;text-decoration:line-through}.week-todo-preview-action{width:100%;color:var(--purple);text-align:left;background:0 0;border-top:1px solid #6b62a61a;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;font-size:.64rem;font-weight:700;display:flex}.week-todo-preview-action span{font-size:.9rem}.week-todo-preview-empty{color:var(--muted);font-size:.68rem}.week-view .time-grid{min-height:0}.week-view .time-labels{font-size:.66rem;position:relative}.week-view .time-end-label{position:absolute;bottom:0;left:0;right:0;padding-top:0!important}.week-view .time-gutter-label{font-size:.61rem}.week-view .day-task{font-size:.8rem}.week-view .event-card-shell{box-sizing:border-box;padding-block:1px}.week-view .event-card-shell.event-course .event-block{color:#2f7182;background:#e1f2f6;border-left-color:#3d94a8;box-shadow:0 7px 14px #3d94a81f}.week-view .event-card-shell.event-normal .event-block{border-left-color:var(--event-color);color:#286b5d;background:#d9f2e9;box-shadow:0 7px 14px #3d9a881a}.week-view .event-card-mode-full .event-block{gap:4px;padding:8px}.week-view .event-card-mode-full .event-block>strong{text-overflow:ellipsis;white-space:normal;max-height:2.5em;display:block;overflow:hidden}.week-view .event-card-title-1 .event-block>strong{white-space:nowrap;max-height:1.2em}.week-view .event-card-mode-compact .event-block{gap:3px;padding:5px 7px}.week-view .event-card-mode-compact .event-block>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-view .event-card-mode-tight .event-block{gap:0;padding:3px 6px}.event-tight-line{white-space:nowrap;align-items:center;gap:5px;width:100%;min-width:0;display:flex;overflow:hidden}.event-tight-line>strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;width:auto;min-width:0;font-size:.76rem;overflow:hidden}.event-tight-time{color:currentColor;font-variant-numeric:tabular-nums;flex:none;font-size:.58rem}.week-view .event-card-mode-title .event-block{justify-content:center;gap:0;padding:2px 5px}.week-view .event-card-mode-title .event-block>strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.76rem;display:block;overflow:hidden}.week-view .time-gutter-label{color:#0000;font-size:0}.week-view .day-column.is-today{background:#6545e70e}.week-view .time-labels{color:#77789f;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.week-view .time-labels span{padding-top:8px}.week-view .event-card-shell .event-block{border-radius:6px}.week-view .event-card-shell .event-time{color:currentColor;opacity:.82;font-size:.61rem;font-weight:400;line-height:1.1}.week-view .event-card-shell .event-block>strong{font-size:.82rem;font-weight:750;line-height:1.18}.week-view .event-card-shell .event-block>small{color:currentColor;opacity:.62;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.53rem;font-weight:400;line-height:1.1;overflow:hidden}.week-view .event-card-mode-title .event-block>strong{font-size:.8rem}.week-view .phase-strip-area{column-gap:8px}.week-view .phase-strip-grid{grid-auto-rows:20px;gap:5px;min-height:20px}.week-view .time-labels,.week-view .day-column{min-height:calc(var(--week-hour-count,16) * 47px)}.week-view .time-labels,.week-view .hour-lines{grid-template-rows:repeat(var(--week-hour-count,16), 1fr)}.search-box-wrap{min-width:0;position:relative}.search-results{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfbfffa;border:1px solid #6545e729;border-radius:13px;width:min(420px,100vw - 24px);max-height:min(440px,100dvh - 90px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 38px #43368933}.search-result{min-width:0;color:var(--ink);text-align:left;background:0 0;border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.search-result:hover,.search-result.is-active{background:var(--purple-soft)}.search-result-icon{width:25px;height:25px;color:var(--purple);background:var(--purple-soft);border-radius:8px;place-items:center;display:grid}.search-result-event,.search-result-course{color:var(--event-color);background:var(--event-surface)}.search-result-phase{color:var(--phase-color);background:var(--phase-surface)}.search-result-special-date{color:#9b6c24;background:#fff2d8}.search-result-copy{gap:3px;min-width:0;display:grid}.search-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;overflow:hidden}.search-result-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.search-result em{color:var(--muted);white-space:nowrap;font-size:.58rem;font-style:normal}.search-empty{color:var(--muted);text-align:center;margin:8px;font-size:.68rem}.week-day-todo-area.is-search-revealed{background:#efebffc7;border:1px solid #6545e747;border-radius:9px;padding:4px;box-shadow:0 0 0 2px #6545e714}.week-day-todo-area.is-search-revealed .day-task-list{scrollbar-width:thin;max-height:180px;overflow-y:auto}.day-task-row.is-search-hit,.day-task-button.is-search-hit,.week-todo-preview-item.is-search-hit,.compact-item.is-search-hit{background:#d9d0ff9e;border-radius:6px;box-shadow:inset 0 0 0 1px #6545e747}.day-task-row.is-search-hit,.day-task-button.is-search-hit{padding:2px 3px}.event-card-shell.is-search-hit .event-block{z-index:5;animation:1.8s ease-out both search-target-pulse;box-shadow:0 0 0 2px #6545e757,0 10px 24px #5f46be38}.timeline-row.is-search-hit{animation:1.8s ease-out both search-target-pulse;box-shadow:inset 0 0 0 2px #6545e747}@keyframes search-target-pulse{0%{background-color:#e1daffdb}to{background-color:#0000}}
