:root{--bg:#f5f7f6;--paper:#fff;--ink:#182126;--muted:#718080;--line:#e4ebe8;--accent:#1e8a79;--soft:#e7f5ef;--lime:#d9f99d;--danger:#c95c57;--shadow:0 14px 35px #19362f0d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;background:var(--paper);border-right:1px solid var(--line);padding:27px 15px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:750;padding:0 13px 49px}.brand-mark,.welcome-mark{width:31px;height:31px;border-radius:10px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:800}.workspace-label,.label,.eyebrow{font-size:10px;letter-spacing:1.45px;text-transform:uppercase;font-weight:750;color:var(--muted)}.workspace-label{padding:0 14px 11px;color:#a1adab}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;border-radius:10px;color:var(--muted);padding:11px 13px;text-align:left;font-size:14px}.nav-item:hover,.nav-item.active{background:var(--soft);color:var(--accent)}.nav-icon{font-size:19px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto}.profile-mini{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:17px 8px 0;margin-top:18px}.avatar{border:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffe2d8;color:#8d5647;font-size:11px;font-weight:800}.profile-mini strong,.profile-mini small{display:block}.profile-mini strong{font-size:13px}.profile-mini small{font-size:11px;color:var(--muted)}.main{flex:1;min-width:0}.topbar{height:70px;background:#fff9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,68px)}.crumb{font-size:13px;color:#a1adab}.crumb span{margin:0 8px}.crumb strong{color:var(--ink)}.content{max-width:1240px;margin:0 auto;padding:38px clamp(22px,5vw,68px) 70px}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.eyebrow{color:var(--accent);margin-bottom:9px}.page-intro h1,.welcome h1{font-size:36px;letter-spacing:-1.7px;line-height:1.05;margin:0 0 9px}.sub{color:var(--muted);font-size:14px}.primary-btn,.secondary-btn,.danger-button{border:0;border-radius:10px;padding:11px 15px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:8px;justify-content:center}.primary-btn{background:var(--ink);color:#fff}.primary-btn:hover{background:var(--accent)}.secondary-btn{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.danger-button{background:#fff0ef;color:var(--danger);margin-top:20px}.large{padding:14px 20px;font-size:14px}.full{width:100%}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px}.card-top,.section-head,.progress-row,.track-points,.prep-line>div,.calendar-toolbar{display:flex;align-items:center;justify-content:space-between}.soft-badge,.priority{font-size:10px;padding:5px 8px;border-radius:9px;background:var(--soft);color:var(--accent);font-weight:700}.home-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:15px}.semester-card{grid-row:span 2;min-height:242px;display:flex;flex-direction:column;justify-content:space-between}.progress-row{justify-content:flex-start;gap:24px;margin:26px 0}.semester-card h3{font-size:18px;line-height:1.25}.semester-card p,.stat-card p,.track-card p{font-size:12px;color:var(--muted)}.ring{width:117px;height:117px;border-radius:50%;background:conic-gradient(var(--accent) 0 var(--progress),#e8efec var(--progress) 360deg);display:grid;place-items:center}.ring>div{width:91px;height:91px;background:var(--paper);border-radius:50%;display:grid;place-items:center;align-content:center}.ring strong{font-size:26px}.ring span{font-size:10px;color:var(--muted)}.thin-progress{height:7px;background:#edf2f0;border-radius:8px;overflow:hidden}.thin-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.track-card{min-height:149px}.track-card h2{font-size:19px;margin:17px 0 7px}.track-card p{line-height:1.45}.status-dot{height:9px;width:9px;border-radius:50%;background:var(--accent)}.danger .status-dot{background:var(--danger)}.track-points{justify-content:flex-start;gap:23px;border-top:1px solid var(--line);padding-top:12px;margin-top:15px;font-size:11px;color:var(--muted)}.track-points b{font-size:15px;color:var(--ink);margin-right:3px}.stat-card{min-height:110px}.stat-card strong{font-size:31px;display:block;margin:12px 0 4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.section-head h2{font-size:18px;margin:5px 0 0}.text-button{border:0;background:none;color:var(--accent);font-size:12px;font-weight:750;padding:4px}.timeline,.task-preview{margin-top:16px}.timeline-item{display:flex;align-items:center;gap:13px;min-height:65px;border-bottom:1px solid var(--line)}.time{font-size:12px;color:var(--muted);width:42px}.event-line{height:32px;width:3px;border-radius:4px;background:var(--event-color)}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{font-size:11px;color:var(--muted);margin-top:4px}.task-row{display:flex;align-items:center;gap:11px;min-height:62px;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-copy{min-width:0;flex:1}.task-copy strong,.task-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-copy strong{font-size:13px}.task-copy span{font-size:11px;color:var(--muted);margin-top:5px}.course-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.overdue{color:var(--danger)!important;font-weight:700}.priority{margin-left:auto;background:#f3f4f2;color:var(--muted);text-transform:capitalize}.priority.high{background:#fff0e8;color:#bd684d}.priority.medium{background:#fff8e4;color:#a87924}.check{width:21px;height:21px;border:1px solid #c8d4d1;border-radius:7px;background:var(--paper);color:#fff;display:grid;place-items:center}.check.checked{background:var(--accent);border-color:var(--accent)}.completed .task-copy strong{text-decoration:line-through;color:#a1adab}.focus-banner{background:var(--ink);color:#fff;border-radius:16px;padding:23px 25px;margin-top:34px;display:flex;align-items:center;justify-content:space-between}.focus-banner .label{color:#a3b8b2}.focus-banner h2{font-size:18px;margin:8px 0 4px}.focus-banner p{color:#aab8b5;font-size:12px;margin:0}.focus-banner .secondary-btn{background:transparent;border-color:#53625f;color:#fff}.toolbar{margin-bottom:16px}.tabs{display:flex;gap:4px;overflow:auto}.tabs button,.theme-picker button{border:1px solid transparent;background:transparent;border-radius:8px;color:var(--muted);padding:8px 11px;font-size:12px;font-weight:700;white-space:nowrap}.tabs button.active,.tabs button:hover,.theme-picker button.selected{background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow)}.task-list{padding:7px 22px}.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.exam-card{position:relative;overflow:hidden}.exam-accent{height:4px;position:absolute;left:0;right:0;top:0}.exam-card h2{font-size:19px;margin:23px 0 14px}.date{font-size:12px;color:var(--muted)}.countdown{display:flex;align-items:center;gap:10px}.countdown strong{font-size:43px}.countdown span{font-size:11px;line-height:1.2;color:var(--muted)}.prep-line{margin:21px 0 18px}.prep-line span,.prep-line b{font-size:11px;color:var(--muted)}.prep-line .thin-progress{margin-top:8px}.checklist{border-top:1px solid var(--line);padding-top:10px;margin-bottom:17px}.check-row{border:0;background:none;display:flex;gap:8px;align-items:center;width:100%;padding:6px 0;text-align:left;font-size:12px;color:var(--muted)}.check-row .check{width:17px;height:17px}.progress-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:32px}.progress-stats .card{min-height:130px}.progress-stats strong{font-size:32px;display:block;margin:13px 0}.progress-stats p{font-size:11px;color:var(--muted)}.course-progress-row{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:15px 0}.course-symbol{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800}.course-progress-name{width:210px}.course-progress-name strong,.course-progress-name small{display:block}.course-progress-name small{font-size:11px;color:var(--muted);margin-top:4px}.bar-wrap{flex:1}.calendar-toolbar{justify-content:flex-start;gap:20px;margin-bottom:16px}.calendar-toolbar span{font-size:13px;color:var(--muted)}.calendar{padding:0;overflow:auto}.calendar-head,.calendar-body{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px}.calendar-head{border-bottom:1px solid var(--line);padding:16px 12px 11px}.calendar-head>div{text-align:center}.calendar-head span{font-size:10px;color:var(--muted);text-transform:uppercase}.calendar-head b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;margin:7px auto 0}.calendar-head b.today{background:var(--ink);color:var(--lime)}.day-column{min-height:315px;border-right:1px solid var(--line);padding:10px 7px}.cal-event{display:block;text-align:left;width:100%;border:0;border-radius:7px;padding:7px;margin-bottom:6px;font-size:10px;background:#f1f4f3}.class-event{border-left:3px solid var(--event-color)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-section h2{font-size:18px;margin:7px 0 15px}.profile-block{display:flex;align-items:center;gap:15px}.large-avatar{width:48px;height:48px}.profile-block h3{margin:0 0 5px}.profile-block p,.profile-block small,.setting-copy{font-size:12px;color:var(--muted)}.theme-picker{display:flex;gap:6px}.welcome{min-height:100vh;display:grid;place-content:center;padding:40px 24px;max-width:640px;margin:auto}.welcome-mark{width:54px;height:54px;border-radius:16px;font-size:24px;margin-bottom:38px}.welcome h1{font-size:58px;margin-bottom:20px}.welcome h1 em{font-style:normal;color:var(--accent)}.welcome .lead{font-size:17px;line-height:1.55;color:var(--muted)}.welcome-actions{display:flex;gap:10px;margin-top:26px}.fine{font-size:11px;color:#a1adab;margin-top:18px}.modal-backdrop{position:fixed;inset:0;background:#10202066;display:grid;place-items:center;padding:20px;z-index:5}.modal{width:min(470px,100%);background:var(--paper);border-radius:18px;padding:27px;position:relative}.modal h2{font-size:23px;margin:0 0 21px}.modal-close{position:absolute;right:15px;top:15px;border:0;background:none;font-size:23px;color:var(--muted)}form{display:grid;gap:14px}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}input,select{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--paper);color:var(--ink);font-size:13px}.toast{position:fixed;bottom:25px;right:25px;padding:12px 16px;background:var(--ink);color:#fff;border-radius:10px;font-size:13px;z-index:8;opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.bottom-nav{display:none}html[data-theme=dark]{--bg:#111719;--paper:#192124;--ink:#edf3f0;--muted:#a0afac;--faint:#71807d;--line:#2a3736;--accent:#70d0b4;--soft:#1d3b35;--shadow:0 14px 35px #0003}html[data-theme=dark] .topbar{background:#192124cc}html[data-theme=dark] .ring>div{background:var(--paper)}@media(max-width:960px){.sidebar{width:76px;padding:24px 10px}.brand{padding:0 10px 46px}.brand>span:last-child,.workspace-label,.nav-item{font-size:0}.nav-item{justify-content:center;padding:12px 5px}.nav-icon{font-size:20px}.profile-mini{justify-content:center;padding-left:0;padding-right:0}.profile-mini>div:not(.avatar){display:none}.home-grid{grid-template-columns:1fr 1fr}.semester-card{grid-column:span 2;grid-row:auto}.exam-grid,.progress-stats{grid-template-columns:1fr 1fr}}@media(max-width:640px){.app-shell{display:block;padding-bottom:67px}.sidebar{display:none}.topbar{height:62px;padding:0 18px}.content{padding:28px 17px 40px}.page-intro{align-items:flex-start;gap:18px;flex-direction:column}.page-intro h1{font-size:31px}.page-intro .primary-btn{width:100%}.home-grid,.two-col,.exam-grid,.progress-stats,.settings-grid{grid-template-columns:1fr}.semester-card{grid-column:auto}.two-col{gap:28px}.focus-banner{align-items:flex-start;gap:18px;flex-direction:column}.focus-banner .secondary-btn{width:100%}.priority{display:none}.calendar{margin-left:-17px;margin-right:-17px;border-radius:0;border-left:0;border-right:0}.course-progress-name{width:145px}.welcome{place-content:start;padding:60px 25px}.welcome h1{font-size:43px}.welcome-actions{flex-direction:column}.welcome-actions button{width:100%}.bottom-nav{position:fixed;display:flex;bottom:0;left:0;right:0;height:67px;background:#fff;border-top:1px solid var(--line);z-index:4;justify-content:space-around}.bottom-nav button{border:0;background:none;color:var(--muted);font-size:10px;font-weight:650;display:grid;place-items:center;gap:2px;padding:7px 10px}.bottom-nav button span{font-size:20px}.bottom-nav button.active{color:var(--accent)}}:root{--bg:#f2f3ef;--paper:#fbfcfa;--ink:#101719;--muted:#6c7977;--line:#dce5e1;--accent:#b9f36b;--accent-strong:#6acb88;--soft:#e9f7d9;--dark:#101719;--shadow:0 22px 60px rgba(16,31,26,.08)}body{background:var(--bg);letter-spacing:-.01em;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.33;background-image:linear-gradient(rgba(24,42,35,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(24,42,35,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%);z-index:-1}.app-shell{position:relative}.sidebar{background:#101719;color:#eaf2ec;border-right:0;padding:30px 16px 22px;position:relative;overflow:hidden}.sidebar:after{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(185,243,107,.18);border-radius:50%;right:-145px;bottom:90px;box-shadow:0 0 0 25px #b9f36b0a,0 0 0 51px #b9f36b06}.brand{font-weight:800;letter-spacing:-.7px;padding-bottom:56px}.brand-mark{background:var(--accent);color:var(--dark);border-radius:11px;position:relative}.brand-mark:after{content:"";position:absolute;inset:7px;border:1.5px solid var(--dark);border-radius:50%}.workspace-label{color:#72827c}.nav-item{color:#9daaa4;position:relative;z-index:1;transition:background .22s ease,color .22s ease,transform .22s ease}.nav-item:hover{transform:translate(3px)}.nav-item.active{background:#b9f36b21;color:var(--accent)}.nav-item.active:after{content:"";position:absolute;right:10px;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent)}.profile-mini{border-color:#293532}.profile-mini small{color:#84938d}.main{position:relative}.topbar{background:#f2f3efc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:#dce5e1bf}.content{padding-top:52px}.page-intro{margin-bottom:35px}.page-intro h1{font-size:48px;letter-spacing:-2.7px;font-weight:780}.eyebrow{color:#4f9467;letter-spacing:1.9px}.sub{font-size:15px}.primary-btn{background:var(--dark);padding:12px 17px;box-shadow:0 6px #10171921;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-btn:hover{background:#254039;transform:translateY(-2px);box-shadow:0 8px #1017191f}.primary-btn:active{transform:translateY(1px);box-shadow:0 3px #10171921}.secondary-btn{background:#fbfcfab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease}.secondary-btn:hover{transform:translateY(-2px);border-color:#9edb8b}.card{border-radius:22px;box-shadow:var(--shadow);border-color:#dce5e1f2;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.card:hover{transform:translateY(-3px);box-shadow:0 26px 70px #101f1a1f;border-color:#c7ddd1}.home-grid{grid-template-columns:1.4fr 1.05fr .85fr}.semester-card{background:linear-gradient(145deg,#172622,#1e3b32 62%,#294b3d);color:#eff8ef;border:0;position:relative;overflow:hidden;min-height:265px}.semester-card:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(185,243,107,.25);border-radius:50%;right:-120px;top:-145px;box-shadow:0 0 0 18px #b9f36b0a,0 0 0 40px #b9f36b09}.semester-card:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent);right:74px;top:85px;box-shadow:0 0 22px 5px #b9f36b59}.semester-card .label{color:#a9c7b3}.semester-card .soft-badge{background:#b9f36b21;color:var(--accent)}.semester-card .progress-row,.semester-card .thin-progress{position:relative;z-index:1}.semester-card p{color:#a9c1b6}.semester-card .thin-progress{background:#ffffff26}.semester-card .thin-progress i{background:var(--accent)}.ring{background:conic-gradient(var(--accent) 0 var(--progress),rgba(255,255,255,.14) var(--progress) 360deg);box-shadow:0 0 0 8px #b9f36b0d,0 0 38px #b9f36b24}.ring>div{background:#1b332b;color:#eef8ec}.ring strong{font-size:29px;letter-spacing:-1.7px}.track-card{position:relative;overflow:hidden}.track-card:before{content:"";position:absolute;width:165px;height:165px;border:1px solid #b5e98a66;border-radius:50%;right:-85px;top:-65px;box-shadow:0 0 0 15px #b5e98a12,0 0 0 30px #b5e98a09}.track-card h2{font-size:24px;letter-spacing:-1.2px}.success h2{color:#2b8a57}.danger h2{color:#b24d49}.track-card .status-dot{box-shadow:0 0 0 5px #b9f36b2a,0 0 18px #b9f36b}.danger .status-dot{box-shadow:0 0 0 5px #c95c5724,0 0 18px #c95c57}.stat-card{background:#fbfcfacc}.stat-card strong{font-size:39px;letter-spacing:-2px}.two-col{gap:54px}.section-head h2{font-size:22px;letter-spacing:-1px}.timeline-item{min-height:74px;position:relative}.timeline-item:first-child:after{content:"NOW";font-size:9px;letter-spacing:1.3px;color:#57966c;background:var(--soft);padding:5px 7px;border-radius:6px;margin-left:auto;font-weight:800}.event-line{height:38px;width:4px;border-radius:5px;box-shadow:0 0 0 4px color-mix(in srgb,var(--event-color) 16%,transparent)}.task-row{min-height:70px;transition:background .2s ease,transform .2s ease}.task-row:hover{background:#f3f8f4;transform:translate(3px)}.task-row.completed{opacity:.6}.check{transition:background .2s ease,transform .2s ease}.check:hover{transform:scale(1.08)}.completed .check{box-shadow:0 0 0 5px #6acb881f}.priority{letter-spacing:.04em}.focus-banner{border-radius:22px;background:linear-gradient(105deg,#101719,#1e3b31 70%,#2c5440);position:relative;overflow:hidden;box-shadow:0 20px 50px #10171929}.focus-banner:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(185,243,107,.22);border-radius:50%;right:-50px;top:-135px;box-shadow:0 0 0 20px #b9f36b0a,0 0 0 42px #b9f36b08}.focus-banner>*{position:relative;z-index:1}.focus-banner h2{font-size:23px;letter-spacing:-1px}.focus-banner .secondary-btn{border-color:#65806f}.exam-card{border-radius:22px}.exam-card:hover{transform:translateY(-5px)}.countdown strong{font-size:55px;letter-spacing:-3px;color:var(--ink)}.exam-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(106,203,136,.12);border-radius:50%;right:-78px;bottom:-80px}.course-progress,.grades{border-radius:22px}.course-symbol{box-shadow:0 6px 15px #14282021}.calendar{border-radius:22px}.calendar-head b.today{background:var(--dark);box-shadow:0 0 0 5px #b9f36b3b;color:var(--accent)}.cal-event{transition:transform .2s ease,box-shadow .2s ease}.cal-event:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1428201a}.welcome{position:relative}.welcome:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #9ddc9b55;border-radius:50%;right:-350px;top:15%;box-shadow:0 0 0 24px #9ddc9b16,0 0 0 50px #9ddc9b0d;z-index:-1}.welcome-mark{width:62px;height:62px;border-radius:20px;background:var(--dark);box-shadow:0 0 0 8px #d4f4bb80}.welcome h1{font-weight:800;letter-spacing:-3.8px}.welcome h1 em{color:#4c9a68}.welcome .lead{max-width:510px}.modal{border-radius:22px;box-shadow:0 35px 90px #101f1a40;animation:modalIn .28s ease both}.toast{border-radius:12px;box-shadow:0 12px 30px #10171938;animation:toastIn .28s ease both}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.content>.page-intro,.home-grid,.two-col,.focus-banner,.exam-grid,.progress-stats,.course-progress,.settings-grid{animation:riseIn .5s ease both}.home-grid{animation-delay:.04s}.two-col{animation-delay:.1s}.focus-banner{animation-delay:.16s}.bottom-nav{background:#fbfcfaf0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}html[data-theme=dark]{--bg:#0d1314;--paper:#141d1e;--ink:#eff7f0;--muted:#9aaca4;--line:#293936;--accent:#c3fa78;--accent-strong:#78d99a;--soft:#20372d;--dark:#090e0f;--shadow:0 22px 60px #0005}html[data-theme=dark] body:before{background-image:linear-gradient(#c3fa7810 1px,transparent 1px),linear-gradient(90deg,#c3fa7810 1px,transparent 1px)}html[data-theme=dark] .topbar{background:#0d1314cc;border-color:#293936}.card{background:var(--paper)}html[data-theme=dark] .semester-card{background:linear-gradient(145deg,#12201d,#1b342b 70%,#274936)}html[data-theme=dark] .semester-card .ring>div{background:#193128}html[data-theme=dark] .stat-card,html[data-theme=dark] .secondary-btn{background:#172221}html[data-theme=dark] .task-row:hover{background:#1a2926}html[data-theme=dark] .bottom-nav{background:#141d1ef2}@media(max-width:640px){.content{padding-top:34px}.page-intro h1{font-size:38px;letter-spacing:-2px}.home-grid{gap:12px}.semester-card{min-height:250px}.semester-card:before{right:-170px}.progress-row{gap:15px}.ring{width:102px;height:102px}.ring>div{width:80px;height:80px}.track-card h2{font-size:25px}.stat-card strong{font-size:35px}.two-col{gap:34px}.section-head h2{font-size:20px}.focus-banner{padding:22px}.welcome h1{letter-spacing:-2.7px}.bottom-nav{background:#101719f5;border-color:#293936}.bottom-nav button{color:#a8b7ae}.bottom-nav button.active{color:var(--accent)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.welcome-orbit{position:absolute;width:180px;height:180px;right:-30px;top:80px;border:1px solid #9ddc9b66;border-radius:50%;animation:orbitSpin 18s linear infinite}.welcome-orbit:before,.welcome-orbit:after{content:"";position:absolute;inset:16px;border:1px solid #9ddc9b44;border-radius:50%}.welcome-orbit:after{inset:34px;border-color:#9ddc9b2f}.welcome-orbit span,.welcome-orbit i,.welcome-orbit b{position:absolute;width:8px;height:8px;border-radius:50%;background:#70c98a;box-shadow:0 0 18px 3px #70c98a88}.welcome-orbit span{top:20px;left:34px}.welcome-orbit i{right:12px;bottom:35px;background:var(--accent)}.welcome-orbit b{left:77px;bottom:9px;width:5px;height:5px}.welcome-preview{margin-top:34px;width:min(440px,100%);padding:17px 18px;border:1px solid #cdded2;background:#ffffff90;border-radius:18px;box-shadow:0 18px 45px #19362f12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.welcome-preview>div:first-child{display:flex;align-items:end;justify-content:space-between}.welcome-preview span{font-size:9px;letter-spacing:1.5px;color:#6c7977;font-weight:800}.welcome-preview strong{font-size:30px;letter-spacing:-1.5px}.preview-line{display:flex;gap:5px;margin:12px 0 8px}.preview-line i{height:5px;flex:1;background:#dce9df;border-radius:4px}.preview-line i:first-child,.preview-line i:nth-child(2),.preview-line i:nth-child(3){background:#70c98a}.welcome-preview small{font-size:11px;color:#718080}@keyframes orbitSpin{to{transform:rotate(360deg)}}html[data-theme=dark] .welcome-preview{background:#172421cc;border-color:#385448}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;color:var(--accent-strong)}.landing{min-height:100vh;padding:26px clamp(22px,6vw,86px) 80px;background:radial-gradient(circle at 70% 20%,#d9f3c844,transparent 29%),var(--bg)}.landing-nav,.landing-hero,.hero-actions,.landing-nav>div:last-child{display:flex;align-items:center}.landing-nav{justify-content:space-between}.landing-nav .brand{padding:0}.landing-nav .text-button{margin-right:15px}.landing-hero{max-width:1250px;margin:90px auto 110px;justify-content:space-between;gap:80px}.hero-copy{max-width:600px}.hero-copy h1{font-size:clamp(52px,7vw,92px);line-height:.95;letter-spacing:-5px;margin:20px 0 26px}.hero-copy h1 em{font-style:normal;color:#4d9968}.hero-copy .lead{font-size:18px;line-height:1.6;max-width:560px}.hero-copy small{display:block;color:var(--muted);margin-top:16px}.hero-actions{gap:10px;margin-top:28px}.product-orbit{width:470px;height:390px;position:relative;flex:0 0 auto}.orbit-ring{position:absolute;width:360px;height:360px;border:1px solid #77bf8c55;border-radius:50%;top:15px;left:50px;box-shadow:0 0 0 22px #77bf8c10,0 0 0 54px #77bf8c08}.orbit-ring.second{width:240px;height:240px;top:75px;left:110px;border-color:#77bf8c88;transform:rotate(36deg);border-style:dashed}.orbit-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 25px 8px #70c98a66;right:46px;top:98px}.preview-card{position:absolute;padding:18px 20px;border:1px solid #cbded1;background:#ffffffd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:18px;box-shadow:0 22px 50px #19362f14;display:grid;gap:6px}.preview-card span{font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:800}.preview-card strong{font-size:18px}.preview-card small{color:var(--muted);font-size:11px}.pulse-card{left:15px;top:80px;min-width:205px}.pulse-card strong{color:#388c59}.task-card{right:8px;bottom:62px;min-width:235px;animation:floatCard 5s ease-in-out infinite}.landing-story{max-width:1080px;margin:0 auto}.landing-story h2{font-size:clamp(28px,4vw,52px);letter-spacing:-2.5px;max-width:750px;margin:16px 0 42px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-grid>div{padding:22px;border-top:2px solid #b8d3bd}.story-grid strong{font-size:20px}.story-grid p{color:var(--muted);line-height:1.5}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr minmax(420px,520px);gap:8vw;align-items:center;padding:40px clamp(25px,9vw,130px);background:radial-gradient(circle at 15% 40%,#dbf1c955,transparent 28%),var(--bg)}.auth-brand{align-self:start;display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800}.auth-panel{width:100%;max-width:450px;background:#ffffffd9;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 25px 70px #19362f12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-heading h1{font-size:42px;letter-spacing:-2px;margin:12px 0 9px}.auth-heading p:not(.eyebrow){color:var(--muted);margin-bottom:28px}.auth-panel form{display:grid;gap:15px}.auth-panel label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}.auth-panel input,.auth-panel textarea{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper);color:var(--ink)}.auth-switch{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center;justify-content:center;margin-top:22px;color:var(--muted);font-size:12px}.auth-switch button,.back-link{border:0;background:none;color:var(--accent-strong);font-weight:750}.forgot{width:100%;margin-top:10px}.back-link{display:block;margin:26px auto 0}.form-error{min-height:18px;color:var(--danger);font-size:12px;line-height:1.4}.signout{border:0;background:none;color:#899890;font-size:11px;text-align:left;padding:16px 10px 0}.onboarding{min-height:100vh;display:grid;place-content:center;max-width:650px;margin:auto;padding:40px 24px}.onboarding h1{font-size:58px;letter-spacing:-3px;margin:18px 0}.onboarding h1 em{font-style:normal;color:#4d9968}.onboarding .lead{font-size:17px;color:var(--muted);line-height:1.6;max-width:530px}.setup-screen{min-height:100vh;display:grid;place-content:center;max-width:620px;margin:auto;padding:40px 24px}.setup-screen h1{font-size:56px;letter-spacing:-3px;margin:18px 0}.setup-screen h1 em{font-style:normal;color:#4d9968}.setup-screen .lead{color:var(--muted);font-size:16px;line-height:1.6}.goal-row{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:17px 0}.goal-row>div:first-child{width:240px}.goal-row strong,.goal-row small{display:block}.goal-row small{font-size:11px;color:var(--muted);margin-top:4px}.goal-row>b{font-size:12px}.calendar-empty{min-height:340px;display:grid;place-items:center}.now-pill{margin-left:auto;font-size:9px;letter-spacing:1px;color:#4b9866;background:var(--soft);padding:5px 7px;border-radius:6px}@keyframes floatCard{50%{transform:translateY(-9px) rotate(1deg)}}html[data-theme=dark] .landing,html[data-theme=dark] .auth-shell{background:radial-gradient(circle at 15% 40%,#6ebf7b22,transparent 28%),var(--bg)}html[data-theme=dark] .preview-card,html[data-theme=dark] .auth-panel{background:#172421e8;border-color:#385448}.auth-panel .primary-btn{margin-top:2px}@media(max-width:800px){.landing-hero{margin:58px auto 80px;display:block}.hero-copy h1{letter-spacing:-3px}.product-orbit{width:100%;height:310px;margin-top:45px;transform:scale(.82);transform-origin:left top}.story-grid{grid-template-columns:1fr}.auth-shell{display:block;padding:24px 17px}.auth-brand{margin-bottom:40px}.auth-panel{margin:auto;padding:27px 21px}.auth-heading h1{font-size:36px}.onboarding h1,.setup-screen h1{font-size:44px}.landing-nav .text-button{margin-right:5px}.landing-nav .primary-btn{padding:10px 11px}.goal-row>div:first-child{width:150px}}.feature-nav{margin-top:14px;color:var(--accent)!important;background:#b9f36b14}.offline-indicator{position:fixed;left:50%;top:14px;transform:translate(-50%,-150%);padding:9px 14px;border-radius:12px;background:#101719;color:#eaf2ec;font-size:12px;z-index:20;transition:transform .25s ease}.offline-indicator.visible{transform:translate(-50%)}.lab-backdrop{position:fixed;inset:0;z-index:12;background:#0b151499;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}.lab-panel{width:min(920px,100%);max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 35px 100px #0005;position:relative}.lab-close{position:absolute;right:18px;top:15px;border:0;background:none;color:var(--muted);font-size:25px}.lab-panel h2{font-size:31px;letter-spacing:-1.4px;margin:7px 0 22px}.lab-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin:0 -30px 25px;padding:0 30px}.lab-tabs button{border:0;background:none;color:var(--muted);padding:11px 12px;font-size:12px;font-weight:750;white-space:nowrap;border-bottom:2px solid transparent}.lab-tabs button.active{color:var(--accent-strong);border-color:var(--accent-strong)}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lab-form{display:grid;gap:13px}.lab-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.lab-form input,.lab-form select{padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.lab-form input[type=checkbox]{width:18px}.toggle-row{display:flex!important;align-items:center;justify-content:space-between}.plan-result{border-left:1px solid var(--line);padding-left:24px}.plan-session{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.plan-session b{color:var(--accent-strong)}.plan-session span,.plan-session small{color:var(--muted)}.focus-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.focus-clock{display:grid;gap:18px;justify-items:center}.focus-ring{width:240px;height:240px;border-radius:50%;background:conic-gradient(var(--accent-strong) 0 72%,var(--soft) 72% 100%);display:grid;place-items:center;align-content:center;box-shadow:0 0 0 12px #70c98a14}.focus-ring strong{font-size:49px;letter-spacing:-3px}.focus-ring span{font-size:12px;color:var(--muted)}.focus-clock select{max-width:340px;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.focus-stats{align-self:center;padding:25px;border-radius:18px;background:var(--soft)}.focus-stats strong{display:block;font-size:40px;letter-spacing:-2px;margin:11px 0}.focus-stats p{font-size:12px;color:var(--muted);line-height:1.5}.review-hero{padding:22px;border-radius:18px;background:linear-gradient(110deg,#183329,#2c5440);color:#eef8ef;margin-bottom:18px}.review-hero .label{color:#b9f36b}.review-hero h3{font-size:28px;letter-spacing:-1px;margin:12px 0 5px}.review-hero p{color:#b1c9bb;margin:0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.review-grid strong{display:block;font-size:20px;margin:12px 0 6px}.review-grid p{color:var(--muted);font-size:12px}.review-task{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.review-task span{color:var(--accent-strong)}.review-task small{margin-left:auto;color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement{padding:18px;border:1px solid var(--line);border-radius:16px;display:grid;gap:8px;color:var(--muted)}.achievement span{font-size:24px}.achievement strong{color:var(--ink)}.achievement small{font-size:11px}.achievement.unlocked{border-color:#9fd4a9;background:var(--soft);color:var(--accent-strong)}.privacy-note{color:var(--muted);font-size:12px;line-height:1.5}.export-box{padding:25px;border-radius:18px;background:var(--soft)}.export-box h3{font-size:23px;margin:10px 0}.export-box p{color:var(--muted);font-size:13px;margin-bottom:20px}.lab-loading{color:var(--muted);padding:35px 0}@media(max-width:700px){.lab-panel{padding:22px 18px;border-radius:20px}.lab-tabs{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.lab-grid,.focus-wrap,.review-grid{grid-template-columns:1fr}.plan-result{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.focus-ring{width:200px;height:200px}.achievement-grid{grid-template-columns:1fr 1fr}}
