:root{color-scheme:dark;--color-bg:#0a0a0b;--color-surface:#131315;--color-surface-raised:#1a1a1d;--color-border:#26262a;--color-ink:#f2f2f0;--color-muted:#96969c;--color-faint:#64646a;--color-accent:#e7e7e7;--color-accent-hover:#fff;--color-accent-text:#0a0a0b;--color-warm:#d97757;--color-warm-text:#f0c4b4;--subject-blue:#7a94b8;--subject-green:#7fab8f;--subject-violet:#a394c4;--subject-orange:#c08a70;--subject-pink:#bd7f9a;--subject-teal:#6fadb0;--subject-yellow:#c4b06a;--subject-red:#c47a7a;--subject-slate:#8a8f9a;--subject-lime:#96b57a;--subject-math:var(--subject-blue);--subject-science:var(--subject-green);--subject-english:var(--subject-violet);--subject-history:var(--subject-orange);--subject-art:var(--subject-pink);--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm:6px;--radius-md:10px;--shadow-elevated:0 8px 24px #00000059;--shadow-preview:0 24px 48px #00000059}[data-theme=light]{color-scheme:light;--color-bg:#f4f4f5;--color-surface:#fff;--color-surface-raised:#ececee;--color-border:#d8d8dc;--color-ink:#111114;--color-muted:#5c5c64;--color-faint:#888890;--color-accent:#111114;--color-accent-hover:#2a2a30;--color-accent-text:#fff;--color-warm:#c45c3a;--color-warm-text:#9a3f22;--shadow-elevated:0 8px 24px #00000014;--shadow-preview:0 24px 48px #0000001a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);margin:0;font-weight:600}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}a.btn:hover{text-decoration:none}ul{margin:0;padding:0;list-style:none}button{font-family:inherit;transition:box-shadow .2s;box-shadow:0 0 0 2px #0000}a:focus-visible,button:focus-visible,summary:focus-visible{box-shadow:0 0 0 2px var(--color-accent);border-radius:4px;outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--color-ink);font-size:13px;font-weight:600}.input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;color:var(--color-ink);font-family:var(--font-body);box-shadow:none;padding:11px 14px;font-size:14.5px;transition:border-color .2s}.input::placeholder{color:var(--color-faint)}.input:hover{border-color:#3a3a3f}.input:focus{border-color:var(--color-accent);box-shadow:none;outline:none}textarea.input{resize:vertical;min-height:88px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14.5px;font-weight:600;transition:background .15s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-block{width:100%}.btn-ghost{color:var(--color-ink);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-sm{padding:8px 14px;font-size:13px}.auth-shell{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{width:100%;max-width:380px}.auth-card h1{margin-bottom:6px;font-size:26px}.auth-card .sub{color:var(--color-muted);margin-bottom:28px;font-size:14.5px}.auth-card form{margin-top:8px}.auth-card .row-between{justify-content:space-between;align-items:center;margin:-4px 0 20px;font-size:13px;display:flex}.checkbox-row{color:var(--color-muted);align-items:center;gap:8px;display:flex}.checkbox-row input{accent-color:var(--color-accent)}.auth-card .switch-line{text-align:center;color:var(--color-muted);margin-top:24px;font-size:14px}.auth-card .switch-line a{font-weight:600}.app-shell{flex-direction:column;flex:1;display:flex}.page-wrap{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--color-border)}.topbar-inner{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1240px;margin:0 auto;padding:16px 48px;display:flex}.brand{color:var(--color-ink);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.navbar-actions{align-items:center;gap:14px;display:flex}.theme-toggle{cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;overflow:visible}.theme-toggle .icon-sun,.theme-toggle .icon-moon{transform-origin:50%;transition:transform .45s cubic-bezier(.34,1.4,.64,1);display:block}.theme-toggle:hover .icon-sun{transform:rotate(90deg)scale(1.12)}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}[data-theme=light] .theme-toggle:hover .icon-moon{transform:rotate(-18deg)scale(1.1)}.user-menu{align-items:center;gap:14px;display:flex}.profile-menu{position:relative}.profile-menu-trigger{cursor:pointer;padding:0;transition:border-color .2s,box-shadow .2s}.profile-menu-trigger:hover{border-color:var(--color-accent)}.profile-menu-backdrop{display:none}.profile-menu-panel{z-index:60;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(300px,100vw - 40px);padding:16px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #0006}.profile-menu-header{border-bottom:1px solid var(--color-border);margin-bottom:14px;padding-bottom:14px}.profile-menu-name{color:var(--color-ink);word-break:break-word;margin-bottom:4px;font-size:15px;font-weight:700}.profile-menu-email{color:var(--color-muted);word-break:break-all;font-size:13px}.profile-menu-actions{flex-direction:column;gap:8px;display:flex;position:relative}.profile-menu-delete{color:var(--color-warm);border-color:color-mix(in srgb, var(--color-warm) 35%, var(--color-border))}.profile-menu-delete:hover{color:var(--color-warm);border-color:var(--color-warm);background:color-mix(in srgb, var(--color-warm) 12%, transparent)}.profile-menu-delete-confirm{width:auto;top:calc(100% + 8px);left:0;right:0}.avatar{background:var(--color-surface-raised);width:34px;height:34px;color:var(--color-ink);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.dashboard-main{box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;padding:48px 48px 80px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-head-actions{flex-shrink:0;position:relative}.page-head h1{margin-bottom:6px;font-size:26px}.page-date{color:var(--color-muted);margin-bottom:8px;font-size:13px;font-weight:600}.page-head .sub{color:var(--color-muted);font-size:14.5px}.subject-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;display:flex}.subject-tabs-scroll{display:contents}.subject-tab{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);height:34px;color:var(--color-muted);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:600;line-height:1;display:inline-flex}.subject-tab .swatch{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.subject-tab[data-active=true]{color:var(--color-bg);background:var(--color-ink);border-color:#0000}.subject-tab-wrapper{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;height:34px;display:inline-flex;position:relative;overflow:visible}.subject-tab-wrapper .subject-tab{background:0 0;border:none;border-radius:0;height:100%;padding-right:8px}.subject-tab-wrapper .subject-tab[data-active=true]{background:var(--color-ink);color:var(--color-bg)}.subject-tab-wrapper:has(.subject-tab[data-active=true]){background:var(--color-ink);border-color:#0000}.subject-actions{flex-shrink:0;align-items:center;padding-right:4px;display:flex;position:relative;top:auto;right:auto}.subject-actions .delete-btn{width:26px;height:26px;color:var(--color-faint);background:0 0;border:none;border-radius:4px}.subject-actions .delete-btn:hover{background:var(--color-surface-raised);color:var(--color-warm);border:none}.subject-tab-wrapper:has(.subject-tab[data-active=true]) .delete-btn{color:var(--color-bg);opacity:.7}.subject-tab-wrapper:has(.subject-tab[data-active=true]) .delete-btn:hover{opacity:1;color:var(--color-bg);background:#00000026}.subject-actions .delete-confirm{top:calc(100% + 8px);right:0}.subject-tab-add{border:1px dashed var(--color-border);width:32px;height:32px;color:var(--color-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:18px;font-weight:400;line-height:1;list-style:none;transition:border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.subject-tab-add::-webkit-details-marker{display:none}.subject-tab-add::marker{content:""}.subject-tab-add:hover{border-color:var(--color-accent);color:var(--color-accent)}.add-subject{align-items:center;display:inline-flex;position:relative}.add-subject-body{z-index:6;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);width:220px;padding:16px;position:absolute;top:40px;left:0;box-shadow:0 8px 24px #00000059}.add-subject-body .field{margin-bottom:12px}.add-subject-cancel{margin-top:8px}.add-task{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:32px;overflow:hidden}.add-task summary{cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;font-size:14.5px;font-weight:600;list-style:none;display:flex}.add-task summary .plus{background:var(--color-surface-raised);width:20px;height:20px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;margin-right:10px;font-size:15px;transition:transform .15s;display:inline-flex}.add-task[open] summary .plus{transform:rotate(45deg)}.add-task-body{border-top:1px solid var(--color-border);padding:4px 20px 22px}.form-grid{grid-template-columns:1fr 1fr;gap:0 24px;margin-top:18px;display:grid}.form-grid .field.full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.task-group{margin-bottom:28px}.task-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);margin-bottom:12px;font-size:12.5px;font-weight:700}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--subject-color,var(--color-border));border-radius:var(--radius-md);flex-direction:column;gap:0;padding:16px 20px 16px 12px;display:flex;position:relative}.task-card-main{align-items:center;gap:12px;width:100%;display:flex}.edit-toggle:checked~.edit-task-panel{display:block}.edit-task-panel{border-top:1px solid var(--color-border);width:100%;margin-top:16px;padding-top:16px;display:none}.task-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:8px;min-width:104px;display:flex;position:relative}.task-actions .edit-btn,.task-actions .task-delete-btn{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;min-width:104px;height:34px;color:var(--color-ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;line-height:1;transition:background .15s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 0 0 2px #0000}.task-actions .edit-btn svg,.task-actions .task-delete-btn svg{flex-shrink:0;display:block}.task-actions .edit-btn:hover{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.task-actions .task-delete-btn:hover{background:color-mix(in srgb, var(--color-warm) 18%, var(--color-surface-raised));color:var(--color-warm);border-color:var(--color-warm)}.task-actions .delete-confirm{width:220px;top:calc(100% + 8px);right:0}.task-check-form{flex-shrink:0;align-items:center;display:flex}.task-check-hit{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.task-check{appearance:none;border:2.5px solid var(--color-faint);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;width:28px;height:28px;margin:0;transition:background .15s,border-color .15s;position:relative}.task-check:focus,.task-check:focus-visible{outline:none}.task-check-hit:hover .task-check,.task-check:hover{border-color:var(--subject-color,var(--color-accent))}.task-check:checked{background:var(--subject-color,var(--color-accent));border-color:var(--subject-color,var(--color-accent))}.task-check:checked:after{content:"";border:solid var(--color-bg);border-width:0 2.5px 2.5px 0;width:6px;height:11px;margin-top:-1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.task-body{flex:1;min-width:0}.task-top-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.subject-label{text-transform:uppercase;letter-spacing:.03em;color:var(--subject-color,var(--color-accent));font-size:11.5px;font-weight:700}.subject-label:before{content:"";background:var(--subject-color,var(--color-accent));vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.task-title{font-size:16px;font-weight:600}.task-desc{color:var(--color-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13.5px;display:-webkit-box;overflow:hidden}.task-card:has(.task-check:checked){opacity:.5}.task-card:has(.task-check:checked) .task-title{color:var(--color-muted);text-decoration:line-through}.task-card:has(.task-check:checked) .task-desc{text-decoration:line-through}.due-pill{text-align:center;border-radius:var(--radius-sm);background:var(--color-surface-raised);border:1px solid var(--color-border);flex-shrink:0;min-width:72px;padding:6px 12px;position:relative}.due-pill .day{text-transform:uppercase;color:var(--color-faint);font-size:10.5px;font-weight:700;display:block}.due-pill .date{color:var(--color-ink);white-space:nowrap;font-size:13.5px;font-weight:600;display:block}.due-pill.urgent{border-color:var(--color-warm)}.due-pill.urgent .day,.due-pill.urgent .date{color:var(--color-warm)}.empty-state{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);padding:48px 24px}.delete-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-muted);cursor:pointer;text-align:center;background:0 0;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;transition:background .15s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 0 0 2px #0000}.delete-btn:hover{background:var(--color-surface-raised);color:var(--color-warm);border-color:var(--color-warm)}.delete-confirm{z-index:5;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;width:200px;padding:14px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000059}.delete-toggle:checked~.delete-confirm{display:block}.delete-confirm p{color:var(--color-ink);margin-bottom:12px;font-size:13.5px}.delete-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.error-text{color:var(--color-warm);margin-bottom:16px;font-size:13px}.toast-root{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);opacity:0;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;transition:opacity .18s,transform .18s;display:flex;transform:translateY(-8px);box-shadow:0 12px 32px #00000073}.toast-in{opacity:1;transform:translateY(0)}.toast-out{opacity:0;transform:translateY(-8px)}.toast-error{border-color:color-mix(in srgb, var(--color-warm) 55%, var(--color-border))}.toast-message{color:var(--color-ink);flex:1;margin:0;font-size:13.5px;line-height:1.45}.toast-error .toast-message{color:var(--color-warm-text)}.toast-close{width:22px;height:22px;color:var(--color-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0;font-size:11px;line-height:1}.toast-close:hover{color:var(--color-ink);background:var(--color-surface)}.password-wrapper{position:relative}.password-wrapper .input{padding-right:44px}.toggle-password{color:var(--color-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toggle-password:hover{color:var(--color-ink)}.toggle-password .icon-eye-off,.toggle-password[data-visible=true] .icon-eye{display:none}.toggle-password[data-visible=true] .icon-eye-off{display:block}.landing-main{box-sizing:border-box;flex:1;width:100%;max-width:1240px;margin:0 auto;padding:64px 48px 80px}.landing-hero-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:40px;margin-bottom:64px;display:grid}.landing-hero{max-width:none;margin-bottom:0}.landing-eyebrow{color:var(--color-muted);margin-bottom:16px;font-size:13px}.landing-hero h1{margin-bottom:16px;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.landing-lead{color:var(--color-muted);margin-bottom:28px;font-size:16px;line-height:1.6}.landing-cta{flex-wrap:wrap;gap:12px;display:flex}.landing-features{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:56px;display:grid}.landing-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:20px}.landing-card h2{margin-bottom:8px;font-size:16px}.landing-card p{color:var(--color-muted);font-size:14px;line-height:1.5}.dashboard-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);pointer-events:none;user-select:none;overflow:hidden;box-shadow:0 24px 48px #00000059}.dashboard-preview-chrome{border-bottom:1px solid var(--color-border);background:var(--color-surface);gap:6px;padding:12px 14px;display:flex}.dashboard-preview-dot{background:var(--color-border);border-radius:50%;width:10px;height:10px}.dashboard-preview-body{padding:16px 18px 20px}.dashboard-preview-topbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;display:flex}.dashboard-preview-brand{font-size:14px;font-weight:700}.dashboard-preview-avatar{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.dashboard-preview-date{color:var(--color-muted);margin-bottom:4px;font-size:11px;font-weight:600}.dashboard-preview-greeting{margin-bottom:4px;font-size:18px;font-weight:600}.dashboard-preview-sub{color:var(--color-muted);margin-bottom:16px;font-size:12px}.dashboard-preview-tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.dashboard-preview-tab{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);height:28px;color:var(--tab-color,var(--color-muted));align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.dashboard-preview-tab.active{background:var(--color-ink);color:var(--color-bg);border-color:#0000}.dashboard-preview-tab .swatch{background:currentColor;border-radius:50%;width:6px;height:6px}.dashboard-preview-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);margin-bottom:8px;font-size:10px;font-weight:700}.dashboard-preview-task{border:1px solid var(--color-border);border-left:3px solid var(--subject-color);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.dashboard-preview-task.completed{opacity:.55}.dashboard-preview-check{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:22px;height:22px}.dashboard-preview-check.checked{background:var(--subject-color);border-color:var(--subject-color);position:relative}.dashboard-preview-check.checked:after{content:"";border:solid var(--color-bg);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.dashboard-preview-task-body{flex:1;min-width:0}.dashboard-preview-subject{text-transform:uppercase;letter-spacing:.03em;color:var(--subject-color);margin-bottom:2px;font-size:9px;font-weight:700;display:block}.dashboard-preview-title{margin-bottom:2px;font-size:13px;font-weight:600}.dashboard-preview-task.completed .dashboard-preview-title,.dashboard-preview-task.completed .dashboard-preview-desc{color:var(--color-muted);text-decoration:line-through}.dashboard-preview-desc{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-preview-due{text-align:center;border-radius:var(--radius-sm);background:var(--color-surface-raised);border:1px solid var(--color-border);flex-shrink:0;padding:4px 8px}.dashboard-preview-due .day{text-transform:uppercase;color:var(--color-faint);font-size:9px;font-weight:700;display:block}.dashboard-preview-due .date{white-space:nowrap;font-size:11px;font-weight:600;display:block}.dashboard-preview-due.urgent,.dashboard-preview-due.urgent .day,.dashboard-preview-due.urgent .date{border-color:var(--color-warm);color:var(--color-warm)}.landing-bottom-cta{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:24px;padding:48px 32px}.landing-bottom-cta h2{margin-bottom:8px;font-size:22px}.landing-bottom-cta p{color:var(--color-muted);margin-bottom:24px;font-size:14.5px}.landing-bottom-cta .landing-cta{justify-content:center}.site-footer{border-top:1px solid var(--color-border);margin-top:auto}.site-footer-inner{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1240px;margin:0 auto;padding:20px 48px;display:flex}.footer-privacy{color:var(--color-muted);max-width:520px;margin:0;font-size:13px;line-height:1.45}.footer-actions{align-items:center;gap:10px;display:flex}.footer-source{align-items:center;gap:8px;display:inline-flex}@media (width<=640px){.topbar-inner,.dashboard-main,.landing-main,.site-footer-inner{padding-left:20px;padding-right:20px}.topbar-inner{flex-wrap:wrap;align-items:center;row-gap:10px;padding-top:12px;padding-bottom:12px}.brand{flex:auto;min-width:0;font-size:16px;line-height:1.2}.navbar-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:6px;min-width:0}.navbar-actions .btn-sm{white-space:nowrap;padding:7px 11px;font-size:12px}.theme-toggle{flex-shrink:0;width:32px;height:32px}.user-menu{flex-wrap:nowrap;gap:8px}.profile-menu-backdrop{z-index:59;background:#00000073;display:none;position:fixed;inset:0}.profile-menu.is-open .profile-menu-backdrop{display:block}.profile-menu-panel[hidden]{display:none!important}.profile-menu-panel:not([hidden]){width:auto;max-height:calc(100vh - 40px);display:block;position:fixed;top:50%;left:20px;right:20px;overflow-y:auto;transform:translateY(-50%)}.profile-menu-delete-confirm{z-index:61;width:auto;max-height:calc(100vh - 40px);position:fixed;top:50%;left:20px;right:20px;overflow-y:auto;transform:translateY(-50%)}.avatar{flex-shrink:0;width:30px;height:30px;font-size:12px}.auth-shell{padding:20px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head-actions{align-self:flex-start}.page-head h1{font-size:22px}.subject-tabs{flex-wrap:nowrap;align-items:center}.subject-tabs-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:auto;align-items:center;gap:8px;min-width:0;padding-bottom:4px;display:flex;overflow-x:auto}.subject-tabs-scroll::-webkit-scrollbar{display:none}.subject-tab-wrapper,.subject-tabs-scroll>.subject-tab,.add-subject{flex-shrink:0}.add-subject[open]:before{content:"";z-index:49;background:#00000073;position:fixed;inset:0}.add-subject[open]>.subject-tab-add{z-index:51;position:relative}.add-subject-body{z-index:50;width:auto;max-height:calc(100vh - 40px);position:fixed;top:50%;left:20px;right:20px;overflow-y:auto;transform:translateY(-50%)}.subject-actions:has(.delete-toggle:checked):before{content:"";z-index:49;background:#00000073;position:fixed;inset:0}.subject-actions .delete-toggle:checked~.delete-confirm{z-index:50;width:auto;max-height:calc(100vh - 40px);display:block;position:fixed;top:50%;left:20px;right:20px;overflow-y:auto;transform:translateY(-50%)}.task-actions .delete-confirm,.page-head-actions .delete-confirm{width:min(220px,100vw - 40px)}.task-actions .delete-confirm{left:auto;right:0}.landing-main{padding-top:40px;padding-bottom:48px}.landing-features{grid-template-columns:1fr}.landing-hero-grid{grid-template-columns:1fr;gap:32px}.landing-bottom-cta{padding:32px 20px}.landing-cta{flex-direction:column;align-items:stretch}.landing-cta .btn{width:100%}.site-footer-inner{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.task-card-main{flex-wrap:wrap}.task-actions{flex-direction:row;width:100%;min-width:0}.task-actions .edit-btn,.task-actions .task-delete-btn{flex:1}}
