.stats-view{--stats-block-gap: var(--space-6);display:grid;grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:var(--stats-block-gap);width:100%;overflow-x:hidden}.stats-sidebar,.stats-controls,.stats-content{min-width:0}.stats-sidebar{display:flex;flex-direction:column;gap:0}.stats-sidebar .stats-heatmap{margin-top:var(--stats-block-gap)}.stats-view--mobile{--stats-block-gap: var(--page-gap);grid-template-columns:1fr;gap:var(--stats-block-gap);width:100%;margin:0 auto;padding-inline:var(--space-2);box-sizing:border-box}.stats-view--mobile .stats-sidebar,.stats-view--mobile .stats-controls,.stats-view--mobile .stats-content{width:100%;margin-inline:auto}.stats-view--mobile .card{width:100%;box-sizing:border-box}.stats-view--mobile .stats-content>*,.stats-view--mobile .stats-sidebar>*{margin-inline:auto}.stats-view--mobile .stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:.6rem}.stats-view--mobile .stats-metrics>:nth-child(1){grid-column:2;grid-row:1}.stats-view--mobile .stats-metrics>:nth-child(2){grid-column:1;grid-row:1 / span 2;justify-content:center}.stats-view--mobile .stats-metrics>:nth-child(2) .stats-metric__icon{width:40px;height:40px}.stats-view--mobile .stats-metrics>:nth-child(2) .stats-metric__icon svg{width:21px;height:21px}.stats-view--mobile .stats-metrics>:nth-child(2) .stats-metric__label{font-size:.8rem}.stats-view--mobile .stats-metrics>:nth-child(2) .stats-metric__value{font-size:1.75rem}.stats-view--mobile .stats-metrics>:nth-child(3){grid-column:2;grid-row:2}.stats-view--mobile .stats-metric__sublabel{display:none}.stats-view--mobile .stats-metrics,.stats-view--mobile .stats-chart,.stats-view--mobile .stats-table{width:100%}.stats-controls{display:flex;flex-direction:column;gap:var(--stats-block-gap);position:sticky;top:1.5rem}.stats-controls--mobile{position:static;top:auto;gap:var(--space-3)}.stats-controls--collapsed{gap:var(--space-2)}.stats-controls__header{display:flex;align-items:center;gap:var(--space-2)}.stats-controls__mobile-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.25rem 0;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:.75rem}.stats-controls__mobile-toggle:focus-visible{outline:2px solid rgba(var(--primary-tint),.35);border-radius:.75rem;outline-offset:2px}.stats-controls__mobile-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.stats-controls__mobile-toggle:hover .stats-controls__mobile-icon,.stats-controls__mobile-toggle:focus-visible .stats-controls__mobile-icon{color:var(--text)}.stats-controls__content{display:flex;flex-direction:column;gap:1rem}.stats-controls__content--open{display:flex}.stats-controls__content--collapsed{display:none}.stats-controls__header .card-title{margin:0;display:flex;align-items:center}.stats-level-row{display:flex;align-items:stretch;gap:.5rem}@media(max-width:768px){.stats-view--mobile .stats-controls{padding:.85rem .9rem;gap:var(--space-2)}.stats-view--mobile .stats-level-row .stats-level-shortcut,.stats-view--mobile .stats-level-row__share{margin-top:0;padding-top:.45rem;padding-bottom:.45rem}.stats-view--mobile .stats-controls__mobile-toggle{padding:0}}.stats-level-row .stats-level-shortcut{flex:1;min-width:0}.stats-level-row__share{flex:0 0 auto;margin-top:.65rem;width:44px;border-radius:.75rem;border:1px solid rgba(148,163,184,.15);background:rgba(var(--primary-tint),.08);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}.stats-level-row__share:hover{border-color:rgba(var(--primary-tint),.45);background:rgba(var(--primary-tint),.16)}.stats-level-row__share:focus-visible{outline:2px solid rgba(var(--primary-tint),.5);outline-offset:2px}.stats-level-shortcut{width:100%;margin-top:.65rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.15);background:rgba(var(--primary-tint),.08);padding:.55rem .7rem;display:flex;align-items:center;gap:.6rem;text-align:left;color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease}.stats-level-shortcut:hover,.stats-level-shortcut:focus-visible{border-color:rgba(var(--primary-tint),.45);background:rgba(var(--primary-tint),.13);outline:2px solid transparent}.stats-level-shortcut--static,.stats-level-shortcut:disabled{cursor:default;opacity:.92}.stats-level-shortcut__ring{position:relative;flex-shrink:0;width:48px;height:48px}.stats-level-shortcut__ring-svg{width:100%;height:100%;display:block}.stats-level-shortcut__ring-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.stats-level-shortcut__info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.stats-level-shortcut__label{display:flex;align-items:center;gap:.3rem;font-size:.9rem;font-weight:650;line-height:1.2}.stats-level-shortcut__meta{font-size:.76rem;color:var(--muted);line-height:1.3}.stats-level-shortcut__sep{opacity:.5}.stats-level-shortcut__chevron{flex-shrink:0;color:var(--muted);opacity:.5;transition:opacity .15s ease}.stats-level-shortcut:hover .stats-level-shortcut__chevron{opacity:.8}.stats-level-modal__backdrop{z-index:10000}.stats-level-modal{width:min(560px,calc(100vw - 2rem));max-height:min(88vh,700px);overflow-y:auto;border-radius:14px;border:1px solid rgba(var(--primary-tint),.3);background:var(--bg-tertiary);color:var(--text);padding:1rem;display:flex;flex-direction:column;gap:.8rem}.stats-level-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.stats-level-modal__eyebrow{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stats-level-modal__title{margin:.25rem 0 0;font-size:1.6rem}.stats-level-modal__close{border:1px solid rgba(148,163,184,.35);background:rgba(var(--bg-tint),.4);color:var(--muted);border-radius:.6rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.stats-level-modal__close:hover,.stats-level-modal__close:focus-visible{color:var(--text);border-color:rgba(var(--primary-tint),.55);outline:2px solid transparent}.stats-level-modal__total{margin:0;font-size:1.1rem;font-weight:700}.stats-level-modal__bar{position:relative;width:100%;height:10px;border-radius:999px;overflow:hidden;background:var(--border)}.stats-level-modal__bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--primary)}.stats-level-modal__hint{margin:0;color:var(--muted);font-size:.94rem}.stats-level-modal__section{border:1px solid rgba(148,163,184,.2);background:rgba(var(--bg-tint),.4);border-radius:12px;padding:.75rem}.stats-level-modal__section-title{margin:0 0 .55rem;font-size:.9rem}.stats-level-modal__sources{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.stats-level-modal__sources li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.88rem}.stats-level-modal__sources li span{color:var(--muted)}.stats-level-modal__sources li strong{color:var(--text);font-weight:600;text-align:right}.stats-level-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.stats-controls__section{display:flex;flex-direction:column;gap:.75rem}.stats-controls__timeframe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.stats-timeframe-btn{border:1px solid rgba(148,163,184,.2);background:rgba(var(--bg-tint),.45);border-radius:.75rem;padding:.45rem .8rem;color:var(--muted);font-weight:500;cursor:pointer;transition:.2s ease}.stats-timeframe-btn:hover,.stats-timeframe-btn:focus-visible{border-color:rgba(var(--primary-tint),.45);color:var(--text);outline:2px solid transparent}.stats-timeframe-btn--active{background:rgba(var(--primary-tint),.18);border-color:rgba(var(--primary-tint),.45);color:var(--text)}.stats-timeframe-btn--locked{opacity:.55;cursor:default;display:inline-flex;align-items:center;gap:4px}.stats-timeframe-btn--locked:hover,.stats-timeframe-btn--locked:focus-visible{border-color:#94a3b833;color:var(--muted)}.stats-timeframe-btn--wide{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:4px}.stats-controls__custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-items:end}.stats-range{display:flex;flex-direction:column;gap:.65rem;margin-top:1rem}.stats-range-nav{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:center}.stats-range-nav__btn{width:40px;height:40px;border-radius:.75rem;border:1px solid rgba(148,163,184,.18);background:rgba(var(--bg-tint),.45);color:#e2e8f0d9;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease}.stats-range-nav__btn:hover,.stats-range-nav__btn:focus-visible{background:rgba(var(--primary-tint),.2);color:var(--text);outline:2px solid transparent}.stats-range-nav__label{font-weight:600;font-size:1.05rem;flex:1;align-self:center;display:flex;align-items:center;justify-content:center;color:var(--text);white-space:nowrap}.stats-range-nav__label--static{padding-left:.35rem}.stats-range-nav__today{width:100%;align-self:center;display:flex;align-items:center;justify-content:center}.stats-range-compare{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.45rem .5rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.18);background:rgba(var(--bg-tint),.45)}.stats-range-compare__toggle{width:100%;border:none;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.2rem .25rem;border-radius:.65rem;cursor:pointer}.stats-range-compare__toggle:focus-visible{outline:2px solid rgba(var(--primary-tint),.35);outline-offset:2px}.stats-range-compare__label{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--text)}.stats-range-compare__meta{display:inline-flex;align-items:center;color:var(--muted)}.stats-range-compare--locked .stats-range-compare__label{color:var(--muted)}.stats-range-compare__panel{padding-top:.15rem}.stats-range-compare__panel[hidden]{display:none}.stats-range-compare__panel .billing-toggle{width:100%;min-width:0}.stats-controls__tabs{margin-top:1rem;display:flex;border-bottom:1px solid rgba(148,163,184,.2)}.stats-tab{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.15rem 0 .5rem;margin-right:1.25rem;background:none;border:none;color:var(--muted);font-weight:600;cursor:pointer;transition:color .2s ease}.stats-tab--locked{opacity:.85}.stats-tab__lock{color:var(--muted)}.stats-tab__icon{width:16px;height:16px;color:rgba(var(--primary-tint),1);transition:opacity .2s ease,transform .2s ease}.stats-tab--active{color:var(--text)}.stats-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:999px;background:rgba(var(--primary-tint),.65)}.stats-controls__panel{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.stats-compare-search__label{margin-top:.1rem}.stats-compare-search{width:100%;margin-top:.25rem}.stats-compare-search__meta{margin-top:.25rem}.stats-compare-empty{margin-top:.5rem}.stats-compare-friends{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem}.stats-compare-person{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.45rem .6rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.22);background:rgba(var(--bg-tint),.22);transition:border-color .2s ease,background .2s ease,transform .2s ease;color:var(--text);cursor:pointer;text-align:left}.stats-compare-person:hover:not(:disabled),.stats-compare-person:focus-visible{border-color:rgba(var(--primary-tint),.35);background:rgba(var(--primary-tint),.12);outline:2px solid transparent}.stats-compare-person:disabled{opacity:.65;cursor:not-allowed}.stats-compare-person--selected{border-color:rgba(var(--primary-tint),.55);background:rgba(var(--primary-tint),.14)}.stats-compare-person__identity{display:flex;align-items:center;gap:.55rem;min-width:0}.stats-compare-person .friend-avatar--small{width:32px;height:32px}.stats-compare-person .friend-avatar--small .friend-avatar__initials{font-size:.78rem}.stats-compare-person__text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.stats-compare-person__name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-compare-person__username{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-compare-person__meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-shrink:0}.stats-compare-person__status{flex-shrink:0}.stats-compare-showmore{width:100%;justify-content:center;margin-top:.5rem}.stats-switcher,.stats-switcher-row,.stats-switcher__track,.stats-select{width:100%}.stats-select .select-dropdown__trigger{width:100%;justify-content:space-between}.stats-select__option{display:inline-flex;align-items:center;gap:.4rem}.stats-controls__section-heading{display:flex;align-items:center;gap:.35rem}.stats-controls__section-count{white-space:nowrap;flex-shrink:0;margin-left:auto}.stats-controls__section-heading-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem}.stats-compare-toggle{margin-top:.45rem}.stats-compare-toggle .billing-toggle{width:100%;min-width:0}.stats-controls__chips{display:flex;gap:.5rem;flex-wrap:wrap}.stats-controls__section--collapsible{gap:.5rem}.stats-collapse-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.15rem 0;border-radius:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.stats-collapse-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stats-collapse-toggle__label{display:flex;align-items:baseline;gap:.5rem;width:100%}.stats-collapse-toggle__count{margin-left:auto;text-align:left}.stats-collapse-toggle__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.stats-chip{border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.35rem .75rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:.2s ease;font-size:.85rem;user-select:none}.stats-chip input{display:none}.stats-chip:hover{border-color:#94a3b899}.stats-chip--active{background:rgba(var(--primary-tint),.18);border-color:rgba(var(--primary-tint),.45);color:var(--primary)}.stats-chip--type{padding-right:.9rem}.stats-chip--stacked{width:100%;justify-content:flex-start;gap:.75rem;padding:.5rem .9rem}.stats-chip__swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(var(--bg-tint),.45)}.stats-type-list{display:flex;flex-direction:column;gap:.5rem}.stats-content,.stats-premium-view{display:flex;flex-direction:column;gap:var(--stats-block-gap)}.stats-setup-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem;margin-top:1rem;padding:1rem 1.05rem;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);box-shadow:0 18px 38px rgba(var(--bg-deep-tint),.18)}.stats-setup-empty__icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--muted);background:rgba(var(--bg-tint),.4);border:1px solid var(--border)}.stats-setup-empty__copy{min-width:0}.stats-setup-empty__eyebrow{margin:0 0 .18rem;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:0;text-transform:none}.stats-setup-empty__title{margin:0;color:var(--text);font-size:1rem;line-height:1.3;font-weight:700}.stats-setup-empty__text{margin:.3rem 0 0;max-width:72ch;color:var(--muted);font-size:.88rem;line-height:1.5}.stats-setup-empty__steps{display:flex;flex-direction:column;gap:.35rem;margin:.8rem 0 0;padding:0;list-style:none}.stats-setup-empty__steps li{position:relative;padding-left:1rem;color:var(--muted);font-size:.82rem;line-height:1.45}.stats-setup-empty__steps li:before{content:"";position:absolute;left:0;top:.58em;width:5px;height:5px;border-radius:50%;background:var(--primary)}.stats-setup-empty__button{gap:.45rem;margin-top:.1rem;white-space:nowrap}.theme-light .stats-setup-empty{background:#fff;border-color:#64748b29;box-shadow:0 18px 38px #0f172a14}.theme-light .stats-setup-empty__icon{color:#64748b;background:#f8fafc;border-color:#64748b2e}.theme-light .stats-setup-empty__eyebrow{color:#64748b}.theme-light .stats-setup-empty__steps li{color:#475569}.theme-light .stats-setup-empty__steps li:before{background:var(--primary-700, #1d4ed8)}@media(max-width:760px){.stats-setup-empty{grid-template-columns:auto minmax(0,1fr);align-items:start}.stats-setup-empty__button{grid-column:1 / -1;width:100%}}.stats-compare-summary{padding:1rem 1.25rem}.stats-compare-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.stats-compare-summary__entry{border-radius:1.1rem;border:1px solid rgba(148,163,184,.22);background:rgba(var(--bg-tint),.22);padding:.85rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}.stats-compare-summary__identity{display:flex;align-items:center;gap:.65rem;min-width:0}.stats-compare-summary__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(var(--bg-tint),.45)}.stats-compare-summary__person{min-width:0}.stats-compare-summary__name{font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-compare-summary__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.stats-compare-summary__stat{display:flex;flex-direction:column;gap:.15rem;min-width:0}.stats-compare-summary__value{font-weight:700}.stats-compare-summary__empty{padding:.25rem 0}.stats-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--stats-block-gap)}.stats-metric{position:relative;display:flex;flex-direction:column;gap:.75rem}.stats-metric--toggle,.stats-metric--clickable{cursor:pointer}.stats-metric--toggle:focus-visible,.stats-metric--clickable:focus-visible{outline:2px solid rgba(var(--primary-tint),.4);outline-offset:3px}.stats-metric__header{display:flex;flex:1;align-items:flex-start;gap:.9rem}.stats-metric__icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:rgba(var(--primary-tint),.18);color:var(--primary)}.stats-metric__icon--accent{background:#f472b62e;color:#f472b6}.stats-metric__icon--streak{background:#94a3b82e}.stats-metric__icon.stats-metric__icon--streak svg{width:24px;height:24px}.stats-metric__icon--streak-locked{background:#64748b29}.stats-metric__icon--streak-starter{background:#94a3b82e}.stats-metric__icon--streak-bronze{background:#f59e0b29}.stats-metric__icon--streak-silver{background:#f973162e}.stats-metric__icon--streak-gold{background:#ef444433}.stats-metric__icon--streak-legendary{background:#dc262638}.stats-metric__summary{display:flex;flex-direction:column;flex:1;min-width:0;gap:.1rem}.stats-metric__value-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.stats-metric__label{font-size:.85rem;font-weight:500;color:var(--muted);line-height:1.2}.stats-metric__value{font-size:1.75rem;font-weight:600;line-height:1.1}.stats-metric__delta{font-size:1.05rem;font-weight:600;line-height:1.2}.stats-metric__delta--positive{color:#22c55e}.stats-metric__delta--negative{color:#f87171}.stats-metric__delta--neutral{color:#94a3b8}.stats-metric__secondary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;width:100%;margin-top:auto;padding-top:.65rem}.stats-metric__breakdown{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.35rem}.stats-metric__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#94a3b81f;font-size:.75rem;font-weight:500;color:var(--muted)}.stats-metric__chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stats-metric__chip-label{color:var(--text)}.stats-metric__chip-value{color:var(--muted)}.stats-goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:stretch}.goal-card-widget__button{width:100%;border:none;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;border-radius:1rem;display:block}.goal-card-widget__button:focus-visible{outline:2px solid rgba(var(--primary-tint),.45);outline-offset:2px}.goal-card-widget{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem 1.35rem;border-radius:1rem;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden;height:100%;box-sizing:border-box}.goal-card-widget__button:hover .goal-card-widget{transform:translateY(-2px);border-color:rgba(var(--primary-tint),.35);box-shadow:var(--shadow-md)}.goal-card-widget--complete{border-color:#22c55e4d;background:linear-gradient(135deg,rgba(34,197,94,.04) 0%,transparent 100%),var(--white)}.goal-card-widget__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.goal-card-widget__label{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.2}.goal-card-widget__pct{font-size:1.15rem;font-weight:800;color:var(--primary);letter-spacing:-.02em}.goal-card-widget__pct--complete{color:#22c55e}.goal-card-widget__body{display:flex;align-items:center;gap:1.1rem}.goal-card-widget__ring-wrap{position:relative;width:60px;height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.goal-card-widget__svg{width:60px;height:60px;overflow:visible}.goal-card-widget__ring-bg{fill:none;stroke:#94a3b829;transition:stroke .2s ease}.theme-light .goal-card-widget__ring-bg{stroke:rgba(var(--primary-tint),.16)}.goal-card-widget__ring-fill{fill:none;stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1),stroke .25s ease}.goal-card-widget__ring-fill--complete{stroke:#22c55e!important;filter:drop-shadow(0 0 8px rgba(34,197,94,.5))}.goal-card-widget__ring-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--primary);pointer-events:none}.goal-card-widget__ring-icon--complete{color:#22c55e!important}.goal-card-widget__info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.goal-card-widget__values{display:flex;align-items:baseline;gap:.35rem}.goal-card-widget__current{font-size:1.35rem;font-weight:800;color:var(--text);line-height:1.1;letter-spacing:-.02em}.goal-card-widget__target{font-size:.9rem;font-weight:500;color:var(--muted)}.goal-card-widget__status{font-size:.78rem;font-weight:600;color:var(--muted)}.goal-card-widget__status--complete{color:#22c55e}@media(max-width:560px){.goal-progress-wide{padding:.7rem .8rem;gap:.4rem}.goal-progress-wide__row{flex-wrap:nowrap;gap:.5rem}.goal-progress-wide__icon{width:24px;height:24px;border-radius:7px}.goal-progress-wide__icon svg{width:13px;height:13px}.goal-progress-wide__label{font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-progress-wide__percent{font-size:.95rem;flex-shrink:0}.goal-progress-wide__track{height:6px}.goal-progress-wide__status{font-size:.7rem}}.stats-metric__goal-progress{margin-top:.2rem;display:flex;align-items:center;gap:.6rem}.stats-metric__goal-track{position:relative;flex:1;min-width:0;height:8px;border-radius:999px;overflow:hidden;background:var(--border)}.stats-metric__goal-track--complete{background:#4ade8042}.stats-metric__goal-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#38bdf8}.stats-metric__goal-fill--complete{background:#22c55e}.stats-metric__goal-status{flex-shrink:0;font-size:.76rem;font-weight:600;color:var(--muted)}.stats-metric__goal-status--complete{color:#22c55e}.stats-metric__goal-button{width:100%;border:none;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;border-radius:.75rem}.stats-metric__goal-button:focus-visible{outline:2px solid rgba(var(--primary-tint),.45);outline-offset:2px}.stats-metric__goal-button:hover .stats-metric__goal-track,.stats-metric__goal-button:focus-visible .stats-metric__goal-track{background:rgba(var(--primary-tint),.22)}.stats-metric__goal-button:hover .stats-metric__goal-track--complete,.stats-metric__goal-button:focus-visible .stats-metric__goal-track--complete{background:#4ade8059}.study-goal-modal{width:min(560px,calc(100vw - 2rem));max-height:min(88vh,720px);overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.study-goal-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.study-goal-modal__heading{display:flex;align-items:center;gap:.75rem}.study-goal-modal__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--primary-tint),.2);color:var(--primary)}.study-goal-modal__eyebrow{margin:0 0 .1rem;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;color:var(--muted)}.study-goal-modal__content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.15rem .35rem .15rem .15rem;display:flex;flex-direction:column;gap:.75rem}.study-goal-modal__today{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .9rem;border-radius:.9rem;background:#94a3b81f;border:1px solid rgba(148,163,184,.22)}.study-goal-modal__today-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.study-goal-modal__status{margin-top:.2rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--primary)}.study-goal-modal__status--reached{color:#4ade80}.study-goal-modal__xp-hint{display:block;margin-top:.2rem;color:var(--primary);font-weight:500}.study-goal-modal__advanced-section{border-top:1px solid rgba(148,163,184,.18);padding-top:.6rem}.study-goal-modal__advanced-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:none;background:transparent;color:inherit;font-size:.88rem;font-weight:600;padding:.4rem 0;cursor:pointer}.study-goal-modal__advanced-toggle:hover{color:var(--primary)}.study-goal-modal__advanced-body{display:flex;flex-direction:column;gap:.65rem;padding-top:.5rem}.study-goal-modal__advanced-enable{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.study-goal-modal__advanced-enable input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.study-goal-modal__per-day-grid{display:flex;flex-direction:column;gap:.4rem}.study-goal-modal__per-day-row{display:flex;align-items:center;gap:.6rem}.study-goal-modal__per-day-label{width:36px;flex-shrink:0;font-size:.82rem;font-weight:600}.study-goal-modal__per-day-input{width:80px;flex-shrink:0}.study-goal-modal__per-day-xp{flex-shrink:0;font-weight:500;color:var(--primary)}.study-goal-modal__xp-info{padding:.6rem .8rem;border-radius:.6rem;background:rgba(var(--primary-tint),.08);border:1px solid rgba(var(--primary-tint),.15)}.study-goal-modal__error{margin:0;font-size:.82rem;color:#fca5a5}.study-goal-modal__actions{display:flex;justify-content:flex-end;gap:.6rem}@media(max-width:560px){.study-goal-modal__actions{flex-direction:column-reverse;align-items:stretch}.study-goal-modal__actions .btn{width:100%}}.stats-streak-alert{position:absolute;top:.75rem;right:.75rem;z-index:3}.stats-streak-alert:hover,.stats-streak-alert:focus-within{z-index:12000}.stats-streak-alert__trigger{width:22px;height:22px;border:1px solid rgba(245,158,11,.6);border-radius:999px;background:#f59e0b24;color:#fbbf24;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;line-height:1;cursor:help;padding:0}.stats-streak-alert__trigger:focus-visible{outline:2px solid rgba(251,191,36,.55);outline-offset:2px}.stats-streak-alert__tooltip{position:absolute;bottom:calc(100% + .45rem);right:0;min-width:200px;max-width:min(72vw,280px);border-radius:10px;border:1px solid rgba(245,158,11,.45);background:#24190cf7;color:#fbbf24;font-size:.73rem;font-weight:700;line-height:1.3;padding:.4rem .56rem;text-align:left;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none;z-index:12001;box-shadow:0 14px 30px rgba(var(--bg-deep-tint),.62)}.stats-streak-alert:hover .stats-streak-alert__tooltip,.stats-streak-alert:focus-within .stats-streak-alert__tooltip{opacity:1;visibility:visible;transform:translateY(0)}.streak-skip-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.35rem .7rem;border:1px solid rgba(99,102,241,.4);border-radius:.5rem;background:#6366f11a;color:#a5b4fcf2;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.streak-skip-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f199}.streak-skip-btn:disabled{opacity:.5;cursor:not-allowed}.streak-skip-active{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.3rem .6rem;border-radius:.5rem;background:#22c55e1f;color:#86efacf2;font-size:.78rem}.streak-skip-active__label{font-weight:500}.streak-skip-active__undo{margin-left:.25rem;padding:.15rem .4rem;border:1px solid rgba(239,68,68,.35);border-radius:.3rem;background:transparent;color:#fca5a5e6;font-size:.72rem;cursor:pointer;transition:background .15s}.streak-skip-active__undo:hover:not(:disabled){background:#ef444426}.streak-vacation-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.3rem .6rem;border:1px solid rgba(34,197,94,.3);border-radius:.5rem;background:transparent;color:#86efacd9;font-size:.72rem;cursor:pointer;transition:background .15s}.streak-vacation-btn:hover:not(:disabled){background:#22c55e1a}.streak-vacation-btn:disabled{opacity:.45;cursor:not-allowed}.streak-vacation-active{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.3rem .6rem;border-radius:.5rem;background:#22c55e1f;color:#86efacf2;font-size:.78rem}.streak-vacation-active__label{font-weight:500}.streak-vacation-active__cancel{margin-left:.25rem;padding:.15rem .4rem;border:1px solid rgba(239,68,68,.35);border-radius:.3rem;background:transparent;color:#fca5a5e6;font-size:.72rem;cursor:pointer}.streak-vacation-active__cancel:hover{background:#ef444426}.streak-vacation-form{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.6rem;border:1px solid rgba(99,102,241,.2);border-radius:.5rem;background:rgba(var(--bg-tint),.5)}.streak-vacation-form__field{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.streak-vacation-form__field span{min-width:2.5rem;color:#94a3b8e6}.streak-vacation-form__field input[type=date]{flex:1;padding:.25rem .4rem;border:1px solid var(--border);border-radius:.3rem;background:rgba(var(--bg-tint),.7);color:inherit;font-size:.78rem}.streak-vacation-form__hint{margin:0;font-size:.7rem;color:#94a3b899}.streak-vacation-form__actions{display:flex;gap:.4rem;margin-top:.2rem}.streak-vacation-form__submit,.streak-vacation-form__cancel{padding:.3rem .6rem;border:1px solid rgba(99,102,241,.35);border-radius:.35rem;background:#6366f11f;color:#a5b4fcf2;font-size:.75rem;cursor:pointer}.streak-vacation-form__submit:disabled{opacity:.45;cursor:not-allowed}.streak-vacation-form__cancel{border-color:var(--border);background:transparent;color:#94a3b8d9}.theme-light .streak-skip-btn{border-color:#4f46e54d;background:#4f46e50f;color:#4338ca}.theme-light .streak-skip-active{background:#22c55e1a;color:#15803d}.theme-light .streak-skip-active__undo{border-color:#dc262640;color:#dc2626}.theme-light .streak-vacation-btn{border-color:#16a34a40;color:#15803d}.theme-light .streak-vacation-active{background:#22c55e14;color:#15803d}.theme-light .streak-vacation-form{border-color:#4f46e526;background:rgba(var(--bg-tint),.04)}.theme-light .streak-vacation-form__field input[type=date]{border-color:#64748b33;background:#fff}.streak-flame{display:inline-block;transform-origin:50% 100%}.stats-streak-pill{display:inline-flex;align-items:center;gap:.25rem}.stats-streak-pill__number{line-height:1}.streak-flame-tone--locked{color:#64748b;filter:none}.streak-flame-tone--starter{color:#94a3b8}.streak-flame-tone--bronze{color:#f59e0b}.streak-flame-tone--silver{color:#f97316}.streak-flame-tone--gold{color:#ef4444}.streak-flame-tone--legendary{color:#dc2626}.streak-flame--idle{animation:none}.streak-flame--soft{animation:streak-flame-soft 2.8s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(245,158,11,.4))}.streak-flame--active{animation:streak-flame-active 1.8s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(249,115,22,.45))}.streak-flame--intense{animation:streak-flame-intense 1s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(239,68,68,.5))}@keyframes streak-flame-soft{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.06)}}@keyframes streak-flame-active{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-2px) scale(1.1)}65%{transform:translateY(-1px) scale(1.04)}}@keyframes streak-flame-intense{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-2px) scale(1.14)}50%{transform:translateY(-3px) scale(1.2)}75%{transform:translateY(-1px) scale(1.08)}}.stats-chart{display:flex;flex-direction:column;gap:1rem}.stats-chart__header{display:flex;flex-direction:column;gap:.3rem}.stats-chart__heading-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.stats-chart__heading{display:flex;align-items:center;gap:.5rem;min-width:0}.stats-chart__heading svg{width:20px;height:20px;flex-shrink:0}.stats-chart__header-right{flex-shrink:0}.stats-chart__title,.stats-chart__subtitle{margin:0}.stats-chart__body{margin-top:.5rem;margin-bottom:-2rem;position:relative}.stats-chart__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;color:var(--text-muted, #94a3b8);font-size:.75rem}.stats-chart__legend--overlay{position:absolute;top:.75rem;right:.9rem;max-width:calc(100% - 1.5rem);padding:.35rem .6rem;background:rgba(var(--bg-tint),.65);border:1px solid rgba(148,163,184,.35);border-radius:.85rem;backdrop-filter:blur(6px);pointer-events:none}.stats-chart__legend-item{display:inline-flex;align-items:center;gap:.4rem}.stats-chart__legend-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px #94a3b866}.stats-chart__mui{--stats-grid-color: rgba(226, 232, 240, .35);--stats-grid-zero-color: rgba(248, 250, 252, .6);--stats-line-color: rgba(99, 132, 255, .95);--stats-point-color: #5c6cff;--stats-bar-color: #5c6cff;--stats-compare-line: #ef4444;--stats-axis-color: #f8fafc;--stats-tooltip-bg: rgba(var(--bg-tint), .92);--stats-tooltip-fg: #f8fafc;--stats-tooltip-border: rgba(148, 163, 184, .35);--stats-bar-shadow: 0 10px 24px rgba(37, 99, 235, .25);width:100%;height:100%}.stats-chart__mui svg,.stats-chart__mui .MuiChartsSurface-root{overflow:visible}.stats-chart__mui .MuiLineElement-root{stroke:var(--stats-compare-line);stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(var(--bg-tint),.7)) drop-shadow(0 12px 26px rgba(var(--bg-tint),.85))}.stats-chart__mui .MuiMarkElement-root{display:none}.stats-heatmap{display:flex;flex-direction:column;width:100%;padding:var(--stats-heatmap-pad);gap:1rem;--stats-heatmap-pad: var(--space-5);--stats-heatmap-cell: 20px;--stats-heatmap-gap: 8px;--stats-heatmap-level-0: rgba(var(--bg-tint), .55);--stats-heatmap-level-1: rgba(97, 166, 251, .35);--stats-heatmap-level-2: rgba(97, 166, 251, .55);--stats-heatmap-level-3: rgba(97, 166, 251, .75);--stats-heatmap-level-4: rgba(97, 166, 251, .95)}.stats-heatmap__heading{display:flex;align-items:center;gap:.5rem}.stats-heatmap__toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:0;border:none;background:transparent;color:inherit;cursor:pointer}.stats-heatmap__toggle:focus-visible{outline:2px solid rgba(var(--primary-tint),.35);outline-offset:4px;border-radius:12px}.stats-heatmap__chevron{color:var(--muted);transition:transform .2s ease,color .2s ease}.stats-heatmap__toggle[aria-expanded=true] .stats-heatmap__chevron{transform:rotate(180deg);color:var(--text)}.stats-heatmap__title{margin:0}.stats-heatmap__body{display:flex;flex-direction:column;gap:1rem;padding:0}.stats-heatmap__legend{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.stats-heatmap__legend-scale{display:inline-flex;align-items:center;gap:.35rem}.stats-heatmap__legend-scale .stats-heatmap__cell{width:12px;height:12px;border-radius:3px}.stats-heatmap__matrix{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;column-gap:1rem;row-gap:.75rem;align-items:center}.stats-heatmap__y-labels{display:grid;grid-auto-rows:var(--stats-heatmap-cell);gap:var(--stats-heatmap-gap);justify-items:end;align-items:center;font-size:.75rem;color:var(--muted)}.stats-heatmap__cells{display:grid;grid-template-columns:repeat(7,var(--stats-heatmap-cell));grid-auto-rows:var(--stats-heatmap-cell);gap:var(--stats-heatmap-gap)}.stats-heatmap__x-labels{display:grid;grid-template-columns:repeat(7,var(--stats-heatmap-cell));gap:var(--stats-heatmap-gap);justify-items:center;font-size:.75rem;color:var(--muted)}.stats-heatmap__x-spacer{width:1px;height:1px}.stats-heatmap__cell{width:var(--stats-heatmap-cell);height:var(--stats-heatmap-cell);border-radius:5px;background:var(--stats-heatmap-level-0);border:1px solid rgba(var(--bg-tint),.2);transition:transform .2s ease,box-shadow .2s ease}.stats-heatmap__cell--level-1{background:var(--stats-heatmap-level-1)}.stats-heatmap__cell--level-2{background:var(--stats-heatmap-level-2)}.stats-heatmap__cell--level-3{background:var(--stats-heatmap-level-3)}.stats-heatmap__cell--level-4{background:var(--stats-heatmap-level-4)}.stats-heatmap__empty{padding-top:.4rem}.activity-pie__body{display:grid;--activity-pie-pad: 16px;--activity-pie-outer: calc( var(--activity-pie-size) + (var(--activity-pie-pad) * 2) );gap:var(--space-4, 1rem);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.activity-pie__body--solo{grid-template-columns:minmax(0,1fr)}.activity-pie--consistency .activity-pie__body{grid-template-columns:minmax(0,1fr);gap:var(--space-4, 1rem)}.activity-pie--consistency .activity-pie__panel{height:auto}.activity-pie--consistency .activity-pie__legend{max-height:min(42vh,360px)}.activity-pie--consistency .activity-pie__legend-item{display:flex;flex-direction:column;grid-template-columns:none;align-items:stretch;column-gap:0;gap:var(--space-3);border-radius:var(--control-radius);padding:var(--space-3);background:rgba(var(--bg-tint),.34);border-color:#94a3b833;transform:none}.activity-pie--consistency .activity-pie__legend-item--active{background:rgba(var(--bg-tint),.48);border-color:rgba(var(--primary-tint),.5);transform:none}.activity-pie--consistency .activity-pie__legend-dot{display:none}.activity-pie--consistency .activity-pie__legend-title{color:var(--text)}.activity-pie--consistency .activity-pie__legend-progress-bar{margin-top:calc(var(--space-3) * -.25)}.activity-pie__chart{position:relative;width:100%;height:var(--activity-pie-outer);display:flex;align-items:center;justify-content:center;background:rgba(var(--bg-tint),.58);border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:var(--activity-pie-pad);box-sizing:border-box;overflow:hidden}.activity-pie .MuiPieArc-root{stroke:none!important;stroke-width:0!important}.activity-pie--consistency .activity-pie__chart,.activity-pie--consistency .activity-pie__legend{background:transparent;border:none}.activity-pie--no-bg .activity-pie__chart{background:transparent;border:none;box-shadow:none}.activity-pie__empty-graph{--activity-pie-pad: 16px;--activity-pie-outer: calc( var(--activity-pie-size) + (var(--activity-pie-pad) * 2) );width:min(100%,620px);margin:0 auto}.activity-pie__chart--preview{background:transparent}.activity-pie__chart--preview .insight-donut{opacity:.46;pointer-events:none}.activity-pie__chart--preview .insight-donut__segment{cursor:default}.activity-pie__center--preview{opacity:.52}.activity-pie__empty-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;max-width:28rem;margin:0 auto;padding:clamp(1rem,4vw,2.25rem);color:var(--text);font-size:var(--font-size-sm);font-weight:600;line-height:1.45;text-align:center;text-wrap:balance;pointer-events:none}.activity-pie__panel{display:flex;flex-direction:column;height:var(--activity-pie-outer);min-height:0}.activity-pie__legend{display:flex;flex-direction:column;gap:10px;overflow-y:auto;height:100%;overscroll-behavior:contain;touch-action:pan-y;padding:14px;background:rgba(var(--bg-tint),.48);border:1px solid rgba(148,163,184,.2);border-radius:14px;min-height:0;flex:1;max-height:100%;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) rgba(var(--bg-tint),.35);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.activity-pie__legend::-webkit-scrollbar{width:8px}.activity-pie__legend::-webkit-scrollbar-track{background:rgba(var(--bg-tint),.35);border-radius:999px}.activity-pie__legend::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.activity-pie__legend-item{border:1px solid var(--border);background:rgba(var(--bg-tint),.26);border-radius:12px;padding:11px 12px;display:grid;grid-template-columns:14px 1fr;align-items:flex-start;column-gap:12px;cursor:pointer;color:#e2e8f0;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}.activity-pie__legend-item--active{background:rgba(var(--primary-700-tint),.2);border-color:rgba(var(--primary-tint),.55);transform:translateY(-1px)}.activity-pie__legend-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;margin-top:.45rem}.activity-pie__legend-text{display:flex;flex-direction:column;gap:.28rem;min-width:0}.activity-pie__legend-main{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem}.activity-pie__legend-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-pie__legend-value{flex-shrink:0;color:#f8fafc;font-weight:700;font-size:.82rem}.activity-pie__legend-meta{display:flex;align-items:center;gap:.4rem}.activity-pie__legend-subtitle{color:#cbd5e1;font-size:.73rem;letter-spacing:.01em}.activity-pie__legend-bar{width:100%;height:6px;border-radius:999px;background:rgba(var(--bg-tint),.88);overflow:hidden;margin-top:.18rem}.activity-pie__legend-bar-fill{display:block;height:100%;border-radius:inherit;transition:width .25s ease}.activity-pie__center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(48%,148px);text-align:center;pointer-events:none;display:grid;gap:.15rem}.activity-pie__center-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:600}.activity-pie__center-value{font-size:clamp(1.05rem,1.2vw,1.3rem);font-weight:800;color:#f8fafc;line-height:1.1}.activity-pie__center-meta{color:#94a3b8;font-size:.7rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-courses__list{margin:0;padding:0;list-style:none}.top-courses__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.top-courses__item:last-child{border-bottom:none}.top-courses__meta{display:flex;gap:.5rem;align-items:center;min-width:0}.top-courses__dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.top-courses__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-courses__stats{text-align:right;min-width:120px}.top-courses__hours{font-weight:700}.stats-chart__bar{stroke:none;filter:var(--stats-bar-shadow);transition:transform .2s ease,filter .2s ease}.stats-chart__bar:hover{filter:drop-shadow(0 18px 28px rgba(var(--primary-700-tint),.35))}.stats-chart__popover{position:absolute;min-width:200px;max-width:240px;background:rgba(var(--bg-tint),.95);border:1px solid rgba(148,163,184,.35);border-radius:.9rem;padding:.75rem .9rem;box-shadow:0 18px 30px rgba(var(--bg-deep-tint),.65);pointer-events:none;z-index:3}.stats-chart__popover-title{font-weight:600;margin-bottom:.1rem}.stats-chart__popover-total{font-size:.9rem;margin-bottom:.35rem;color:var(--muted)}.stats-chart__popover-total span{color:var(--text);font-weight:600}.stats-chart__popover-breakdown{display:flex;flex-direction:column;gap:.25rem}.stats-chart__popover-divider{height:1px;margin:.35rem 0;background:#94a3b84d}.stats-chart__popover-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.stats-chart__popover-dot{width:10px;height:10px;border-radius:999px;margin-right:.35rem;flex:0 0 auto}.stats-chart__popover-label{flex:1}.stats-chart__popover-value{font-weight:600}.MuiChartsTooltip-root,.MuiChartsTooltip-paper{z-index:10050!important}.course-overview-modal{width:min(96vw,1040px);max-width:min(96vw,1040px)}.course-overview__header-actions{margin-left:auto;display:flex;align-items:flex-start;gap:.35rem}.course-overview-modal .settings-panel__heading{flex:1 1 0}.course-overview__top-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:.75rem;margin-top:1.35rem;width:100%}.course-overview__switcher{width:100%;min-width:0}.course-overview__body{display:flex;flex-direction:column;gap:1.25rem}.course-overview__stat--workload{display:flex;flex-direction:column;gap:.75rem}.course-overview__workload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.course-overview__workload-block{min-width:0;flex:1 1 220px}.course-overview__workload-block--right{text-align:right;flex:0 0 auto}.study-progress-bar{position:relative;width:100%;height:10px;border-radius:999px;background:var(--border);overflow:hidden}.study-progress-bar--compact{height:8px}.study-progress-bar__fill{height:100%;width:0%;border-radius:inherit;background:var(--study-progress-color, var(--primary));transition:width .26s ease}.study-progress-bar__marker{position:absolute;top:-2px;bottom:-2px;width:2px;border-radius:999px;background:#e2e8f0bf;transform:translate(-1px);opacity:.9}.course-overview__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.course-overview__summary--two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.course-overview__stat{padding:.85rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.2);background:rgba(var(--bg-tint),.4)}.course-overview__stat-value{font-size:1.2rem;font-weight:600;color:var(--text)}.course-overview__section{display:flex;flex-direction:column;gap:.75rem}.course-overview__activity-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:start}.course-overview__activity-pane{min-width:0}.course-overview__activity-pane--pie .activity-pie__body{grid-template-columns:minmax(0,1fr)}.course-overview__chart{position:relative}.course-overview__section-heading{display:flex;align-items:center;gap:.35rem}.course-overview__chips{display:flex;flex-wrap:wrap;gap:.4rem}.course-overview__chips--wide .course-overview__chip{padding:.35rem .85rem}.course-overview__chip{background:#94a3b829}.course-overview__collapse{border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0;color:inherit;cursor:pointer}.course-overview__collapse-icon{transition:transform .2s ease}.course-overview__collapse-icon.is-open{transform:rotate(180deg)}.course-overview__recent-toggle{display:flex;align-items:center;gap:.35rem}.course-overview__events{display:flex;flex-direction:column;gap:.6rem}.course-overview__event-stack{display:flex;flex-direction:column;gap:.5rem}.course-overview__load-more{border:1px dashed rgba(148,163,184,.4);background:transparent;color:var(--muted);border-radius:.85rem;padding:.6rem .85rem;cursor:pointer;font-weight:600}.course-overview__load-more:hover{color:var(--text);border-color:#94a3b8a6}.course-overview__load-more:focus-visible{outline:2px solid rgba(var(--primary-tint),.85);outline-offset:2px}.course-overview__event{display:flex;align-items:center;justify-content:space-between;padding:.65rem .85rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.18);background:rgba(var(--bg-tint),.35);width:100%;text-align:left;color:inherit;font:inherit}.course-overview__event--group{background:rgba(var(--bg-tint),.35);border-color:#94a3b82e}.course-overview__event--group.is-open{background:#33415559;border-color:#94a3b84d}.course-overview__event:focus{outline:2px solid transparent}.course-overview__event--interactive{cursor:pointer}.course-overview__event--interactive:hover{border-color:#94a3b859}.course-overview__event--interactive:focus-visible{outline:2px solid rgba(var(--primary-tint),.85);outline-offset:2px}.course-overview__event-meta{display:flex;align-items:center;gap:.5rem}.course-overview__event-chevron{display:inline-flex;align-items:center;color:var(--muted);transition:transform .2s ease,color .2s ease}.course-overview__event-chevron.is-open{transform:rotate(180deg);color:var(--text)}.course-overview__event-children{display:flex;flex-direction:column;gap:.45rem;padding-left:.85rem;margin-left:.35rem;border-left:1px solid rgba(148,163,184,.2)}.course-overview__event--child{background:rgba(var(--bg-tint),.2);border-color:#94a3b824}.course-overview__event-stack.is-open .course-overview__event--child{background:#33415559;border-color:#94a3b84d}.course-overview__event-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.course-overview__event-hours{font-weight:600}.theme-light .course-overview__stat{background:rgba(var(--primary-tint),.07)}.theme-light .course-overview__chip{background:rgba(var(--primary-tint),.1)}.theme-light .course-overview__event,.theme-light .course-overview__event--group{background:rgba(var(--white-rgb),.85);border-color:rgba(var(--primary-tint),.3)}.theme-light .course-overview__event--group.is-open{background:rgba(var(--white-rgb),.92);border-color:rgba(var(--primary-tint),.35)}.theme-light .course-overview__event--child{background:rgba(var(--white-rgb),.65);border-color:rgba(var(--primary-tint),.22)}.theme-light .course-overview__event-stack.is-open .course-overview__event--child{background:rgba(var(--white-rgb),.92);border-color:rgba(var(--primary-tint),.3)}.theme-light .study-progress-bar{background:rgba(var(--primary-tint),.15)}.theme-light .study-progress-bar__marker{background:rgba(var(--bg-tint),.35)}.stats-chart__empty{min-height:320px;display:flex;align-items:center;justify-content:flex-start;color:var(--muted)}.stats-table{display:flex;flex-direction:column}.stats-table__compare-header{margin-top:.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0 .75rem}.stats-table__compare-header span:last-child{text-align:right}.stats-table__body{display:flex;flex-direction:column;gap:.75rem}.stats-table__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:.9rem;background:#94a3b814}.stats-table__row--expandable{cursor:pointer;transition:background .2s ease,border .2s ease}.stats-table__row--expandable:hover,.stats-table__row--expandable:focus-visible{background:#94a3b829;outline:2px solid transparent}.stats-table__row--expanded{background:#94a3b833}.stats-table__class{display:flex;align-items:center;gap:.75rem}.stats-table__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:0}.stats-table__meta-top{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.stats-table__compare-values{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end}.stats-table__compare-values--inline{justify-content:flex-end}.stats-table__compare-value{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .4rem .1rem .15rem;border-radius:999px;background:#94a3b81a;border:1px solid rgba(148,163,184,.16);color:var(--text)}.stats-table__compare-value .friend-avatar--small{width:24px;height:24px}.stats-table__compare-value .friend-avatar--small .friend-avatar__initials{font-size:.65rem}.stats-table__compare-value .friend-avatar--small.friend-avatar,.stats-table__compare-value .friend-avatar.friend-avatar--small{box-shadow:0 0 0 2px #94a3b829}.stats-table__compare-value--muted{opacity:.7}.stats-table__compare-value-text{font-size:.85rem;font-weight:650;white-space:nowrap}.stats-table__hours{font-weight:600;font-size:1.1rem}.stats-table__breakdown{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.stats-table__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;background:#94a3b81f;font-size:.7rem;font-weight:500;color:var(--muted)}.stats-table__chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stats-table__chip-label{color:var(--text)}.stats-table__chip-value{color:var(--muted)}.stats-table__chip--muted{background:#94a3b814;border:1px dashed rgba(148,163,184,.35);color:var(--muted)}.stats-table__semesters{margin-top:.9rem;display:flex;flex-direction:column;gap:1.25rem}.stats-table__semester .stats-table__list{margin-top:0}.stats-table__list{margin-top:.9rem;display:flex;flex-direction:column;gap:.75rem}.stats-class-card{width:100%;text-align:left;color:inherit;font:inherit;cursor:default;--study-progress-color: var(--class-accent, var(--primary))}.stats-class-card--interactive{cursor:pointer;transition:transform .18s ease,border-color .18s ease}.stats-class-card--interactive:hover,.stats-class-card--interactive:focus-visible{transform:translateY(-1px);border-color:var(--class-accent, var(--primary));outline:2px solid transparent}.stats-class-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.stats-class-card__title{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.stats-class-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-class-card__right{flex:0 0 auto;text-align:right}.stats-class-card__hours{font-weight:600;font-size:.95rem;letter-spacing:-.01em}.stats-class-card__compare{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.stats-class-card__compare-value{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.stats-class-card__compare-value--muted{opacity:.5}.stats-class-card__compare-text{font-variant-numeric:tabular-nums}.stats-class-card__chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;margin-top:.35rem}.stats-class-group__members{display:flex;flex-direction:column;gap:.5rem;padding-left:1.25rem;border-left:2px solid var(--border-color, rgba(255,255,255,.08));margin-top:-.25rem;margin-bottom:.25rem}.stats-class-card--nested{opacity:.9}.stats-progress__subtitle{margin:.15rem 0 0}.stats-progress__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.stats-progress__info-btn{flex:0 0 auto}.stats-progress__list{margin-top:.9rem;display:flex;flex-direction:column;gap:.75rem}.stats-progress__semester .stats-progress__list{margin-top:0}.stats-progress__semesters{margin-top:.9rem;display:flex;flex-direction:column;gap:1.25rem}.stats-progress__header-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.stats-filter-chip{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;font-size:.75rem;font-weight:600;white-space:nowrap;color:var(--muted);background:var(--card-2, rgba(255, 255, 255, .03));border:1px solid var(--border);border-radius:999px;padding:.35rem .7rem;cursor:pointer;transition:color .13s,background .13s,border-color .13s}.stats-filter-chip:hover{color:var(--text);border-color:rgba(var(--primary-tint),.35)}.stats-filter-chip.is-active{color:var(--primary);background:rgba(var(--primary-tint),.12);border-color:rgba(var(--primary-tint),.4)}.stats-filter-chip:focus-visible{outline:2px solid rgba(var(--primary-tint),.5);outline-offset:1px}.stats-filter-chip__count{font-size:.7rem;font-weight:700;color:var(--muted-2);background:#94a3b824;border-radius:999px;padding:.02rem .35rem}.stats-filter-chip.is-active .stats-filter-chip__count{color:var(--primary);background:rgba(var(--primary-tint),.18)}@media(max-width:620px){.stats-filter-chip{font-size:.7rem;padding:.3rem .55rem}}.stats-progress__years{margin-top:.9rem;display:flex;flex-direction:column;gap:1.5rem}.stats-progress__year>.stats-progress__semesters{margin-top:.4rem;padding-left:.25rem}.stats-progress__year-header .classes-semester-title>span:first-child{font-size:.95rem;font-weight:700}.stats-progress__year-code{font-size:.78rem;font-weight:500;color:var(--muted)}.stats-progress-card{width:100%;text-align:left;color:inherit;font:inherit;cursor:default;--study-progress-color: var(--class-accent, var(--primary))}.stats-progress-card--interactive{cursor:pointer;transition:transform .18s ease,border-color .18s ease}.stats-progress-card--interactive:hover,.stats-progress-card--interactive:focus-visible{transform:translateY(-1px);border-color:rgba(var(--primary-tint),.55);outline:2px solid transparent}.stats-progress-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.stats-progress-card__title{display:flex;flex-direction:column;gap:.15rem;min-width:0}.stats-progress-card__subtitle-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.stats-progress-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-progress-card__numbers{display:flex;align-items:baseline;justify-content:flex-end;gap:.35rem;flex-shrink:0}.stats-progress-card__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:.15rem;flex-shrink:0}.stats-progress-card__right-top{display:flex;align-items:flex-start;justify-content:flex-end;gap:.65rem}.stats-progress-card__meta{white-space:nowrap}.stats-progress-card__accessory{display:inline-flex;align-items:center;color:var(--muted)}.stats-progress-card__hours{font-weight:700;font-size:1rem;color:var(--text);white-space:nowrap}.stats-progress-card__hint{margin:0}.stats-progress-group{display:flex;flex-direction:column;gap:.55rem}.stats-progress-group__children{padding-left:.85rem;margin-left:.35rem;border-left:1px solid rgba(148,163,184,.2)}.stats-progress-info__list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.55rem}.stats-progress-info__content{display:flex;flex-direction:column;gap:.95rem}.stats-progress-info__section{display:flex;flex-direction:column;gap:.35rem}.stats-progress-info-modal,.stats-momentum-info-modal{position:relative}.stats-progress-info-modal .settings-panel__header,.stats-momentum-info-modal .settings-panel__header{position:relative;padding-right:2.25rem}.stats-progress-info-modal .settings-panel__close,.stats-momentum-info-modal .settings-panel__close{position:absolute;top:.35rem;right:.35rem;margin-left:0}.theme-light .stats-controls{background:rgba(var(--white-rgb, 255,255,255),.9)}.theme-light .stats-level-shortcut{background:rgba(var(--primary-700-tint),.06);border-color:rgba(var(--primary-700-tint),.2)}.theme-light .stats-level-shortcut:hover,.theme-light .stats-level-shortcut:focus-visible{background:rgba(var(--primary-700-tint),.1);border-color:rgba(var(--primary-700-tint),.35)}.theme-light .stats-level-modal{background:var(--white);border-color:rgba(var(--primary-700-tint),.35)}.theme-light .stats-level-modal__close{background:var(--white);border-color:#94a3b866}.theme-light .stats-level-modal__section{background:var(--white);border-color:#94a3b847}.theme-light .stats-timeframe-btn{background:var(--bg-tertiary);border-color:#94a3b859;color:#475569}.theme-light .stats-timeframe-btn--active{background:rgba(var(--primary-tint),.12);border-color:var(--primary);color:var(--primary-700)}.theme-light .stats-tab{color:#64748b}.theme-light .stats-tab__lock{color:#94a3b8}.theme-light .stats-tab--active{color:#1e293b}.theme-light .stats-range-nav__btn{background:var(--bg-tertiary);border-color:#94a3b859;color:#475569}.theme-light .stats-range-nav__btn:hover,.theme-light .stats-range-nav__btn:focus-visible{background:rgba(var(--primary-tint),.12);color:var(--primary-700)}.theme-light .stats-range-nav__label{color:#1e293b}.theme-light .stats-range-compare{background:var(--bg-tertiary);border-color:#94a3b859}.theme-light .stats-range-compare__toggle:focus-visible{outline-color:rgba(var(--primary-700-tint),.35)}.theme-light .stats-range-compare__label{color:#1e293b}.theme-light .stats-range-compare--locked .stats-range-compare__label{color:#94a3b8}.theme-light .stats-chip{border-color:rgba(var(--primary-tint),.3);background:rgba(var(--primary-tint),.06);color:#475569}.theme-light .stats-chip--active{background:rgba(var(--primary-tint),.12);border-color:var(--primary);color:var(--primary-700)}.theme-light .stats-chip__swatch{box-shadow:0 0 0 2px rgba(var(--primary-tint),.2)}.theme-light .stats-compare-person{background:rgba(var(--primary-tint),.05);border-color:rgba(var(--primary-tint),.3)}.theme-light .stats-compare-person:hover:not(:disabled),.theme-light .stats-compare-person:focus-visible{background:rgba(var(--primary-tint),.12);border-color:rgba(var(--primary-tint),.55)}.theme-light .stats-compare-summary__entry{background:rgba(var(--primary-tint),.05);border-color:rgba(var(--primary-tint),.3)}.theme-light .stats-compare-summary__dot{box-shadow:0 0 0 2px rgba(var(--primary-tint),.2)}.theme-light .stats-metric__chip{background:rgba(var(--primary-tint),.1);color:#475569}.theme-light .stats-metric__secondary-item{background:transparent;border:none}.theme-light .stats-metric__secondary{border-top-color:rgba(var(--primary-tint),.2)}.theme-light .stats-metric__chip-value{color:#64748b}.theme-light .goal-progress-wide__icon{background:rgba(var(--primary-700-tint),.14);color:var(--primary-700)}.theme-light .goal-progress-wide--complete .goal-progress-wide__icon{background:#22c55e24;color:#15803d}.theme-light .goal-progress-wide__percent{color:var(--primary-700)}.theme-light .goal-progress-wide__percent--complete{color:#15803d}.theme-light .goal-progress-wide__track{background:rgba(var(--primary-tint),.15)}.theme-light .goal-progress-wide__track--complete{background:#22c55e33}.theme-light .goal-progress-wide__status{color:#64748b}.theme-light .goal-progress-wide--complete .goal-progress-wide__status{color:#15803d}.theme-light .goal-progress-wide__button:hover .goal-progress-wide__track{background:rgba(var(--primary-tint),.28)}.theme-light .goal-progress-wide__button:hover .goal-progress-wide__track--complete{background:#22c55e4d}.theme-light .stats-metric__goal-track{background:rgba(var(--primary-tint),.15)}.theme-light .stats-metric__goal-track--complete{background:#22c55e33}.theme-light .stats-metric__goal-status{color:#64748b}.theme-light .stats-metric__goal-status--complete{color:#15803d}.theme-light .stats-metric__goal-button:focus-visible{outline-color:rgba(var(--primary-700-tint),.35)}.theme-light .stats-metric__goal-button:hover .stats-metric__goal-track,.theme-light .stats-metric__goal-button:focus-visible .stats-metric__goal-track{background:rgba(var(--primary-tint),.28)}.theme-light .stats-metric__goal-button:hover .stats-metric__goal-track--complete,.theme-light .stats-metric__goal-button:focus-visible .stats-metric__goal-track--complete{background:#22c55e4d}.theme-light .study-goal-modal__icon{background:rgba(var(--primary-700-tint),.14);color:var(--primary-700)}.theme-light .study-goal-modal__today{background:var(--bg-tertiary);border-color:rgba(var(--primary-tint),.25)}.theme-light .study-goal-modal__status{color:var(--primary-700)}.theme-light .study-goal-modal__status--reached{color:#15803d}.theme-light .study-goal-modal__error{color:#dc2626}.theme-light .study-goal-modal__xp-hint{color:var(--primary-700)}.theme-light .study-goal-modal__advanced-section{border-top-color:rgba(var(--primary-tint),.2)}.theme-light .study-goal-modal__advanced-toggle:hover,.theme-light .study-goal-modal__per-day-xp{color:var(--primary-700)}.theme-light .study-goal-modal__xp-info{background:rgba(var(--primary-700-tint),.06);border-color:rgba(var(--primary-700-tint),.12)}.theme-light .stats-table__chip{background:rgba(var(--primary-tint),.1);color:#475569}.theme-light .stats-table__chip-value{color:#64748b}.theme-light .stats-table__chip--muted{background:rgba(var(--primary-tint),.08);border-color:rgba(var(--primary-tint),.35);color:#475569}.theme-light .stats-metric__icon{background:rgba(var(--primary-tint),.2)}.theme-light .stats-metric__icon--accent{background:#f472b633}.theme-light .stats-metric__icon--streak,.theme-light .stats-metric__icon--streak-locked,.theme-light .stats-metric__icon--streak-starter{background:rgba(var(--primary-tint),.1)}.theme-light .stats-metric__icon--streak-bronze{background:#fbbf2433}.theme-light .stats-metric__icon--streak-silver{background:#fb923c33}.theme-light .stats-metric__icon--streak-gold{background:#f8717133}.theme-light .stats-metric__icon--streak-legendary{background:#ef444438}.theme-light .stats-streak-alert__trigger{border-color:#d9770694;background:#f59e0b24;color:#b45309}.theme-light .stats-streak-alert__trigger:focus-visible{outline-color:#b4530973}.theme-light .stats-streak-alert__tooltip{border-color:#d9770680;background:#fff9ebfa;color:#b45309;box-shadow:0 12px 24px #94a3b852}.theme-light .stats-chart__mui{background:var(--white);border-color:var(--border);--stats-grid-color: var(--border);--stats-grid-zero-color: rgba(148, 163, 184, .45);--stats-line-color: rgba(var(--primary-700-tint), .85);--stats-point-color: var(--primary-700);--stats-axis-color: rgba(71, 85, 105, .9);--stats-tooltip-bg: #ffffff;--stats-tooltip-fg: #1e293b;--stats-tooltip-border: rgba(var(--primary-tint), .45);--stats-bar-shadow: 0 12px 28px rgba(var(--primary-700-tint), .22)}.theme-light .stats-heatmap{--stats-heatmap-level-0: rgba(var(--primary-tint), .08);--stats-heatmap-level-1: rgba(97, 166, 251, .4);--stats-heatmap-level-2: rgba(97, 166, 251, .6);--stats-heatmap-level-3: rgba(97, 166, 251, .8);--stats-heatmap-level-4: rgba(97, 166, 251, .95)}.theme-light .stats-heatmap__cell{border-color:rgba(var(--primary-tint),.2)}.theme-light .activity-pie__chart{background:rgba(var(--white-rgb),.9);border-color:rgba(var(--primary-tint),.3)}.theme-light .activity-pie--consistency .activity-pie__chart,.theme-light .activity-pie--consistency .activity-pie__legend{background:transparent;border:none}.theme-light .activity-pie--consistency .activity-pie__legend-item{background:rgba(var(--white-rgb),.9);border-color:rgba(var(--primary-tint),.28)}.theme-light .activity-pie--consistency .activity-pie__legend-item--active{background:var(--bg-tertiary);border-color:var(--primary)}.theme-light .activity-pie__legend{background:rgba(var(--white-rgb),.9);border-color:rgba(var(--primary-tint),.28)}.theme-light .activity-pie__legend-item{border-color:rgba(var(--primary-tint),.28);background:rgba(var(--white-rgb),.65);color:#1e293b}.theme-light .activity-pie__legend-item--active{background:rgba(var(--primary-tint),.12);border-color:var(--primary)}.theme-light .activity-pie__legend-value{color:#0f172a}.theme-light .activity-pie__legend-subtitle{color:#64748b}.theme-light .activity-pie__legend-bar{background:rgba(var(--primary-tint),.12)}.theme-light .activity-pie__legend{scrollbar-color:rgba(100,116,139,.65) rgba(var(--primary-tint),.1)}.theme-light .activity-pie__legend::-webkit-scrollbar-track{background:rgba(var(--primary-tint),.1)}.theme-light .activity-pie__legend::-webkit-scrollbar-thumb{background:#64748ba6}.theme-light .activity-pie__center-label{color:#0369a1}.theme-light .activity-pie__center-value{color:#0f172a}.theme-light .activity-pie__center-meta{color:#64748b}.theme-light .stats-table__row{background:rgba(var(--primary-tint),.05)}.theme-light .stats-table__row--expandable:hover,.theme-light .stats-table__row--expandable:focus-visible{background:rgba(var(--primary-tint),.1)}.theme-light .stats-table__row--expanded{background:rgba(var(--primary-tint),.12)}.theme-light .stats-table__compare-value{background:rgba(var(--primary-tint),.08);border-color:rgba(var(--primary-tint),.22)}@media(max-width:960px){.stats-view{grid-template-columns:1fr;justify-items:center}.stats-sidebar{width:100%}.stats-controls{position:static;top:auto;width:100%;margin-inline:0}.stats-controls__timeframe{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-controls__panel{margin-top:.75rem}.stats-content{gap:var(--stats-block-gap);width:100%;margin-inline:0}.stats-metrics{width:100%;grid-template-columns:minmax(0,1fr)}.stats-metric,.stats-chart,.stats-table{width:100%}}@media(max-width:768px){.stats-metrics{gap:var(--stats-block-gap)}.stats-metric{gap:.65rem}.stats-range{align-items:center}.stats-range-nav{justify-content:center;width:100%}.stats-range-nav__label{font-size:1rem}.stats-range-nav__today{width:100%;justify-content:center}.stats-chart{gap:.75rem}.stats-chart__body{display:flex;justify-content:center}.stats-chart__header{flex-direction:column;align-items:flex-start;gap:.5rem}.stats-chart__empty{padding-left:0;justify-content:center;text-align:center}.stats-chart__mui{margin-inline:auto}.stats-chart__mui .MuiChartsLegend-root{width:100%;justify-content:center;margin-top:.35rem}.stats-chart__mui .MuiChartsLegend-series{gap:.35rem}.stats-chart__mui .MuiChartsLegend-mark{width:8px;height:8px}.stats-chart__mui .MuiChartsLegend-label{font-size:.7rem}.stats-heatmap{--stats-heatmap-cell: 16px;--stats-heatmap-gap: 6px;--stats-heatmap-pad: var(--space-4)}.stats-heatmap__toggle{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:900px){.course-overview__activity-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.activity-pie__body{grid-template-columns:1fr}.activity-pie__panel{min-height:0}}@media(max-width:640px){.activity-pie__body{--activity-pie-pad: 12px}.stats-controls,.stats-content{width:100%}.stats-controls__timeframe{grid-template-columns:1fr}.stats-controls__content{gap:.75rem}.stats-range{margin-top:.5rem}.stats-controls__chips{gap:.4rem}.stats-controls__tabs{overflow-x:auto}.stats-chart__mui{width:100%;min-width:0}.stats-table__row{flex-direction:column;align-items:stretch;gap:.65rem}.stats-table__meta{align-items:flex-start;width:100%}.stats-table__meta-top,.stats-table__compare-values,.stats-table__breakdown{justify-content:flex-start}.activity-pie__legend{padding:10px}.top-courses__item{flex-direction:column;align-items:flex-start}.top-courses__name{white-space:normal}.top-courses__stats{text-align:left;min-width:0}}@media(max-width:520px){.stats-controls{gap:.75rem}.stats-timeframe-btn{padding:.4rem .7rem;font-size:.9rem}.stats-metric__header{gap:.5rem}.stats-metric__icon{width:36px;height:36px;border-radius:10px}.stats-metric__icon svg{width:16px;height:16px}.stats-streak-alert{top:.6rem;right:.6rem}.stats-streak-alert__trigger{width:20px;height:20px;font-size:.75rem}.stats-streak-alert__tooltip{min-width:170px;max-width:min(80vw,230px)}.stats-metric__label{font-size:.75rem}.stats-metric__value{font-size:1.2rem}.stats-metric__chip{padding:.2rem .5rem;font-size:.7rem}}@media(max-width:480px){.stats-controls__chips{flex-direction:column;align-items:stretch}.stats-chip{justify-content:flex-start}.stats-controls__custom{grid-template-columns:1fr}.stats-chart__body{overflow-x:auto;-webkit-overflow-scrolling:touch}.stats-metric{gap:.5rem}.stats-metric__label{font-size:.7rem}.stats-metric__value{font-size:1.1rem}.stats-metric__chip{padding:.2rem .45rem;font-size:.68rem}}@media(max-width:640px){.stats-metrics{grid-template-columns:1fr!important;gap:.5rem}.stats-view--mobile .stats-metrics{gap:var(--space-2)}.stats-metric{padding:var(--space-3)!important;gap:.35rem}.stats-metric__header{gap:.6rem;align-items:center}.stats-metric__icon{width:34px;height:34px;border-radius:9px}.stats-metric__icon svg{width:16px;height:16px}.stats-metric__value{font-size:1.15rem}.stats-metric__label{font-size:.75rem}.stats-metric__goal-progress{margin-top:.25rem}.stats-table__row{flex-direction:row!important;align-items:center;gap:.5rem;padding:.6rem .65rem}.stats-table__class{flex:1;min-width:0;gap:.5rem}.stats-table__class .strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;flex:1;min-width:0}.stats-table__class .muted.small{font-size:.7rem}.stats-table .dot--lg{flex-shrink:0;width:10px;height:10px}.stats-table__meta{align-items:flex-end!important;flex-shrink:0;width:auto!important}.stats-table__meta-top{justify-content:flex-end!important}.stats-table__hours{font-size:.95rem}.stats-table__breakdown{justify-content:flex-end!important;gap:.2rem}.stats-table__chip{padding:.15rem .4rem;font-size:.65rem}.stats-table__chip-dot{width:5px;height:5px}}.consistency-view{display:flex;flex-direction:column;gap:var(--space-5, 1.25rem);--stats-heatmap-level-0: rgba(51, 65, 85, .22);--stats-heatmap-level-1: rgba(var(--primary-700-tint), .32);--stats-heatmap-level-2: rgba(var(--primary-700-tint), .48);--stats-heatmap-level-3: rgba(var(--primary-tint), .68);--stats-heatmap-level-4: rgba(var(--primary-tint), .9);--consistency-accent-1: var(--primary);--consistency-accent-2: var(--primary);--consistency-accent-3: var(--primary-700);--consistency-accent-4: #2563eb;--consistency-accent-streak: #f97316;--consistency-accent-consistency: #8b5cf6;--consistency-accent-avg: var(--primary);--consistency-accent-best: #fbbf24;--consistency-accent-peak-day: #34d399;--consistency-accent-peak-hour: #f472b6;--consistency-accent-goal-streak: #f97316;--consistency-accent-goal-consistency: #22d3ee;--consistency-accent-goal-monthly: #34d399}.theme-light .consistency-view{--stats-heatmap-level-0: rgba(203, 213, 225, .48);--stats-heatmap-level-1: rgba(var(--primary-tint), .52);--stats-heatmap-level-2: rgba(var(--primary-tint), .68);--stats-heatmap-level-3: rgba(var(--primary-700-tint), .82);--stats-heatmap-level-4: rgba(37, 99, 235, .94);--consistency-accent-1: #2563eb;--consistency-accent-2: var(--primary-700);--consistency-accent-3: var(--primary);--consistency-accent-4: var(--primary);--consistency-accent-streak: #ea580c;--consistency-accent-consistency: #7c3aed;--consistency-accent-avg: #2563eb;--consistency-accent-best: #b45309;--consistency-accent-peak-day: #0f766e;--consistency-accent-peak-hour: #be185d;--consistency-accent-goal-streak: #ea580c;--consistency-accent-goal-consistency: #0891b2;--consistency-accent-goal-monthly: #059669}.consistency-momentum-card{position:relative;overflow:hidden;padding:var(--space-6, 1.5rem);border:none;background:var(--white)}.consistency-momentum-card__top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.consistency-momentum-card__heading{display:flex;flex-direction:column;gap:.32rem;max-width:70ch}.consistency-momentum-card__eyebrow-row{display:inline-flex;align-items:center;justify-content:flex-start;gap:.35rem;width:max-content}.consistency-momentum-card__top-aside{display:flex;align-items:flex-start;margin-left:auto}.consistency-momentum-card__eyebrow{margin:0;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.consistency-momentum-card__info-btn{width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--muted);flex-shrink:0}.consistency-momentum-card__info-btn svg{width:16px;height:16px}.consistency-momentum-card__info-btn:hover{background:#94a3b81a}.consistency-momentum-card__score-row{display:flex;align-items:flex-end;gap:.35rem}.consistency-momentum-card__score{margin:0;line-height:.95;font-size:clamp(2rem,4vw,2.5rem);letter-spacing:-.03em;color:var(--color-text, #e2e8f0)}.consistency-momentum-card__score-max{margin-bottom:.28rem;font-size:1rem;font-weight:600;color:var(--muted)}.consistency-momentum-card__message{margin:0;font-size:.92rem;color:var(--color-text-secondary, #cbd5e1)}.consistency-momentum-card__tier{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .72rem;border-radius:999px;border:1px solid rgba(148,163,184,.3);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.consistency-momentum-card__tier--warmup{color:#f59e0b;background:#f59e0b29;border-color:#f59e0b61}.consistency-momentum-card__tier--building{color:#38bdf8;background:rgba(var(--primary-tint),.16);border-color:rgba(var(--primary-tint),.36)}.consistency-momentum-card__tier--strong{color:#22d3ee;background:#22d3ee29;border-color:#22d3ee66}.consistency-momentum-card__tier--elite{color:#34d399;background:#34d39929;border-color:#34d39966}.consistency-momentum-card__tier-progress{position:relative;z-index:1;display:flex;flex-direction:column;gap:.38rem;margin-top:var(--space-3, .75rem)}.consistency-momentum-card__tier-track{position:relative;height:10px;border-radius:999px;overflow:hidden;background:#94a3b83b}.consistency-momentum-card__tier-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--primary-700);transition:width .45s ease}.consistency-momentum-card__tier-meta{color:var(--muted)}.consistency-momentum-card__chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:var(--space-4, 1rem)}.consistency-momentum-chip{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--border);background:#94a3b817;color:var(--color-text-secondary, #cbd5e1);font-size:.72rem;font-weight:600}.consistency-goals-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4, 1rem);margin-top:var(--space-5, 1.25rem)}.consistency-goal-card{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.05rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.22);background:var(--bg-tertiary)}.consistency-goal-card__label{font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.consistency-goal-card__value{font-size:1.22rem;line-height:1.1;color:var(--color-text, #e2e8f0)}.consistency-goal-card__detail{min-height:2.1em;line-height:1.35}.consistency-goal-card__track{position:relative;margin-top:.1rem;height:7px;border-radius:999px;overflow:hidden;background:#94a3b838}.consistency-goal-card__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .45s ease}.consistency-goal-card__fill--streak{background:var(--consistency-accent-goal-streak, #f97316)}.consistency-goal-card__fill--consistency{background:var(--consistency-accent-goal-consistency, #22d3ee)}.consistency-goal-card__fill--monthly{background:var(--consistency-accent-goal-monthly, #34d399)}.consistency-heatmap-card{padding:var(--space-6, 1.5rem);border:none;background:var(--white)}.consistency-heatmap-card .stats-chart__header{margin-bottom:.95rem}.study-heatmap-cal{position:relative;margin-top:.85rem}.study-heatmap-cal__scroll{overflow-x:auto;overflow-y:hidden;padding-top:.12rem;padding-bottom:.55rem;-webkit-overflow-scrolling:touch}.study-heatmap-cal__svg{display:block;width:100%;height:auto;min-width:100%}.study-heatmap-cal__day-label,.study-heatmap-cal__month-label{fill:var(--color-text-muted, #94a3b8);font-size:9px;font-weight:550;font-family:inherit}.study-heatmap-cal__month-label{letter-spacing:.01em;opacity:.9}.study-heatmap-cal__cell{fill:var(--stats-heatmap-level-0);cursor:pointer;transition:opacity .15s ease,fill .2s ease;stroke:none}.study-heatmap-cal__cell:hover{opacity:.88;stroke:none}.study-heatmap-cal__cell--level-1{fill:var(--stats-heatmap-level-1)}.study-heatmap-cal__cell--level-2{fill:var(--stats-heatmap-level-2)}.study-heatmap-cal__cell--level-3{fill:var(--stats-heatmap-level-3)}.study-heatmap-cal__cell--level-4{fill:var(--stats-heatmap-level-4)}.study-heatmap-cal__cell--today{stroke:none}.study-heatmap-cal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.35rem}.study-heatmap-cal__legend-scale{display:flex;gap:3px}.study-heatmap-cal__legend-cell{width:10px;height:10px;border-radius:3px;display:inline-block;background:var(--stats-heatmap-level-0);border:none}.study-heatmap-cal__legend-cell.study-heatmap-cal__cell--level-0{background:var(--stats-heatmap-level-0)}.study-heatmap-cal__legend-cell.study-heatmap-cal__cell--level-1{background:var(--stats-heatmap-level-1)}.study-heatmap-cal__legend-cell.study-heatmap-cal__cell--level-2{background:var(--stats-heatmap-level-2)}.study-heatmap-cal__legend-cell.study-heatmap-cal__cell--level-3{background:var(--stats-heatmap-level-3)}.study-heatmap-cal__legend-cell.study-heatmap-cal__cell--level-4{background:var(--stats-heatmap-level-4)}.study-heatmap-cal__tooltip{position:absolute;transform:translate(-50%,-100%);background:var(--color-surface-raised, #1e293b);border:1px solid var(--color-border, rgba(148, 163, 184, .15));border-radius:6px;padding:.35rem .55rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.72rem;color:var(--color-text, #e2e8f0);white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 4px 12px #00000040}.study-heatmap-cal__tooltip strong{font-size:.82rem}.consistency-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4, 1rem)}.consistency-stat{position:relative;display:flex;align-items:flex-start;gap:1rem;padding:var(--space-5, 1.25rem);min-height:132px;border:none;background:var(--white);transition:border-color .2s ease,background .2s ease}.consistency-stat:hover{border-color:transparent;background:var(--white)}.consistency-stat__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:12px;flex-shrink:0}.consistency-stat__icon--streak{background:#f973162e;color:#f97316}.consistency-stat__icon--consistency{background:#8b5cf633;color:var(--consistency-accent-consistency, #8b5cf6)}.consistency-stat__icon--avg{background:rgba(var(--primary-tint),.2);color:var(--consistency-accent-avg, var(--primary))}.consistency-stat__icon--best{background:#fbbf2433;color:var(--consistency-accent-best, #fbbf24)}.consistency-stat__icon--peak-day{background:#34d39933;color:var(--consistency-accent-peak-day, #34d399)}.consistency-stat__icon--peak-hour{background:#f472b633;color:var(--consistency-accent-peak-hour, #f472b6)}.consistency-stat__body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.consistency-stat__value{font-size:1.35rem;font-weight:700;line-height:1.12;color:var(--color-text, #e2e8f0)}.consistency-stat__label{font-size:.77rem;font-weight:600;letter-spacing:.01em;color:var(--color-text-secondary, #cbd5e1)}.consistency-stat__sub{font-size:.72rem;margin-top:.16rem;line-height:1.35}.consistency-dow-card{padding:var(--space-6, 1.5rem);border:none;background:var(--white)}.consistency-dow-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.consistency-dow-row{display:flex;align-items:center;gap:.75rem;width:100%}.consistency-dow-row__day{width:2.35rem;font-size:.78rem;font-weight:600;color:var(--color-text-secondary, #cbd5e1)}.consistency-dow-row__track{flex:1;min-width:0;height:9px;border-radius:999px;overflow:hidden;background:var(--color-surface-raised, rgba(var(--bg-tint), .35))}.consistency-dow-row__fill{height:100%;border-radius:inherit;background:var(--consistency-accent-3, var(--primary-700));transition:width .35s ease}.consistency-dow-row__fill.is-best{background:var(--consistency-accent-1, var(--primary))}.consistency-dow-row__value{min-width:3.6rem;text-align:right}.consistency-dow-row.is-best .consistency-dow-row__day{color:#f8fafc}.consistency-dow-row.is-best .consistency-dow-row__value{color:rgba(var(--primary-tint),.7)}.consistency-pie-wrap{padding:clamp(1.05rem,1.5vw,1.45rem);border:none;background:var(--white);display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.consistency-stats-grid>.stats-metric{min-height:132px}.consistency-pie-wrap .stats-chart__header{margin-bottom:.1rem}.theme-light .consistency-dow-row__track{background:rgba(var(--primary-tint),.12)}.theme-light .consistency-dow-row.is-best .consistency-dow-row__day{color:#0f172a}.theme-light .consistency-dow-row.is-best .consistency-dow-row__value{color:var(--primary-700)}.consistency-dow-bars{display:none}.consistency-dow-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.consistency-dow-bar__value{font-size:.68rem;font-weight:500;margin-bottom:.3rem;white-space:nowrap}.consistency-dow-bar__track{flex:1;width:100%;max-width:44px;border-radius:6px 6px 4px 4px;background:var(--color-surface-raised, rgba(var(--bg-tint), .35));display:flex;flex-direction:column;justify-content:flex-end}.consistency-dow-bar__fill{width:100%;border-radius:5px 5px 3px 3px;background:var(--primary-700);transition:height .5s ease}.consistency-dow-bar__label{font-size:.72rem;font-weight:600;margin-top:.35rem;color:var(--color-text-secondary, #cbd5e1)}.consistency-dow-bar.is-best .consistency-dow-bar__label{color:#f8fafc}.consistency-dow-bar__fill.is-best{background:#22c55e;box-shadow:0 0 0 1px #22c55e4d,0 10px 18px #10b98138}.consistency-dow-footer{text-align:center;padding-top:var(--space-3, .75rem);border-top:1px solid var(--color-border, rgba(148, 163, 184, .1));margin-top:var(--space-4, 1rem)}.consistency-pie-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3, .75rem)}.consistency-breakdown-list{margin-top:1rem}.theme-light .consistency-momentum-card{border-color:transparent;background:var(--white)}.theme-light .consistency-momentum-card__eyebrow{color:#64748b}.theme-light .consistency-momentum-card__score{color:#0f172a}.theme-light .consistency-momentum-card__score-max,.theme-light .consistency-momentum-card__tier-meta,.theme-light .consistency-momentum-card__message{color:#475569}.theme-light .consistency-momentum-chip{background:rgba(var(--primary-tint),.08);border-color:rgba(var(--primary-tint),.28);color:#334155}.theme-light .consistency-goal-card{background:var(--bg-tertiary);border-color:rgba(var(--primary-tint),.28)}.theme-light .consistency-goal-card__label{color:#64748b}.theme-light .consistency-heatmap-card,.theme-light .consistency-stat,.theme-light .consistency-dow-card,.theme-light .consistency-pie-wrap{border-color:transparent;background:var(--white)}.theme-light .consistency-stat:hover{background:var(--white);border-color:transparent}.theme-light .consistency-dow-bar__track{background:rgba(var(--primary-tint),.12)}.theme-light .consistency-dow-bar.is-best .consistency-dow-bar__label{color:#0f172a}.theme-light .consistency-dow-bar__fill.is-best{box-shadow:0 0 0 1px #22c55e59,0 8px 14px #10b9812e}.consistency-habit-card{padding:clamp(1.25rem,1.8vw,1.75rem);display:flex;flex-direction:column;gap:var(--space-5, 1.25rem)}.consistency-habit-body{display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.consistency-habit-lock{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-5, 1.25rem) var(--space-4, 1rem);border-radius:.85rem;background:rgba(var(--bg-tint),.25);border:1px dashed rgba(148,163,184,.15);text-align:center}.consistency-habit-lock__icon{color:var(--text-muted, #94a3b8);opacity:.5}.consistency-habit-lock__text{font-size:.875rem;color:var(--text-muted, #94a3b8);max-width:28rem;line-height:1.5}.theme-light .consistency-habit-lock{background:rgba(var(--primary-tint),.06);border-color:rgba(var(--primary-tint),.25)}.habit-alerts{display:flex;flex-direction:column;gap:var(--space-2, .5rem)}.habit-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .75rem;border-radius:.55rem;font-size:.85rem;line-height:1.4}.habit-alert--warning{background:#fbbf2414;border:1px solid rgba(251,191,36,.2);color:#fbbf24}.theme-light .habit-alert--warning{background:#d9770612;border-color:#d9770633;color:#b45309}.habit-alert__icon{margin-top:.1rem;flex-shrink:0}.habit-kpi__tag{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:600;text-transform:capitalize;vertical-align:middle;margin-left:.35rem}.habit-kpi__tag--great{background:#22c55e26;color:#4ade80}.habit-kpi__tag--good{background:rgba(var(--primary-tint),.15);color:var(--primary)}.habit-kpi__tag--light{background:#fbbf241f;color:#fbbf24}.habit-kpi__tag--low{background:#f871711f;color:#f87171}.theme-light .habit-kpi__tag--great{color:#16a34a;background:#22c55e1a}.theme-light .habit-kpi__tag--good{color:var(--primary-700);background:rgba(var(--primary-tint),.1)}.theme-light .habit-kpi__tag--light{color:#b45309;background:#fbbf241a}.theme-light .habit-kpi__tag--low{color:#dc2626;background:#f871711a}.habit-insight-note{display:flex;align-items:flex-start;gap:.4rem;line-height:1.5;margin:0}.habit-insight-note__icon{flex-shrink:0;margin-top:.15rem;color:#fbbf24a6}.habit-insight-note--strength .habit-insight-note__icon{color:#4ade80cc}.habit-insight-note--opportunity .habit-insight-note__icon{color:#fbbf24bf}.habit-insight-note--neutral .habit-insight-note__icon{color:#94a3b8b3}.theme-light .habit-insight-note--strength .habit-insight-note__icon{color:#16a34a}.theme-light .habit-insight-note--opportunity .habit-insight-note__icon{color:#b45309}.theme-light .habit-insight-note--neutral .habit-insight-note__icon{color:#64748b}.habit-pulse{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border-radius:.65rem;background:rgba(var(--bg-tint, 148, 163, 184),.07);border:1px solid rgba(148,163,184,.1)}.habit-pulse__label{font-size:.78rem;color:var(--text-muted, #94a3b8);flex-shrink:0}.habit-pulse__value{font-size:.95rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.theme-light .habit-pulse__value{color:var(--text-primary, #0f172a)}.habit-group{display:flex;flex-direction:column;gap:.55rem}.habit-group__label{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted, #94a3b8);opacity:.75}.habit-section{display:flex;flex-direction:column;gap:var(--space-3, .75rem);padding-top:var(--space-3, .75rem);border-top:1px solid rgba(148,163,184,.08)}.habit-section__title{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted, #94a3b8);margin:0}.theme-light .habit-section__title{color:#64748b}.habit-course-list{display:flex;flex-direction:column}.habit-course-item{display:flex;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.06)}.habit-course-item:last-child{border-bottom:none;padding-bottom:0}.habit-course-item__dot{flex-shrink:0;width:9px;height:9px;border-radius:50%}.habit-course-item__name{flex:1;font-size:.875rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-course-item__hrs{flex-shrink:0;font-size:.8rem;font-variant-numeric:tabular-nums}.habit-course-note{margin:0;font-size:.78rem;line-height:1.5;color:var(--text-muted, #94a3b8);padding-top:var(--space-2, .5rem)}.theme-light .habit-course-note{color:#64748b}@media(max-width:1024px){.consistency-goals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.consistency-momentum-card__top{flex-direction:column}.consistency-momentum-card__top-aside{margin-left:0}.consistency-momentum-card__tier{align-self:flex-start}.consistency-goals-grid{grid-template-columns:1fr}.consistency-stats-grid{grid-template-columns:repeat(2,1fr)}.consistency-pie-row{grid-template-columns:1fr}.consistency-momentum-card,.consistency-heatmap-card,.consistency-dow-card,.consistency-pie-wrap{padding:var(--space-5, 1.25rem)}.activity-pie--consistency .activity-pie__body{grid-template-columns:1fr}}@media(max-width:480px){.consistency-momentum-card{padding:var(--space-4, 1rem)}.consistency-momentum-card__score{font-size:1.95rem}.consistency-momentum-chip{width:100%;justify-content:center}.consistency-stats-grid{grid-template-columns:1fr}.consistency-stat{min-height:0;padding:var(--space-4, 1rem)}.consistency-stat__icon{width:36px;height:36px;min-width:36px;border-radius:10px}.consistency-stat__icon svg{width:16px;height:16px}}.theme-light .stats-metric__delta--positive{color:#16a34a}.theme-light .stats-metric__delta--negative{color:#dc2626}.theme-light .goal-progress-wide__fill--complete,.theme-light .stats-metric__goal-fill--complete{background:#16a34a}.theme-light .stats-metric__goal-status--complete{color:#16a34a}.theme-light .consistency-momentum-card__tier--warmup{color:#92400e;background:#92400e1a;border-color:#92400e47}.theme-light .consistency-dow-bar__fill.is-best{background:#16a34a;box-shadow:0 0 0 1px #16a34a4d,0 10px 18px #15803d2e}.theme-light .streak-flame-tone--bronze{color:#b45309}.theme-light .streak-flame-tone--silver{color:#c2410c}@media(max-width:375px){.stats-switcher__option{font-size:.78rem;padding:.4rem .35rem;gap:.25rem}.stats-switcher__icon{display:none}.stats-heatmap{--stats-heatmap-cell: 13px;--stats-heatmap-gap: 4px;--stats-heatmap-pad: var(--space-3)}.stats-range-nav__label{font-size:.9rem}.stats-timeframe-btn{padding:.35rem .5rem;font-size:.82rem}.stats-metric__value{font-size:1rem}.stats-metric__label{font-size:.68rem}.stats-level-shortcut__ring{width:40px;height:40px}.stats-level-shortcut__label{font-size:.82rem}.stats-level-shortcut__meta{font-size:.7rem}.stats-controls--mobile{gap:.5rem}.stats-range-nav__btn{width:34px;height:34px}.stats-progress-card__hours{font-size:.88rem}.consistency-momentum-card__score{font-size:1.65rem}}.consistency-clock-weekly-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--stats-block-gap, 1.5rem);align-items:stretch}@media(max-width:680px){.consistency-clock-weekly-row{grid-template-columns:1fr}}.consistency-clock-card{padding:var(--space-6, 1.5rem);display:flex;flex-direction:column}.consistency-clock-card .stats-chart__header{margin-bottom:1.1rem}.study-clock{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.study-clock__chart-wrap{width:100%;position:relative}.study-clock__svg{display:block;width:100%;height:auto}.study-clock__seg-base{fill:#94a3b81a;cursor:default}.study-clock__seg{fill:rgba(var(--primary-tint),1);transition:opacity .12s ease}.study-clock__seg--peak{fill:rgba(var(--primary-tint),1);filter:drop-shadow(0 0 5px rgba(var(--primary-tint),.5))}.study-clock__seg:hover,.study-clock__seg-base:hover+.study-clock__seg{opacity:1!important;filter:drop-shadow(0 0 6px rgba(var(--primary-tint),.55))}.study-clock__divider{stroke:rgba(var(--bg-tint),.4);stroke-width:1;pointer-events:none}.study-clock__hour-label{fill:#94a3b899;font-size:7px;font-weight:700;letter-spacing:.03em;pointer-events:none}.study-clock__center-label{fill:#94a3b8a6;font-size:6px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;pointer-events:none}.study-clock__center-value{fill:var(--text, #f8fafc);font-size:11px;font-weight:800;pointer-events:none}.theme-light .study-clock__center-value{fill:#0f172a}.study-clock__tooltip{position:absolute;transform:translate(-50%,-130%);background:rgba(var(--bg-tint),.96);border:1px solid rgba(148,163,184,.3);border-radius:8px;padding:.35rem .6rem;display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;pointer-events:none;white-space:nowrap;box-shadow:0 8px 20px rgba(var(--bg-deep-tint),.55);z-index:10}.study-clock__tooltip strong{font-weight:700;color:var(--text)}.study-clock__tooltip span{color:var(--muted)}.theme-light .study-clock__seg-bg{fill:#64748b14}.theme-light .study-clock__divider{stroke:#64748b33}.consistency-dow-card{display:flex;flex-direction:column;padding:var(--space-6, 1.5rem)}.consistency-dow-card .stats-chart__header{margin-bottom:1.1rem;flex-shrink:0}.consistency-dow-cols{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem;flex:1;padding-bottom:1.65rem;align-items:stretch}.consistency-dow-col{display:flex;flex-direction:column;align-items:center;gap:.2rem;position:relative}.consistency-dow-col__value{font-size:.58rem;font-weight:700;color:#94a3b8a6;text-align:center;height:.9rem;line-height:.9rem;white-space:nowrap;transition:color .15s ease;flex-shrink:0}.consistency-dow-col.is-best .consistency-dow-col__value{color:rgba(var(--primary-tint),.9)}.consistency-dow-col__track{flex:1;width:100%;min-height:80px;background:#94a3b817;border-radius:5px;position:relative;overflow:hidden}.consistency-dow-col__fill{position:absolute;bottom:0;left:0;right:0;background:rgba(var(--primary-tint),.35);border-radius:4px 4px 0 0;transition:height .5s cubic-bezier(.16,1,.3,1);min-height:3px}.consistency-dow-col:hover .consistency-dow-col__fill{background:rgba(var(--primary-tint),.55)}.consistency-dow-col__fill.is-best{background:rgba(var(--primary-tint),.78)}.consistency-dow-col:hover .consistency-dow-col__fill.is-best{background:rgba(var(--primary-tint),.92)}.consistency-dow-col__day{font-size:.68rem;font-weight:600;color:#94a3b8a6;text-align:center;position:absolute;bottom:-1.4rem;transition:color .15s ease}.consistency-dow-col.is-best .consistency-dow-col__day{color:rgba(var(--primary-tint),.85)}.consistency-dow-col:hover .consistency-dow-col__day,.consistency-dow-col:hover .consistency-dow-col__value{color:var(--text)}.theme-light .consistency-dow-col__track{background:rgba(var(--primary-tint),.08)}.theme-light .consistency-dow-col__fill{background:rgba(var(--primary-700-tint),.35)}.theme-light .consistency-dow-col__fill.is-best{background:rgba(var(--primary-700-tint),.75)}.consistency-fingerprint-card{padding:var(--space-6, 1.5rem)}.consistency-fingerprint-card .stats-chart__header{margin-bottom:.9rem}.study-fingerprint{display:flex;flex-direction:column;gap:.65rem}.study-fingerprint__body{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;align-items:stretch}.study-fingerprint__radar-col{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:min(360px,100%);justify-self:center;width:100%}.study-fingerprint__svg{display:block;width:100%;height:auto;overflow:visible}.study-fingerprint__legend{display:flex;align-items:center;gap:1.25rem;justify-content:center;margin-top:auto;padding-top:1rem}.study-fingerprint__legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.study-fingerprint__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.study-fingerprint__dot--you{background:rgba(var(--primary-tint),.9);box-shadow:0 0 0 2px rgba(var(--primary-tint),.2)}.study-fingerprint__dot--avg{background:#94a3b899}.study-fingerprint__grid-poly{fill:none;stroke:#94a3b833;stroke-width:1;stroke-dasharray:4 4}.study-fingerprint__axis-line{stroke:#94a3b826;stroke-width:1}.study-fingerprint__avg-fill{fill:#94a3b81a}.study-fingerprint__avg-stroke{stroke:#94a3b880;stroke-width:1.5;stroke-dasharray:5 3}.study-fingerprint__avg-dot{fill:#94a3b8a6;pointer-events:none}.study-fingerprint__user-fill{fill:rgba(var(--primary-tint),.16)}.study-fingerprint__user-stroke{stroke:rgba(var(--primary-tint),.8);stroke-width:1.8;stroke-linejoin:round}.study-fingerprint__user-dot{fill:rgba(var(--primary-tint),.9);cursor:pointer}.study-fingerprint__user-dot--active{fill:rgba(var(--primary-tint),1);filter:drop-shadow(0 0 4px rgba(var(--primary-tint),.6))}.study-fingerprint__center{fill:#94a3b873;pointer-events:none}.study-fingerprint__label{fill:#94a3b8cc;font-size:9px;font-weight:600;cursor:pointer;transition:fill .15s ease}.study-fingerprint__label--active{fill:var(--text)}.study-fingerprint__scores{display:flex;flex-direction:column;gap:.35rem}.study-fingerprint__score-row{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border-radius:10px;border:1px solid transparent;background:transparent;text-align:left;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease;width:100%}.study-fingerprint__score-row:hover,.study-fingerprint__score-row.is-hovered{background:rgba(var(--primary-tint),.08);border-color:rgba(var(--primary-tint),.2)}.study-fingerprint__score-row:focus-visible{outline:2px solid rgba(var(--primary-tint),.45);outline-offset:1px}.study-fingerprint__score-name{width:70px;flex-shrink:0;font-size:.85rem;font-weight:600;color:var(--muted);white-space:nowrap}.study-fingerprint__score-row:hover .study-fingerprint__score-name,.study-fingerprint__score-row.is-hovered .study-fingerprint__score-name{color:var(--text)}.study-fingerprint__score-bar-wrap{flex:1;min-width:0}.study-fingerprint__score-track{position:relative;width:100%;height:8px;background:#94a3b824;border-radius:999px;overflow:visible}.study-fingerprint__score-fill{position:absolute;inset:0 auto 0 0;background:rgba(var(--primary-tint),.78);border-radius:999px;transition:width .45s cubic-bezier(.16,1,.3,1)}.study-fingerprint__score-avg-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:#94a3b88c;border-radius:999px;transform:translate(-50%)}.study-fingerprint__score-pct{width:32px;flex-shrink:0;text-align:right;font-size:.82rem;font-weight:700;color:var(--muted)}.study-fingerprint__score-row:hover .study-fingerprint__score-pct,.study-fingerprint__score-row.is-hovered .study-fingerprint__score-pct{color:rgba(var(--primary-tint),.9)}.study-fingerprint__scores-hint{margin-top:.35rem;text-align:center;font-size:.72rem;opacity:.6}@media(max-width:680px){.study-fingerprint__body{grid-template-columns:1fr}}.theme-light .study-fingerprint__grid-poly{stroke:#64748b38}.theme-light .study-fingerprint__label{fill:#475569cc}.theme-light .study-fingerprint__user-fill{fill:rgba(var(--primary-700-tint),.14)}.theme-light .study-fingerprint__score-track{background:#64748b1f}.theme-light .study-fingerprint__score-avg-marker{background:#64748b73}.fp-modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;backdrop-filter:blur(4px)}.fp-modal{width:min(480px,calc(100vw - 2rem));background:var(--bg-tertiary, #111827);border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1.15rem;box-shadow:0 24px 48px #0000008c}.fp-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fp-modal__eyebrow{margin:0 0 .15rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.fp-modal__title{margin:0 0 .2rem;font-size:1.5rem;font-weight:700}.fp-modal__desc{margin:0}.fp-modal__close{width:2rem;height:2rem;border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#94a3b814;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.fp-modal__close:hover{background:#94a3b829;color:var(--text)}.fp-modal__bars{display:flex;flex-direction:column;gap:.5rem}.fp-modal__bar-row{display:flex;align-items:center;gap:.65rem}.fp-modal__bar-label{width:32px;font-size:.78rem;font-weight:600;color:var(--muted);flex-shrink:0}.fp-modal__bar-track{flex:1;height:10px;background:#94a3b824;border-radius:999px;overflow:hidden}.fp-modal__bar-fill{height:100%;border-radius:inherit;transition:width .5s cubic-bezier(.16,1,.3,1)}.fp-modal__bar-fill--you{background:rgba(var(--primary-tint),.9)}.fp-modal__bar-fill--avg{background:#94a3b880}.fp-modal__bar-pct{width:34px;text-align:right;font-size:.82rem;font-weight:700;color:var(--muted);flex-shrink:0}.fp-modal__bar-pct--you{color:rgba(var(--primary-tint),.9)}.fp-modal__delta{font-size:.78rem;font-weight:600;margin-top:.1rem;padding-left:2.9rem}.fp-modal__delta--positive{color:#34d399}.fp-modal__delta--negative{color:#f87171}.fp-modal__comparison{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.fp-modal__side{padding:.85rem 1rem;border-radius:12px;background:#94a3b812;border:1px solid rgba(148,163,184,.15);display:flex;flex-direction:column;gap:.2rem}.fp-modal__side--you{background:rgba(var(--primary-tint),.08);border-color:rgba(var(--primary-tint),.25)}.fp-modal__side-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.fp-modal__side--you .fp-modal__side-badge{color:rgba(var(--primary-tint),.8)}.fp-modal__side-value{font-size:1.2rem;font-weight:700;color:var(--text);line-height:1.15;margin-top:.15rem}.fp-modal__side--you .fp-modal__side-value{color:rgba(var(--primary-tint),.95)}.fp-modal__side-context{margin:0;line-height:1.35}.fp-modal__insight{padding:.85rem 1rem;border-radius:10px;background:#94a3b812;border-left:3px solid rgba(var(--primary-tint),.6);font-size:.88rem;line-height:1.55;color:var(--text)}.theme-light .fp-modal{background:#f8fafc;border-color:#64748b38}.theme-light .fp-modal__bar-track{background:#64748b1f}.theme-light .fp-modal__side{background:#64748b0f}.theme-light .fp-modal__side--you{background:rgba(var(--primary-700-tint),.08);border-color:rgba(var(--primary-700-tint),.25)}.theme-light .fp-modal__side--you .fp-modal__side-value,.theme-light .fp-modal__side--you .fp-modal__side-badge,.theme-light .fp-modal__bar-pct--you{color:var(--primary-700, #1d4ed8)}.habit-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem}.habit-kpi{padding:.8rem 1rem;border-radius:12px;background:rgba(var(--bg-tint),.35);border:1px solid rgba(148,163,184,.12);display:flex;flex-direction:column;gap:.2rem;border-left-width:3px}.habit-kpi--hours{border-left-color:rgba(var(--primary-tint),.7)}.habit-kpi--peak{border-left-color:#f472b6b3}.habit-kpi--session{border-left-color:#34d399b3}.habit-kpi--streak{border-left-color:#f97316b3}.habit-kpi__value{font-size:1.25rem;font-weight:700;line-height:1.15;color:var(--text);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.habit-kpi--hours .habit-kpi__value{color:rgba(var(--primary-tint),.95)}.habit-kpi--peak .habit-kpi__value{color:#f472b6}.habit-kpi--session .habit-kpi__value{color:#34d399}.habit-kpi--streak .habit-kpi__value{color:#fb923c}.habit-kpi__label{font-size:.75rem;color:var(--muted);font-weight:500}.theme-light .habit-kpi{background:rgba(var(--bg-tint),.25);border-color:#64748b2e}.theme-light .habit-kpi--hours .habit-kpi__value{color:var(--primary-700, #1d4ed8)}.theme-light .habit-kpi--peak .habit-kpi__value{color:#be185d}.theme-light .habit-kpi--session .habit-kpi__value{color:#059669}.theme-light .habit-kpi--streak .habit-kpi__value{color:#ea580c}.consistency-course-card{padding:var(--space-6, 1.5rem)}.consistency-course-card .stats-chart__header{margin-bottom:1rem}.consistency-course-list{display:flex;flex-direction:column;gap:.55rem}.consistency-course-list .stats-class-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.consistency-course-list .stats-class-card__name{font-size:.9rem}.consistency-course-list .stats-class-card__hours{flex-shrink:0}.stats-first-session{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1.75rem 1.9rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.stats-first-session__title{margin:0;color:var(--text);font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:600;letter-spacing:-.02em;text-wrap:balance}.stats-first-session__lead{max-width:62ch;margin:0;color:var(--muted);line-height:1.55}.stats-first-session__list{display:flex;flex-direction:column;gap:.4rem;margin:.35rem 0 .5rem;padding:0;list-style:none}.stats-first-session__list li{position:relative;padding-left:1.1rem;color:var(--text);line-height:1.5}.stats-first-session__list li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--primary)}.stats-first-session__cta{margin-top:.35rem}@media(max-width:680px){.stats-first-session{padding:1.35rem}.stats-first-session__cta{width:100%;justify-content:center}}
