.MasteryHeatmap-module__az9Ijq__heatmap{padding:1.5rem}.MasteryHeatmap-module__az9Ijq__header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.MasteryHeatmap-module__az9Ijq__headerIcon{color:var(--accent-gold,#d4a574);font-size:1.5rem}.MasteryHeatmap-module__az9Ijq__header h3{margin:0}.MasteryHeatmap-module__az9Ijq__loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8);flex-direction:column;display:flex}.MasteryHeatmap-module__az9Ijq__grid{grid-template-columns:auto repeat(5,1fr);gap:4px;margin-bottom:1rem;display:grid}.MasteryHeatmap-module__az9Ijq__levelHeader{color:var(--text-muted,#666);text-align:center;padding:.25rem;font-size:.7rem;font-weight:600}.MasteryHeatmap-module__az9Ijq__moduleLabel{color:var(--text-secondary,#888);align-items:center;padding-right:.5rem;font-size:.75rem;display:flex}.MasteryHeatmap-module__az9Ijq__cell{aspect-ratio:1;border-radius:4px;justify-content:center;align-items:center;min-width:32px;min-height:32px;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.MasteryHeatmap-module__az9Ijq__cell:hover{opacity:.9;transform:scale(1.1)}.MasteryHeatmap-module__az9Ijq__cellValue{color:var(--bg-primary,#0f0f1a);opacity:0;font-size:.6rem;font-weight:600;transition:opacity .2s}.MasteryHeatmap-module__az9Ijq__cell:hover .MasteryHeatmap-module__az9Ijq__cellValue{opacity:1}.MasteryHeatmap-module__az9Ijq__legend{justify-content:center;align-items:center;gap:.5rem;display:flex}.MasteryHeatmap-module__az9Ijq__legendScale{gap:2px;display:flex}.MasteryHeatmap-module__az9Ijq__legendCell{border-radius:3px;width:16px;height:16px}@media (max-width:480px){.MasteryHeatmap-module__az9Ijq__heatmap{padding:1rem}.MasteryHeatmap-module__az9Ijq__cell{min-width:24px;min-height:24px}.MasteryHeatmap-module__az9Ijq__levelHeader{font-size:.6rem}.MasteryHeatmap-module__az9Ijq__moduleLabel{font-size:.65rem}.MasteryHeatmap-module__az9Ijq__legendCell{width:12px;height:12px}}@media (max-width:375px){.MasteryHeatmap-module__az9Ijq__grid{gap:2px}.MasteryHeatmap-module__az9Ijq__cell{border-radius:2px;min-width:20px;min-height:20px}.MasteryHeatmap-module__az9Ijq__levelHeader{font-size:.55rem}.MasteryHeatmap-module__az9Ijq__moduleLabel{font-size:.6rem}}
.StreakCalendar-module__KD7aAW__calendar{padding:1.5rem}.StreakCalendar-module__KD7aAW__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.StreakCalendar-module__KD7aAW__headerTitle{align-items:center;gap:.75rem;display:flex}.StreakCalendar-module__KD7aAW__headerIcon{color:var(--accent-gold,#d4a574);font-size:1.5rem}.StreakCalendar-module__KD7aAW__header h3{margin:0}.StreakCalendar-module__KD7aAW__streakBadge{color:var(--accent-gold,#d4a574);background:#d4a5741a;border-radius:1rem;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:flex}.StreakCalendar-module__KD7aAW__streakIcon{color:var(--accent-gold,#d4a574);font-size:1rem}.StreakCalendar-module__KD7aAW__calendarGrid{gap:4px;margin-bottom:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.StreakCalendar-module__KD7aAW__dayLabels{flex-direction:column;gap:2px;padding-right:4px;display:flex}.StreakCalendar-module__KD7aAW__dayLabel{height:12px;color:var(--text-muted,#666);align-items:center;font-size:.6rem;display:flex}.StreakCalendar-module__KD7aAW__weeks{gap:2px;display:flex}.StreakCalendar-module__KD7aAW__week{flex-direction:column;gap:2px;display:flex}.StreakCalendar-module__KD7aAW__day{cursor:pointer;border-radius:2px;width:12px;height:12px;transition:transform .2s}.StreakCalendar-module__KD7aAW__day:hover{transform:scale(1.3)}.StreakCalendar-module__KD7aAW__day.StreakCalendar-module__KD7aAW__today{outline:2px solid var(--accent-gold,#d4a574);outline-offset:1px}.StreakCalendar-module__KD7aAW__legend{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.StreakCalendar-module__KD7aAW__legendScale{gap:2px;display:flex}.StreakCalendar-module__KD7aAW__legendCell{border-radius:2px;width:12px;height:12px}.StreakCalendar-module__KD7aAW__stats{border-top:1px solid var(--border,#333);justify-content:space-around;padding-top:1rem;display:flex}.StreakCalendar-module__KD7aAW__stat{text-align:center}.StreakCalendar-module__KD7aAW__stat h3{margin-bottom:0;line-height:1.2}@media (max-width:480px){.StreakCalendar-module__KD7aAW__calendar{padding:1rem}.StreakCalendar-module__KD7aAW__header{flex-direction:column;align-items:flex-start}.StreakCalendar-module__KD7aAW__day{width:10px;height:10px}.StreakCalendar-module__KD7aAW__dayLabel{height:10px;font-size:.55rem}.StreakCalendar-module__KD7aAW__legendCell{width:10px;height:10px}.StreakCalendar-module__KD7aAW__stats{gap:1rem}.StreakCalendar-module__KD7aAW__stat h3{font-size:1.25rem}}
.Dashboard-module__gOMfzW__shell{gap:var(--space-6);flex-direction:column;display:flex}.Dashboard-module__gOMfzW__loadingState{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;min-height:40vh;display:flex}.Dashboard-module__gOMfzW__topBar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.Dashboard-module__gOMfzW__topBarActions{align-items:center;gap:var(--space-2);display:flex}@media (min-width:1024px){.Dashboard-module__gOMfzW__topBar{display:none}}.Dashboard-module__gOMfzW__intro{gap:var(--space-1);flex-direction:column;display:flex}.Dashboard-module__gOMfzW__greeting{font-size:var(--text-3xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.Dashboard-module__gOMfzW__tagline{font-size:var(--text-base);color:var(--text-secondary);margin:0}.Dashboard-module__gOMfzW__layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr);grid-template-areas:"today""stats""learn""aside""widgets";display:grid}.Dashboard-module__gOMfzW__today{grid-area:today}.Dashboard-module__gOMfzW__stats{grid-area:stats}.Dashboard-module__gOMfzW__learn{grid-area:learn}.Dashboard-module__gOMfzW__aside{grid-area:aside}.Dashboard-module__gOMfzW__widgets{grid-area:widgets}@media (min-width:1280px){.Dashboard-module__gOMfzW__layout{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"today aside""stats aside""learn aside""widgets aside";align-items:start}.Dashboard-module__gOMfzW__aside{top:var(--space-6);position:sticky}}.Dashboard-module__gOMfzW__sectionTitle{margin:0 0 var(--space-3);font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.Dashboard-module__gOMfzW__today{gap:var(--space-5);padding:var(--space-6);border:1px solid var(--accent-gold-border);border-radius:var(--radius-xl);background:radial-gradient(ellipse 80% 120% at 100% 0%, color-mix(in srgb, var(--accent-red) 14%, transparent), transparent 60%), color-mix(in srgb, var(--bg-card) 92%, transparent);display:grid}@media (min-width:768px){.Dashboard-module__gOMfzW__today{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center}}.Dashboard-module__gOMfzW__todayMain{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.Dashboard-module__gOMfzW__eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-gold);margin:0;font-weight:600}.Dashboard-module__gOMfzW__todayTitle{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-snug);color:var(--text-primary);margin:0}.Dashboard-module__gOMfzW__todayText{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary);margin:0}.Dashboard-module__gOMfzW__todayButton{align-items:center;gap:var(--space-2);margin-top:var(--space-2);min-height:var(--tap-target-min);display:inline-flex}@media (max-width:480px){.Dashboard-module__gOMfzW__today{padding:var(--space-5)}.Dashboard-module__gOMfzW__todayButton{justify-content:center;align-self:stretch}}.Dashboard-module__gOMfzW__todayStats{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-overlay-soft);flex-direction:column;display:flex}.Dashboard-module__gOMfzW__streak{align-items:center;gap:var(--space-3);display:flex}.Dashboard-module__gOMfzW__streakIcon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-muted);background:var(--surface-overlay);flex:none;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.Dashboard-module__gOMfzW__streakActive{color:var(--accent-gold);background:var(--accent-gold-dim)}.Dashboard-module__gOMfzW__streakValue{color:var(--text-primary);margin:0;font-weight:600}.Dashboard-module__gOMfzW__streakMessage{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.Dashboard-module__gOMfzW__goal{gap:var(--space-2);flex-direction:column;display:flex}.Dashboard-module__gOMfzW__goalHeader{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);display:flex}.Dashboard-module__gOMfzW__goalLabel{align-items:center;gap:var(--space-1);color:var(--text-secondary);display:inline-flex}.Dashboard-module__gOMfzW__goalValue{color:var(--accent-gold);font-weight:600}.Dashboard-module__gOMfzW__goalTrack{border-radius:var(--radius-pill);background:var(--surface-overlay-strong);height:8px;overflow:hidden}.Dashboard-module__gOMfzW__goalFill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-gold), var(--accent-red));height:100%;transition:width var(--duration-slow) var(--ease-out)}.Dashboard-module__gOMfzW__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.Dashboard-module__gOMfzW__stat{align-items:center;column-gap:var(--space-3);padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 85%, transparent);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value""icon label";display:grid}.Dashboard-module__gOMfzW__statIcon{color:var(--accent-gold);grid-area:icon;font-size:1.25rem;display:inline-flex}.Dashboard-module__gOMfzW__statValue{font-size:var(--text-xl);color:var(--text-primary);font-variant-numeric:tabular-nums;grid-area:value;margin:0;font-weight:700;line-height:1.1}.Dashboard-module__gOMfzW__statLabel{font-size:var(--text-xs);color:var(--text-secondary);grid-area:label}@media (max-width:480px){.Dashboard-module__gOMfzW__stats{gap:var(--space-2)}.Dashboard-module__gOMfzW__stat{justify-items:center;row-gap:var(--space-1);padding:var(--space-3) var(--space-2);text-align:center;grid-template-columns:minmax(0,1fr);grid-template-areas:"icon""value""label"}}.Dashboard-module__gOMfzW__modules{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.Dashboard-module__gOMfzW__module{align-items:flex-start;gap:var(--space-4);height:100%;padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 85%, transparent);color:inherit;transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);text-decoration:none;display:flex}.Dashboard-module__gOMfzW__module:hover{border-color:var(--accent-gold-border);transform:translateY(-2px)}.Dashboard-module__gOMfzW__module:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.Dashboard-module__gOMfzW__moduleIcon{border-radius:var(--radius-md);background:var(--accent-gold-dim);width:48px;height:48px;color:var(--accent-gold);flex:none;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.Dashboard-module__gOMfzW__moduleGlyph{font-family:var(--font-cjk);font-size:1.4rem;font-weight:700}.Dashboard-module__gOMfzW__moduleBody{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.Dashboard-module__gOMfzW__moduleTitle{color:var(--text-primary);font-weight:700}.Dashboard-module__gOMfzW__moduleDescription{margin-bottom:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--text-secondary)}@media (max-width:480px){.Dashboard-module__gOMfzW__modules{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.Dashboard-module__gOMfzW__module{gap:var(--space-2);padding:var(--space-3);flex-direction:column}.Dashboard-module__gOMfzW__moduleIcon{width:40px;height:40px;font-size:1.25rem}.Dashboard-module__gOMfzW__moduleDescription{display:none}}.Dashboard-module__gOMfzW__aside{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.Dashboard-module__gOMfzW__moreList{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 85%, transparent);margin:0;padding:0;list-style:none;overflow:hidden}.Dashboard-module__gOMfzW__moreList li+li{border-top:1px solid var(--glass-border)}.Dashboard-module__gOMfzW__moreLink{align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);color:var(--text-primary);transition:background-color var(--duration-base) var(--ease-out);text-decoration:none;display:flex}.Dashboard-module__gOMfzW__moreLink:hover{background:var(--surface-overlay)}.Dashboard-module__gOMfzW__moreLink:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-3px}.Dashboard-module__gOMfzW__moreIcon{color:var(--accent-gold);font-size:1.125rem;display:inline-flex}.Dashboard-module__gOMfzW__moreLabel{flex:1;font-weight:500}.Dashboard-module__gOMfzW__moreChevron{color:var(--text-muted)}.Dashboard-module__gOMfzW__widgetsBody{gap:var(--space-4);flex-direction:column;display:flex}.Dashboard-module__gOMfzW__widgetsGrid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.Dashboard-module__gOMfzW__widgetsToggle{width:100%;min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 85%, transparent);font:inherit;color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;display:flex}.Dashboard-module__gOMfzW__widgetsToggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.Dashboard-module__gOMfzW__widgetsToggle+.Dashboard-module__gOMfzW__widgetsBody{margin-top:var(--space-4)}.Dashboard-module__gOMfzW__widgetsToggleIcon{transition:transform var(--duration-base) var(--ease-out)}.Dashboard-module__gOMfzW__widgetsToggleOpen .Dashboard-module__gOMfzW__widgetsToggleIcon{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.Dashboard-module__gOMfzW__module,.Dashboard-module__gOMfzW__moreLink,.Dashboard-module__gOMfzW__goalFill,.Dashboard-module__gOMfzW__widgetsToggleIcon{transition:none}.Dashboard-module__gOMfzW__module:hover{transform:none}}
