@layer reset,tokens,base,layout,components,features,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;font-family:inherit}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}table{border-collapse:collapse}}@layer tokens{:root{--color-bg-base: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--accent: #06b6d4;--accent-hover: #0891b2;--accent-light: rgba(6, 182, 212, .1);--accent-text: #ffffff;--accent-border: transparent;--color-bg-primary: color-mix(in srgb, var(--accent), var(--color-bg-base) 96%);--color-priority-high: #ef4444;--color-priority-high-bg: rgba(239, 68, 68, .08);--color-priority-medium: #f59e0b;--color-priority-medium-bg: rgba(245, 158, 11, .08);--color-priority-low: #22c55e;--color-priority-low-bg: rgba(34, 197, 94, .08);--color-completed-bg: rgba(99, 102, 241, .08);--color-confidence-red: #ef4444;--color-confidence-amber: #f59e0b;--color-confidence-yellow: #eab308;--color-confidence-purple: #8b5cf6;--color-confidence-green: #22c55e;--color-physics: #6366f1;--color-chemistry: #10b981;--color-maths: #f59e0b;--color-custom: #ff57c7;--bg-base: var(--color-bg-base);--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--border: var(--color-border);--border-hover: var(--color-border-hover);--priority-high: var(--color-priority-high);--priority-high-bg: var(--color-priority-high-bg);--priority-medium: var(--color-priority-medium);--priority-medium-bg: var(--color-priority-medium-bg);--priority-low: var(--color-priority-low);--priority-low-bg: var(--color-priority-low-bg);--completed-bg: var(--color-completed-bg);--confidence-red: var(--color-confidence-red);--confidence-amber: var(--color-confidence-amber);--confidence-yellow: var(--color-confidence-yellow);--confidence-purple: var(--color-confidence-purple);--confidence-green: var(--color-confidence-green);--physics: var(--color-physics);--chemistry: var(--color-chemistry);--maths: var(--color-maths);--custom: var(--color-custom);--text-xs: .75rem;--text-sm: .875rem;--text-base: clamp( .9375rem, .25vw + .875rem, 1rem );--text-lg: clamp( 1.125rem, .8vw + .95rem, 1.25rem );--text-xl: clamp(1.375rem, 1.5vw + 1rem, 1.75rem);--header-height: 72px;--content-max-width: 1200px;--content-max-width-wide: 1400px;--bp-xs: 30rem;--bp-sm: 40rem;--bp-md: 48rem;--bp-lg: 64rem;--bp-xl: 75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-2xl: var(--space-10);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--border-radius: var(--radius-md);--border-radius-sm: var(--radius-sm);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-glow: 0 0 30px color-mix(in srgb, var(--accent), transparent 85%);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--panel-bg: var(--color-bg-secondary);--panel-bg-hover: var(--color-bg-base);--panel-border: var(--color-border);--panel-border-light: var(--color-border-hover);--panel-blur: none;--panel-shadow: var(--shadow-md);--panel-shadow-hover: var(--shadow-lg);--panel-inner-glow: none;--bg-card: var(--color-bg-secondary);--bg-card-item: var(--color-bg-tertiary);--bg-modal: var(--color-bg-secondary)}[data-theme=dark-glass]{--color-bg-base: #0a0a0f;--color-bg-primary: color-mix(in srgb, var(--accent), var(--color-bg-base) 95%);--color-bg-secondary: rgba(18, 18, 26, .35);--color-bg-tertiary: rgba(26, 26, 40, .5);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--accent-light: rgba(6, 182, 212, .15);--color-priority-high-bg: rgba(239, 68, 68, .12);--color-priority-medium-bg: rgba(245, 158, 11, .12);--color-priority-low-bg: rgba(34, 197, 94, .12);--color-completed-bg: rgba(99, 102, 241, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px color-mix(in srgb, var(--accent), transparent 80%);--glass-bg: rgba(18, 18, 26, .4);--glass-bg-hover: rgba(26, 26, 40, .5);--glass-blur: 10px;--glass-refraction: saturate(150%) brightness(100%);--glass-border: rgba(255, 255, 255, .1);--glass-border-light: rgba(255, 255, 255, .15);--glass-inner-glow: inset 0 1px 1px rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--panel-bg: var(--glass-bg);--panel-bg-hover: var(--glass-bg-hover);--panel-border: var(--glass-border);--panel-border-light: var(--glass-border-light);--panel-blur: blur(var(--glass-blur)) var(--glass-refraction);--panel-shadow: var(--glass-shadow);--panel-shadow-hover: var(--glass-shadow);--panel-inner-glow: var(--glass-inner-glow);--bg-card: rgba(18, 18, 26, .6);--bg-card-item: rgba(30, 30, 45, .6);--bg-modal: rgba(24, 24, 35, .45);--gradient-start: color-mix(in srgb, var(--accent), #0a0a0f 85%);--gradient-end: #0a0a0f}[data-theme=dark-solid]{--color-bg-base: #000000;--color-bg-primary: #000000;--color-bg-secondary: #000000;--color-bg-tertiary: #08080c;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: rgba(255, 255, 255, .15);--color-border-hover: rgba(255, 255, 255, .25);--accent-light: rgba(6, 182, 212, .15);--color-priority-high-bg: rgba(239, 68, 68, .12);--color-priority-medium-bg: rgba(245, 158, 11, .12);--color-priority-low-bg: rgba(34, 197, 94, .12);--color-completed-bg: rgba(99, 102, 241, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px color-mix(in srgb, var(--accent), transparent 80%);--panel-bg: #000000;--panel-bg-hover: #08080c;--panel-border: var(--color-border);--panel-border-light: var(--color-border-hover);--panel-blur: none;--panel-inner-glow: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 0 20px rgba(255,255,255, .02);--panel-shadow: 0 4px 12px rgba(0, 0, 0, .8), 0 1px 2px rgba(0, 0, 0, .5);--panel-shadow-hover: 0 8px 24px rgba(0, 0, 0, .9), 0 2px 4px rgba(0, 0, 0, .6);--bg-card: #000000;--bg-card-item: #000000;--bg-modal: #000000;--gradient-start: #000000;--gradient-end: #000000}.text-physics{color:var(--color-physics)}.text-chemistry{color:var(--color-chemistry)}.text-maths{color:var(--color-maths)}}@layer base{body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal);position:relative}html{scrollbar-width:thin;scrollbar-color:var(--accent) transparent;background-color:var(--bg-base);min-height:100vh}html[data-theme^=dark-] body.has-custom-bg:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--custom-bg-url, none);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2;pointer-events:none}html[data-theme^=dark-] body.has-custom-bg:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,var(--dim-level, 0));z-index:-1;pointer-events:none;transition:background var(--transition-normal)}html[data-theme^=dark-] body{background:radial-gradient(ellipse 80% 60% at 10% 10%,color-mix(in srgb,var(--accent),transparent 70%) 0%,transparent 50%),radial-gradient(ellipse 60% 50% at 90% 15%,color-mix(in srgb,var(--accent),var(--secondary-accent, #a855f7) 50%) 0%,transparent 40%),radial-gradient(ellipse 70% 60% at 5% 85%,color-mix(in srgb,#f59e0b,transparent 80%) 0%,transparent 45%),radial-gradient(ellipse 80% 70% at 95% 90%,color-mix(in srgb,var(--accent),#06b6d4 40%) 0%,transparent 50%),radial-gradient(ellipse 100% 80% at 50% 50%,color-mix(in srgb,var(--accent),transparent 92%) 0%,transparent 60%),radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--secondary-accent, #8b5cf6),transparent 88%) 0%,transparent 35%),radial-gradient(circle at 80% 40%,color-mix(in srgb,#14b8a6,transparent 90%) 0%,transparent 30%),linear-gradient(180deg,#0a0a12,#0f0f18,#0a0a0f);background-attachment:fixed}@media(max-width:48rem){html[data-theme^=dark-] body{background-attachment:scroll}}body.has-custom-bg{background:transparent!important;z-index:0}html[data-theme=dark-solid] body.has-grid-bg{background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50'%3E%3Cpath d='M0 10.5 L50 10.5 M0 20.5 L50 20.5 M0 30.5 L50 30.5 M0 40.5 L50 40.5 M10.5 0 L10.5 50 M20.5 0 L20.5 50 M30.5 0 L30.5 50 M40.5 0 L40.5 50' fill='none' stroke='rgba(255,255,255,0.015)' stroke-width='1'/%3E%3Cpath d='M0 25.5 L50 25.5 M25.5 0 L25.5 50' fill='none' stroke='rgba(255,255,255,0.04)' stroke-width='1'/%3E%3Cpath d='M21 25.5 L30 25.5 M25.5 21 L25.5 30' fill='none' stroke='rgba(255,255,255,0.15)' stroke-width='1'/%3E%3Ccircle cx='25.5' cy='25.5' r='1' fill='rgba(255,255,255,0.5)'/%3E%3C/svg%3E");background-attachment:fixed;background-size:50px 50px;background-position:center top}body.has-custom-bg{--shadow-glow: none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent;border-radius:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent),transparent 50%);border-radius:10px;border:2px solid transparent;background-clip:padding-box;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent),transparent 30%);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}:root:not([data-theme^=dark-]) ::-webkit-scrollbar-thumb,[data-theme=light] ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent),var(--bg-tertiary) 40%);background-clip:padding-box}:root:not([data-theme^=dark-]) ::-webkit-scrollbar-thumb:hover,[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent),var(--bg-tertiary) 20%);background-clip:padding-box}[data-theme^=dark-] ::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}[data-theme^=dark-] ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent),rgba(255,255,255,.1) 30%);box-shadow:0 0 8px color-mix(in srgb,var(--accent),transparent 70%);background-clip:padding-box}[data-theme^=dark-] ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent),rgba(255,255,255,.2) 20%);box-shadow:0 0 12px color-mix(in srgb,var(--accent),transparent 50%);background-clip:padding-box}@media(max-width:47.9375rem){html[data-theme^=dark-] .overall-progress-card,html[data-theme^=dark-] .exam-countdown-card,html[data-theme^=dark-] .agenda-card,html[data-theme^=dark-] .task-log-card,html[data-theme^=dark-] .subject-card,html[data-theme^=dark-] .chapter-card,html[data-theme^=dark-] .timer-card,html[data-theme^=dark-] .statistics-card,html[data-theme^=dark-] .session-log-card,html[data-theme^=dark-] .day-column,html[data-theme^=dark-] .monthly-calendar,html[data-theme^=dark-] .settings-panel,html[data-theme^=dark-] .modal-content,html[data-theme^=dark-] .view-toggles,html[data-theme^=dark-] .dh-date-nav-bar,html[data-theme^=dark-] .dh-bento-hero,html[data-theme^=dark-] .dh-bento-weekly,html[data-theme^=dark-] .dh-bento-unified-stats,html[data-theme^=dark-] .dh-bento-subjects,html[data-theme^=dark-] .dh-bento-insights,html[data-theme^=dark-] .dh-empty-state,html[data-theme^=dark-] .reports-empty-state,html[data-theme^=dark-] .nudge-table-container{background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border)}}}@layer layout{.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--space-8);padding-top:calc(var(--header-height) + var(--space-4));max-width:var(--content-max-width);margin:0 auto;width:100%;min-width:0}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;transition:all var(--transition-normal)}html[data-theme^=dark-] .header{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-bottom:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.header-content{max-width:var(--content-max-width);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);gap:var(--space-8);min-width:0}.logo{display:flex;align-items:center;gap:var(--space-3);font-weight:700;font-size:1.25rem;line-height:1;flex-shrink:0;min-width:0}.logo-icon{font-size:1.5rem}.logo-text{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent),white 40%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-avatar{margin-left:var(--space-3);cursor:pointer;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.header-avatar:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.header-avatar .user-avatar{border-radius:50%;overflow:hidden}.header-avatar-mobile,.header-support-mobile{display:none}.nav{display:flex;align-items:center;gap:var(--space-1);min-width:0;background:var(--bg-tertiary);border:1px solid var(--border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}html[data-theme^=dark-] .nav{background:#12121a80;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 1px #ffffff0d,0 4px 12px #00000026}.nav-item{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;position:relative}.nav-item:hover{background:color-mix(in srgb,var(--bg-tertiary),var(--text-primary) 4%);color:var(--text-primary)}.nav-item.active{color:var(--accent)}.nav-item-active-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);background:var(--accent-light);z-index:0}.nav-icon{position:relative;z-index:1;font-size:1.125rem;display:flex;align-items:center;justify-content:center}.nav-label-wrapper{position:relative;z-index:1;display:grid;grid-template-columns:0fr;margin-left:0;transition:grid-template-columns .25s cubic-bezier(.2,.8,.2,1),margin-left .25s cubic-bezier(.2,.8,.2,1)}.nav-item:hover .nav-label-wrapper,.nav-item.active .nav-label-wrapper{grid-template-columns:1fr;margin-left:var(--space-2)}.nav-label{min-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:opacity .15s ease}.nav-item:hover .nav-label,.nav-item.active .nav-label{opacity:1}html[data-theme^=dark-] .nav-item:hover{background:#ffffff0f}.header-actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.desktop-actions{display:flex;align-items:center;gap:var(--space-2)}.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:var(--bg-tertiary)}.mobile-bottom-nav{display:none}@media(max-width:48rem){.nav-label-wrapper{display:none}}@media(max-width:64rem){.desktop-actions{display:none}.mobile-menu-toggle{display:flex}}@media(max-width:48rem){.header{height:3.5rem}.header-content{padding:0 var(--space-4);gap:var(--space-3)}.logo-text{display:inline-block;font-size:1.1rem}.header-content{display:grid;grid-template-columns:1fr auto 1fr;gap:0}.header-avatar-mobile{display:flex;align-items:center;justify-self:start}.logo{text-align:center}.header-support-mobile{display:flex;align-items:center;justify-content:flex-end;justify-self:end;background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.header-support-mobile:hover{background:var(--bg-tertiary)}.nav,.logo .header-avatar,.header .mobile-menu-toggle,.header-actions{display:none}.main-content{padding:var(--space-4);padding-top:calc(3.5rem + var(--space-4));padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(4rem + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-secondary);border-top:1px solid var(--border);z-index:1040;display:flex;align-items:center;justify-content:space-around;box-shadow:0 -4px 16px #0000001f}html[data-theme^=dark-] .mobile-bottom-nav{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-top:1px solid var(--panel-border);box-shadow:0 -4px 20px #00000059}.mobile-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;background:transparent;border:none;color:var(--text-secondary);font-size:.6875rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast);padding:var(--space-1) 0}.mobile-bottom-nav-item:active{transform:scale(.94)}.mobile-bottom-nav-item.active{color:var(--accent);font-weight:600}}.mobile-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg-base),transparent 30%);z-index:2000;animation:fadeIn .2s ease}html[data-theme^=dark-] .mobile-sidebar-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mobile-sidebar-drawer{position:fixed;top:0;right:0;bottom:0;width:min(85vw,320px);background:var(--bg-secondary);border-left:1px solid var(--border);box-shadow:var(--shadow-lg),-8px 0 24px #00000040;z-index:2001;display:flex;flex-direction:column;animation:slideInRight .25s cubic-bezier(.16,1,.3,1)}html[data-theme^=dark-] .mobile-sidebar-drawer{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-left:1px solid var(--panel-border)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border)}html[data-theme^=dark-] .mobile-sidebar-header{border-bottom:1px solid var(--panel-border)}.mobile-sidebar-profile{display:flex;align-items:center;gap:var(--space-3)}.mobile-sidebar-user-name{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.mobile-sidebar-subtext{font-size:var(--text-xs);color:var(--text-secondary)}.mobile-sidebar-close{background:transparent;border:none;color:var(--text-secondary);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-sidebar-body{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.mobile-sidebar-section{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-sidebar-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.mobile-sidebar-list{display:flex;flex-direction:column;gap:var(--space-1)}.mobile-sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast),color var(--transition-fast)}.mobile-sidebar-item:hover,.mobile-sidebar-item.active{background:var(--bg-tertiary);color:var(--accent)}.mobile-sidebar-item-icon{display:flex;align-items:center;color:inherit}.mobile-sidebar-item-label{flex:1}.mobile-sidebar-item-badge{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-secondary);font-weight:600}.mobile-sidebar-divider{height:1px;background:var(--border);margin:var(--space-1) 0}html[data-theme^=dark-] .mobile-sidebar-divider{background:var(--panel-border)}.mobile-sidebar-toggles{display:flex;flex-direction:column;gap:var(--space-3)}.mobile-sidebar-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-1)}.mobile-sidebar-toggle-info{display:flex;flex-direction:column;gap:2px}.mobile-sidebar-toggle-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.mobile-sidebar-toggle-desc{font-size:var(--text-xs);color:var(--text-secondary)}.switch-pill{width:44px;height:24px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);position:relative;cursor:pointer;transition:background-color var(--transition-fast);padding:2px}.switch-pill.active{background:var(--accent);border-color:var(--accent)}.switch-knob{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--transition-fast)}.switch-pill.active .switch-knob{transform:translate(20px)}.mobile-sidebar-theme-btn{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer}.mobile-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}.custom-color-option{background:var(--bg-tertiary);border:2px dashed var(--text-muted);display:flex;align-items:center;justify-content:center}.custom-color-option.selected{border:2px solid var(--text-primary)}.mobile-sidebar-footer-actions{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-sidebar-action-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.mobile-sidebar-action-btn:hover{background:color-mix(in srgb,var(--accent),transparent 90%);border-color:var(--accent);color:var(--accent)}.mobile-subjects-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);z-index:2001;display:flex;flex-direction:column;gap:var(--space-4);animation:slideUpBottom .2s cubic-bezier(.16,1,.3,1)}html[data-theme^=dark-] .mobile-subjects-sheet{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-top:1px solid var(--panel-border)}@keyframes slideUpBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-subjects-sheet-head{display:flex;align-items:center;justify-content:space-between}.mobile-subjects-sheet-head h4{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.mobile-subjects-grid{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-subject-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%}.mobile-subject-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%)}.mobile-subject-info{flex:1;display:flex;flex-direction:column;gap:6px}.mobile-subject-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.mobile-subject-progress-bar{width:100%;height:6px;border-radius:var(--radius-full);background:var(--bg-primary);overflow:hidden}.mobile-subject-progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal)}.mobile-subject-percent{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.theme-toggle-icon{color:var(--text-primary);display:flex;align-items:center;justify-content:center}html[data-theme^=dark-] .theme-toggle-icon{color:var(--accent)}.footer{margin-top:auto;width:100%;border-top:1px solid rgba(255,255,255,.08);padding:var(--space-8) 0;transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:0 -1px #ffffff0d,0 -20px 60px color-mix(in srgb,var(--accent) 8%,transparent)}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:70%;height:120px;background:radial-gradient(120px circle at top center,color-mix(in srgb,var(--accent),transparent 85%),transparent 70%);pointer-events:none;z-index:0}.footer-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-8);display:flex;flex-direction:column;gap:var(--space-8);position:relative;z-index:1}.footer-discord-banner{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,rgba(88,101,242,.1),transparent 20%);border:1px solid color-mix(in srgb,#5865f2,transparent 60%);border-radius:var(--radius-md, 12px);padding:var(--space-4) var(--space-6);text-decoration:none;transition:all var(--transition-fast);box-shadow:0 4px 12px #0000001a}.footer-discord-banner:hover{background:color-mix(in srgb,rgba(88,101,242,.15),transparent 10%);border-color:#5865f2;box-shadow:0 4px 20px #5865f233;transform:translateY(-2px)}.discord-banner-content{display:flex;align-items:center;gap:var(--space-4)}.discord-banner-content svg{color:#5865f2;transition:transform var(--transition-fast)}.footer-discord-banner:hover .discord-banner-content svg{transform:scale(1.1) rotate(-5deg)}.discord-banner-title{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.discord-banner-text{font-size:var(--text-sm);color:var(--text-secondary)}.discord-banner-arrow{color:#5865f2;transition:transform var(--transition-fast)}.footer-discord-banner:hover .discord-banner-arrow{transform:translate(4px)}.footer-main-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid color-mix(in srgb,var(--border),transparent 60%)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}.footer-logo{font-weight:800;font-size:1.4rem;letter-spacing:-.025em;text-decoration:none;display:inline-block}.footer-logo .logo-text{background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent),#a855f7 40%) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.footer-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;max-width:320px;margin:0}.footer-trust-badges{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.footer-trust-badge{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.footer-trust-badge:hover{background:var(--bg-primary);border-color:color-mix(in srgb,var(--accent),transparent 50%);color:var(--text-primary)}.footer-trust-badge svg{color:var(--accent);transition:color var(--transition-fast)}.footer-nav-group{display:flex;flex-direction:column;gap:var(--space-3)}.footer-nav-group nav{display:flex;flex-direction:column;gap:var(--space-2)}.group-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--text-primary);letter-spacing:.08em;margin:0 0 var(--space-2) 0}.bottom-link{font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.bottom-link:hover{color:var(--accent);transform:translateY(-.5px)}.inline-icon{color:inherit}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--text-muted);padding-top:var(--space-2)}.footer-meta{display:flex;align-items:center;gap:var(--space-4)}.meta-version{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm, 4px);font-weight:500}.roadmap-badge{background:color-mix(in srgb,var(--accent),transparent 94%);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent),transparent 85%)}.badge-pulse{width:6px;height:6px;background:var(--accent);border-radius:50%;position:relative}.badge-pulse:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;border:1.5px solid var(--accent);border-radius:50%;animation:badgePulse 2s infinite ease-out}@keyframes badgePulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.copyright{color:var(--text-muted)}.attribution{margin:0;display:flex;align-items:center}.heart-span{display:inline-block;color:#ef4444;animation:heartPulse 1.6s infinite ease-in-out;margin:0 4px}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}html[data-theme^=dark-] .footer{border-top:1px solid var(--panel-border);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-inner-glow),var(--panel-shadow),0 -20px 60px color-mix(in srgb,var(--accent) 6%,transparent)}html[data-theme^=dark-] .footer:before{background:radial-gradient(120px circle at top center,color-mix(in srgb,var(--accent),transparent 75%),transparent 70%)}html[data-theme^=dark-] .footer-main-grid{border-bottom:1px solid var(--panel-border)}@media(max-width:64rem){.footer-main-grid{grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1 / -1;align-items:center;text-align:center}.footer-description{max-width:100%}.footer-trust-badges{justify-content:center}}@media(max-width:48rem){.footer{padding:var(--space-6) 0}.footer:before{width:90%;height:100px}.footer-container{gap:var(--space-6)}.footer-discord-banner{flex-direction:column;text-align:center;gap:var(--space-4)}.discord-banner-content{flex-direction:column;gap:var(--space-2)}.discord-banner-arrow{display:none}.footer-main-grid{grid-template-columns:1fr;gap:var(--space-6);padding-bottom:var(--space-6)}.footer-nav-group{align-items:center;text-align:center}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}.footer-meta{flex-direction:column;gap:var(--space-3)}}}@layer components{.primary-btn{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border);border-radius:var(--border-radius-sm);padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem}.primary-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.secondary-btn:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.icon-btn-small{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;font-size:14px;line-height:1}.icon-btn-small:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn-small:disabled{opacity:.5;cursor:not-allowed}[data-theme^=dark-] .btn-primary,[data-theme^=dark-] .primary-action-btn,[data-theme^=dark-] .primary-btn{background:color-mix(in srgb,var(--accent),transparent 20%);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border:1px solid color-mix(in srgb,var(--accent),white 20%);box-shadow:var(--panel-inner-glow)}[data-theme^=dark-] .btn-secondary,[data-theme^=dark-] .secondary-btn{background:var(--panel-bg);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border)}.color-picker-container{position:relative}.color-picker-toggle{width:44px;height:44px;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.color-picker-toggle:hover{border-color:var(--border-hover);transform:scale(1.05)}.current-color-indicator{width:32px;height:32px;border-radius:50%;border:2px solid var(--bg-secondary);box-shadow:0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center}.color-picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:transparent}.color-picker-popup{position:absolute;top:120%;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--shadow-lg);z-index:102;width:220px;animation:fadeIn .2s ease}[data-theme^=dark-] .color-picker-popup{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.color-option{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm)}.color-option:hover{transform:scale(1.15);box-shadow:var(--shadow-md);z-index:1}.color-option.selected{border-color:var(--text-primary);transform:scale(1.1);box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 4px var(--accent)}.theme-toggle{width:44px;height:44px;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:50%;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.theme-toggle:hover{border-color:var(--border-hover);transform:scale(1.05)}[data-theme^=dark-] input,[data-theme^=dark-] textarea,[data-theme^=dark-] select{background:#0000004d;border-color:var(--panel-border);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}[data-theme^=dark-] input:focus,[data-theme^=dark-] textarea:focus,[data-theme^=dark-] select:focus{border-color:var(--glass-border-light);box-shadow:var(--panel-inner-glow),0 0 0 3px color-mix(in srgb,var(--accent),transparent 85%)}.checkbox-container{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0 auto;vertical-align:middle}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{width:18px;height:18px;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:4px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative}.checkbox-container:hover .checkmark{border-color:var(--accent)}.checkbox-container input:checked~.checkmark{background:var(--accent);border-color:var(--accent)}.checkbox-container input:checked~.checkmark:after{content:"✓";color:var(--accent-text);font-size:.75rem;font-weight:600}.filter-dropdown{backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}[data-theme^=dark-] .filter-dropdown{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-inner-glow)}:root:not([data-theme^=dark-]) .filter-dropdown,[data-theme=light] .filter-dropdown{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.pending-tag,.delayed-tag{display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px;font-size:.7rem}.pending-tag{background:var(--priority-high-bg);color:var(--priority-high)}.delayed-tag{background:var(--priority-medium-bg);color:var(--priority-medium)}.page-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:50vh;gap:1rem;color:var(--text-secondary)}.page-loader-container .spin-icon{color:var(--accent);animation:spin 2s linear infinite}.pwa-update-banner{position:sticky;top:.5rem;z-index:1200;margin:.75rem 1rem 0;padding:.75rem .875rem;border:1px solid var(--accent-border);border-radius:var(--border-radius-sm);background:color-mix(in srgb,var(--accent),var(--bg-secondary) 85%);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pwa-update-copy{font-size:.875rem;font-weight:600;color:var(--text-primary)}.pwa-update-actions{display:inline-flex;align-items:center;gap:.5rem}@media(max-width:48rem){.pwa-update-banner{flex-direction:column;align-items:flex-start}}.fab-info-tooltip{position:absolute;bottom:calc(100% + var(--space-3));width:max-content;max-width:240px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-inner-glow);color:var(--text-primary);font-size:var(--text-xs);line-height:1.4;font-family:Inter,sans-serif;z-index:1001;display:flex;align-items:flex-start;gap:var(--space-2);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.chat-fab:hover .fab-info-tooltip,.music-fab:hover .fab-info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}:root:not([data-theme^=dark-]) .fab-info-tooltip,[data-theme=light] .fab-info-tooltip{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.fab-info-tooltip--left{left:0}.fab-info-tooltip--right{right:0}.fab-info-tooltip-text{flex:1}.fab-info-tooltip-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);margin:calc(var(--space-1) * -1);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background-color var(--transition-fast)}.fab-info-tooltip-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}}@layer components{.modal-overlay,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}html[data-theme^=dark-] .modal-overlay,html[data-theme^=dark-] .modal-backdrop{background:color-mix(in srgb,var(--bg-base),transparent 40%);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.modal-container,.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:var(--space-lg);width:min(90%,26rem);max-width:400px;max-height:min(90vh,90dvh);box-shadow:var(--shadow-lg);overflow:auto}html[data-theme^=dark-] .modal-container,html[data-theme^=dark-] .modal-content{@extend .glass-panel;}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-md);border-bottom:1px solid var(--border);margin-bottom:var(--space-md)}.modal-header h2,.modal-header h3{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.modal-body{padding:var(--space-md) 0;display:flex;flex-direction:column;gap:var(--space-lg)}.modal-body p{color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:var(--space-md);border-top:1px solid var(--border);margin-top:var(--space-md)}.modal-btn{padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.modal-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border)}.modal-btn.cancel:hover{background:var(--border);color:var(--text-primary)}.modal-btn.confirm{background:var(--priority-high);color:#fff}.modal-btn.confirm:hover{opacity:.9;transform:translateY(-1px)}.modal-btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border)}.modal-btn.primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.modal-close-btn,.close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close-btn:hover,.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-input{width:100%;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9375rem;transition:all var(--transition-fast);margin-top:.5rem}.modal-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}html[data-theme^=dark-] .modal-input{background:#0000004d;border-color:var(--panel-border);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}html[data-theme^=dark-] .modal-input:focus{border-color:var(--glass-border-light);box-shadow:var(--panel-inner-glow),0 0 0 3px color-mix(in srgb,var(--accent),transparent 85%)}.modal-content.input-modal{max-width:500px;max-height:85vh;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl)}.modal-content.input-modal .modal-header{padding:1.25rem 1.5rem;margin:0;flex-shrink:0}.modal-content.input-modal .modal-body-scrollable{flex:1;overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.modal-content.input-modal .modal-body-scrollable::-webkit-scrollbar{width:6px}.modal-content.input-modal .modal-body-scrollable::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.modal-content.input-modal .modal-footer{padding:1rem 1.5rem;margin:0;background:var(--color-bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0}:root:not([data-theme^=dark-]) .modal-content.input-modal,[data-theme=light] .modal-content.input-modal{background:var(--bg-secondary);border:1px solid var(--border)}:root:not([data-theme^=dark-]) .modal-content.input-modal .modal-footer,[data-theme=light] .modal-content.input-modal .modal-footer{background:var(--color-bg-tertiary)}html[data-theme^=dark-] .modal-content.input-modal .modal-footer{background:var(--bg-tertiary);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}@media(max-width:48rem){.modal-overlay,.modal-backdrop{padding:var(--space-3);align-items:center}.modal-container,.modal-content,.settings-modal,.date-picker-modal,.progress-card-modal,.exam-modal{width:100%;max-width:100%;max-height:min(92vh,92dvh);border-radius:var(--radius-md);margin:0}.modal-header{padding-bottom:var(--space-3);margin-bottom:var(--space-3)}.modal-body{gap:var(--space-4)}.modal-footer{flex-wrap:wrap;justify-content:stretch}.modal-footer .modal-btn,.modal-footer .primary-btn,.modal-footer .secondary-btn,.modal-footer .google-signin-btn{flex:1 1 10rem}}.settings-modal{width:90%;max-width:500px;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;padding:0}.settings-modal .modal-header{margin-bottom:0;flex-shrink:0;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.settings-modal .modal-body{padding:1.5rem;overflow-y:auto;flex:1}html[data-theme^=dark-] .settings-modal{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.distribution-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}html[data-theme^=dark-] .distribution-modal-overlay{backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.distribution-modal{background:var(--bg-modal, var(--bg-secondary));border:1px solid var(--border);border-radius:var(--border-radius);padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg),var(--shadow-glow);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.distribution-modal::-webkit-scrollbar{width:6px}.distribution-modal::-webkit-scrollbar-track{background:transparent}.distribution-modal::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.distribution-modal::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.distribution-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.distribution-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.distribution-modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.distribution-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}html[data-theme^=dark-] .distribution-modal{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.status-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--border-radius-sm);font-size:.875rem;margin-top:-.5rem}.status-message.success{background:#22c55e1a;color:#22c55e}.status-message.error{background:#ef44441a;color:#ef4444}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.action-btn.primary{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border)}.action-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.action-btn.outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.action-btn.outline:hover{border-color:var(--text-primary);background:var(--bg-tertiary)}.action-btn.small{padding:.4rem .75rem;font-size:.8125rem}.action-btn.danger{color:var(--priority-high);border-color:var(--priority-high)}.action-btn.danger:hover{background:#ef44441a}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;height:40px;padding:0 .875rem;border-radius:4px;border:1px solid #747775;background:#fff;color:#1f1f1f;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:20px;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.google-signin-btn:hover:not(:disabled){background:#f8f9fa;border-color:#5f6368}.google-signin-btn:active:not(:disabled){background:#f1f3f4;border-color:#5f6368}.google-signin-btn:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.google-signin-btn:disabled{color:#5f6368;border-color:#dadce0;cursor:not-allowed;opacity:.75}.google-signin-btn__logo{flex-shrink:0}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:26px;transition:all var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:2px;bottom:2px;background-color:var(--text-muted);border-radius:50%;transition:all var(--transition-fast)}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px);background-color:var(--accent-text)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px var(--accent-light)}.settings-section{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:none;padding-bottom:0}.section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .25rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-row.vertical{flex-direction:column;align-items:flex-start;gap:.75rem}.setting-info{display:flex;flex-direction:column;gap:.125rem;flex:1;align-items:flex-start;width:100%}.settings-row.vertical .setting-info{align-self:flex-start;width:100%}.setting-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);text-align:left;width:100%}.setting-description{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;text-align:left;width:100%}.background-actions{display:flex;gap:.5rem;align-self:flex-start}.slider-container{width:100%;padding:.5rem 0}.dim-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.8) 100%);border:1px solid var(--border);border-radius:4px;outline:none;cursor:pointer}.dim-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent);border:2px solid var(--bg-secondary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);box-shadow:0 2px 6px #0000004d}.dim-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.dim-slider::-moz-range-thumb{width:20px;height:20px;background:var(--accent);border:2px solid var(--bg-secondary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);box-shadow:0 2px 6px #0000004d}.dim-slider::-moz-range-thumb:hover{transform:scale(1.15)}.dim-slider::-moz-range-track{background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.8) 100%);border:1px solid var(--border);border-radius:4px;height:8px}.glass-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--bg-tertiary) 0%,var(--accent-light) 100%);border:1px solid var(--border);border-radius:4px;outline:none;cursor:pointer}.glass-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent);border:2px solid var(--bg-secondary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);box-shadow:0 2px 6px #0000004d}.glass-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.glass-slider::-moz-range-thumb{width:20px;height:20px;background:var(--accent);border:2px solid var(--bg-secondary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast);box-shadow:0 2px 6px #0000004d}.glass-slider::-moz-range-thumb:hover{transform:scale(1.15)}.glass-slider::-moz-range-track{background:linear-gradient(to right,var(--bg-tertiary) 0%,var(--accent-light) 100%);border:1px solid var(--border);border-radius:4px;height:8px}.progress-card-overlay{z-index:1200}.progress-card-modal{width:95%;max-width:520px;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}html[data-theme^=dark-] .progress-card-modal{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.progress-card-modal .modal-header{padding:1rem 1.25rem;margin:0;border-bottom:1px solid var(--border);flex-shrink:0}.progress-card-modal .header-actions-group{display:flex;align-items:center;gap:.5rem}.progress-card-modal .icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.progress-card-modal .icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.progress-card-settings{padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:#00000005;display:flex;flex-direction:column;gap:1rem;max-height:200px;overflow-y:auto}html[data-theme^=dark-] .progress-card-settings{background:#00000026}.progress-card-settings .setting-row{display:flex;align-items:center;gap:1rem}.progress-card-settings .setting-row.vertical{flex-direction:column;align-items:flex-start}.progress-card-settings label{font-size:.85rem;font-weight:500;color:var(--text-secondary);min-width:100px}.progress-card-settings .name-input{flex:1;padding:.5rem .75rem;margin:0;font-size:.875rem}.progress-card-settings .avatar-actions{display:flex;gap:.5rem}.stat-toggles{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%}.stat-toggle-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;cursor:pointer;min-width:0}.stat-toggle-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.stat-toggle-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-card-wrapper{flex:1;overflow-y:auto;padding:1.25rem;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.progress-card{width:100%;max-width:440px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:visible}.progress-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--card-accent-light) 0%,transparent 30%,transparent 70%,var(--card-accent-light) 100%);pointer-events:none;z-index:0}.progress-card>*{position:relative;z-index:1}html[data-theme^=dark-] .progress-card{background:#1a1a1f;border-color:#ffffff1a}html[data-theme^=dark-] .progress-card:before{background:linear-gradient(135deg,rgba(var(--card-accent-rgb),.15) 0%,transparent 30%,transparent 70%,rgba(var(--card-accent-rgb),.15) 100%)}.card-header{display:flex;align-items:center;gap:1rem}.card-header .user-avatar{flex-shrink:0;border-radius:50%;box-shadow:0 4px 12px #00000026}.card-title{display:flex;flex-direction:column;gap:.25rem}.card-title h2{margin:0;font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.2}.card-subtitle{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--card-accent);opacity:.9}.card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-bottom:.25rem}.card-stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .75rem .85rem;background:#0000000a;border-radius:var(--border-radius-sm);border:1px solid var(--border)}html[data-theme^=dark-] .card-stat-item{background:#ffffff08;border-color:#ffffff14}.card-stat-item .stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--card-accent-light);color:var(--card-accent);border-radius:50%;flex-shrink:0}html[data-theme^=dark-] .card-stat-item .stat-icon{background:#f59e0b33}.card-stat-item .stat-content{display:flex;flex-direction:column;min-width:0}.card-stat-item .stat-value{font-size:1rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:visible;text-overflow:ellipsis;line-height:1.4}.card-stat-item .stat-label{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:visible;text-overflow:ellipsis;line-height:1.4;padding-bottom:2px}.card-footer{display:flex;justify-content:center;padding-top:.75rem;border-top:1px solid var(--border)}.card-watermark{font-size:.7rem;color:var(--text-muted);opacity:.6}.progress-card-modal .modal-footer{padding:1rem 1.25rem;margin:0;border-top:1px solid var(--border);justify-content:center}.download-btn{min-width:180px;justify-content:center}.download-btn:disabled{opacity:.6;cursor:not-allowed}.discord-modal{max-width:420px;width:min(92%,26rem);padding:0;border-radius:var(--radius-xl);overflow:hidden;position:relative;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 12px 40px #0003,0 0 0 1px #5865f21a}html[data-theme^=dark-] .discord-modal{background:var(--panel-bg);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),0 20px 40px #0006,0 0 80px #5865f226}.discord-close-btn{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10;background:#0003;color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all var(--transition-fast)}.discord-close-btn:hover{background:#0006;transform:scale(1.05)}.discord-modal-banner{height:120px;background:linear-gradient(135deg,#5865f2,#7289da);position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.discord-modal-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 150%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% -50%,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}.discord-logo-floating{position:absolute;bottom:-32px;width:64px;height:64px;background:#5865f2;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #5865f266,inset 0 2px 4px #ffffff4d;border:4px solid var(--bg-secondary);z-index:2;transform:translateY(0);animation:float 4s ease-in-out infinite}html[data-theme^=dark-] .discord-logo-floating{border-color:var(--panel-bg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.discord-modal-content{padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center}.discord-modal-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.discord-modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.5;max-width:90%}.discord-inline-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);width:100%;margin-bottom:var(--space-8)}.discord-tag{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--bg-tertiary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast)}.discord-tag:hover{color:#5865f2;border-color:#5865f24d;background:color-mix(in srgb,var(--bg-tertiary),#5865f2 3%)}html[data-theme^=dark-] .discord-tag{background:#ffffff08;border-color:#ffffff0d}html[data-theme^=dark-] .discord-tag:hover{color:#7289da;background:#5865f21a;border-color:#5865f266}.discord-modal-actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%}@keyframes discord-shine{0%{transform:translate(-100%)}to{transform:translate(200%)}}.discord-join-btn-large{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:#5865f2;color:#fff;border:none;border-radius:var(--border-radius-sm);font-weight:600;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 14px #5865f24d;position:relative;overflow:hidden}.discord-join-btn-large:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);animation:discord-shine 3s infinite}.discord-join-btn-large:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 6px 20px #5865f266}.discord-join-btn-large:active{transform:translateY(0);box-shadow:0 2px 8px #5865f24d}.discord-dismiss-btn{background:transparent;border:none;color:var(--text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color var(--transition-fast);padding:var(--space-2)}.discord-dismiss-btn:hover{color:var(--text-primary);text-decoration:underline}.onboarding-overlay{background:#00000080!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;z-index:2000!important;transition:background var(--transition-normal)}html[data-theme^=dark-] .onboarding-overlay{background:color-mix(in srgb,var(--color-bg-base),transparent 60%)!important}.onboarding-modal{width:min(95%,48rem)!important;max-width:760px!important;padding:var(--space-8)!important;border-radius:var(--radius-lg)!important;display:flex;flex-direction:column;gap:var(--space-6);transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}html[data-theme=light] .onboarding-modal{background:#fff!important;border:1px solid #cbd5e1!important;box-shadow:0 20px 40px #00000014!important}html[data-theme=dark-solid] .onboarding-modal{background:#000!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:inset 0 1px #ffffff1a,0 20px 40px #0009!important}html[data-theme=dark-glass] .onboarding-modal{background:#12121a73!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:inset 0 1px 1px #ffffff26,0 24px 50px #0006!important}.onboarding-header{text-align:center;margin-bottom:var(--space-2)}.onboarding-title{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.02em}.onboarding-subtitle{font-size:var(--text-sm);color:var(--text-secondary);max-width:540px;margin:0 auto;line-height:1.5}.theme-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:48rem){.theme-options-grid{grid-template-columns:1fr;gap:var(--space-3)}}.theme-option-card{background:var(--color-bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;overflow:hidden}.theme-option-card:hover{transform:translateY(-2px);border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.theme-option-card.active{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-light),var(--shadow-md)!important}.theme-card-preview-container{height:110px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.light-preview{background:#cbd5e1}.dark-solid-preview{background:#18181b}.dark-glass-preview{background:radial-gradient(circle at top right,rgba(6,182,212,.2),transparent 70%),#0a0a0f;border:1px solid rgba(255,255,255,.05)}.mock-window{width:85%;height:80%;border-radius:6px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm)}.light-preview .mock-window{background:#fff;border:1px solid #cbd5e1}.dark-solid-preview .mock-window{background:#000;border:1px solid rgba(255,255,255,.15)}.dark-glass-preview .mock-window{background:#12121a66;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mock-header{height:12px;display:flex;align-items:center;gap:3px;padding:0 6px}.light-preview .mock-header{background:#f1f5f9;border-bottom:1px solid #cbd5e1}.dark-solid-preview .mock-header{background:#08080c;border-bottom:1px solid rgba(255,255,255,.15)}.dark-glass-preview .mock-header{background:#1a1a2833;border-bottom:1px solid rgba(255,255,255,.08)}.mock-dot{width:3px;height:3px;border-radius:50%}.light-preview .mock-dot{background:#cbd5e1}.dark-solid-preview .mock-dot{background:#ffffff40}.dark-glass-preview .mock-dot{background:#ffffff26}.mock-body{flex:1;display:flex}.mock-sidebar{width:20%}.light-preview .mock-sidebar{background:#f8fafc;border-right:1px solid #cbd5e1}.dark-solid-preview .mock-sidebar{background:#000;border-right:1px solid rgba(255,255,255,.15)}.dark-glass-preview .mock-sidebar{background:#0a0a0f33;border-right:1px solid rgba(255,255,255,.08)}.mock-content-area{flex:1;padding:6px;display:flex;align-items:center;justify-content:center}.mock-card{width:100%;height:90%;border-radius:4px;padding:4px;display:flex;flex-direction:column;gap:3px}.light-preview .mock-card{background:#fff;border:1px solid #e2e8f0}.dark-solid-preview .mock-card{background:#08080c;border:1px solid rgba(255,255,255,.1)}.dark-glass-preview .mock-card{background:#12121a59;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0d}.mock-bar{height:3px;border-radius:1px}.light-preview .mock-bar{background:#e2e8f0}.light-preview .mock-bar:first-child{background:var(--accent)}.dark-solid-preview .mock-bar{background:#ffffff1a}.dark-solid-preview .mock-bar:first-child{background:var(--accent)}.dark-glass-preview .mock-bar{background:#ffffff0f}.dark-glass-preview .mock-bar:first-child{background:linear-gradient(90deg,var(--accent) 0%,var(--secondary-accent) 100%);box-shadow:0 0 6px var(--accent)}.mock-bar.short{width:60%}.theme-card-info{display:flex;flex-direction:column;gap:var(--space-1)}.theme-card-title-row{display:flex;align-items:center;gap:var(--space-2)}.theme-card-title-row h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.theme-icon{color:var(--text-secondary);transition:color var(--transition-fast)}.theme-option-card.active .theme-icon{color:var(--accent)}.check-icon{color:var(--accent);margin-left:auto}.theme-card-info p{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.4}.onboarding-actions{display:flex;justify-content:center;margin-top:var(--space-4)}.onboarding-btn{width:100%;max-width:320px;padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:600;border-radius:var(--radius-sm);text-align:center;background:var(--accent)!important;color:var(--accent-text)!important;border:1px solid var(--accent-border)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--shadow-sm)!important;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)!important}.onboarding-btn:hover{background:var(--accent-hover)!important;transform:translateY(-1.5px)!important;box-shadow:var(--shadow-md)!important}}@layer components.components{.glass-panel{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-interactive{cursor:pointer}.glass-interactive:hover{background:var(--panel-bg-hover);border-color:var(--panel-border-light);box-shadow:var(--panel-inner-glow),var(--panel-shadow-hover)}.glass-card{border-radius:var(--border-radius);padding:var(--space-lg);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.glass-intense,.glass-subtle{backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}}@layer components{.dp-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1200}.dp-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1;animation:dp-fade-in .18s ease}html[data-theme^=dark-] .dp-backdrop{background:color-mix(in srgb,var(--bg-base),transparent 40%);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}@keyframes dp-fade-in{0%{opacity:0}to{opacity:1}}.dp-backdrop.motion-animated,.dp-panel.motion-animated{animation:none!important;transition:none!important}.dp-panel{position:relative;z-index:2;background:var(--bg-secondary);border:1px solid var(--border);border-radius:18px;padding:1.25rem;width:min(92vw,22rem);box-shadow:0 24px 64px #0006,0 2px 8px #0003;animation:dp-slide-up .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1rem}html[data-theme^=dark-] .dp-panel{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow),0 24px 64px #00000080}@keyframes dp-slide-up{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dp-header{display:flex;align-items:center;justify-content:space-between}.dp-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.dp-close-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .15s}.dp-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.dp-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dp-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.dp-nav-btn:hover{background:color-mix(in srgb,var(--accent),transparent 85%);border-color:color-mix(in srgb,var(--accent),transparent 60%);color:var(--accent)}.dp-month-label{font-size:1rem;font-weight:700;color:var(--text-primary);text-align:center;flex:1}.dp-month-label em{font-style:normal;font-weight:400;color:var(--text-muted);margin-left:.3rem;font-size:.92rem}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dp-weekday{text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:.4rem 0}.dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:500;border-radius:10px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;color:var(--text-primary);background:transparent;border:1.5px solid transparent;position:relative}.dp-day.empty{pointer-events:none}.dp-day:hover:not(:disabled):not(.empty):not(.selected){background:#ffffff12;border-color:#ffffff1a}.dp-day.today{border-color:var(--accent);color:var(--accent);font-weight:700}.dp-day.today:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.dp-day.selected{background:var(--accent);color:var(--accent-text);border-color:transparent;font-weight:700}html[data-theme^=dark-] .dp-day.selected{background:color-mix(in srgb,var(--accent),transparent 15%)}.dp-day.today.selected:after{display:none}.dp-day.disabled{opacity:.28;cursor:not-allowed;color:var(--text-muted);transform:none!important}.dp-footer{display:flex;gap:.5rem;padding-top:.25rem;border-top:1px solid var(--border)}.dp-cancel-btn{flex:1;padding:.55rem 1rem;border-radius:10px;background:transparent;border:1.5px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s;font-family:inherit}.dp-cancel-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.dp-today-btn{flex:1;padding:.55rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--accent),transparent 85%);border:1.5px solid color-mix(in srgb,var(--accent),transparent 65%);color:var(--accent);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .15s;font-family:inherit}.dp-today-btn:hover{background:color-mix(in srgb,var(--accent),transparent 75%);border-color:color-mix(in srgb,var(--accent),transparent 50%);box-shadow:0 0 12px color-mix(in srgb,var(--accent),transparent 70%)}:root:not([data-theme^=dark-]) .dp-panel,[data-theme=light] .dp-panel{box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}:root:not([data-theme^=dark-]) .dp-nav-btn,[data-theme=light] .dp-nav-btn{background:var(--bg-tertiary);border-color:var(--border)}:root:not([data-theme^=dark-]) .dp-nav-btn:hover,[data-theme=light] .dp-nav-btn:hover{background:color-mix(in srgb,var(--accent),var(--bg-tertiary) 80%)}:root:not([data-theme^=dark-]) .dp-day:hover:not(:disabled):not(.empty):not(.selected),[data-theme=light] .dp-day:hover:not(:disabled):not(.empty):not(.selected){background:var(--bg-tertiary);border-color:var(--border)}.date-display-btn{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9375rem;width:100%;cursor:pointer;transition:all var(--transition-fast)}.date-display-btn:hover{border-color:var(--accent)}.date-display-btn .calendar-icon{color:var(--accent)}.chart-container.scrollable{overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.chart-container.scrollable::-webkit-scrollbar{height:6px}.chart-container.scrollable::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.chart-container.scrollable::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chart-container.scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.serial-badge{display:inline-block;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:4px;margin-right:6px;border:1px solid var(--border)}}@layer features{.dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard-header{text-align:center;padding:.25rem 0}.dashboard-header .quote-text,.dashboard-header .dashboard-title{font-size:1.75rem;font-weight:700;margin-bottom:.2rem}.dashboard-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.overall-progress-card,.exam-countdown-card{border-radius:var(--border-radius);padding:var(--space-6);display:flex;flex-direction:column;justify-content:space-between;min-width:0}.overall-progress-card{height:320px}.overall-header{margin-top:0;margin-bottom:.5rem;flex-shrink:0;min-height:48px;display:flex;flex-direction:column;justify-content:flex-start}.overall-header h2,.countdown-header h2{margin-top:0;font-size:1.25rem;font-weight:600;margin-bottom:.25rem;line-height:1.2}.overall-header p,.countdown-header p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.overall-ring-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;flex:1;padding:1rem 0;margin:0;overflow:hidden;gap:1.5rem}.total-study-time{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:transparent;border:1px solid var(--border);border-radius:var(--border-radius-sm)}.study-time-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.study-time-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.overall-stats{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border);gap:1rem;margin-top:0}.stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex:1}.stat-value{font-size:1.35rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.75rem;color:var(--text-muted);text-align:center}.exam-countdown-card{height:320px}.countdown-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;margin-top:1rem;flex:1}.days-display{display:flex;flex-direction:column;align-items:center;line-height:1}.days-value{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--secondary-accent, var(--accent)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.days-label{font-size:1rem;color:var(--text-muted);font-weight:500;margin-top:.5rem}.no-date-message{color:var(--text-muted);font-style:italic;text-align:center;padding:1rem;display:flex;flex-direction:column;align-items:center;transition:color var(--transition-fast)}.no-date-message:hover{color:var(--accent)}.countdown-header{margin-top:0;margin-bottom:.5rem;flex-shrink:0;min-height:48px;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.exam-edit-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;padding:.4rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.exam-edit-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.exam-primary-name{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.exam-date-sub{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.exam-secondary-container{width:100%;border-top:1px solid var(--border);padding-top:.75rem;margin-top:auto}.exam-secondary-cycler{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2sease;border:1px solid transparent;-webkit-user-select:none;user-select:none}.exam-secondary-cycler:hover{background:var(--bg-tertiary-hover, rgba(255, 255, 255, .05));border-color:var(--border);transform:translateY(-1px)}.exam-secondary-cycler:active{transform:translateY(0)}.exam-secondary-name{color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:.5rem}.exam-secondary-days{font-weight:700;color:var(--text-muted);font-size:.75rem;flex-shrink:0}.exam-secondary-days.urgent{color:var(--priority-high)}.exam-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:1.5rem;width:90%;max-width:480px;box-shadow:var(--shadow-lg);max-height:80vh;display:flex;flex-direction:column}.exam-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.exam-modal-header h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0}.exam-modal-body{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;flex:1}.exam-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-muted);text-align:center;gap:.5rem}.exam-empty-state p{margin:0;font-size:.9rem}.exam-empty-hint{font-size:.8rem!important;color:var(--text-muted)}.exam-list{display:flex;flex-direction:column;gap:.5rem}.exam-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid transparent;transition:all .2s}.exam-item.primary{border-color:var(--accent-border);background:var(--accent-light)}.exam-primary-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.exam-primary-btn:hover,.exam-primary-btn.active{color:var(--accent)}.exam-favourite-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.exam-favourite-btn:hover,.exam-favourite-btn.active{color:var(--accent)}.exam-syllabus-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.exam-syllabus-btn:hover{border-color:var(--accent);color:var(--accent)}.scoped-exam-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:600;font-size:.85rem}.syllabus-picker-overlay{z-index:1200}.syllabus-picker-modal{max-width:600px;width:95%;max-height:85vh;display:flex;flex-direction:column}.exam-modal-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1);display:block}.syllabus-picker-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.syllabus-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.syllabus-tab-btn:hover{background:var(--bg-secondary);border-color:var(--border-hover)}.syllabus-tab-btn.active{background:var(--bg-secondary)}.syllabus-tab-btn.active.text-physics{border-color:var(--color-physics);box-shadow:0 0 0 1px var(--color-physics)}.syllabus-tab-btn.active.text-chemistry{border-color:var(--color-chemistry);box-shadow:0 0 0 1px var(--color-chemistry)}.syllabus-tab-btn.active.text-maths{border-color:var(--color-maths);box-shadow:0 0 0 1px var(--color-maths)}.syllabus-tab-badge{background:var(--bg-base);color:var(--text-muted);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-full);font-weight:500}.syllabus-picker-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap}.syllabus-search-box{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);flex:1;min-width:180px;color:var(--text-muted)}.syllabus-search-box input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--text-sm);width:100%}.syllabus-search-box input::placeholder{color:var(--text-muted)}.syllabus-quick-actions{display:flex;gap:var(--space-2);align-items:center}.quick-action-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);display:inline-flex;align-items:center;gap:4px}.quick-action-btn:hover{background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text-primary)}.quick-action-btn.reset-btn{color:var(--color-priority-medium);border-color:var(--border)}.quick-action-btn.reset-btn:hover{border-color:var(--color-priority-medium)}.syllabus-chapter-list{display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;flex:1;max-height:340px;padding-right:var(--space-1);margin-bottom:var(--space-4)}.syllabus-chapter-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);-webkit-user-select:none;user-select:none}.syllabus-chapter-item:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.syllabus-chapter-item.checked{border-color:var(--accent-border);background:var(--accent-light)}.chapter-serial{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);width:28px;flex-shrink:0}.chapter-name{font-size:var(--text-sm);color:var(--text-primary);flex:1}.syllabus-picker-footer{display:flex;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3)}.exam-item-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.exam-item-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-item-date{font-size:.75rem;color:var(--text-muted)}.exam-item-countdown{flex-shrink:0}.exam-days-badge{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--bg-primary);color:var(--text-secondary)}.exam-days-badge.urgent{background:var(--priority-high-bg);color:var(--priority-high)}.exam-days-badge.soon{background:var(--priority-medium-bg);color:var(--priority-medium)}.exam-item-actions{display:flex;gap:2px;flex-shrink:0}.exam-action-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.exam-action-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.exam-action-btn.danger:hover{color:var(--priority-high);background:#ef44441a}.exam-item-edit{display:flex;flex-direction:column;gap:.5rem;width:100%}.exam-name-input{width:100%;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem}.exam-name-input:focus{outline:none;border-color:var(--accent)}.date-display-btn.compact{padding:.4rem .75rem;font-size:.85rem}.exam-edit-actions,.exam-add-actions{display:flex;gap:.5rem;justify-content:flex-end}.exam-edit-actions button,.exam-add-actions button{border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.exam-edit-actions .save-btn,.exam-add-actions .save-btn,.exam-edit-actions .cancel-btn,.exam-add-actions .cancel-btn{font-size:.8rem}.save-btn.small,.cancel-btn.small{padding:.4rem .8rem;font-size:.8rem}.exam-add-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;border:1px dashed var(--border)}.exam-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.exam-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.date-input-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.date-input-container label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.date-input-container input[type=date]{width:100%;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9375rem;transition:all var(--transition-fast)}.date-input-container input[type=date]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.quote-author{font-size:1rem;font-style:italic;color:var(--text-secondary);margin-top:.25rem}.subject-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.subject-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:1.5rem;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:1.25rem;box-shadow:var(--panel-inner-glow),var(--panel-shadow);text-align:center}.subject-card:hover{background:var(--panel-bg-hover);border-color:var(--panel-border-light);box-shadow:var(--panel-inner-glow),var(--panel-shadow-hover)}.subject-card:focus{outline:2px solid var(--accent);outline-offset:2px}.subject-card-header{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%}.subject-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--accent)}.subject-card-header h3{font-size:var(--text-lg);font-weight:600;line-height:1.2;margin:0;color:var(--text-primary)}.subject-ring-container{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-2) 0}.subject-ring-container .progress-ring-container{flex-shrink:0}.subject-card-stats{display:flex;justify-content:space-between;width:100%;padding-top:1rem;border-top:1px solid var(--border);gap:var(--space-2);margin-top:auto}.subject-card-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1}.subject-card-stat-value{font-size:1.25rem;font-weight:700;color:var(--accent);line-height:1.2}.subject-card-stat-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;line-height:1.1;text-align:center}.subject-card-link{display:flex;justify-content:center;align-items:center;width:100%}.view-link{color:var(--accent);font-size:var(--text-sm);font-weight:600;display:inline-flex;align-items:center;transition:color var(--transition-fast)}.view-link-arrow{transition:transform var(--transition-fast)}.subject-card:hover .view-link-arrow{transform:translate(4px)}.subject-card .progress-value{font-size:1.5rem}.subject-card .progress-symbol{font-size:.875rem}.progress-ring-container{position:relative;display:flex;align-items:center;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-text{position:absolute;display:flex;align-items:baseline;gap:2px}.progress-value{font-size:1.75rem;font-weight:700}.progress-symbol{font-size:1rem;color:var(--text-muted)}.progress-bar-container{width:100%}.progress-bar-label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.progress-bar{width:100%;background:var(--bg-tertiary);border-radius:100px;overflow:hidden;border:1px solid var(--border)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--secondary-accent, #a855f7));border-radius:100px}.agenda-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;height:320px;min-width:0}.agenda-header{margin-top:0;margin-bottom:.5rem;flex-shrink:0;min-height:48px;display:flex;flex-direction:column;justify-content:flex-start}.agenda-header h2{margin-top:0;font-size:1.25rem;font-weight:600;margin-bottom:.25rem;line-height:1.2}.agenda-header p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.agenda-header-row{display:flex;justify-content:space-between;align-items:center;width:100%}.add-task-icon-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;padding:.4rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.add-task-icon-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.agenda-list{flex:1;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;overflow-x:hidden;padding-right:4px;width:100%;max-height:220px}.agenda-list::-webkit-scrollbar{width:4px}.agenda-list::-webkit-scrollbar-track{background:transparent}.agenda-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.agenda-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.agenda-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;background:var(--bg-tertiary);border-radius:8px;transition:all .2s}.agenda-item.completed{opacity:.7;background:var(--bg-primary)}.agenda-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent-text);transition:all .2s;flex-shrink:0}.agenda-check:hover{border-color:var(--accent)}.agenda-check.checked{background:var(--accent);border-color:var(--accent-border)}.agenda-info{flex:1;display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.agenda-title{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;display:block}.agenda-item.completed .agenda-title{text-decoration:line-through;color:var(--text-muted)}.agenda-subtitle{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;min-width:0}.agenda-subtitle-subject{font-weight:600}.agenda-time-inline{margin-left:6px;font-size:.7rem;font-weight:600;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.agenda-time-inline.pending{background:var(--priority-high-bg);color:var(--priority-high)}.agenda-time-inline.delayed{background:var(--priority-medium-bg);color:var(--priority-medium)}.agenda-time-inline.completed{background:transparent;color:var(--text-muted)}.agenda-time{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-primary);padding:3px 8px;border-radius:6px;white-space:nowrap}.agenda-time.completed-time{color:var(--text-muted)}.agenda-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.empty-agenda{display:flex;flex-direction:column;align-items:center;justify-content:center;height:220px;color:var(--text-secondary);text-align:center;gap:.5rem;padding:2rem 0}.empty-agenda.clickable{cursor:pointer}.empty-agenda.clickable:hover .empty-hint{color:var(--accent)}.empty-hint{font-size:.8rem;color:var(--text-muted)}.analytics-panels-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:0}.analytics-panel{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:1.25rem;box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;min-height:380px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem}.mock-scores-panel .panel-header,.study-time-panel .panel-header{flex-wrap:wrap;align-items:flex-start}.mock-scores-panel .panel-header{flex-direction:column;align-items:stretch;gap:.75rem}.mock-panel-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem}.panel-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.panel-title h3{font-size:1.1rem;font-weight:600;margin:0}.view-toggle-small{display:flex;background:var(--bg-tertiary);border-radius:6px;padding:3px;border:1px solid var(--border)}.mock-scores-panel .view-toggle-small,.study-time-panel .view-toggle-small{width:100%;flex-wrap:wrap;gap:4px}.view-toggle-small button{padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .2s}.mock-scores-panel .view-toggle-small button,.study-time-panel .view-toggle-small button{flex:1 1 70px;text-align:center}.view-toggle-small button.active{background:var(--accent);color:var(--accent-text)}.date-navigator{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.date-navigator button{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s}.date-navigator button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.date-navigator button:disabled{opacity:.4;cursor:not-allowed}.chart-container{flex:1;min-height:220px;position:relative;min-width:0}.mock-scores-panel .chart-container{flex:0 0 auto;height:220px}.chart-container.scrollable{overflow-x:auto;padding-bottom:.5rem}.chart-container.scrollable::-webkit-scrollbar{height:6px}.chart-container.scrollable::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.add-mock-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1_5, 6px) var(--space-3);background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.add-mock-btn-compact{padding:var(--space-1) var(--space-2_5, 10px);font-size:var(--text-xs);border-radius:var(--radius-xs);white-space:nowrap;height:1.75rem}.add-mock-btn:hover{transform:translateY(-1px);background:var(--accent-hover)}.mock-panel-cockpit-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-2_5, 10px);height:1.75rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:var(--radius-xs);white-space:nowrap;font-weight:600;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.mock-panel-cockpit-btn:hover{transform:translateY(-1px)}.mock-panel-cockpit-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.mock-panel-actions{display:flex;align-items:center;gap:.75rem}.mock-scores-panel .mock-panel-actions{flex-wrap:wrap;width:100%;align-items:stretch}.empty-mock-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:1rem;padding:2rem}.empty-mock-state p{font-size:.9rem}.empty-mock-state button{padding:10px 20px;background:var(--accent);color:var(--accent-text);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.empty-mock-state button:hover{transform:translateY(-2px)}.mock-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:1rem}.mock-list.scrollable-list{max-height:200px;overflow-y:auto;padding-right:4px}.mock-list.scrollable-list::-webkit-scrollbar{width:4px}.mock-list.scrollable-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.mock-item{display:grid;grid-template-columns:minmax(0,1fr) 260px 28px;align-items:center;column-gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:8px;font-size:.85rem}.mock-info{display:flex;flex-direction:column;gap:2px;min-width:0}.mock-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mock-date-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.mock-date{font-size:.75rem;color:var(--text-muted)}.mock-exam-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;background:color-mix(in srgb,var(--accent),transparent 82%);color:var(--accent)}.mock-exam-badge.jm{background:color-mix(in srgb,var(--accent),transparent 82%);color:var(--accent)}.mock-exam-badge.ja{background:#3b82f626;color:#60a5fa}.mock-exam-badge.bt{background:#10b9812e;color:#34d399}.mock-paper-summary{font-size:.72rem;color:var(--text-secondary)}.mock-scores-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 72px;gap:.75rem;font-weight:600;font-size:.8rem;align-items:center;flex-wrap:wrap;justify-content:end;justify-items:end;min-width:260px;font-variant-numeric:tabular-nums}.mock-scores-mini .total-score{color:var(--text-primary);padding-left:.5rem;border-left:1px solid var(--border);justify-self:end}.delete-mock-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.delete-mock-btn:hover{color:var(--priority-high);background:#ef44441a}.add-mock-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:1.5rem;width:90%;max-width:400px;max-height:min(88vh,88dvh);box-shadow:var(--shadow-lg);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.add-mock-modal-wide{max-width:720px}.add-mock-modal::-webkit-scrollbar{width:6px}.add-mock-modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.add-mock-modal h3{margin:0 0 1.5rem;font-size:1.2rem;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem}.form-group input{width:100%;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem}.form-group input:focus{outline:none;border-color:var(--accent)}.form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input-container{position:relative;display:flex;align-items:center}.number-input-container input{padding-right:2.5rem}.number-input-controls{position:absolute;right:1px;top:1px;bottom:1px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border);width:2rem;background:var(--bg-tertiary);border-top-right-radius:5px;border-bottom-right-radius:5px;overflow:hidden}.number-input-controls button{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;transition:all .2s}.number-input-controls button:hover{background:var(--bg-primary);color:var(--text-primary)}.number-input-controls button:first-child{border-bottom:1px solid var(--border)}.marks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.mock-exam-toggle{display:inline-flex}.mock-form-hint{margin-bottom:1rem;padding:.75rem .9rem;border:1px dashed var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.82rem;line-height:1.45}.ja-paper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.ja-paper-card{padding:1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border)}.ja-paper-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;font-size:.85rem;font-weight:700;color:var(--text-primary)}.ja-subject-summary{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem;font-size:.85rem;font-weight:700}.total-display{text-align:center;padding:1rem;background:var(--bg-tertiary);border-radius:8px;font-size:1rem;color:var(--text-secondary);margin-bottom:1rem}.total-display strong{font-size:1.5rem;color:var(--accent)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions button{padding:.6rem 1.25rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.cancel-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.save-btn{background:var(--accent);border:none;color:var(--accent-text)}.save-btn:hover:not(:disabled){transform:scale(1.02)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.task-log-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.task-log-list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:4px;max-height:350px}.task-log-list::-webkit-scrollbar{width:4px}.task-log-list::-webkit-scrollbar-track{background:transparent}.task-log-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.task-log-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.task-log-card .empty-agenda{height:120px}.agenda-header-task-log{margin-bottom:0}.agenda-header-content{display:flex;align-items:center;gap:.75rem}.task-log-icon{color:var(--accent)}.task-log-item{background:var(--bg-tertiary)}.task-log-check{cursor:default}.task-log-title{color:var(--text-primary)}.task-log-subject{font-weight:600;margin-right:4px}.task-log-date{font-size:.7rem}.dashboard-notifications-root{position:fixed;right:1rem;bottom:1rem;z-index:990;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.has-chat-fab .dashboard-notifications-root{right:var(--space-6);bottom:calc(var(--space-6) + 64px)}.dashboard-notifications-bell{position:relative;width:54px;height:54px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--accent);backdrop-filter:blur(calc(var(--glass-blur, 10px) + 6px)) var(--glass-refraction, saturate(150%) brightness(100%));-webkit-backdrop-filter:blur(calc(var(--glass-blur, 10px) + 6px)) var(--glass-refraction, saturate(150%) brightness(100%));box-shadow:var(--panel-shadow),var(--panel-inner-glow);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden;line-height:0}.dashboard-notifications-bell:hover{transform:translateY(-2px);border-color:var(--accent-border)}.dashboard-notifications-bell svg{display:block}.dashboard-notifications-bell.is-highlighted{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-light),var(--panel-shadow),var(--panel-inner-glow)}.dashboard-notifications-panel{width:min(92vw,360px);max-height:min(70vh,560px);overflow:hidden;padding:.75rem;border-radius:var(--border-radius)}.dashboard-notifications-header h3{margin:0;font-size:1rem}.dashboard-notifications-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.625rem;overflow-y:auto;max-height:min(60vh,480px);padding-right:2px}.dashboard-notification-item{border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:.625rem;background:var(--bg-secondary)}.dashboard-notification-item.is-unread{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent),var(--bg-secondary) 92%)}.dashboard-notification-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.dashboard-notification-item h4{margin:0;font-size:.9rem}.dashboard-notification-item p{margin:.4rem 0 0;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.dashboard-notification-dismiss{border:none;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;padding:2px}.dashboard-notification-dismiss:hover{color:var(--text-primary);background:var(--bg-tertiary)}.dashboard-notification-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.6rem}@media(max-width:64rem){.dashboard-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:48rem){.modal-overlay{padding:.75rem;align-items:flex-start;overflow-y:auto}.overall-progress-card,.exam-countdown-card{height:auto;min-height:0}.dashboard-stats-row,.analytics-panels-row{grid-template-columns:1fr}body.has-mobile-drawer-open .dashboard-notifications-root{opacity:0;pointer-events:none}.dashboard-notifications-root{right:var(--space-4);bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}.has-chat-fab .dashboard-notifications-root{right:var(--space-4);bottom:calc(8.5rem + env(safe-area-inset-bottom,0px))}.dashboard-notifications-bell{width:50px;height:50px}.overall-content{flex-direction:column;text-align:center;gap:var(--space-6)}.overall-stats{justify-content:center;gap:var(--space-8)}.add-mock-modal{width:100%;max-width:100%;max-height:calc(100dvh - 1.5rem);margin:0 auto;padding:1rem}}@media(max-width:40rem){.marks-grid{grid-template-columns:1fr}.mock-panel-actions{width:100%;justify-content:space-between}.ja-paper-grid{grid-template-columns:1fr}}@media(max-width:30rem){.dashboard-header .quote-text,.dashboard-header .dashboard-title{font-size:1.5rem}.subject-cards{grid-template-columns:1fr}.days-value{font-size:2.5rem}.panel-header,.mock-panel-actions{flex-direction:column;align-items:stretch}}.mock-manage-presets-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1_5, 6px) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.mock-manage-presets-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light, var(--bg-primary));transform:translateY(-1px)}.mock-preset-manager-modal{width:95%;max-width:580px;max-height:min(85vh,560px);display:flex;flex-direction:column;overflow:hidden!important}.mock-preset-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-shrink:0}.mock-preset-manager-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.mock-preset-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm, 8px);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.mock-preset-close-btn:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--text-muted)}.mock-preset-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;flex:1;overflow-y:auto;padding-right:4px}.mock-preset-list::-webkit-scrollbar{width:6px}.mock-preset-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.mock-preset-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md, 12px);transition:border-color .2s ease,background .2s ease,transform .15s ease}.mock-preset-item:hover{border-color:var(--panel-border-light, var(--text-muted));background:var(--panel-bg-hover, var(--bg-primary));transform:translateY(-1px)}.mock-preset-item-info{display:flex;flex-direction:column;gap:.3rem;min-width:0}.mock-preset-item-name{font-weight:600;font-size:.95rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.mock-preset-item-short{font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--bg-primary);padding:.125rem .4rem;border-radius:var(--radius-xs, 4px);border:1px solid var(--border)}.mock-preset-item-meta{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mock-preset-item-meta .text-physics,.mock-preset-item-meta .text-chemistry,.mock-preset-item-meta .text-maths{font-weight:600}.mock-preset-item-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.mock-preset-action-btn{display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:var(--radius-sm, 8px);border:1px solid var(--border);cursor:pointer;transition:all .15s ease;padding:0}.mock-preset-edit-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.mock-preset-edit-btn:hover{background:var(--accent-light, var(--bg-primary));border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.mock-preset-delete-btn{background:var(--bg-tertiary);color:var(--text-muted)}.mock-preset-delete-btn:hover:not(:disabled){background:var(--priority-high-bg, rgba(239, 68, 68, .1));border-color:var(--priority-high, #ef4444);color:var(--priority-high, #ef4444);transform:translateY(-1px)}.mock-preset-delete-btn:disabled{opacity:.35;cursor:not-allowed}.mock-preset-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:var(--radius-sm, 8px);background:var(--accent);color:var(--accent-text);border:none;font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s ease;flex-shrink:0}.mock-preset-add-btn:hover{transform:scale(1.015);opacity:.92}.mock-preset-editor{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md, 12px);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;flex:1;min-height:0;overflow-y:auto}.mock-preset-editor-title{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.mock-preset-editor-row{display:flex;gap:.75rem}.mock-preset-editor-field{flex:1}.mock-preset-select{width:100%;padding:.6rem 2rem .6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .2s ease}.mock-preset-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light, rgba(139, 92, 246, .15))}.mock-preset-select option{background:var(--bg-secondary);color:var(--text-primary)}.form-group label.text-physics{color:var(--color-physics)!important}.form-group label.text-chemistry{color:var(--color-chemistry)!important}.form-group label.text-maths{color:var(--color-maths)!important}}@layer features{.subject-page{display:flex;flex-direction:column;gap:1rem}.subject-page.loading{align-items:center;justify-content:center;min-height:400px;gap:1rem}.loader{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.subject-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:.5rem}.subject-title{display:flex;align-items:center;gap:.75rem}.subject-icon-large{font-size:1.5rem}.subject-title h1{font-size:1.25rem;font-weight:700;margin-bottom:.1rem}.subject-title p{color:var(--text-secondary);font-size:.8rem}.subject-title-row{display:flex;align-items:center;gap:.75rem}.edit-toggle-btn{background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s;height:28px}.edit-toggle-btn:hover{background:var(--bg-tertiary);color:var(--accent-hover);border-color:var(--accent-border)}.edit-toggle-btn.editing{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.edit-toggle-text{font-size:.75rem;font-weight:600}.subject-progress-summary{flex:1;max-width:25rem;min-width:12rem}.subject-header-actions{display:flex;gap:var(--space-4);align-items:center;min-width:0}.chapter-table-container{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);box-shadow:var(--panel-inner-glow),var(--panel-shadow);overflow:hidden}.desktop-chapter-table{display:flex}.left-table-section{flex:0 0 19.125rem;border-right:1px solid var(--border)}.left-table-section .chapter-table{table-layout:fixed}.middle-table-section{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.middle-table-section::-webkit-scrollbar{height:6px}.right-table-section{flex:0 0 10rem;border-left:1px solid var(--border)}.right-table-section .chapter-table{table-layout:fixed}.double-scroll-row{display:flex;width:100%;margin-bottom:var(--space-2);box-sizing:border-box}.left-scroll-spacer{flex:0 0 19.125rem}.right-scroll-spacer{flex:0 0 10rem}.double-scroll-wrapper{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;height:8px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.double-scroll-wrapper::-webkit-scrollbar{height:6px}.double-scroll-wrapper::-webkit-scrollbar-track{background:transparent}.double-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--accent);border-radius:var(--radius-full)}.mobile-chapter-view{display:none}@media(max-width:48rem){.double-scroll-row{display:none!important}}.add-material-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--accent);border-radius:var(--radius-xs);padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:600;cursor:pointer;margin-left:var(--space-3);transition:all var(--transition-fast);vertical-align:middle;min-height:1.5rem}.add-material-btn:hover{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border)}.chapter-table{width:100%;min-width:100%;border-collapse:collapse;font-size:.85rem}.chapter-table th{background:var(--bg-tertiary);padding:0 .5rem!important;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;height:2.25rem!important;box-sizing:border-box;vertical-align:middle}.chapter-table td{padding:0 .5rem!important;border-bottom:1px solid var(--border);vertical-align:middle;height:2.375rem!important;box-sizing:border-box}.chapter-table tbody tr:last-child td{border-bottom:none}.serial-cell,.serial-header{width:50px;text-align:center}.serial-cell{font-weight:600;color:var(--text-muted)}.chapter-cell,.chapter-header{width:16rem;max-width:16rem;min-width:16rem}.chapter-name-wrap{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;width:100%}.chapter-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.chapter-name{font-weight:500;white-space:nowrap}.chapter-name.completed{color:var(--text-muted);text-decoration:line-through}.completed-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:800;height:1.125rem;min-width:1.125rem;padding:0 var(--space-2);box-sizing:border-box;margin-left:var(--space-2);flex-shrink:0}th.material-header,td.material-cell{min-width:5.625rem;text-align:center}td.material-cell .checkbox-container{width:auto;min-height:1.5rem;margin:0 auto}.material-header-draggable{cursor:grab;background:var(--bg-tertiary)}.material-header-content{display:flex;align-items:center;justify-content:center;gap:.25rem}.remove-material-btn{background:transparent;border:none;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 .2rem;border-radius:4px;transition:all var(--transition-fast);opacity:.5;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.material-header-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.remove-material-btn:hover{color:var(--priority-high);background:var(--priority-high-bg);opacity:1}.priority-cell,.priority-header{width:13rem;text-align:center}.priority-header-content{display:flex;align-items:center;justify-content:center;gap:6px}.filter-wrapper{position:relative}.filter-icon-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:all .2s;position:relative}.filter-dot{position:absolute;top:0;right:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.filter-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-secondary);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:100px;padding:var(--space-1);animation:fadeIn .15s ease}.filter-option-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:500;transition:background .15s;text-align:left}.filter-option-btn:hover{background:var(--bg-tertiary)}.filter-option-btn.active{background:var(--accent-light);font-weight:600}.check-icon{color:var(--accent)}.chapter-row{--row-bg: var(--panel-bg);background:var(--row-bg);transition:background-color var(--transition-fast);cursor:default;height:2.375rem;box-sizing:border-box}.left-table-section .chapter-row{cursor:pointer}.chapter-row:hover,.chapter-row.hovered{--row-bg: var(--bg-tertiary);background:var(--row-bg)}.chapter-row[draggable=true]{cursor:grab}.chapter-row.priority-high{--row-bg: var(--priority-high-bg);background:var(--row-bg)}.chapter-row.priority-high:hover,.chapter-row.priority-high.hovered{--row-bg: rgba(239, 68, 68, .15);background:var(--row-bg)}.chapter-row.priority-medium{--row-bg: var(--priority-medium-bg);background:var(--row-bg)}.chapter-row.priority-medium:hover,.chapter-row.priority-medium.hovered{--row-bg: rgba(245, 158, 11, .15);background:var(--row-bg)}.chapter-row.priority-low{--row-bg: var(--priority-low-bg);background:var(--row-bg)}.chapter-row.priority-low:hover,.chapter-row.priority-low.hovered{--row-bg: rgba(34, 197, 94, .15);background:var(--row-bg)}.chapter-row.completed{--row-bg: var(--completed-bg);background:var(--row-bg)}.chapter-row.completed:hover,.chapter-row.completed.hovered{--row-bg: rgba(99, 102, 241, .15);background:var(--row-bg)}.priority-selector{display:flex;gap:var(--space-1);min-width:6rem;justify-content:center;margin:0 auto}.priority-btn{padding:.2rem .4rem;border:2px solid transparent;background:var(--bg-tertiary);color:var(--text-muted);font-size:.7rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);line-height:1;display:flex;align-items:center;justify-content:center;min-height:22px}.priority-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.priority-btn.active{color:var(--priority-color)}.legend{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:1.25rem 1.5rem}.legend h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.legend-items{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.high{background:var(--priority-high)}.legend-color.medium{background:var(--priority-medium)}.legend-color.low{background:var(--priority-low)}.legend-color.completed{background:var(--accent)}.grip-icon-wrapper{display:flex;justify-content:center;align-items:center;cursor:grab;color:var(--text-secondary);height:100%}.chapter-edit-input{margin-top:0!important;padding:0 .5rem!important;height:1.625rem!important;font-size:.8rem!important;width:100%;box-sizing:border-box;display:block;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xs)!important;color:var(--text-primary);vertical-align:middle}.chapter-delete-btn{background:var(--priority-high-bg);color:var(--priority-high);border:1px solid var(--priority-high);border-radius:var(--radius-xs);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;margin:0 auto;transition:all var(--transition-fast);height:1.625rem!important;padding:0 var(--space-2)!important;box-sizing:border-box}.chapter-delete-btn:hover{background:var(--priority-high);color:#fff}.edit-actions-container{padding:1rem;border-top:1px solid var(--border);text-align:center}.add-chapter-btn-wrapper{width:100%;max-width:18.75rem;margin:0 auto}.mobile-chapter-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.mobile-priority-filter{display:flex;align-items:center;gap:var(--space-2)}.mobile-control-label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.mobile-add-chapter-btn{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.mobile-chapter-list{display:flex;flex-direction:column;gap:var(--space-3)}.mobile-chapter-card{border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-inner-glow),var(--panel-shadow);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.mobile-chapter-card:hover{transform:translateY(-1px);border-color:var(--border-hover)}.mobile-chapter-card.completed{background:linear-gradient(var(--completed-bg),var(--completed-bg)),var(--panel-bg);border-color:color-mix(in srgb,var(--accent) 30%,var(--panel-border))}.mobile-chapter-card.priority-high{background:linear-gradient(var(--priority-high-bg),var(--priority-high-bg)),var(--panel-bg);border-color:color-mix(in srgb,var(--priority-high) 40%,var(--panel-border))}.mobile-chapter-card.priority-medium{background:linear-gradient(var(--priority-medium-bg),var(--priority-medium-bg)),var(--panel-bg);border-color:color-mix(in srgb,var(--priority-medium) 40%,var(--panel-border))}.mobile-chapter-card.priority-low{background:linear-gradient(var(--priority-low-bg),var(--priority-low-bg)),var(--panel-bg);border-color:color-mix(in srgb,var(--priority-low) 40%,var(--panel-border))}.mobile-chapter-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mobile-chapter-title-wrap{display:flex;align-items:center;gap:var(--space-2);min-width:0}.mobile-chapter-drag-handle{color:var(--text-muted);display:inline-flex}.mobile-chapter-index{color:var(--text-muted);font-weight:700;font-size:var(--text-sm)}.mobile-chapter-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-chapter-name.completed{text-decoration:line-through;color:var(--text-muted)}.mobile-chapter-chevron{color:var(--text-muted);flex-shrink:0}.mobile-chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mobile-priority-badge{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3)}.mobile-priority-badge.priority-high{color:var(--priority-high)}.mobile-priority-badge.priority-medium{color:var(--priority-medium)}.mobile-priority-badge.priority-low{color:var(--priority-low)}.mobile-completion-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.mobile-progress-track{width:100%;height:.4rem;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden}.mobile-progress-fill{display:block;height:100%;background:var(--accent)}.chapter-detail-sheet{width:min(96vw,32rem);max-width:32rem;max-height:min(88vh,88dvh);overflow:hidden;padding:var(--space-6)}.chapter-detail-body{overflow-y:auto;padding-right:var(--space-1)}.chapter-detail-section{display:flex;flex-direction:column;gap:var(--space-2)}.chapter-detail-section label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.chapter-detail-title{margin:0;color:var(--text-primary);font-weight:600}.chapter-material-list{display:flex;flex-direction:column;gap:var(--space-2)}.chapter-material-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-weight:500}.chapter-material-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:color var(--transition-fast),transform var(--transition-fast)}.chapter-material-toggle[aria-pressed=true]{color:var(--accent)}.chapter-material-toggle:hover{color:var(--accent);transform:scale(1.05)}.chapter-name-wrap{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.chapter-detail-dot{color:var(--accent);font-size:var(--text-lg);line-height:1}.chapter-question-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-border);border-radius:var(--radius-full);background:color-mix(in srgb,var(--accent-light) 100%,var(--bg-primary));color:var(--accent);font-size:.7rem;font-weight:800;height:1.125rem;padding:0 .5rem;box-sizing:border-box;white-space:nowrap;letter-spacing:-.03em;box-shadow:0 0 8px color-mix(in srgb,var(--accent),transparent 90%);text-shadow:none!important}.chapter-detail-total{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:700;line-height:1;padding:var(--space-1) var(--space-2);white-space:nowrap}.chapter-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end;pointer-events:none}.modern-drawer{pointer-events:auto;width:min(100%,28rem);height:100%;display:flex;flex-direction:column;overflow-y:auto;background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-left:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);padding:var(--space-5);gap:var(--space-4);letter-spacing:-.015em}.chapter-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--border),transparent 40%)}.chapter-drawer-kicker{margin:0 0 var(--space-1);color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.chapter-drawer-header h2{margin:0;color:var(--text-primary);font-size:var(--text-xl);font-weight:800;line-height:1.25;letter-spacing:-.025em}.chapter-drawer-close{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:none;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.chapter-drawer-close:hover{background:var(--accent-light);color:var(--accent);transform:scale(1.05)}.chapter-drawer-content{display:flex;flex-direction:column;gap:var(--space-5);flex:1}.drawer-section{display:flex;flex-direction:column;gap:var(--space-3)}.drawer-section-title{margin:0;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.drawer-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.drawer-field{font-size:14px;display:flex;gap:var(--space-2)}.row-field{flex-direction:row;align-items:center;justify-content:space-between}.drawer-field .priority-selector{margin:0}.column-field{flex-direction:column}.drawer-field>label{color:var(--text-primary);font-size:var(--text-xs);font-weight:600}.confidence-slider-header{display:flex;justify-content:space-between;align-items:center;width:100%}.confidence-badge{font-size:.7rem;font-weight:700;padding:0 .4rem;height:1.25rem;display:inline-flex;align-items:center;box-sizing:border-box;border-radius:var(--radius-xs);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);text-transform:uppercase;letter-spacing:.05em}.confidence-badge.val-0{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border)}.confidence-badge.val-1{background:color-mix(in srgb,var(--confidence-red) 15%,transparent);color:var(--confidence-red);border:1px solid color-mix(in srgb,var(--confidence-red) 30%,transparent)}.confidence-badge.val-2{background:color-mix(in srgb,var(--confidence-amber) 15%,transparent);color:var(--confidence-amber);border:1px solid color-mix(in srgb,var(--confidence-amber) 30%,transparent)}.confidence-badge.val-3{background:color-mix(in srgb,var(--confidence-yellow) 15%,transparent);color:var(--confidence-yellow);border:1px solid color-mix(in srgb,var(--confidence-yellow) 30%,transparent)}.confidence-badge.val-4{background:color-mix(in srgb,var(--confidence-purple) 15%,transparent);color:var(--confidence-purple);border:1px solid color-mix(in srgb,var(--confidence-purple) 30%,transparent)}.confidence-badge.val-5{background:color-mix(in srgb,var(--confidence-green) 15%,transparent);color:var(--confidence-green);border:1px solid color-mix(in srgb,var(--confidence-green) 30%,transparent)}.confidence-slider-container{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0 var(--space-1)}.confidence-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(to right,var(--border) 0%,var(--confidence-red) 20%,var(--confidence-amber) 40%,var(--confidence-yellow) 60%,var(--confidence-purple) 80%,var(--confidence-green) 100%);border-radius:3px;outline:none;cursor:pointer}.confidence-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--thumb-color, var(--text-muted));border:2px solid var(--bg-secondary);cursor:pointer;box-shadow:0 1px 3px #0000004d;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.confidence-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 5px #0006}.confidence-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--thumb-color, var(--text-muted));border:2px solid var(--bg-secondary);cursor:pointer;box-shadow:0 1px 3px #0000004d;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.confidence-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 5px #0006}.confidence-slider::-moz-range-track{height:6px;background:linear-gradient(to right,var(--border) 0%,var(--confidence-red) 20%,var(--confidence-amber) 40%,var(--confidence-yellow) 60%,var(--confidence-purple) 80%,var(--confidence-green) 100%);border-radius:3px}.confidence-slider-ticks{position:relative;height:1rem;margin:4px 8px 0;font-size:.7rem;font-weight:600;color:var(--text-muted);-webkit-user-select:none;user-select:none}.confidence-slider-ticks span{position:absolute;transform:translate(-50%);white-space:nowrap}.modern-date-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:1.75rem;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.modern-date-btn:hover{border-color:var(--accent);color:var(--accent)}.materials-list{font-size:14px;display:flex;flex-direction:column;gap:var(--space-2)}.material-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.material-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.material-info{display:flex;align-items:center;gap:var(--space-3)}.modern-toggle{width:1.25rem;height:1.25rem;border-radius:var(--radius-xs);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--bg-base);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.modern-toggle.checked{background:var(--accent);border-color:var(--accent)}.material-name{font-weight:600;color:var(--text-primary);font-size:var(--text-xs)}.material-card-actions{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-top:1px solid var(--border-subtle)}.action-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.modern-stepper{display:inline-flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.modern-stepper button{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.modern-stepper button:hover{background:var(--accent-light);color:var(--accent)}.modern-stepper input{width:2.5rem;height:1.75rem;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);background:transparent;color:var(--text-primary);font-weight:700;text-align:center}.modern-stepper input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.modern-stepper input[type=number]::-webkit-inner-spin-button,.modern-stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modern-stepper input[type=number]{-moz-appearance:textfield}.modern-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:var(--text-xs);padding:var(--space-3);resize:vertical;min-height:6rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modern-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-tertiary)}@media(max-width:48rem){.subject-header{flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-inner-glow),var(--panel-shadow);margin-bottom:var(--space-4)}.subject-title{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:var(--space-3)}.subject-title>div{align-items:flex-start;text-align:left;flex:1;min-width:0}.subject-title-row{flex-direction:row!important;gap:var(--space-2);justify-content:flex-start;align-items:center;flex-wrap:wrap}.subject-title-row h1{font-size:var(--text-lg)!important;font-weight:700;margin:0}.subject-icon-large{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--accent);flex-shrink:0}.subject-icon-large svg{width:1.5rem!important;height:1.5rem!important}.subject-title p{font-size:var(--text-xs)!important;color:var(--text-secondary);margin:0;margin-top:var(--space-1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.add-material-btn{margin-left:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);height:1.5rem;min-height:1.5rem}.edit-toggle-btn{height:1.5rem;padding:0 var(--space-2);border-radius:var(--radius-xs)}.edit-toggle-text{font-size:var(--text-xs)}.subject-header-actions{margin-top:var(--space-1);width:100%}.subject-progress-summary{max-width:100%;width:100%;min-width:0}.desktop-chapter-table{display:none}.mobile-chapter-view{display:block}.legend-items{gap:var(--space-4);justify-content:center;flex-wrap:wrap}.priority-selector{min-width:5.5rem}.chapter-detail-sheet{width:100%;max-width:100%;border-radius:var(--radius-md);padding:var(--space-4)}.chapter-drawer-overlay{align-items:flex-end;justify-content:center}.modern-drawer{width:100%;height:min(88dvh,42rem);border-left:none;border-top:1px solid var(--panel-border);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--space-4)}}.chapter-hover-panel{position:fixed;z-index:9999;border:1px solid color-mix(in srgb,var(--border),transparent 20%);border-radius:12px;padding:0;pointer-events:none;background:color-mix(in srgb,var(--bg-secondary, #1a1a2e),transparent 15%)!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;box-shadow:0 8px 32px #00000059,0 2px 8px #0003,inset 0 1px #ffffff1a;animation:chpFadeIn .14s cubic-bezier(.22,1,.36,1);overflow:hidden}.chp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--border),transparent 40%);gap:8px}.chp-title{font-size:.72rem;font-weight:700;color:var(--text-primary);letter-spacing:.03em;text-transform:uppercase}.chp-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.chp-stat{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);gap:16px}.chp-stat-val{font-weight:600;color:var(--text-primary)}.chapter-hover-panel.colored-panel{background:color-mix(in srgb,var(--bg-tertiary),transparent 15%)!important;border-color:color-mix(in srgb,var(--accent),transparent 75%)}.chp-confidence-stars{display:flex;align-items:center;gap:2px}.chp-section{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--border),transparent 60%)}.chp-section:first-child{padding-top:0;border-top:none}.chp-section-title{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.chp-breakdown{display:flex;flex-direction:column;gap:4px}.chp-breakdown-item{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;background:color-mix(in srgb,var(--bg-primary),transparent 50%);padding:4px 8px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border),transparent 50%)}.chp-material-name{color:var(--text-secondary)}.chp-material-count{font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:0 4px;border-radius:4px}.chp-row-stats{gap:4px}.chp-notes{margin-top:2px}.chp-note-text{font-size:.7rem;color:var(--text-primary);background:color-mix(in srgb,var(--bg-primary),transparent 50%);padding:6px 8px;border-radius:var(--radius-sm);border-left:2px solid var(--accent);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.status-cell-content{display:grid;grid-template-columns:50px 80px;align-items:center;justify-content:center;gap:var(--space-4);width:100%}.mini-progress-bar{flex:1;max-width:50px;height:4px;background:color-mix(in srgb,var(--border),transparent 45%);border-radius:var(--radius-xs);overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.mini-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-xs);transition:width var(--transition-normal);box-shadow:0 0 6px color-mix(in srgb,var(--accent),transparent 60%)}.priority-pill-wrapper{position:relative;display:inline-flex}.priority-pill-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);height:22px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.priority-pill-btn:hover{filter:brightness(1.1)}.priority-pill-btn.open{box-shadow:var(--shadow-sm)}.priority-pill-caret{font-size:10px;opacity:.7}.priority-pill-menu{z-index:1000}.checkbox-container.indeterminate .checkmark{background-color:var(--bg-tertiary);border-color:var(--accent)}.checkbox-container.indeterminate .checkmark:after{content:"";position:absolute;display:block;left:50%;top:50%;width:8px;height:2px;background-color:var(--accent);transform:translate(-50%,-50%)}.date-field-wrapper,.stepper-wrapper-with-reset{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.icon-btn-reset{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-xs);width:var(--space-6);height:var(--space-6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);padding:0;flex-shrink:0}.icon-btn-reset:hover{background:color-mix(in srgb,var(--confidence-red) 12%,transparent);color:var(--confidence-red);border-color:color-mix(in srgb,var(--confidence-red),transparent 70%)}.icon-btn-reset:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.subtopics-section-header{display:flex;align-items:center;gap:var(--space-2)}.subtopics-progress-chip{font-size:var(--text-xs);font-weight:700;color:var(--accent);background:var(--accent-light);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);line-height:1;letter-spacing:.02em}.subtopics-container{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary)}.subtopic-row{border-bottom:1px solid var(--border)}.subtopic-row:last-child{border-bottom:none}.subtopic-row-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:2.25rem;transition:background-color var(--transition-fast)}.subtopic-row-header:hover{background:var(--bg-tertiary)}.subtopic-row-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.subtopic-row--expanded>.subtopic-row-header{background:var(--bg-tertiary)}.subtopic-expand-chevron{color:var(--text-muted);flex-shrink:0;transition:transform var(--transition-fast)}.subtopic-row--expanded .subtopic-expand-chevron{transform:rotate(90deg)}.subtopic-row-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtopic-row-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.subtopic-progress-dots{display:flex;gap:var(--space-1);align-items:center}.subtopic-progress-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--border);transition:background-color var(--transition-fast)}.subtopic-progress-dot.filled{background:var(--accent)}.subtopic-row-count{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:2rem;text-align:right}.revision-warning-badge{font-size:var(--text-xs);font-weight:600;color:var(--confidence-amber);background:color-mix(in srgb,var(--confidence-amber) 12%,transparent);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--confidence-amber),transparent 80%);white-space:nowrap}.subtopic-expand-content{padding:0 var(--space-3) var(--space-3);background:var(--bg-tertiary);display:flex;flex-direction:column;gap:var(--space-2);border-left:2px solid var(--accent)}.subtopic-material-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);transition:background-color var(--transition-fast)}.subtopic-material-row:hover{background:color-mix(in srgb,var(--border),transparent 60%)}.subtopic-material-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;flex:1;min-width:0}.subtopic-material-name{font-size:.7rem;font-weight:500;color:var(--text-secondary)}.subtopic-material-row.active .subtopic-material-name{color:var(--text-primary)}.subtopic-material-qs{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.subtopic-material-qs .q-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.modern-stepper--compact{display:inline-flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.modern-stepper--compact button{width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.modern-stepper--compact button:hover:not(:disabled){background:var(--accent-light);color:var(--accent)}.modern-stepper--compact button:disabled{opacity:.3;cursor:not-allowed}.modern-stepper--compact input{width:2rem;height:1.5rem;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:var(--text-xs);font-weight:700;text-align:center;padding:0}.modern-stepper--compact input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.modern-stepper--compact input[type=number]::-webkit-inner-spin-button,.modern-stepper--compact input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modern-stepper--compact input[type=number]{-moz-appearance:textfield}.subtopic-revision-row{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px solid var(--border);font-size:.7rem}.subtopic-revised-label{color:var(--text-muted);font-weight:500}.subtopic-revised-val{color:var(--text-secondary);font-weight:500;flex:1}.subtopic-revised-val.overdue{color:var(--confidence-amber);font-weight:600}.subtopic-revision-actions{display:flex;align-items:center;gap:var(--space-1)}.subtopic-mark-btn{background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent),transparent 70%);color:var(--accent);font-size:.7rem;font-weight:600;height:var(--space-6);padding:0 8px;display:flex;align-items:center;border-radius:var(--radius-xs);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.subtopic-mark-btn:hover{background:var(--accent);color:var(--accent-text)}.subtopic-mark-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(prefers-reduced-motion:reduce){.subtopic-expand-content{animation:none}}}@layer features{.planner-page{padding:var(--space-10) var(--space-8) var(--space-8) var(--space-8);width:100%;max-width:var(--content-max-width);box-sizing:border-box;margin:0 auto}.planner-header{margin-bottom:var(--space-8);display:flex;justify-content:space-between;align-items:center}@media(max-width:48rem){.planner-page{padding:0 var(--space-2) var(--space-4) var(--space-2)}.planner-header{flex-direction:column;gap:var(--space-4);align-items:stretch;margin-bottom:var(--space-6)}}.view-toggles{background:var(--bg-secondary);padding:var(--space-1);border-radius:var(--radius-sm);display:flex;gap:var(--space-1);border:1px solid var(--border)}.view-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-xs);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:700;font-size:.825rem;transition:all var(--transition-fast)}.view-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border);box-shadow:var(--shadow-md)}@media(max-width:48rem){.view-toggles{order:2;width:100%}.view-btn{flex:1;padding:var(--space-2);font-size:var(--text-xs)}}.study-time-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:700;font-size:.95rem}@media(max-width:48rem){.study-time-display{order:1;align-self:center}}.date-controls{display:flex;align-items:center;gap:1rem;font-weight:600;color:var(--text-primary)}.date-controls button{background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast)}.date-controls button:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:48rem){.date-controls{order:3;justify-content:space-between;width:100%;background:var(--bg-secondary);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border)}}.weekly-grid{width:100%;max-width:var(--content-max-width);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}@media(max-width:48rem){.weekly-grid{grid-template-columns:1fr;gap:var(--space-4)}}.day-column{background:var(--bg-secondary);border-radius:12px;padding:1rem;min-height:250px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border);transition:all .2s ease}.day-column.exam-day-col{border:2px solid #f59e0b;background:linear-gradient(to bottom,rgba(245,158,11,.05),var(--bg-secondary))}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.day-header-left{display:flex;align-items:center;gap:.5rem}.day-name{font-weight:600;color:var(--text-secondary)}.day-number{background:var(--bg-tertiary);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary);border:1px solid transparent}.day-column.today .day-number{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border)}.day-column.drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 80%);box-shadow:0 0 0 4px var(--accent),var(--shadow-glow);transform:translateY(-4px);z-index:10}.day-column.drag-over.past-day{border-color:var(--border);background:var(--bg-tertiary);box-shadow:none;transform:none}.header-add-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:all .2s}.header-add-btn:hover{background:var(--accent-light);color:var(--accent)}.tasks-list{flex:1;display:flex;flex-direction:column;gap:.75rem;max-height:280px;overflow-y:auto;padding-right:4px}.tasks-list::-webkit-scrollbar{width:4px}.tasks-list::-webkit-scrollbar-track{background:transparent}.tasks-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tasks-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.day-column.past-day{opacity:.55;background:var(--bg-tertiary)}.day-column.past-day .day-number{background:var(--text-muted);color:var(--bg-primary)}.day-column.past-day .header-add-btn,.day-column.past-day .inline-add-task{pointer-events:none;opacity:.3}.apple-cal{width:100%;max-width:var(--content-max-width);margin:0 auto;border-radius:14px;overflow:hidden;border:1px solid var(--border)}.apple-cal-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.apple-cal-weekday{text-align:center;font-weight:500;font-size:.72rem;color:var(--text-secondary);padding:.6rem 0;text-transform:uppercase;letter-spacing:.5px}.apple-cal-weekday.weekend{color:var(--text-muted)}.apple-cal-body{display:flex;flex-direction:column}.apple-cal-week{display:grid;grid-template-columns:repeat(7,1fr);min-height:100px;border-bottom:1px solid var(--border)}.apple-cal-week:last-child{border-bottom:none}.cal-cell{position:relative;padding:6px 8px;cursor:pointer;transition:background .15s ease;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:100px;overflow:hidden}.cal-cell:last-child{border-right:none}.cal-cell:hover{background:color-mix(in srgb,var(--accent),transparent 92%)}.cal-cell.other-month{background:color-mix(in srgb,var(--bg-primary),transparent 50%)}.cal-cell.other-month .cal-date-num{color:var(--text-muted)}.cal-cell.today{background:color-mix(in srgb,var(--accent),transparent 92%)}.cal-cell.exam-day{background:linear-gradient(180deg,#f59e0b1a,#f59e0b08);border-left:3px solid #f59e0b}.cal-cell.past-day{opacity:.55;cursor:not-allowed}.cal-cell.past-day.other-month{opacity:.35}.past-cross-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:.12;background:linear-gradient(to top right,transparent calc(50% - .5px),var(--text-muted) calc(50% - .5px),var(--text-muted) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to top left,transparent calc(50% - .5px),var(--text-muted) calc(50% - .5px),var(--text-muted) calc(50% + .5px),transparent calc(50% + .5px))}.cal-cell-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;z-index:2;position:relative}.cal-date-num{font-size:.96rem;font-weight:500;color:var(--text-primary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;flex-shrink:0}.cal-today-badge{background:var(--accent);color:var(--accent-text);font-weight:700}.cal-cell-study{display:flex;align-items:center;gap:4px;font-size:.93rem;font-weight:600;color:var(--text-primary);flex-shrink:0}.cal-exam-label{display:flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;line-height:1;color:#f59e0b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.cal-exam-label svg{flex-shrink:0;display:block}.cal-cell-study-row{display:flex;align-items:center;gap:3px;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-top:auto;z-index:2;position:relative}.cal-cell-events{display:flex;flex-direction:column;gap:2px;flex:1;z-index:2;position:relative;overflow:hidden}.cal-event-pill{display:flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--pill-color, var(--accent)),transparent 85%);border-left:3px solid var(--pill-color, var(--accent));min-height:18px;overflow:hidden}.cal-event-pill.completed{opacity:.5}.cal-event-pill.completed .cal-event-text{text-decoration:line-through}.cal-event-dot{width:5px;height:5px;border-radius:50%;background:var(--pill-color, var(--accent));flex-shrink:0}.cal-event-text{font-size:.65rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event-more{font-size:.6rem;font-weight:500;color:var(--text-muted);padding:0 4px;cursor:pointer}.cal-event-more:hover{color:var(--accent)}.cal-hover-panel{position:fixed;z-index:9999;border:1px solid color-mix(in srgb,var(--border),transparent 20%);border-radius:12px;padding:0;pointer-events:none;background:color-mix(in srgb,var(--bg-secondary, #1a1a2e),transparent 15%)!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;box-shadow:0 8px 32px #00000059,0 2px 8px #0003,inset 0 1px #ffffff1a;animation:chpFadeIn .14s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes chpFadeIn{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--border),transparent 40%);gap:8px}.chp-date{font-size:.72rem;font-weight:700;color:var(--text-primary);letter-spacing:.03em;text-transform:uppercase}.chp-study{display:flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;color:var(--text-secondary);flex-shrink:0}.chp-tasks{display:flex;flex-direction:column;gap:4px;padding:8px}.chp-task-pill{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:7px;background:color-mix(in srgb,var(--chp-pill-color, var(--accent)),transparent 88%);border-left:3px solid var(--chp-pill-color, var(--accent));min-height:28px}.chp-task-pill.completed{opacity:.55}.chp-task-pill.completed .chp-task-title{text-decoration:line-through;color:var(--text-muted)}.chp-task-dot{width:6px;height:6px;border-radius:50%;background:var(--chp-pill-color, var(--accent));flex-shrink:0}.chp-task-title{font-size:.75rem;font-weight:500;color:var(--text-primary);flex:1;white-space:normal;line-height:1.3;word-break:break-word}.chp-task-status{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.chp-task-pill.completed .chp-task-status{color:#22c55e}.day-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.day-modal-content{width:100%;max-width:480px;max-height:80vh;border-radius:16px;padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);box-shadow:0 16px 48px #0003}.day-modal-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.day-modal-title-row{display:flex;justify-content:space-between;align-items:flex-start}.day-modal-date{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.day-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;transition:all .15s;display:flex;align-items:center;justify-content:center}.day-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.day-modal-study-time{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;font-weight:600;color:var(--accent)}.day-modal-body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.day-modal-section{margin-bottom:1rem}.day-modal-section:last-child{margin-bottom:0}.day-modal-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin:0 0 .5rem;display:flex;align-items:center;gap:6px}.day-modal-section-title.pending{color:var(--accent)}.day-modal-section-title.completed{color:#22c55e}.day-modal-task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.day-modal-task-item{padding:8px 10px;border-radius:8px;background:var(--bg-tertiary);transition:background .15s}.day-modal-task-item:hover{background:var(--bg-primary)}.day-modal-task-item.completed{opacity:.65}.day-modal-task-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.day-modal-check-icon{flex-shrink:0;margin-top:1px;transition:color .15s}.day-modal-check-icon.unchecked{color:var(--text-muted)}.day-modal-check-icon.unchecked:hover{color:var(--accent)}.day-modal-check-icon.checked{color:#22c55e}.day-modal-task-label:hover .day-modal-check-icon.unchecked{color:var(--accent)}.day-modal-task-label input[type=checkbox]{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;cursor:pointer}.day-modal-task-text{flex:1;word-break:break-word}.day-modal-task-text.strikethrough{text-decoration:line-through;color:var(--text-muted)}.day-modal-task-subtitle{color:var(--text-secondary);font-size:.8rem}.day-modal-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.9rem}.day-modal-footer{padding:.75rem 1.5rem;border-top:1px solid var(--border)}.day-modal-add-btn{width:100%;padding:10px;border-radius:10px;border:1px dashed var(--border);background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.day-modal-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);border-style:solid}@media(max-width:48rem){.apple-cal{border-radius:var(--radius-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.apple-cal-header,.apple-cal-week{min-width:40rem}.apple-cal-weekday{font-size:var(--text-xs);padding:var(--space-2) 0}.apple-cal-week{min-height:4.375rem}.cal-cell{padding:var(--space-1);min-height:4.375rem}.cal-date-num{font-size:.7rem;width:20px;height:20px}.cal-cell-study{display:none}.cal-event-pill{padding:0 var(--space-1);min-height:14px;border-left-width:2px}.cal-event-text{font-size:.55rem}.cal-event-dot{width:3px;height:3px}.cal-event-more{font-size:.5rem}.cal-preview-panel{display:none}.day-modal-content{max-width:100%;max-height:90vh;border-radius:var(--radius-md)}}.planner-task{background:var(--bg-tertiary);padding:.75rem;border-radius:8px;border-left:3px solid var(--accent);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;transition:all .2s;border:1px solid transparent;border-left-width:3px;cursor:grab}.planner-task:active{cursor:grabbing}.planner-task:hover{border-color:var(--border);background:var(--bg-secondary)}.planner-task.completed{opacity:.6;border-left-color:var(--priority-low)}.planner-task.completed .task-title{text-decoration:line-through}.task-left{flex:1;min-width:0}.task-title{font-weight:600;color:var(--text-primary);font-size:.95rem;white-space:normal;word-break:break-word;margin-bottom:2px}.task-title-text{margin-right:6px}.task-title-link{cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-primary);text-decoration:none;border-bottom:1px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.task-title-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.task-link-icon{opacity:0;transform:translateY(1px);transition:opacity var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.task-title-link:hover .task-link-icon{opacity:1;transform:translateY(0)}.task-subtitle{font-size:.8rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:center}.subject-tag{flex-shrink:0;font-weight:600;margin-right:4px}.material-name{white-space:normal;word-break:break-word}.task-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.task-meta{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted);font-weight:600}.task-actions{display:flex;gap:4px;opacity:0;transform:translate(5px);transition:all .2s ease}.planner-task:hover .task-actions{opacity:1;transform:translate(0)}.task-btn{padding:4px;border-radius:4px;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;background:var(--bg-tertiary);color:var(--text-secondary)}.task-btn:hover{transform:scale(1.1);border-color:var(--accent);color:var(--accent);background:var(--bg-secondary)}.check-btn:hover{color:var(--priority-low);border-color:var(--priority-low)}.delete-btn:hover{color:var(--priority-high);border-color:var(--priority-high)}.inline-add-task{background:transparent;border:1px dashed var(--border);border-radius:8px;padding:.5rem;color:var(--text-muted);font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s;margin-top:4px}.inline-add-task:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);border-style:solid}.exam-event-card{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.75rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;box-shadow:0 4px 6px -1px #f59e0b4d;animation:slideUp .3s ease}.exam-icon-wrapper{background:#fff3;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exam-content{display:flex;flex-direction:column}.exam-title{font-weight:700;font-size:.95rem;line-height:1.2}.exam-subtitle{font-size:.8rem;opacity:.9;margin-top:2px}.skeleton-task{background:var(--bg-tertiary);border-radius:8px;padding:.75rem;position:relative;cursor:pointer;border:1px dashed var(--border);transition:all .2s;overflow:hidden;height:100%;display:flex;align-items:center;justify-content:center}.skeleton-task:hover{border-color:var(--accent);background:var(--bg-primary);border-style:solid}.skeleton-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.task-modal .modal-header{padding:1rem 1.25rem}.task-modal .modal-header h3{font-size:1.05rem}.task-modal .modal-body-scrollable{padding:1.1rem 1.25rem}.task-modal .modal-footer{padding:.85rem 1.25rem}.task-type-toggle{display:flex;gap:.4rem;padding:3px;background:var(--bg-tertiary);border-radius:9px;margin-bottom:1rem;border:1px solid var(--border)}.type-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.type-toggle-btn:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.type-toggle-btn.active{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-sm)}.optional-label{font-weight:400;font-size:.8rem;color:var(--text-muted);opacity:.8}.material-hint{margin-top:.5rem;font-size:.8rem;color:var(--text-muted);font-style:italic}.day-column.drag-over.shift-copy{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%)}.day-column.drag-over.shift-copy:after{content:"Copy";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--accent);color:var(--accent-text);padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;z-index:10;pointer-events:none}.modal-content .type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;width:100%;aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:#2c2c2c1f;color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:1.1rem;font-weight:600;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.modal-content .type-btn:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-4px);box-shadow:var(--shadow-md)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-secondary);font-size:.85rem}.deadline-form-group label{margin-bottom:.5rem}.subject-selector{display:flex;gap:.5rem;flex-wrap:wrap}.subject-option{flex:0 0 auto;padding:.35rem .75rem;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:16px;cursor:pointer;font-weight:600;font-size:.8rem;color:var(--text-secondary);transition:all .2s}.subject-option:hover{background:var(--bg-primary);border-color:var(--accent);color:var(--text-primary)}.subject-option.selected{background:var(--subj-color);border-color:var(--subj-color);color:#fff;box-shadow:none}.chapter-picker{border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;background:#0000001a;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);display:flex;flex-direction:column;max-height:clamp(180px,38vh,320px)}.chapter-search-box{display:flex;align-items:center;padding:4px .85rem;min-height:40px;margin:8px;gap:.5rem;background:color-mix(in srgb,var(--bg-tertiary),transparent 20%);border:1px solid color-mix(in srgb,var(--border),transparent 20%);border-radius:12px;box-shadow:inset 0 1px #ffffff0a}.chapter-search-box:focus-within{border-color:color-mix(in srgb,var(--accent),transparent 35%);box-shadow:inset 0 1px #ffffff14,0 0 0 2px color-mix(in srgb,var(--accent),transparent 85%)}.search-icon{color:var(--text-muted);width:18px;height:18px}.chapter-search-box .search-input{border:none;background:transparent;width:100%;outline:none;box-shadow:none;color:var(--text-primary);font-size:.9rem;padding:.2rem 0;caret-color:var(--text-primary);min-width:0;line-height:1.2}.chapter-list{overflow-y:auto;flex:1 1 auto;min-height:0;padding:2px 6px 6px;display:flex;flex-direction:column;gap:2px}.chapter-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.4rem .7rem;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;transition:all .2s;gap:.5rem;line-height:1.2}.chapter-item-title{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1}.chapter-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item:hover{background:var(--accent-light);color:var(--accent);transform:translate(4px)}.chapter-item.priority-high{background:var(--priority-high-bg);border-left:3px solid var(--priority-high)}.chapter-item.priority-medium{background:var(--priority-medium-bg);border-left:3px solid var(--priority-medium)}.chapter-item.priority-low{background:var(--priority-low-bg);border-left:3px solid var(--priority-low)}.bullet-icon{color:var(--accent);margin-right:6px;font-size:1rem;vertical-align:middle}.chevron{opacity:.3;flex-shrink:0}.no-chapters{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}.selected-chapter-display{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm);font-size:.95rem}.change-btn{font-size:.75rem;text-decoration:underline;background:transparent;border:none;cursor:pointer;color:var(--text-secondary)}.change-btn:hover{color:var(--text-primary)}.large-input{width:100%;padding:.75rem;font-size:1rem;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);color:var(--text-primary);transition:all .2s}.large-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.large-input::placeholder{font-size:1rem;opacity:.6}.material-pills{display:flex;flex-wrap:wrap;gap:.5rem}.material-pill{padding:.35rem .75rem;background:#ffffff0d;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border:1px solid rgba(255,255,255,.1);border-radius:16px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:all .2s}.material-pill:hover{background:var(--bg-primary);border-color:var(--accent)}.material-pill.selected{background:color-mix(in srgb,var(--accent),transparent 80%);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent),transparent 80%)}.custom-subject-pill{border-color:var(--border);background-color:var(--bg-tertiary);color:var(--text-secondary)}.custom-subject-pill.selected{border-color:var(--pill-color);background-color:var(--pill-color);color:#fff}.no-materials{color:var(--text-muted);font-size:.8rem;font-style:italic}.time-picker-container{position:relative}.time-display-box{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem .6rem .9rem;background:#ffffff0a;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;cursor:text;transition:border-color .2s,box-shadow .2s,background .2s;gap:.55rem}.time-display-box:hover{border-color:#fff3;background:#ffffff0f}.time-display-box.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 82%);background:color-mix(in srgb,var(--accent),transparent 94%)}.time-value{display:flex;align-items:baseline;gap:.02rem;flex:1;line-height:1}[data-theme^=dark-] .time-segment-input{background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-theme^=dark-] .time-segment-input:focus{border-color:transparent!important;box-shadow:none!important}.time-segment-input{background:transparent;border:none;outline:none;font-size:1.05rem;font-weight:700;color:var(--text-primary);width:2ch;text-align:center;padding:.08rem .04rem;border-radius:5px;font-family:inherit;letter-spacing:.02em;line-height:1;transition:background .15s,color .15s;caret-color:var(--accent)}.time-segment-input:focus{background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--accent);outline:none}.time-segment-separator{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-weight:700;font-size:1.05rem;line-height:1;padding:0}.period-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .62rem;border-radius:7px;font-size:.78rem;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;cursor:pointer;border:1.5px solid;transition:all .15s ease;flex-shrink:0;-webkit-user-select:none;user-select:none}.period-badge.am{color:color-mix(in srgb,var(--accent),var(--text-primary) 22%);background:color-mix(in srgb,var(--accent),transparent 90%);border-color:color-mix(in srgb,var(--accent),transparent 68%)}.period-badge.pm{color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 86%);border-color:color-mix(in srgb,var(--accent),transparent 65%)}.period-badge:hover{transform:scale(1.06);filter:brightness(1.15)}.period-badge:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 78%)}.time-picker-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-left:.1rem;padding:0;border:none;border-radius:7px;background:transparent;cursor:pointer;flex-shrink:0;transition:background .2s,box-shadow .2s}.time-picker-toggle:hover{background:color-mix(in srgb,var(--accent),transparent 90%)}.time-picker-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 78%)}.time-icon{color:var(--text-muted);flex-shrink:0;transition:color .2s,transform .2s;opacity:.5}.time-display-box:hover .time-icon,.time-display-box.active .time-icon,.time-picker-toggle:focus-visible .time-icon{color:var(--accent);opacity:1}.custom-time-picker{display:flex;gap:.5rem;margin-top:.6rem;padding:.6rem;background:#ffffff08;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border-radius:12px;border:1px solid rgba(255,255,255,.08);animation:slideDown .18s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #00000040,inset 0 1px #ffffff0f}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.time-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem}.col-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.scroll-container{height:108px;overflow-y:auto;width:100%;display:flex;flex-direction:column;gap:2px;padding:2px;scroll-behavior:smooth}.scroll-container::-webkit-scrollbar{display:none}.time-btn{padding:.35rem .4rem;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer;color:var(--text-secondary);font-weight:500;font-size:.85rem;transition:background .12s,color .12s,border-color .12s;width:100%;text-align:center}.time-btn:hover{background:#ffffff14;color:var(--text-primary)}.time-btn.selected{background:color-mix(in srgb,var(--accent),transparent 82%);color:var(--accent);font-weight:700;border-color:color-mix(in srgb,var(--accent),transparent 60%)}.period-col{justify-content:center;gap:.4rem;flex:0 0 auto;min-width:3.2rem}.period-btn{padding:.45rem .6rem;width:100%;background:#ffffff0d;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border:1.5px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;font-weight:700;color:var(--text-secondary);font-size:.8rem;letter-spacing:.04em;transition:all .15s}.period-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:#ffffff2e}.task-modal .time-display-box,.task-modal .custom-time-picker,.task-modal .time-btn,.task-modal .period-btn,.task-modal .scroll-container{box-sizing:border-box}.period-btn.selected{background:color-mix(in srgb,var(--accent),transparent 82%);border-color:color-mix(in srgb,var(--accent),transparent 55%);color:var(--accent)}@media(max-width:30rem){.task-type-selection{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4) 0}.modal-content .type-btn{padding:var(--space-6);flex-direction:row}.modal-body-scrollable,.modal-footer{padding:var(--space-4)}.time-display-box{min-height:44px}.period-badge,.time-picker-toggle,.time-btn,.period-btn{min-height:44px;min-width:44px}.custom-time-picker{gap:.4rem;padding:.5rem}}:root:not([data-theme^=dark-]) .modal-content .type-btn,[data-theme=light] .modal-content .type-btn{border:1px solid var(--border);background:var(--bg-tertiary)}:root:not([data-theme^=dark-]) .subject-option,[data-theme=light] .subject-option{border:1px solid var(--border);background:var(--bg-tertiary)}:root:not([data-theme^=dark-]) .large-input,[data-theme=light] .large-input{border:1px solid var(--border);background:var(--bg-tertiary)}:root:not([data-theme^=dark-]) .material-pill,[data-theme=light] .material-pill{background:var(--bg-tertiary);border:1px solid var(--border)}:root:not([data-theme^=dark-]) .time-display-box,[data-theme=light] .time-display-box{background:var(--bg-tertiary);border:1.5px solid var(--border)}:root:not([data-theme^=dark-]) .time-display-box:hover,[data-theme=light] .time-display-box:hover{border-color:var(--border-hover);background:var(--bg-secondary)}:root:not([data-theme^=dark-]) .time-display-box.active,[data-theme=light] .time-display-box.active{background:color-mix(in srgb,var(--accent),var(--bg-tertiary) 90%)}:root:not([data-theme^=dark-]) .custom-time-picker,[data-theme=light] .custom-time-picker{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 4px 16px #0000001a}:root:not([data-theme^=dark-]) .time-btn,[data-theme=light] .time-btn{color:var(--text-secondary)}:root:not([data-theme^=dark-]) .time-btn:hover,[data-theme=light] .time-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}:root:not([data-theme^=dark-]) .period-btn,[data-theme=light] .period-btn{background:var(--bg-tertiary);border:1px solid var(--border)}:root:not([data-theme^=dark-]) .period-btn:hover,[data-theme=light] .period-btn:hover{background:var(--bg-primary);border-color:var(--border-hover)}:root:not([data-theme^=dark-]) .time-segment-input,[data-theme=light] .time-segment-input{background:transparent!important;border-color:transparent!important;box-shadow:none!important}:root:not([data-theme^=dark-]) .time-segment-input:focus,[data-theme=light] .time-segment-input:focus{border-color:transparent!important;box-shadow:none!important;background:color-mix(in srgb,var(--accent),transparent 88%)!important;color:var(--accent)}:root:not([data-theme^=dark-]) .period-badge.am,[data-theme=light] .period-badge.am{color:color-mix(in srgb,var(--accent),var(--text-primary) 18%);background:color-mix(in srgb,var(--accent),transparent 92%);border-color:color-mix(in srgb,var(--accent),transparent 70%)}:root:not([data-theme^=dark-]) .period-badge.pm,[data-theme=light] .period-badge.pm{background:color-mix(in srgb,var(--accent),transparent 88%)}.form-group-inline{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.form-group-inline label{margin-bottom:0!important;font-weight:500;color:var(--text-secondary);font-size:.85rem}.task-modal .modern-stepper input{padding:0!important;width:3rem!important}.task-modal .stepper-wrapper-with-reset{display:flex;align-items:center;gap:var(--space-2)}.task-modal .stepper-wrapper-with-reset .icon-btn-reset{width:1.75rem!important;height:1.75rem!important;border-radius:var(--radius-sm)!important;background:var(--bg-secondary)!important;border:1px solid var(--border)!important;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)!important}.task-modal .stepper-wrapper-with-reset .icon-btn-reset:hover{background:color-mix(in srgb,var(--confidence-red) 12%,transparent)!important;color:var(--confidence-red)!important;border-color:color-mix(in srgb,var(--confidence-red),transparent 70%)!important}}@layer features{.study-clock-page{padding:var(--space-8);padding-top:0;max-width:var(--content-max-width-wide);margin:0 auto}.study-clock-header{margin-bottom:1rem}.study-clock-header h1{font-size:1.75rem;font-weight:700;display:flex;align-items:center;gap:.75rem;color:var(--text-primary)}.study-clock-header p{color:var(--text-secondary);margin-top:.25rem}.study-clock-grid{display:flex;flex-direction:column;gap:1.5rem}.timer-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:var(--space-6);box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;gap:var(--space-6);position:relative;z-index:20}.timer-card.horizontal{flex-direction:row;align-items:stretch;gap:var(--space-8)}.timer-card.horizontal .task-selector-section{flex:1;min-width:0;max-width:25rem;border-right:1px solid var(--border);padding-right:var(--space-8)}.timer-card.horizontal .task-selector-section.collapsed{min-width:auto;max-width:12.5rem;display:flex;align-items:center;justify-content:center}.timer-card.horizontal .timer-display-section{flex:1;justify-content:center}.collapsed-task-info{text-align:center}.collapsed-task-label{font-size:.8rem;color:var(--text-muted);font-weight:600;margin-bottom:.25rem}.collapsed-task-title{font-size:1rem;font-weight:700;color:var(--accent);word-break:break-word}.task-selector-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.task-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.type-btn{flex:1;padding:.75rem 1rem;border-radius:var(--border-radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;cursor:pointer;font-size:15px;transition:all var(--transition-fast);white-space:nowrap;display:flex;align-items:center;justify-content:center}.type-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.type-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border)}.type-btn:disabled{opacity:.6;cursor:not-allowed}.chapter-selectors{display:flex;flex-direction:column;gap:1rem}.selector-group{display:flex;flex-direction:column;gap:.5rem}.selector-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.custom-select{position:relative}.custom-select select{width:100%;padding:.75rem 2.5rem .75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-fast)}.custom-select select:hover:not(:disabled){border-color:var(--accent)}.custom-select select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.custom-select select:disabled{opacity:.5;cursor:not-allowed}.custom-select .select-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.custom-title-input input{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:all var(--transition-fast)}.custom-title-input input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.custom-title-input input:disabled{opacity:.5}.task-selector{display:flex;flex-direction:column;gap:1rem}.task-auto-filled{padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);border-left:3px solid var(--accent);display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.auto-filled-item{font-size:.85rem;color:var(--text-primary)}.auto-filled-item span{color:var(--text-muted);font-weight:600;margin-right:.5rem}.current-task-preview{margin-top:.5rem;padding:.75rem 1rem;background:var(--accent-light);border-radius:var(--border-radius-sm);font-size:.85rem;color:var(--text-primary);border-left:3px solid var(--accent)}.current-task-preview span{color:var(--text-secondary);font-weight:600}.timer-display-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 0}.timer-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all var(--transition-normal);padding:1rem}.timer-circle.running .timer-time{color:var(--accent);text-shadow:0 0 30px var(--accent-light)}.timer-circle.paused .timer-time{color:#f59e0b;text-shadow:0 0 40px rgba(245,158,11,.5);animation:glow-yellow 2s ease-in-out infinite}@keyframes glow-yellow{0%,to{text-shadow:0 0 30px rgba(245,158,11,.4)}50%{text-shadow:0 0 60px rgba(245,158,11,.7)}}.timer-time{font-size:5rem;font-weight:700;font-family:Montserrat,monospace;color:var(--text-primary);letter-spacing:4px;transition:all var(--transition-normal)}.timer-circle.running{cursor:pointer}.timer-circle.running:hover .timer-time{text-shadow:0 0 50px var(--accent-light);transform:scale(1.02)}.timer-circle.running:hover .timer-state-label{color:var(--accent)}.timer-state-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-top:.25rem}.timer-controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.timer-btn{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;opacity:.85}.timer-btn:hover{opacity:1}.timer-btn.start,.timer-btn.resume{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border);opacity:1}.timer-btn.start:hover,.timer-btn.resume:hover{background:var(--accent-hover);transform:translateY(-1px)}.timer-btn.pause{background:transparent;color:var(--priority-medium);border-color:var(--priority-medium)}.timer-btn.pause:hover{background:var(--priority-medium-bg)}.timer-btn.end{background:transparent;color:var(--priority-low);border-color:var(--priority-low)}.timer-btn.end:hover{background:var(--color-priority-low-bg, rgba(34, 197, 94, .12))}.timer-btn.discard{background:transparent;color:var(--text-muted);border-color:var(--border)}.timer-btn.discard:hover{color:var(--priority-high);border-color:var(--priority-high);background:var(--priority-high-bg)}.timer-btn.park{background:transparent;color:var(--confidence-purple);border-color:var(--confidence-purple)}.timer-btn.park:hover{background:color-mix(in srgb,var(--confidence-purple) 15%,transparent)}.timer-btn.mark-complete{background:var(--priority-low);color:var(--priority-low-text, #fff);border-color:var(--priority-low);opacity:1}.timer-btn.mark-complete:hover{background:color-mix(in srgb,var(--priority-low),black 15%);transform:translateY(-1px)}.stats-and-log-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);align-items:stretch}.stats-and-log-row .statistics-card,.stats-and-log-row .session-log-card{width:100%;min-width:0}@media(max-width:64rem){.stats-and-log-row{grid-template-columns:1fr;gap:var(--space-4)}}.session-log-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:var(--space-6);box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column}.session-log-card h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.session-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.add-entry-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.add-entry-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.duration-input-group{display:flex;align-items:center;gap:.5rem}.duration-input{width:60px;text-align:center}.duration-input::-webkit-outer-spin-button,.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input{-moz-appearance:textfield}.duration-label{color:var(--text-secondary);font-size:.85rem}.manual-entry-mode-selector{display:flex;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:2px;gap:2px}.manual-entry-mode-selector .mode-btn{flex:1;padding:.5rem;background:transparent;border:none;border-radius:calc(var(--border-radius-sm) - 2px);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.manual-entry-mode-selector .mode-btn:hover{color:var(--text-primary)}.manual-entry-mode-selector .mode-btn.active{background:var(--accent);color:var(--bg-primary);font-weight:600}.time-entry-group{display:flex;flex-direction:column;gap:.75rem}.time-entry-inputs{display:flex;gap:1rem}.time-entry-inputs .edit-form-group{flex:1;margin-bottom:0}.duration-preview-text{font-size:.85rem;color:var(--accent);font-weight:500;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.date-picker-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.date-picker-btn:hover{border-color:var(--accent);background:var(--surface-hover)}.date-picker-btn .calendar-icon{color:var(--accent);flex-shrink:0}.session-log-list{max-height:410px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;flex:1}.session-log-list::-webkit-scrollbar{width:4px}.session-log-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.empty-log{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:100%;color:var(--text-muted);text-align:center;gap:.5rem}.empty-log p{font-weight:600;color:var(--text-secondary)}.empty-log span{font-size:.85rem}.empty-log-chapter{padding:.75rem;text-align:center}.empty-log-chapter span{font-size:.8rem}.session-log-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.session-log-item:hover{background:var(--bg-primary)}.session-info{flex:1;min-width:0}.session-title{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{font-size:.75rem;color:var(--text-muted)}.session-duration{font-size:.85rem;font-weight:700;color:var(--accent);background:var(--accent-light);padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.session-delete-btn,.session-edit-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:4px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.session-delete-btn:hover{color:var(--priority-high);background:var(--priority-high-bg)}.session-edit-btn:hover{color:var(--accent);background:var(--accent-light)}.session-actions{display:flex;gap:.25rem}.statistics-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:var(--space-6);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.statistics-card h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.stats-total{text-align:center;padding:1.5rem;background:linear-gradient(135deg,var(--accent-light),transparent);border-radius:var(--border-radius-sm);margin-bottom:1.5rem;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.stats-total:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent-light));border-color:var(--accent);transform:translateY(-2px)}.stats-total-hint{font-size:.7rem;color:var(--text-muted);margin-top:.5rem}.stats-total-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.stats-total-value{font-size:2rem;font-weight:700;color:var(--accent);margin-top:.25rem}.stats-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.stats-filter-group{display:flex;align-items:center;gap:.75rem}.stats-filter-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary);min-width:60px}.stats-filter-group .custom-select{flex:1}.stats-filter-group .custom-select select{padding:.5rem 2rem .5rem .75rem;font-size:.85rem}.stats-filtered-result{padding:1rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);text-align:center;border:1px solid var(--border)}.stats-filtered-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.stats-filtered-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stats-filtered-count{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.distribution-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}html[data-theme^=dark-] .distribution-modal-overlay{background:color-mix(in srgb,var(--bg-base),transparent 40%);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.distribution-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;scrollbar-width:thin;scrollbar-color:var(--border) transparent}html[data-theme^=dark-] .distribution-modal{background:var(--panel-bg);border-color:var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur)}.distribution-modal::-webkit-scrollbar{width:6px}.distribution-modal::-webkit-scrollbar-track{background:transparent}.distribution-modal::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.distribution-modal::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.distribution-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.distribution-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.distribution-modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.distribution-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.distribution-total-time{text-align:center;padding:1.5rem;background:linear-gradient(135deg,var(--accent-light),transparent);border-radius:var(--border-radius-sm);margin-bottom:1.5rem;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.distribution-total-time:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent-light));border-color:var(--accent);transform:translateY(-2px)}.distribution-total-hint{font-size:.7rem;color:var(--text-muted);margin-top:.5rem}.distribution-total-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.distribution-total-value{font-size:2.5rem;font-weight:700;color:var(--accent);margin-top:.25rem}.distribution-section-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem}.distribution-chart{display:flex;flex-direction:column;gap:1rem}.distribution-bar-item{display:flex;flex-direction:column;gap:.5rem;cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.distribution-bar-item:hover{background:var(--bg-tertiary)}.distribution-bar-item:hover .distribution-bar-label{color:var(--text-primary)}.distribution-bar-header{display:flex;justify-content:space-between;align-items:center}.distribution-bar-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.distribution-bar-value{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.distribution-bar-track{height:12px;background:var(--bg-tertiary);border-radius:6px;overflow:hidden}.distribution-bar-fill{height:100%;border-radius:6px;transition:width .5s ease}.distribution-bar-fill.physics{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.distribution-bar-fill.chemistry{background:linear-gradient(90deg,#10b981,#34d399)}.distribution-bar-fill.maths{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.distribution-bar-fill.custom{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.distribution-subject-section{display:flex;flex-direction:column;gap:0}.chapter-graph-inline{margin-top:.5rem;margin-left:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);border-left:3px solid var(--accent);animation:slideUp .2s ease}.chapter-graphs-container{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.chapter-graph-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius-sm);padding:1rem;animation:slideUp .2s ease}.chapter-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.chapter-graph-title{font-size:.9rem;font-weight:700}.chapter-graph-title.physics{color:var(--physics)}.chapter-graph-title.chemistry{color:var(--chemistry)}.chapter-graph-title.maths{color:var(--maths)}.chapter-graph-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.chapter-graph-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.chapter-graph-bars{display:flex;flex-direction:column;gap:.5rem}.chapter-bar-item{display:flex;flex-direction:column;gap:.25rem}.chapter-bar-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.chapter-bar-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.chapter-bar-time{color:var(--text-muted);font-weight:600}.chapter-bar-track{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.chapter-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.chapter-bar-fill.physics{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.chapter-bar-fill.chemistry{background:linear-gradient(90deg,#10b981,#34d399)}.chapter-bar-fill.maths{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.edit-session-form{display:flex;flex-direction:column;gap:1.25rem}.edit-form-group{display:flex;flex-direction:column;gap:.5rem}.edit-form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.edit-input{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:all var(--transition-fast)}.edit-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.duration-inputs{display:flex;gap:1rem}.duration-input-group{display:flex;align-items:center;gap:.5rem;flex:1}.duration-input{width:80px;text-align:center}.duration-label{font-size:.85rem;color:var(--text-secondary)}.edit-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.edit-cancel-btn{padding:.6rem 1.25rem;border-radius:var(--border-radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.edit-cancel-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.edit-save-btn{padding:.6rem 1.25rem;border-radius:var(--border-radius-sm);border:1px solid var(--accent-border);background:var(--accent);color:var(--accent-text);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.edit-save-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}body.hide-global-fabs .chat-fab,body.hide-global-fabs .music-fab{display:none!important}.fullscreen-timer{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-base);z-index:1000;display:flex;align-items:center;justify-content:center}.fullscreen-clock{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-10);transition:transform var(--transition-normal),opacity var(--transition-normal)}.fullscreen-time{font-size:clamp(6rem,15vw,11rem);font-weight:700;font-family:Montserrat,monospace;color:var(--accent);letter-spacing:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;transition:transform var(--transition-normal),text-shadow var(--transition-normal)}.fullscreen-time:hover{text-shadow:0 0 60px color-mix(in srgb,var(--accent) 30%,transparent);transform:scale(1.02)}.fullscreen-info-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.fullscreen-title{font-size:clamp(1.25rem,3vw,2rem);color:var(--color-text-primary);font-weight:600;margin:0;max-width:600px;line-height:1.3;transition:color var(--transition-normal)}.fullscreen-state-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:0;transition:color var(--transition-normal)}.mode-selector-wrapper{margin-bottom:1rem}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.mode-tab{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--border-radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.mode-tab svg{flex-shrink:0}.mode-tab:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.mode-tab.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border)}.mode-tab:disabled{opacity:.6;cursor:not-allowed}.mode-config{padding:.75rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);border:1px solid var(--border);animation:fadeIn .2s ease}.config-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0}.config-row label{font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.custom-number-input{display:flex;align-items:stretch;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;height:36px;width:100px;transition:all var(--transition-fast)}.custom-number-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.custom-number-input input{flex:1;width:100%;border:none;background:transparent;color:var(--text-primary);text-align:center;font-size:.9rem;padding:0 .25rem;font-family:inherit}.custom-number-input input:focus{outline:none}.custom-number-suffix{display:flex;align-items:center;font-size:.8rem;color:var(--text-secondary);padding-right:.35rem}.custom-number-arrows{display:flex;flex-direction:column;border-left:1px solid var(--border);width:24px;background:var(--bg-tertiary)}.custom-number-arrows button{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:0;min-height:0;transition:all var(--transition-fast)}.custom-number-arrows button:hover{background:var(--border);color:var(--text-primary)}.custom-number-arrows button:first-child{border-bottom:1px solid var(--border)}.custom-intervals-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.custom-interval-row{display:flex;align-items:center;gap:.5rem}.interval-remove-btn{display:flex;align-items:center;justify-content:center;padding:.3rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.interval-remove-btn:hover{color:var(--priority-high);background:var(--priority-high-bg)}.add-interval-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .75rem;border:1px dashed var(--border);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;border-radius:6px;transition:all var(--transition-fast);width:100%}.add-interval-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.custom-checkbox{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.custom-checkbox:hover{color:var(--text-primary)}.checkbox-icon{color:var(--text-muted);transition:all var(--transition-fast)}.checkbox-icon.checked{color:var(--accent)}.preset-panel{margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);border:1px solid var(--border)}.preset-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.preset-header h4{font-size:.8rem;font-weight:700;color:var(--text-secondary);margin:0}.preset-save-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.preset-save-toggle:hover{color:var(--accent);background:var(--accent-light)}.preset-save-form{display:flex;gap:.5rem;margin-bottom:.5rem;animation:fadeIn .2s ease}.preset-name-input{flex:1;padding:.4rem .5rem;background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.8rem}.preset-name-input:focus{outline:none;border-color:var(--accent)}.preset-save-btn{padding:.4rem .75rem;background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.preset-save-btn:hover:not(:disabled){background:var(--accent-hover)}.preset-save-btn:disabled{opacity:.5;cursor:not-allowed}.preset-empty{font-size:.75rem;color:var(--text-muted);text-align:center;padding:.5rem}.preset-list{display:flex;flex-direction:column;gap:.35rem;max-height:120px;overflow-y:auto}.preset-item{display:flex;align-items:center;gap:.25rem}.preset-load-btn{flex:1;display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);text-align:left;color:var(--text-primary);min-width:0}.preset-load-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.preset-load-btn:disabled{opacity:.5;cursor:not-allowed}.preset-info{display:flex;flex-direction:column;min-width:0}.preset-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-mode{font-size:.7rem;color:var(--text-muted)}.preset-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast);flex-shrink:0}.preset-delete-btn:hover{color:var(--priority-high);background:var(--priority-high-bg)}.timer-btn.skip-break{background:transparent;color:var(--accent);border-color:var(--accent)}.timer-btn.skip-break:hover{background:var(--accent-light)}.timer-btn.reset-cycle{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.4rem .6rem}.timer-btn.reset-cycle:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--bg-tertiary)}.collapsed-mode-badge{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full)}.collapsed-cycle-info{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.session-mode-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-full);letter-spacing:.3px}.parked-sessions-section{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);border-radius:var(--border-radius);padding:var(--space-6);box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;gap:var(--space-4)}.parked-sessions-section .section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.parked-sessions-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.parked-sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.parked-session-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);gap:var(--space-4)}.parked-session-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.parked-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parked-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.parked-time{font-size:.8rem;color:var(--text-secondary);font-weight:500;display:flex;align-items:center}.parked-session-actions{display:flex;align-items:center;gap:var(--space-2)}.resume-btn{height:24px;width:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-xs)}.discard-btn{color:var(--text-muted);border-radius:var(--radius-xs)}.discard-btn:hover{color:var(--priority-high);background:var(--priority-high-bg)}@media(max-width:64rem){.timer-card.horizontal{flex-direction:column}.timer-card.horizontal .task-selector-section{max-width:none;border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:var(--space-6)}.timer-card.horizontal .task-selector-section.collapsed{max-width:none;padding-bottom:var(--space-4)}.fullscreen-time{font-size:5rem}.radial-svg{width:12.5rem;height:12.5rem}.radial-time{font-size:2.25rem}}@media(max-width:40rem){.study-clock-page{padding:var(--space-4);padding-top:0}.stats-filter-group{flex-direction:column;align-items:stretch;gap:var(--space-2)}.stats-filter-group label{min-width:0}.timer-time{font-size:3rem;letter-spacing:2px}.fullscreen-time{font-size:3.5rem;letter-spacing:2px}.fullscreen-title{font-size:1.125rem}.fullscreen-state-label{font-size:.75rem;letter-spacing:1.5px}.radial-svg{width:11rem;height:11rem}.radial-time{font-size:1.75rem;letter-spacing:1px}}}@layer features.features{.music-fab{position:fixed;bottom:var(--space-6);left:var(--space-6);z-index:1000;width:52px;height:52px;border-radius:var(--radius-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:transform var(--transition-normal);outline:none;overflow:visible;padding:0}.music-fab:hover{transform:scale(1.08) translateY(-2px);background:transparent;border:none;box-shadow:none}.music-fab:active{transform:scale(.96)}.music-fab-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-normal),opacity var(--transition-normal)}.music-fab-icon img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.music-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;background:transparent;pointer-events:all}.music-drawer{position:fixed;top:0;left:0;bottom:0;z-index:999;width:min(420px,92vw);display:flex;flex-direction:column;overscroll-behavior:contain;background:var(--panel-bg, var(--bg-secondary));backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-right:1px solid var(--panel-border, var(--border));box-shadow:var(--panel-shadow, var(--shadow-lg)),var(--panel-inner-glow, none)}.music-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;box-sizing:border-box}.music-header-title{font-size:var(--text-base);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.02em}.music-header-icon{width:18px;height:18px;object-fit:contain}.music-close-btn{width:var(--space-8);height:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.music-close-btn:hover{background:var(--accent-light);color:var(--text-primary);border-color:var(--border-hover)}.music-playlist-bar{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-5) var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0}.music-playlist-bar .custom-select-container{flex:1}.music-playlist-bar .custom-select-trigger{height:var(--space-8);min-height:var(--space-8);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--bg-tertiary);border-color:var(--border);font-size:var(--text-sm);font-weight:500;box-sizing:border-box}.music-playlist-bar .custom-select-trigger:hover{border-color:var(--border-hover)}.music-playlist-bar .custom-select-trigger.open{border-color:var(--accent);box-shadow:none}.music-playlist-action-btn{width:var(--space-8);height:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.music-playlist-action-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.music-playlist-action-btn:disabled{opacity:.35;cursor:not-allowed}.music-playlist-action-btn--danger:hover:not(:disabled){color:var(--color-priority-high);background:var(--color-priority-high-bg);border-color:var(--color-priority-high)}.music-playlist-action-btn--accent:hover:not(:disabled){color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.music-playlist-action-btn--toggled{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.music-create-playlist{overflow:hidden;flex-shrink:0}.music-create-playlist-inner{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-5) var(--space-3)}.music-create-playlist-inner input{flex:1;height:var(--space-8);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-sm);padding:0 var(--space-3);outline:none;font-family:Inter,sans-serif;transition:border-color var(--transition-fast)}.music-create-playlist-inner input:focus{border-color:var(--accent)}.music-create-btn{height:var(--space-8);padding:0 var(--space-3);border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--accent-text);font-size:var(--text-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-1);white-space:nowrap;flex-shrink:0;transition:opacity var(--transition-fast),transform var(--transition-fast)}.music-create-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.music-create-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.music-now-playing{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);border-top:1px solid var(--border);background:var(--accent-light);flex-shrink:0}.music-now-playing-title{flex:1;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.music-waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:var(--space-5);width:24px;flex-shrink:0;box-sizing:border-box}.music-waveform--small{height:var(--space-4);width:18px;gap:3px}.music-waveform-bar{flex:0 0 auto;width:4px;background:currentColor;border-radius:var(--radius-full);transform-origin:center}.music-waveform--small .music-waveform-bar{width:3px}.music-source-icon{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-xs);object-fit:contain;flex-shrink:0;opacity:.8}.music-source-icon-fallback{color:var(--text-muted);flex-shrink:0}.music-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5) var(--space-2);flex-shrink:0}.music-section-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.music-add-track-collapse{overflow:hidden;flex-shrink:0}.music-add-track-inner{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-5) var(--space-3)}.music-add-track-url-row{display:flex;align-items:center;gap:var(--space-2);width:100%}.music-add-track-inner input{flex:1;min-width:100px;height:var(--space-8);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-sm);padding:0 var(--space-3);outline:none;font-family:Inter,sans-serif;transition:border-color var(--transition-fast)}.music-add-track-inner>input{width:100%;flex:none}.music-add-track-inner input:focus{border-color:var(--accent)}.music-add-track-inner input::placeholder{color:var(--text-muted)}.music-error-banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-priority-high-bg);border:1px solid var(--color-priority-high);color:var(--color-priority-high);font-size:var(--text-xs);font-weight:500;line-height:var(--line-height-normal)}.music-add-track-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:var(--space-1) 0}.music-add-track-divider:before,.music-add-track-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.music-add-track-divider span{padding:0 var(--space-2)}.music-local-upload-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:border-color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;justify-content:center}.music-local-upload-zone:hover{border-color:var(--accent);background:var(--accent-light)}.music-local-upload-label{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);width:100%;cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;text-align:center}.music-local-upload-label:hover{color:var(--accent)}.music-upload-hint{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.music-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-track-list{flex:1;overflow-y:auto;padding:0 var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.music-track-list::-webkit-scrollbar{width:4px}.music-track-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.music-track-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.music-track-item:hover{border-color:var(--border);background:var(--bg-tertiary)}.music-track-item--active{border-color:color-mix(in srgb,var(--accent),transparent 60%);background:var(--accent-light)}.music-track-item--active:hover{border-color:color-mix(in srgb,var(--accent),transparent 40%)}.music-track-number{width:var(--space-5);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.music-track-item--active .music-track-number{color:var(--accent)}.music-track-title{flex:1;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.music-track-item--active .music-track-title{font-weight:600;color:var(--accent)}.music-track-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.music-track-item:hover .music-track-actions{opacity:1}.music-track-delete-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.music-track-delete-btn:hover{color:var(--color-priority-high);background:var(--color-priority-high-bg)}.music-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4);gap:var(--space-3);flex:1}.music-empty-state-icon{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.music-empty-state-text{font-size:var(--text-sm);color:var(--text-muted);text-align:center}.music-empty-state-hint{font-size:var(--text-xs);color:var(--text-muted);text-align:center;opacity:.7}.music-spotify-embed{padding:var(--space-3) var(--space-5);flex-shrink:0}.music-spotify-embed iframe{border-radius:var(--radius-md);background:transparent}.music-spotify-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);padding:0 var(--space-1)}.music-spotify-title{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.music-spotify-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background-color var(--transition-fast)}.music-spotify-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.music-dock{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-tertiary),transparent 40%);flex-shrink:0}.music-dock-row{display:flex;align-items:center;justify-content:space-between}.music-dock-center{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.music-dock-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:var(--space-2);border-radius:var(--radius-full);transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.music-dock-btn:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--bg-tertiary),transparent 30%)}.music-dock-btn:active{transform:scale(.92)}.music-dock-btn:disabled{opacity:.3;cursor:not-allowed}.music-dock-btn--active{color:var(--accent)}.music-dock-btn--active:hover{color:var(--accent);background:var(--accent-light)}.music-dock-play{width:44px;height:44px;border-radius:var(--radius-full);border:none;background:var(--accent);color:var(--accent-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast)}.music-dock-play:hover:not(:disabled){transform:scale(1.06);background:var(--accent-hover)}.music-dock-play:active{transform:scale(.96)}.music-dock-play:disabled{opacity:.4;cursor:not-allowed;transform:none}.music-dock-volume{position:relative;display:flex;align-items:center}.music-dock-volume-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding-bottom:var(--space-2);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.music-dock-volume:hover .music-dock-volume-popup{opacity:1;visibility:visible}.music-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:100px;background:transparent;outline:none;cursor:pointer;writing-mode:vertical-lr;direction:rtl;display:block;margin:0 auto}.music-volume-slider:focus,.music-volume-slider:active{outline:none;box-shadow:none}.music-volume-slider::-webkit-slider-runnable-track{width:4px;height:100%;background:linear-gradient(to top,var(--accent) var(--volume-fill, 50%),var(--border) var(--volume-fill, 50%));border-radius:var(--radius-full)}.music-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background:var(--accent);cursor:pointer;margin-top:0;margin-left:calc((4px - var(--space-3)) / 2);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.music-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.3);box-shadow:none}.music-volume-slider::-webkit-slider-thumb:focus,.music-volume-slider::-webkit-slider-thumb:active{outline:none;box-shadow:none}.music-volume-slider::-moz-range-thumb{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background:var(--accent);border:none;cursor:pointer}.music-volume-slider::-moz-range-track{width:4px;background:linear-gradient(to top,var(--accent) var(--volume-fill, 50%),var(--border) var(--volume-fill, 50%));border-radius:var(--radius-full)}body.has-mobile-drawer-open .music-fab{opacity:0;pointer-events:none}@media(max-width:48rem){.music-fab{bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));left:var(--space-4);width:48px;height:48px}.music-drawer{width:100vw;border-right:none;border-top:1px solid var(--border);top:auto;height:85dvh;bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none}.music-drawer:before{content:"";display:block;width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:var(--space-2) auto 0;flex-shrink:0}.music-header{padding:0 var(--space-4)}.music-playlist-bar{padding:var(--space-3) var(--space-4)}.music-create-playlist-inner{padding:0 var(--space-4) var(--space-3)}.music-now-playing{padding:var(--space-2) var(--space-4)}.music-section-header{padding:var(--space-3) var(--space-4) var(--space-2)}.music-add-track-inner,.music-track-list{padding:0 var(--space-4) var(--space-3)}.music-spotify-embed,.music-dock{padding:var(--space-3) var(--space-4)}.music-dock-volume-popup{opacity:1;visibility:visible}}@media(prefers-reduced-motion:reduce){.music-eq-bar{animation:none}}}@layer features{.reports-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--content-max-width);margin:0 auto;width:100%}.reports-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border);padding-bottom:var(--space-4)}.reports-title-container{display:flex;align-items:center;gap:var(--space-3)}.reports-icon{color:var(--accent)}.reports-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 .1rem;line-height:1.2}.reports-subtitle{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.recommendation-count-badge{font-size:var(--text-xs);font-weight:600;background:var(--accent-light);color:var(--accent);padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--accent-border);white-space:nowrap}.reports-content{min-height:200px}.nudge-table-container{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:var(--radius-lg)}.nudge-table-header{display:grid;grid-template-columns:90px 1fr 320px 180px;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.nudge-table-header>div{text-align:center}.nudge-table-body{display:flex;flex-direction:column}.nudge-row{display:grid;grid-template-columns:90px 1fr 320px 180px;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);align-items:stretch;transition:background-color var(--transition-fast);background-color:transparent;border-left:4px solid transparent}.nudge-row:last-child{border-bottom:none}.nudge-row:hover{background-color:color-mix(in srgb,var(--bg-tertiary),transparent 50%)}.row-variant-stuck{border-left-color:var(--priority-high)}.text-row-variant-stuck{color:var(--priority-high)}.row-variant-mock{border-left-color:var(--confidence-purple)}.text-row-variant-mock{color:var(--confidence-purple)}.row-variant-neglect{border-left-color:var(--priority-medium)}.text-row-variant-neglect{color:var(--priority-medium)}.row-variant-complete{border-left-color:var(--priority-low)}.text-row-variant-complete{color:var(--priority-low)}.row-variant-revision{border-left-color:var(--accent)}.text-row-variant-revision{color:var(--accent)}.nudge-col-subject{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.nudge-row-icon{flex-shrink:0}.icon-revision{color:var(--accent)}.icon-stuck{color:var(--priority-medium)}.icon-mock{color:var(--priority-high)}.icon-neglect{color:var(--confidence-purple)}.icon-complete{color:var(--priority-low)}.nudge-subject-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-xs);text-align:center}.badge-physics{background:color-mix(in srgb,var(--physics),transparent 85%);color:var(--physics)}.badge-chemistry{background:color-mix(in srgb,var(--chemistry),transparent 85%);color:var(--chemistry)}.badge-maths{background:color-mix(in srgb,var(--maths),transparent 85%);color:var(--maths)}.nudge-col-details{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1)}.nudge-chapter-title{font-size:.85rem;font-weight:500;color:var(--text-primary);margin:0;line-height:1.4}.nudge-reason-inline{display:flex;flex-direction:column;gap:2px}.punchy-inline{font-size:.7rem;font-weight:500}.why-inline{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.nudge-col-metrics{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2)}.compact-metric{display:flex;align-items:baseline;justify-content:center;gap:4px;background:color-mix(in srgb,var(--bg-tertiary),transparent 40%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--border),transparent 20%);padding:2px 6px;border-radius:var(--radius-xs);font-size:.75rem;position:relative;cursor:help}.compact-metric:after{content:attr(data-tooltip);position:absolute;bottom:120%;left:50%;transform:translate(-50%) translateY(4px);background:color-mix(in srgb,var(--bg-secondary),transparent 15%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:50;box-shadow:0 4px 12px #0000004d}.compact-metric:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.compact-metric.metric-high{background:color-mix(in srgb,var(--priority-high),transparent 80%);border-color:color-mix(in srgb,var(--priority-high),transparent 50%)}.compact-metric.metric-high .c-metric-val{color:var(--priority-high)}.compact-metric.metric-low-retention{background:color-mix(in srgb,var(--priority-high),transparent 80%);border-color:color-mix(in srgb,var(--priority-high),transparent 50%)}.compact-metric.metric-low-retention .c-metric-val{color:var(--priority-high)}.c-metric-lbl{color:var(--text-muted);font-weight:600;font-size:.65rem;text-transform:uppercase}.c-metric-val{font-weight:700;color:var(--text-primary)}.c-metric-val.muted{color:var(--text-muted);font-weight:500}.nudge-col-actions{display:flex;align-items:center;justify-content:flex-end}.inline-action-group{display:flex;gap:var(--space-2);width:100%}.btn-compact{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;flex:1}.btn-compact.primary{background:var(--accent);color:#fff}.btn-compact.primary:hover{background:var(--accent-hover)}.btn-compact.success{background:var(--priority-low);color:#fff;cursor:default}.btn-compact.secondary{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-compact.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-compact.ghost{background:transparent;color:var(--text-muted);border:none}.btn-compact.ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-compact.icon-only{flex:0 0 auto;padding:4px;border-radius:50%}.btn-label{white-space:nowrap}.inline-confidence-selector{display:flex;gap:4px;align-items:center;width:100%}.inline-conf-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex:1}.inline-conf-btn.level-1{border-color:color-mix(in srgb,var(--confidence-red),transparent 60%)}.inline-conf-btn.level-1:hover{background:var(--confidence-red);color:#fff;border-color:var(--confidence-red)}.inline-conf-btn.level-2{border-color:color-mix(in srgb,var(--confidence-amber),transparent 60%)}.inline-conf-btn.level-2:hover{background:var(--confidence-amber);color:#fff;border-color:var(--confidence-amber)}.inline-conf-btn.level-3{border-color:color-mix(in srgb,var(--confidence-yellow),transparent 60%)}.inline-conf-btn.level-3:hover{background:var(--confidence-yellow);color:#fff;border-color:var(--confidence-yellow)}.inline-conf-btn.level-4{border-color:color-mix(in srgb,var(--accent),transparent 60%)}.inline-conf-btn.level-4:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.inline-conf-btn.level-5{border-color:color-mix(in srgb,var(--confidence-green),transparent 60%)}.inline-conf-btn.level-5:hover{background:var(--confidence-green);color:#fff;border-color:var(--confidence-green)}.inline-cancel-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%}.inline-cancel-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.reports-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);gap:var(--space-3);margin-top:var(--space-6);border-radius:var(--radius-lg)}.empty-sparkle-icon{color:var(--accent);opacity:.6;animation:pulse-sparkle 3s infinite ease-in-out}.reports-empty-state h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.empty-message-text{font-size:var(--text-sm);color:var(--text-secondary);max-width:440px;line-height:1.5;margin:0}@keyframes pulse-sparkle{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}@media(max-width:768px){.nudge-table-header{display:none}.nudge-row{grid-template-columns:70px 1fr;grid-template-rows:auto auto auto;grid-template-areas:"subject details" "subject metrics" "actions actions";gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-3)}.nudge-col-subject{grid-area:subject;justify-content:flex-start;padding-top:var(--space-1)}.nudge-col-details{grid-area:details}.nudge-col-metrics{grid-area:metrics;flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.nudge-col-actions{grid-area:actions;margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3)}.compact-metric{flex:1;min-width:80px}}@media(max-width:640px){.reports-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.recommendation-count-badge{align-self:flex-start}}.dh-section{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8)}.dh-section-title-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);padding-bottom:var(--space-4)}.dh-section-icon{color:var(--accent)}.dh-section-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 .1rem;line-height:1.2}.dh-section-subtitle{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.dh-date-nav-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);flex-wrap:wrap;gap:var(--space-3)}.dh-date-left-group{display:flex;align-items:center;gap:var(--space-2)}.dh-nav-arrow{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.dh-nav-arrow:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dh-pill-group{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-full);padding:2px;border:1px solid var(--border)}.dh-pill-btn{background:transparent;border:none;color:var(--text-secondary);padding:6px var(--space-4);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.dh-pill-btn.active{background:var(--accent);color:var(--accent-text)}.dh-calendar-trigger{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:6px var(--space-3);border-radius:var(--radius-sm);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.dh-calendar-trigger:hover{border-color:var(--accent);color:var(--text-primary)}.dh-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:var(--radius-xs);font-size:.7rem;font-weight:600;white-space:nowrap;align-self:flex-start}.dh-badge.success{background:color-mix(in srgb,var(--priority-low),transparent 85%);color:var(--priority-low)}.dh-badge.danger{background:color-mix(in srgb,var(--priority-high),transparent 85%);color:var(--priority-high)}.dh-badge.stable{background:color-mix(in srgb,var(--text-secondary),transparent 85%);color:var(--text-secondary)}.dh-badge.streak{background:color-mix(in srgb,var(--maths),transparent 85%);color:var(--maths)}.dh-card-header{display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.dh-card-header-flush{border-bottom:none;padding-bottom:0}.dh-card-header h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0;flex:1}.dh-card-header-icon{color:var(--accent);flex-shrink:0}.dh-total-studied-badge{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary),transparent 85%);padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.dh-total-studied-badge strong{font-family:Montserrat,monospace;font-weight:600;color:var(--text-primary)}.dh-bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.dh-bento-hero,.dh-bento-weekly,.dh-bento-stats,.dh-bento-subjects,.dh-bento-insights{position:relative}.dh-bento-hero:hover,.dh-bento-weekly:hover,.dh-bento-stats:hover,.dh-bento-subjects:hover,.dh-bento-insights:hover{z-index:10}.dh-bento-hero{grid-column:span 6;padding:var(--space-3);display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;gap:var(--space-3);border-radius:var(--radius-md)}.dh-hero-left{display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-2);flex-shrink:0;height:100%}.dh-hero-unified-header{position:relative;z-index:1}.dh-metrics-grid{display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:1}.dh-metric-block{display:flex;flex-direction:column;gap:var(--space-1)}.dh-metric-value{font-size:clamp(1.75rem,3vw + .875rem,2.25rem);font-weight:800;font-family:Montserrat,monospace;color:var(--text-primary);line-height:1.1;display:flex;align-items:baseline;gap:4px}.dh-metric-unit{font-size:var(--text-base);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-muted);font-weight:600}.dh-metric-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.dh-metric-vs{color:var(--text-secondary)}.dh-metric-block--secondary{padding-top:var(--space-1);border-top:1px solid color-mix(in srgb,var(--border),transparent 60%)}.dh-metric-secondary-row{display:flex;align-items:baseline;gap:var(--space-1)}.dh-metric-secondary-value{font-size:var(--text-lg);font-weight:700;font-family:Montserrat,monospace;color:var(--text-primary);line-height:1.1}.dh-metric-secondary-unit{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.dh-hero-velocity{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb,var(--border),transparent 50%);margin-top:auto;position:relative;z-index:1}.dh-hero-dot{color:var(--text-secondary)}.dh-hero-right{display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-2);flex:1;min-width:0;height:100%;padding-left:var(--space-3);border-left:1px solid color-mix(in srgb,var(--border),transparent 50%)}.dh-hero-timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.dh-hero-timeline-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.dh-peak-badge.mini{font-size:.65rem;padding:2px var(--space-2);background:color-mix(in srgb,var(--accent),transparent 85%);border-color:color-mix(in srgb,var(--accent),transparent 70%)}.dh-bento-weekly{grid-column:span 4;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-md)}.dh-weekly-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-1);flex:1;min-height:90px;padding-top:var(--space-2)}.dh-weekly-col{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1;cursor:pointer;position:relative;height:100%;justify-content:flex-end;padding:var(--space-1) 0;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.dh-weekly-col:hover{background-color:color-mix(in srgb,var(--bg-tertiary),transparent 30%)}.dh-weekly-bar-track{width:100%;max-width:24px;height:100%;min-height:80px;display:flex;flex-direction:column-reverse;border-radius:var(--radius-xs);overflow:hidden;background:color-mix(in srgb,var(--text-muted),transparent 92%);transition:border-color var(--transition-fast);border:1px solid transparent}.dh-weekly-bar-seg{width:100%;transition:height .4s cubic-bezier(.4,0,.2,1)}.dh-weekly-bar-seg:last-child{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.dh-weekly-bar-seg.physics{background-color:var(--physics)}.dh-weekly-bar-seg.chemistry{background-color:var(--chemistry)}.dh-weekly-bar-seg.maths{background-color:var(--maths)}.dh-weekly-bar-seg.custom{background-color:var(--custom)}.dh-weekly-day-label{font-size:.65rem;color:var(--text-secondary);font-weight:500;margin-top:var(--space-1)}.dh-weekly-col.selected .dh-weekly-day-label{color:var(--accent);font-weight:700}.dh-weekly-col:after{content:attr(data-tooltip);position:absolute;bottom:110%;left:50%;transform:translate(-50%) translateY(4px);background:color-mix(in srgb,var(--bg-secondary),transparent 5%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-size:.65rem;white-space:nowrap;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s .15s;z-index:99;box-shadow:var(--panel-shadow)}.dh-weekly-col:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s 0s}.dh-bento-stats{grid-column:span 2;display:flex;flex-direction:column}.dh-bento-unified-stats{display:flex;flex-direction:column;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);height:100%}.dh-stat-section{display:flex;flex-direction:column;gap:var(--space-1);flex:1;justify-content:center}.dh-stat-divider{width:100%;height:1px;background-color:color-mix(in srgb,var(--border),transparent 50%);margin:var(--space-2) 0}.dh-stat-badge-row{display:flex;align-items:center}.dh-stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.dh-stat-value-row{display:flex;align-items:baseline;gap:var(--space-2)}.dh-stat-value{font-size:var(--text-lg);font-weight:800;font-family:Montserrat,monospace;color:var(--text-primary);line-height:1.2}.dh-stat-value.text-label{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem}.dh-stat-value.trend-improving{color:var(--priority-low)}.dh-stat-value.trend-declining{color:var(--priority-high)}.dh-stat-value.trend-stable{color:var(--text-primary)}.dh-stat-unit{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.dh-stat-sub{font-size:var(--text-xs);color:var(--text-muted)}.dh-histogram-container{display:flex;flex-direction:column;gap:var(--space-2);flex:1;margin-top:var(--space-2)}.dh-histogram-container.compact .dh-histogram-grid{display:flex;align-items:flex-end;gap:2px;flex:1;min-height:80px;padding:0;background:transparent;border:none}.dh-histogram-col{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%;position:relative;cursor:pointer;width:100%}.dh-histogram-track{width:100%;height:100%;background:color-mix(in srgb,var(--bg-tertiary),transparent 30%);border-radius:var(--radius-xs);display:flex;align-items:flex-end;overflow:hidden}.dh-histogram-container.compact .dh-histogram-bar{width:100%;border-radius:0;min-height:0;transition:height .4s cubic-bezier(.4,0,.2,1),opacity var(--transition-fast)}.dh-histogram-container.compact .dh-histogram-bar.empty{background:transparent;opacity:1}.dh-histogram-bar.physics{background:linear-gradient(to top,color-mix(in srgb,var(--physics),transparent 20%),var(--physics));box-shadow:0 0 10px color-mix(in srgb,var(--physics),transparent 50%)}.dh-histogram-bar.chemistry{background:linear-gradient(to top,color-mix(in srgb,var(--chemistry),transparent 20%),var(--chemistry));box-shadow:0 0 10px color-mix(in srgb,var(--chemistry),transparent 50%)}.dh-histogram-bar.maths{background:linear-gradient(to top,color-mix(in srgb,var(--maths),transparent 20%),var(--maths));box-shadow:0 0 10px color-mix(in srgb,var(--maths),transparent 50%)}.dh-histogram-bar.custom{background:linear-gradient(to top,color-mix(in srgb,var(--custom),transparent 20%),var(--custom));box-shadow:0 0 10px color-mix(in srgb,var(--custom),transparent 50%)}.dh-histogram-bar.mixed{background:linear-gradient(to top,color-mix(in srgb,var(--accent),transparent 20%),var(--accent));box-shadow:0 0 10px color-mix(in srgb,var(--accent),transparent 50%)}.dh-histogram-col:hover .dh-histogram-bar:not(.empty){opacity:.85}.dh-histogram-col:after{content:attr(data-tooltip);position:absolute;bottom:110%;left:50%;transform:translate(-50%) translateY(4px);background:color-mix(in srgb,var(--bg-secondary),transparent 5%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-size:.65rem;white-space:nowrap;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s .15s;z-index:99;box-shadow:var(--panel-shadow)}.dh-histogram-col:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s 0s}.dh-timeline-axis{position:relative;height:20px;margin-top:2px;flex-shrink:0}.dh-timeline-axis-pin{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);gap:0}.dh-timeline-axis-tick{width:1px;height:4px;background:color-mix(in srgb,var(--text-secondary),transparent 40%);border-radius:1px}.dh-timeline-axis-label{font-size:.6rem;color:var(--text-secondary);white-space:nowrap;line-height:1.2;margin-top:1px}.dh-peak-badge{align-self:flex-start;font-size:.7rem;background:var(--accent-light);border:1px solid var(--border);color:var(--text-primary);padding:2px var(--space-2);border-radius:var(--radius-full);display:flex;align-items:center;gap:var(--space-1);position:relative;cursor:help}.dh-peak-badge:after{content:attr(data-tooltip);position:absolute;bottom:130%;right:0;transform:translateY(4px);background:color-mix(in srgb,var(--bg-secondary),transparent 5%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-size:.65rem;white-space:nowrap;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s .15s;z-index:99;box-shadow:var(--panel-shadow)}.dh-peak-badge:hover:after{opacity:1;z-index:100;visibility:visible;transform:translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s 0s}.dh-bento-subjects{grid-column:1 / -1;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);border-radius:var(--radius-md)}.dh-subject-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-2)}.dh-subject-card{background:color-mix(in srgb,var(--bg-tertiary),transparent 50%);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.dh-subject-card-header{display:flex;justify-content:space-between;align-items:center}.dh-subject-card-title{display:flex;align-items:center;gap:var(--space-2)}.dh-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dh-legend-dot.physics{background-color:var(--physics)}.dh-legend-dot.chemistry{background-color:var(--chemistry)}.dh-legend-dot.maths{background-color:var(--maths)}.dh-subject-card-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.dh-subject-card-stats{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.dh-subject-card-time{font-family:Montserrat,monospace;font-weight:600;color:var(--text-primary)}.dh-subject-card-pct{color:var(--text-secondary)}.dh-subject-progress-track{height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.dh-subject-progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.dh-subject-progress-fill.physics{background-color:var(--physics)}.dh-subject-progress-fill.chemistry{background-color:var(--chemistry)}.dh-subject-progress-fill.maths{background-color:var(--maths)}.dh-chapter-cards{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.dh-chapter-card{background:color-mix(in srgb,var(--bg-tertiary),transparent 70%);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;justify-content:center;gap:var(--space-2)}.dh-chapter-card-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.dh-chapter-card-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);line-height:1.3}.dh-chapter-card-time{font-family:Montserrat,monospace;font-weight:600;font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0}.dh-chapter-card-tags{display:flex;gap:var(--space-1)}.dh-material-tag{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px var(--space-1);border-radius:var(--radius-xs);border:1px solid var(--border);color:var(--text-muted);background:transparent}.dh-material-tag.completed{border-color:transparent;color:#fff}.dh-material-tag.completed.physics{background-color:color-mix(in srgb,var(--physics),transparent 85%);color:var(--physics);border-color:color-mix(in srgb,var(--physics),transparent 50%)}.dh-material-tag.completed.chemistry{background-color:color-mix(in srgb,var(--chemistry),transparent 85%);color:var(--chemistry);border-color:color-mix(in srgb,var(--chemistry),transparent 50%)}.dh-material-tag.completed.maths{background-color:color-mix(in srgb,var(--maths),transparent 85%);color:var(--maths);border-color:color-mix(in srgb,var(--maths),transparent 50%)}.dh-bento-insights{grid-column:1 / -1;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-md)}.dh-insights-list{display:flex;flex-direction:column;gap:var(--space-3)}.dh-insight-item{display:flex;gap:var(--space-3);font-size:var(--text-sm);padding:var(--space-3);border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.dh-insight-item.tip{border-left-color:var(--chemistry);background:color-mix(in srgb,var(--chemistry),transparent 92%)}.dh-insight-item.warn{border-left-color:var(--priority-medium);background:color-mix(in srgb,var(--priority-medium),transparent 92%)}.dh-insight-item p{margin:0;color:var(--text-secondary);line-height:1.5}.dh-insight-item strong{color:var(--text-primary)}.dh-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);gap:var(--space-3);grid-column:1 / -1;border-radius:var(--radius-md)}.dh-empty-state svg{color:var(--text-muted);opacity:.4}.dh-empty-state h4{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.dh-empty-state p{font-size:var(--text-sm);color:var(--text-muted);max-width:280px;margin:0}.dh-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg-base),transparent 50%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity .2s ease}.dh-modal-backdrop.active{opacity:1;pointer-events:auto}.dh-edit-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);border-radius:var(--radius-md);padding:var(--space-6);max-width:400px;width:90%;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.dh-edit-modal.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.dh-modal-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-4) 0}.dh-form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.dh-form-group label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase}.dh-form-input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);outline:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-sm);transition:border-color var(--transition-fast)}.dh-form-input:focus{border-color:var(--accent)}.dh-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}@media(max-width:768px){.dh-bento-grid{grid-template-columns:1fr}.dh-bento-hero,.dh-bento-weekly,.dh-bento-stats,.dh-bento-timeline,.dh-bento-subjects,.dh-bento-insights{grid-column:span 1}.dh-bento-stats{flex-direction:row}.dh-bento-hero{min-height:auto;padding:var(--space-4)}.dh-date-nav-bar{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}@media(max-width:480px){.dh-bento-stats{flex-direction:column}.dh-histogram-grid{height:56px}.dh-weekly-bar-track{height:60px}}}@layer features{.mock-scores-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--content-max-width);margin:0 auto;width:100%}.mock-scores-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border);padding-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-4)}.mock-scores-title-container{display:flex;align-items:center;gap:var(--space-3)}.mock-scores-icon{color:var(--accent)}.mock-scores-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 .1rem;line-height:1.2}.mock-scores-subtitle{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.mock-scores-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.mock-scores-actions .mock-preset-btn,.mock-scores-actions .mock-add-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);height:2.25rem}.mock-scores-actions .mock-preset-btn{display:inline-flex;align-items:center;gap:var(--space-2)}html[data-theme^=dark-] .mock-scores-actions .mock-add-btn,.mock-scores-actions .mock-add-btn{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border)}html[data-theme^=dark-] .mock-scores-actions .mock-add-btn:hover,.mock-scores-actions .mock-add-btn:hover{background:var(--accent-hover)}.mock-scores-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.mock-scores-page .view-toggle-small{align-self:flex-start;flex-wrap:wrap}.mock-stat-card{border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.mock-stat-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.mock-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.mock-stat-value-unit{font-size:1rem;font-weight:500;color:var(--text-secondary)}.mock-stat-sub{font-size:.75rem;color:var(--text-muted)}.mock-target-card{gap:var(--space-2)}.mock-target-input-wrapper{position:relative;display:flex;align-items:center;width:100%;max-width:160px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-3);height:2.25rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.mock-target-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.mock-target-input-icon{display:flex;align-items:center;color:var(--text-muted);margin-right:var(--space-2)}.mock-target-input{width:100%;border:none;background:transparent;padding:0;font-size:var(--text-base);font-weight:600;color:var(--text-primary);outline:none}.mock-target-input::-webkit-outer-spin-button,.mock-target-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mock-target-input{-moz-appearance:textfield}.mock-target-max{font-size:var(--text-xs);color:var(--text-muted);font-weight:500;white-space:nowrap;margin-left:var(--space-2)}.mock-scores-tabs{display:inline-flex;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1);gap:var(--space-1);margin-top:var(--space-2);overflow-x:auto;max-width:100%}.mock-tab-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;display:flex;align-items:center;gap:var(--space-2)}.mock-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}html[data-theme=light] .mock-tab-btn:hover{background:#00000008}.mock-tab-btn.active{background:var(--accent);color:var(--accent-text);font-weight:600}.mock-chart-container{border-radius:var(--radius-lg);padding:var(--space-5);min-height:380px;position:relative;display:flex;flex-direction:column;justify-content:center;margin-top:var(--space-4)}.mock-chart-wrapper{height:360px;width:100%}.mock-chart-wrapper-center{height:360px;width:100%;display:flex;justify-content:center}.mock-chart-wrapper-small{height:320px;width:100%}.mock-empty-state{text-align:center;padding:var(--space-12) var(--space-4);color:var(--text-muted)}.mock-empty-state-icon{opacity:.3;margin:0 auto var(--space-4)}.mock-empty-state-text{font-size:var(--text-sm);max-width:400px;margin:var(--space-2) auto}.mock-empty-notes{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted);font-size:var(--text-sm)}.mock-dual-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-6);margin-top:var(--space-4)}.mock-chart-card{border-radius:var(--radius-lg);padding:var(--space-5);min-height:380px;position:relative;display:flex;flex-direction:column;justify-content:center}.mock-chart-card-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2)}.mock-diagnostics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6);margin-top:var(--space-4)}.mock-diagnostic-card{border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);max-height:420px;overflow-y:auto}.mock-diagnostic-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.mock-diagnostic-header span:last-child{font-size:var(--text-xs);color:var(--text-muted)}.mock-diagnostic-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.weak-area-list{display:flex;flex-direction:column;gap:var(--space-2)}.weak-area-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--text-sm)}.weak-area-tag{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase}.weak-area-tag.physics{background:color-mix(in srgb,var(--color-physics) 15%,transparent);color:var(--color-physics)}.weak-area-tag.chemistry{background:color-mix(in srgb,var(--color-chemistry) 15%,transparent);color:var(--color-chemistry)}.weak-area-tag.maths{background:color-mix(in srgb,var(--color-maths) 15%,transparent);color:var(--color-maths)}.weak-area-chapter{font-weight:500}.weak-area-subtopic{color:var(--text-secondary);font-weight:400}.weak-area-count{background:var(--bg-primary);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--accent)}.diagnostic-note-item{padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-1)}.diagnostic-note-header{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.diagnostic-note-author{font-weight:600;color:var(--text-primary)}.diagnostic-note-body{font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.4}.mock-scores-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);margin-top:var(--space-4)}.mock-scores-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--text-sm)}.mock-scores-table th{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.mock-scores-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary)}.mock-scores-table tr:last-child td{border-bottom:none}.mock-scores-table tr:hover td{background:var(--bg-tertiary)}.mock-table-date{white-space:nowrap}.mock-table-name{font-weight:600}.mock-table-physics{color:var(--color-physics)}.mock-table-chemistry{color:var(--color-chemistry)}.mock-table-maths{color:var(--color-maths)}.mock-action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-1_5, 6px);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.mock-action-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.mock-action-btn.delete:hover{color:#ef4444;background:#ef44441a}@media(max-width:768px){.mock-scores-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.mock-scores-actions{width:100%;justify-content:space-between}.mock-scores-stats-grid{grid-template-columns:repeat(2,1fr)}.mock-dual-chart-grid{grid-template-columns:1fr;gap:var(--space-4)}.mock-diagnostics-grid{grid-template-columns:1fr}.mock-scores-table th,.mock-scores-table td{padding:var(--space-2) var(--space-3)}}}@layer features{.import-sync-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height));padding:var(--space-lg)}.import-sync-card{max-width:440px;width:100%;padding:var(--space-2xl);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}[data-theme^=dark-] .import-sync-card{background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-inner-glow)}.import-sync-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.import-sync-content h2{color:var(--text-primary);font-size:1.35rem;font-weight:600;margin:0}.import-sync-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.import-sync-content strong{color:var(--text-primary)}.import-sync-icon-success{color:var(--priority-low)}.import-sync-icon-accent{color:var(--accent)}.import-sync-icon-error{color:var(--priority-high)}.import-sync-spinner{color:var(--accent);animation:sync-spin 1s linear infinite}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cloud-sync-modal{width:min(92vw,480px)}.cloud-sync-modal-subtitle{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:.96rem;line-height:1.6}.cloud-sync-modal-note{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.cloud-sync-modal-actions{justify-content:flex-end;gap:var(--space-sm);align-items:center}.cloud-sync-google-btn{min-width:208px}.cloud-sync-modal-actions .modal-btn.cancel{display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:120px;white-space:nowrap;padding:0 1rem}@media(max-width:48rem){.cloud-sync-modal-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}.cloud-sync-modal-actions .modal-btn.cancel,.cloud-sync-modal-actions .cloud-sync-google-btn{width:100%;min-width:0;flex:0 0 auto;height:44px}}.cloud-sync-inline-error{margin:var(--space-sm) 0 0 0;color:var(--priority-high);font-size:.85rem}.pwa-install-modal{width:min(92vw,460px)}.pwa-install-modal-subtitle{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:.96rem;line-height:1.6}.pwa-install-modal-note{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.pwa-install-modal-actions{justify-content:flex-end;gap:var(--space-sm);align-items:center}.pwa-install-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:40px;min-width:140px}}@layer features{.legal-page{display:flex;justify-content:center}.legal-card{width:100%;max-width:900px;border-radius:var(--border-radius);padding:1.5rem;border:1px solid var(--border);background:var(--bg-secondary)}.legal-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.legal-header h1{margin:0;font-size:1.75rem}.legal-header p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.9rem}.legal-content{display:flex;flex-direction:column;gap:.75rem}.legal-content h2{margin:.4rem 0 0;font-size:1.1rem}.legal-content p{margin:0;color:var(--text-secondary);line-height:1.6}.changelog-content{gap:1rem}.changelog-entry{padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--border-radius-sm);background:var(--bg-tertiary)}.changelog-entry h2{margin:0}.changelog-entry p{margin:.35rem 0 .6rem}.changelog-entry ul{margin:0;padding-left:1rem;color:var(--text-primary)}.legal-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media(max-width:640px){.legal-card{padding:1rem}.legal-header h1{font-size:1.4rem}}}@layer features{.support-page-container{--paper: #faf7f2;--ink: #2c2c2c;--red: #e63946;--red-soft: #ef6b78;--red-glow: rgba(230, 57, 70, .2);--soft-rose: #fcd5ce;--blush: #fff0ed;--pencil-gray: #9e9e9e;--line: #e8e0d0;--warm-shadow: #e8ddd0;--card-bg: rgba(255, 255, 255, .7);--card-selected-bg: #fff5f5;--card-hover-bg: rgba(255, 255, 255, .9);--notebook-line-height: 32px;--notebook-line-offset: 22px;min-height:100vh;background-color:var(--paper);background-image:repeating-linear-gradient(180deg,transparent,transparent calc(var(--notebook-line-height) - 1px),var(--line) calc(var(--notebook-line-height) - 1px),var(--line) var(--notebook-line-height)),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(210,195,170,.08) 2px,rgba(210,195,170,.08) 3px,transparent 3px,transparent 7px),repeating-linear-gradient(0deg,transparent,transparent 11px,rgba(190,175,150,.05) 11px,rgba(190,175,150,.05) 12px,transparent 12px,transparent 19px),repeating-linear-gradient(35deg,transparent,transparent 29px,rgba(200,185,160,.04) 29px,rgba(200,185,160,.04) 30px,transparent 30px,transparent 53px),repeating-linear-gradient(-40deg,transparent,transparent 37px,rgba(195,180,155,.035) 37px,rgba(195,180,155,.035) 38px,transparent 38px,transparent 67px),radial-gradient(circle .7px at 30% 40%,rgba(160,140,110,.07) 0%,transparent 100%),radial-gradient(circle .5px at 70% 20%,rgba(140,125,100,.06) 0%,transparent 100%),radial-gradient(circle .8px at 15% 75%,rgba(175,155,125,.05) 0%,transparent 100%),radial-gradient(circle .6px at 85% 60%,rgba(155,140,115,.055) 0%,transparent 100%),radial-gradient(ellipse 60% 50% at 70% 65%,rgba(245,225,195,.18) 0%,transparent 70%),radial-gradient(ellipse 55% 45% at 25% 30%,rgba(220,225,235,.12) 0%,transparent 70%),radial-gradient(ellipse 80% 80% at 50% 50%,transparent 50%,rgba(200,185,160,.1) 100%),linear-gradient(155deg,transparent 42%,rgba(220,205,180,.06) 42.5%,rgba(220,205,180,.06) 43%,transparent 43.5%,transparent 57%,rgba(220,205,180,.04) 57.5%,rgba(220,205,180,.04) 58%,transparent 58.5%);background-size:100% auto,100% 7px,100% 19px,53px 53px,67px 67px,4px 5px,5px 4px,6px 7px,7px 5px,100% 100%,100% 100%,100% 100%,100% 100%;background-position:0 var(--notebook-line-offset);background-attachment:local;color:var(--ink);font-family:Betania Patmos In,cursive,sans-serif;font-size:1.15rem;line-height:1.6;padding:var(--notebook-line-height) var(--space-4);display:flex;justify-content:center;border-radius:28px 24px 30px 26px;overflow:hidden;border:1.5px solid var(--warm-shadow);box-shadow:0 12px 40px #0000000a,0 2px 4px #00000005}.support-content{max-width:760px;width:100%;display:flex;flex-direction:column;gap:0;position:relative;z-index:1}.support-page-container h1,.support-page-container h2,.support-page-container h3{font-family:Cookie,cursive;color:var(--ink);font-weight:400;margin:0}.support-page-container h1{font-size:2.8rem;text-align:center;line-height:calc(2 * var(--notebook-line-height));margin-top:0;margin-bottom:var(--notebook-line-height)}.support-page-container h2{font-size:2rem;margin-bottom:1rem}.support-page-container h3{font-size:1.5rem;margin-bottom:.25rem}.support-header{text-align:center;height:calc(3 * var(--notebook-line-height));display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:0}.support-tiny-note{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.9rem;color:var(--pencil-gray);text-align:center;margin:0}.header-doodle-container{display:flex;justify-content:center;margin-bottom:var(--space-2)}.header-doodle{color:var(--red);transform:rotate(-10deg)}.letter-section{text-align:left;margin:0;padding:0}.letter-section p{line-height:var(--notebook-line-height);margin-top:0;margin-bottom:var(--notebook-line-height)}.hand-drawn-divider{border:none;height:var(--notebook-line-height);margin:0;position:relative;display:flex;align-items:center;justify-content:center}.hand-drawn-divider:before{content:"";position:absolute;left:0;right:0;border-top:2px dashed var(--pencil-gray);opacity:.3}.divider-doodle{color:var(--pencil-gray);background:var(--paper);padding:0 var(--space-3);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:1;z-index:1}.donation-card-container{position:relative;margin-top:var(--notebook-line-height);margin-bottom:calc(2 * var(--notebook-line-height))}.donation-card{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--warm-shadow);border-radius:24px;padding:2.5rem 2rem;box-shadow:0 4px 24px #e639460f,0 1px 3px #0000000a;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.75rem;position:relative;overflow:hidden}.donation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,var(--blush) 0%,transparent 100%);border-radius:24px 24px 0 0;pointer-events:none;z-index:0}.donation-card>*{position:relative;z-index:1}.donation-card-header{display:flex;flex-direction:column;align-items:center;gap:.5rem}.donation-card-eyebrow{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.85rem;color:var(--red-soft);letter-spacing:.5px;text-transform:uppercase}.donation-card-title{font-family:Cookie,cursive;font-size:2rem;color:var(--ink);margin:0;line-height:1.3}.donation-card-accent-line{width:60px;height:3px;background:linear-gradient(90deg,transparent,var(--red),transparent);border-radius:2px;margin-top:.25rem;opacity:.6}.amount-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;max-width:480px}.amount-card{background:#fff;border:2px solid var(--warm-shadow);border-radius:16px;padding:1.25rem .75rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #00000008}.amount-card:hover{transform:translateY(-3px);border-color:var(--red-soft);box-shadow:0 6px 20px var(--red-glow)}.amount-card.selected{border-color:var(--red);background:var(--card-selected-bg);transform:scale(1.03);box-shadow:0 0 0 2px var(--red-glow),0 8px 24px var(--red-glow)}.amount-card-emoji{font-size:1.75rem;line-height:1;transition:transform .3s ease}.amount-card:hover .amount-card-emoji{transform:scale(1.2) rotate(-5deg)}.amount-card.selected .amount-card-emoji{transform:scale(1.25);animation:emojiPop .4s ease}@keyframes emojiPop{0%{transform:scale(.8)}50%{transform:scale(1.4) rotate(5deg)}to{transform:scale(1.25)}}.amount-card-value{font-family:Cookie,cursive;font-size:1.8rem;color:var(--ink);line-height:1.1}.amount-card.selected .amount-card-value{color:var(--red)}.amount-card-label{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.7rem;color:var(--pencil-gray);line-height:1.2}.amount-card-check{position:absolute;top:6px;right:8px;font-size:.7rem;color:#fff;background:var(--red);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;animation:checkPop .3s ease}@keyframes checkPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.custom-toggle{background:none;border:none;cursor:pointer;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.88rem;color:var(--pencil-gray);display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:20px;transition:color .2s ease,background .2s ease}.custom-toggle:hover,.custom-toggle.active{color:var(--red);background:var(--blush)}.custom-toggle-icon{font-size:1rem;transition:transform .2s ease}.custom-toggle:hover .custom-toggle-icon{transform:rotate(-15deg)}.custom-amount-reveal{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;max-width:280px;animation:slideReveal .35s ease}@keyframes slideReveal{0%{opacity:0;transform:translateY(-12px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.custom-input-row{display:flex;align-items:baseline;gap:.25rem;width:100%}.currency-prefix{font-family:Cookie,cursive;font-size:1.8rem;color:var(--pencil-gray);opacity:.7}.custom-amount-input{flex:1;text-align:left;-moz-appearance:textfield}.custom-amount-input::-webkit-outer-spin-button,.custom-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.card-wavy-divider{width:80%;color:var(--warm-shadow);opacity:.6}.card-wavy-divider svg{width:100%;height:12px}.handwritten-input{background:transparent;border:none;border-bottom:2px solid var(--warm-shadow);font-family:Cookie,cursive;font-size:1.6rem;color:var(--ink);padding:.25rem 0;text-align:center;width:100%;outline:none;transition:border-color .2s ease}.handwritten-input:focus,.handwritten-input:focus-visible{outline:none!important;box-shadow:none!important;border-bottom-color:var(--red-soft)!important}.handwritten-input::placeholder{color:var(--pencil-gray);opacity:.5}.note-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;max-width:420px}.note-input-wrapper label{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.88rem;color:var(--pencil-gray);text-align:center}.note-input-wrapper .handwritten-input{text-align:center}.note-input-field-wrap{position:relative;width:100%}.note-input-field-wrap .handwritten-input{padding-right:2rem;padding-left:2rem}.note-pencil-icon{position:absolute;right:0;bottom:6px;font-size:.9rem;opacity:.4;pointer-events:none}.cta-button{background:linear-gradient(135deg,var(--red) 0%,var(--red-soft) 100%);color:#fff;font-family:Cookie,cursive;font-size:1.8rem;padding:.65rem 2.5rem;border:none;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:.6rem;position:relative;box-shadow:0 4px 16px var(--red-glow),0 2px 4px #0000000f;transition:transform .2s ease,box-shadow .2s ease;animation:ctaGlow 3s ease-in-out infinite}@keyframes ctaGlow{0%,to{box-shadow:0 4px 16px var(--red-glow),0 2px 4px #0000000f}50%{box-shadow:0 6px 28px #e6394659,0 2px 4px #0000000f}}.cta-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #e6394659,0 2px 4px #0000000f}.cta-button:active{transform:translateY(1px) scale(.99);box-shadow:0 2px 8px var(--red-glow),0 1px 2px #0000000f}.cta-button svg{opacity:.9}.cta-heart-beat{display:inline-block;animation:heartBeat 1.2s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.cta-buttons-group{display:flex;flex-direction:column;align-items:center;gap:.75rem}.cta-secondary-button{background:none;border:1.5px dashed var(--pencil-gray);border-radius:50px;cursor:pointer;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.82rem;color:var(--pencil-gray);display:flex;align-items:center;gap:.4rem;padding:.4rem 1.25rem;transition:color .2s ease,border-color .2s ease,background .2s ease}.cta-secondary-button:hover{color:var(--red-soft);border-color:var(--red-soft);background:var(--blush)}.cta-secondary-button svg{opacity:.7}.cta-secondary-button:hover svg{opacity:1}.spread-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#2c2c2c73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:modalOverlayIn .25s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.spread-modal{background:var(--paper);border:1.5px solid var(--warm-shadow);border-radius:24px;padding:2.25rem 2rem 1.75rem;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 16px 48px #0000001a,0 4px 12px #e639460f;animation:modalSlideIn .35s ease;display:flex;flex-direction:column;align-items:center;text-align:center}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.spread-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--pencil-gray);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease}.spread-modal-close:hover{color:var(--red);background:var(--blush)}.spread-modal-emoji{font-size:2.5rem;line-height:1;margin-bottom:.5rem;animation:emojiPop .5s ease .2s both}.spread-modal-title{font-family:Cookie,cursive!important;font-size:2.2rem!important;color:var(--ink)!important;margin:0 0 1rem!important;line-height:1.2!important}.spread-modal-body{text-align:left;width:100%}.spread-modal-body>p{font-family:Betania Patmos In,cursive,sans-serif;font-size:1.05rem;color:var(--ink);line-height:1.6;margin:0 0 .75rem}.spread-modal-body>p strong{color:var(--red)}.spread-modal-action-card{display:flex;align-items:flex-start;gap:.75rem;background:#fff9;border:1px solid var(--warm-shadow);border-radius:14px;padding:.85rem 1rem;margin-bottom:.65rem;transition:border-color .2s ease,box-shadow .2s ease}.spread-modal-action-card:hover{border-color:var(--red-soft);box-shadow:0 2px 12px var(--red-glow)}.spread-modal-action-emoji{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:.1rem}.spread-modal-action-card strong{font-family:Cookie,cursive;font-size:1.3rem;color:var(--ink);font-weight:400;display:block;margin-bottom:.15rem}.spread-modal-action-card p{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.78rem;color:var(--pencil-gray);line-height:1.45;margin:0}.spread-modal-footer{margin-top:.75rem;padding-top:.75rem;border-top:1.5px dashed var(--warm-shadow);width:100%;text-align:center}.spread-modal-footer p{font-family:Betania Patmos In,cursive,sans-serif;font-size:1rem;color:var(--pencil-gray);line-height:1.6;margin:0}.spread-modal-got-it{margin-top:1rem;background:linear-gradient(135deg,var(--red) 0%,var(--red-soft) 100%);color:#fff;font-family:Cookie,cursive;font-size:1.4rem;padding:.5rem 2rem;border:none;border-radius:50px;cursor:pointer;box-shadow:0 3px 12px var(--red-glow);transition:transform .2s ease,box-shadow .2s ease}.spread-modal-got-it:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e639464d}.spread-modal-got-it:active{transform:translateY(1px)}@media(max-width:600px){.spread-modal{padding:1.75rem 1.25rem 1.5rem;border-radius:18px}.spread-modal-title{font-size:1.8rem!important}.spread-modal-action-card{padding:.7rem .8rem}}.trust-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.78rem;color:var(--pencil-gray)}.trust-badge{display:inline-flex;align-items:center;gap:.3rem;background:#fff9;padding:.2rem .55rem;border-radius:20px;border:1px solid var(--line)}.trust-badge-icon{font-size:.72rem}.trust-badge-dot{color:var(--line);font-size:.6rem}.donation-disclaimer{font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.72rem;color:var(--pencil-gray);opacity:.6;margin:0;max-width:400px;line-height:1.4}.floating-hearts{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.float-heart{position:absolute;bottom:-20px;font-size:1rem;color:var(--red);opacity:0;animation:floatUp 6s ease-in-out infinite}@keyframes floatUp{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:.4}50%{opacity:.25}to{opacity:0;transform:translateY(-320px) rotate(25deg)}}.support-footer{text-align:center;margin-top:0;padding-top:0;display:flex;flex-direction:column;align-items:center;gap:0}.footer-wave{width:200px;height:var(--notebook-line-height);color:var(--line);margin-bottom:var(--notebook-line-height)}.footer-gratitude-title{margin:0;font-family:Cookie,cursive;font-size:1.75rem;line-height:var(--notebook-line-height)}.footer-signature{margin:0;line-height:var(--notebook-line-height);margin-bottom:var(--notebook-line-height)}.footer-hearts{display:flex;height:var(--notebook-line-height);align-items:center;justify-content:center;gap:.5rem;color:var(--red);margin-bottom:var(--notebook-line-height)}.footer-hearts svg:nth-child(1){transform:rotate(-10deg)}.footer-hearts svg:nth-child(2){transform:translateY(2px) scale(.9)}.footer-hearts svg:nth-child(3){transform:rotate(15deg)}.support-footer .support-tiny-note{line-height:var(--notebook-line-height);max-width:500px;margin-bottom:var(--notebook-line-height)}.github-link{display:flex;align-items:center;justify-content:center;height:var(--notebook-line-height);line-height:var(--notebook-line-height);gap:.25rem;color:var(--pencil-gray);text-decoration:none;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif;font-size:.9rem;transition:color .2s ease}.github-link:hover{color:var(--ink)}.doodle-overlay{position:absolute;color:var(--pencil-gray);opacity:.6;pointer-events:none}.doodle-overlay.red{color:var(--red)}@media(max-width:600px){.support-page-container{padding:var(--space-6) var(--space-3)}.support-page-container h1{font-size:2.2rem}.donation-card{padding:1.75rem 1.25rem;border-radius:18px}.amount-cards-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}.amount-card{padding:1rem .5rem}.amount-card-emoji,.amount-card-value{font-size:1.4rem}.amount-card-label{font-size:.6rem}.cta-button{font-size:1.5rem;padding:.55rem 1.75rem}.trust-badges{flex-direction:column;gap:.35rem}.trust-badge-dot{display:none}}}@layer features.features{.community-page{display:flex;flex-direction:column}.community-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.community-page-title-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.community-title-icon{color:var(--accent)}.community-page-title-group h1{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.community-page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.community-tab-bar{display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:0;margin-bottom:var(--space-4)}.community-tab-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);position:relative}.community-tab-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.community-tab-btn.active{color:var(--text-primary);font-weight:600;background:transparent}.community-tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:var(--space-2);right:var(--space-2);height:2px;background:var(--accent);border-radius:var(--radius-full)}.community-tab-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.community-invite-section{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.invite-signin-hint{display:inline-flex;align-items:center;padding:0 var(--space-4);height:32px;background:var(--panel-bg);border:1px dashed var(--panel-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);gap:var(--space-2);white-space:nowrap;cursor:pointer;font-family:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.invite-signin-hint:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.invite-badge-wrapper{display:flex;align-items:center;gap:var(--space-2)}.invite-badge-label-inside{font-size:var(--text-xs);font-weight:600;color:#64748b!important;letter-spacing:.05em;margin-right:var(--space-1)}.invite-code-badge{display:flex;align-items:center;background:#fff!important;border:2px solid var(--accent);border-radius:var(--radius-full);padding:4px 4px 4px var(--space-4);box-shadow:0 2px 8px #0000000d;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);gap:var(--space-2)}.invite-code-badge:hover{box-shadow:0 4px 12px #0000001a}.invite-code-text{font-family:Montserrat,monospace;font-size:var(--text-base);font-weight:700;color:#000!important;letter-spacing:.05em;margin-right:var(--space-1)}.invite-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}html[data-theme^=dark-] .invite-copy-btn{background:var(--accent);color:var(--accent-text)}.invite-copy-btn:hover{transform:scale(1.05);background:var(--accent-hover)}.invite-copy-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-light)}.invite-copy-btn.copied{background:var(--color-priority-low);color:var(--accent-text)}.invite-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:36px;border:1px solid var(--border);background:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;cursor:pointer;box-shadow:0 2px 8px #0000000d;font-family:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.invite-link-btn:hover{background:var(--bg-tertiary);border-color:var(--color-text-secondary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.invite-link-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.invite-link-btn:active{transform:translateY(0)}.invite-link-btn.copied{background:var(--color-priority-low-bg)!important;border-color:var(--color-priority-low)!important;color:var(--color-priority-low)!important}.discord-server-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:32px;background:#5865f2;color:#fff;border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-sm);font-weight:600;box-shadow:0 2px 8px #5865f240;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.discord-server-btn:hover{background:#4752c4;transform:translateY(-1px);box-shadow:0 4px 12px #5865f259;color:#fff}.discord-server-btn:active{transform:translateY(0)}.community-profile-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:stretch}.friend-skeleton-card{border-style:dashed;border-color:var(--border);background:color-mix(in srgb,var(--panel-bg),transparent 40%);display:flex;flex-direction:column}.profile-card-banner.skeleton{background:linear-gradient(135deg,var(--bg-tertiary),var(--border));opacity:.6}.profile-card-avatar-wrap.skeleton{justify-content:center}.profile-card-avatar.skeleton{background:var(--bg-secondary);border:3px dashed var(--border);box-shadow:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.avatar-placeholder-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.friend-skeleton-card .skeleton-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4) var(--space-4) var(--space-5);flex-grow:1;justify-content:center}.skeleton-title{font-size:var(--text-base);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-2);text-align:center}.skeleton-description{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 var(--space-5);line-height:1.4;max-width:240px;text-align:center}.skeleton-cta-btn{width:auto;height:28px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border);box-shadow:0 2px 8px #0000001a;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.skeleton-cta-btn:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-text);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.skeleton-cta-btn:active{transform:translateY(0)}html[data-theme^=dark-] .skeleton-cta-btn,[data-theme^=dark-] .skeleton-cta-btn{background:var(--accent);color:var(--accent-text);border-color:var(--accent-border);box-shadow:0 2px 8px #0003}html[data-theme^=dark-] .skeleton-cta-btn:hover:not(:disabled),[data-theme^=dark-] .skeleton-cta-btn:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-text);border-color:var(--accent-hover);box-shadow:0 4px 12px #0000004d}.profile-card{display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;border-radius:var(--radius-md);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);position:relative}.profile-card-banner{width:100%;height:120px;background:linear-gradient(135deg,var(--accent),var(--secondary-accent, var(--accent-hover)));background-size:cover;background-position:center;position:relative;border-top-left-radius:calc(var(--radius-md) - 1px);border-top-right-radius:calc(var(--radius-md) - 1px);flex-shrink:0}.profile-card-banner img{width:100%;height:100%;object-fit:cover;border-top-left-radius:calc(var(--radius-md) - 1px);border-top-right-radius:calc(var(--radius-md) - 1px)}.profile-card-avatar-wrap{position:relative;margin-top:-42px;padding:0 var(--space-4);display:flex;align-items:flex-end;justify-content:space-between;flex-shrink:0}.profile-card-avatar{width:84px;height:84px;border-radius:var(--radius-full);border:3px solid var(--bg-secondary);box-shadow:0 0 0 2px var(--accent);overflow:hidden;background:var(--bg-tertiary);flex-shrink:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;justify-content:center}.profile-card-avatar img{width:100%;height:100%;object-fit:cover}.profile-card-edit-btn{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10;display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);height:24px;border:1px solid var(--color-priority-high);border-radius:var(--radius-sm);background:#fff;color:var(--color-priority-high);font-size:var(--text-xs);font-weight:600;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.9);box-shadow:0 2px 8px #00000026;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.profile-card:hover .profile-card-edit-btn{opacity:1;pointer-events:auto;transform:scale(1)}.profile-card:hover .profile-card-edit-btn:hover{background:#f4f5f6;border-color:var(--color-priority-high);color:var(--color-priority-high);box-shadow:0 4px 12px #0003,0 0 0 1px var(--color-priority-high);transform:scale(1.05)}.profile-card-disconnect-btn{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius-full);background:#fff;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.9);box-shadow:0 2px 6px #0000001a;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-card-disconnect-btn svg{color:var(--color-priority-high);display:block}.profile-card:hover .profile-card-disconnect-btn{opacity:1;pointer-events:auto;transform:scale(1)}.profile-card-disconnect-btn:hover{border-color:var(--color-priority-high);background:#fff;transform:scale(1.05);box-shadow:0 4px 12px #ef444433}.profile-card-pin-btn{position:absolute;top:var(--space-3);left:var(--space-3);z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius-full);background:#fff;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.9);box-shadow:0 2px 6px #0000001a;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-card-pin-btn svg{color:var(--text-secondary);display:block;transition:color var(--transition-fast),fill var(--transition-fast)}.profile-card-pin-btn.pinned{background:transparent;border-color:transparent;box-shadow:none}.profile-card-pin-btn.pinned svg{color:var(--color-priority-high);fill:none}.profile-card:hover .profile-card-pin-btn{opacity:1;pointer-events:auto;transform:scale(1)}.profile-card:hover .profile-card-pin-btn.pinned{opacity:.75}.profile-card-pin-btn:hover{border-color:var(--color-priority-high);background:#fff;transform:scale(1.05);box-shadow:0 4px 12px #ef444433;opacity:1!important}.profile-card-pin-btn.pinned:hover{background:#ef444414;border-color:#ef444433;box-shadow:0 2px 8px #ef44441a;opacity:1!important}.profile-card-pin-btn:hover svg{color:var(--color-priority-high)}.invite-modal-actions .primary-btn.danger-confirm-btn{background:var(--color-priority-high)!important;border-color:var(--color-priority-high)!important;color:#fff!important}.invite-modal-actions .primary-btn.danger-confirm-btn:hover{background:color-mix(in srgb,var(--color-priority-high),#000000 15%)!important;border-color:color-mix(in srgb,var(--color-priority-high),#000000 15%)!important;box-shadow:0 4px 12px #ef44444d!important}.profile-card-identity{padding:var(--space-3) var(--space-4) 0;flex-shrink:0}.profile-card.no-tasks .profile-card-identity{padding-bottom:var(--space-4)}.profile-card-name-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.profile-card-name{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.profile-card-special-tag{display:inline-flex;padding:2px;border-radius:var(--radius-full);background:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3,red);background-size:200% 100%;animation:tag-rainbow-flow 3s linear infinite;position:relative;cursor:help;transition:transform var(--transition-fast);z-index:1}.profile-card-special-tag:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;filter:blur(6px);opacity:.6;z-index:-1;transition:opacity var(--transition-fast),filter var(--transition-fast)}.profile-card-special-tag-inner{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:4px 10px;background-color:#fff;border-radius:calc(var(--radius-full) - 2px);font-size:.65rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;color:#0f1012;line-height:1;text-decoration:none}.profile-card-special-tag-inner .tag-text{display:flex;align-items:center;transform:translateY(1px)}.profile-card-special-tag:hover{transform:translateY(-1px)}.profile-card-special-tag:hover:before{opacity:.85;filter:blur(8px)}@keyframes tag-rainbow-flow{0%{background-position:0% 50%}to{background-position:200% 50%}}.profile-card-special-tag-tooltip{position:absolute;bottom:125%;left:50%;transform:translate(-50%) translateY(4px);background:color-mix(in srgb,var(--bg-secondary),transparent 15%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:normal;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);z-index:50;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;gap:var(--space-2)}.profile-card-special-tag:hover .profile-card-special-tag-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.profile-card-special-tag .discord-icon{width:16px;height:12px;flex-shrink:0;color:#5865f2;filter:drop-shadow(0 1px 2px rgba(88,101,242,.3))}.profile-card-status-badge-container{display:flex;align-items:center;justify-content:flex-end;padding-bottom:var(--space-2);z-index:2}.profile-card-status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-xs);line-height:normal;transition:background-color var(--transition-fast),color var(--transition-fast);box-shadow:0 2px 4px #0000001a;border:1px solid transparent;background:var(--bg-secondary)}.profile-card-status-badge.studying{color:var(--priority-high);background:var(--priority-high-bg);border-color:color-mix(in srgb,var(--priority-high),transparent 80%)}.profile-card-status-badge.online{color:var(--priority-low);background:var(--priority-low-bg);border-color:color-mix(in srgb,var(--priority-low),transparent 80%)}.profile-card-status-badge.idle{color:var(--priority-medium);background:var(--priority-medium-bg);border-color:color-mix(in srgb,var(--priority-medium),transparent 80%)}.profile-card-status-badge.offline{color:var(--text-secondary);background:var(--bg-tertiary);border-color:var(--border)}.profile-card-status-dot{display:block;width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0;position:relative;top:-.5px}.profile-card-status-badge.studying .profile-card-status-dot{background:var(--priority-high);animation:status-pulse 1.5s ease-in-out infinite}.profile-card-status-badge.idle .profile-card-status-dot{background:var(--priority-medium)}.profile-card-status-badge.offline .profile-card-status-dot{background:var(--text-muted)}.profile-card-status-wifi{display:block;flex-shrink:0;position:relative;top:-.5px;animation:wifi-pulse 2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes wifi-pulse{0%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.4;transform:scale(.9)}}.profile-card-status{color:var(--text-secondary);font-size:var(--text-xs);margin:var(--space-2) 0 0;padding-left:var(--space-2);border-left:2px solid var(--accent);font-style:italic;line-height:1.4;font-weight:500;letter-spacing:.02em;overflow-wrap:break-word;word-wrap:break-word}.profile-card-meta-row{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap}.profile-card-meta-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--text-primary);background:color-mix(in srgb,var(--bg-secondary),transparent 20%);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 3px #0000001a;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.profile-card-meta-pill:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%)}.profile-card-meta-pill svg{color:var(--accent)}.profile-card-divider{height:1px;background:var(--border);margin:var(--space-3) var(--space-4);flex-shrink:0}.profile-card-tasks-section{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;flex-grow:1;min-width:0}.profile-card-section-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 var(--space-2)}.profile-card-tasks-list{display:flex;flex-direction:column;gap:0;max-height:160px;overflow-y:auto;scrollbar-width:thin;min-width:0}.profile-card-task-item{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);background:transparent;min-height:32px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);line-height:1.2;border:1px solid transparent;cursor:pointer;min-width:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.profile-card-task-item:hover{background:color-mix(in srgb,var(--bg-tertiary),transparent 50%);color:var(--text-primary)}.profile-card-task-item:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--space-3) + 3px);width:2px;background:var(--border);z-index:1}.profile-card-task-item:first-child:before{top:50%}.profile-card-task-item:last-child:before{bottom:50%}.profile-card-task-item.linked-task{background:color-mix(in srgb,var(--accent),transparent 92%);border-color:color-mix(in srgb,var(--accent),transparent 50%);box-shadow:0 0 8px color-mix(in srgb,var(--accent),transparent 85%);color:var(--text-primary);font-weight:600}.profile-card-task-item.completed{opacity:.5;text-decoration:line-through}.profile-card-task-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0;position:relative;z-index:2}.profile-card-task-dot.physics{background:var(--color-physics)}.profile-card-task-dot.chemistry{background:var(--color-chemistry)}.profile-card-task-dot.maths{background:var(--color-maths)}.profile-card-task-dot.custom{background:var(--color-custom)}.profile-card-task-dot.pulsate{background:var(--accent);animation:task-dot-pulse 1.4s ease-in-out infinite}.profile-card-task-dot.pulsate:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:inherit;opacity:.4;animation:task-dot-ring-pulse 1.4s ease-out infinite}@keyframes task-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes task-dot-ring-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}.profile-card-task-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-task-time{color:var(--text-muted);font-size:.625rem;flex-shrink:0;font-family:Montserrat,monospace}.profile-card-tasks-empty{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2) 0;text-align:center;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.profile-card-add-task-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);height:28px;font-size:var(--text-xs);font-weight:600;color:var(--accent-text);background:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);margin-top:var(--space-1)}.profile-card-add-task-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.profile-card-add-task-btn:active{transform:translateY(0)}.private-agenda{display:flex;flex-direction:column;flex-grow:1}.profile-card-private-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;text-align:center;flex-grow:1;padding:var(--space-4) var(--space-2);border:1px dashed var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel-bg),transparent 85%)}.private-notice-icon{color:var(--text-muted);opacity:.8}.profile-card-compact-metrics{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border);flex-wrap:wrap}.compact-metric{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:.75rem;font-weight:600;color:var(--text-primary);font-family:Montserrat,monospace;padding:3px var(--space-2);box-sizing:border-box}.compact-metric span{display:inline-flex;align-items:center}.compact-metric svg{color:var(--text-muted);stroke-width:2.5;display:block}.compact-metric .compact-metric-flame{color:var(--color-priority-medium)}.compact-metric-lbl{color:var(--text-muted);font-size:.625rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.compact-metric-divider{width:1px;height:12px;background:var(--border);align-self:center;margin-left:auto;margin-right:auto}.compact-heatmap{display:flex;gap:3px;align-items:center;margin-bottom:8px}.compact-heatmap-col{position:relative;width:10px;height:10px;display:flex;justify-content:center}.compact-heatmap-day-label{position:absolute;top:12px;font-size:.5rem;color:var(--text-muted);text-transform:uppercase;font-weight:700;line-height:1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap}.compact-heatmap-box{width:10px;height:10px;border-radius:2px;transition:transform var(--transition-fast);cursor:help}.compact-heatmap-box:hover{transform:scale(1.5)}.compact-heatmap-box.level-0{background:color-mix(in srgb,var(--text-muted),transparent 85%)}.compact-heatmap-box.level-1{background:color-mix(in srgb,var(--color-priority-low),transparent 70%)}.compact-heatmap-box.level-2{background:color-mix(in srgb,var(--color-priority-low),transparent 40%)}.compact-heatmap-box.level-3{background:color-mix(in srgb,var(--color-priority-low),transparent 10%)}.compact-heatmap-box.level-4{background:var(--color-priority-low);box-shadow:0 0 4px color-mix(in srgb,var(--color-priority-low),transparent 50%)}.compact-metric[data-tooltip],.compact-heatmap-box[data-tooltip]{position:relative}.compact-metric[data-tooltip]:after,.compact-heatmap-box[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);background:color-mix(in srgb,var(--bg-secondary),transparent 10%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.65rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);z-index:50;box-shadow:0 4px 12px #0000004d}.compact-metric[data-tooltip]:hover:after,.compact-heatmap-box[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.community-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-muted);gap:var(--space-4)}.community-coming-soon h2{font-size:var(--text-lg);font-weight:600;color:var(--text-secondary);margin:0}.community-coming-soon p{font-size:var(--text-sm);margin:0;max-width:400px}.profile-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.profile-edit-modal{width:860px;max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8));overflow:hidden;border-radius:var(--radius-md);padding:var(--space-6);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow)}.profile-edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.profile-edit-modal .profile-edit-header{border-bottom:1px solid var(--border);padding-bottom:var(--space-3);margin-bottom:var(--space-5)}.profile-edit-header h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.profile-edit-close{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:background-color var(--transition-fast),color var(--transition-fast)}.profile-edit-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-edit-content-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-8);align-items:start}.profile-edit-form-container{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 200px);min-height:380px}.profile-edit-form-scroll{display:flex;flex-direction:column;gap:var(--space-4);flex:1;overflow-y:auto;overflow-x:hidden;padding-right:var(--space-2);padding-bottom:var(--space-2)}.profile-edit-form-scroll::-webkit-scrollbar{width:4px}.profile-edit-form-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.profile-edit-section{display:flex;flex-direction:column;gap:var(--space-3)}.profile-edit-section-title{font-size:var(--text-xs);font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0;padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.profile-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.profile-edit-preview{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:0}.profile-edit-preview-card{pointer-events:none}.profile-edit-field{display:flex;flex-direction:column;gap:var(--space-1)}.profile-edit-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.profile-edit-field input{height:28px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:.8rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}html[data-theme=dark] .profile-edit-field input{background:#0000004d}.profile-edit-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.profile-edit-field .field-hint{font-size:.625rem;color:var(--text-muted)}.profile-edit-actions{display:flex;justify-content:flex-start;gap:var(--space-3);margin-top:var(--space-2)}.profile-edit-actions .primary-btn,.profile-edit-actions .secondary-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 var(--space-4);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm)}.profile-edit-actions .primary-btn{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border)}html[data-theme=dark] .profile-edit-actions .primary-btn{background:var(--accent)!important;color:var(--accent-text)!important;border-color:var(--accent)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--shadow-sm)!important}.profile-edit-actions .primary-btn:hover{background:var(--accent-hover)!important}.profile-card-identity.preview-mode{padding-bottom:var(--space-4)}.invite-friend-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:32px;border:1px solid var(--accent-border);background:var(--accent);color:var(--accent-text);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}html[data-theme=dark] .invite-friend-btn{background:var(--accent)!important;color:var(--accent-text)!important;border-color:var(--accent-border)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 2px 8px #0003!important}.invite-friend-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.invite-friend-btn:active{transform:translateY(0)}.invite-friend-modal{width:420px;max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8));overflow:hidden;border-radius:var(--radius-md);padding:var(--space-6);background:var(--panel-bg);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-inner-glow),var(--panel-shadow);display:flex;flex-direction:column;gap:var(--space-4)}.invite-friend-modal .profile-edit-header{margin-bottom:0}.invite-modal-divider{height:1px;background:var(--border);margin:0;width:100%}.invite-modal-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.invite-code-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:var(--space-4) 0;width:100%}.invite-code-input-wrapper label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.invite-friend-modal input#invite-friend-code{height:40px;width:160px;text-align:center;font-family:Montserrat,monospace;font-size:var(--text-lg);font-weight:700;letter-spacing:.15em;border-radius:var(--radius-sm);padding:0;background:#0000004d;border:1px solid var(--border);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}html[data-theme=dark] .invite-friend-modal input#invite-friend-code{background:#00000073}.invite-friend-modal input#invite-friend-code:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.invite-code-input-hint{font-size:.6875rem;color:var(--text-muted);text-align:center;margin-top:2px;font-weight:500}.invite-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);width:100%}.invite-modal-actions .primary-btn,.invite-modal-actions .secondary-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 var(--space-5);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm)}.invite-modal-actions .primary-btn{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border)}html[data-theme=dark] .invite-modal-actions .primary-btn{background:var(--accent)!important;color:var(--accent-text)!important;border-color:var(--accent)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--shadow-sm)!important}.invite-modal-actions .primary-btn:hover{background:var(--accent-hover)!important}.invite-error-container{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--priority-high-bg);border:1px solid color-mix(in srgb,var(--priority-high),transparent 75%);border-radius:var(--radius-sm);margin-top:var(--space-3);animation:shake .4s ease-in-out;width:100%;box-sizing:border-box}.invite-error-container .error-icon{color:var(--priority-high);flex-shrink:0;margin-top:1px}.invite-error-container .error-text{font-size:var(--text-sm);font-weight:500;color:var(--priority-high);line-height:1.4}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.invite-success-view{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-4) 0;gap:var(--space-3)}.invite-success-icon{color:var(--color-priority-low);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-priority-low),transparent 50%))}.invite-success-title{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.invite-success-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.4}.spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:72rem){.community-profile-area{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:48rem){.community-page{padding:var(--space-4)}.community-profile-area{grid-template-columns:1fr;width:100%}.profile-card{width:100%}.friend-skeleton-card{background:var(--bg-secondary)}.community-tab-bar{flex-direction:column;align-items:stretch}.community-invite-section{justify-content:center;flex-wrap:wrap;gap:var(--space-2)}.profile-card,.profile-edit-modal,.invite-friend-modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-secondary)}.profile-edit-content-grid{grid-template-columns:1fr}.profile-edit-preview{position:relative;order:-1}.profile-edit-form-container{max-height:none;height:auto;min-height:0}.profile-edit-form-scroll{max-height:none;overflow-y:visible;padding-bottom:var(--space-4)}}@media(prefers-reduced-motion:reduce){.profile-card-live-dot,.profile-card-special-tag:before{animation:none}}.invite-handler-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 240px);padding:var(--space-4);box-sizing:border-box}.invite-handler-card{max-width:480px;width:100%;padding:var(--space-6) var(--space-8);text-align:center;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;border-radius:var(--radius-lg)}.invite-handler-card.loading{justify-content:center;padding:var(--space-8);min-height:200px}.invite-icon-wrapper{width:64px;height:64px;border-radius:var(--radius-full);background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:0 0 15px color-mix(in srgb,var(--accent),transparent 85%)}.invite-sender-avatar{margin-bottom:var(--space-3);border:2px solid var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent),transparent 70%)}.invite-handler-card h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.01em}.invite-landing-subtitle{font-size:var(--text-sm);margin:0;line-height:1.4}.invite-landing-desc{font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-6)}.invite-status-view{display:flex;flex-direction:column;align-items:center;width:100%}.invite-success-icon{color:var(--color-priority-low);margin-bottom:var(--space-4);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-priority-low),transparent 50%))}.invite-error-icon{color:var(--priority-high);margin-bottom:var(--space-4);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--priority-high),transparent 50%))}.invite-status-view h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3)}.invite-status-view p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:48rem){.invite-handler-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-secondary);padding:var(--space-5) var(--space-4)}.invite-handler-page{min-height:calc(100vh - 180px)}}.profile-card-signedout-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(4px) grayscale(100%);-webkit-backdrop-filter:blur(4px) grayscale(100%);display:flex;align-items:center;justify-content:center;z-index:20;border-radius:var(--radius-md);padding:var(--space-6);box-sizing:border-box;border:1px solid var(--border)}.signedout-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;max-width:260px}.signedout-overlay-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);line-height:1.5}.signedout-overlay-btn{box-shadow:0 4px 12px #00000026!important;transform:scale(1.02);transition:transform var(--transition-fast),box-shadow var(--transition-fast)!important}.signedout-overlay-btn:hover{transform:scale(1.06);box-shadow:0 6px 16px #00000040!important}.leaderboard-container{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:680px;margin-inline:auto}.leaderboard-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg)}.leaderboard-header-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-priority-medium-bg);color:var(--color-priority-medium);display:flex;align-items:center;justify-content:center;flex-shrink:0}.leaderboard-header-text h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-1)}.leaderboard-header-text p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.leaderboard-snapshot-ts{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.01em}.lb-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);align-items:end}.lb-podium-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);position:relative;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.lb-podium-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.lb-podium-card.gold{border-color:var(--color-confidence-yellow);padding-top:var(--space-6)}.lb-podium-card.silver{border-color:var(--text-muted)}.lb-podium-card.bronze{border-color:var(--color-priority-medium)}.lb-podium-card.current-user{border-width:2px;border-color:var(--accent);box-shadow:0 0 16px var(--accent-light)}.lb-podium-medal{display:flex;align-items:center;gap:var(--space-1);font-family:Montserrat,sans-serif;font-size:var(--text-sm);font-weight:700;color:var(--text-muted)}.lb-podium-card.gold .lb-podium-medal{color:var(--color-confidence-yellow)}.lb-podium-card.silver .lb-podium-medal{color:var(--text-muted)}.lb-podium-card.bronze .lb-podium-medal{color:var(--color-priority-medium)}.lb-podium-rank-num{font-size:var(--text-xs);font-weight:700}.lb-podium-avatar-wrap{position:relative;width:56px;height:56px;border-radius:var(--radius-full);flex-shrink:0}.lb-podium-card.gold .lb-podium-avatar-wrap{width:64px;height:64px;box-shadow:0 0 0 3px var(--color-confidence-yellow);border-radius:var(--radius-full)}.lb-podium-avatar-wrap .lb-avatar{width:100%;height:100%;border-radius:var(--radius-full);overflow:hidden}.lb-avatar{border-radius:var(--radius-full);object-fit:cover;display:block}.lb-avatar.placeholder{background:var(--bg-tertiary);color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.lb-me-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--accent);border:2px solid var(--bg-secondary)}.lb-podium-identity{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:0;width:100%}.lb-podium-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.lb-me-badge{font-size:var(--text-xs);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--accent);color:var(--accent-text);flex-shrink:0}.lb-podium-hours{display:flex;flex-direction:column;align-items:center;gap:2px}.lb-hours-num{font-family:Montserrat,sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--text-primary);line-height:1}.lb-hours-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.02em}.lb-podium-bar-track{width:100%;height:4px;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden;margin-top:var(--space-1)}.lb-podium-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--transition-normal)}.lb-podium-card.gold .lb-podium-bar-fill{background:var(--color-confidence-yellow)}.lb-podium-card.silver .lb-podium-bar-fill{background:var(--text-muted)}.lb-podium-card.bronze .lb-podium-bar-fill{background:var(--color-priority-medium)}.lb-list{display:flex;flex-direction:column;gap:var(--space-2)}.lb-list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.lb-list-row:hover{transform:translateY(-1px);border-color:var(--border-hover);box-shadow:0 4px 10px #0000000f}.lb-list-row.current-user{border:2px solid var(--accent);box-shadow:0 0 10px var(--accent-light)}.lb-list-rank{width:28px;font-family:Montserrat,sans-serif;font-size:var(--text-sm);font-weight:700;color:var(--text-muted);text-align:center;flex-shrink:0}.lb-list-avatar-wrap{width:32px;height:32px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.lb-list-avatar-wrap .lb-avatar{width:100%;height:100%}.lb-list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lb-list-name-row{display:flex;align-items:center;gap:var(--space-2)}.lb-list-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-list-bar-track{width:100%;height:3px;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden}.lb-list-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);opacity:.6;transition:width var(--transition-normal)}.lb-list-stats{display:flex;align-items:baseline;gap:3px;flex-shrink:0}.lb-list-stats .lb-hours-num{font-size:var(--text-sm)}.lb-list-stats .lb-hours-label{font-size:var(--text-xs)}.lb-skeleton-list{display:flex;flex-direction:column;gap:var(--space-2)}.lb-skeleton-row{height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);pointer-events:none;animation:lb-shimmer 1.4s ease-in-out infinite}@keyframes lb-shimmer{0%,to{opacity:.5}50%{opacity:.9}}.gold-icon{color:var(--color-confidence-yellow)}.silver-icon{color:var(--text-muted)}.bronze-icon{color:var(--color-priority-medium)}.leaderboard-empty,.leaderboard-signin-prompt,.leaderboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;border-radius:var(--radius-lg);border:1px solid var(--border);color:var(--text-secondary)}.leaderboard-empty h2,.leaderboard-signin-prompt h2{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.leaderboard-empty p,.leaderboard-signin-prompt p{font-size:var(--text-sm);color:var(--text-secondary);max-width:320px;margin:0}.leaderboard-prompt-icon{color:var(--color-priority-medium)}.leaderboard-warning{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-priority-high);border-left:4px solid var(--color-priority-high);color:var(--text-secondary)}.leaderboard-warning .warning-icon{color:var(--color-priority-high);flex-shrink:0;margin-top:2px}.leaderboard-warning .warning-text{display:flex;flex-direction:column;gap:var(--space-1);text-align:left}.leaderboard-warning .warning-text h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.leaderboard-warning .warning-text p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.4}@media(max-width:48rem){.leaderboard-container{max-width:100%}.lb-podium{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.lb-podium-card{padding:var(--space-3) var(--space-2) var(--space-2)}.lb-podium-card.gold{padding-top:var(--space-4)}.lb-podium-name{font-size:var(--text-xs)}.lb-hours-num{font-size:var(--text-base)}}}@layer features{.chat-fab{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:1000;width:52px;height:52px;border-radius:var(--radius-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:transform var(--transition-normal);outline:none;overflow:visible;padding:0}.chat-fab:hover{transform:scale(1.08) translateY(-2px);background:transparent;border:none;box-shadow:none}.chat-fab:active{transform:scale(.96)}.chat-fab.chat-fab--open{background:var(--bg-card, var(--bg-secondary));color:var(--text-primary);border-color:var(--border);box-shadow:0 2px 12px #0003}.chat-fab-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-normal),opacity var(--transition-normal)}.chat-fab--open .chat-fab-icon{transform:rotate(90deg)}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;background:transparent;pointer-events:none}.chat-overlay--visible{pointer-events:all}.chat-drawer{position:fixed;top:0;right:0;bottom:0;z-index:999;width:min(420px,92vw);display:flex;flex-direction:column;overscroll-behavior:contain;background:var(--panel-bg, var(--bg-secondary));backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border-left:1px solid var(--panel-border, var(--border));box-shadow:var(--panel-shadow, var(--shadow-lg)),var(--panel-inner-glow, none),-4px 0 40px #00000040;will-change:transform}.chat-header{display:flex;align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;box-sizing:border-box}.chat-header-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:transparent;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:none;overflow:hidden}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-size:var(--text-base);font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);font-family:Outfit,Inter,sans-serif;text-transform:uppercase;letter-spacing:-.03em}.chat-status-dot{width:9px;height:9px;border-radius:var(--radius-full);background:#3b82f6;box-shadow:0 0 6px #3b82f699;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 6px #3b82f699}50%{opacity:.5;box-shadow:0 0 2px #3b82f633}}.chat-header-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:1px}.chat-header-actions{display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;padding:0}.chat-icon-btn{width:30px;height:30px;border:none;border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.chat-icon-btn:not(:last-child){border-right:1px solid var(--border)}.chat-icon-btn:hover{background:#ffffff0a;color:var(--text-primary)}.chat-icon-btn.chat-icon-btn--active{background:var(--accent-light);color:var(--accent)}.chat-icon-btn.chat-icon-btn--danger{background:var(--priority-high-bg);color:var(--priority-high)}.chat-apikey-banner{margin:var(--space-3) var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--accent),transparent 50%);background:var(--accent-light)}.chat-apikey-banner-title{font-size:var(--text-xs);font-weight:600;color:var(--accent);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.chat-apikey-form{display:flex;gap:var(--space-2)}.chat-apikey-input{flex:1;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card, var(--bg-secondary));color:var(--text-primary);font-size:var(--text-xs);padding:0 var(--space-2);outline:none;font-family:Inter,monospace;transition:border-color var(--transition-fast)}.chat-apikey-input:focus{border-color:var(--accent)}.chat-apikey-input::placeholder{color:var(--text-muted)}.chat-apikey-save-btn{height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--accent-text);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.chat-apikey-save-btn:hover{opacity:.88;transform:translateY(-1px)}.chat-apikey-configured{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.chat-apikey-configured-text{font-size:var(--text-xs);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-1)}.chat-apikey-clear-btn{font-size:var(--text-xs);color:var(--text-muted);background:transparent;border:1px solid transparent;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);display:flex;align-items:center;gap:4px;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.chat-apikey-clear-btn:hover{color:var(--priority-high);background:var(--priority-high-bg);border-color:color-mix(in srgb,var(--priority-high),transparent 80%)}.chat-apikey-clear-btn.chat-apikey-clear-btn--confirm{color:var(--priority-high);background:var(--priority-high-bg);border-color:color-mix(in srgb,var(--priority-high),transparent 60%)}.chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.chat-bubble-row{display:flex;gap:var(--space-2);align-items:flex-start}.chat-bubble-row--user{flex-direction:row-reverse}.chat-bubble-row--system{justify-content:center}.chat-bubble-avatar{width:26px;height:26px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);margin-top:4px;overflow:hidden}.chat-bubble-avatar--aria{background:transparent;border:none;box-shadow:none}.chat-bubble-container{display:flex;flex-direction:column;max-width:82%}.chat-bubble-row--user .chat-bubble-container{align-items:flex-end}.chat-bubble-row--model .chat-bubble-container{align-items:flex-start}.chat-bubble{max-width:100%;position:relative;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.55;word-break:break-word}.chat-bubble--user{background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md)}.chat-bubble--model{background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border);color:var(--text-primary);border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md)}.chat-bubble--system{background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-xs);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);text-align:center;max-width:90%}.chat-bubble p{margin:0 0 var(--space-1)}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble strong{font-weight:600}.chat-bubble em{font-style:italic}.chat-bubble ul,.chat-bubble ol{margin:var(--space-1) 0;padding-left:var(--space-4)}.chat-bubble li{margin-bottom:2px}.chat-bubble code{background:#00000026;border-radius:var(--radius-xs);padding:1px 4px;font-size:.85em;font-family:JetBrains Mono,Fira Code,monospace}.chat-typing-dots{display:flex;align-items:center;gap:4px;padding:var(--space-1) 0}.chat-typing-dot{width:7px;height:7px;border-radius:var(--radius-full);background:var(--text-muted);animation:typing-bounce 1.4s infinite ease-in-out}.chat-typing-dot:nth-child(1){animation-delay:0s}.chat-typing-dot:nth-child(2){animation-delay:.18s}.chat-typing-dot:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.chat-confirm-card{border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--priority-high),transparent 60%);background:var(--priority-high-bg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);max-width:90%}.chat-confirm-card--cancelled{opacity:.5;border-color:var(--border);background:transparent}.chat-confirm-card--confirmed{border-color:color-mix(in srgb,var(--priority-low),transparent 60%);background:var(--priority-low-bg)}.chat-confirm-title{font-size:var(--text-xs);font-weight:700;color:var(--priority-high);display:flex;align-items:center;gap:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.chat-confirm-card--confirmed .chat-confirm-title{color:var(--priority-low)}.chat-confirm-description{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.chat-confirm-actions{display:flex;gap:var(--space-2)}.chat-confirm-btn{flex:1;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.chat-confirm-btn:hover{opacity:.85;transform:translateY(-1px)}.chat-confirm-btn--confirm{background:var(--priority-high);border-color:var(--priority-high);color:#fff}.chat-confirm-btn--cancel{background:transparent;color:var(--text-secondary)}.chat-confirm-result{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.chat-input-area{padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:center;gap:var(--space-2);background:color-mix(in srgb,var(--bg-tertiary),transparent 20%);backdrop-filter:var(--panel-blur);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);box-shadow:inset 0 1px 2px #00000026;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.chat-input-wrapper:focus-within{border-color:color-mix(in srgb,var(--accent),transparent 20%);box-shadow:inset 0 1px 2px #00000026,0 0 0 3px color-mix(in srgb,var(--accent),transparent 78%)}textarea.chat-textarea,[data-theme^=dark-] textarea.chat-textarea,textarea.chat-textarea:focus,[data-theme^=dark-] textarea.chat-textarea:focus{background:transparent;border:none;box-shadow:none;outline:none;backdrop-filter:none;-webkit-backdrop-filter:none}.chat-textarea{flex:1;color:var(--text-primary);font-size:var(--text-sm);font-family:Inter,sans-serif;resize:none;line-height:1.5;min-height:calc(var(--text-sm) * 1.5);max-height:120px;overflow-y:hidden;padding:0}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--accent-text);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,var(--accent),transparent 55%);transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.chat-send-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-hint{font-size:var(--text-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-2);display:flex;align-items:center;justify-content:center;gap:var(--space-1);flex-wrap:wrap}.chat-input-hint kbd{display:inline-flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:10px;font-weight:500;line-height:1;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-hover, var(--border));border-radius:var(--radius-xs);padding:2px var(--space-1);box-shadow:0 1px 0 var(--border);letter-spacing:.01em}.chat-bubble-time{font-size:10px;color:var(--text-muted);text-align:center;margin-top:var(--space-1)}body.has-mobile-drawer-open .chat-fab{opacity:0;pointer-events:none}@media(max-width:48rem){.chat-fab{bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));right:var(--space-4);width:48px;height:48px}.chat-drawer{width:100vw;border-left:none;border-top:1px solid var(--border);top:auto;height:85dvh;bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.chat-drawer:before{content:"";display:block;width:36px;height:4px;background:var(--border);border-radius:var(--radius-full);margin:var(--space-2) auto 0;flex-shrink:0}}.chat-code-block{background:#1e1e1e;border-radius:var(--radius-md);margin:var(--space-2) 0;overflow:hidden}.chat-code-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);background:#2d2d2d;color:#e5e5e5;font-size:10px;font-family:Inter,sans-serif;border-bottom:1px solid #404040}.chat-code-copy-btn{background:none;border:none;color:#a3a3a3;font-size:10px;display:flex;align-items:center;gap:4px;cursor:pointer;transition:color var(--transition-fast)}.chat-code-copy-btn:hover{color:#fff}.chat-code-block code{display:block;padding:var(--space-2) var(--space-3);color:#e5e5e5;background:transparent;overflow-x:auto}.chat-bubble-copy-btn{position:absolute;bottom:-20px;right:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-xs);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center;opacity:0}.chat-bubble-row:hover .chat-bubble-copy-btn{opacity:1}.chat-bubble-copy-btn:hover{color:var(--text-primary)}.chat-bubble-copy-btn--copied{color:var(--priority-low);opacity:1!important}.chat-sessions-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.chat-sessions-header h3{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.chat-new-session-btn{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:500;color:var(--accent);background:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent),transparent 70%);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-new-session-btn:hover{background:var(--accent);color:var(--accent-text)}.chat-sessions-feed{display:flex;flex-direction:column;gap:var(--space-2)}.chat-session-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.chat-session-item:hover{background:var(--bg-tertiary);border-color:color-mix(in srgb,var(--accent),transparent 60%)}.chat-session-item--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),transparent 80%)}.chat-session-item-content{flex:1;min-width:0}.chat-session-item-title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-item-date{font-size:10px;color:var(--text-muted);margin-top:2px}.chat-session-item-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);transition:color var(--transition-fast),background var(--transition-fast);opacity:0}.chat-session-item:hover .chat-session-item-delete{opacity:1}.chat-session-item-delete:hover{color:var(--priority-high);background:var(--priority-high-bg)}.chat-empty-state{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:var(--space-8) var(--space-4) var(--space-6);gap:var(--space-6);overflow-y:auto;overscroll-behavior:contain}.chat-welcome-card{text-align:center;padding:var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-secondary),transparent 45%);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);box-shadow:var(--panel-shadow),var(--panel-inner-glow)}.chat-welcome-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:transparent;border:none;display:flex;align-items:center;justify-content:center;box-shadow:none;overflow:hidden}.chat-welcome-card h2{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.chat-welcome-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0;max-width:320px}.chat-suggestions-grid{display:flex;flex-direction:column;gap:var(--space-2)}.chat-suggestions-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1);padding-left:var(--space-1)}.chat-suggestion-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--bg-secondary),transparent 60%);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;text-align:left;cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.chat-suggestion-card:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-1px)}.chat-suggestion-text{flex:1;padding-right:var(--space-2)}.chat-suggestion-arrow{color:var(--accent);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.chat-suggestion-card:hover .chat-suggestion-arrow{transform:translate(3px)}.chat-welcome-card.chat-welcome-card--setup{background:color-mix(in srgb,var(--priority-high-bg),transparent 30%);border-color:color-mix(in srgb,var(--priority-high),transparent 60%)}.chat-welcome-avatar.chat-welcome-avatar--setup{background:var(--priority-high);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--priority-high),transparent 65%)}.chat-setup-instructions{text-align:left;background:#0003;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-2) 0;border:1px solid var(--border);max-width:320px;box-sizing:border-box}.chat-setup-instructions ol{margin:0;padding-left:var(--space-4);color:var(--text-secondary);font-size:var(--text-xs)}.chat-setup-instructions li{margin-bottom:var(--space-2);line-height:1.45}.chat-setup-instructions li:last-child{margin-bottom:0}.chat-setup-instructions a{color:var(--accent);text-decoration:underline;font-weight:500}.chat-setup-instructions code{background:#ffffff14;padding:1px 4px;border-radius:var(--radius-xs);font-family:monospace;font-size:.9em}.chat-setup-actions{display:flex;gap:var(--space-2);width:100%;max-width:320px;margin-top:var(--space-2)}.chat-setup-btn{flex:1;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;cursor:pointer;text-decoration:none;transition:transform var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast);box-sizing:border-box}.chat-setup-btn--primary{background:var(--accent);color:var(--accent-text);border:none;box-shadow:0 2px 8px color-mix(in srgb,var(--accent),transparent 50%)}.chat-setup-btn--primary:hover{opacity:.9;transform:translateY(-1px)}.chat-setup-btn--secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.chat-setup-btn--secondary:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.chat-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full);display:block}.chat-fab .chat-avatar-img{width:112%;height:112%;position:absolute;bottom:-1px;left:50%;transform:translate(-50%);object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15));animation:fab-avatar-float 6s ease-in-out infinite;transform-origin:bottom center;border-radius:0}@keyframes fab-avatar-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4%)}}}@layer features{.ob-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;z-index:2000;background:var(--bg-base);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ob-image-pane{flex:0 0 45%;position:relative;overflow:hidden}.ob-background-image{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.ob-form-pane{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;padding:var(--space-8);background:var(--bg-base)}.ob-form-inner{width:100%;max-width:440px;display:flex;flex-direction:column;min-height:0}.ob-step-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;min-height:320px}.ob-progress{display:flex;gap:var(--space-2);margin-bottom:var(--space-10)}.ob-progress-segment{flex:1;height:3px;border-radius:var(--radius-full);background:var(--border);transition:background-color var(--transition-normal)}.ob-progress-segment.completed,.ob-progress-segment.active{background:var(--accent)}.ob-step-content{display:flex;flex-direction:column}.ob-step-heading{font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin:0 0 var(--space-3) 0;line-height:1.2}.ob-step-subtext{font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.01em;line-height:1.5;margin:0 0 var(--space-8) 0}.ob-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.ob-input-group{margin-bottom:var(--space-4)}.ob-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ob-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 85%)}.ob-input::placeholder{color:var(--text-muted)}.ob-nav-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-10);gap:var(--space-4)}.ob-nav-row.end-only{justify-content:flex-end}.ob-toggle-track{width:44px;height:24px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;position:relative;transition:background-color var(--transition-fast),border-color var(--transition-fast);flex-shrink:0;padding:0}.ob-toggle-track:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.ob-toggle-track.active{background:var(--accent);border-color:var(--accent)}.ob-toggle-thumb{width:16px;height:16px;border-radius:50%;background:var(--text-muted);position:absolute;top:3px;left:3px;transition:transform var(--transition-fast),background-color var(--transition-fast)}.ob-toggle-track.active .ob-toggle-thumb{transform:translate(20px);background:var(--accent-text)}.ob-toggles-list{display:flex;flex-direction:column;gap:var(--space-3)}.ob-toggle-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.ob-toggle-icon{color:var(--text-secondary);flex-shrink:0}.ob-toggle-info{flex:1;min-width:0}.ob-toggle-label{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0}.ob-toggle-desc{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.4}.ob-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.ob-time-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-tertiary);cursor:pointer;font-family:inherit;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.ob-time-tile:hover{border-color:var(--border-hover);background:color-mix(in srgb,var(--bg-tertiary),var(--accent) 4%)}.ob-time-tile:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.ob-time-tile.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 88%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),transparent 60%) inset}.ob-time-tile-value{font-size:var(--text-base);font-weight:700;color:var(--text-primary);letter-spacing:-.01em;font-variant-numeric:tabular-nums;transition:color var(--transition-fast)}.ob-time-tile.active .ob-time-tile-value{color:var(--accent)}.ob-time-tile-desc{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;transition:color var(--transition-fast)}.ob-time-tile.active .ob-time-tile-desc{color:color-mix(in srgb,var(--accent),var(--text-muted) 40%)}.ob-custom-row{position:relative;margin-bottom:var(--space-2)}.ob-custom-trigger{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-tertiary);cursor:pointer;font-family:inherit;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.ob-custom-trigger:hover{border-color:var(--border-hover)}.ob-custom-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.ob-custom-trigger.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 88%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),transparent 60%) inset}.ob-custom-trigger-icon{color:var(--text-secondary);flex-shrink:0;transition:color var(--transition-fast)}.ob-custom-trigger.active .ob-custom-trigger-icon{color:var(--accent)}.ob-custom-trigger-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);flex:1}.ob-custom-trigger.active .ob-custom-trigger-label{color:color-mix(in srgb,var(--accent),var(--text-secondary) 50%)}.ob-custom-trigger-value{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;transition:color var(--transition-fast)}.ob-custom-trigger-value.is-custom{color:var(--accent)}.ob-custom-chevron{color:var(--text-muted);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.ob-custom-chevron.open{transform:rotate(180deg);color:var(--accent)}.ob-time-picker{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);box-shadow:0 8px 32px #0000004d,0 0 0 1px color-mix(in srgb,var(--accent),transparent 80%) inset}.ob-tp-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3)}.ob-tp-columns{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.ob-tp-col{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.ob-tp-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-family:inherit;padding:0;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.ob-tp-arrow:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%);color:var(--accent)}.ob-tp-arrow:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 60%)}.ob-tp-value{font-size:2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:2.4ch;text-align:center;line-height:1;padding:var(--space-2) var(--space-2)}.ob-tp-colon{font-size:2rem;font-weight:700;color:var(--text-muted);line-height:1;padding-bottom:var(--space-1);margin:0 var(--space-1)}.ob-tp-period-col{display:flex;flex-direction:column;gap:var(--space-1);margin-left:var(--space-2)}.ob-tp-period-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;font-family:inherit;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.ob-tp-period-btn:hover{border-color:var(--border-hover)}.ob-tp-period-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 85%);color:var(--accent)}.ob-tp-period-btn:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 60%)}.ob-tp-confirm{width:100%;padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--accent-text);border:1px solid var(--accent-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;font-family:inherit;transition:background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.ob-tp-confirm:hover{opacity:.9;transform:translateY(-1px)}.ob-tp-confirm:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 60%)}.ob-back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;font-family:inherit;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.ob-back-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-tertiary)}.ob-back-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.ob-back-btn:disabled{opacity:.45;cursor:not-allowed}.ob-continue-btn{font-size:var(--text-sm)}[data-theme^=dark-] .ob-continue-btn{background:var(--accent);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.ob-discord-card{padding:var(--space-6);border:1px solid transparent;border-radius:var(--radius-md);background:var(--bg-base);text-align:center}.ob-discord-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2) 0}.ob-discord-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6) 0;line-height:1.5}.ob-discord-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:#5865f2;color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;transition:opacity var(--transition-fast),transform var(--transition-fast)}.ob-discord-btn:hover{opacity:.9;transform:translateY(-1px)}.ob-discord-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,#5865F2,transparent 60%)}.ob-auth-options{display:flex;flex-direction:column;gap:var(--space-4)}.ob-auth-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;cursor:pointer;font-family:inherit;transition:opacity var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast)}.ob-auth-btn:hover:not(:disabled){transform:translateY(-1px)}.ob-auth-btn:disabled{opacity:.6;cursor:not-allowed}.ob-auth-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.ob-google-btn{background:#fff;color:#1f1f1f;border:1px solid #dadce0}.ob-google-btn:hover:not(:disabled){background:#f8f9fa}.ob-offline-btn{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.ob-offline-btn:hover:not(:disabled){background:var(--bg-tertiary)}.ob-auth-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--text-muted);font-size:var(--text-xs)}.ob-auth-divider:before,.ob-auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.ob-signed-in-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent),transparent 92%);font-size:var(--text-sm);color:var(--text-primary)}.ob-signed-in-badge .ob-signed-in-icon{color:var(--accent);flex-shrink:0}.ob-signed-in-email{font-weight:600;color:var(--accent)}.ob-branding{--ob-brand-size: 32px;position:absolute;left:var(--space-6);bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);pointer-events:none;-webkit-user-select:none;user-select:none}.ob-branding-logo{width:var(--ob-brand-size);height:var(--ob-brand-size);object-fit:contain}.ob-branding-divider{width:1px;height:calc(var(--ob-brand-size) * .725);background:#fff3}.ob-branding-text{font-weight:600;font-size:calc(var(--ob-brand-size) * .6);line-height:var(--ob-brand-size);letter-spacing:-.03em;color:#ffffffe6;white-space:nowrap}@media(max-width:48rem){.ob-image-pane{display:none}.ob-form-pane{padding:var(--space-6) var(--space-4)}.ob-form-inner{max-width:none}.ob-step-wrapper{min-height:280px}.ob-time-grid{grid-template-columns:1fr 1fr;gap:var(--space-2)}.ob-time-tile{padding:var(--space-3) var(--space-4)}.ob-time-tile-value{font-size:var(--text-sm)}.ob-tp-value,.ob-tp-colon{font-size:1.5rem}}}@layer utilities{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.hidden{display:none}.invisible{visibility:hidden}}
