.install-prompt{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:950;display:flex;align-items:center;gap:.75rem;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:var(--bg-nav);border:1px solid var(--border-card);border-radius:16px;padding:.875rem 1rem .875rem 1.25rem;box-shadow:var(--card-shadow);width:min(420px,calc(100vw - 2rem));animation:installPromptIn .35s cubic-bezier(.34,1.56,.64,1) forwards;transition:border-color .3s,background .35s}[data-theme=dark] .install-prompt{border-color:#0ea5e940;box-shadow:0 8px 32px #0006,0 0 0 1px #0ea5e914}[data-theme=light] .install-prompt{border-color:#0ea5e933;box-shadow:0 8px 32px #0ea5e91f,0 2px 8px #0000000f}@keyframes installPromptIn{0%{opacity:0;transform:translate(-50%) translateY(24px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.install-prompt__icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e926,#14b8a626);border-radius:10px;border:1px solid rgba(14,165,233,.2)}.install-prompt__icon svg{width:18px;height:18px}.install-prompt__text{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.install-prompt__title{font-size:.88rem;font-weight:700;color:var(--text-heading);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-prompt__subtitle{font-size:.75rem;font-weight:500;color:var(--text-secondary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-prompt__actions{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.install-prompt__btn{font-family:inherit;font-weight:700;border:none;cursor:pointer;transition:all .2s ease;line-height:1}.install-prompt__btn--primary{font-size:.82rem;color:#fff;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));border-radius:10px;padding:.55rem 1rem;min-height:36px;white-space:nowrap;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-1) 30%,transparent)}.install-prompt__btn--primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px color-mix(in srgb,var(--accent-1) 45%,transparent);opacity:.92}.install-prompt__btn--primary:active{transform:translateY(0)}.install-prompt__btn--dismiss{font-size:1.25rem;color:var(--text-muted);background:transparent;border-radius:8px;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.install-prompt__btn--dismiss:hover{color:var(--text-primary);background:var(--bg-card-hover)}@supports (padding-bottom: env(safe-area-inset-bottom)){.install-prompt{bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .75rem))}}@media(max-width:480px){.install-prompt{border-radius:14px;padding:.75rem .875rem .75rem 1rem;gap:.6rem}.install-prompt__subtitle{display:none}.install-prompt__btn--primary{font-size:.8rem;padding:.5rem .875rem}}@media(max-width:360px){.install-prompt{padding:.65rem .75rem .65rem .875rem;gap:.5rem}.install-prompt__icon{width:30px;height:30px;border-radius:8px}.install-prompt__icon svg{width:15px;height:15px}.install-prompt__title{font-size:.82rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-card{width:100%;max-width:400px;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-card);border-radius:20px;padding:2.5rem 2rem;box-shadow:var(--card-shadow, 0 8px 32px rgba(0, 0, 0, .2));animation:fadeUp .5s ease-out}.auth-built-by{text-align:center;display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;margin-bottom:.5rem}.auth-built-label{font-weight:700;color:var(--text-secondary);margin-bottom:.1rem}.auth-title{text-align:center;font-size:1.5rem;font-weight:800;margin-bottom:.25rem;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.auth-tabs{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--border-input);margin-bottom:1.5rem}.auth-tab{flex:1;padding:.6rem;border:none;background:var(--bg-input);color:var(--text-secondary);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.auth-tab.active{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field label{display:block;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.auth-field input{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:.9rem;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px rgba(var(--accent-glow),.15);outline:none}.auth-field input::placeholder{color:var(--text-placeholder)}.auth-verify-card{text-align:center;padding:1.5rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:fadeUp .4s ease}.auth-verify-icon{font-size:2.5rem;line-height:1}.auth-verify-title{font-size:1.15rem;font-weight:800;color:var(--text-heading);background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-verify-text{font-size:.85rem;color:var(--text-secondary);line-height:1.5;max-width:300px}.auth-verify-text strong{color:var(--text-primary)}.auth-verify-btn{margin-top:.5rem;padding:.6rem 1.5rem;border-radius:10px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:.88rem;border:none;cursor:pointer;font-family:inherit;transition:filter .2s;min-height:44px}.auth-verify-btn:hover{filter:brightness(1.1)}.auth-error{color:#ef4444;font-size:.82rem;font-weight:600;text-align:center;padding:.5rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2)}.auth-submit{width:100%;padding:.75rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-top:.25rem}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--accent-glow),.35)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:.82rem;color:var(--text-muted);margin-top:1.25rem}.auth-switch-btn{background:none;border:none;color:var(--accent-1);font-weight:700;cursor:pointer;font-size:inherit}.auth-switch-btn:hover{text-decoration:underline}@media(max-width:480px){.auth-card{padding:2rem 1.25rem;border-radius:16px}.auth-title{font-size:1.3rem}.auth-submit,.auth-tab,.auth-field input{min-height:44px}}@media(max-width:360px){.auth-page{padding:2rem .75rem 1.5rem;align-items:flex-start}.auth-card{padding:1.5rem 1rem;border-radius:14px}.auth-title{font-size:1.15rem}.auth-subtitle{font-size:.8rem}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,var(--bg-input) 25%,var(--border-card) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-line--header{height:14px;width:40%;margin-bottom:.75rem}.skeleton-line--full{height:12px;width:100%;margin-bottom:.5rem}.skeleton-line--half{height:12px;width:55%;margin-bottom:.5rem}.skeleton-line--number{height:28px;width:50px;margin:0 auto .4rem;border-radius:8px}.skeleton-line--label{height:10px;width:60px;margin:0 auto}.skeleton-line--title{height:13px;width:65%;margin-bottom:.4rem}.skeleton-line--meta{height:10px;width:40%}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.skeleton-stats{display:flex;gap:.75rem;margin-bottom:1.5rem}.skeleton-stat{flex:1;background:var(--bg-card);border:1px solid var(--border-card);border-radius:14px;padding:1rem;text-align:center}.skeleton-tasks{display:flex;flex-direction:column;gap:.6rem}.skeleton-task{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border-card);border-radius:12px}.skeleton-circle{width:20px;height:20px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--bg-input) 25%,var(--border-card) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-task-content{flex:1}@media(max-width:480px){.skeleton-stats{display:grid;grid-template-columns:repeat(2,1fr)}}.daily-challenges{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-left:3px solid var(--accent-1);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;transition:border-color .3s}.daily-challenges:hover{border-color:var(--border-card-hover);border-left-color:var(--accent-1)}.dc-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:1.1rem}.dc-header-left{display:flex;align-items:center;gap:.75rem}.dc-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.dc-streak-pill{display:flex;align-items:center;gap:.35rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:999px;padding:.18rem .7rem}.dc-streak-icon{font-size:.55rem;font-weight:800;letter-spacing:.03em;color:#f59e0b}.dc-streak-count{font-size:.75rem;font-weight:700;color:#f59e0b}.dc-total-pill{display:flex;align-items:center;gap:.4rem}.dc-total-label{font-size:.72rem;color:var(--text-muted)}.dc-total-value{font-size:.82rem;font-weight:700;color:var(--accent-1)}.dc-challenge-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:12px;background:var(--bg-input, rgba(255, 255, 255, .04));border:1px solid var(--border-card);margin-bottom:1rem;flex-wrap:wrap;transition:background .25s,border-color .25s,box-shadow .25s}.dc-challenge-card--done{background:#22c55e12;border-color:#22c55e4d;box-shadow:0 0 0 2px #22c55e26}.dc-challenge-icon-wrap{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));display:flex;align-items:center;justify-content:center}.dc-challenge-icon{font-size:.58rem;font-weight:800;letter-spacing:.04em;color:#fff;text-transform:uppercase}.dc-challenge-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.dc-challenge-text{font-size:.95rem;font-weight:600;color:var(--text);margin:0;line-height:1.4}.dc-xp-badge{font-size:.7rem;font-weight:700;color:var(--accent-1);background:rgba(var(--accent-rgb, 14, 165, 233),.12);border:1px solid rgba(var(--accent-rgb, 14, 165, 233),.25);border-radius:999px;padding:.1rem .55rem;width:fit-content}.dc-mark-btn{flex-shrink:0;padding:.55rem 1.1rem;border-radius:10px;font-size:.82rem;font-weight:700;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;border:none;cursor:pointer;transition:opacity .15s,transform .15s;white-space:nowrap}.dc-mark-btn:hover{opacity:.88;transform:translateY(-1px)}.dc-mark-btn:active{transform:translateY(0)}.dc-complete-state{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.dc-check-icon{width:36px;height:36px;border-radius:50%;background:#22c55e33;border:2px solid #22c55e;color:#22c55e;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:dc-pop .3s ease}@keyframes dc-pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.dc-complete-text{display:flex;flex-direction:column;gap:.1rem}.dc-complete-text strong{font-size:.88rem;font-weight:700;color:#22c55e}.dc-complete-text span{font-size:.72rem;color:var(--text-muted)}.dc-tomorrow{opacity:.55;transition:opacity .2s}.dc-tomorrow:hover{opacity:.75}.dc-tomorrow-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.45rem}.dc-tomorrow-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border-radius:10px;border:1px dashed var(--border-card)}.dc-tomorrow-icon{font-size:.55rem;font-weight:800;letter-spacing:.03em;color:var(--text-muted);background:var(--border-card);width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dc-tomorrow-text{font-size:.82rem;color:var(--text-muted);margin:0;font-style:italic}@media(max-width:600px){.dc-challenge-card{flex-direction:column;align-items:flex-start}.dc-mark-btn,.dc-complete-state{align-self:flex-end}.dc-header{flex-direction:column;align-items:flex-start}}.class-schedule{display:flex;flex-direction:column;gap:1rem}.class-schedule-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.class-schedule-title{font-size:1rem;font-weight:700;color:var(--text-heading);margin:0}.class-schedule-add-btn{padding:.4rem .9rem;border-radius:8px;border:1px solid var(--accent-1);background:transparent;color:var(--accent-1);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}.class-schedule-add-btn:hover{background:var(--accent-1);color:#fff}.class-schedule-empty{font-size:.85rem;color:var(--text-muted);text-align:center;padding:1.5rem 1rem}.class-schedule-form{background:rgba(var(--accent-glow),.06);border:1px solid var(--border-card);border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem}.csf-row{display:flex;flex-direction:column;gap:.35rem}.csf-time-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.csf-row--half{flex:1}.csf-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.csf-input{padding:.45rem .7rem;border-radius:8px;border:1px solid var(--border-card);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s}.csf-input:focus{border-color:var(--accent-1)}.csf-days-row{display:flex;gap:.4rem;flex-wrap:wrap}.csf-day-btn{padding:.3rem .6rem;border-radius:6px;border:1px solid var(--border-card);background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.csf-day-btn--active{background:var(--accent-1);border-color:var(--accent-1);color:#fff}.csf-day-btn:hover:not(.csf-day-btn--active){border-color:var(--accent-1);color:var(--accent-1)}.csf-time-inputs{display:flex;gap:.35rem}.csf-select{padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border-card);background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-family:inherit;cursor:pointer;outline:none;flex:1}.csf-select--min{flex:0 0 auto;min-width:3rem}.csf-colors-row{display:flex;gap:.45rem;flex-wrap:wrap}.csf-color-btn{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.csf-color-btn--active{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 2px #00000040}.csf-color-btn:hover:not(.csf-color-btn--active){transform:scale(1.12)}.csf-form-actions{display:flex;gap:.6rem}.csf-save-btn{padding:.5rem 1.1rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s;font-family:inherit}.csf-save-btn:disabled{opacity:.45;cursor:not-allowed}.csf-save-btn:not(:disabled):hover{opacity:.88;transform:translateY(-1px)}.csf-cancel-btn{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-card);background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit}.csf-cancel-btn:hover{background:rgba(var(--accent-glow),.06)}.class-schedule-grid-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border-card)}.csg-header{display:grid;grid-template-columns:3rem repeat(5,1fr);background:rgba(var(--accent-glow),.05);border-bottom:1px solid var(--border-card)}.csg-day-header{padding:.5rem .25rem;text-align:center;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;position:relative}.csg-day-header--today{color:var(--accent-1)}.csg-today-dot{display:block;width:4px;height:4px;border-radius:50%;background:var(--accent-1);margin:2px auto 0}.csg-body{display:flex;flex-direction:column}.csg-row{display:grid;grid-template-columns:3rem repeat(5,1fr);min-height:2.5rem;border-bottom:1px solid rgba(var(--accent-glow),.06)}.csg-row:last-child{border-bottom:none}.csg-time-label{padding:.3rem .35rem .25rem;font-size:.65rem;color:var(--text-muted);line-height:1;white-space:nowrap}.csg-cell{border-left:1px solid rgba(var(--accent-glow),.06);position:relative;min-height:2.5rem;overflow:visible}.csg-cell--today{background:rgba(var(--accent-glow),.04)}.csg-class-block{position:absolute;top:2px;left:2px;right:2px;border-radius:6px;padding:.2rem .3rem;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:.2rem;z-index:2;box-shadow:0 2px 6px #0003;transition:opacity .15s,transform .15s;min-height:1.8rem;overflow:hidden}.csg-class-block:hover{opacity:.88;transform:scale(1.01)}.csg-class-name{font-size:.65rem;font-weight:700;color:#fff;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.csg-class-delete{flex-shrink:0;background:#ffffff40;border:none;border-radius:3px;color:#fff;font-size:.55rem;font-weight:800;cursor:pointer;padding:1px 3px;line-height:1;opacity:0;transition:opacity .15s;font-family:inherit}.csg-class-block:hover .csg-class-delete{opacity:1}[data-theme=light] .class-schedule-form,[data-theme=light] .csg-header{background:rgba(var(--accent-glow),.04)}[data-theme=light] .class-schedule-grid-wrapper{box-shadow:0 2px 8px #0000000d}@media(max-width:480px){.csg-time-label,.csg-class-name{font-size:.58rem}.csg-day-header{font-size:.62rem}}.dashboard{max-width:1200px;margin:0 auto}.dashboard-greeting{margin-bottom:2rem}.dashboard-greeting-text{font-size:1.8rem;font-weight:800;margin-bottom:.25rem;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .dashboard-greeting-text{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .dashboard-stat-card{box-shadow:0 2px 8px #0000000f}[data-theme=light] .dashboard-section-card,[data-theme=light] .dashboard-quote-card{box-shadow:0 2px 8px #0000000d}[data-theme=light] .dashboard-coming-soon-card{box-shadow:0 2px 6px #0000000a}[data-theme=light] .dashboard-task-item{background:rgba(var(--accent-glow),.04)}[data-theme=light] .dashboard-task-title,[data-theme=light] .dashboard-streak-value{color:var(--text-heading)}.dashboard-date{color:var(--text-muted);font-size:.88rem;font-weight:500}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.75rem}.dashboard-stat-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-radius:16px;padding:1.25rem 1rem;text-align:center;transition:transform .2s ease,border-color .3s}.dashboard-stat-card:hover{transform:translateY(-2px);border-color:var(--border-card-hover)}.dashboard-stat-value{font-size:2rem;font-weight:800;color:var(--accent-1);line-height:1;margin-bottom:.35rem}.dashboard-stat-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.dashboard-stat-sub{font-size:.72rem;color:var(--text-muted);opacity:.7;margin-top:.15rem}.dashboard-section-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;transition:border-color .3s,background .35s,transform .2s ease,box-shadow .2s ease}.dashboard-section-card:hover{border-color:var(--border-card-hover);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.dashboard-section-card:nth-of-type(1){border-left:3px solid var(--accent-1)}.dashboard-section-card:nth-of-type(2){border-left:3px solid var(--accent-2)}.dashboard-section-card:nth-of-type(3){border-left:3px solid #a78bfa}.dashboard-section-card:nth-of-type(4){border-left:3px solid #f59e0b}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem}.dashboard-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.dashboard-view-all-link{font-size:.78rem;font-weight:600;color:var(--accent-1);text-decoration:none;padding:.25rem .6rem;border-radius:8px;border:1px solid var(--accent-1);transition:background .2s,color .2s;white-space:nowrap}.dashboard-view-all-link:hover{background:var(--accent-1);color:#fff}.dashboard-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:1rem 0;font-style:italic}.dashboard-task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.dashboard-task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;background:var(--bg-input, rgba(255, 255, 255, .04));border:1px solid var(--border-card);transition:background .2s}.dashboard-task-item:hover{background:var(--bg-input-hover, rgba(255, 255, 255, .08))}.dashboard-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-high{background:#ef4444}.priority-medium{background:#f59e0b}.priority-low{background:#22c55e}.dashboard-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.dashboard-task-title{font-size:.92rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-task-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dashboard-subject-badge{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.subject-math{background:#0ea5e92e;color:#0ea5e9}.subject-english{background:#a78bfa2e;color:#a78bfa}.subject-science{background:#14b8a62e;color:#14b8a6}.subject-history{background:#f59e0b2e;color:#f59e0b}.subject-general{background:#94a3b82e;color:#94a3b8}.dashboard-due-date{font-size:.72rem;color:var(--text-muted)}.dashboard-today-badge{font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;background:#ef444426;color:#ef4444;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dashboard-streak-card{background:var(--bg-card)}.dashboard-streak-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.dashboard-streak-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:10px;background:var(--bg-input, rgba(255, 255, 255, .04));border:1px solid var(--border-card)}.dashboard-streak-icon{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-streak-info{display:flex;flex-direction:column;gap:.1rem}.dashboard-streak-value{font-size:.92rem;font-weight:700;color:var(--text)}.dashboard-streak-label{font-size:.72rem;color:var(--text-muted)}.dashboard-actions-card{border-left:3px solid #f472b6!important}.dashboard-actions-row{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-action-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.2rem;border-radius:10px;font-size:.88rem;font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,opacity .15s ease,box-shadow .15s;cursor:pointer}.dashboard-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.dashboard-action-icon{font-size:.72rem;font-weight:800;width:24px;height:24px;border-radius:6px;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-action-btn--primary{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff}.dashboard-action-btn--wellness{background:#14b8a626;color:#14b8a6;border-color:#14b8a64d}.dashboard-action-btn--wellness:hover{background:#14b8a640}.dashboard-action-btn--volunteer{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b4d}.dashboard-action-btn--volunteer:hover{background:#f59e0b40}.dashboard-action-btn--ai{background:#a78bfa26;color:#a78bfa;border-color:#a78bfa4d}.dashboard-action-btn--ai:hover{background:#a78bfa40}.dashboard-quote-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-left:4px solid var(--accent-1);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;text-align:center;transition:border-color .3s}.dashboard-quote-card:hover{border-color:var(--border-card-hover);border-left-color:var(--accent-1)}.dashboard-quote-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-1);margin-bottom:.6rem}.dashboard-quote-text{font-size:1rem;font-style:italic;font-weight:500;color:var(--text);line-height:1.6;margin:0;max-width:680px;margin-inline:auto}.dashboard-your-day-card{border-left:3px solid var(--accent-2)!important}.dashboard-your-day-badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2);background:#14b8a61a;border:1px solid rgba(20,184,166,.25);border-radius:999px;padding:.15rem .6rem}.dashboard-day-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.dashboard-day-block{border-radius:12px;padding:1rem;background:var(--bg-input, rgba(255, 255, 255, .04));border:1px solid var(--border-card);transition:border-color .25s,box-shadow .25s;display:flex;flex-direction:column;gap:.6rem}.dashboard-day-block--active{border-color:var(--accent-1);box-shadow:0 0 0 2px rgba(var(--accent-rgb, 14, 165, 233),.2),0 4px 20px rgba(var(--accent-rgb, 14, 165, 233),.12)}.dashboard-day-block-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.dashboard-day-block-meta{display:flex;flex-direction:column;gap:.1rem}.dashboard-day-block-label{font-size:.88rem;font-weight:700;color:var(--text)}.dashboard-day-block-range{font-size:.7rem;color:var(--text-muted)}.dashboard-day-block-now{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));border-radius:999px;padding:.18rem .55rem;white-space:nowrap;flex-shrink:0}.dashboard-day-block-suggestion{font-size:.78rem;font-style:italic;color:var(--text-muted);margin:0;line-height:1.4}.dashboard-day-block-free{font-size:.82rem;color:#22c55e;font-weight:600;margin:0;padding:.5rem 0;text-align:center}.dashboard-day-block-tasks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.dashboard-day-block-task{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-card)}.dashboard-day-block-task-title{font-size:.82rem;font-weight:500;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.dashboard-day-blocks{grid-template-columns:1fr}}.dashboard-coming-soon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.dashboard-coming-soon-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-radius:16px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.65;transition:opacity .2s}.dashboard-coming-soon-card:hover{opacity:.85}.dashboard-coming-soon-icon{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;width:40px;height:40px;border-radius:12px;background:var(--border-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.dashboard-coming-soon-card h4{font-size:.9rem;font-weight:700;color:var(--text);margin:0}.dashboard-coming-soon-card p{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.4}.dashboard-coming-soon-tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border-card);border-radius:999px;padding:.15rem .55rem;margin-top:.25rem}@media(max-width:768px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-actions-row{display:grid;grid-template-columns:repeat(2,1fr)}.dashboard-action-btn{justify-content:center}.dashboard-coming-soon-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-streak-grid{grid-template-columns:1fr}.dashboard-actions-row{flex-direction:column;display:flex}.dashboard-action-btn{justify-content:center}.dashboard-coming-soon-grid{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.dashboard-stat-card{padding:1rem .75rem}.dashboard-stat-value{font-size:1.6rem}.dashboard-stat-label{font-size:.7rem}.dashboard-actions-row{flex-direction:column;display:flex}.dashboard-action-btn{justify-content:center;width:100%}.dashboard-section-card{padding:1.1rem}.dashboard-greeting-text{font-size:1.4rem}.dashboard-coming-soon-grid{grid-template-columns:1fr}}.onboarding-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.onboarding-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:16px;padding:2rem 2rem 1.5rem;max-width:420px;width:90%;text-align:center;position:relative;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.onboarding-progress{display:flex;gap:8px;justify-content:center;margin-bottom:1.5rem}.onboarding-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-input);border:1px solid var(--border-input);transition:all .3s ease}.onboarding-dot.active{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));border-color:transparent;transform:scale(1.3)}.onboarding-dot.done{background:var(--accent-2);border-color:transparent}.onboarding-title{font-size:1.3rem;font-weight:800;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem}.onboarding-text{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.onboarding-actions{display:flex;gap:.75rem;justify-content:center}.onboarding-skip{padding:.6rem 1.2rem;border-radius:10px;border:1px solid var(--border-input);background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s ease}.onboarding-skip:hover{border-color:var(--border-card-hover);color:var(--text-primary)}.onboarding-next{padding:.6rem 1.6rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .25s ease}.onboarding-next:hover{transform:translateY(-2px);box-shadow:0 4px 14px color-mix(in srgb,var(--accent-1) 40%,transparent)}.onboarding-next:active{transform:translateY(0)}.onboarding-step-count{display:block;margin-top:1rem;font-size:.72rem;color:var(--text-faint);letter-spacing:.05em}@media(max-width:480px){.onboarding-card{padding:1.5rem 1.25rem 1.25rem;width:calc(100vw - 2rem);max-width:420px}.onboarding-title{font-size:1.15rem}.onboarding-text{font-size:.84rem}.onboarding-next,.onboarding-skip{min-height:44px}}@media(max-width:360px){.onboarding-card{padding:1.25rem 1rem 1rem;width:calc(100vw - 1.5rem)}.onboarding-title{font-size:1.05rem}.onboarding-text{font-size:.82rem}.onboarding-actions{flex-direction:column;gap:.5rem}.onboarding-next,.onboarding-skip{width:100%;min-height:44px;text-align:center}}.toast{position:fixed;bottom:max(2rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:.75rem;background:var(--card-bg, rgba(15, 23, 42, .85));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:999px;padding:.75rem 1.1rem .75rem 1.25rem;box-shadow:0 8px 32px #00000047,0 2px 8px #0000002e;border-left:4px solid var(--accent-1);animation:toastSlideUp .3s ease forwards;max-width:min(480px,calc(100vw - 2rem));width:max-content}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast--info{border-left-color:var(--accent-1)}.toast--success{border-left-color:#22c55e}.toast--warning{border-left-color:#f59e0b}.toast-message{font-size:.88rem;font-weight:600;color:var(--text-primary, #e2e8f0);line-height:1.4;flex:1}.toast-dismiss{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary, rgba(148, 163, 184, .8));font-size:1.15rem;line-height:1;cursor:pointer;border-radius:50%;transition:background .2s,color .2s;padding:0}.toast-dismiss:hover{background:#ffffff1a;color:var(--text-primary, #e2e8f0)}[data-theme=light] .toast{background:#ffffffe0;box-shadow:0 8px 32px #00000024,0 2px 8px #00000014}[data-theme=light] .toast-message{color:var(--text-primary, #0f172a)}[data-theme=light] .toast-dismiss{color:var(--text-secondary, #64748b)}[data-theme=light] .toast-dismiss:hover{background:#00000012;color:var(--text-primary, #0f172a)}@media(max-width:480px){.toast{bottom:max(1.25rem,env(safe-area-inset-bottom));border-radius:14px;padding:.7rem .9rem .7rem 1rem;max-width:calc(100vw - 1.5rem)}}@media(max-width:360px){.toast{bottom:max(1rem,env(safe-area-inset-bottom));padding:.6rem .75rem .6rem .85rem}.toast-message{font-size:.82rem}}.offline-indicator{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;padding-top:max(.5rem,env(safe-area-inset-top));font-size:.8rem;font-weight:600;letter-spacing:.01em;animation:offlineSlideDown .3s ease forwards;transition:background .35s,color .35s}@keyframes offlineSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-indicator--offline{background:var(--pending-bg);color:var(--pending-color);border-bottom:1px solid rgba(245,158,11,.25)}[data-theme=dark] .offline-indicator--offline{background:#f59e0b26;border-bottom-color:#f59e0b38}[data-theme=light] .offline-indicator--offline{background:#f59e0b1a;border-bottom-color:#f59e0b2e}.offline-indicator--online{background:var(--verified-bg);color:var(--verified-color);border-bottom:1px solid rgba(20,184,166,.25);animation:offlineSlideDown .25s ease forwards}[data-theme=dark] .offline-indicator--online{background:#14b8a626;border-bottom-color:#14b8a638}[data-theme=light] .offline-indicator--online{background:#14b8a61a;border-bottom-color:#14b8a62e}.offline-indicator__dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.offline-indicator--offline .offline-indicator__dot{background:var(--pending-color);animation:offlinePulse 1.6s ease-in-out infinite}.offline-indicator--online .offline-indicator__dot{background:var(--verified-color)}@keyframes offlinePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}.offline-indicator__message{line-height:1}@media(max-width:480px){.offline-indicator{font-size:.75rem;padding:.45rem .875rem;padding-top:max(.45rem,env(safe-area-inset-top))}}.accent-toggle{display:flex;align-items:center;justify-content:center;padding:.45rem;border-radius:10px;border:1px solid var(--toggle-border);background:var(--toggle-bg);cursor:pointer;transition:all .25s ease;min-height:44px;min-width:44px;flex-shrink:0}.accent-toggle:hover,.accent-toggle--open{border-color:var(--accent-nav-border);box-shadow:0 0 12px var(--accent-nav-glow)}.accent-toggle-swatch{width:20px;height:20px;border-radius:50%;display:block;box-shadow:0 1px 4px #0000004d;border:2px solid var(--border-card)}.accent-bar{position:fixed;top:0;left:0;right:0;z-index:9998;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--nav-border);animation:accentBarSlide .2s ease}@keyframes accentBarSlide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.accent-bar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap}.accent-circles-row{display:flex;gap:.6rem;align-items:center}.accent-circle{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;outline:2px solid transparent;outline-offset:2px}.accent-circle:hover{transform:scale(1.2);box-shadow:0 3px 12px #0000004d}.accent-circle--active{outline-color:var(--text-heading);transform:scale(1.15);box-shadow:0 2px 10px #0000004d}.accent-circle-check{color:#fff;font-size:.8rem;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.4)}.accent-bar-close{background:none;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;padding:.25rem .5rem;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:color .2s}.accent-bar-close:hover{color:var(--text-heading)}@media(max-width:480px){.accent-bar{gap:.5rem;padding:.6rem .75rem}.accent-bar-label{display:none}.accent-circle{width:28px;height:28px}}@media(max-width:360px){.accent-circles-row{gap:.4rem}.accent-circle{width:26px;height:26px}}.hc-backdrop{position:fixed;inset:0;z-index:499;background:transparent}.hc-wrapper{position:fixed;bottom:max(1.5rem,env(safe-area-inset-bottom,1.5rem));right:max(1.5rem,env(safe-area-inset-right,1.5rem));z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.hc-trigger-btn{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-size:1.5rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 4px 20px color-mix(in srgb,var(--accent-1) 40%,transparent),0 2px 8px #0000004d;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.hc-trigger-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 28px color-mix(in srgb,var(--accent-1) 55%,transparent),0 4px 12px #00000059}.hc-trigger-btn:active{transform:translateY(0) scale(.97)}.hc-popover{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-card);border-radius:16px;box-shadow:0 8px 32px #00000047,0 2px 8px #0000002e,0 0 0 1px color-mix(in srgb,var(--accent-1) 12%,transparent);width:300px;max-width:calc(100vw - 3rem);padding:1.25rem;position:relative;animation:hcSlideUp .22s cubic-bezier(.34,1.38,.64,1) both;pointer-events:all}@keyframes hcSlideUp{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hc-close-btn{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;border-radius:8px;border:1px solid var(--border-card);background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;line-height:1}.hc-close-btn:hover{background:color-mix(in srgb,var(--accent-1) 12%,transparent);color:var(--text-primary)}.hc-menu-title{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem;padding-right:2rem}.hc-menu{display:flex;flex-direction:column;gap:.5rem}.hc-menu-option{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--border-card);background:transparent;color:var(--text-primary);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,transform .15s;text-align:left;min-height:44px}.hc-menu-option:hover{background:color-mix(in srgb,var(--accent-1) 10%,transparent);border-color:color-mix(in srgb,var(--accent-1) 35%,transparent);transform:translate(2px)}.hc-menu-option:active{transform:translate(0)}.hc-option-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;line-height:1}.hc-option-icon--feedback{background:color-mix(in srgb,var(--accent-1) 18%,transparent);color:var(--accent-1)}.hc-option-icon--bug{background:#ef444424;color:#ef4444}.hc-option-icon--install{background:#0ea5e924;color:#0ea5e9}.hc-option-label{flex:1}.hc-form-view{display:flex;flex-direction:column;gap:.6rem}.hc-back-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:.1rem;transition:color .15s;min-height:44px;padding:0 .25rem;align-self:flex-start}.hc-back-btn:hover{color:var(--accent-1)}.hc-form-title{font-size:1rem;font-weight:700;color:var(--text-heading);letter-spacing:-.01em;margin-bottom:.25rem;padding-right:2rem}.hc-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:.25rem}.hc-textarea{font-family:inherit;font-size:.85rem;font-weight:400;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-input);border-radius:10px;padding:.65rem .8rem;width:100%;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s;line-height:1.5;box-sizing:border-box;min-height:80px}.hc-textarea::placeholder{color:var(--text-placeholder)}.hc-textarea:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-1) 15%,transparent);background:var(--bg-input-focus)}.hc-select{font-family:inherit;font-size:.85rem;font-weight:500;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-input);border-radius:10px;padding:.6rem .8rem;width:100%;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;min-height:44px;color-scheme:dark}[data-theme=light] .hc-select{color-scheme:light}.hc-select:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-1) 15%,transparent)}.hc-form{display:flex;flex-direction:column;gap:.6rem}.hc-submit-btn{font-family:inherit;font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));border:none;border-radius:10px;padding:.7rem 1rem;cursor:pointer;transition:opacity .2s,transform .15s;min-height:44px;letter-spacing:.01em}.hc-submit-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.hc-submit-btn:active:not(:disabled){transform:translateY(0)}.hc-submit-btn:disabled{opacity:.38;cursor:not-allowed}.hc-confirm{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0 .25rem;text-align:center;animation:hcSlideUp .25s ease both}.hc-confirm-text{font-size:.95rem;font-weight:700;color:var(--text-heading)}.hc-confirm-sub{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.hc-done-btn{font-family:inherit;font-size:.82rem;font-weight:700;color:var(--accent-1);background:color-mix(in srgb,var(--accent-1) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-1) 28%,transparent);border-radius:8px;padding:.5rem 1.25rem;cursor:pointer;transition:background .18s,border-color .18s;margin-top:.25rem;min-height:44px}.hc-done-btn:hover{background:color-mix(in srgb,var(--accent-1) 18%,transparent);border-color:color-mix(in srgb,var(--accent-1) 45%,transparent)}.hc-install-steps{margin-bottom:1rem}.hc-install-detect{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.hc-steps-list{padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;color:var(--text-secondary);line-height:1.5}.hc-steps-list strong{color:var(--text-primary)}@media(max-width:480px){.hc-wrapper{bottom:max(1rem,env(safe-area-inset-bottom,1rem));right:max(1rem,env(safe-area-inset-right,1rem))}.hc-popover{width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);position:fixed;right:max(1rem,env(safe-area-inset-right,1rem));bottom:calc(max(1rem,env(safe-area-inset-bottom,1rem)) + 56px + .75rem);margin-bottom:0}.hc-wrapper{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom,1rem));right:max(1rem,env(safe-area-inset-right,1rem))}}.qat-wrapper{position:fixed;bottom:1.5rem;left:1.5rem;z-index:500}.qat-fab{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;cursor:pointer;box-shadow:0 4px 20px #0000004d;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.qat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #0006}.qat-fab--open{background:var(--bg-card-hover);color:var(--text-primary);box-shadow:0 2px 12px #0003}.qat-fab-icon{font-size:1.8rem;font-weight:300;line-height:1}.qat-backdrop{position:fixed;inset:0;z-index:-1}.qat-popover{position:absolute;bottom:70px;left:0;width:280px;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-card);border-radius:14px;padding:.85rem;box-shadow:0 8px 32px #00000040;animation:qatSlideUp .2s ease-out}@keyframes qatSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.qat-form{display:flex;flex-direction:column;gap:.4rem}.qat-input{width:100%;padding:.4rem .65rem;border:1.5px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .2s}.qat-input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px var(--accent-focus-ring)}.qat-input::placeholder{color:var(--text-placeholder)}.qat-input--date{flex:1}.qat-select{flex:1;padding:.4rem .6rem;border:1.5px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.78rem;font-family:inherit;outline:none;cursor:pointer}.qat-select:focus{border-color:var(--accent-1)}.qat-row{display:flex;gap:.35rem}.qat-submit{padding:.4rem .85rem;border-radius:8px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:.82rem;border:none;cursor:pointer;font-family:inherit;transition:filter .2s;white-space:nowrap}.qat-submit:hover:not(:disabled){filter:brightness(1.1)}.qat-submit:disabled{opacity:.5;cursor:not-allowed}.qat-success{text-align:center;padding:1rem;font-size:.95rem;font-weight:700;color:#10b981}.qat-kbd-hint{position:absolute;bottom:-1.4rem;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--bg-card);padding:.1rem .35rem;border-radius:4px;border:1px solid var(--border-card);opacity:.75}@media(max-width:480px){.qat-wrapper{bottom:1rem;left:1rem}.qat-popover{width:260px}}.streak-xp-bar{display:inline-flex;align-items:center;gap:.65rem;padding:.5rem 1.1rem;border-radius:999px;background:var(--bg-card);border:1px solid rgba(var(--accent-glow),.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;box-shadow:0 2px 12px rgba(var(--accent-glow),.12);transition:opacity .3s;margin:.5rem auto;position:relative;z-index:1}.streak-xp-bar--loading{min-width:180px;height:30px;opacity:.4;animation:sxpPulse 1.4s ease-in-out infinite}@keyframes sxpPulse{0%,to{opacity:.3}50%{opacity:.6}}.sxp-flame{font-size:1rem;line-height:1;animation:sxpFlicker 2.4s ease-in-out infinite alternate;display:inline-block}@keyframes sxpFlicker{0%{filter:brightness(1);transform:scaleY(1)}50%{filter:brightness(1.15);transform:scaleY(1.04)}to{filter:brightness(.92);transform:scaleY(.97)}}.sxp-streak-count{font-size:.95rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin-right:.15rem}.sxp-streak-label{font-size:.75rem;color:var(--text-secondary);margin-left:.1rem}.sxp-divider{display:inline-block;width:1px;height:14px;background:rgba(var(--accent-glow),.25);border-radius:1px;flex-shrink:0}.sxp-level{font-size:.78rem;font-weight:700;color:var(--accent-1);letter-spacing:.03em;flex-shrink:0}.sxp-bar-wrap{display:inline-block;width:72px;height:6px;border-radius:3px;background:rgba(var(--accent-glow),.15);overflow:hidden;flex-shrink:0;position:relative}.sxp-bar-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));box-shadow:0 0 6px rgba(var(--accent-glow),.5);transition:width .6s cubic-bezier(.34,1.56,.64,1);min-width:3px}.sxp-xp{font-size:.75rem;font-weight:600;color:var(--text-secondary);flex-shrink:0}.sxp-confetti-container{position:fixed;inset:0;pointer-events:none;z-index:1100;overflow:hidden}.sxp-confetti-particle{position:absolute;top:-12px;width:8px;height:8px;border-radius:2px;opacity:.9;animation:sxpConfettiFall linear forwards}@keyframes sxpConfettiFall{0%{transform:translateY(0) rotate(0);opacity:.9}80%{opacity:.7}to{transform:translateY(100vh) rotate(540deg);opacity:0}}@media(max-width:480px){.streak-xp-bar{gap:.35rem;padding:.3rem .6rem;font-size:.72rem}.sxp-bar-wrap{width:48px}.sxp-streak-label{display:none}}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-size:.85rem}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;overflow-x:hidden;color:var(--text-primary)}.app-header{padding:2.5rem 2rem 1.5rem;padding-top:max(2.5rem,env(safe-area-inset-top));text-align:center;position:relative}.app-header:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:600px;height:200px;background:radial-gradient(ellipse at 50% 20%,rgba(var(--accent-glow),.28) 0%,rgba(var(--accent-glow),.14) 40%,transparent 70%);pointer-events:none;z-index:0}[data-theme=light] .app-header:before{background:radial-gradient(ellipse at 50% 20%,rgba(var(--accent-glow),.14) 0%,rgba(var(--accent-glow),.07) 40%,transparent 70%)}.app-header>*{position:relative;z-index:1}.app-greeting{font-size:.85rem;font-weight:600;color:var(--greeting-color);margin-bottom:.25rem;letter-spacing:.02em}.app-title{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(var(--accent-glow),.4))}[data-theme=light] .app-title{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(var(--accent-glow),.25))}@keyframes gradientText{0%{background-position:0% 50%}to{background-position:100% 50%}}.app-subtitle{font-size:.9rem;color:var(--subtitle-color);font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-top:.3rem;position:relative;display:inline-block}.app-subtitle:after{content:"";display:block;margin:.75rem auto 0;width:140px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#8b5cf6,#e879f9,#38bdf8,transparent);opacity:.85;box-shadow:0 0 8px #8b5cf680}.app-nav{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));position:sticky;top:0;z-index:100;background:var(--bg-nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--nav-border);transition:background .35s,border-color .35s;box-shadow:0 1px 0 var(--border-subtle);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}[data-theme=dark] .app-nav{box-shadow:0 1px rgba(var(--accent-glow),.15),0 4px 20px #00000059}[data-theme=light] .app-nav{box-shadow:0 1px rgba(var(--accent-glow),.1),0 4px 16px rgba(var(--accent-glow),.06)}.nav-link{text-decoration:none;padding:.55rem 1.4rem;border-radius:10px;color:var(--nav-link-color);font-weight:600;font-size:.85rem;transition:all .25s ease;display:flex;align-items:center;gap:.45rem;border:1px solid transparent;position:relative;white-space:nowrap;flex-shrink:0}.nav-link:hover{color:var(--nav-link-hover);background:var(--nav-link-hover-bg)}[data-theme=dark] .nav-link.active{color:#fff;background:var(--accent-nav-bg);border-color:var(--accent-nav-border);box-shadow:0 0 20px var(--accent-nav-glow),inset 0 1px #ffffff1a}[data-theme=light] .nav-link.active{color:var(--text-heading);background:var(--accent-nav-bg);border-color:var(--accent-nav-border);box-shadow:0 0 16px var(--accent-nav-glow),inset 0 1px #fff9}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:15%;right:15%;height:2px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#8b5cf6,#e879f9,#38bdf8);opacity:.95;box-shadow:0 0 6px #8b5cf699}.nav-icon{font-size:1rem;line-height:1}.nav-icon--text{font-size:.72rem;font-weight:800;width:1.4em;height:1.4em;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:color-mix(in srgb,var(--accent-1) 16%,transparent);color:var(--accent-1)}.theme-toggle{margin-left:.75rem;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--toggle-border);background:var(--toggle-bg);color:var(--toggle-color);font-size:.75rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .25s;line-height:1;box-shadow:0 0 0 1px transparent;letter-spacing:.03em}.theme-toggle:hover{background:var(--toggle-hover-bg);color:var(--toggle-hover-color);border-color:var(--accent-nav-border);box-shadow:0 0 12px var(--accent-nav-glow)}.logout-btn{margin-left:.5rem;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--border-input);background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:44px;min-width:44px;flex-shrink:0;white-space:nowrap}.logout-btn:hover{color:#ef4444;border-color:#ef44444d;background:#ef44440f}.app-main{flex:1;padding:2rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));max-width:1000px;width:100%;margin:0 auto;overflow-x:hidden}.app-footer{text-align:center;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));color:var(--footer-color);font-size:.75rem;border-top:1px solid var(--footer-border);margin-top:auto;letter-spacing:.04em;transition:color .35s,border-color .35s}.built-by-banner{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));letter-spacing:.03em;transition:padding .3s ease}.built-by-banner--collapsed{padding:.25rem 1rem}.built-by-banner--collapsed .built-by-content{display:none}.built-by-content{transition:opacity .3s ease}.built-by-label{font-weight:800}.built-by-toggle{background:none;border:none;color:#fff;font-size:.65rem;cursor:pointer;padding:.15rem .35rem;line-height:1;opacity:.7;transition:opacity .2s}.built-by-toggle:hover{opacity:1}.app-nav-links{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.hamburger-btn{display:none}@media(max-width:768px){.app-nav{flex-direction:column;align-items:stretch;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));gap:0}.hamburger-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.55rem .25rem;background:none;border:none;color:var(--text-primary);font-size:1.4rem;font-weight:700;cursor:pointer;line-height:1;transition:color .2s;font-family:inherit}.hamburger-btn:hover{color:var(--accent-1)}.app-nav-links{display:none;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0 .75rem;width:100%}.app-nav-links.app-nav--open{display:flex}.app-nav-links .nav-link{width:100%;justify-content:flex-start;padding:.6rem .75rem;border-radius:10px;font-size:.9rem}.app-nav-links .theme-toggle,.app-nav-links .logout-btn{width:100%;margin-left:0;text-align:left;justify-content:flex-start}}@media(max-width:600px){.app-header{padding:2rem 1rem 1rem}.app-title{font-size:1.7rem}.app-nav{gap:.25rem;padding:.5rem max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.nav-link{padding:.5rem .85rem;font-size:.78rem}.app-main{padding:1.25rem max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}}@media(max-width:480px){.app-title{font-size:1.5rem}.app-nav{flex-wrap:wrap;justify-content:center}.nav-link .nav-label{display:inline}.nav-link .nav-icon{display:none}.nav-link{padding:.45rem .7rem;font-size:.75rem;min-height:38px}.theme-toggle{padding:.5rem .6rem;min-height:44px;min-width:44px;font-size:0;letter-spacing:0}[data-theme=dark] .theme-toggle:before{content:"☀";font-size:1rem}[data-theme=light] .theme-toggle:before{content:"🌙";font-size:1rem}.logout-btn{padding:.4rem .55rem;font-size:.68rem}.app-main{padding:1rem max(.6rem,env(safe-area-inset-left));padding-right:max(.6rem,env(safe-area-inset-right))}}@media(max-width:360px){.app-title{font-size:1.3rem}.app-subtitle{font-size:.75rem}.nav-link{padding:.5rem .45rem}.nav-icon{font-size:1.05rem}.logout-btn{font-size:0;padding:.5rem}.logout-btn:before{content:"✕";font-size:1rem}.app-main{padding:.75rem max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}}@media(max-width:768px)and (orientation:landscape){.app-header{padding:1rem 1rem .5rem}.app-title{font-size:1.5rem}.app-subtitle{display:none}.app-nav{padding:.4rem max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.nav-link{padding:.4rem .85rem;min-height:40px}}.app-greeting--clickable{cursor:pointer;transition:opacity .2s ease}.app-greeting--clickable:hover{opacity:.75}.greeting-edit-wrapper{display:inline-flex;align-items:center;justify-content:center;gap:0;margin-bottom:.25rem;font-size:.85rem;font-weight:600;color:var(--greeting-color);letter-spacing:.02em;position:relative;z-index:1}.greeting-edit-prefix,.greeting-edit-suffix{font-size:.85rem;font-weight:600;color:var(--greeting-color);letter-spacing:.02em;line-height:1}.greeting-edit-input{font-family:inherit;font-size:.85rem;font-weight:600;color:var(--greeting-color);letter-spacing:.02em;background:transparent;border:none;border-bottom:1.5px solid var(--greeting-color);outline:none;padding:0 2px;width:120px;line-height:1;caret-color:var(--greeting-color)}.welcome-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;animation:fadeUp .35s ease}[data-theme=light] .welcome-modal-backdrop{background:#0006}.welcome-modal{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid var(--border-card);box-shadow:var(--card-shadow);padding:2.5rem 2rem 2rem;width:100%;max-width:420px;text-align:center;animation:fadeUp .4s ease}.welcome-modal-title{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#38bdf8,#2dd4bf,#67e8f9);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;line-height:1.3}[data-theme=light] .welcome-modal-title{background:linear-gradient(135deg,var(--accent-1),var(--accent-2),var(--accent-1));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-modal-subtitle{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:500}.welcome-modal-form{display:flex;flex-direction:column;gap:1rem}.welcome-modal-input{font-family:inherit;font-size:.95rem;font-weight:500;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-input);border-radius:10px;padding:.7rem 1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.welcome-modal-input::placeholder{color:var(--text-secondary);opacity:.6}.welcome-modal-input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-1) 18%,transparent)}[data-theme=light] .welcome-modal-input{background:#0000000a}.welcome-modal-btn{font-family:inherit;font-size:.9rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));border:none;border-radius:10px;padding:.75rem 1.5rem;cursor:pointer;transition:opacity .2s ease,transform .15s ease;letter-spacing:.02em}.welcome-modal-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.welcome-modal-btn:active:not(:disabled){transform:translateY(0)}.welcome-modal-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:480px){.welcome-modal{max-width:calc(100vw - 2rem);padding:2rem 1.25rem 1.5rem}.welcome-modal-title{font-size:1.2rem}.welcome-modal-btn,.welcome-modal-input{min-height:44px}}@media(max-width:360px){.welcome-modal{max-width:calc(100vw - 1.5rem);padding:1.5rem 1rem 1.25rem;border-radius:16px}.welcome-modal-title{font-size:1.1rem}}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:800;margin-left:.25rem;vertical-align:middle;line-height:1;padding:0 3px;box-shadow:0 1px 4px #ef444473;animation:badgePop .3s ease}@keyframes badgePop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}*{margin:0;padding:0;box-sizing:border-box}[data-theme] *,[data-theme] *:before,[data-theme] *:after{transition:background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}html{width:100%;overflow-x:hidden}[data-theme=dark]{--bg-base: #0d0f1e;--bg-card: rgba(255, 255, 255, .08);--bg-card-hover: rgba(255, 255, 255, .13);--bg-input: rgba(255, 255, 255, .07);--bg-input-focus: rgba(255, 255, 255, .11);--bg-nav: rgba(13, 15, 30, .82);--bg-option: #181a30;--border-card: rgba(var(--accent-glow), .2);--border-card-hover: rgba(var(--accent-glow), .38);--border-input: rgba(255, 255, 255, .13);--border-subtle: rgba(var(--accent-glow), .1);--text-heading: #f0f0ff;--text-primary: #dde0f5;--text-secondary: rgba(220, 220, 255, .55);--text-muted: rgba(220, 220, 255, .35);--text-faint: rgba(220, 220, 255, .22);--text-placeholder: rgba(220, 220, 255, .28);--accent-focus: rgba(var(--accent-glow), .55);--accent-focus-ring: rgba(var(--accent-glow), .15);--accent-nav-bg: rgba(var(--accent-glow), .18);--accent-nav-border: rgba(var(--accent-glow), .45);--accent-nav-glow: rgba(var(--accent-glow), .2);--heatmap-empty: rgba(var(--accent-glow), .1);--toggle-border: rgba(var(--accent-glow), .25);--toggle-bg: rgba(var(--accent-glow), .08);--toggle-color: rgba(220, 220, 255, .6);--toggle-hover-bg: rgba(var(--accent-glow), .18);--toggle-hover-color: #ffffff;--delete-hover-bg: rgba(248, 113, 113, .12);--greeting-color: rgba(220, 220, 255, .55);--subtitle-color: rgba(220, 220, 255, .42);--footer-color: rgba(220, 220, 255, .22);--footer-border: rgba(var(--accent-glow), .12);--nav-link-color: rgba(220, 220, 255, .5);--nav-link-hover: rgba(255, 255, 255, .85);--nav-link-hover-bg: rgba(var(--accent-glow), .1);--nav-border: rgba(var(--accent-glow), .18);--badge-math-bg: rgba(99, 102, 241, .25);--badge-math-color: #a5b4fc;--badge-english-bg: rgba(56, 189, 248, .22);--badge-english-color: #7dd3fc;--badge-science-bg: rgba(20, 184, 166, .22);--badge-science-color: #5eead4;--badge-history-bg: rgba(251, 191, 36, .22);--badge-history-color: #fcd34d;--badge-general-bg: rgba(148, 163, 184, .22);--badge-general-color: #94a3b8;--verified-bg: rgba(20, 184, 166, .18);--verified-color: #5eead4;--pending-bg: rgba(245, 158, 11, .18);--pending-color: #fcd34d;--category-bg: rgba(var(--accent-glow), .18);--category-color: color-mix(in srgb, var(--accent-1) 60%, white);--opp-border: var(--accent-1);--card-shadow: 0 4px 24px rgba(var(--accent-glow), .18), 0 1px 4px rgba(0, 0, 0, .4);--card-shadow-hover: 0 8px 32px rgba(var(--accent-glow), .28), 0 2px 8px rgba(0, 0, 0, .5)}[data-theme=light]{--bg-base: #ede9fe;--bg-card: #ffffff;--bg-card-hover: #fafaff;--bg-input: rgba(109, 40, 217, .04);--bg-input-focus: #ffffff;--bg-nav: rgba(255, 255, 255, .92);--bg-option: #ffffff;--border-card: rgba(var(--accent-glow), .12);--border-card-hover: rgba(var(--accent-glow), .22);--border-input: rgba(var(--accent-glow), .18);--border-subtle: rgba(var(--accent-glow), .07);--text-heading: #1e1256;--text-primary: #2d1d6e;--text-secondary: #5b4b8a;--text-muted: #8b7cb3;--text-faint: #c4b5fd;--text-placeholder: #9b8ec4;--accent-focus: rgba(var(--accent-glow), .45);--accent-focus-ring: rgba(var(--accent-glow), .12);--accent-nav-bg: rgba(var(--accent-glow), .08);--accent-nav-border: rgba(var(--accent-glow), .28);--accent-nav-glow: rgba(var(--accent-glow), .1);--heatmap-empty: rgba(var(--accent-glow), .15);--toggle-border: rgba(var(--accent-glow), .2);--toggle-bg: rgba(var(--accent-glow), .06);--toggle-color: #5b4b8a;--toggle-hover-bg: rgba(var(--accent-glow), .12);--toggle-hover-color: #1e1256;--delete-hover-bg: rgba(239, 68, 68, .08);--greeting-color: #5b4b8a;--subtitle-color: #8b7cb3;--footer-color: #9b8ec4;--footer-border: rgba(var(--accent-glow), .1);--nav-link-color: #5b4b8a;--nav-link-hover: #1e1256;--nav-link-hover-bg: rgba(var(--accent-glow), .07);--nav-border: rgba(var(--accent-glow), .12);--badge-math-bg: rgba(99, 102, 241, .12);--badge-math-color: #4f46e5;--badge-english-bg: rgba(14, 165, 233, .12);--badge-english-color: #0284c7;--badge-science-bg: rgba(20, 184, 166, .12);--badge-science-color: #0d9488;--badge-history-bg: rgba(245, 158, 11, .12);--badge-history-color: #d97706;--badge-general-bg: rgba(100, 116, 139, .12);--badge-general-color: #475569;--verified-bg: rgba(20, 184, 166, .12);--verified-color: #0d9488;--pending-bg: rgba(245, 158, 11, .12);--pending-color: #d97706;--category-bg: rgba(var(--accent-glow), .1);--category-color: color-mix(in srgb, var(--accent-1) 80%, black);--opp-border: var(--accent-1);--card-shadow: 0 2px 16px rgba(var(--accent-glow), .1), 0 1px 3px rgba(var(--accent-glow), .06);--card-shadow-hover: 0 6px 28px rgba(var(--accent-glow), .18), 0 2px 6px rgba(var(--accent-glow), .1)}:root{--accent-1: #0ea5e9;--accent-2: #14b8a6;--accent-glow: 14, 165, 233;--accent-bg-dark: #0d1520;--accent-bg-light: #e8f4f8}[data-accent=ocean]{--accent-1: #0ea5e9;--accent-2: #14b8a6;--accent-glow: 14, 165, 233;--accent-bg-dark: #0d1520;--accent-bg-light: #e8f4f8}[data-accent=violet]{--accent-1: #8b5cf6;--accent-2: #a78bfa;--accent-glow: 139, 92, 246;--accent-bg-dark: #110d24;--accent-bg-light: #ede9fe}[data-accent=sunset]{--accent-1: #f97316;--accent-2: #ef4444;--accent-glow: 249, 115, 22;--accent-bg-dark: #1a1008;--accent-bg-light: #fef3e2}[data-accent=rose]{--accent-1: #ec4899;--accent-2: #f43f5e;--accent-glow: 236, 72, 153;--accent-bg-dark: #1a0d18;--accent-bg-light: #fce7f3}[data-accent=emerald]{--accent-1: #10b981;--accent-2: #059669;--accent-glow: 16, 185, 129;--accent-bg-dark: #0a1a14;--accent-bg-light: #e6f7f0}[data-accent=gold]{--accent-1: #eab308;--accent-2: #f59e0b;--accent-glow: 234, 179, 8;--accent-bg-dark: #1a1508;--accent-bg-light: #fef9e7}[data-accent=midnight]{--accent-1: #1e3a5f;--accent-2: #0f172a;--accent-glow: 30, 58, 95;--accent-bg-dark: #0a0f1a;--accent-bg-light: #e2e8f0}[data-accent=lavender]{--accent-1: #c4b5fd;--accent-2: #a78bfa;--accent-glow: 196, 181, 253;--accent-bg-dark: #1a1528;--accent-bg-light: #f5f3ff}[data-accent=cherry]{--accent-1: #e11d48;--accent-2: #be123c;--accent-glow: 225, 29, 72;--accent-bg-dark: #1a0a10;--accent-bg-light: #fff1f2}[data-accent=mint]{--accent-1: #34d399;--accent-2: #6ee7b7;--accent-glow: 52, 211, 153;--accent-bg-dark: #0a1a14;--accent-bg-light: #ecfdf5}[data-accent=coral]{--accent-1: #fb7185;--accent-2: #f97316;--accent-glow: 251, 113, 133;--accent-bg-dark: #1a100c;--accent-bg-light: #fff7ed}[data-accent=arctic]{--accent-1: #22d3ee;--accent-2: #67e8f9;--accent-glow: 34, 211, 238;--accent-bg-dark: #0a171a;--accent-bg-light: #ecfeff}[data-accent=neon]{--accent-1: #a3e635;--accent-2: #22d3ee;--accent-glow: 163, 230, 53;--accent-bg-dark: #0f1a0a;--accent-bg-light: #f7fee7}[data-accent=storm]{--accent-1: #64748b;--accent-2: #475569;--accent-glow: 100, 116, 139;--accent-bg-dark: #0f1218;--accent-bg-light: #f1f5f9}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--text-primary);transition:background .35s,color .35s;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:100%;max-width:100%;overflow-x:hidden}.app-bg{position:fixed;inset:0;z-index:-1;transition:background .4s}.app-bg:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;pointer-events:none;z-index:1}[data-theme=dark] .app-bg{background:radial-gradient(ellipse at 15% 0%,rgba(var(--accent-glow),.3) 0%,transparent 50%),radial-gradient(ellipse at 85% 100%,rgba(var(--accent-glow),.2) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(var(--accent-glow),.08) 0%,transparent 70%),linear-gradient(155deg,var(--accent-bg-dark) 0%,color-mix(in srgb,var(--accent-bg-dark) 85%,var(--accent-1)) 35%,color-mix(in srgb,var(--accent-bg-dark) 80%,var(--accent-2)) 65%,var(--accent-bg-dark) 100%)}[data-theme=light] .app-bg{background:radial-gradient(ellipse at 10% 0%,rgba(var(--accent-glow),.18) 0%,transparent 50%),radial-gradient(ellipse at 90% 100%,rgba(var(--accent-glow),.12) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(var(--accent-glow),.08) 0%,transparent 70%),linear-gradient(155deg,var(--accent-bg-light) 0%,color-mix(in srgb,var(--accent-bg-light) 92%,white) 40%,color-mix(in srgb,var(--accent-bg-light) 88%,var(--accent-1)) 70%,var(--accent-bg-light) 100%)}[data-theme=light] .app-bg:after{opacity:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E")}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#80808033;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#80808059}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px color-mix(in srgb,var(--accent-1) 30%,transparent),0 0 20px color-mix(in srgb,var(--accent-2) 15%,transparent)}50%{box-shadow:0 0 16px color-mix(in srgb,var(--accent-1) 55%,transparent),0 0 36px color-mix(in srgb,var(--accent-2) 28%,transparent)}}.fade-up{animation:fadeUp .5s ease-out both}button:focus-visible,a:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent-1);outline-offset:2px}input:focus-visible,textarea:focus-visible{border-color:var(--accent-1);box-shadow:0 0 0 3px var(--accent-focus-ring)}
