@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";:root{--color-bg-base:#000;--color-bg-surface:#0a0a0c;--color-bg-card:#121214;--color-bg-glass:#121214b3;--color-bg-overlay:#000000d9;--color-primary:#f59e0b;--color-primary-hover:#d97706;--color-primary-subtle:#f59e0b1f;--color-mission:#10b981;--color-readiness:#06b6d4;--color-xp:#f59e0b;--color-level:#3b82f6;--color-revision:#10b981;--color-achievement:#eab308;--color-analytics:#3b82f6;--color-mistakes:#f43f5e;--color-weak:#f43f5e;--color-strong:#10b981;--color-role-free:#71717a;--color-role-student:#3b82f6;--color-role-premium:#8b5cf6;--color-role-pro:#10b981;--color-role-admin:#f97316;--color-role-moderator:#f43f5e;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-muted:#52525b;--color-border-subtle:#ffffff14;--color-border-hover:#ffffff26;--color-border-glass:#ffffff1a;--color-border-focus:#ffffff4d;--color-emerald:var(--color-mission);--color-amber:var(--color-revision);--color-purple:var(--color-level);--color-rose:var(--color-weak);--color-blue:var(--color-readiness);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 24px #0009;--shadow-lg:0 16px 48px #000000b3;--shadow-subtle:0 2px 4px #0000004d, 0 8px 24px #0006;--shadow-clay:inset 0 1px 1px #ffffff14, 0 8px 32px #0009;--shadow-liquid:0 16px 40px #00000080;--shadow-glow-primary:0 0 40px #f59e0b26;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}.text-gradient{background:linear-gradient(90deg,#fff,#a1a1aa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{background:linear-gradient(to right, #fff, var(--color-readiness));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.magnetic-btn{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}@media (width<=768px){.nav-desktop,.nav-actions{display:none!important}.nav-mobile-toggle{display:flex!important}}@media (width>=769px){.nav-desktop,.nav-actions{display:flex!important}.nav-mobile-toggle{display:none!important}}[data-theme=light]{--color-bg-base:#f8f6f2;--color-bg-surface:#faf8f5;--color-bg-card:#fff;--color-bg-glass:#faf8f5d1;--color-bg-overlay:#f8f6f2eb;--color-primary:#b45309;--color-primary-hover:#92400e;--color-primary-subtle:#b4530914;--color-mission:#059669;--color-readiness:#2563eb;--color-xp:#b45309;--color-level:#7c3aed;--color-revision:#b45309;--color-achievement:#db2777;--color-analytics:#0891b2;--color-mistakes:#dc2626;--color-weak:#e11d48;--color-strong:#16a34a;--color-text-primary:#151515;--color-text-secondary:#555;--color-text-muted:#737373;--color-border-subtle:#00000012;--color-border-hover:#00000021;--color-border-glass:#0000000f;--color-border-focus:#b4530959;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000012, 0 2px 6px #0000000a;--shadow-lg:0 12px 40px #00000017, 0 4px 12px #0000000d;--shadow-subtle:0 1px 2px #0000000a, 0 2px 8px #0000000d;--shadow-clay:inset 0 1px 0 #ffffffe6, 0 4px 12px #0000000f;--shadow-liquid:0 8px 30px #00000012;--shadow-glow-primary:0 0 24px #b453091a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;transition:background-color .4s,color .4s;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(circle at 50% -20%, #f59e0b14 0%, transparent 50%), radial-gradient(circle at 80% 80%, #f59e0b08 0%, transparent 40%), radial-gradient(circle at 20% 50%, #8b5cf605 0%, transparent 40%), var(--color-bg-base);pointer-events:none;transition:background .4s;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}h1{letter-spacing:-.045em;color:var(--color-text-primary);font-size:2.25rem;font-weight:650;line-height:1.15}h2{letter-spacing:-.03em;color:var(--color-text-primary);font-size:1.4rem;font-weight:600;line-height:1.3}h3{letter-spacing:-.02em;color:var(--color-text-primary);font-size:1rem;font-weight:550;line-height:1.4}h4{letter-spacing:-.01em;color:var(--color-text-primary);font-size:.875rem;font-weight:550}p{font-size:.9rem}.text-xs{font-size:.75rem}.text-sm{font-size:.85rem}.text-base{font-size:.9rem}.text-lg{font-size:1.1rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary-accent{color:var(--color-primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase;letter-spacing:.06em}.app-layout{min-height:100vh;display:flex}.main-content{flex:1;min-width:0;min-height:100vh;margin-left:calc(260px + 1.5rem);padding:2.5rem 3.5rem}.page-header{margin-bottom:2.5rem}.page-header h1{margin-bottom:.3rem}.bento-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-subtle);background-image:linear-gradient(135deg,#ffffff06 0%,#0000 50%);padding:1.5rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.bento-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.clay-card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-clay);background-image:linear-gradient(145deg,#ffffff0a 0%,#fff0 60%);border:1px solid #ffffff0a;padding:1.75rem;position:relative;overflow:hidden}.liquid-glass{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px)saturate(200%);border:1px solid var(--color-border-glass);box-shadow:var(--shadow-liquid);border-radius:var(--radius-xl)}.glow-card{box-shadow:var(--shadow-glow-primary), inset 0 1px 0 #ffffff0f;border:1px solid #8b5cf640}.card-header{align-items:center;gap:.5rem;display:flex}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:1.25rem;display:grid}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.row-span-2{grid-row:span 2}.btn{font-size:.875rem;font-weight:500;font-family:var(--font-family);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.2rem;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .2s,box-shadow .2s,border-color .2s;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 12px #f59e0b59}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 16px #f59e0b73}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-subtle)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-icon{color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.45rem;display:inline-flex;position:relative}.input-field,.input{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-family:var(--font-family);outline:none;padding:.7rem 1rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.input-field:focus,.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #8b5cf61a}.input-field::placeholder,.input::placeholder{color:var(--color-text-muted)}.glass-input{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-family:var(--font-family);background:#ffffff08;border:1px solid #ffffff14;outline:none;padding:.7rem 1rem;font-size:.9rem;transition:all .2s}.glass-input:focus{background:#ffffff0f;border-color:#fff3;box-shadow:0 0 0 3px #ffffff0d}.glass-input::placeholder{color:var(--color-text-muted)}.badge{border-radius:var(--radius-xs);letter-spacing:.01em;border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);white-space:nowrap;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:550;display:inline-flex}.badge-success{color:var(--color-strong);background:#22c55e14;border-color:#22c55e33}.badge-warning{color:var(--color-revision);background:#f59e0b14;border-color:#f59e0b33}.badge-danger{color:var(--color-mistakes);background:#ef444414;border-color:#ef444433}.badge-primary{color:var(--color-primary);background:#f59e0b1a;border-color:#f59e0b40}.badge-info{color:var(--color-analytics);background:#06b6d414;border-color:#06b6d433}.badge-pink{color:var(--color-achievement);background:#ec489914;border-color:#ec489933}.accent-mission{color:var(--color-mission)}.accent-readiness{color:var(--color-readiness)}.accent-xp{color:var(--color-xp)}.accent-level{color:var(--color-level)}.accent-revision{color:var(--color-revision)}.accent-achievement{color:var(--color-achievement)}.accent-analytics{color:var(--color-analytics)}.accent-mistakes{color:var(--color-mistakes)}.accent-weak{color:var(--color-weak)}.accent-strong{color:var(--color-strong)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton{background:var(--color-bg-surface);border-radius:var(--radius-sm);animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-text{height:1em;margin-bottom:.5rem}.skeleton-title{width:60%;height:1.5em;margin-bottom:1rem}.skeleton-card{height:180px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.empty-state{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:5rem 2rem;display:flex}.empty-state h2{margin-top:1.25rem;margin-bottom:.5rem}.empty-state p{max-width:360px}.divider{background:var(--color-border-subtle);height:1px;margin:1.5rem 0}@media (width<=1280px){.main-content{margin-left:calc(260px + 1.5rem);padding:2rem 2.5rem}}@media (width<=1024px){.main-content{margin-left:calc(240px + 1rem);padding:1.75rem 2rem}.bento-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.col-span-3,.col-span-4{grid-column:span 2}}@media (width<=768px){.app-layout{flex-direction:column}.main-content{padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom,0px)) 1rem!important;margin-left:0!important;margin-top:calc(54px + env(safe-area-inset-top,0px))!important;box-sizing:border-box!important;width:100%!important}h1{margin-bottom:.5rem!important;font-size:1.5rem!important;line-height:1.25!important}h2{font-size:1.25rem!important;line-height:1.3!important}h3{font-size:1.05rem!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important;margin-bottom:1.25rem!important}.bento-grid{grid-template-columns:1fr!important;gap:.85rem!important}.bento-card{border-radius:var(--radius-lg)!important;-webkit-backdrop-filter:blur(8px)!important;padding:1rem!important}.col-span-1,.col-span-2,.col-span-3,.col-span-4{grid-column:span 1!important}.row-span-2{grid-row:span 1!important}.btn,.btn-icon,.nav-item,input,select,button{touch-action:manipulation;min-height:44px}.notification-dropdown{top:calc(60px + env(safe-area-inset-top,0px));width:auto;max-height:calc(100vh - 120px);left:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.notification-dropdown{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(24px)saturate(200%);border:1px solid var(--color-border-glass);width:400px;max-height:calc(100vh - 100px);box-shadow:var(--shadow-lg), 0 20px 40px #0006;z-index:9999;border-radius:24px;flex-direction:column;display:flex;position:fixed;top:72px;left:290px}.notif-body{flex:1;overflow-y:auto}.notif-group-header{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:1rem 1.25rem .25rem;font-size:.7rem;font-weight:700}.notif-footer{border-top:1px solid var(--color-border-subtle);text-align:center;background:#ffffff03;border-radius:0 0 24px 24px;padding:.875rem}.notif-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.notif-item{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;align-items:flex-start;gap:.875rem;padding:.875rem 1.25rem;transition:background .15s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#ffffff08}.notif-item.unread:before{content:"";background:var(--color-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.notif-icon-wrap{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.profile-dropdown{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(24px)saturate(200%);border:1px solid var(--color-border-glass);border-radius:var(--radius-xl);width:220px;box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + .75rem);right:0;overflow:hidden}.profile-dropdown-item{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.profile-dropdown-item:hover{color:var(--color-text-primary);background:#ffffff0d}.profile-dropdown-item.danger{color:var(--color-mistakes)}.profile-dropdown-item.danger:hover{background:#ef44441a}.top-navbar{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--color-border-subtle);z-index:50;justify-content:space-between;align-items:center;height:64px;padding:0 1.25rem;display:none;position:fixed;top:0;left:0;right:0}@media (width<=768px){.top-navbar{display:flex}}.progress-track{background:var(--color-border-subtle);border-radius:2px;width:100%;height:4px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead tr{border-bottom:1px solid var(--color-border-subtle)}.data-table th{text-align:left;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;padding:.875rem 1rem;font-size:.75rem;font-weight:550}.data-table td{border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;padding:.875rem 1rem;font-size:.875rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{cursor:pointer;transition:background .12s}.data-table tbody tr:hover{background:#ffffff06}@media (width<=768px){.data-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table th:nth-child(4),.data-table td:nth-child(4),.data-table th:nth-child(6),.data-table td:nth-child(6),.data-table th:nth-child(8),.data-table td:nth-child(8){display:none}.btn,.btn-icon,.nav-link,button{min-width:44px;min-height:44px}}.input-field{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);box-sizing:border-box;outline:none;padding:.75rem 1rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #8b5cf61a}.progress-track{background:var(--color-border-subtle);border-radius:2px;height:4px;overflow:hidden}.progress-fill{border-radius:2px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.notif-page-item{border-radius:var(--radius-md);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);cursor:pointer;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;transition:background .15s,border-color .15s;display:flex}.notif-page-item:hover{background:var(--color-bg-card);border-color:var(--color-border-hover)}.notif-page-item.unread{border-left:2px solid var(--color-primary);background:var(--color-primary-subtle)}select,.select-filter,select.input,select.input-field,select.glass-input,.difficulty-select{touch-action:manipulation;transition:border-color .15s,box-shadow .15s,background-color .15s;appearance:none!important;cursor:pointer!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right .85rem center!important;background-repeat:no-repeat!important;background-size:1.1rem 1.1rem!important;padding-right:2.75rem!important}[data-theme=light] select,[data-theme=light] .select-filter,[data-theme=light] select.input,[data-theme=light] select.input-field,[data-theme=light] select.glass-input,[data-theme=light] .difficulty-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important}select:focus,.select-filter:focus,select.input:focus,select.input-field:focus,select.glass-input:focus{border-color:var(--color-primary,#f59e0b)!important;outline:none!important;box-shadow:0 0 0 3px #f59e0b33!important}select option{color:#fff!important;background-color:#0f172a!important;padding:.6rem 1rem!important}[data-theme=light] select option{color:#1e293b!important;background-color:#fff!important}.optim-list-item,.topic-accordion-card,.pattern-accordion-item,.question-row-item{content-visibility:auto;contain-intrinsic-size:1px 60px}button,input,select,.bento-card,.notif-item{touch-action:manipulation}svg{pointer-events:none}[data-perf-mode=efficiency]{--color-bg-glass:#121214f5;--shadow-lg:0 4px 12px #00000080;--shadow-md:0 2px 8px #0006;--shadow-clay:0 1px 4px #0006;--shadow-liquid:0 2px 8px #0006;--shadow-glow-primary:none}[data-theme=light][data-perf-mode=efficiency]{--color-bg-glass:#faf8f5fa}[data-perf-mode=efficiency] .sidebar,[data-perf-mode=efficiency] .desktop-sidebar,[data-perf-mode=efficiency] .mobile-header,[data-perf-mode=efficiency] .mobile-bottom-nav,[data-perf-mode=efficiency] .mobile-sheet,[data-perf-mode=efficiency] .mobile-backdrop,[data-perf-mode=efficiency] .bento-card,[data-perf-mode=efficiency] .dsa-sidebar,[data-perf-mode=efficiency] .dialog-sheet,[data-perf-mode=efficiency] .readiness-card,[data-perf-mode=efficiency] .problem-card{-webkit-backdrop-filter:none!important}[data-perf-mode=efficiency] .bento-card{transition:border-color .15s!important;box-shadow:0 1px 3px #0000004d!important}[data-perf-mode=efficiency] .bento-card:hover{transform:none!important}[data-perf-mode=balanced] .sidebar,[data-perf-mode=balanced] .desktop-sidebar,[data-perf-mode=balanced] .mobile-header,[data-perf-mode=balanced] .mobile-bottom-nav,[data-perf-mode=balanced] .mobile-sheet{-webkit-backdrop-filter:blur(12px)saturate(140%)!important}[data-perf-mode=high-quality]{--shadow-glow-primary:0 0 40px #f59e0b26}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.sidebar{z-index:50;border-radius:var(--radius-xl);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--color-border-glass);width:260px;height:calc(100vh - 1.5rem);box-shadow:0 0 0 1px #ffffff06 inset, var(--shadow-lg);background-image:linear-gradient(#ffffff0a 0,#0000 1px);flex-direction:column;padding:1.25rem;display:flex;position:fixed;top:.75rem;left:.75rem;overflow:hidden}.sidebar-header{margin-bottom:1.5rem}.logo{justify-content:space-between;align-items:center;display:flex}.logo-brand{align-items:center;gap:.625rem;display:flex}.logo h2{letter-spacing:-.03em;margin:0;font-size:.95rem;font-weight:650}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:1.25rem;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{flex-direction:column;gap:1px;display:flex}.nav-heading{color:var(--color-text-muted);letter-spacing:.08em;margin-bottom:.35rem;padding-left:.5rem;font-size:.65rem;font-weight:600}.nav-item{color:var(--color-text-muted);border-radius:var(--radius-sm);align-items:center;gap:.625rem;padding:.45rem .625rem;font-size:.82rem;font-weight:450;text-decoration:none;transition:color .15s;display:flex;position:relative}.nav-item:hover{color:var(--color-text-primary)}.nav-item.active{color:var(--color-primary);font-weight:550}.active-indicator{background:#f59e0b14;border:1px solid #f59e0b26}.sidebar-footer{border-top:1px solid var(--color-border-subtle);margin-top:auto;padding-top:.75rem}.user-profile-bottom{border-radius:var(--radius-sm);cursor:pointer;color:inherit;align-items:center;gap:.625rem;padding:.5rem;text-decoration:none;transition:background .15s;display:flex}.user-profile-bottom:hover{background:#ffffff0a}.avatar-ring{flex-shrink:0;width:34px;height:34px;position:relative}.avatar-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.avatar-ring circle{fill:none;stroke-width:2.5px;stroke-linecap:round}.avatar-ring circle.bg{stroke:#ffffff14}.avatar-ring circle.progress{stroke:var(--color-xp);stroke-dasharray:100}.avatar-inner{background:linear-gradient(135deg, var(--color-primary), var(--color-readiness));color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;inset:4px}.user-info{flex:1;min-width:0}.user-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.user-meta{align-items:center;gap:.5rem;margin-top:.1rem;display:flex}.user-level{color:var(--color-text-muted);font-size:.68rem}.user-streak{color:var(--color-xp);align-items:center;gap:2px;font-size:.68rem;font-weight:600;display:flex}.top-navbar{display:none}.sidebar-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:none;position:fixed;inset:0}@media (width<=768px){.top-navbar,.sidebar.desktop-sidebar{display:none!important}}.mobile-header,.mobile-bottom-nav,.mobile-backdrop,.mobile-sheet,.mobile-drawer-sheet{display:none!important}@media (width<=768px){.mobile-header{height:calc(54px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) .85rem 0 .85rem;z-index:50;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border-glass);box-sizing:border-box;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;display:flex!important}.mobile-header-user{color:inherit;align-items:center;gap:.45rem;min-width:0;text-decoration:none;display:flex}.mobile-avatar-ring{border:1.5px solid var(--color-border-subtle);border-radius:50%;flex-shrink:0;width:30px;height:30px;overflow:hidden}.mobile-avatar-img{object-fit:cover;width:100%;height:100%}.mobile-avatar-placeholder{background:linear-gradient(135deg, var(--color-primary), var(--color-readiness));color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:.75rem;font-weight:700;display:flex}.mobile-user-details{flex-direction:column;min-width:0;display:flex}.mobile-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-size:.75rem;font-weight:650;line-height:1.1;overflow:hidden}.mobile-user-streak{color:var(--color-revision);align-items:center;gap:2px;font-size:.65rem;font-weight:600;display:flex}.mobile-header-brand{color:var(--color-text-primary);align-items:center;gap:.4rem;text-decoration:none;display:flex}.mobile-brand-title{letter-spacing:-.02em;font-size:.95rem;font-weight:750}.mobile-header-actions{align-items:center;gap:.4rem;display:flex}.mobile-coins-badge{background:color-mix(in srgb, var(--color-revision) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-revision) 25%, transparent);color:var(--color-revision);border-radius:9999px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.mobile-icon-btn{width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.mobile-notif-dot{background:var(--color-mistakes);color:#fff;border:1.5px solid var(--color-bg-base);border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.55rem;font-weight:800;display:flex;position:absolute;top:4px;right:4px}.mobile-bottom-nav{height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);z-index:50;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(16px)saturate(180%);border-top:1px solid var(--color-border-glass);box-sizing:border-box;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000080;display:flex!important}.mobile-tab-item{height:100%;min-height:44px;color:var(--color-text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4px 0;text-decoration:none;transition:color .15s;display:flex;position:relative}.mobile-tab-item.active{color:var(--color-primary)}.mobile-tab-icon-wrap{justify-content:center;align-items:center;display:flex;position:relative}.mobile-tab-pill{background:var(--color-primary);width:16px;height:3px;box-shadow:0 0 8px var(--color-primary);border-radius:9999px;position:absolute;bottom:-6px}.mobile-tab-label{letter-spacing:-.01em;margin-top:2px;font-size:.65rem;font-weight:550}.mobile-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;background:#000000b3;position:fixed;inset:0;display:block!important}.mobile-sheet{z-index:70;background:var(--color-bg-card);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);border-top:1px solid var(--color-border-glass);max-height:75vh;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);flex-direction:column;position:fixed;bottom:0;left:0;right:0;display:flex!important}.mobile-sheet-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.mobile-sheet-header h3{margin:0;font-size:1.05rem;font-weight:700}.mobile-sheet-body{flex:1;padding:.5rem 1rem;overflow-y:auto}.mobile-notif-row{border-bottom:1px solid var(--color-border-subtle);padding:.75rem .5rem}.mobile-notif-row.unread{background:var(--color-primary-subtle);border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);margin-bottom:.4rem}.mobile-notif-title{font-size:.85rem;font-weight:600}.mobile-drawer-sheet{z-index:70;background:var(--color-bg-card);border-top:1px solid var(--color-border-glass);box-sizing:border-box;border-top-left-radius:28px;border-top-right-radius:28px;flex-direction:column;max-height:88vh;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #000c;display:flex!important}.mobile-drawer-handle{background:var(--color-border-hover);border-radius:2px;width:36px;height:4px;margin:.6rem auto .4rem}.mobile-drawer-user-card{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:.75rem;padding:.75rem 1.25rem 1rem;display:flex}.mobile-drawer-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-readiness));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.mobile-drawer-avatar img{object-fit:cover;width:100%;height:100%}.pro-pill{background:var(--color-primary);color:#000;letter-spacing:.05em;border-radius:4px;padding:1px 5px;font-size:.55rem;font-weight:800}.mobile-drawer-scroll{padding:1rem 1.25rem calc(2rem + env(safe-area-inset-bottom,0px));flex-direction:column;gap:1.25rem;display:flex;overflow-y:auto}.mobile-drawer-group{flex-direction:column;gap:.4rem;display:flex}.mobile-group-title{letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.2rem;padding-left:.25rem;font-size:.65rem;font-weight:700}.mobile-grid-links{flex-direction:column;gap:.35rem;display:flex}.mobile-nav-card{border-radius:var(--radius-md);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);touch-action:manipulation;align-items:center;gap:.75rem;min-height:48px;padding:.75rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.mobile-nav-card:active{background:var(--color-bg-glass);border-color:var(--color-border-hover)}.mobile-nav-card .chevron{color:var(--color-text-muted);margin-left:auto}.mobile-signout-btn{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-mistakes) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-mistakes) 25%, transparent);width:100%;color:var(--color-mistakes);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:.5rem;min-height:48px;margin-top:.5rem;padding:.85rem;font-size:.875rem;font-weight:600;display:flex}}.tv{--tv-bg:#0b0b10;--tv-fg:#f4f4f5;--tv-mute:#a1a1aa;--tv-line:#ffffff1a;outline:none;width:100%}.tv-stage{aspect-ratio:16/9;cursor:pointer;background:var(--tv-bg);color:var(--tv-fg);box-shadow:0 30px 80px -30px #000000b3, inset 0 0 0 1px var(--tv-line);border-radius:20px;position:relative;overflow:hidden;container-type:inline-size}.tv-bg{background:radial-gradient(60% 70% at 15% 10%,#f59e0b2e,#0000 70%),radial-gradient(50% 60% at 90% 90%,#f472b624,#0000 70%);position:absolute;inset:0}.tv-scene{animation:.35s ease-out tv-in;position:absolute;inset:0}@keyframes tv-in{0%{opacity:0}to{opacity:1}}.tv-scene{font-size:max(9px,2.1cqi)}.tv-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6em;height:100%;padding:6%;display:flex}.tv-center h2{letter-spacing:-.04em;margin:.2em 0 0;font-size:2.4em;line-height:1.1}.tv-center p{color:var(--tv-mute);margin:0;font-size:1.15em}.tv-pad{flex-direction:column;gap:.8em;height:100%;padding:6% 7% 13%;display:flex;position:relative}.tv-split{grid-template-columns:1fr 1fr;align-items:center;gap:6%;display:grid}.tv-step{letter-spacing:.08em;text-transform:uppercase;color:#f59e0b;margin-bottom:.3em;font-size:.8em;font-weight:800}.tv-muted{color:var(--tv-mute);font-size:.85em;font-weight:500}.tv-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#38bdf8;font-size:.72em;font-weight:800}.tv-chips,.tv-row{flex-wrap:wrap;gap:.5em;display:flex}.tv-chips span,.tv-pill{background:#ffffff12;border-radius:999px;align-items:center;gap:.3em;padding:.35em .8em;font-size:.85em;font-weight:600;display:inline-flex}.tv-pill.on{background:#f59e0b29;box-shadow:inset 0 0 0 1px #f59e0b73}.tv-goals{grid-template-columns:repeat(4,1fr);gap:.6em;display:grid}.tv-goal{box-shadow:inset 0 0 0 1.5px var(--tv-line);background:#ffffff0d;border-radius:.9em;flex-direction:column;gap:.25em;padding:.8em;font-size:.9em;display:flex;position:relative}.tv-goal.on{background:#f59e0b1f;box-shadow:inset 0 0 0 2px #f59e0b}.tv-e{font-size:1.6em}.tv-tick{color:#000;background:#f59e0b;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;display:flex;position:absolute;top:.5em;right:.5em}.tv-cursor{pointer-events:none;background:#ffffffe6;border-radius:50%;width:1.4em;height:1.4em;transition:opacity .2s;position:absolute;box-shadow:0 0 0 .4em #fff3}.tv-stones{justify-content:space-between;margin:.8em 0 .4em;display:flex;position:relative}.tv-stones-line{transform-origin:0;opacity:.6;background:linear-gradient(90deg,#38bdf8,#a78bfa,#f472b6,#f59e0b);height:3px;position:absolute;top:1.1em;left:4%;right:4%}.tv-stone{text-align:center;flex-direction:column;align-items:center;gap:.3em;width:13%;display:flex;position:relative}.tv-stone span{background:var(--tv-bg);border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:2.2em;height:2.2em;font-size:.9em;font-weight:800;display:flex}.tv-stone.cur span{animation:1.4s ease-in-out infinite tv-pulse;box-shadow:0 0 0 .35em #38bdf840}@keyframes tv-pulse{50%{box-shadow:0 0 0 .6em #38bdf814}}.tv-stone small{color:var(--tv-mute);font-size:.68em}.tv-card{box-shadow:inset 0 0 0 1px var(--tv-line);background:#ffffff0d;border-radius:1em;flex-direction:column;gap:.4em;padding:1em 1.1em;display:flex}.tv-card b{font-size:1.15em}.tv-bar{background:#ffffff1a;border-radius:1em;height:.4em;overflow:hidden}.tv-bar i{border-radius:inherit;background:#f59e0b;height:100%;display:block}.tv-req{text-transform:uppercase;letter-spacing:.05em;color:#000;background:#38bdf8;border-radius:999px;align-items:center;gap:.3em;width:max-content;margin-bottom:.6em;padding:.25em .7em;font-size:.72em;font-weight:800;display:inline-flex}.tv-wl{background:#ffffff0d;border-radius:.8em;align-items:center;gap:.7em;margin-bottom:.45em;padding:.55em .7em;display:flex}.tv-wl.active{box-shadow:inset 0 0 0 1.5px #38bdf8}.tv-wl b{font-size:.9em;display:block}.tv-wl small{color:#f59e0b;font-size:.72em;font-weight:700}.tv-num{color:#000;background:#38bdf8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.6em;height:1.6em;font-size:.8em;font-weight:800;display:flex}.tv-player{flex-direction:column;gap:.5em;display:flex}.tv-screen{aspect-ratio:16/9;background-color:#050507;background-image:linear-gradient(#38bdf82e 1px,#0000 1px),linear-gradient(90deg,#38bdf82e 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:12% 20%;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:.8em;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tv-vec{transform-origin:0;background:#facc15;border-radius:3px;width:34%;height:3px;position:absolute;bottom:30%;left:30%}.tv-play{background:#38bdf8;border-radius:50%;justify-content:center;align-items:center;width:3em;height:3em;transition:opacity .2s;display:flex;position:relative}.tv-btn{color:#000;background:#f59e0b;border-radius:999px;align-self:flex-start;align-items:center;gap:.35em;padding:.45em .9em;font-size:.85em;font-weight:800;display:inline-flex}.tv-btn.done{background:#22c55e}.tv-topic,.tv-problem{border-bottom:1px solid var(--tv-line);align-items:center;gap:.6em;padding:.5em 0;font-size:.95em;display:flex}.tv-problem b{flex:1;font-weight:600}.tv-check{border:1.5px solid #ffffff4d;border-radius:.35em;flex-shrink:0;justify-content:center;align-items:center;width:1.3em;height:1.3em;transition:all .2s;display:inline-flex}.tv-check.on{color:#fff;background:#22c55e;border-color:#22c55e}.tv-input{box-shadow:inset 0 0 0 1px var(--tv-line);background:#00000059;border-radius:.6em;align-items:center;min-height:2.4em;padding:.55em .7em;font-family:ui-monospace,Menlo,monospace;font-size:.8em;display:flex}.tv-caret{background:#f59e0b;width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite tv-blink;display:inline-block}@keyframes tv-blink{50%{opacity:0}}.tv-big{font-size:1.1em}.tv-big b{color:#f59e0b;letter-spacing:-.03em;font-size:2em}.tv-diff{font-size:.78em;font-weight:700}.tv-diff.Easy{color:#22c55e}.tv-diff.Medium{color:#f59e0b}.tv-diff.Hard{color:#ef4444}.tv-ring-c{justify-content:center;align-items:center;font-size:2.4em;display:flex;position:absolute;inset:0}.tv-xp{color:#000;background:#f59e0b;border-radius:999px;margin:0 .4em .45em 0;padding:.35em .8em;font-size:.85em;font-weight:800;display:inline-block}.tv-badge{background:#f59e0b29;border-radius:50%;justify-content:center;align-items:center;width:2.4em;height:2.4em;font-size:1.2em;display:inline-flex;box-shadow:inset 0 0 0 1.5px #f59e0b73}.tv-cta{cursor:pointer;color:#000;background:#f59e0b;border:0;border-radius:999px;margin-top:.6em;padding:.8em 1.6em;font-size:1em;font-weight:800}.tv-caption{color:#fff;text-align:center;background:#000000b8;border-radius:.5em;max-width:86%;padding:.45em .9em;font-size:max(10px,1.75cqi);font-weight:600;line-height:1.4;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.tv-bigplay{color:#000;cursor:pointer;background:#f59e0b;border:0;border-radius:50%;justify-content:center;align-items:center;width:max(56px,7cqi);height:max(56px,7cqi);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000080}.tv-controls{align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.tv-ctl{width:34px;height:34px;color:var(--color-text-primary);cursor:pointer;background:#7f7f7f1f;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tv-ctl.on{color:var(--color-primary)}.tv-lang{font-size:.72rem;font-weight:800}.tv-timeline{cursor:pointer;flex:1;gap:3px;height:8px;display:flex}.tv-seg{background:#7f7f7f38;border-radius:4px;overflow:hidden}.tv-seg i{background:var(--color-primary);height:100%;display:block}.tv-time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.tv-chapters{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.tv-chapter{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.tv-chapter span{background:#7f7f7f2e;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;display:inline-flex}.tv-chapter.done span{background:color-mix(in srgb, var(--color-primary) 35%, transparent)}.tv-chapter.on{color:var(--color-text-primary);background:var(--color-primary-subtle)}.tv-chapter.on span{background:var(--color-primary);color:#000}@media (width<=560px){.tv-chapters{display:none}.tv-goals{grid-template-columns:repeat(3,1fr)}.tv-time{display:none}}.tv-modal-backdrop{z-index:140;background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tv-modal{background:var(--color-bg-card);border-radius:24px;width:min(920px,100%);padding:1.1rem 1.1rem 1rem;box-shadow:0 40px 120px #0009}.tv-modal-head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.tv-modal-head b{font-size:1.05rem}.tv-render .tv-stage{box-shadow:none;cursor:default;border-radius:0}.tv-render *,.tv-render :before,.tv-render :after{transition:none!important;animation:none!important}
