@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{--bg:#f7f7f5;--surface:#fff;--surface-soft:#f1f1ee;--line:#e8e8e3;--text:#252522;--muted:#8a8a83;--muted-2:#b3b3ab;--accent:#5967c7;--accent-soft:#eef0ff;--green:#4f9574;--danger:#c56565;--shadow:0 18px 50px rgba(36,36,29,.12)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer;color:inherit;background:none}.shell{min-height:100vh;display:flex}.sidebar{width:236px;flex:0 0 236px;border-right:1px solid var(--line);background:#f4f4f1;display:flex;flex-direction:column;padding:28px 14px 18px}.brand{display:flex;align-items:center;gap:10px;font:800 21px Manrope,sans-serif;letter-spacing:-.06em;padding:0 12px 32px}.brand-mark{width:27px;height:27px;display:grid;place-items:center;color:#fff;background:var(--text);border-radius:8px 8px 8px 3px;font:800 16px Manrope}.add-task-button{height:38px;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;text-align:left;padding:0 10px;display:flex;align-items:center;gap:8px;margin:0 3px 25px;box-shadow:0 3px 8px #5967c729}.add-task-button span{font-size:20px;font-weight:400;line-height:1}kbd{border:1px solid currentColor;opacity:.6;border-radius:4px;font-size:10px;padding:2px 5px;margin-left:auto}.nav{display:grid;gap:3px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border-radius:7px;color:#6e6e68;text-align:left;font-weight:500}.nav-item:hover,.nav-item.active{color:var(--text);background:#e9e9e5}.nav-item.active{font-weight:600}.nav-icon{width:16px;height:16px;display:inline-block;position:relative;color:currentColor;opacity:.8}.icon-today:before{content:"○";font-size:20px;position:absolute;top:-7px}.icon-calendar:before{content:"▦";font-size:19px;position:absolute;top:-5px}.icon-grid:before{content:"⊞";font-size:21px;position:absolute;top:-7px}.icon-inbox:before{content:"⌄";border:1px solid currentColor;font-size:17px;width:15px;height:10px;display:grid;place-items:center;position:absolute;top:0}.icon-book:before{content:"▤";font-size:18px;position:absolute;top:-5px}.icon-folder:before{content:"▱";font-size:21px;position:absolute;top:-7px}.icon-settings:before{content:"⚙";font-size:16px;position:absolute;top:-2px}.nav-count{margin-left:auto;font-size:12px;color:var(--muted)}.sidebar-section{margin-top:28px}.section-label{display:flex;justify-content:space-between;padding:0 11px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-2);font-weight:700}.tiny-button{color:var(--muted);font-size:17px;line-height:1}.sidebar-bottom{margin-top:auto}.profile-chip{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:17px 8px 0;margin-top:15px}.avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#d7d5bf;color:#68664f;font-size:11px;font-weight:700;flex:0 0 auto}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar.small{border:0;width:29px;height:29px}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{font-size:12px}.profile-chip small{color:var(--muted);font-size:10px;margin-top:2px}.dots{margin-left:auto;color:var(--muted);letter-spacing:2px;font-size:11px}.main{flex:1;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 50px}.breadcrumbs{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:8px}.icon-button{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;color:var(--muted);font-size:21px}.icon-button:hover{background:var(--surface-soft);color:var(--text)}.mobile-menu{display:none}.content{max-width:900px;margin:0 auto;padding:48px 50px 80px}.content-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px}h1,h2,h3,p{margin:0}h1{font:800 31px Manrope,sans-serif;letter-spacing:-.05em}.subtitle{margin-top:6px;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:8px;padding-top:5px}.secondary-button{padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:12px;font-weight:600}.secondary-button:hover{border-color:#cfcfc8}.primary-button,.danger-button{border-radius:7px;padding:9px 15px;color:#fff;font-size:12px;font-weight:700;background:var(--accent)}.danger-button{background:#fff1f1;color:var(--danger)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 440px;background:var(--bg)}.auth-copy{padding:48px 9vw;display:flex;flex-direction:column}.auth-copy .brand{padding:0}.auth-message{max-width:470px;margin:auto 0}.auth-message h1{font-size:45px;line-height:1.08;margin:16px 0}.auth-message p{color:var(--muted);line-height:1.7;max-width:390px}.auth-footnote{color:var(--muted-2);font-size:11px}.auth-card{display:flex;align-items:center;justify-content:center;padding:40px;background:#f0f0ec;border-left:1px solid var(--line)}.auth-card>div{width:100%;max-width:340px}.onboarding-shell{min-height:100vh;display:grid;place-items:center;padding:35px 20px;background:var(--bg)}.onboarding-card{width:min(100%,560px);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:34px 38px 38px;box-shadow:0 18px 50px #24241d12}.onboarding-card .brand{padding:0 0 38px}.onboarding-card h1{font-size:32px;margin:12px 0 8px}.onboarding-copy{color:var(--muted);line-height:1.6;margin-bottom:28px;max-width:460px}#onboarding-form{display:grid;gap:17px}#onboarding-form fieldset{border:0;padding:6px 0 2px;display:flex;gap:10px;flex-wrap:wrap}#onboarding-form legend{color:#66665e;font-size:12px;font-weight:600;margin-bottom:9px;width:100%}.check-label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:12px;font-weight:500}.check-label:has(input:checked){background:var(--accent-soft);border-color:#c7cdf8;color:var(--accent)}.check-label input{accent-color:var(--accent)}#onboarding-form .primary-button{justify-self:start;margin-top:9px}.capture{min-height:50px;border:1px solid #dcdcd6;border-radius:9px;display:grid;gap:8px;padding:8px 14px;background:var(--surface);box-shadow:0 5px 12px #28281e09;margin-bottom:33px}.capture:focus-within{border-color:#a8b0ed;box-shadow:0 0 0 3px var(--accent-soft)}.capture-main{min-width:0;display:flex;align-items:center}.capture-plus{font-size:22px;color:var(--accent);margin-right:10px}.capture input{border:0;outline:0;flex:1;min-width:0;color:var(--text);background:transparent;padding:4px 0}.capture input::placeholder{color:#a9a9a1}.capture-hint{color:var(--muted-2);font-size:11px}.capture-hint kbd{color:var(--muted);margin:0}.capture-options{display:flex;gap:8px;padding-left:32px}.capture-options label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:600}.capture-options select{min-width:0;border:0;padding:3px 20px 3px 5px;background:var(--surface-soft);color:var(--text);font-size:11px}.capture-options select:disabled{opacity:.65}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:0 5px 10px;color:#686862;font-size:12px;font-weight:700;border-bottom:1px solid var(--line)}.muted{color:var(--muted-2);font-weight:500}.task-row{min-height:59px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:7px 5px}.task-row:hover{background:#ffffff94}.checkbox{width:18px;height:18px;border:1.5px solid #c4c4bc;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:12px;flex:0 0 auto}.checkbox:hover{border-color:var(--accent)}.checkbox.checked{background:var(--green);border-color:var(--green)}.task-main{min-width:0;flex:1}.task-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:13px}.is-complete .task-title{color:var(--muted);text-decoration:line-through}.task-meta{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:5px;margin-top:4px}.tag,.study-tag{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:600;line-height:1.35;white-space:nowrap}.tag{background:#f0f0ed;color:#77776e}.class-tag{background:#e6f5f2;border-color:#c5e4df;color:#287b73}.project-tag{background:#eef0ff;border-color:#d6dbff;color:#5967c7}.assignment-tag{background:#f1eaff;border-color:#ddd0fb;color:#7854b8}.assignment-test{background:#fff0f0;border-color:#f4cccc;color:#b94f59}.assignment-quiz{background:#fff3df;border-color:#f1d39e;color:#a56b17}.assignment-homework{background:#eaf3ff;border-color:#cbdff7;color:#3971a9}.assignment-club_meeting{background:#e8f7ed;border-color:#c4e8cf;color:#327b4b}.assignment-meeting{background:#e5f6f7;border-color:#bfe1e4;color:#28767d}.assignment-project{background:#f1eaff;border-color:#ddd0fb;color:#7854b8}.assignment-essay{background:#fceaf5;border-color:#f0c7dc;color:#a34f79}.assignment-presentation{background:#fff5d8;border-color:#edda9a;color:#947117}.assignment-event{background:#fff4e8;border-color:#f1d0ad;color:#aa7344}.assignment-reminder,.reminder-tag{background:#f1edff;border-color:#dbd1f4;color:#7860b8}.assignment-other{background:#f0f0ed;border-color:#dfdfd8;color:#77776e}.team-tag{background:#eaf0f7;border-color:#cedbea;color:#4a6686}.study-tag{background:#eef3f0;border-color:#cfe1d5;color:var(--green)}.syncing-tag{background:#fff7df;border-color:#eedba2;color:#98781b}.recurrence{font-size:15px;color:var(--accent)}.row-more{color:var(--muted-2);letter-spacing:2px;padding:5px;opacity:0}.task-row:hover .row-more{opacity:1}.is-overdue .task-meta{color:var(--danger)}.completed-heading{margin-top:35px}.empty-state{text-align:center;padding:78px 20px;color:var(--muted)}.empty-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e8eee8;color:var(--green);font-size:20px;margin:0 auto 14px}.empty-state h3{color:#686862;font:700 14px Manrope;margin-bottom:5px}.empty-state p{font-size:12px}.date-group{margin-bottom:31px}.date-label{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:0 5px 10px;color:#777770;font-size:11px;letter-spacing:.06em}.date-label span{color:var(--muted-2);font-size:11px;letter-spacing:0}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:22px}.calendar-toolbar strong{font:700 15px Manrope;min-width:150px;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{color:var(--muted);font-size:11px;text-align:right;margin-bottom:7px}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-cell{min-height:112px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px}.muted-cell{background:transparent}.calendar-day{font-size:11px;color:var(--muted);text-align:right;margin-bottom:8px}.today-cell .calendar-day{color:var(--accent);font-weight:700}.today-cell .calendar-day:after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin:0 0 1px 4px}.calendar-task{display:block;width:100%;overflow:hidden;padding:5px 6px;margin-bottom:4px;border-radius:4px;background:var(--accent-soft);color:#515fae;font-size:10px;text-align:left}.calendar-task-title,.calendar-task-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-task-label{margin-top:2px;font-size:8px;font-weight:700;opacity:.72}.calendar-task.study-calendar{background:#eef3f0;color:var(--green)}.more-items{font-size:10px;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.class-card,.project-card,.add-card{background:var(--surface);border:1px solid var(--line);border-radius:9px}.class-card,.project-card{color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.class-card:hover,.project-card:hover{border-color:#c7cdf8;box-shadow:0 8px 20px #24241d0f;transform:translateY(-1px)}.class-card{position:relative;min-height:180px;padding:18px;overflow:hidden}.class-color{position:absolute;left:0;top:0;width:100%;height:4px;background:#8e9ae5}.color-1{background:#e5a58b}.color-2{background:#7eb296}.color-3{background:#c2a0d0}.color-4{background:#dbbd71}.class-card-top{display:flex;justify-content:space-between}.class-icon{width:28px;height:28px;border-radius:7px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700}.class-card h3,.project-card h3{font:700 14px Manrope;margin-top:18px}.class-card p,.project-card p{color:var(--muted);font-size:11px;margin-top:5px}.progress{height:4px;background:#eee;border-radius:4px;margin-top:24px}.progress span{display:block;height:100%;background:var(--accent);border-radius:4px}.add-card{min-height:180px;display:grid;place-items:center;align-content:center;gap:6px;color:var(--accent);border-style:dashed;font-size:23px}.add-card span{font-size:12px;color:var(--muted)}.projects-grid{grid-template-columns:repeat(2,1fr)}.project-card{padding:17px;display:flex;align-items:center;gap:13px;position:relative;min-height:86px}.project-icon{width:29px;height:29px;color:var(--accent)}.project-card h3{margin:0}.project-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:auto}.dot-1{background:#e5a58b}.dot-2{background:#7eb296}.dot-3{background:#c2a0d0}.collection-detail{display:grid;gap:18px}.back-link{width:max-content;color:var(--muted);font-size:12px;font-weight:600;padding:0}.back-link:hover{color:var(--accent)}.collection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.collection-heading h2{font:800 28px Manrope;letter-spacing:-.05em}.collection-heading .muted{margin-top:5px;font-size:12px}.settings-layout{max-width:650px}.settings-section{padding:25px 0 30px;border-bottom:1px solid var(--line);display:grid;gap:17px}.settings-title{margin-bottom:4px}.settings-title h2{font:700 15px Manrope}.settings-title p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}label{display:grid;gap:7px;color:#66665e;font-size:12px;font-weight:600}select,input,textarea{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px 11px;outline:0;color:var(--text)}select:focus,input:focus,textarea:focus{border-color:#a8b0ed}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.boundary-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.boundary-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:var(--surface-soft);color:var(--muted)}.boundary-row strong,.boundary-row small{display:block}.boundary-row strong{font-size:12px}.boundary-row small{color:var(--muted);font-size:11px;margin-top:3px}.status-pill{margin-left:auto;color:var(--green);font-size:11px}.danger-zone{border-bottom:0}.danger-zone .settings-title h2{color:var(--danger)}.drawer-backdrop{position:fixed;inset:0;background:#19191624;z-index:4}.task-drawer{position:fixed;z-index:5;right:0;top:0;bottom:0;width:390px;background:var(--surface);box-shadow:-18px 0 48px #24241d1f;padding:28px 26px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:21px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7d8e9 transparent}.drawer-header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;font-weight:600}.drawer-header .icon-button{width:34px;height:34px;border:1px solid transparent;border-radius:10px;font-size:23px}.drawer-header .icon-button:hover{border-color:var(--line);background:var(--surface-soft)}.drawer-title{width:100%;font:800 23px Manrope;letter-spacing:-.045em;border:1px solid transparent;padding:4px 0;border-radius:8px;margin-top:0}.drawer-title:focus{border-color:#c7cdf8;padding-left:9px;padding-right:9px;box-shadow:0 0 0 3px var(--accent-soft)}.drawer-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.drawer-fields>label{align-self:start;min-width:0}.drawer-fields label:last-child{grid-column:span 2}.task-drawer input,.task-drawer select{width:100%}.drawer-fields select{display:block;min-height:39px}.task-drawer textarea{min-height:100px;resize:vertical;line-height:1.5}.drawer-footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:auto -26px calc(-20px - env(safe-area-inset-bottom));padding:14px 26px calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgba(232,232,227,.96);background:linear-gradient(to bottom,rgba(255,255,255,.78),var(--surface) 22%);box-shadow:0 -10px 18px #24241d0b}.drawer-footer .primary-button{min-width:104px;box-shadow:0 5px 12px #5967c72e}.drawer-footer .danger-button{border:1px solid #f3dede}.drawer-event-reminder{display:grid;gap:11px;padding:14px;border:1px solid #dedff1;border-radius:12px;background:linear-gradient(145deg,#fafaff,#f5f5ff);box-shadow:0 5px 16px #5967c70f}.drawer-event-reminder.is-hidden{display:none}.drawer-event-reminder .check-label{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e5e6f4;border-radius:9px;background:#ffffffb8;color:#5f6070;line-height:1.25}.drawer-event-reminder .check-label:has(input:checked){border-color:#c7cdf8;background:#eef0ff;color:var(--accent)}.drawer-event-reminder .check-label input[type=checkbox]{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;padding:0;accent-color:var(--accent)}.drawer-event-reminder>label:not(.check-label){display:grid;gap:6px;color:var(--muted);font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:15px;max-width:min(560px,calc(100vw - 24px));background:#282824;color:#fff;padding:11px 15px;border-radius:7px;box-shadow:var(--shadow);font-size:12px;animation:toast-in .18s ease-out}.toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-action{flex:0 0 auto;color:#cbd1ff;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:760px){.sidebar{position:fixed;z-index:8;left:-245px;top:0;bottom:0;transition:left .2s;box-shadow:var(--shadow)}.sidebar.open{left:0}.topbar{padding:0 20px}.mobile-menu{display:block;font-size:19px;margin-right:10px}.breadcrumbs{margin-right:auto}.content{padding:34px 20px 60px}.content-header{margin-bottom:25px}.header-actions{display:none}.cards-grid,.projects-grid{grid-template-columns:1fr}.calendar-cell{min-height:80px;padding:6px}.calendar-task{font-size:9px}.task-drawer{width:100%}.capture-options{overflow:auto;padding-left:30px}.capture-options label{flex:0 0 auto}}.event-tag{background:#fff4e8;color:#aa7344;padding:2px 6px;border-radius:4px;font-size:10px}.calendar-task.event-calendar{background:#fff4e8;color:#aa7344}.checkbox.priority-1{border-color:#c4c4bc;color:#8a8a83}.checkbox.priority-2{border-color:#7c8be0;color:#5967c7}.checkbox.priority-3{border-color:#d6ad42;color:#9d7b16}.checkbox.priority-4{border-color:#d36a6a;color:#c14f4f}.checkbox.priority-2:hover{background:#eef0ff}.checkbox.priority-3:hover{background:#fff9df}.checkbox.priority-4:hover{background:#fff1f1}.progress-summary{display:flex;gap:10px;margin:-13px 0 28px}.progress-summary>div{min-width:112px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.progress-summary strong,.progress-summary span{display:block}.progress-summary strong{font:700 13px Manrope}.progress-summary span{color:var(--muted);font-size:10px;margin-top:3px}.streak-summary-stat strong{display:flex;align-items:center;gap:6px}.progress-summary .streak-summary-icon{width:16px;height:16px;display:inline-grid;place-items:center;margin-top:0;color:#7b69c7}.streak-summary-icon svg,.streak-celebration-icon svg{width:100%;height:100%;fill:currentColor;stroke:currentColor;stroke-width:.7;stroke-linejoin:round}.streak-summary-icon svg .flame-inner,.streak-celebration-icon svg .flame-inner{fill:#ffc857;stroke:#ffc857;stroke-width:.35}.weekday-picker{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.weekday-picker>span{width:100%;color:#66665e;font-size:12px;font-weight:600}.weekday-picker .check-label{padding:6px 8px}#onboarding-form fieldset,.class-preference-list{display:grid;gap:12px}.class-preference{display:grid;grid-template-columns:minmax(130px,1.1fr) 1fr 1fr;gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.class-preference strong{align-self:center;font-size:12px}.class-add-row,.class-management-row{display:flex;align-items:center;gap:9px}.class-add-row input,.class-management-row input{flex:1}.class-management-row .danger-button{flex:0 0 auto}.class-management{gap:12px}.feedback-form{display:grid;gap:14px}.feedback-form textarea{resize:vertical;min-height:120px;line-height:1.5}.feedback-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brain-dump-view{display:grid;gap:22px}.brain-dump-intro h2{font:800 28px Manrope;letter-spacing:-.05em}.brain-dump-intro p{max-width:620px;margin-top:7px;line-height:1.55}.brain-dump-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.brain-dump-form textarea{min-height:74px}.brain-dump-form-footer{display:flex;align-items:end;justify-content:space-between;gap:12px}.brain-dump-form-footer label{min-width:130px}.brain-dump-form-footer select{padding:8px 10px}.study-view{display:grid;gap:22px}.study-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.study-intro h2{font:800 28px Manrope;letter-spacing:-.05em}.study-intro p{max-width:620px;margin-top:7px;line-height:1.55}.study-usage{display:grid;gap:4px;min-width:205px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px}.study-usage strong{color:var(--text);font-size:12px;margin-bottom:3px}.study-generator,.study-output{padding:20px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.study-generator form{display:grid;gap:14px}.study-generator textarea{min-height:220px}.study-file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.study-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.study-error{color:var(--danger);font-size:12px}.study-warning{padding:10px 12px;border-radius:7px;background:#fff8e4;color:#8b6b1d;font-size:12px;line-height:1.5}.study-paywall{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #d7d9f3;border-radius:9px;background:#f6f7ff}.study-paywall strong{font-size:13px}.study-paywall p{margin-top:4px;font-size:11px;line-height:1.5}.study-paywall-actions{display:flex;gap:8px;flex:0 0 auto}.study-paid{border-color:#c9dfd0;background:#f4fbf5}.study-plans{display:grid;gap:19px;padding:26px;border:1px solid #dfdff0;border-radius:18px;background:linear-gradient(135deg,#fbfbff,#f5f5ff 52%,#fff);box-shadow:0 16px 36px #4e4c8f14}.study-plans-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.study-plans-heading h3{margin-top:4px;font:800 20px Manrope;letter-spacing:-.04em}.study-plans-heading p{margin-top:5px;font-size:12px}.study-plans-note{color:#8785a4;font-size:10px;white-space:nowrap}.study-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.study-plan-stack{display:flex;min-width:0;flex-direction:column;gap:8px}.study-plan-banner{display:flex;min-height:22px;align-items:center}.study-plan-banner-empty{visibility:hidden}.study-plan-card{position:relative;display:flex;min-height:342px;flex-direction:column;padding:22px 20px 19px;overflow:hidden;border:1px solid #e2e2ea;border-radius:13px;background:#ffffffdb;box-shadow:0 5px 16px #2f2e400a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.study-plan-card:hover{transform:translateY(-2px);border-color:#c7c8e7;box-shadow:0 12px 24px #2f2e401a}.study-plan-card.is-active{border-color:#9d9ce8;box-shadow:0 0 0 2px #9d9ce829,0 12px 24px #2f2e4014}.study-plan-card.study-plan-student{background:linear-gradient(160deg,#fff,#f7f7ff)}.study-plan-card.study-plan-annual{background:linear-gradient(160deg,#fff,#f8fbf8)}.study-plan-card.study-plan-advanced{background:linear-gradient(160deg,#fff,#fbf5ff)}.study-plan-popular,.study-plan-badge{display:inline-flex;padding:5px 10px;border-radius:999px;color:#fff;background:#7067cf;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.study-plan-badge{background:#559275}.study-plan-topline{display:flex;align-items:flex-start;justify-content:space-between;min-height:24px;color:#89889d;font-size:10px;font-weight:700;letter-spacing:.05em;line-height:1.4;text-transform:uppercase}.study-plan-current{color:#5967c7}.study-plan-card h4{margin-top:12px;font:800 18px Manrope;letter-spacing:-.04em}.study-plan-price{display:flex;align-items:baseline;gap:5px;margin:10px 0 8px}.study-plan-price strong{font:800 25px Manrope;letter-spacing:-.05em}.study-plan-price span{color:var(--muted);font-size:10px}.study-plan-card>p{min-height:54px;color:#76768a;font-size:11px;line-height:1.55}.study-plan-card ul{display:grid;gap:9px;margin:18px 0 22px;padding:0;list-style:none;color:#57576a;font-size:10px;line-height:1.45}.study-plan-card li{display:flex;gap:8px}.study-plan-card li span{color:#5d77bd;font-weight:800}.study-plan-advanced li span{color:#9a66bb}.study-plan-button{width:100%;margin-top:auto;padding:11px 10px;font-size:11px}.study-note{padding:10px 12px;border-radius:8px;background:#f5f5fb;color:#68687b;font-size:11px;line-height:1.5}.study-card-list,.study-quiz-list,.study-guide-sections{display:grid;gap:9px}.study-flashcard,.study-question{border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}.study-flashcard summary,.study-question summary{cursor:pointer;padding:13px 15px;font-weight:700;font-size:13px}.study-flashcard summary span{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:9px;border-radius:50%;background:#e8eaff;color:var(--accent);font-size:10px}.study-flashcard p,.study-question>div,.study-question>p{margin:0 15px 14px;line-height:1.55;font-size:12px}.study-choices{display:grid;gap:6px}.study-choice{display:block;padding:7px 9px;border-radius:5px;background:var(--surface)}.study-choice.is-correct{color:#3d7b55;border:1px solid #b7d6bd}.study-summary-copy{line-height:1.7;font-size:13px}.study-points,.study-terms,.study-guide-sections{margin-top:17px;line-height:1.6;font-size:12px}.study-points ul,.study-guide-sections ul{margin:7px 0 0 18px;padding:0}.study-terms p{margin:7px 0 0}.study-guide-sections h3{margin:0 0 5px;font-size:14px}.study-materials{display:grid;gap:9px}.study-material-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.study-material-row strong,.study-material-row small{display:block}.study-material-row small,.study-material-row time{color:var(--muted);font-size:11px;margin-top:3px}.feedback-admin-list{display:grid;gap:10px}.feedback-admin-item{padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.feedback-admin-item p{margin:10px 0 7px;line-height:1.5;white-space:pre-wrap}.feedback-admin-item small,.feedback-admin-meta{color:var(--muted);font-size:11px}.feedback-admin-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-admin-meta time{margin-left:auto}.feedback-resolved{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;cursor:pointer}.feedback-resolved input{width:14px;height:14px;margin:0}.feedback-admin-item.is-resolved{opacity:.68}.feedback-admin-item.is-resolved p{text-decoration:line-through;text-decoration-color:var(--muted-2)}.feedback-admin-item a{color:var(--accent)}.feedback-admin-error{color:var(--danger);font-size:12px}.feedback-admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.feedback-admin-access-form{display:grid;gap:14px;max-width:420px;margin-bottom:16px}.feedback-admin-unlocked{margin-bottom:10px}.feedback-admin-view .feedback-admin-section{border-top:1px solid var(--line)}.feedback-admin-heading{margin-top:28px}.feedback-admin-heading h3{margin:5px 0 6px;font:800 20px Manrope;letter-spacing:-.03em}.feedback-admin-heading p{margin:0;max-width:620px}@media(max-width:560px){.class-preference{grid-template-columns:1fr;align-items:stretch}.class-preference strong{margin-bottom:2px}.class-management-row{align-items:stretch;flex-direction:column}.class-management-row .danger-button{align-self:flex-start}}@media(max-width:560px){.progress-summary{overflow:auto}.progress-summary>div{min-width:100px}}@media(max-width:900px){.study-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.study-intro{flex-direction:column;gap:16px}.study-usage{width:100%}.study-generator,.study-output{padding:16px}.study-options{grid-template-columns:1fr 1fr}.study-paywall{align-items:stretch;flex-direction:column}.study-paywall-actions{flex-direction:column}.study-paywall-actions button{width:100%}.study-plans{padding:16px}.study-plans-heading{align-items:flex-start;flex-direction:column;gap:8px}.study-plans-note{white-space:normal}}@media(max-width:520px){.study-plan-grid{grid-template-columns:1fr}}.skeleton{display:block;background:linear-gradient(100deg,#e9e9e4 25%,#f5f5f2 42%,#e9e9e4 60%);background-size:220% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.loading-shell{min-height:100vh}.loading-add-button{height:38px;border-radius:8px;margin:0 3px 25px}.loading-nav{display:grid;gap:13px;padding:0 11px}.loading-nav-secondary{margin-top:32px}.loading-nav-row{height:16px;width:78%;border-radius:4px}.loading-nav-row:nth-child(2n){width:62%}.loading-profile{height:28px;margin:16px 8px 0;border-radius:6px}.loading-breadcrumb{width:84px;height:13px;border-radius:4px}.loading-avatar{width:29px;height:29px;border-radius:50%}.loading-heading{display:grid;gap:10px;margin-bottom:34px}.loading-eyebrow{width:96px;height:12px;border-radius:4px}.loading-title{width:180px;height:34px;border-radius:7px}.loading-subtitle{width:145px;height:13px;border-radius:4px}.loading-capture{width:100%;height:50px;border-radius:9px;margin-bottom:33px}.task-skeleton-list{display:grid}.task-skeleton-row{min-height:59px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:7px 5px}.skeleton-check{width:18px;height:18px;border-radius:50%;flex:0 0 auto}.skeleton-task-copy{height:13px;width:min(58%,360px);border-radius:4px}.skeleton-more{height:13px;width:25px;border-radius:4px;margin-left:auto}.capture.is-busy{opacity:.82}.capture-spinner,.sync-dot{display:inline-block;width:11px;height:11px;border:1.5px solid #c8c8c0;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-1px}.capture-spinner{margin-right:5px}.sync-status{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;margin-right:7px}.sync-dot{width:7px;height:7px;border-width:1px}@keyframes skeleton-shimmer{to{background-position:-220% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.skeleton,.capture-spinner,.sync-dot{animation:none}}.auth-story{max-width:470px;margin:0 0 28px;padding:16px 18px;border:1px solid #dfdfd8;border-radius:10px;background:#ffffff94}.auth-story h2{margin:3px 0 6px;font:800 16px Manrope;letter-spacing:-.03em}.auth-story p{color:var(--muted);font-size:12px;line-height:1.55}.auth-story a,.public-copy a{color:var(--accent);font-weight:700;text-decoration:none}.auth-story a:hover,.public-copy a:hover{text-decoration:underline;text-underline-offset:3px}.public-footer{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:var(--muted);font-size:11px}.public-footer a{color:inherit;text-decoration:none}.public-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.public-page{min-height:100vh;display:flex;flex-direction:column;width:min(100%,860px);margin:0 auto;padding:34px 28px 42px}.public-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.public-brand{color:var(--text);text-decoration:none;padding:0}.public-card{width:min(100%,700px);margin:clamp(55px,12vh,120px) auto 0;padding:38px 42px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 50px #24241d12}.public-card h1{margin-top:5px;font-size:34px}.public-copy{display:grid;gap:16px;margin-top:22px;color:#65655e;font-size:14px;line-height:1.75}.public-copy p{margin:0}.public-copy ul{display:grid;gap:10px;margin:0;padding-left:22px}.public-page>.public-footer{width:min(100%,700px);margin:24px auto 0}@media(max-width:760px){.auth-story{margin-bottom:24px}.public-page{padding:24px 20px 32px}.public-card{margin-top:56px;padding:28px 23px}.public-card h1{font-size:28px}.public-header .secondary-button{padding:7px 9px;font-size:11px}}.class-tag{background:hsl(var(--class-hue, 205) 72% 93%);border-color:hsl(var(--class-hue, 205) 55% 82%);color:hsl(var(--class-hue, 205) 42% 32%)}.class-color{background:hsl(var(--class-hue, 205) 62% 58%)}.class-icon{background:hsl(var(--class-hue, 205) 72% 93%);color:hsl(var(--class-hue, 205) 42% 32%)}.nav-icon:before,.icon-today:before,.icon-calendar:before,.icon-grid:before,.icon-inbox:before,.icon-book:before,.icon-folder:before,.icon-settings:before,.project-icon:before{content:none!important}.brand-mark{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;background:transparent;border-radius:0}.brand-mark img{display:block;width:30px;height:30px}.nav-icon svg,.project-icon svg,.top-actions .icon-button svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.study-nav-item{position:relative;isolation:isolate;overflow:hidden}.study-nav-item:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:10px;background:linear-gradient(105deg,transparent 8%,rgba(145,108,241,.16) 30%,rgba(205,163,255,.4) 45%,rgba(234,194,88,.3) 56%,transparent 78%);background-size:230% 100%;background-position:180% 0;opacity:0;pointer-events:none;animation:study-card-sweep 5.8s linear infinite;animation-delay:var(--study-sweep-delay,0ms)}.study-nav-icon{width:16px;height:16px;color:#7565dc;isolation:isolate}.study-nav-icon svg{width:16px;height:16px;stroke-width:1.65;filter:drop-shadow(0 0 2px rgba(117,101,220,.62)) drop-shadow(0 0 6px rgba(174,126,239,.38))}.nav-item.active .study-nav-icon{color:#956ff2}@keyframes study-card-sweep{0%,8%,to{opacity:0;background-position:180% 0}22%{opacity:.26;background-position:125% 0}48%{opacity:.82;background-position:44% 0}74%{opacity:.26;background-position:-37% 0}92%{opacity:0;background-position:-80% 0}}@media(prefers-reduced-motion:reduce){.study-nav-item:before{animation:none}}.project-icon{display:grid;place-items:center}.project-icon svg{width:20px;height:20px}.auth-card{padding:40px 64px 40px 40px}.auth-card{padding-right:72px;min-width:0}.auth-card>div,#auth-mount{width:100%;max-width:340px;min-width:0}#auth-mount,#auth-mount .cl-cardBox,#auth-mount .cl-card{width:100%!important;max-width:100%!important;min-width:0!important}.file-button{display:inline-flex;width:max-content;align-items:center;cursor:pointer}.calendar-feed-form{display:grid;gap:13px}.calendar-feed-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.calendar-feed-status{color:var(--muted);font-size:11px}.confirm-card{position:fixed;z-index:13;left:50%;bottom:25px;transform:translate(-50%);width:min(420px,calc(100vw - 40px));padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.confirm-backdrop{position:fixed;inset:0;z-index:12;background:#19191647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-card{top:50%;bottom:auto;transform:translate(-50%,-50%);padding:24px;border-color:#c9c9c0}.confirm-card p{color:var(--text);font-size:14px;line-height:1.55;font-weight:600}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.project-create-backdrop{position:fixed;inset:0;z-index:16;background:#19191647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-create-card{position:fixed;z-index:17;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 40px));padding:24px;border:1px solid #c9c9c0;border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.project-create-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-create-header h2{font:700 18px Manrope}.project-create-card>p{margin-top:7px;font-size:12px}.project-create-card form{display:grid;gap:12px;margin-top:18px}.project-create-error{min-height:16px;color:var(--danger);font-size:11px}.projects-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.project-form{display:flex;gap:8px;align-items:center}.project-form input{width:180px}.project-card{padding:0}.project-open{display:flex;align-items:center;gap:13px;width:100%;min-width:0;padding:17px 46px 17px 17px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.project-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:8px}.project-delete{position:absolute;top:12px;right:12px;width:25px;height:25px;display:grid;place-items:center;border-radius:6px;color:var(--muted-2);font-size:18px;opacity:1}.project-card:hover .project-delete,.project-delete:focus{opacity:1;background:var(--surface-soft);color:var(--danger)}.project-add-hint{min-height:86px}@media(max-width:560px){.projects-toolbar{align-items:stretch;flex-direction:column}.project-form{width:100%}.project-form input{flex:1;width:auto}}.streak-celebration{position:fixed;right:24px;bottom:24px;z-index:19;pointer-events:none}.streak-celebration-card{pointer-events:auto;display:flex;align-items:center;gap:12px;width:min(360px,calc(100vw - 32px));padding:13px 14px;border:1px solid #dedff1;border-radius:14px;background:linear-gradient(145deg,#fff,#f6f5ff);box-shadow:0 16px 38px #36325e2e;animation:streak-card-in .42s cubic-bezier(.18,.9,.25,1.2) both}.streak-celebration-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;padding:9px;border-radius:12px;color:#7664c4;background:#ece9ff;box-shadow:inset 0 0 0 1px #ddd8ff;animation:streak-icon-pulse 1.4s ease-in-out both}.streak-celebration-copy{min-width:0;flex:1}.streak-celebration-kicker{color:#7664c4;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.streak-celebration-copy strong{display:block;margin-top:1px;font:800 20px Manrope;letter-spacing:-.04em}.streak-celebration-copy>span{display:block;margin-top:1px;color:var(--muted);font-size:11px}.streak-reward{display:block;margin-top:7px;color:#bd7415;font-size:11px;letter-spacing:.01em}.streak-celebration-card>.icon-button{flex:0 0 auto;align-self:flex-start;width:24px;height:24px;font-size:17px}.streak-day-dots{display:flex;align-items:center;gap:4px;margin-top:8px}.streak-day-dot{width:7px;height:7px;border-radius:50%;background:#8d80dd;opacity:0;animation:streak-dot-in .36s ease-out var(--streak-delay) forwards}.streak-day-dot:nth-child(3n){background:#d7b35d}.streak-day-dot:nth-child(4n){background:#7eb296}.streak-day-overflow{color:#7664c4;font-size:10px;font-weight:800}@keyframes streak-card-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes streak-icon-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.12) rotate(-4deg)}70%{transform:scale(.96) rotate(3deg)}}@keyframes streak-dot-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.streak-milestone .streak-celebration-card{border-color:#edc66e;background:linear-gradient(145deg,#fff,#fff7df);animation:streak-milestone-card .7s cubic-bezier(.18,.9,.25,1.2) both}.streak-milestone .streak-celebration-icon{position:relative;color:#b97818;background:#fff0c2;box-shadow:inset 0 0 0 1px #f1cf7a,0 0 0 5px #ffc85724;animation:streak-milestone-flame 1.5s ease-in-out both}.streak-milestone .streak-celebration-icon:after{content:"✦";position:absolute;margin:-37px 0 0 31px;color:#e0a332;font-size:13px;animation:streak-spark 1.1s ease-out both}.streak-milestone .streak-day-dot{background:#e5a52f}@keyframes streak-milestone-card{0%{opacity:0;transform:translateY(18px) scale(.9)}55%{transform:translateY(-3px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes streak-milestone-flame{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.18) rotate(-7deg)}50%{transform:scale(.94) rotate(6deg)}75%{transform:scale(1.1) rotate(-3deg)}}@keyframes streak-spark{0%{opacity:0;transform:translate(5px,8px) scale(.3) rotate(-30deg)}55%{opacity:1;transform:translate(0) scale(1.25) rotate(10deg)}to{opacity:0;transform:translate(2px,-5px) scale(.8) rotate(35deg)}}.level-up-celebration{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#19191640;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:level-up-fade-in .22s ease-out}.level-up-card{position:relative;width:min(360px,calc(100vw - 40px));overflow:hidden;padding:32px 26px 24px;border:1px solid #d6d6ce;border-radius:16px;background:var(--surface);box-shadow:0 24px 70px #24241d38;text-align:center;animation:level-up-pop .42s cubic-bezier(.18,.9,.25,1.25)}.level-up-badge{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:linear-gradient(145deg,#6977d7,#9ca7f2);color:#fff;font-size:30px;box-shadow:0 8px 20px #5967c747;animation:level-up-badge 1.2s ease-out both}.level-up-kicker{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.level-up-card>strong{display:block;margin:4px 0 7px;font:800 30px Manrope;letter-spacing:-.05em}.level-up-card>p:not(.level-up-kicker){color:var(--muted);font-size:12px}.level-up-card .secondary-button{margin-top:20px}.level-up-confetti{position:absolute;inset:0;pointer-events:none}.confetti{position:absolute;top:43%;left:50%;width:7px;height:14px;border-radius:2px;background:#e5a58b;animation:confetti-pop 1s ease-out both}.confetti-1{background:#7eb296}.confetti-2{background:#dbbd71}.confetti-3{background:#c2a0d0}.confetti-4{background:#5967c7}.confetti-5{background:#e3c4d2}.confetti:nth-child(1){--x:-125px;--y:-88px;--r:-30deg}.confetti:nth-child(2){--x:118px;--y:-98px;--r:35deg}.confetti:nth-child(3){--x:-150px;--y:8px;--r:80deg}.confetti:nth-child(4){--x:146px;--y:18px;--r:-70deg}.confetti:nth-child(5){--x:-92px;--y:-125px;--r:18deg}.confetti:nth-child(6){--x:91px;--y:-132px;--r:-18deg}.confetti:nth-child(7){--x:-175px;--y:-47px;--r:65deg}.confetti:nth-child(8){--x:172px;--y:-53px;--r:-55deg}.confetti:nth-child(9){--x:-72px;--y:110px;--r:-40deg}.confetti:nth-child(10){--x:70px;--y:108px;--r:42deg}.confetti:nth-child(11){--x:-112px;--y:65px;--r:-15deg}.confetti:nth-child(12){--x:112px;--y:64px;--r:15deg}.confetti:nth-child(13){--x:-42px;--y:-145px;--r:60deg}.confetti:nth-child(14){--x:42px;--y:-150px;--r:-60deg}.confetti:nth-child(15){--x:-135px;--y:72px;--r:30deg}.confetti:nth-child(16){--x:135px;--y:77px;--r:-30deg}.confetti:nth-child(17){--x:-35px;--y:125px;--r:72deg}.confetti:nth-child(18){--x:35px;--y:128px;--r:-72deg}@keyframes level-up-fade-in{0%{opacity:0}to{opacity:1}}@keyframes level-up-pop{0%{opacity:0;transform:scale(.78) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes level-up-badge{0%{transform:scale(.4) rotate(-20deg)}65%{transform:scale(1.12) rotate(6deg)}to{transform:scale(1) rotate(0)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r))}}@media(prefers-reduced-motion:reduce){.streak-celebration-card,.streak-celebration-icon,.streak-day-dot,.level-up-celebration,.level-up-card,.level-up-badge,.confetti{animation:none;opacity:1}}@media(max-width:560px){.streak-celebration{right:16px;bottom:16px;left:16px}.streak-celebration-card{width:100%}}@media(max-width:760px){.auth-card{padding:32px 28px}}.sidebar-backdrop{display:none}@media(max-width:760px){.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:7;background:#19191633}.mobile-menu{width:32px;height:32px;display:grid;place-items:center;margin-right:10px;border-radius:7px;font-size:21px;line-height:1}.mobile-menu:hover{background:var(--surface-soft)}}html,body{overflow-x:hidden}button,input,textarea,select{touch-action:manipulation}@media(max-width:760px){.shell{width:100%;min-height:100dvh}.main{width:100%}.topbar{height:64px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.breadcrumbs{min-width:0;flex:1;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:0 0 auto;gap:2px}.top-actions .icon-button{width:36px;height:36px}.avatar.small{width:32px;height:32px}.content{width:100%;max-width:none;padding:28px 16px calc(48px + env(safe-area-inset-bottom))}.content-header{gap:16px;margin-bottom:24px}h1{font-size:29px;line-height:1.12}.capture{width:100%;min-height:58px;height:auto;margin-bottom:24px;padding:9px 14px;gap:9px}.capture-main{width:100%;min-width:0}.capture input{width:100%;min-width:0;flex:1 1 auto;font-size:16px;padding:6px 0}.capture-hint{flex:0 0 auto}.section-heading{padding-left:0;padding-right:0}.task-row{min-height:62px;align-items:flex-start;gap:10px;padding:10px 0}.checkbox{width:22px;height:22px;margin-top:1px;font-size:13px}.task-main{min-width:0;padding-top:1px}.task-title{white-space:normal;line-height:1.35;overflow:visible;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-meta{flex-wrap:nowrap;min-width:0;overflow:hidden;white-space:nowrap;line-height:1.3}.task-meta>*{flex:0 0 auto}.row-more{opacity:1;flex:0 0 auto;min-width:32px;min-height:32px;margin-top:-5px}.date-group{margin-bottom:24px}.date-label{padding-left:0;padding-right:0}.progress-summary{gap:8px;margin:-8px 0 24px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.progress-summary::-webkit-scrollbar{display:none}.progress-summary>div{flex:0 0 auto;min-width:104px}.calendar{width:100%;overflow-x:auto;padding-bottom:4px}.calendar-toolbar{justify-content:space-between;gap:8px;margin-bottom:16px}.calendar-toolbar strong{min-width:0;flex:1}.calendar-weekdays,.calendar-grid{min-width:560px}.calendar-cell{min-height:100px;padding:8px}.calendar-task{min-height:28px;padding:6px}.cards-grid,.projects-grid{gap:10px}.class-card{min-height:156px;padding:16px}.project-card{min-height:78px}.project-open{padding:15px 46px 15px 15px}.settings-layout{max-width:none}.settings-section{padding:22px 0 24px;gap:14px}.settings-row{grid-template-columns:1fr;gap:14px}.settings-section .header-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.settings-section .header-actions button{width:100%;min-height:42px}.class-add-row{flex-direction:column;align-items:stretch}.class-add-row button,.file-button{width:100%;min-height:42px;justify-content:center}.drawer-backdrop{z-index:14}.task-drawer{z-index:15;width:100%;max-width:none;padding:20px 16px calc(20px + env(safe-area-inset-bottom));gap:16px}.drawer-fields{grid-template-columns:1fr;gap:12px}.drawer-fields label:last-child{grid-column:auto}.drawer-footer{gap:10px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.drawer-footer button{min-height:42px}.auth-shell{min-height:100dvh;grid-template-columns:1fr}.auth-copy{min-height:auto;padding:32px 24px 24px}.auth-copy .brand{padding:0}.auth-message{margin:48px 0 36px}.auth-message h1{font-size:34px;line-height:1.1}.auth-card{min-height:390px;padding:32px 32px calc(44px + env(safe-area-inset-bottom)) 24px;border-top:1px solid var(--line);border-left:0}.onboarding-shell{min-height:100dvh;padding:20px 12px;align-items:start}.onboarding-card{padding:26px 20px 28px}.onboarding-card .brand{padding-bottom:28px}}@media(max-width:480px){.topbar{padding-left:12px;padding-right:12px}.top-actions .sync-status{display:none}.top-actions .icon-button{width:34px;height:34px}.content{padding-left:14px;padding-right:14px}h1{font-size:27px}.capture-hint{display:none}.capture{padding:9px 13px}.capture-plus{margin-right:8px}.projects-toolbar{gap:14px;margin-bottom:18px}.project-form{flex-direction:column;align-items:stretch}.project-form input,.project-form .primary-button{width:100%;min-height:42px}.weekday-picker{gap:6px}.weekday-picker .check-label{flex:1 1 62px;justify-content:center;padding:8px 6px}.confirm-card{width:calc(100vw - 24px);padding:20px}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%;min-height:42px}.level-up-card{padding:28px 20px 22px}.calendar-weekdays,.calendar-grid{min-width:0}.calendar-cell{min-height:76px;padding:5px 3px;overflow:hidden}.calendar-day{margin-bottom:5px;font-size:10px}.calendar-task{padding:4px 3px;font-size:8px;line-height:1.15}}@media(max-width:360px){.mobile-menu{margin-right:4px}.top-actions .icon-button{width:31px;height:31px}.avatar.small{width:30px;height:30px}.content{padding-left:12px;padding-right:12px}.progress-summary>div{min-width:98px;padding:9px 10px}}@media(max-width:760px){.calendar-weekdays,.calendar-grid,.calendar-cell{min-width:0}}.task-row[draggable=true]{cursor:grab}.task-row[draggable=true]:active{cursor:grabbing}.task-row.dragging{opacity:.42}.task-row.drop-target{background:var(--accent-soft);outline:2px dashed #a8b0ed;outline-offset:-2px}.calendar-cell[data-drop-date],.date-group[data-drop-date]{transition:background-color .15s ease,outline-color .15s ease}.calendar-cell.drop-target,.date-group.drop-target{background:var(--accent-soft);outline:2px dashed #a8b0ed;outline-offset:-2px}@media(prefers-reduced-motion:reduce){.calendar-cell[data-drop-date],.date-group[data-drop-date]{transition:none}}.top-actions>.avatar.small{box-sizing:border-box;display:grid;flex:0 0 29px;width:29px;min-width:29px;height:29px;min-height:29px;padding:0;border:0;border-radius:50%;overflow:hidden;line-height:0}.top-actions>.avatar.small img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.inbox-toolbar{display:flex;justify-content:flex-end;margin:-12px 0 18px}.inbox-toolbar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:600}.inbox-toolbar select{padding:7px 9px;font-size:11px}.calendar{width:100%;max-width:100%;min-width:0}.calendar-weekdays{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))!important}.calendar-grid{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;contain:inline-size}.calendar-week{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))!important}.calendar-weekdays>*,.calendar-cell{width:auto;min-width:0!important;max-width:100%}.calendar-cell{overflow:hidden}.calendar-task{display:block;min-width:0;max-width:100%;overflow:hidden}.calendar-more{border:0;cursor:pointer;padding:0;background:none;text-align:left}.calendar-more{display:block;margin-top:6px;color:var(--accent);font-size:10px;font-weight:800;line-height:1.25}.calendar-more:hover{text-decoration:underline;text-underline-offset:2px}.calendar-day-backdrop{position:fixed;inset:0;z-index:12;background:#19191647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-day-popup{position:fixed;z-index:13;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 40px));overflow:auto;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.calendar-day-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.calendar-day-popup-header h2{font:800 22px Manrope;letter-spacing:-.04em}.calendar-day-popup-header .muted{margin-top:5px;font-size:11px}.calendar-day-popup-tasks{display:grid}.calendar-day-popup-tasks .task-row{padding-left:0;padding-right:0}.calendar-day-popup .empty-state{padding:45px 10px 25px}@media(max-width:560px){.calendar-day-popup{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px 14px}.calendar-day-popup-header h2{font-size:19px}}.content{width:100%;max-width:none;padding:34px clamp(20px,3.2vw,48px) 56px}.topbar{padding-left:clamp(20px,3.2vw,48px);padding-right:clamp(20px,3.2vw,48px)}.settings-layout,.team-project-view{max-width:none}.settings-section{width:100%}.calendar-page{height:calc(100dvh - 162px);min-height:560px;display:flex;flex-direction:column}.calendar-page .calendar,.calendar-page .calendar-grid{min-height:0;flex:1;display:flex;flex-direction:column}.calendar-page .calendar-week{min-height:0;flex:1}.calendar-page .calendar-cell{min-height:0;aspect-ratio:auto}.calendar-mobile-agenda{display:none}.content:has(.calendar-page){padding-top:18px;padding-bottom:14px}.content:has(.calendar-page) .content-header{margin-bottom:12px}.content:has(.calendar-page) .calendar-page{height:auto}.onboarding-layout{width:min(1180px,100%);display:grid;grid-template-columns:minmax(260px,.72fr) minmax(520px,1.28fr);gap:28px;align-items:start}.onboarding-guide{padding:18px 8px 0}.onboarding-guide .brand{padding:0 0 52px}.onboarding-guide h1{max-width:390px;margin:10px 0 12px;font-size:38px;line-height:1.08}.onboarding-guide>p{max-width:410px;color:var(--muted);line-height:1.65}.onboarding-guide ol{display:grid;gap:15px;margin:30px 0 25px;padding:0;list-style:none;counter-reset:guide-step}.onboarding-guide li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;counter-increment:guide-step}.onboarding-guide li:before{content:counter(guide-step);grid-column:1;grid-row:1 / span 2;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800}.onboarding-guide li strong,.onboarding-guide li span{display:block}.onboarding-guide li strong{grid-column:2;grid-row:1;font-size:13px}.onboarding-guide li span{grid-column:2;grid-row:2;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.45}.onboarding-tour-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 26px}.onboarding-tour-cards>div{display:grid;align-content:start;gap:6px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.onboarding-tour-cards strong{font-size:12px}.onboarding-tour-cards span{color:var(--muted);font-size:11px;line-height:1.5}.onboarding-guide a{color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}.onboarding-guide a:hover{text-decoration:underline;text-underline-offset:3px}.onboarding-card{width:100%;max-width:none}.onboarding-card h2{font:800 30px Manrope;letter-spacing:-.05em;margin:8px 0}.onboarding-card .brand{display:none}.public-page{width:min(1180px,100%)}.public-card,.public-page>.public-footer{width:min(100%,900px)}.public-copy h2{margin-top:8px;font:800 18px Manrope;color:var(--text);letter-spacing:-.03em}@media(max-width:900px){.onboarding-layout{grid-template-columns:1fr;gap:10px}.onboarding-guide{padding:0}.onboarding-guide .brand{display:flex;padding-bottom:28px}.onboarding-guide h1{font-size:31px}.onboarding-guide ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-tour-cards{grid-template-columns:1fr}.calendar-page{height:auto;min-height:0}.content:has(.calendar-page){padding-top:22px;padding-bottom:36px}.content:has(.calendar-page) .content-header{margin-bottom:24px}.content:has(.calendar-page) .calendar-page{height:auto}.calendar-page .calendar-desktop{display:none}.calendar-page .calendar-mobile-agenda{display:grid;gap:10px}.calendar-mobile-day{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.calendar-mobile-day.today-cell{border-color:#c7cdf8;box-shadow:0 0 0 2px var(--accent-soft)}.calendar-mobile-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.calendar-mobile-day-header strong{font:800 15px Manrope;letter-spacing:-.03em}.calendar-mobile-day-header span{color:var(--muted);font-size:11px}.calendar-mobile-tasks{display:grid}.calendar-mobile-task{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.calendar-mobile-task:last-child{border-bottom:0}.calendar-mobile-task>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.calendar-mobile-task small{flex:0 0 auto;color:var(--muted);font-size:11px;white-space:nowrap}.calendar-mobile-task.study-calendar{background:#f5f8f5}.calendar-mobile-task.event-calendar{background:#fffaf2}}.completed-section{margin-top:35px;border-top:1px solid var(--line)}.completed-section summary{display:flex;align-items:center;justify-content:space-between;padding:13px 5px;color:#686862;font-size:12px;font-weight:700;cursor:pointer;list-style-position:inside}.completed-section summary::marker{color:var(--muted)}.completed-section[open] summary{border-bottom:1px solid var(--line)}.completed-task-list .task-row{background:#ffffff59}.team-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.team-entry-grid .settings-section{margin:0}.team-list{display:grid;gap:10px}.team-card{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;text-align:left;cursor:pointer}.team-card:hover{border-color:var(--accent);background:var(--accent-soft)}.team-card h3{margin:3px 0 0;font:800 17px Manrope;letter-spacing:-.03em}.team-card p{margin:6px 0 0;color:var(--muted);font-size:12px}.team-project-view{max-width:900px}.team-project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:20px 0 22px}.team-project-heading h2{margin:3px 0 0;font:800 27px Manrope;letter-spacing:-.05em}.team-project-heading p{margin:7px 0 0}.team-project-actions,.team-invite-card,.team-member-list,.team-windows{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.team-invite-card{justify-content:space-between;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-invite-card code{padding:7px 10px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font:700 15px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.team-members,.team-task-section,.team-availability-form,.team-availability-summary,.team-subprojects{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.team-subproject-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.team-subproject-filter-wrap{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.team-subproject-filter{border:0;padding:7px 10px;background:transparent;color:var(--muted);cursor:pointer;font:600 11px Manrope}.team-subproject-filter:hover,.team-subproject-filter.active{background:var(--accent-soft);color:var(--accent)}.team-subproject-tool{border:0;border-left:1px solid var(--line);padding:7px 8px;background:transparent;color:var(--muted-2);cursor:pointer}.team-subproject-tool:hover{color:var(--danger);background:#fff4f0}.team-subproject-form{display:flex;gap:8px;margin-top:12px}.team-subproject-form input{flex:1 1 180px;min-width:0}.team-task-form{display:grid;grid-template-columns:minmax(0,2fr) repeat(5,minmax(100px,1fr)) auto;gap:8px;align-items:start}.team-task-form input,.team-task-form textarea,.team-task-form select{min-width:0}.team-task-form textarea{grid-column:1 / -1;min-height:65px;resize:vertical}.team-task-edit-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--line)}.team-task-edit-form input,.team-task-edit-form textarea{min-width:0}.team-task-edit-form textarea{grid-column:1 / -1;min-height:55px;resize:vertical}.team-task-edit-fields,.team-task-edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.team-task-edit-fields input,.team-task-edit-fields select{flex:1 1 120px}.team-task-edit-actions{grid-column:1 / -1}.team-task-list{display:grid;gap:2px;margin-top:13px}.team-task-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.team-task-row .checkbox{flex:0 0 20px;margin-top:2px}.team-task-title{display:block;font-size:13px}.team-task-row .task-main p{margin:5px 0 0;font-size:12px}.team-member-tag{display:inline-flex;align-items:baseline;gap:6px}.team-member-tag small{color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.team-availability-grid{display:grid;gap:7px;margin-bottom:14px}.team-availability-row{display:grid;grid-template-columns:80px 1fr auto 1fr;gap:8px;align-items:center}.team-day-toggle{display:flex;align-items:center;gap:6px;font-size:12px}.team-window{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px}.team-cross-day-notice{margin-top:14px;padding:12px;border:1px solid #e6d9b8;border-radius:8px;background:#fffaf0;color:#806b3f}.team-cross-day-notice strong{font-size:12px}.team-cross-day-notice p{margin-top:4px;font-size:11px;line-height:1.45}.team-cross-day-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.team-cross-day-window{padding:6px 8px;border:1px solid #eadfca;border-radius:6px;background:#fffdf7;color:#735e34;font-size:11px}.team-cross-day-window strong{margin-right:4px;font-size:11px}.team-completed-note{margin:12px 0 0;color:var(--muted);font-size:12px}@media(max-width:760px){.team-entry-grid{grid-template-columns:1fr}.team-project-heading{flex-direction:column}.team-project-actions{width:100%}.team-project-actions button{flex:1}.team-task-form{grid-template-columns:1fr 1fr}.team-task-form input[name=title],.team-task-form textarea,.team-task-form button{grid-column:1 / -1}.team-task-edit-form{grid-template-columns:1fr}.team-task-edit-form textarea,.team-task-edit-actions{grid-column:auto}}.voice-button{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;margin-left:8px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:11px;line-height:1}.voice-button svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.capture-hint{margin-left:8px}.voice-button:hover{background:var(--accent-soft);border-color:#c7cdf8}.voice-button.is-listening{background:#fff1f1;border-color:#e5bcbc;color:var(--danger);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{50%{box-shadow:0 0 0 5px #c565651f}}.assistant-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:-11px 0 25px;padding:17px 18px;border:1px solid #d9dcf7;border-radius:10px;background:linear-gradient(110deg,#f8f9ff,#fff)}.planning-pulse{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-11px 0 25px;padding:15px 18px;border:1px solid #d9dcf7;border-radius:10px;background:linear-gradient(110deg,#f8f9ff,#fff)}.planning-pulse-task{display:block;padding:0;text-align:left}.planning-pulse-task:hover strong{color:var(--accent)}.task-row.is-next-up{margin:4px 0;padding-left:10px;padding-right:8px;border:1px solid rgba(89,103,199,.22);border-radius:10px;background:linear-gradient(100deg,#eceeffd1,#f8f9ff47);box-shadow:0 2px 9px #5967c714}.next-up-tag{background:#e9ebff;border-color:#d3d7ff;color:#5967c7}.planning-pulse strong{display:block;margin-top:3px;font:700 16px Manrope}.planning-pulse p{margin:5px 0 0;color:var(--muted);font-size:11px}.planning-pulse-stat{flex:0 0 auto;padding-left:18px;border-left:1px solid var(--line);text-align:right}.planning-pulse-stat strong{font-size:20px}.planning-pulse-stat span{color:var(--muted);font-size:10px}.assistant-card-copy{min-width:0}.assistant-card-copy>strong{display:block;font:700 16px Manrope}.assistant-card-copy p{margin-top:7px;color:#66665e;font-size:12px;line-height:1.5}.assistant-card-copy small{display:block;margin-top:8px;font-size:11px}.assistant-meta{margin-top:5px;color:var(--muted);font-size:11px}.assistant-actions{display:flex;gap:8px;flex:0 0 auto;align-items:center}.assistant-warning{color:var(--danger)!important}.assistant-empty{border-color:#e6d9b8;background:#fffaf0}.assistant-day-summary{justify-content:flex-start}.planned-label{color:var(--accent);font-weight:700}@media(max-width:480px){.team-invite-card{align-items:flex-start;flex-direction:column}.team-availability-row{grid-template-columns:70px 1fr auto 1fr;gap:5px}.team-availability-row input{min-width:0;padding-left:5px;padding-right:5px}}
