@import"https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Inter:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800&family=Sora:wght@600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--msu-blue: #1d4ed8;--msu-blue-hover: #1e40af;--msu-blue-light: #60a5fa;--msu-blue-50: rgba(29, 78, 216, .08);--msu-blue-100: rgba(29, 78, 216, .14);--msu-gold: #FBBC05;--msu-gold-hover: #F9AB00;--msu-gold-50: rgba(251, 188, 5, .08);--google-red: #EA4335;--google-yellow: #FBBC05;--google-green: #34A853;--google-blue: #4285F4;--accent-teal: #0f766e;--accent-emerald: #34A853;--accent-violet: #A142F4;--accent-rose: #EA4335;--accent-amber: #FBBC05;--gradient-primary: linear-gradient(135deg, #1d4ed8 0%, #60a5fa 100%);--gradient-gold: linear-gradient(135deg, #FBBC05 0%, #F9AB00 100%);--gradient-subtle: linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.75) 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(29, 78, 216, .05) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(15, 118, 110, .04) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(234, 67, 53, .02) 0px, transparent 50%);--gradient-google: linear-gradient(135deg, #4285F4, #34A853, #FBBC05, #EA4335);--nav-h: 70px;--bg-body: #f6f8fc;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-elevated: #ffffff;--bg-input: #f8fafc;--text-main: #111827;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-color: #dbe3ef;--border-subtle: #eef3fb;--border-focus: #1d4ed8;--bg-app: var(--bg-body);--bg-surface: var(--bg-card);--bg-surface-soft: var(--bg-input);--bg-surface-raised: var(--bg-elevated);--text-muted: var(--text-secondary);--text-soft: var(--text-tertiary);--border-soft: var(--border-color);--border-strong: #b8c5d8;--primary: var(--msu-blue);--primary-hover: var(--msu-blue-hover);--primary-soft: var(--msu-blue-100);--accent: var(--accent-teal);--accent-soft: rgba(15, 118, 110, .1);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 10px rgba(15, 23, 42, .1), 0 1px 3px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 24px rgba(15, 23, 42, .1), 0 2px 6px rgba(15, 23, 42, .06);--shadow-xl: 0 18px 40px rgba(15, 23, 42, .12), 0 4px 8px rgba(15, 23, 42, .06);--shadow-2xl: 0 28px 60px rgba(15, 23, 42, .16);--shadow-glow: 0 0 18px rgba(29, 78, 216, .16);--shadow-gold-glow: 0 0 16px rgba(251, 188, 5, .15);--shadow-inner: inset 0 1px 3px rgba(60, 64, 67, .08);--transition-fast: .1s ease;--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Google Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 28px;--radius-full: 9999px}body.dark{--msu-blue: #60a5fa;--msu-blue-hover: #93c5fd;--msu-blue-light: #bfdbfe;--msu-blue-50: rgba(96, 165, 250, .1);--msu-blue-100: rgba(96, 165, 250, .16);--accent-teal: #2dd4bf;--bg-body: #0b1020;--bg-card: #111827;--bg-card-hover: #172033;--bg-elevated: #1e293b;--bg-input: #172033;--text-main: #e5edf7;--text-secondary: #9aa8bd;--text-tertiary: #718096;--border-color: #2b3a55;--border-subtle: #1f2a40;--border-focus: #60a5fa;--bg-app: var(--bg-body);--bg-surface: var(--bg-card);--bg-surface-soft: var(--bg-input);--bg-surface-raised: var(--bg-elevated);--text-muted: var(--text-secondary);--text-soft: var(--text-tertiary);--border-soft: var(--border-color);--border-strong: #3b4d6b;--primary: var(--msu-blue);--primary-hover: var(--msu-blue-hover);--primary-soft: var(--msu-blue-100);--accent: var(--accent-teal);--accent-soft: rgba(45, 212, 191, .13);--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .45);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 16px rgba(138, 180, 248, .12);--shadow-gold-glow: 0 0 16px rgba(253, 214, 99, .12);--shadow-inner: inset 0 1px 3px rgba(0, 0, 0, .3);--gradient-primary: linear-gradient(135deg, #60a5fa 0%, #2dd4bf 100%);--gradient-subtle: linear-gradient(180deg, #111827 0%, #0b1020 100%);--gradient-glass: linear-gradient(135deg, rgba(17, 24, 39, .95) 0%, rgba(11, 16, 32, .9) 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(96, 165, 250, .08) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(45, 212, 191, .05) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(248, 113, 113, .03) 0px, transparent 50%)}html{height:100%;width:100%;overflow-x:hidden;font-size:16px;-webkit-text-size-adjust:100%}body{height:100%;width:100%;font-family:var(--font-sans);background:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";transition:background-color .12s ease,color .12s ease;overflow-x:hidden}body *{transition:background-color .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease,fill .12s ease,stroke .12s ease}body.theme-switching,body.theme-switching *{transition:none!important}#root{min-height:100vh;width:100%;display:flex;flex-direction:column}.btn-primary{background:var(--gradient-primary);color:#fff;padding:10px 24px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 20px #4285f433}.btn-primary:hover:before{opacity:1}.btn-secondary:hover{border-color:var(--msu-blue);color:var(--msu-blue);background:var(--msu-blue-50);box-shadow:var(--shadow-sm)}body.dark ::-webkit-scrollbar-thumb:hover{background:#5f6368}.app-layout{display:flex;min-height:calc(100vh - var(--nav-h, 70px));margin-top:0;width:100%;max-width:100vw;overflow-x:hidden;background:var(--bg-body)}.page-content{position:fixed;top:var(--nav-h, 70px);left:280px;right:0;bottom:0;background:var(--bg-body);overflow-y:auto;overflow-x:hidden;z-index:1;transition:left .25s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .page-content{left:64px;overflow-x:hidden}@media (max-width: 768px){.page-content{left:0!important}}::selection{background:#4285f426;color:var(--text-main)}body.dark ::selection{background:#8ab4f833}.navbar{position:sticky;top:0;z-index:1000;width:100%;background:var(--bg-surface, #ffffff);border-bottom:1px solid var(--border-subtle, rgba(0, 0, 0, .06));transition:all .3s cubic-bezier(.4,0,.2,1);height:70px;display:flex;align-items:center}.navbar,.profile-icon-btn,.admin-nav-btn{color:var(--text-main)}.profile-icon-btn:hover,.admin-nav-btn:hover{background:var(--primary-soft, rgba(29, 78, 216, .1))!important;color:var(--primary, var(--msu-blue))!important}body.dark .navbar{background:var(--bg-surface, #111827)!important;border-bottom-color:var(--border-soft, var(--border-color))!important}body.dark .profile-icon-btn,body.dark .admin-nav-btn{background:var(--bg-surface-soft, var(--bg-input))!important;border-color:var(--border-soft, var(--border-color))!important;color:var(--text-main)!important}.navbar.scrolled{box-shadow:0 1px 12px #0000000f;border-bottom-color:transparent}.nav-container{width:100%;padding:0 24px;display:flex;justify-content:flex-start;align-items:center;gap:10px}.sidebar-menu-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--border-strong, #b7c6d8);background:var(--primary-soft, rgba(0, 45, 114, .08));color:var(--primary, #002d72);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}.sidebar-menu-btn:hover{background:var(--primary, #002d72);border-color:var(--primary, #002d72);color:#fff}.sidebar-menu-btn:active{transform:scale(.94)}body.dark .sidebar-menu-btn{border-color:#8faed766;background:#8faed724;color:#cfe0f5}body.dark .sidebar-menu-btn:hover{background:#8faed747;border-color:#8faed799;color:#fff}.navbar-right{margin-left:auto}.navbar-left{display:flex;align-items:center;gap:12px;text-decoration:none;transition:opacity .2s ease,background .2s ease;border-radius:8px;padding:4px 8px;margin:-4px auto -4px -8px}.navbar-left:hover{opacity:.9;background:#4285f40a}.navbar-left:active{opacity:.75}.nav-logo{height:50px;width:auto;object-fit:contain}.nav-title{display:flex;flex-direction:column;line-height:1.1;font-family:var(--font-sans)}.brand-main{font-weight:700;color:var(--text-main);font-size:1.1rem;letter-spacing:-.01em}.brand-sub{font-size:.7rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:.95rem;padding:8px 16px;border-radius:8px;transition:all .2s ease}.nav-link:hover{background-color:#4285f414;color:var(--msu-blue)}.nav-link.active{background-color:#4285f41a;color:var(--msu-blue);font-weight:600}.try-free-link{color:#ff6b00!important;font-weight:600}.try-free-link:hover{background-color:#ff6b001a!important;color:#e55c00!important}.nav-cta{text-decoration:none;margin-left:8px}.navbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.profile-icon-btn{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #dadce0;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;overflow:hidden;padding:0;position:relative;box-shadow:0 1px 3px #3c404326}.profile-avatar{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;position:relative;z-index:1}.profile-icon-fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;z-index:0}.profile-icon-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #3c404333;border-color:#4285f4;background:#4285f40a}.profile-icon-btn:active{transform:translateY(0)}.profile-icon-btn:focus{outline:none;box-shadow:0 0 0 3px #4285f433}.admin-nav-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--msu-blue);color:#fff;border:2px solid var(--msu-blue);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #4285f433}.admin-nav-btn:hover{background:var(--msu-blue-hover);border-color:var(--msu-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.admin-nav-btn:active{transform:translateY(0)}.dark .navbar{background:var(--bg-surface, #1f1f1f);border-bottom-color:#ffffff0f}.dark .navbar.scrolled{box-shadow:0 1px 8px #0000004d;border-bottom-color:transparent}.dark .navbar-left:hover{background:#8ab4f814}.dark .profile-icon-btn{background:#3c4043;border-color:#ffffff1f;box-shadow:0 2px 6px #0006;color:#e8eaed}.dark .profile-icon-btn:hover{border-color:#8ab4f866;box-shadow:0 4px 12px #8ab4f833;background:#4c4c4c;transform:translateY(-2px)}.dark .profile-icon-fallback{background:#8ab4f826;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .admin-nav-btn{background:#8ab4f8;border-color:#8ab4f8;color:#202124}.dark .admin-nav-btn:hover{background:#aecbfa;border-color:#aecbfa;box-shadow:0 4px 12px #8ab4f84d}@media (min-width: 1440px){.nav-container{padding:0 40px}.navbar{height:75px}.nav-logo{height:55px}.brand-main{font-size:1.2rem}.brand-sub{font-size:.8rem}}@media (max-width: 1279px) and (min-width: 1024px){.nav-container{padding:0 20px}.brand-main{font-size:1.05rem}.nav-link{font-size:.9rem;padding:6px 12px}}@media (max-width: 1023px) and (min-width: 768px){.nav-container{padding:0 16px}.navbar{height:65px}.nav-logo{height:45px}.brand-main{font-size:1rem}.brand-sub{font-size:.7rem}.nav-links{gap:4px}.nav-link{font-size:.85rem;padding:6px 10px}.profile-icon-btn{width:38px;height:38px}.admin-nav-btn{padding:8px 14px;font-size:.85rem}}@media (max-width: 767px){.nav-container{padding:0 12px}.navbar{height:60px}.navbar-left{gap:8px}.nav-logo{height:40px}.brand-main{font-size:.95rem}.brand-sub{display:none}.nav-links{gap:2px}.nav-link{font-size:.8rem;padding:6px 8px}.profile-icon-btn{width:36px;height:36px}.profile-icon-fallback svg{width:16px;height:16px}.admin-nav-btn{padding:6px 10px;font-size:.8rem;gap:6px}.admin-nav-btn svg{width:14px;height:14px}}@media (max-width: 480px){.nav-container{padding:0 10px}.navbar{height:56px}.nav-logo{height:36px}.brand-main{font-size:.9rem}.nav-title,.nav-links{display:none}.profile-icon-btn{width:34px;height:34px}.admin-nav-btn{padding:6px 8px;font-size:.75rem}.admin-nav-btn span{display:none}}@media (max-width: 374px){.nav-container{padding:0 8px}.navbar{height:52px}.nav-logo{height:32px}.profile-icon-btn{width:32px;height:32px}}:root{--nav-h: 70px}@media (min-width: 1440px){:root{--nav-h: 75px}}@media (max-width: 1023px) and (min-width: 768px){:root{--nav-h: 65px}}@media (max-width: 767px){:root{--nav-h: 60px}}@media (max-width: 480px){:root{--nav-h: 56px}}@media (max-width: 374px){:root{--nav-h: 52px}}@media (max-width: 767px){.sidebar-menu-btn{width:38px;height:38px;border-radius:9px}.nav-container{padding:0 12px;gap:8px}}@media (max-width: 480px){.sidebar-menu-btn{width:34px;height:34px}}@media (max-width: 374px){.sidebar-menu-btn{width:32px;height:32px}}.sidebar-backdrop{display:none}.chat-sidebar{position:fixed;top:var(--nav-h, 70px);left:0;width:280px;height:calc(100vh - var(--nav-h, 70px));background:var(--bg-surface, var(--bg-card));border-right:1px solid var(--border-soft, var(--border-color));display:flex;flex-direction:column;transition:width .32s cubic-bezier(.22,1,.36,1);z-index:500;color:var(--text-main);overflow:hidden;contain:layout paint style}body.sidebar-collapsed .chat-sidebar{width:64px}body.sidebar-custom-width:not(.sidebar-collapsed) .chat-sidebar{width:var(--sidebar-width, 280px)}body.sidebar-collapsed:not(.sidebar-resizing) .search-container,body.sidebar-collapsed:not(.sidebar-resizing) .chat-history-list,body.sidebar-collapsed:not(.sidebar-resizing) .chat-history-section,body.sidebar-collapsed:not(.sidebar-resizing) .section-header,body.sidebar-collapsed:not(.sidebar-resizing) .empty-state,body.sidebar-collapsed:not(.sidebar-resizing) .sidebar-settings-wrapper,body.sidebar-collapsed:not(.sidebar-resizing) .user-info,body.sidebar-collapsed:not(.sidebar-resizing) .logout-icon-btn,body.sidebar-collapsed:not(.sidebar-resizing) .sidebar-middle,body.sidebar-collapsed:not(.sidebar-resizing) .context-menu{display:none!important}body.sidebar-collapsed:not(.sidebar-resizing) .sidebar-action-btn span,body.sidebar-collapsed:not(.sidebar-resizing) .setting-btn span,body.sidebar-collapsed:not(.sidebar-resizing) .support-btn span{opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transform:none;transition:opacity .18s ease,max-width .32s cubic-bezier(.22,1,.36,1)}.chat-sidebar .sidebar-action-btn span,.chat-sidebar .setting-btn span,.chat-sidebar .support-btn span,.chat-sidebar .user-info,.chat-sidebar .search-container,.chat-sidebar .sidebar-middle,.chat-sidebar .sidebar-settings-wrapper{transition:opacity .18s ease,max-width .18s ease,transform .18s ease}body.sidebar-resizing .chat-sidebar .sidebar-action-btn span,body.sidebar-resizing .chat-sidebar .setting-btn span,body.sidebar-resizing .chat-sidebar .support-btn span,body.sidebar-resizing .chat-sidebar .user-info{display:inline-flex!important;opacity:1;max-width:calc(var(--sidebar-preview-width, 64px) - 72px);overflow:hidden;white-space:nowrap;transform:none;transition:none}body.sidebar-resizing .chat-sidebar .search-container,body.sidebar-resizing .chat-sidebar .sidebar-middle,body.sidebar-resizing .chat-sidebar .sidebar-settings-wrapper{display:flex!important;opacity:1;pointer-events:none;transition:none}body.sidebar-collapsed .sidebar-top{padding:10px 11px;align-items:center;gap:2px;border-bottom:none}body.sidebar-collapsed .sidebar-top-row{flex-direction:column;gap:2px;width:100%;align-items:center}body.sidebar-collapsed .sidebar-action-btn{width:40px;height:40px;min-height:40px;padding:0;justify-content:center;border-radius:10px;gap:0}body.sidebar-collapsed .sidebar-action-btn.new-chat{width:40px;height:40px;border-radius:10px;margin-bottom:2px}body.sidebar-collapsed .sidebar-toggle-btn{width:40px;height:40px}body.sidebar-collapsed .sidebar-bottom{padding:12px 0;align-items:center;margin-top:auto}body.sidebar-collapsed .user-profile{width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;margin:0 auto}body.sidebar-collapsed .user-avatar{width:36px;height:36px;min-width:36px;min-height:36px}body.sidebar-collapsed .chat-sidebar .profile-picture,body.sidebar-collapsed .user-avatar img{width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover}.sidebar-top{padding:16px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.sidebar-action-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:10px;color:var(--text-primary, #333);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s;width:100%;overflow:hidden}.sidebar-action-btn:hover{background:#0000000d}body.dark .sidebar-action-btn:hover{background:#ffffff14}.sidebar-top{border-bottom-color:var(--border-subtle)}.sidebar-action-btn,.setting-btn,.support-btn,.chat-history-item{color:var(--text-main)}.sidebar-action-btn:hover,.setting-btn:hover,.support-btn:hover,.chat-history-item:hover{background:var(--primary-soft, var(--msu-blue-100))!important;color:var(--primary, var(--msu-blue))!important}.sidebar-action-btn.new-chat,.chat-history-item.active{background:linear-gradient(135deg,var(--primary, var(--msu-blue)),var(--primary-hover, var(--msu-blue-hover)))!important;color:#fff!important}.chat-history-item.active{border-left:4px solid var(--accent, var(--msu-gold))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent, var(--msu-gold)) 28%,transparent)}.sidebar-action-btn.curriculum-link.active,.sidebar-action-btn.curriculum-link:hover{color:var(--accent, var(--msu-gold))!important;background:var(--accent-soft, var(--msu-gold-50))!important}.chat-history-item.active *,.chat-history-item.active .chat-title{color:#fff!important}.search-input{background:var(--bg-surface-soft, var(--bg-input))!important;border-color:var(--border-soft, var(--border-color))!important;color:var(--text-main)!important}body.dark .chat-sidebar{background:color-mix(in srgb,var(--bg-surface, var(--bg-card)) 94%,transparent);border-right-color:var(--border-soft, var(--border-color))}body.dark .sidebar-action-btn:hover,body.dark .setting-btn:hover,body.dark .support-btn:hover,body.dark .chat-history-item:hover{background:var(--primary-soft, var(--msu-blue-100))!important;color:var(--primary, var(--msu-blue))!important}.sidebar-middle{flex:1 1 auto;min-height:0;overscroll-behavior:contain}.chat-history-section{min-height:0}.chat-history-list{min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong, var(--border-color)) transparent}.chat-history-list::-webkit-scrollbar{width:8px}.chat-history-list::-webkit-scrollbar-thumb{background:var(--border-strong, var(--border-color));border-radius:999px}@media (max-height: 760px),(max-width: 900px){.chat-sidebar{height:calc(100dvh - var(--nav-h, 70px))}.sidebar-top{flex:0 0 auto;padding:10px 12px;gap:6px}.sidebar-middle{flex:1 1 auto;overflow-y:auto;padding-bottom:8px}.chat-history-list{max-height:none;overflow-y:visible;padding-right:3px}.chat-history-item{min-height:42px;padding-top:8px;padding-bottom:8px}.sidebar-bottom{flex:0 0 auto;padding-top:8px;padding-bottom:8px}}@media (max-width: 767px){.chat-sidebar{width:min(86vw,320px)!important;transform:translate(0);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:6px 0 32px #0f172a52;z-index:1200}body.sidebar-collapsed .chat-sidebar{width:min(86vw,320px)!important;transform:translate(-100%);box-shadow:none}.chat-sidebar .sidebar-drag-handle{display:none}.sidebar-backdrop{display:block;position:fixed;inset:var(--nav-h, 70px) 0 0 0;background:#0f172a73;z-index:1100;opacity:1;transition:opacity .24s ease}body.sidebar-collapsed .sidebar-backdrop{opacity:0;pointer-events:none}}.sidebar-action-btn.new-chat{background:var(--msu-blue);color:#fff;font-weight:600;border-radius:var(--radius-full, 9999px);padding:12px 16px;margin-bottom:4px}.sidebar-action-btn.new-chat:hover{background:var(--msu-blue-hover);transform:translateY(-1px);box-shadow:0 2px 8px #4285f44d}.sidebar-action-btn.curriculum-link{position:relative;z-index:10;pointer-events:auto;color:var(--text-secondary, #666);font-size:.85rem;padding:9px 12px}.sidebar-action-btn.curriculum-link.active,.sidebar-action-btn.curriculum-link:hover{background:#4285f41a;color:var(--text-primary, #111)}body.dark .sidebar-action-btn.curriculum-link.active,body.dark .sidebar-action-btn.curriculum-link:hover{background:#8ab4f829;color:#e5e7eb;border-color:#8ab4f847}body.dark .sidebar-action-btn.curriculum-link.active svg,body.dark .sidebar-action-btn.curriculum-link:hover svg,body.dark .sidebar-action-btn.curriculum-link.active span,body.dark .sidebar-action-btn.curriculum-link:hover span{color:#e5e7eb}.search-container{position:relative;width:100%}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:10px 14px 10px 38px;background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-size:.875rem;transition:all .2s}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;background:var(--bg-card);border-color:var(--border-focus);box-shadow:0 0 0 3px var(--msu-blue-50)}.sidebar-middle{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:16px 0;min-height:0}.section-header{padding:8px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:4px}.date-group-header{padding:10px 16px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.chat-history-section{padding:0 12px;margin-bottom:16px}.chat-history-list{flex:1;overflow-y:auto;padding:0 12px}.chat-history-item{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:.875rem;position:relative}.chat-history-item:hover{background:var(--bg-card-hover)}.chat-history-item.active{background:linear-gradient(90deg,#4285f41f,#4285f40a);color:var(--msu-blue);font-weight:600;border-left:3px solid var(--msu-blue);padding-left:9px}.chat-history-item:not(.active):hover{transform:translate(2px)}.pin-icon{color:var(--msu-gold);flex-shrink:0}.chat-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-menu-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;border-radius:4px;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-history-item:hover .chat-menu-btn{opacity:1}.chat-menu-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.rename-input{flex:1;background:var(--bg-input);border:1px solid var(--border-focus);border-radius:4px;padding:6px 8px;color:var(--text-main);font-size:.875rem;outline:none}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:4px;min-width:200px;box-shadow:var(--shadow-xl);z-index:10000!important}.context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-main);font-size:.875rem;cursor:pointer;transition:all .2s;text-align:left}.context-menu-item:hover{background:var(--bg-card-hover)}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#ef44441a}.context-menu-divider{height:1px;background:var(--border-subtle);margin:4px 0}.empty-state{padding:20px 16px;text-align:center;color:var(--text-tertiary);font-size:.875rem}.archived-section-container{margin-top:16px;padding:12px 12px 0;border-top:1px solid var(--border-subtle)}.archived-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.archived-header:hover{background:var(--bg-card-hover);color:var(--text-main)}.archived-header .chevron-icon{margin-left:auto;transition:transform .2s ease}.archived-header .chevron-icon.rotated{transform:rotate(90deg)}.archived-list{margin-top:4px;animation:slideDownFade .2s ease}.chat-history-item.archived-item{opacity:.6}.chat-history-item.archived-item:hover{opacity:1}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sidebar-bottom{padding:0;border-top:1px solid var(--border-subtle);background:var(--bg-body)}.sidebar-settings-wrapper{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid var(--border-subtle)}.sidebar-settings-row{display:flex;gap:8px}.setting-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;overflow:hidden}.setting-btn:hover{background:var(--bg-card-hover);border-color:var(--border-color);color:var(--text-main)}.setting-btn.install-app-btn{border-color:var(--msu-blue);color:var(--msu-blue)}.setting-btn.install-app-btn:hover{background:var(--msu-blue-50);border-color:var(--msu-blue)}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;border-radius:0;transition:all .2s;cursor:pointer}.user-profile:hover{background:var(--bg-card-hover)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;overflow:hidden;position:relative}.user-avatar .profile-picture{width:100%;height:100%;object-fit:cover;border-radius:50%;position:absolute;top:0;left:0;z-index:2}.fallback-user-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;z-index:1}.user-info{flex:1;min-width:0}.user-email{font-size:.875rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-status{font-size:.75rem;color:var(--text-tertiary)}.logout-icon-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.logout-icon-btn:hover{background:#ef44441a;color:#ef4444}.chat-history-list::-webkit-scrollbar{width:6px}.chat-history-list::-webkit-scrollbar-track{background:transparent}.chat-history-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.chat-history-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.setting-btn.support-btn{border-color:var(--msu-blue);color:var(--text-secondary)}.setting-btn.support-btn:hover{background:var(--msu-blue-50);border-color:var(--msu-blue);color:var(--msu-blue)}.setting-btn.full-width{width:100%;flex:none}.ticket-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.ticket-modal{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:slideUp .3s ease}.ticket-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.ticket-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.ticket-close-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.ticket-close-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.ticket-form{padding:24px;display:flex;flex-direction:column;gap:20px}.ticket-field{display:flex;flex-direction:column;gap:8px}.ticket-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.category-options{display:flex;gap:8px}.category-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.category-btn:hover{background:var(--bg-card-hover);border-color:var(--border-color)}.category-btn.active{background:var(--msu-blue-50);border-color:var(--msu-blue);color:var(--msu-blue)}.category-btn svg{font-size:1.25rem}.ticket-field input,.ticket-field textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;padding:12px 16px;color:var(--text-main);font-size:.9rem;font-family:inherit;transition:all .2s;resize:none}.ticket-field input::placeholder,.ticket-field textarea::placeholder{color:var(--text-tertiary)}.ticket-field input:focus,.ticket-field textarea:focus{outline:none;border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px var(--msu-blue-50)}.attachment-area{display:flex;align-items:center;gap:8px}.attachment-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-input);border:1px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s;flex:1}.attachment-btn:hover{background:var(--bg-card-hover);border-color:var(--text-tertiary);color:var(--text-main)}.remove-attachment{background:#ef44441a;border:none;color:#ef4444;padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-attachment:hover{background:#ef444433}.ticket-submit-btn{background:var(--msu-blue);border:none;border-radius:10px;padding:14px 24px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.ticket-submit-btn:hover:not(:disabled){background:var(--msu-blue-hover);transform:translateY(-1px)}.ticket-submit-btn:disabled{opacity:.6;cursor:not-allowed}.ticket-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:16px}.ticket-success .success-icon{color:#22c55e;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ticket-success h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.ticket-success p{margin:0;color:var(--text-secondary);font-size:.9rem}body.dark .chat-history-item.active{background:linear-gradient(90deg,#8ab4f824,#8ab4f80a);color:#8ab4f8;border-left-color:#8ab4f8}body.dark .chat-history-item.active *,body.dark .chat-history-item.active .chat-title{color:inherit}@media (max-width: 1023px) and (min-width: 769px){.chat-sidebar{width:220px}body.sidebar-custom-width:not(.sidebar-collapsed) .chat-sidebar{width:220px}}@media (max-width: 768px){.chat-sidebar{transform:translate(-280px)}body:not(.sidebar-collapsed) .chat-sidebar{transform:translate(0)}.setting-btn{width:100%}.ticket-modal{width:95%;max-height:85vh}.category-options{flex-direction:column}.category-btn{flex-direction:row;justify-content:center}}@media (max-width: 480px){.chat-sidebar{width:85vw;max-width:280px;top:60px;height:calc(100vh - 60px)}body.sidebar-collapsed .chat-sidebar{transform:translate(-100%)}body:not(.sidebar-collapsed):after{content:"";position:fixed;top:60px;left:0;right:0;bottom:0;background:#00000080;z-index:499;animation:fadeIn .2s ease}.sidebar-top{padding:12px;gap:6px}.sidebar-action-btn{padding:10px 14px;font-size:.85rem;gap:10px}.search-input{padding:9px 12px 9px 36px;font-size:.85rem}.section-header{padding:6px 14px;font-size:.7rem}.chat-history-item{padding:9px 10px;font-size:.85rem}.chat-title{font-size:.85rem}.sidebar-settings-wrapper{padding:10px;gap:6px}.sidebar-settings-row{gap:6px}.setting-btn{padding:9px 10px;font-size:.8rem;gap:6px}.user-profile{padding:10px;gap:10px}.user-avatar{width:32px;height:32px}.user-email{font-size:.8rem}.user-status{font-size:.7rem}.logout-icon-btn{padding:6px}.context-menu{min-width:180px}.context-menu-item{padding:9px 10px;font-size:.85rem;gap:10px}.ticket-modal{width:95%;max-width:100%;margin:10px;max-height:80vh}.ticket-header{padding:16px}.ticket-header h2{font-size:1.1rem}.ticket-form{padding:16px;gap:16px}.ticket-field input,.ticket-field textarea{padding:10px 14px;font-size:.85rem}.ticket-submit-btn{padding:12px 20px;font-size:.9rem}}@media (max-width: 380px){.chat-sidebar{width:90vw}.sidebar-top{padding:10px}.sidebar-action-btn{padding:9px 12px;font-size:.8rem}.setting-btn{padding:8px;font-size:.75rem}.user-profile{padding:8px}.user-avatar{width:28px;height:28px}.user-email{font-size:.75rem}}.sidebar-top-row{display:flex;align-items:center;gap:6px;width:100%}.sidebar-toggle-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s}.sidebar-toggle-btn:hover{background:#0000000f;color:var(--text-primary, #333)}body.dark .sidebar-toggle-btn:hover{background:#ffffff14;color:#ddd}.sidebar-drag-handle{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:ew-resize;z-index:20;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.sidebar-drag-handle:after{content:"";position:absolute;top:50%;right:4px;width:3px;height:54px;border-radius:999px;background:var(--border-color, #d8dee8);opacity:0;transform:translateY(-50%);transition:opacity .15s ease,background .15s ease}.chat-sidebar:hover .sidebar-drag-handle:after,.sidebar-drag-handle:focus-visible:after{opacity:1}.sidebar-drag-handle:hover:after{background:var(--msu-blue, #4285f4);opacity:1}body.sidebar-collapsed .sidebar-drag-handle{right:-10px;width:20px}body.sidebar-resizing,body.sidebar-resizing *{cursor:ew-resize!important;user-select:none!important;-webkit-user-select:none!important}body.sidebar-resizing .chat-sidebar{width:var(--sidebar-preview-width, 280px);transition:width 80ms linear;will-change:width}body.sidebar-resizing .chat-sidebar *{animation-play-state:paused}body.sidebar-resizing .chat-sidebar .sidebar-drag-handle:after{opacity:1;background:var(--msu-blue, #4285f4)}body.sidebar-resizing .sidebar-top-row{flex-direction:row;align-items:center}body.sidebar-resizing .sidebar-action-btn,body.sidebar-resizing .sidebar-action-btn.new-chat{width:100%;justify-content:flex-start;padding:10px 12px;gap:12px}body.sidebar-resizing .sidebar-top{padding:16px;align-items:stretch;gap:8px}body.sidebar-resizing .sidebar-toggle-btn{flex-shrink:0}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.ucv-shell{display:grid;gap:1rem;color:var(--ct-primary, #082343);min-width:0;overflow:hidden}.ucv-shell--modal{max-height:min(90vh,900px);overflow:auto;padding-bottom:5.4rem}.ucv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ucv-header-actions{display:flex;align-items:flex-start;gap:.65rem}.ucv-header span,.ucv-card span,.ucv-code>span{color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ucv-header h3,.ucv-card h4{margin:.15rem 0 .25rem;color:var(--ct-primary, #082343)}.ucv-header p,.ucv-card p{margin:0;color:var(--ct-text, #334155);line-height:1.55}.ucv-header label,.ucv-controls label,.ucv-concept-pill{display:grid;gap:.3rem;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ucv-header select,.ucv-controls select{min-width:150px;border:1px solid var(--ct-border, #d7e1ef);border-radius:12px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.55rem .7rem;font:inherit;font-size:.9rem;font-weight:800;text-transform:none;letter-spacing:0}.ucv-concept-pill{min-width:150px;border:1px solid var(--ct-border, #d7e1ef);border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 7%,var(--ct-panel, #fff));padding:.58rem .72rem}.ucv-concept-pill strong{color:var(--ct-primary, #082343);font-size:.92rem;letter-spacing:0;text-transform:none}.ucv-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:1rem;align-items:stretch;min-width:0}.ucv-shell--panel .ucv-main{grid-template-columns:minmax(0,1fr)}.ucv-shell--panel .ucv-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:stretch}.ucv-stage{min-width:0;display:grid;gap:.75rem;overflow:visible}.ucv-shell--panel .ucv-stage{overflow:visible}.ucv-canvas{position:relative;width:100%;max-width:100%;box-sizing:border-box;height:clamp(360px,46vh,540px);min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-info, #2563eb));border-radius:22px;background:radial-gradient(circle at 52% 44%,rgba(59,130,246,.11),transparent 33%),linear-gradient(90deg,color-mix(in srgb,var(--ct-border, #d7e1ef) 32%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--ct-border, #d7e1ef) 26%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));background-size:auto,48px 48px,48px 48px,auto;box-shadow:inset 0 1px #ffffffb3,0 18px 42px #0f172a14}.ucv-shell--panel .ucv-canvas{overflow:auto;overscroll-behavior-inline:contain;scroll-padding-inline:1.25rem}.ucv-shell--panel .ucv-canvas>*{flex-shrink:0}.ucv-workflow{display:flex;min-height:58px;align-items:center;padding:.55rem .65rem;overflow-x:auto;overflow-y:hidden;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 84%,var(--ct-info, #2563eb));border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-panel, #fff) 96%,var(--ct-soft, #eef6ff)),var(--ct-panel, #fff));box-shadow:0 10px 24px #0f172a0f}.ucv-shell--modal .ucv-workflow{flex-wrap:nowrap;scroll-padding-inline:1rem}.ucv-workflow-step{display:flex;align-items:center;flex:1 0 auto;min-width:0}.ucv-workflow-node{display:inline-flex;align-items:center;gap:.48rem;flex:0 0 auto;max-width:min(190px,28vw);border-radius:999px;border:1px solid transparent;padding:.24rem .72rem .24rem .24rem;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-soft, #eef6ff));color:var(--ct-muted, #5d6b82);box-shadow:0 8px 18px #0f172a0f}.ucv-workflow-line{display:block;flex:1 1 clamp(2rem,6vw,5rem);min-width:2rem;height:3px;margin-inline:.5rem;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 58%,transparent)}.ucv-workflow-line--visited{background:#22c55e}.ucv-workflow-line--active{background:linear-gradient(90deg,#22c55e,var(--ct-accent, #f97316))}.ucv-workflow-dot{position:relative;z-index:1;display:grid;width:2.1rem;height:2.1rem;place-items:center;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-muted, #5d6b82);font-size:.82rem;font-weight:900;box-shadow:0 8px 18px #0f172a14}.ucv-workflow-label{overflow:hidden;max-width:126px;color:inherit;font-size:.8rem;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.ucv-workflow-node--visited .ucv-workflow-dot{border-color:#22c55e;background:color-mix(in srgb,#22c55e 18%,var(--ct-panel, #fff));color:#166534}.ucv-workflow-node--active{border-color:color-mix(in srgb,var(--ct-accent, #f97316) 36%,transparent);color:var(--ct-primary, #082343);background:color-mix(in srgb,var(--ct-accent, #f97316) 8%,var(--ct-panel, #fff))}.ucv-workflow-node--active .ucv-workflow-dot{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 16%,var(--ct-panel, #fff));color:var(--ct-primary, #082343);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent),0 12px 24px #f9731629}.ucv-edges{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.ucv-edge{stroke:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 74%,var(--ct-primary, #082343));stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 4px 10px rgba(15,23,42,.12))}.ucv-edge--active{stroke:var(--ct-accent, #f97316);stroke-width:5}.ucv-edge--inactive{stroke-dasharray:8 10}.ucv-edge-label{fill:var(--ct-muted, #5d6b82);font-size:1.05rem;font-weight:900;paint-order:stroke;stroke:color-mix(in srgb,var(--ct-panel, #fff) 94%,transparent);stroke-width:8px;text-transform:uppercase}.ucv-edge-label.is-active{fill:var(--ct-accent, #f97316)}.ucv-edge--path{stroke:#16a34a}.ucv-arrow-head{fill:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 74%,var(--ct-primary, #082343))}.ucv-edge--active+.ucv-arrow-head{fill:var(--ct-accent, #f97316)}.ucv-node{position:absolute;width:clamp(78px,8.5vw,112px);min-height:clamp(58px,7vw,78px);border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-primary, #082343));border-radius:18px;background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));color:var(--ct-primary, #082343);display:grid;place-items:center;gap:.1rem;padding:.5rem;text-align:center;box-shadow:0 12px 24px #0f172a1f;transform:translate(-50%,-50%);will-change:left,top,transform,opacity}.ucv-node span{color:var(--ct-muted, #5d6b82);font-size:.66rem;font-weight:900;text-transform:uppercase}.ucv-node strong{max-width:100%;overflow-wrap:anywhere;font-size:clamp(.9rem,1.5vw,1.1rem);line-height:1.1}.ucv-node--tree-node,.ucv-node--graph-vertex,.ucv-node--hash-entry,.ucv-node--set-item{border-radius:999px}.ucv-node--hash-bucket{border-radius:16px;background:color-mix(in srgb,#dbeafe 62%,var(--ct-panel, #fff))}.ucv-node--logic-node{width:clamp(96px,11vw,136px);min-height:84px}.ucv-node--logic-node[data-role=diamond]{width:clamp(120px,10vw,138px);min-height:clamp(120px,10vw,138px);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding:1.55rem 1.05rem}.ucv-node--logic-node[data-role=diamond] strong{font-size:clamp(.64rem,.86vw,.78rem);line-height:1.15}.ucv-node--logic-node[data-role=terminator]{width:clamp(76px,7vw,96px);min-height:54px;border-radius:999px}.ucv-node-role--table-cell{width:clamp(118px,11vw,150px);min-height:70px;border-radius:16px}.ucv-node-role--formula-cell{width:clamp(120px,10vw,150px);min-height:86px}.ucv-node-role--flow-step{width:clamp(104px,9vw,132px);min-height:74px}.ucv-node-role--compact-cell{width:clamp(56px,6vw,78px);min-height:62px;border-radius:14px;padding:.42rem}.ucv-node-role--stack-item{width:clamp(118px,12vw,150px);min-height:58px;border-radius:10px;box-shadow:0 6px #0f172a14,0 14px 24px #0f172a21}.ucv-node-role--queue-item{width:clamp(92px,9vw,118px);min-height:68px;border-radius:12px}.ucv-node-role--linked-node{width:clamp(94px,9vw,120px);min-height:76px;border-radius:20px}.ucv-node-role--tuple-cell{width:clamp(120px,11vw,150px);min-height:68px}.ucv-node-role--tuple-pair{width:clamp(142px,13vw,180px);min-height:68px;background:color-mix(in srgb,#22c55e 9%,var(--ct-panel, #fff))}.ucv-node-role--range-cell,.ucv-node-role--window-cell,.ucv-node-role--prefix-cell{width:clamp(74px,7vw,96px);min-height:66px}.ucv-node-role--window-cell{background:color-mix(in srgb,#2563eb 9%,var(--ct-panel, #fff))}.ucv-node-role--interval-bar{min-height:54px;border-radius:999px;justify-items:start;padding-inline:1rem}.ucv-node--active,.ucv-node--highlighted{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff));box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 32px #f973162e}.ucv-node--comparing{border-color:#2563eb;background:color-mix(in srgb,#2563eb 10%,var(--ct-panel, #fff));animation:ucvFlash .8s ease-in-out infinite alternate}.ucv-node--visited{border-color:#22c55e;background:color-mix(in srgb,#22c55e 16%,var(--ct-panel, #fff));animation:ucvPulse 1.2s ease-in-out infinite}.ucv-node--queued{border-color:#a855f7;background:color-mix(in srgb,#a855f7 14%,var(--ct-panel, #fff))}.ucv-node--path{border-color:#16a34a;background:color-mix(in srgb,#16a34a 18%,var(--ct-panel, #fff))}.ucv-node--inactive{filter:grayscale(.65)}.ucv-structure-canvas{display:grid;place-items:center;padding:clamp(1rem,2vw,2rem)}.ucv-visual-block,.ucv-network-node,.ucv-interval-bar{border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-primary, #082343));background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));color:var(--ct-primary, #082343);box-shadow:0 14px 28px #0f172a1f}.ucv-visual-block{display:grid;min-width:5.8rem;min-height:4.5rem;place-items:center;gap:.18rem;border-radius:16px;padding:.55rem .75rem;text-align:center}.ucv-visual-block span,.ucv-network-node span,.ucv-interval-bar span{color:var(--ct-muted, #5d6b82);font-size:.66rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.ucv-visual-block strong,.ucv-network-node strong,.ucv-interval-bar strong{max-width:100%;overflow-wrap:anywhere;font-size:clamp(.95rem,1.45vw,1.15rem);line-height:1.12}.ucv-visual-block--active,.ucv-visual-block--highlighted,.ucv-network-node--active,.ucv-network-node--highlighted,.ucv-interval-bar--active,.ucv-interval-bar--highlighted{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff));box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 34px #f973162e}.ucv-visual-block--comparing,.ucv-network-node--comparing{border-color:#2563eb;background:color-mix(in srgb,#2563eb 10%,var(--ct-panel, #fff))}.ucv-visual-block--visited,.ucv-network-node--visited{border-color:#22c55e;background:color-mix(in srgb,#22c55e 14%,var(--ct-panel, #fff))}.ucv-visual-block--queued,.ucv-network-node--queued{border-color:#a855f7;background:color-mix(in srgb,#a855f7 12%,var(--ct-panel, #fff))}.ucv-visual-block--inactive,.ucv-network-node--inactive{filter:grayscale(.7)}.ucv-stack-canvas{align-items:end}.ucv-stack-shell{display:grid;min-width:min(360px,100%);justify-items:center;align-self:end;gap:.45rem}.ucv-stack-track{display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;min-height:270px;width:min(240px,72vw);padding:.35rem 1.25rem 0;border-bottom:8px solid color-mix(in srgb,var(--ct-primary, #082343) 78%,transparent);border-inline:3px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 70%,transparent);border-radius:0 0 18px 18px}.ucv-stack-item{width:100%;min-height:56px;border-radius:10px;margin-top:-1px;box-shadow:0 5px #0f172a14,0 12px 22px #0f172a1f;z-index:1}.ucv-stack-label,.ucv-stack-base,.ucv-flow-label,.ucv-head-label,.ucv-array-caption{color:var(--ct-muted, #5d6b82);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-stack-label--top{color:var(--ct-accent, #f97316)}.ucv-queue-shell,.ucv-linked-shell{display:grid;width:min(860px,100%);gap:1rem}.ucv-queue-shell{justify-items:center}.ucv-queue-guide{display:flex;width:min(560px,100%);align-items:center;justify-content:space-between;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ucv-queue-track,.ucv-linked-row{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;overflow-x:auto;padding:1.5rem .25rem}.ucv-queue-item-wrap,.ucv-linked-item,.ucv-hash-flow-item,.ucv-chain-link{display:flex;align-items:center;flex:0 0 auto}.ucv-queue-item{min-width:112px;min-height:72px;border-radius:12px}.ucv-queue-order-mark{display:inline-block;width:clamp(1.75rem,3.4vw,3rem);height:3px;margin:0 .45rem;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 62%,transparent);opacity:.78}.ucv-queue-exit,.ucv-queue-entry{display:inline-flex;flex:0 0 auto;width:clamp(2.4rem,5vw,4.2rem);height:3px;margin:0 .55rem;border-radius:999px;background:var(--ct-accent, #f97316);position:relative;box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 10%,transparent)}.ucv-queue-exit:before,.ucv-queue-entry:after{content:"";position:absolute;top:50%;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateY(-50%)}.ucv-queue-exit:before{left:-1px;border-right:10px solid var(--ct-accent, #f97316)}.ucv-queue-entry:after{right:-1px;border-left:10px solid var(--ct-accent, #f97316)}.ucv-inline-arrow,.ucv-chain-arrow{display:inline-block;width:clamp(2rem,4vw,3.6rem);height:3px;margin:0 .4rem;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 68%,transparent);position:relative;flex:0 0 auto}.ucv-inline-arrow:after,.ucv-chain-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 72%,var(--ct-primary, #082343));transform:translateY(-50%)}.ucv-inline-arrow.is-active,.ucv-chain-arrow.is-active{background:var(--ct-accent, #f97316)}.ucv-inline-arrow.is-active:after,.ucv-chain-arrow.is-active:after{border-left-color:var(--ct-accent, #f97316)}.ucv-linked-shell{justify-items:start}.ucv-linked-row{justify-content:flex-start;padding-left:clamp(1rem,5vw,4rem)}.ucv-linked-node{grid-template-columns:minmax(4.7rem,1fr) 3.5rem;min-width:150px;min-height:74px;overflow:hidden;padding:0}.ucv-linked-node .ucv-visual-value,.ucv-linked-node .ucv-visual-next{display:grid;width:100%;height:100%;min-height:74px;place-items:center}.ucv-linked-node .ucv-visual-value{color:var(--ct-primary, #082343);font-size:1.08rem;font-weight:900;letter-spacing:0;text-transform:none}.ucv-linked-node .ucv-visual-next{border-left:1px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 62%,transparent);background:color-mix(in srgb,var(--ct-info, #2563eb) 8%,transparent)}.ucv-null-node{min-width:92px;min-height:54px;border-radius:999px}.ucv-array-canvas{align-content:center}.ucv-pointer-guide{display:flex;width:min(620px,100%);justify-content:space-between;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ucv-array-row{--ucv-array-count: 4;display:grid;grid-template-columns:repeat(var(--ucv-array-count),minmax(4.4rem,7rem));align-items:center;justify-content:center;position:relative;width:100%;max-width:min(820px,100%);overflow-x:auto;padding:1.2rem .35rem}.ucv-array-cell{position:relative;z-index:1;min-width:0;min-height:70px;border-radius:14px;margin-inline:-1px}.ucv-array-overlay{grid-row:1;align-self:stretch;z-index:0;border:2px solid color-mix(in srgb,var(--ct-accent, #f97316) 70%,transparent);border-radius:18px;background:color-mix(in srgb,var(--ct-accent, #f97316) 10%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}.ucv-array-overlay--binary-search{border-color:#2563eb;background:color-mix(in srgb,#2563eb 9%,transparent)}.ucv-array-caption{justify-self:center;margin-top:1rem}.ucv-array-trace-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;width:min(720px,100%);justify-self:center;margin-top:.6rem}.ucv-array-trace-state>div{display:grid;gap:.25rem;min-width:0;padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--ct-border, #c7d6ea) 80%,transparent);border-radius:14px;background:color-mix(in srgb,var(--ct-panel, #fff) 84%,var(--ct-primary, #082343));box-shadow:0 10px 24px #0f254514}.ucv-array-trace-state span{color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ucv-array-trace-state strong{color:var(--ct-text, #082343);font-size:.9rem;overflow-wrap:anywhere}.ucv-array-trace-result{border-color:color-mix(in srgb,var(--ct-success, #16a34a) 42%,var(--ct-border, #c7d6ea))!important;background:color-mix(in srgb,var(--ct-success, #16a34a) 8%,var(--ct-panel, #fff))!important}body.coding-dark .ucv-array-trace-state>div{background:color-mix(in srgb,var(--ct-raised, #17365c) 82%,#061526);box-shadow:0 16px 34px #00000047}.ucv-string-canvas,.ucv-bit-canvas{align-content:center}.ucv-string-shell,.ucv-bit-shell{display:grid;width:min(860px,100%);gap:1rem}.ucv-string-source{display:grid;gap:.25rem;border-left:4px solid var(--ct-info, #2563eb);border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 6%,var(--ct-panel, #fff));padding:.75rem 1rem}.ucv-string-source span,.ucv-string-cursor span,.ucv-bit-caption span{color:var(--ct-muted, #5d6b82);font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-string-source strong{color:var(--ct-primary, #082343);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.9rem,1.2vw,1.05rem);font-weight:700;overflow-wrap:anywhere}.ucv-string-ribbon{display:grid;grid-template-columns:repeat(var(--ucv-array-count),minmax(3.8rem,5.9rem));justify-content:center;overflow-x:auto;padding:.65rem .3rem 1rem}.ucv-string-token{min-width:0;min-height:66px;border-radius:10px;margin-inline:-1px}.ucv-string-cursor{--ucv-cursor-index: 0;--ucv-token-count: 1;justify-self:center;width:min(100%,calc(var(--ucv-token-count) * 5.1rem));min-height:2.3rem;position:relative}.ucv-string-cursor:before{content:"";position:absolute;top:0;left:calc((100% / var(--ucv-token-count)) * var(--ucv-cursor-index) + (100% / var(--ucv-token-count)) / 2);width:3px;height:1.35rem;border-radius:999px;background:var(--ct-accent, #f97316);box-shadow:0 0 0 7px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent);transform:translate(-50%);transition:left .22s ease}.ucv-string-cursor span{position:absolute;right:0;bottom:0}.ucv-string-result{justify-self:center;display:grid;min-width:min(280px,100%);gap:.25rem;border:1px solid color-mix(in srgb,var(--ct-success, #16a34a) 46%,var(--ct-border, #d7e1ef));border-radius:16px;background:color-mix(in srgb,var(--ct-success, #16a34a) 10%,var(--ct-panel, #fff));padding:.7rem .95rem;box-shadow:0 14px 28px #16a34a1f}.ucv-string-result span{color:color-mix(in srgb,var(--ct-success, #16a34a) 72%,var(--ct-muted, #5d6b82));font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-string-result strong{color:var(--ct-primary, #082343);font-size:1rem;overflow-wrap:anywhere}.ucv-bit-register{display:flex;align-items:center;justify-content:center;gap:.35rem;overflow-x:auto;padding:1rem .25rem}.ucv-bit-cell{display:grid;min-width:4.7rem;min-height:5.1rem;place-items:center;gap:.2rem;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 84%,var(--ct-primary, #082343));background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));color:var(--ct-primary, #082343);box-shadow:0 12px 26px #0f172a1a}.ucv-bit-cell:first-child{border-radius:16px 6px 6px 16px}.ucv-bit-cell:last-child{border-radius:6px 16px 16px 6px}.ucv-bit-cell span{color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:800}.ucv-bit-cell strong{font-size:1.55rem;line-height:1}.ucv-bit-cell.has-one{background:color-mix(in srgb,#22c55e 9%,var(--ct-panel, #fff))}.ucv-bit-cell.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,var(--ct-panel, #fff));box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 34px #f9731629}.ucv-bit-caption{justify-self:center;border-radius:999px;background:color-mix(in srgb,var(--ct-info, #2563eb) 8%,var(--ct-panel, #fff));padding:.5rem .8rem}.ucv-math-canvas{align-content:center}.ucv-math-shell{display:grid;width:min(860px,100%);gap:1.1rem}.ucv-math-flow{display:flex;align-items:center;justify-content:flex-start;gap:.45rem;overflow-x:auto;padding:1rem clamp(1rem,4vw,2rem);scroll-padding-inline:clamp(1rem,4vw,2rem)}.ucv-math-step{display:inline-flex;flex:0 0 auto;align-items:center;gap:.6rem}.ucv-math-card{min-width:clamp(5.25rem,9vw,7rem);min-height:76px;border-radius:18px}.ucv-math-card--result{border-color:color-mix(in srgb,#22c55e 62%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,#22c55e 12%,var(--ct-panel, #fff))}.ucv-math-operator{display:inline-flex;min-width:2.45rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--ct-info, #2563eb) 10%,var(--ct-panel, #fff));color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-math-ledger{justify-self:center;display:grid;min-width:min(360px,100%);gap:.25rem;border:1px solid color-mix(in srgb,var(--ct-info, #2563eb) 28%,var(--ct-border, #d7e1ef));border-radius:18px;background:color-mix(in srgb,var(--ct-info, #2563eb) 6%,var(--ct-panel, #fff));padding:.85rem 1rem;text-align:center}.ucv-math-ledger span,.ucv-dp-insight span{color:var(--ct-muted, #5d6b82);font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-math-ledger strong,.ucv-dp-insight strong{color:var(--ct-primary, #082343);font-size:1rem;line-height:1.2}.ucv-prefix-shell{display:grid;width:min(820px,100%);gap:.55rem}.ucv-prefix-shell .ucv-array-row{padding-block:.2rem .8rem}.ucv-tuple-shell{display:grid;width:min(820px,100%);gap:.75rem}.ucv-tuple-row{display:flex;align-items:center;justify-content:center;min-width:0}.ucv-tuple-cell,.ucv-tuple-result{min-width:132px;min-height:64px}.ucv-tuple-result{background:color-mix(in srgb,#22c55e 10%,var(--ct-panel, #fff))}.ucv-tuple-swap-shell{display:grid;width:min(760px,100%);gap:.8rem;justify-items:center}.ucv-tuple-swap-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(.75rem,4vw,4rem)}.ucv-tuple-swap-row:last-child{gap:clamp(.75rem,3vw,2rem)}.ucv-tuple-swap-arrows{display:grid;width:min(360px,80%);grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;height:2.75rem;position:relative}.ucv-tuple-swap-arrows span{position:relative;border-top:3px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 70%,transparent);transform:rotate(-18deg)}.ucv-tuple-swap-arrows span:last-child{transform:rotate(18deg)}.ucv-tuple-swap-arrows span:after{content:"";position:absolute;right:-2px;top:-7px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 74%,var(--ct-primary, #082343))}.ucv-tuple-swap-arrows span.is-active{border-color:var(--ct-accent, #f97316);filter:drop-shadow(0 7px 12px rgba(249,115,22,.25))}.ucv-tuple-swap-arrows span.is-active:after{border-left-color:var(--ct-accent, #f97316)}.ucv-set-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);align-items:center;width:min(820px,100%);gap:2rem}.ucv-set-input,.ucv-set-memory{display:grid;gap:.7rem}.ucv-set-input>div,.ucv-set-memory>div{display:flex;flex-wrap:wrap;gap:.55rem}.ucv-set-token,.ucv-set-kept{min-width:74px;min-height:58px;border-radius:999px}.ucv-set-memory{min-height:190px;border:2px dashed color-mix(in srgb,#22c55e 40%,var(--ct-border, #d7e1ef));border-radius:24px;background:color-mix(in srgb,#22c55e 7%,transparent);padding:1rem}.ucv-recursion-canvas{align-content:center}.ucv-recursion-shell{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(220px,.7fr);width:min(780px,100%);align-items:center;gap:clamp(1rem,5vw,3.5rem)}.ucv-recursion-stack,.ucv-recursion-side{display:grid;gap:.55rem;justify-items:center}.ucv-recursion-stack>span{justify-self:start;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.ucv-recursion-frame-wrap{display:grid;justify-items:center;gap:.25rem}.ucv-recursion-frame{width:min(260px,100%);min-height:66px;border-radius:14px}.ucv-recursion-frame strong{font-size:clamp(.84rem,1vw,.98rem)}.ucv-recursion-check,.ucv-recursion-result{width:min(240px,100%);min-height:78px;border-radius:16px}.ucv-recursion-result{border-color:color-mix(in srgb,var(--ct-success, #16a34a) 60%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,var(--ct-success, #16a34a) 12%,var(--ct-panel, #fff))}.ucv-recursion-down{width:3px;height:1.2rem;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 68%,transparent);position:relative}.ucv-recursion-down:after{content:"";position:absolute;left:50%;bottom:-5px;width:0;height:0;border-top:9px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 74%,var(--ct-primary, #082343));border-right:6px solid transparent;border-left:6px solid transparent;transform:translate(-50%)}.ucv-recursion-down--side{background:var(--ct-accent, #f97316)}.ucv-recursion-down--side:after{border-top-color:var(--ct-accent, #f97316)}.ucv-network-canvas{position:relative}.ucv-react-flow-canvas{padding:0}.ucv-react-flow-canvas .react-flow{border-radius:inherit}.ucv-react-flow-canvas .react-flow__pane{cursor:default}.ucv-react-flow-canvas .react-flow__node{border:0;background:transparent;box-shadow:none}.ucv-react-flow-canvas .react-flow__edge-path{stroke:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,var(--ct-primary, #082343));stroke-width:3.5px;filter:drop-shadow(0 4px 9px rgba(15,23,42,.12))}.ucv-react-flow-canvas .react-flow__edge.is-active .react-flow__edge-path{stroke:var(--ct-accent, #f97316);stroke-width:4.5px}.ucv-react-flow-canvas .react-flow__edge.is-muted .react-flow__edge-path{stroke-dasharray:8 10;opacity:.38}.ucv-react-flow-canvas .react-flow__edge-textbg{fill:color-mix(in srgb,var(--ct-panel, #fff) 96%,transparent)}.ucv-react-flow-canvas .react-flow__edge-text{fill:var(--ct-muted, #5d6b82);font-size:.78rem;font-weight:900;text-transform:uppercase}.ucv-react-flow-canvas .react-flow__edge.is-active .react-flow__edge-text{fill:var(--ct-accent, #f97316)}.ucv-flow-handle{width:1px;height:1px;min-width:1px;min-height:1px;border:0;background:transparent;opacity:0;pointer-events:none}.ucv-flow-node-card{display:grid;width:132px;min-height:86px;place-items:center;gap:.12rem;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-primary, #082343));border-radius:999px;background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));color:var(--ct-primary, #082343);padding:.58rem .78rem;text-align:center;box-shadow:0 14px 28px #0f172a1f;overflow:visible}.ucv-flow-node-card span{color:var(--ct-muted, #5d6b82);font-size:.66rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.ucv-flow-node-card strong{display:block;max-width:100%;overflow:visible;overflow-wrap:anywhere;color:var(--ct-primary, #082343);font-size:clamp(.78rem,1.05vw,1rem);line-height:1.14}.ucv-flow-node-card--active,.ucv-flow-node-card--highlighted{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff));box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 34px #f973162e}.ucv-flow-node-card--comparing{border-color:#2563eb;background:color-mix(in srgb,#2563eb 10%,var(--ct-panel, #fff))}.ucv-flow-node-card--visited,.ucv-flow-node-card--path{border-color:#22c55e;background:color-mix(in srgb,#22c55e 14%,var(--ct-panel, #fff))}.ucv-flow-node-card--queued{border-color:#a855f7;background:color-mix(in srgb,#a855f7 12%,var(--ct-panel, #fff))}.ucv-flow-node-card--inactive{filter:grayscale(.7)}.ucv-flow-node-card--trie{width:84px;min-height:84px}.ucv-flow-node-card--graph,.ucv-flow-node-card--union-find{width:112px;min-height:82px}.ucv-flow-node-card--input,.ucv-flow-node-card--branch{width:clamp(148px,14vw,188px);min-height:82px;border-radius:16px}.ucv-flow-node-card--terminator{width:104px;min-height:62px;border-radius:999px}.ucv-flow-node-card--diamond{width:clamp(168px,16vw,220px);min-height:clamp(168px,16vw,220px);border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:color-mix(in srgb,#22c55e 13%,var(--ct-panel, #fff));padding:clamp(1.7rem,2.2vw,2.15rem)}.ucv-flow-node-card--diamond span{margin-top:.65rem}.ucv-flow-node-card--diamond strong{max-width:76%;font-size:clamp(.74rem,.95vw,.92rem);line-height:1.12}.ucv-structure-edges{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.ucv-structure-edge{fill:none;stroke:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,var(--ct-primary, #082343));stroke-linecap:round;stroke-width:4;filter:drop-shadow(0 4px 9px rgba(15,23,42,.12))}.ucv-structure-edge.is-active{stroke:var(--ct-accent, #f97316);stroke-width:5}.ucv-structure-edge.is-muted{stroke-dasharray:8 10}.ucv-structure-arrow-head{fill:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,var(--ct-primary, #082343))}.ucv-structure-arrow-head.is-active{fill:var(--ct-accent, #f97316)}.ucv-network-node{position:absolute;display:grid;width:104px;min-height:68px;place-items:center;gap:.1rem;border-radius:999px;padding:.5rem;text-align:center;transform:translate(-50%,-50%)}.ucv-network-node--heap,.ucv-network-node--binary-tree{border-radius:999px}.ucv-network-node--trie{width:78px;min-height:78px}.ucv-hash-canvas{align-content:start;gap:clamp(.9rem,2vw,1.35rem);padding-block:clamp(1rem,2.5vw,1.6rem)}.ucv-hash-flow{display:flex;align-items:center;justify-content:center;width:min(760px,100%);min-height:82px;margin-bottom:.2rem}.ucv-hash-target{min-width:124px;min-height:66px}.ucv-bucket-row{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));width:min(860px,100%);align-items:flex-start;justify-content:stretch;gap:clamp(.5rem,1.8vw,1rem);overflow-x:auto;padding:.35rem clamp(.75rem,2.5vw,1.4rem);scroll-padding-inline:clamp(.75rem,2.5vw,1.4rem)}.ucv-bucket-column{display:grid;min-width:0;justify-items:center;gap:.5rem}.ucv-bucket-box{width:100%;min-width:0;min-height:74px;background:color-mix(in srgb,#dbeafe 68%,var(--ct-panel, #fff))}.ucv-bucket-chain{display:flex;flex-direction:column;align-items:center;gap:.35rem}.ucv-chain-link{flex-direction:column}.ucv-chain-arrow{width:3px;height:1.4rem;margin:0}.ucv-chain-arrow:after{right:auto;left:50%;top:auto;bottom:-5px;border-top:10px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 72%,var(--ct-primary, #082343));border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:0;transform:translate(-50%)}.ucv-hash-entry{width:min(108px,100%);min-width:0;min-height:58px;border-radius:999px}.ucv-empty-bucket{color:var(--ct-muted, #5d6b82);font-size:.75rem;font-weight:800}.ucv-dp-canvas{align-content:center}.ucv-matrix-shell{display:grid;width:min(820px,100%);gap:1rem}.ucv-dp-grid{--ucv-dp-cols: 3;display:grid;grid-template-columns:minmax(3.8rem,4.6rem) repeat(var(--ucv-dp-cols),minmax(4.7rem,6.8rem));justify-content:center;align-items:stretch;width:min(780px,100%);overflow-x:auto;padding:.4rem}.ucv-dp-cell{min-height:72px;border-radius:10px;margin:-1px 0 0 -1px}.ucv-dp-axis,.ucv-dp-empty{min-height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);background:color-mix(in srgb,var(--ct-info, #2563eb) 6%,var(--ct-panel, #fff));color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.ucv-dp-axis{position:sticky;z-index:2}.ucv-dp-axis--corner{left:0;border-radius:12px 0 0;background:color-mix(in srgb,var(--ct-primary, #082343) 8%,var(--ct-panel, #fff))}.ucv-dp-axis.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,var(--ct-panel, #fff));color:var(--ct-primary, #082343)}.ucv-dp-empty{opacity:.35}.ucv-dp-insight{justify-self:center;display:grid;width:min(520px,100%);gap:.25rem;border:1px solid color-mix(in srgb,#22c55e 30%,var(--ct-border, #d7e1ef));border-radius:18px;background:color-mix(in srgb,#22c55e 8%,var(--ct-panel, #fff));padding:.85rem 1rem}.ucv-dp-insight p{margin:0;color:var(--ct-text, #334155);font-size:.88rem;line-height:1.4}.ucv-interval-canvas{justify-items:stretch}.ucv-interval-axis{width:min(780px,100%);height:4px;border-radius:999px;background:linear-gradient(90deg,#22c55e,var(--ct-accent, #f97316),#2563eb)}.ucv-interval-list{display:grid;width:min(780px,100%);gap:.7rem}.ucv-interval-bar{display:grid;min-width:110px;min-height:54px;align-items:center;border-radius:999px;padding:.35rem 1rem;transform-origin:left center}.ucv-condition-canvas{justify-items:stretch;padding-inline:clamp(1rem,2vw,2.5rem)}.ucv-condition-callout{position:absolute;left:clamp(.85rem,2vw,1.25rem);right:clamp(.85rem,2vw,1.25rem);bottom:clamp(.75rem,2vw,1rem);z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;pointer-events:none}.ucv-condition-callout div{display:grid;gap:.18rem;min-width:0;border:1px solid color-mix(in srgb,var(--ct-info, #2563eb) 24%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-panel, #fff) 90%,var(--ct-info, #2563eb));padding:.62rem .72rem;box-shadow:0 10px 22px #0f172a14}.ucv-condition-callout span{color:var(--ct-muted, #5d6b82);font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ucv-condition-callout strong{min-width:0;color:var(--ct-primary, #082343);font-size:clamp(.72rem,.9vw,.86rem);font-weight:800;line-height:1.22;overflow-wrap:anywhere}.ucv-condition-flow{display:grid;grid-template-columns:minmax(82px,.65fr) auto minmax(110px,.9fr) auto minmax(128px,1fr) minmax(220px,1.65fr) auto minmax(82px,.65fr);align-items:center;width:min(1060px,100%);gap:.6rem;justify-self:center}.ucv-flow-start,.ucv-flow-end{min-width:84px;min-height:54px;border-radius:999px}.ucv-flow-input,.ucv-flow-branch{min-width:130px;min-height:72px}.ucv-flow-diamond{width:clamp(124px,12vw,156px);min-width:124px;min-height:clamp(124px,12vw,156px);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:color-mix(in srgb,#22c55e 12%,var(--ct-panel, #fff))}.ucv-flow-diamond span{margin-top:.5rem}.ucv-flow-diamond strong{max-width:74%;font-size:clamp(.68rem,.9vw,.82rem)}.ucv-branch-stack{display:grid;gap:1rem}.ucv-branch-row{display:grid;grid-template-columns:3.4rem minmax(2rem,1fr) minmax(120px,.9fr);align-items:center;gap:.4rem}.ucv-branch-row.is-muted{opacity:.45}.ucv-branch-label{justify-self:end;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;text-transform:uppercase}.ucv-branch-line{height:3px;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 68%,transparent)}.ucv-branch-line.is-active{background:var(--ct-accent, #f97316);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.ucv-state-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.55rem}.ucv-state-strip div{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 80%,var(--ct-info, #2563eb));border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 7%,var(--ct-panel, #fff));padding:.55rem .62rem}.ucv-state-strip span{display:block;color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;text-transform:uppercase}.ucv-state-strip strong{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;color:var(--ct-primary, #082343);font-size:.78rem;font-weight:700;line-height:1.35}.ucv-side{min-width:0;display:grid;align-content:start;gap:1rem}.ucv-card,.ucv-code{border:1px solid var(--ct-border, #d7e1ef);border-radius:18px;background:var(--ct-panel, #fff);padding:1rem;box-shadow:0 12px 28px #0f172a12}.ucv-code{background:#101827;color:#e5edff}.ucv-code ol{display:grid;gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none}.ucv-code li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.7rem;align-items:start;border-radius:10px;padding:.45rem .55rem;color:#cbd5e1}.ucv-code li.is-active{background:#f973162e;color:#fff;box-shadow:inset 3px 0 #f97316}.ucv-code em{color:#94a3b8;font-style:normal;font-weight:800}.ucv-code code{white-space:pre-wrap;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.45}.ucv-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.ucv-shell--modal .ucv-controls{position:sticky;z-index:6;right:0;bottom:0;left:0;margin:0 -.25rem -.25rem;padding:.65rem .5rem .25rem;background:linear-gradient(180deg,transparent,var(--ct-panel, #fff) 24%)}.ucv-playbar{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;overflow-x:auto;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 86%,var(--ct-info, #2563eb));border-radius:999px;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-info, #2563eb));padding:.35rem;box-shadow:0 10px 26px #0f172a14}.ucv-speed-control{display:inline-flex;align-items:center;gap:.5rem;border-left:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 80%,transparent);margin-left:.25rem;padding-left:.65rem;color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase;white-space:nowrap}.ucv-speed-options{display:inline-flex;align-items:center;gap:.2rem;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 84%,var(--ct-info, #2563eb));border-radius:999px;background:color-mix(in srgb,var(--ct-bg, #f7fbff) 82%,var(--ct-panel, #fff));padding:.18rem}.ucv-speed-option{min-height:1.8rem;min-width:2.65rem;border:0;border-radius:999px;background:transparent;color:var(--ct-muted, #5d6b82);padding:.25rem .5rem;font-size:.78rem;font-weight:850;line-height:1}.ucv-speed-option:hover:not(:disabled){background:color-mix(in srgb,var(--ct-info, #2563eb) 12%,transparent);color:var(--ct-primary, #082343)}.ucv-speed-option.is-active{background:var(--ct-primary, #082343);color:#fff;box-shadow:0 6px 14px #08234329}.ucv-controls button,.ucv-control-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);min-height:2.35rem;padding:.55rem .85rem;font-weight:900;cursor:pointer;white-space:nowrap}.ucv-control-button svg{width:.88rem;height:.88rem}.ucv-control-button--play{border-color:color-mix(in srgb,var(--ct-primary, #082343) 84%,var(--ct-accent, #f97316));background:var(--ct-primary, #082343);color:#fff;box-shadow:0 8px 16px #08234329}.ucv-control-button--workspace{border-color:color-mix(in srgb,var(--ct-info, #2563eb) 72%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,var(--ct-info, #2563eb) 12%,var(--ct-panel, #fff));color:var(--ct-primary, #082343)}.ucv-close{position:sticky;top:0;z-index:8;display:inline-grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:0;font-weight:900;cursor:pointer}.ucv-close svg{width:.9rem;height:.9rem}.ucv-controls button:hover,.ucv-close:hover{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff))}.ucv-controls button:disabled{cursor:not-allowed;opacity:.46}.ucv-controls button:disabled:hover{border-color:var(--ct-border, #d7e1ef);background:var(--ct-panel, #fff)}.ucv-step-count{display:inline-flex;align-items:center;justify-content:center;min-width:3.2rem;min-height:2rem;border-radius:999px;color:var(--ct-muted, #5d6b82);font-weight:900}.ucv-controls>span:not(.ucv-step-count){color:var(--ct-muted, #5d6b82);font-weight:900}@keyframes ucvPulse{0%{box-shadow:0 0 #22c55e3d,0 12px 24px #0f172a1f}to{box-shadow:0 0 0 10px #22c55e00,0 12px 24px #0f172a1f}}@keyframes ucvFlash{0%{box-shadow:0 0 0 3px #2563eb1f,0 12px 24px #0f172a1f}to{box-shadow:0 0 0 8px #2563eb38,0 12px 24px #0f172a1f}}@media (max-width: 920px){.ucv-main,.ucv-shell--panel .ucv-side{grid-template-columns:1fr}.ucv-header{display:grid}.ucv-workflow{flex-wrap:wrap;gap:.45rem}.ucv-workflow-step{flex:1 1 calc(50% - .45rem)}.ucv-workflow-line{display:none}.ucv-shell--panel .ucv-workflow{flex-wrap:nowrap;scroll-padding-inline:.75rem}.ucv-shell--panel .ucv-workflow-step{flex:0 0 auto}.ucv-shell--panel .ucv-workflow-line{display:block;flex:0 0 2rem}.ucv-workflow-label{max-width:92px}.ucv-controls{justify-content:flex-start}.ucv-playbar{border-radius:18px}.ucv-speed-control{width:100%;justify-content:space-between;border-left:0;border-top:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 80%,transparent);margin-left:0;margin-top:.25rem;padding:.55rem .35rem .1rem}.ucv-speed-options{flex:1 1 auto;justify-content:space-between}.ucv-speed-option{flex:1 1 0;min-width:0}.ucv-condition-flow{grid-template-columns:1fr;justify-items:center}.ucv-condition-callout{position:static;grid-template-columns:1fr;margin:.75rem}.ucv-condition-flow>.ucv-inline-arrow{width:3px;height:1.8rem;transform:rotate(90deg)}.ucv-branch-stack{width:min(100%,360px)}.ucv-branch-row{grid-template-columns:3rem minmax(2rem,1fr) minmax(110px,1fr)}.ucv-set-shell{grid-template-columns:1fr}.ucv-tuple-row,.ucv-queue-track,.ucv-linked-row{justify-content:flex-start}.ucv-array-row{justify-content:start}.ucv-array-trace-state{grid-template-columns:1fr}}@media (max-width: 640px){.ucv-shell--panel{overflow:visible}.ucv-shell--panel .ucv-header{gap:.65rem}.ucv-shell--panel .ucv-header-actions{width:100%;justify-content:space-between}.ucv-shell--panel .ucv-concept-pill{min-width:0;max-width:calc(100vw - 5rem)}.ucv-shell--panel .ucv-main{gap:.75rem}.ucv-shell--panel .ucv-stage{overflow-x:auto;padding-bottom:.15rem;scroll-padding-inline:1rem}.ucv-shell--panel .ucv-workflow,.ucv-shell--panel .ucv-canvas,.ucv-shell--panel .ucv-state-strip{width:max(640px,100%);max-width:none}.ucv-shell--panel .ucv-canvas{height:clamp(390px,58dvh,560px);padding-inline:.75rem}.ucv-shell--panel .ucv-side{display:grid;gap:.75rem}.ucv-shell--panel .ucv-card,.ucv-shell--panel .ucv-code{padding:.8rem}.ucv-shell--panel .ucv-code{overflow-x:auto}.ucv-shell--panel .ucv-code ol{min-width:520px}.ucv-shell--panel .ucv-controls{position:sticky;bottom:0;z-index:8;margin-inline:-.65rem;padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent,var(--ct-panel, #fff) 22%,var(--ct-panel, #fff))}.ucv-shell--panel .ucv-playbar{width:100%;justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.ucv-node,.ucv-edge,.ucv-workflow-dot,.ucv-node--comparing,.ucv-node--visited,.ucv-visual-block,.ucv-network-node,.ucv-interval-bar,.ucv-structure-edge,.ucv-array-overlay{animation:none!important;transition:none!important}}.workspace-visualizer-panel{min-height:0;height:100%;overflow:auto;padding:1rem;background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--ct-accent, #f97316) 9%,transparent),transparent 34%),var(--ct-panel, #fff)}.workspace-visualizer{color:var(--ct-text, #082343)}.workspace-visualizer.is-panel{max-width:1100px;margin:0 auto}.workspace-visualizer-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.workspace-visualizer-kicker{display:inline-flex;margin-bottom:.35rem;color:var(--ct-accent-strong, #c2410c);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.workspace-visualizer-head h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);color:var(--ct-primary, #082343)}.workspace-visualizer-head p{margin:.35rem 0 0;max-width:62ch;color:var(--ct-muted, #5d6b82);line-height:1.55}.workspace-visual-close{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.55rem .9rem;font-weight:800}.workspace-visualizer-config{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr);gap:.75rem;align-items:end;margin-bottom:1rem}.workspace-visualizer-config label{display:grid;gap:.35rem;color:var(--ct-muted, #5d6b82);font-size:.82rem;font-weight:800}.workspace-visualizer-config select,.workspace-visualizer-config input{width:100%;border:1px solid var(--ct-border, #d7e1ef);border-radius:14px;background:var(--ct-panel, #fff);color:var(--ct-text, #082343);padding:.7rem .85rem;font:inherit;font-weight:700}.workspace-visualizer-lock,.workspace-visualizer-error{border-radius:14px;padding:.75rem .9rem;margin:0;font-size:.9rem;line-height:1.45}.workspace-visualizer-lock{background:color-mix(in srgb,var(--ct-border, #d7e1ef) 42%,transparent);color:var(--ct-muted, #5d6b82)}.workspace-visualizer-guidance{display:grid;gap:.35rem;border:1px solid color-mix(in srgb,var(--ct-info, #2563eb) 24%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 7%,var(--ct-panel, #fff));padding:.75rem .85rem}.workspace-visualizer-guidance p,.workspace-visualizer-question{margin:0;color:var(--ct-muted, #5d6b82);line-height:1.45}.workspace-visualizer-guidance strong,.workspace-visualizer-question strong{color:var(--ct-primary, #082343)}.workspace-visualizer-reasoning{display:grid;gap:.25rem;margin-top:.75rem;border-top:1px solid var(--ct-border, #d7e1ef);padding-top:.75rem}.workspace-visualizer-reasoning p{margin:0}.workspace-visualizer-reveal{width:fit-content;margin-top:.75rem;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.55rem .8rem;font-weight:850}.workspace-visualizer-reveal:hover{border-color:color-mix(in srgb,var(--ct-info, #2563eb) 44%,var(--ct-border, #d7e1ef));color:var(--ct-info, #2563eb)}.workspace-visualizer-sketch-toggle{display:inline-flex;width:fit-content;margin-top:.75rem;margin-left:.5rem;border:1px solid color-mix(in srgb,var(--ct-primary, #082343) 20%,var(--ct-border, #d7e1ef));border-radius:999px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 52%,var(--ct-panel, #fff));color:var(--ct-primary, #082343);padding:.55rem .8rem;font-weight:850}.workspace-visualizer-error{margin-bottom:1rem;border:1px solid color-mix(in srgb,#ef4444 42%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,#ef4444 10%,var(--ct-panel, #fff));color:#991b1b;font-weight:800}.workspace-visualizer-code,.workspace-visual-diagram,.workspace-visualizer-step{border:1px solid var(--ct-border, #d7e1ef);border-radius:20px;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-panel-soft, #f7f9fc));box-shadow:0 12px 28px #0f172a14}.workspace-visualizer-code{margin-top:.85rem;padding:1rem;box-shadow:none}.workspace-visualizer-code span{display:block;margin-bottom:.65rem;color:var(--ct-muted, #5d6b82);font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.workspace-visualizer-code pre{max-height:220px;margin:0;border-radius:16px;background:#101827;color:#e5edff;padding:1rem;overflow:auto;white-space:pre-wrap;line-height:1.6;font-size:.95rem}.workspace-visualizer-stage{display:grid;gap:.85rem;margin-top:1rem}.workspace-visual-diagram{min-height:clamp(360px,48vh,560px);padding:clamp(1rem,2.4vw,2rem);display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--ct-border, #d7e1ef) 34%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--ct-border, #d7e1ef) 28%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));background-size:46px 46px}.workspace-visual-diagram:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px dashed color-mix(in srgb,var(--ct-info, #2563eb) 18%,transparent);border-radius:18px;pointer-events:none}.workspace-visual-track{position:relative;max-width:100%;padding:3rem .5rem 1.15rem;overflow-x:auto}.workspace-visual-row{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:12px;min-width:max-content;position:relative;z-index:1}.workspace-visual-track:before{content:"";position:absolute;left:.5rem;right:.5rem;top:4.75rem;height:6px;border-radius:999px;background:color-mix(in srgb,var(--ct-border, #d7e1ef) 74%,transparent);box-shadow:inset 0 1px #ffffffb3}.workspace-window-frame{position:absolute;top:1.7rem;left:var(--window-left, 0);width:var(--window-width, 72px);height:82px;border:3px solid color-mix(in srgb,#0ea5e9 72%,var(--ct-info, #2563eb));border-radius:18px;background:linear-gradient(90deg,#0ea5e92e,#2563eb38);box-shadow:0 16px 32px #0ea5e933,inset 0 0 0 1px #ffffff8f;transition:left .52s cubic-bezier(.2,.8,.2,1),width .52s cubic-bezier(.2,.8,.2,1);z-index:0;pointer-events:none}.workspace-window-frame span{position:absolute;top:-1.65rem;left:50%;transform:translate(-50%);border-radius:999px;background:#0f766e;color:#fff;padding:.18rem .5rem;font-size:.65rem;font-weight:900;text-transform:uppercase}.workspace-visual-token{width:72px;min-width:72px;min-height:68px;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 84%,var(--ct-primary, #082343));border-radius:18px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);display:grid;place-items:center;gap:.1rem;padding:.45rem;box-shadow:0 8px 18px #0f172a14;position:relative;transition:transform .36s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background-color .22s ease,box-shadow .22s ease,opacity .22s ease}.workspace-visual-token:after{content:"";position:absolute;bottom:-17px;left:50%;width:10px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 76%,var(--ct-panel, #fff));transform:translate(-50%)}.workspace-visual-token strong{font-size:1rem}.workspace-visual-token span{color:var(--ct-muted, #5d6b82);font-size:.7rem;font-weight:800}.workspace-visual-token.has-pointer{transform:translateY(5px)}.workspace-pointer-arrow{position:absolute;top:-2.15rem;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:44px;border-radius:999px;background:var(--ct-primary, #082343);color:#fff!important;padding:.22rem .5rem;font-size:.68rem!important;box-shadow:0 8px 16px #0823432e}.workspace-pointer-arrow:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--ct-primary, #082343)}.workspace-visual-token.is-window{background:color-mix(in srgb,#22c55e 18%,var(--ct-panel, #fff));border-color:color-mix(in srgb,#22c55e 58%,var(--ct-border, #d7e1ef))}.workspace-visual-token.is-active,.workspace-visual-table .is-active,.workspace-visual-svg .is-active circle{border-color:var(--ct-accent, #f97316);transform:translateY(-6px) scale(1.04);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 20%,transparent),0 16px 28px #f973162e}.workspace-visual-token.is-active:after{background:var(--ct-accent, #f97316);box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}.workspace-visual-stack,.workspace-visual-call-stack{display:grid;justify-items:center;gap:.5rem}.workspace-visual-stack{min-width:180px;border-left:5px solid color-mix(in srgb,var(--ct-primary, #082343) 76%,transparent);border-right:5px solid color-mix(in srgb,var(--ct-primary, #082343) 76%,transparent);border-bottom:5px solid color-mix(in srgb,var(--ct-primary, #082343) 76%,transparent);border-radius:0 0 22px 22px;padding:1.5rem 1rem 1rem;background:color-mix(in srgb,var(--ct-panel, #fff) 62%,transparent)}.workspace-visual-call-stack{align-content:center;min-width:280px;max-width:100%;counter-reset:call-depth}.workspace-visual-call-stack .workspace-visual-token{width:min(360px,76vw);justify-items:start;padding-inline:1rem;border-left:6px solid color-mix(in srgb,var(--ct-info, #2563eb) 54%,var(--ct-border, #d7e1ef))}.workspace-visual-call-stack .workspace-visual-token:before{counter-increment:call-depth;content:"depth " counter(call-depth);justify-self:end;color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;text-transform:uppercase}.workspace-visual-empty,.workspace-visual-note{color:var(--ct-muted, #5d6b82);font-weight:800;text-align:center}.workspace-visual-note{position:absolute;left:1rem;right:1rem;bottom:.7rem;margin:0}.workspace-decision-flow{width:min(760px,100%);display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(220px,1.4fr) minmax(150px,1fr);align-items:center;gap:clamp(.75rem,2vw,1.35rem);position:relative;z-index:1}.workspace-decision-flow:before{content:"";position:absolute;left:14%;right:14%;top:50%;height:4px;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 38%,transparent);transform:translateY(-50%);z-index:-1}.decision-node,.decision-path{min-height:96px;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 84%,var(--ct-primary, #082343));background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-soft, #eef6ff));box-shadow:0 14px 28px #0f172a14;color:var(--ct-primary, #082343);display:grid;align-content:center;gap:.35rem;padding:.9rem;transition:transform .32s ease,box-shadow .22s ease,border-color .22s ease,opacity .22s ease}.decision-node span,.decision-path span{color:var(--ct-muted, #5d6b82);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.decision-node strong,.decision-path strong{font-size:clamp(.88rem,1.5vw,1.05rem);line-height:1.35}.decision-input,.decision-result{border-radius:18px}.decision-condition{aspect-ratio:1;min-height:150px;border-radius:28px;transform:rotate(45deg);place-items:center;text-align:center}.decision-condition>*{transform:rotate(-45deg);max-width:132px}.decision-branches{display:grid;gap:.7rem}.decision-path{min-height:82px;border-radius:18px;opacity:.72}.decision-yes{border-color:color-mix(in srgb,#22c55e 34%,var(--ct-border, #d7e1ef))}.decision-no{border-color:color-mix(in srgb,#64748b 34%,var(--ct-border, #d7e1ef))}.workspace-decision-flow .is-active{opacity:1;border-color:var(--ct-accent, #f97316);transform:translateY(-6px);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 32px #f973162e}.workspace-decision-flow .decision-condition.is-active{transform:rotate(45deg) translate(-4px,-4px)}.workspace-decision-flow.is-yes .decision-no,.workspace-decision-flow.is-result .decision-no,.workspace-decision-flow.is-no .decision-yes{opacity:.36}.workspace-visual-state-tray{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.55rem}.workspace-visual-state-tray div{min-width:0;border:1px solid color-mix(in srgb,var(--ct-info, #2563eb) 26%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 7%,var(--ct-panel, #fff));padding:.62rem .72rem}.workspace-visual-state-tray span{display:block;color:var(--ct-muted, #5d6b82);font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.workspace-visual-state-tray strong{display:block;margin-top:.22rem;color:var(--ct-primary, #082343);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;overflow-wrap:anywhere}.workspace-visual-labels{display:flex;justify-content:space-between;margin-top:.45rem;color:var(--ct-muted, #5d6b82);font-size:.75rem;font-weight:900;text-transform:uppercase}.workspace-visual-table{min-width:260px;display:grid;gap:.45rem;position:relative}.workspace-visual-table:before{content:"table memory";color:var(--ct-muted, #5d6b82);font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.workspace-visual-table div{display:flex;justify-content:space-between;border:1px solid var(--ct-border, #d7e1ef);border-radius:14px;background:var(--ct-panel, #fff);padding:.7rem .9rem;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.workspace-visual-table div.is-active{border-color:var(--ct-accent, #f97316);transform:translate(10px);box-shadow:-8px 0 color-mix(in srgb,var(--ct-accent, #f97316) 22%,transparent),0 14px 26px #0f172a1a}.workspace-visual-grid-cells{display:grid;gap:.5rem}.workspace-visual-grid-row{display:flex;gap:.5rem;justify-content:center}.workspace-visual-grid-row span{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--ct-border, #d7e1ef);border-radius:14px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);font-weight:900;box-shadow:0 8px 18px #0f172a14;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.workspace-visual-grid-row span.is-active{border-color:var(--ct-accent, #f97316);transform:translateY(-6px) scale(1.05);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 20%,transparent),0 16px 28px #f973162e}.workspace-visual-timeline{position:relative;width:min(100%,560px);min-height:220px;border-left:2px solid var(--ct-border-strong, #94a3b8);border-bottom:2px solid var(--ct-border-strong, #94a3b8)}.workspace-visual-timeline:before{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:repeating-linear-gradient(90deg,var(--ct-border-strong, #94a3b8) 0 2px,transparent 2px 10%)}.workspace-visual-interval{position:absolute;left:var(--interval-left);bottom:calc(24px + var(--interval-row) * 42px);width:var(--interval-width);min-width:44px;height:30px;border:2px solid color-mix(in srgb,var(--ct-info, #2563eb) 52%,var(--ct-border, #d7e1ef));border-radius:999px;background:color-mix(in srgb,var(--ct-info, #2563eb) 12%,var(--ct-panel, #fff));display:grid;place-items:center;color:var(--ct-primary, #082343);font-size:.72rem;font-weight:900;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.workspace-visual-interval.is-active{border-color:var(--ct-accent, #f97316);transform:translateY(-8px);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 14px 24px #f9731629}.workspace-visual-svg{width:min(100%,520px);min-height:250px;overflow:visible}.workspace-visual-svg line{stroke:var(--ct-border-strong, #94a3b8);stroke-width:4;stroke-linecap:round;transition:stroke .22s ease,stroke-width .22s ease}.workspace-visual-svg line.is-active{stroke:var(--ct-accent, #f97316);stroke-width:6;stroke-dasharray:12 8;animation:workspaceVisualDash .8s linear 1}.workspace-visual-svg circle{fill:var(--ct-panel, #fff);stroke:var(--ct-border-strong, #94a3b8);stroke-width:3;transition:fill .22s ease,stroke .22s ease,transform .22s ease}.workspace-visual-svg text{fill:var(--ct-primary, #082343);font-size:15px;font-weight:900}.workspace-visualizer-progress{display:flex;gap:.45rem;align-items:center;justify-content:center;margin:0}.workspace-visualizer-progress button{width:2.1rem;height:2.1rem;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 76%,var(--ct-primary, #082343));border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-muted, #5d6b82);padding:0;font-weight:900}.workspace-visualizer-progress button.is-active{background:var(--ct-accent, #f97316);border-color:var(--ct-accent, #f97316);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}.workspace-visualizer-progress button span{font-size:.78rem}.workspace-visualizer-step{padding:1rem;margin-bottom:1rem}.workspace-visualizer-step>span{display:inline-flex;border-radius:999px;background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,transparent);color:var(--ct-accent-strong, #c2410c);padding:.25rem .6rem;font-size:.75rem;font-weight:900;text-transform:uppercase}.workspace-visualizer-step h4{margin:.55rem 0 .35rem;font-size:1.15rem;color:var(--ct-primary, #082343)}.workspace-visualizer-step p{margin:.35rem 0;color:var(--ct-muted, #5d6b82);line-height:1.55}.workspace-visualizer-nav{display:grid;gap:.75rem;margin:1rem 0;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);border-radius:18px;background:color-mix(in srgb,var(--ct-panel, #fff) 90%,var(--ct-soft, #eef6ff));padding:.8rem;box-shadow:0 10px 24px #0f172a0f}.workspace-visualizer-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.workspace-visualizer-controls button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.65rem .95rem;font-weight:850}.workspace-visualizer-controls button:disabled{opacity:.45;cursor:not-allowed}.workspace-visualizer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:#08112294;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workspace-visualizer-backdrop>div{width:min(1280px,98vw);max-height:94vh;overflow:auto;border-radius:28px;background:var(--ct-panel, #fff);box-shadow:0 28px 80px #00000052}.workspace-visualizer.is-modal{padding:clamp(1rem,2.4vw,1.5rem)}.workspace-visualizer.is-modal.code-trace-modal{padding:0}.workspace-visual-svg .is-active circle{fill:color-mix(in srgb,var(--ct-accent, #f97316) 10%,var(--ct-panel, #fff));animation:workspaceNodePulse .52s ease-out 1}.workspace-tree-cursor circle{fill:var(--ct-accent, #f97316);stroke:#fff;stroke-width:3;filter:drop-shadow(0 8px 12px rgba(249,115,22,.28))}.workspace-tree-cursor path{fill:var(--ct-accent, #f97316)}.workspace-visual-diagram.is-queue .workspace-visual-track:before{top:5.05rem;height:4px;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.workspace-visual-diagram.is-queue .workspace-visual-token.is-active{animation:workspaceQueueMove .52s ease}.workspace-visual-diagram.is-array-scan .workspace-visual-token.is-active,.workspace-visual-diagram.is-string-scan .workspace-visual-token.is-active{animation:workspaceScanFocus .52s ease}.workspace-visual-diagram.is-stack .workspace-visual-token.is-active{animation:workspaceStackDrop .52s ease}.workspace-visual-diagram.is-hash-map-set .workspace-visual-table div.is-active{animation:workspaceTableLookup .56s ease}.workspace-visual-diagram.is-matrix .workspace-visual-grid-row span.is-active,.workspace-visual-diagram.is-dynamic-programming .workspace-visual-grid-row span.is-active,.workspace-visual-diagram.is-bit-manipulation .workspace-visual-token.is-active,.workspace-visual-diagram.is-prefix-sum .workspace-visual-token.is-active,.workspace-visual-diagram.is-heap .workspace-visual-token.is-active,.workspace-visual-diagram.is-trie .workspace-visual-svg .is-active circle,.workspace-visual-diagram.is-union-find .workspace-visual-svg .is-active circle{animation:workspaceVisualSoftGlow .72s ease}.workspace-visual-diagram.is-intervals .workspace-visual-interval.is-active{animation:workspaceIntervalSlide .64s ease}.code-trace-modal{display:flex;flex-direction:column;gap:0}.code-trace-modal .workspace-visualizer-head{position:sticky;top:0;z-index:8;margin:0;padding:clamp(1rem,2.4vw,1.5rem) clamp(1rem,2.4vw,1.5rem) 1rem;border-bottom:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 68%,transparent);background:color-mix(in srgb,var(--ct-panel, #fff) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.code-trace-modal .workspace-visualizer-head p{max-width:54ch}.code-trace-close{display:inline-grid;width:40px;min-width:40px;height:40px;min-height:40px;place-items:center;padding:0;font-size:1rem}.code-trace-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem clamp(1rem,2.4vw,1.5rem)}.code-trace-actions button{border:1px solid color-mix(in srgb,var(--ct-primary, #082343) 24%,var(--ct-border, #d7e1ef));border-radius:999px;background:var(--ct-primary, #082343);color:#fff;padding:.58rem .9rem;font-weight:850}.code-trace-actions button:disabled{opacity:.5;cursor:wait}.code-trace-progress{display:flex;align-items:center;gap:.35rem;overflow-x:auto;margin:0 clamp(1rem,2.4vw,1.5rem);padding:.25rem 0}.code-trace-progress button{flex:0 0 auto;width:.72rem;height:.72rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--ct-primary, #082343) 18%,var(--ct-border, #d7e1ef));padding:0}.code-trace-progress button.is-active{width:1.45rem;background:var(--ct-accent, #f97316)}.code-trace-stage{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(340px,.95fr);gap:1rem;min-height:0;margin:1rem clamp(1rem,2.4vw,1.5rem) 1.25rem}.code-trace-code-window,.code-trace-state-panel{border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);border-radius:16px;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-soft, #eef6ff));overflow:hidden}.code-trace-code-window>div:first-child,.code-trace-state-panel>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;border-bottom:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 70%,transparent);padding:.65rem .8rem;color:var(--ct-muted, #667085);font-size:.78rem;font-weight:850}.code-trace-code-window pre{margin:0;max-height:min(50vh,520px);overflow:auto;background:#07172d;color:#dbeafe;padding:.75rem 0}.code-trace-code-window pre span{display:grid;grid-template-columns:4ch minmax(0,1fr);gap:.75rem;padding:.18rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55}.code-trace-code-window pre span.is-active{background:linear-gradient(90deg,#f9731647,#60a5fa1a),#f9731629;color:#fff7ed;box-shadow:inset 4px 0 #f97316}.code-trace-code-window pre span.is-active em{color:#fff7ed;font-weight:900}.code-trace-code-window pre span.is-active code{font-weight:850}.code-trace-code-window em{color:#93a4bc;font-style:normal;text-align:right}.code-trace-code-window code{white-space:pre-wrap;overflow-wrap:anywhere}.code-trace-state-panel{display:grid;align-content:start;gap:.72rem;padding-bottom:.75rem}.code-trace-state-panel h4{flex-basis:100%;margin:0;color:var(--ct-primary, #082343);font-size:.95rem}.code-trace-state-panel h5,.code-trace-state-panel p,.code-trace-state-panel dl,.code-trace-call-stack,.code-trace-result-box,.code-trace-output-box{margin-left:.8rem;margin-right:.8rem}.code-trace-state-panel p code{border-radius:8px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 70%,var(--ct-panel, #fff));padding:.16rem .32rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-trace-current-line{display:grid;gap:.42rem;margin:0 .8rem;border:1px solid color-mix(in srgb,var(--ct-accent, #f97316) 42%,var(--ct-border, #d7e1ef));border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--ct-accent, #f97316) 10%,transparent),transparent 72%),color-mix(in srgb,var(--ct-accent, #f97316) 4%,var(--ct-panel, #fff));padding:.64rem .72rem;box-shadow:inset 4px 0 0 var(--ct-accent, #f97316),0 10px 22px color-mix(in srgb,var(--ct-accent, #f97316) 10%,transparent)}.code-trace-current-line span{color:var(--ct-muted, #667085);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.code-trace-current-line code{width:fit-content;max-width:100%;border:1px solid color-mix(in srgb,var(--ct-accent, #f97316) 36%,transparent);border-radius:9px;background:color-mix(in srgb,var(--ct-accent, #f97316) 10%,#ffffff);color:var(--ct-primary, #082343);padding:.26rem .44rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:850;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.code-trace-result-box,.code-trace-output-box,.code-trace-error-card{border:1px solid color-mix(in srgb,var(--ct-accent, #f97316) 28%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-accent, #f97316) 8%,var(--ct-panel, #fff));padding:.65rem}.code-trace-error-card{margin:0 .8rem;border-color:color-mix(in srgb,#ef4444 46%,var(--ct-border, #d7e1ef));background:linear-gradient(90deg,rgba(239,68,68,.1),transparent 76%),color-mix(in srgb,#ef4444 5%,var(--ct-panel, #fff));box-shadow:inset 4px 0 #ef4444,0 12px 24px #ef44441a}.code-trace-error-card span{display:block;color:#b91c1c;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.code-trace-error-card strong{display:block;margin-top:.28rem;color:#7f1d1d;line-height:1.35}.code-trace-error-card p{margin:.32rem 0 0;color:#991b1b;line-height:1.45}.code-trace-call-stack{border:1px solid color-mix(in srgb,#2563eb 24%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,#dbeafe 34%,var(--ct-panel, #fff));padding:.6rem}.code-trace-call-stack>span{display:block;color:var(--ct-muted, #667085);font-size:.72rem;font-weight:850;text-transform:uppercase}.code-trace-call-stack ol{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none}.code-trace-call-stack li{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.24rem .48rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:850}.code-trace-call-stack li:not(:last-child):after{content:">";color:var(--ct-muted, #667085)}.code-trace-call-stack li.is-current{background:#2563eb;color:#fff}.code-trace-result-box span,.code-trace-output-box span{display:block;color:var(--ct-muted, #667085);font-size:.72rem;font-weight:850;text-transform:uppercase}.code-trace-result-box strong{display:block;margin-top:.28rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.code-trace-output-box pre{margin:.35rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;background:#07172d;color:#f8fafc;padding:.55rem}.code-trace-state-panel h5{margin-top:.75rem;margin-bottom:.45rem;color:var(--ct-muted, #667085);font-size:.78rem;text-transform:uppercase}.code-trace-variable-updates{display:grid;gap:.62rem;margin:0 .8rem;border:1px solid color-mix(in srgb,var(--ct-info, #2563eb) 24%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-info, #2563eb) 6%,var(--ct-panel, #fff));padding:.7rem;overflow:hidden}.code-trace-variable-updates>span{color:var(--ct-muted, #667085);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.code-trace-frame-object-view{display:grid;gap:.7rem;min-width:0}.code-trace-frame-card,.code-trace-objects-card{display:grid;gap:.55rem;min-width:0;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-panel, #fff) 90%,var(--ct-soft, #eef6ff)),var(--ct-panel, #fff));padding:.62rem;box-shadow:0 10px 20px #0f172a0f}.code-trace-frame-card{border-color:color-mix(in srgb,var(--ct-info, #2563eb) 32%,var(--ct-border, #d7e1ef));background:linear-gradient(180deg,color-mix(in srgb,var(--ct-info, #2563eb) 8%,var(--ct-panel, #fff)),var(--ct-panel, #fff))}.code-trace-frame-head,.code-trace-object-head{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;min-width:0}.code-trace-frame-head span,.code-trace-object-head span{color:var(--ct-muted, #667085);font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.code-trace-frame-head strong,.code-trace-object-head strong{min-width:0;color:var(--ct-primary, #082343);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;overflow-wrap:anywhere}.code-trace-object-meta{display:flex;flex-wrap:wrap;gap:.32rem}.code-trace-object-meta span{border-radius:999px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 70%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);padding:.16rem .42rem;font-size:.62rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.code-trace-frame-locals{display:grid;gap:.42rem;min-width:0}.code-trace-frame-local{display:grid;grid-template-columns:minmax(4.25rem,.6fr) auto minmax(6rem,1.25fr);align-items:center;gap:.48rem;min-width:0;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 74%,transparent);border-radius:12px;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-soft, #eef6ff));padding:.42rem .48rem}.code-trace-frame-local strong{min-width:0;color:var(--ct-primary, #082343);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere}.code-trace-frame-local>span{justify-self:start;border-radius:999px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 70%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);padding:.14rem .38rem;font-size:.58rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.code-trace-frame-local code{justify-self:end;min-width:0;max-width:100%;text-align:right}.code-trace-frame-local .code-trace-value-str{display:block;justify-self:stretch;text-align:left;line-height:1.45;word-break:break-word;overflow-wrap:anywhere}.code-trace-frame-local.is-used-now{border-color:color-mix(in srgb,var(--ct-accent, #f97316) 50%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,var(--ct-accent, #f97316) 8%,var(--ct-panel, #fff));box-shadow:inset 4px 0 0 var(--ct-accent, #f97316),0 10px 20px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.code-trace-frame-local.is-new,.code-trace-frame-local.is-changed{border-color:color-mix(in srgb,var(--ct-info, #2563eb) 48%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,var(--ct-info, #2563eb) 8%,var(--ct-panel, #fff));box-shadow:inset 4px 0 0 var(--ct-info, #2563eb),0 10px 20px color-mix(in srgb,var(--ct-info, #2563eb) 12%,transparent)}.code-trace-frame-local.is-used-now>span{background:color-mix(in srgb,var(--ct-accent, #f97316) 16%,var(--ct-panel, #fff));color:var(--ct-accent-strong, #c2410c)}.code-trace-frame-local.is-new>span,.code-trace-frame-local.is-changed>span{background:color-mix(in srgb,var(--ct-info, #2563eb) 14%,var(--ct-panel, #fff));color:#1d4ed8}.code-trace-frame-local.is-reference{grid-template-columns:minmax(4.25rem,.6fr) auto minmax(8rem,1.35fr)}.code-trace-v2-graph{display:grid;grid-template-columns:1fr;gap:.75rem;min-width:0}.code-trace-v2-frames,.code-trace-v2-heap{display:grid;align-content:start;gap:.6rem;min-width:0}.code-trace-v2-frame,.code-trace-v2-object{display:grid;gap:.55rem;min-width:0;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 74%,transparent);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-soft, #eef6ff)),var(--ct-panel, #fff));padding:.62rem;box-shadow:0 10px 22px #0f172a12}.code-trace-v2-frame .code-trace-frame-head,.code-trace-v2-heap>.code-trace-frame-head,.code-trace-v2-frames>.code-trace-frame-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.code-trace-v2-frame .code-trace-frame-head strong{justify-self:end;max-width:14rem;text-align:right}.code-trace-v2-frame .code-trace-frame-local{grid-template-columns:minmax(5rem,.8fr) auto minmax(0,1fr)}.code-trace-v2-frame .code-trace-frame-local code{justify-self:stretch;text-align:left}.code-trace-v2-frame .code-trace-frame-local .code-trace-value{display:block;width:100%}.code-trace-v2-frame.is-current{border-color:color-mix(in srgb,var(--ct-accent, #f97316) 50%,var(--ct-border, #d7e1ef));background:linear-gradient(90deg,color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent),transparent 74%),var(--ct-panel, #fff);box-shadow:inset 4px 0 0 var(--ct-accent, #f97316),0 14px 26px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.code-trace-v2-object{border-color:color-mix(in srgb,var(--ct-info, #2563eb) 32%,var(--ct-border, #d7e1ef));background:linear-gradient(180deg,color-mix(in srgb,var(--ct-info, #2563eb) 7%,var(--ct-panel, #fff)),var(--ct-panel, #fff))}.code-trace-v2-object.is-changed{border-color:color-mix(in srgb,#16a34a 52%,var(--ct-border, #d7e1ef));background:linear-gradient(180deg,color-mix(in srgb,#22c55e 12%,var(--ct-panel, #fff)),var(--ct-panel, #fff));box-shadow:inset 4px 0 #16a34a,0 14px 26px color-mix(in srgb,#22c55e 14%,transparent)}.code-trace-v2-object p{margin:0;border-radius:10px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 64%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);padding:.45rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;overflow-wrap:anywhere}.code-trace-v2-object-grid{display:grid;gap:.58rem;min-width:0}.code-trace-v2-references{display:grid;gap:.35rem;min-width:0}.code-trace-v2-references span{display:grid;grid-template-columns:minmax(3.5rem,.85fr) auto minmax(4.5rem,1fr);align-items:center;gap:.38rem;border:1px dashed color-mix(in srgb,var(--ct-info, #2563eb) 38%,var(--ct-border, #d7e1ef));border-radius:999px;background:color-mix(in srgb,var(--ct-info, #2563eb) 6%,var(--ct-panel, #fff));padding:.28rem .46rem;font-size:.72rem}.code-trace-v2-references strong,.code-trace-v2-references code{min-width:0;color:var(--ct-primary, #082343);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.code-trace-v2-references em{color:var(--ct-muted, #667085);font-style:normal;font-weight:800}.code-trace-object-list-wrap{display:grid;gap:.52rem;min-width:0;overflow-x:auto;scroll-padding-inline:.5rem}.code-trace-object-card{display:grid;gap:.46rem;min-width:min(100%,280px);border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 74%,transparent);border-radius:13px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 52%,var(--ct-panel, #fff));padding:.54rem}.code-trace-object-card.is-used-now{border-color:color-mix(in srgb,var(--ct-accent, #f97316) 48%,var(--ct-border, #d7e1ef));box-shadow:0 10px 22px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.code-trace-list-slots,.code-trace-object-pairs{display:flex;align-items:stretch;gap:.16rem;min-width:0;overflow-x:auto;padding-bottom:.12rem}.code-trace-list-slots span,.code-trace-object-pairs span{flex:0 0 auto;min-width:2.5rem;border:1px solid color-mix(in srgb,#f59e0b 32%,var(--ct-border, #d7e1ef));border-radius:8px;background:color-mix(in srgb,#fef3c7 74%,var(--ct-panel, #fff));color:var(--ct-primary, #082343);display:grid;justify-items:center;gap:.08rem;padding:.32rem .42rem}.code-trace-list-slots em,.code-trace-object-pairs em{color:var(--ct-muted, #667085);font-size:.62rem;font-style:normal;font-weight:850}.code-trace-list-slots strong,.code-trace-object-pairs strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.code-trace-list-slots .is-more,.code-trace-object-pairs .is-more{place-items:center;background:color-mix(in srgb,var(--ct-border, #d7e1ef) 36%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);font-weight:900}.code-trace-variable-bucket{position:relative;display:grid;gap:.5rem;min-width:0;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 74%,transparent);border-radius:15px 15px 18px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-panel, #fff) 90%,var(--ct-soft, #eef6ff)),var(--ct-panel, #fff));padding:.66rem;box-shadow:inset 0 -5px color-mix(in srgb,var(--ct-border, #d7e1ef) 42%,transparent),0 10px 22px #0f172a0f}.code-trace-variable-bucket.is-used-now{border-color:color-mix(in srgb,var(--ct-accent, #f97316) 52%,var(--ct-border, #d7e1ef));box-shadow:inset 0 -5px color-mix(in srgb,var(--ct-accent, #f97316) 24%,transparent),0 12px 24px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.code-trace-variable-bucket.is-new{border-color:color-mix(in srgb,#2563eb 48%,var(--ct-border, #d7e1ef))}.code-trace-variable-bucket.is-changed{border-color:color-mix(in srgb,#22c55e 52%,var(--ct-border, #d7e1ef));background:linear-gradient(180deg,color-mix(in srgb,#22c55e 10%,var(--ct-panel, #fff)),var(--ct-panel, #fff))}.code-trace-variable-bucket-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.code-trace-variable-bucket-head strong{min-width:0;color:var(--ct-primary, #082343);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;overflow-wrap:anywhere}.code-trace-variable-bucket-head span{flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 72%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);padding:.16rem .45rem;font-size:.62rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.code-trace-variable-bucket.is-used-now .code-trace-variable-bucket-head span{background:color-mix(in srgb,var(--ct-accent, #f97316) 16%,var(--ct-panel, #fff));color:var(--ct-accent-strong, #c2410c)}.code-trace-variable-bucket.is-new .code-trace-variable-bucket-head span{background:color-mix(in srgb,#2563eb 12%,var(--ct-panel, #fff));color:#1d4ed8}.code-trace-variable-bucket.is-changed .code-trace-variable-bucket-head span{background:color-mix(in srgb,#22c55e 14%,var(--ct-panel, #fff));color:#15803d}.code-trace-no-declared-vars{margin:0;border-radius:12px;background:color-mix(in srgb,var(--ct-border, #d7e1ef) 28%,transparent);padding:.54rem .62rem;color:var(--ct-muted, #667085);font-size:.82rem}.code-trace-state-panel dl{display:grid;gap:.45rem;margin-top:0}.code-trace-state-panel dl>div{border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);border-radius:12px;background:var(--ct-panel, #fff);padding:.52rem}.code-trace-state-panel dl>div.is-changed{border-color:color-mix(in srgb,#2563eb 45%,var(--ct-border, #d7e1ef));background:color-mix(in srgb,#dbeafe 42%,var(--ct-panel, #fff));box-shadow:inset 3px 0 #2563eb}.code-trace-state-panel dt{color:var(--ct-muted, #667085);font-size:.72rem;font-weight:850}.code-trace-state-panel dd{margin:.2rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere}.code-trace-state-panel dd pre,.code-trace-result-box pre{margin:.4rem 0 0;max-height:10rem;overflow:auto;border-radius:10px;background:#07172d;color:#dbeafe;padding:.55rem;white-space:pre-wrap}.code-trace-value{display:inline-flex;max-width:100%;border-radius:8px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 70%,var(--ct-panel, #fff));color:var(--ct-primary, #082343);padding:.16rem .32rem;overflow-wrap:anywhere;white-space:pre-wrap}.code-trace-change-label{display:inline-flex;margin-left:.45rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:.12rem .42rem;font-family:inherit;font-size:.68rem;font-weight:900;text-transform:uppercase}.code-trace-controls{position:sticky;bottom:0;z-index:8;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;margin:0;padding:.75rem clamp(1rem,2.4vw,1.5rem) clamp(.9rem,2vw,1.2rem);border-top:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 68%,transparent);background:color-mix(in srgb,var(--ct-panel, #fff) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -16px 28px color-mix(in srgb,var(--ct-bg, #f6f8fc) 44%,transparent)}.code-trace-footer-status{display:grid;gap:.12rem;margin-right:auto}.code-trace-footer-status strong{color:var(--ct-primary, #082343);font-size:.86rem}.code-trace-footer-status span{color:var(--ct-muted, #667085);font-size:.72rem;font-weight:800}.code-trace-footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.code-trace-controls button{border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:.58rem .85rem;font-weight:850}.code-trace-controls button:disabled{opacity:.45;cursor:not-allowed}.code-trace-empty-state{border:1px dashed color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-primary, #082343));border-radius:16px;background:color-mix(in srgb,var(--ct-soft, #eef6ff) 58%,var(--ct-panel, #fff));color:var(--ct-muted, #667085);padding:1rem}.code-trace-empty-state strong{display:block;color:var(--ct-primary, #082343);font-size:.95rem}.code-trace-empty-state p{margin:.35rem 0 0}.code-trace-empty-state.is-error{border-color:#fecaca;background:#fff1f2;color:#7f1d1d}.code-trace-empty-state.is-error strong{color:#991b1b}.problem-visualize-button{width:100%;margin:.8rem 0 0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid color-mix(in srgb,var(--ct-accent, #f97316) 52%,var(--ct-border, #d7e1ef));border-radius:14px;background:color-mix(in srgb,var(--ct-accent, #f97316) 10%,var(--ct-panel, #fff));color:var(--ct-accent-strong, #c2410c);padding:.75rem .85rem;font-weight:900}.workspace-visual-diagram.anim-add .workspace-visual-token.is-active,.workspace-visual-diagram.anim-visit .workspace-visual-svg .is-active circle{animation:workspaceVisualSoftEnter .62s ease}.workspace-visual-diagram.anim-remove .workspace-visual-token.is-active{animation:workspaceVisualSoftExit .62s ease}.workspace-visual-diagram.anim-slide .workspace-visual-token.is-window,.workspace-visual-diagram.anim-grow .workspace-visual-token.is-window,.workspace-visual-diagram.anim-highlight .workspace-visual-token.is-active{animation:workspaceVisualSoftGlow .72s ease}@keyframes workspaceVisualSoftEnter{0%{opacity:.65;transform:translateY(22px) scale(.92);box-shadow:0 0 0 1px color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}70%{opacity:1;transform:translateY(-8px) scale(1.06)}to{opacity:1;transform:translateY(-6px) scale(1.04);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 20%,transparent),0 16px 28px #f973162e}}@keyframes workspaceVisualSoftExit{0%{opacity:.78;transform:translateY(-6px) scale(1.04)}55%{opacity:.46;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(-6px) scale(1.04)}}@keyframes workspaceVisualSoftGlow{0%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}48%{transform:translateY(-7px) scale(1.05);box-shadow:0 0 0 8px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}to{transform:translateY(0) scale(1);box-shadow:0 8px 18px #0f172a14}}@keyframes workspaceVisualDash{to{stroke-dashoffset:-20}}@keyframes workspaceTreeCursor{0%{transform:translateY(-3px);opacity:.78}to{transform:translateY(4px);opacity:1}}@keyframes workspaceNodePulse{0%{stroke-width:4;filter:drop-shadow(0 0 0 rgba(249,115,22,0))}to{stroke-width:6;filter:drop-shadow(0 8px 10px rgba(249,115,22,.28))}}@keyframes workspaceQueueMove{0%{transform:translate(-18px) scale(.96)}70%{transform:translate(6px) translateY(-6px) scale(1.05)}to{transform:translateY(-6px) scale(1.04)}}@keyframes workspaceScanFocus{0%{transform:translate(-12px) scale(.98)}55%{transform:translateY(-9px) scale(1.06)}to{transform:translateY(-6px) scale(1.04)}}@keyframes workspaceStackDrop{0%{transform:translateY(-26px) scale(.94);opacity:.72}72%{transform:translateY(4px) scale(1.03);opacity:1}to{transform:translateY(-6px) scale(1.04)}}@keyframes workspaceTableLookup{0%{transform:translate(-12px)}55%{transform:translate(14px)}to{transform:translate(10px)}}@keyframes workspaceIntervalSlide{0%{transform:translate(-16px);opacity:.7}65%{transform:translate(8px) translateY(-8px);opacity:1}to{transform:translateY(-8px);opacity:1}}body.coding-dark .workspace-visualizer-error{color:#fecaca;background:#7f1d1d4d}body.coding-dark .workspace-visualizer-code pre{background:#070c18}body.coding-dark .workspace-visualizer-backdrop{background:#020617b8}body.coding-dark .code-trace-modal .workspace-visualizer-head,body.coding-dark .code-trace-controls{border-color:color-mix(in srgb,var(--ct-border, #3d5f91) 72%,transparent);background:color-mix(in srgb,var(--ct-panel, #102849) 92%,transparent)}body.coding-dark .code-trace-current-line{border-color:color-mix(in srgb,var(--ct-accent, #ffb86b) 46%,var(--ct-border, #3d5f91));background:linear-gradient(90deg,color-mix(in srgb,var(--ct-accent, #ffb86b) 12%,transparent),transparent 74%),color-mix(in srgb,var(--ct-panel-raised, #193962) 62%,var(--ct-editor-bg, #09192e));box-shadow:inset 4px 0 0 var(--ct-accent, #ffb86b),0 14px 26px #ffb86b17}body.coding-dark .code-trace-current-line span{color:#ffd3a0}body.coding-dark .code-trace-current-line code{border-color:color-mix(in srgb,var(--ct-accent, #ffb86b) 34%,var(--ct-border, #3d5f91));background:color-mix(in srgb,var(--ct-editor-bg, #09192e) 82%,#000);color:#f6fbff}body.coding-dark .code-trace-error-card{border-color:#f8717194;background:linear-gradient(90deg,rgba(248,113,113,.13),transparent 76%),#7f1d1d33;box-shadow:inset 4px 0 #f87171,0 14px 26px #f871711a}body.coding-dark .code-trace-error-card span,body.coding-dark .code-trace-error-card strong,body.coding-dark .code-trace-error-card p{color:#fecaca}body.coding-dark .code-trace-variable-updates{border-color:color-mix(in srgb,var(--ct-info, #8bbdff) 34%,var(--ct-border, #3d5f91));background:#8bbdff14}body.coding-dark .code-trace-variable-updates>span{color:#bcd0ec}body.coding-dark .code-trace-v2-frame,body.coding-dark .code-trace-v2-object{border-color:#8bbdff57;background:linear-gradient(180deg,#8bbdff1a,#60a5fa0a),#08192ef0;box-shadow:inset 0 1px #ffffff14,0 16px 28px #02061747}body.coding-dark .code-trace-v2-frame.is-current{border-color:color-mix(in srgb,var(--ct-accent, #ffb86b) 52%,var(--ct-border, #3d5f91));background:linear-gradient(90deg,rgba(255,184,107,.13),transparent 72%),#122a48f5;box-shadow:inset 4px 0 0 var(--ct-accent, #ffb86b),0 16px 30px #ffb86b1a}body.coding-dark .code-trace-v2-object{border-color:#8bbdff6b}body.coding-dark .code-trace-v2-object.is-changed{border-color:#4ade8094;background:linear-gradient(180deg,#22c55e29,#22c55e0d),#08192ef5;box-shadow:inset 4px 0 #4ade80,0 16px 30px #22c55e1a}body.coding-dark .code-trace-v2-object p{background:#030c1ba3;color:#dbeafe}body.coding-dark .code-trace-v2-references span{border-color:#8bbdff6b;background:#8bbdff1a}body.coding-dark .code-trace-v2-references strong,body.coding-dark .code-trace-v2-references code{color:#f8fafc}body.coding-dark .code-trace-v2-references em{color:#bfd2ea}.code-trace-v2-references{display:none}body.coding-dark .code-trace-variable-updates p{border-color:#94a3b838;background:#0f172a94;color:#f4f8ff}body.coding-dark .code-trace-variable-updates p.is-used-now{border-color:color-mix(in srgb,var(--ct-accent, #ffb86b) 42%,var(--ct-border, #3d5f91));background:#ffb86b1f}body.coding-dark .code-trace-variable-updates p.is-new,body.coding-dark .code-trace-variable-updates p.is-changed{border-color:#8bbdff6b;background:#8bbdff1f}body.coding-dark .code-trace-variable-updates p>span{color:#cbd5e1}body.coding-dark .code-trace-variable-bucket{border-color:color-mix(in srgb,var(--ct-border, #3d5f91) 74%,transparent);background:linear-gradient(180deg,#ffffff0b,#fff0),color-mix(in srgb,var(--ct-panel, #102849) 74%,var(--ct-editor-bg, #09192e));box-shadow:inset 0 -5px #94a3b81f,0 12px 24px #0000003d}body.coding-dark .code-trace-variable-bucket.is-used-now{border-color:color-mix(in srgb,var(--ct-accent, #ffb86b) 48%,var(--ct-border, #3d5f91));box-shadow:inset 0 -5px #ffb86b2e,0 14px 28px #ffb86b1a}body.coding-dark .code-trace-variable-bucket.is-new{border-color:#60a5fa8a}body.coding-dark .code-trace-variable-bucket.is-changed{border-color:#8bbdff94;background:linear-gradient(180deg,#8bbdff1f,#8bbdff0a),color-mix(in srgb,var(--ct-panel, #102849) 74%,var(--ct-editor-bg, #09192e))}body.coding-dark .code-trace-variable-bucket-head strong{color:#f4f8ff}body.coding-dark .code-trace-variable-bucket-head span{background:#0f172aa3;color:#cbd5e1}body.coding-dark .code-trace-variable-bucket.is-used-now .code-trace-variable-bucket-head span{background:#ffb86b2e;color:#ffd3a0}body.coding-dark .code-trace-variable-bucket.is-new .code-trace-variable-bucket-head span{background:#60a5fa2e;color:#bfdbfe}body.coding-dark .code-trace-variable-bucket.is-changed .code-trace-variable-bucket-head span{background:#8bbdff2e;color:#dbeafe}body.coding-dark .code-trace-object-meta span{border:1px solid rgba(139,189,255,.34);background:#8bbdff38;color:#eff6ff;box-shadow:0 6px 12px #03071229}body.coding-dark .code-trace-object-card{border-color:#8bbdff6b;background:linear-gradient(180deg,#8bbdff21,#3b82f60f),#08192eeb;box-shadow:inset 0 1px #ffffff14,0 14px 26px #02061747}body.coding-dark .code-trace-object-head span{color:#bfdbfe}body.coding-dark .code-trace-object-head strong{color:#fff}body.coding-dark .code-trace-list-slots span,body.coding-dark .code-trace-object-pairs span{border-color:#93c5fd8f;background:linear-gradient(180deg,#3b82f657,#1d4ed833),#071426f5;color:#f8fbff;box-shadow:inset 0 1px #ffffff1f,0 8px 14px #0206173d}body.coding-dark .code-trace-list-slots em,body.coding-dark .code-trace-object-pairs em{color:#dbeafe}body.coding-dark .code-trace-list-slots strong,body.coding-dark .code-trace-object-pairs strong{color:#fff}body.coding-dark .code-trace-list-slots .is-more,body.coding-dark .code-trace-object-pairs .is-more{border-color:#94a3b847;background:#0f172ab8;color:#cbd5e1}body.coding-dark .code-trace-state-panel dl>div.is-changed{border-color:#60a5fa94;background:#2563eb29;box-shadow:inset 3px 0 #60a5fa}body.coding-dark .code-trace-value{background:#0f172aad;color:#dbeafe}body.coding-dark .code-trace-change-label{background:#2563eb47;color:#bfdbfe}body.coding-dark .code-trace-call-stack{border-color:#60a5fa6b;background:#2563eb24}body.coding-dark .code-trace-call-stack li{background:#0f172ac2;color:#dbeafe}body.coding-dark .code-trace-call-stack li.is-current{background:#60a5fa;color:#07172d}body.coding-dark .code-trace-empty-state{border-color:#94a3b86b;background:#0f172a80;color:#cbd5e1}body.coding-dark .code-trace-empty-state strong{color:#f8fafc}body.coding-dark .code-trace-empty-state.is-error{border-color:#f8717185;background:#7f1d1d42;color:#fecaca}body.coding-dark .code-trace-empty-state.is-error strong{color:#fecaca}body.coding-dark .problem-visualize-button{border-color:color-mix(in srgb,var(--ct-primary, #9cc5f3) 48%,var(--ct-border, #3d5f91));background:color-mix(in srgb,var(--ct-primary, #9cc5f3) 14%,var(--ct-panel-raised, #193962));color:var(--ct-primary-hover, #bdd8f8);font-weight:700}body.coding-dark .problem-visualize-button:hover:not(:disabled){border-color:var(--ct-primary, #9cc5f3);background:color-mix(in srgb,var(--ct-primary, #9cc5f3) 24%,var(--ct-panel-raised, #193962));color:#fff}@media (max-width: 900px){.workspace-visualizer-config{grid-template-columns:1fr}.workspace-visual-diagram{min-height:280px}.code-trace-stage,.code-trace-v2-graph{grid-template-columns:1fr}}@media (max-width: 1100px){.code-trace-frame-local{grid-template-columns:minmax(4.25rem,.7fr) auto minmax(5rem,1fr)}}@media (max-width: 640px){.workspace-visualizer-panel{padding:.65rem;overflow:auto}.workspace-visualizer.is-panel{max-width:none}.workspace-visualizer-head{gap:.65rem;margin-bottom:.65rem}.workspace-visualizer-head h3{font-size:clamp(1.18rem,7vw,1.55rem);line-height:1.12}.workspace-visualizer-head p{font-size:.88rem;line-height:1.42}.workspace-visualizer-stage{gap:.65rem;margin-top:.65rem}.workspace-visualizer-backdrop{align-items:stretch;justify-items:stretch;padding:0}.workspace-visualizer-backdrop>div{width:100vw;max-height:100dvh;border-radius:0}.workspace-visualizer.is-modal{padding:.8rem}.workspace-visualizer.is-modal .workspace-visualizer-head{position:sticky;top:0;z-index:10;margin:-.8rem -.8rem 0;padding:.85rem .8rem .7rem;border-bottom:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 72%,transparent);background:color-mix(in srgb,var(--ct-panel, #fff) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace-visual-close{width:38px;min-width:38px;height:38px;min-height:38px;justify-content:center;padding:0}.workspace-visual-diagram{justify-content:start;min-height:310px;padding:.75rem;overflow:auto;place-items:center start;scroll-padding-inline:20px}.workspace-visual-diagram>*{flex-shrink:0}.workspace-visual-track{min-width:520px;padding-block:2.6rem 1rem}.workspace-decision-flow{min-width:640px}.workspace-visual-svg,.workspace-visual-timeline,.workspace-visual-table,.workspace-visual-grid-cells,.workspace-visual-call-stack{min-width:min(520px,calc(100vw - 28px))}.workspace-visualizer-step{padding:.8rem;margin-bottom:.65rem}.workspace-visualizer-nav{position:sticky;bottom:0;z-index:9;margin:.7rem -.8rem -.8rem;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:color-mix(in srgb,var(--ct-panel, #fff) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workspace-visualizer-progress{justify-content:flex-start;overflow-x:auto;padding-bottom:.2rem}.workspace-visualizer-controls{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:.2rem}.workspace-visualizer-controls button{flex:0 0 auto;min-height:36px;padding:.5rem .72rem;font-size:.78rem}.workspace-visualizer-controls button{width:auto}.code-trace-modal .workspace-visualizer-head{align-items:start;padding:.9rem .85rem .75rem}.code-trace-modal .workspace-visualizer-head h3{font-size:clamp(1.25rem,7vw,1.55rem)}.code-trace-modal .workspace-visualizer-head p{font-size:.9rem}.code-trace-stage{grid-template-columns:minmax(0,1fr);gap:.75rem;margin:.75rem .75rem .85rem}.code-trace-code-window pre{max-height:38dvh}.code-trace-state-panel{overflow:visible}.code-trace-variable-updates{margin-inline:.6rem;padding:.58rem}.code-trace-controls{position:sticky;bottom:0;z-index:9;display:grid;grid-template-columns:1fr;gap:.55rem;padding:.7rem .8rem;background:color-mix(in srgb,var(--ct-panel, #fff) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.code-trace-frame-local{grid-template-columns:1fr;justify-items:start}.code-trace-v2-references span{grid-template-columns:1fr;border-radius:14px}.code-trace-frame-local code{justify-self:stretch;text-align:left}.code-trace-footer-status{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.code-trace-footer-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.code-trace-controls button{width:100%;min-height:36px;padding-inline:.4rem;font-size:.78rem}.code-trace-code-window pre span{grid-template-columns:3ch minmax(0,1fr);gap:.55rem;padding-inline:.65rem}.code-trace-frame-local .trace-inline-value,.code-trace-frame-local code{max-width:100%;overflow-wrap:anywhere}}@media (prefers-reduced-motion: reduce){.workspace-visual-diagram *,.workspace-visual-token{animation:none!important;transition:none!important}}.coding-app.coding-workspace-active .coding-app-main,.coding-app.coding-workspace-active .coding-app-content,.coding-app.coding-workspace-active .coding-workbench,.coding-app.coding-workspace-active .coding-workbench-main{min-height:0}.coding-app.coding-workspace-active .coding-problem-panel,.coding-app.coding-workspace-active .coding-editor-center{height:100%;min-height:0;overflow:hidden;box-shadow:0 8px 18px #18244014!important}.coding-app.coding-workspace-active .coding-problem-content,.coding-app.coding-workspace-active .coding-problem-empty,.coding-app.coding-workspace-active .workspace-tab-body{min-height:0;overflow:auto}.coding-app.coding-workspace-active .coding-editor-center{display:flex;flex-direction:column}.coding-app.coding-workspace-active .workspace-tab-body{flex:1 1 auto;display:flex;flex-direction:column}.editor-terminal-stack{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.editor-terminal-stack .workspace-tab-body{flex:1 1 auto;min-height:0}.coding-app.coding-workspace-active .editor-terminal-stack .code-editor-window{flex:1 1 auto;min-height:120px}.editor-terminal-divider{flex:0 0 auto;position:relative;height:10px;cursor:ns-resize;background:var(--ct-panel-soft, #f1ece2);border-top:1px solid var(--ct-border, #d8cbb8);border-bottom:1px solid var(--ct-border, #d8cbb8);touch-action:none}.editor-terminal-divider:hover,.editor-terminal-divider:focus-visible{background:color-mix(in srgb,var(--ct-accent, #f58220) 18%,var(--ct-panel-soft, #f1ece2));outline:none}.editor-terminal-divider-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:3px;border-radius:999px;background:color-mix(in srgb,var(--ct-text, #2a2118) 28%,transparent)}.editor-terminal-divider:hover .editor-terminal-divider-grip,.editor-terminal-divider:focus-visible .editor-terminal-divider-grip{background:var(--ct-accent, #f58220)}.coding-dock-terminal{flex:0 1 auto;min-height:0;max-height:62%;overflow:hidden;background:#0a101e}body.ct-terminal-resizing,body.ct-terminal-resizing *{cursor:ns-resize!important;-webkit-user-select:none!important;user-select:none!important}.workspace-tabs{display:flex;align-items:flex-end;gap:1.5rem;border-bottom:1px solid var(--ct-border);padding:0 .25rem}.coding-app .workspace-tabs>button,.coding-app .workspace-tabs>button:hover{display:inline-flex;align-items:center;gap:.5rem;background:transparent!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;transform:none!important;border-bottom:3px solid transparent!important;margin-bottom:-1px;padding:.4rem .15rem .5rem!important;font-weight:600;font-size:.95rem;color:var(--ct-muted)!important;cursor:pointer}body.coding-dark .coding-app .workspace-tabs>button.active{border-bottom-color:#3b82f6!important}.workspace-tabs .terminal-tab{margin-left:auto}.coding-app .workspace-tabs .terminal-tab.active,body.coding-dark .coding-app .workspace-tabs .terminal-tab.active{background:transparent!important;color:var(--ct-primary)!important;border-bottom-color:var(--ct-accent)!important}body.coding-dark .coding-app .workspace-tabs .terminal-tab.active{color:#eaf0fb!important;border-bottom-color:#3b82f6!important}body.coding-dark .coding-app.coding-workspace-active .coding-problem-panel,body.coding-dark .coding-app.coding-workspace-active .coding-editor-center{box-shadow:0 8px 18px #00000038!important}body.coding-dark .coding-app .workspace-tabs .terminal-tab.active{background:transparent!important;color:#eaf0fb!important;border-bottom-color:#3b82f6!important}@media (max-width: 900px){.workspace-tabs .terminal-tab{margin-left:0}.coding-app.terminal-open .coding-workbench-main,.coding-app.terminal-closed .coding-workbench-main,.coding-app.coding-workspace-active .workspace-tab-body .code-editor-window,.coding-app.terminal-closed .workspace-tab-body .code-editor-window{min-height:auto!important}}.coding-app.coding-workspace-active{box-sizing:border-box!important;height:calc(100vh - var(--nav-h, 70px))!important;max-height:calc(100vh - var(--nav-h, 70px))!important;min-height:0!important;overflow:hidden!important;align-content:stretch}.coding-app.coding-workspace-active .coding-app-main,.coding-app.coding-workspace-active .coding-app-content,.coding-app.coding-workspace-active .coding-workbench,.coding-app.coding-workspace-active .coding-workbench-main{height:100%!important;min-height:0!important;overflow:hidden!important}.coding-app.terminal-open .coding-workbench-main,.coding-app.terminal-closed .coding-workbench-main{min-height:0!important}.coding-app.coding-workspace-active .coding-workbench{display:flex;flex-direction:column}.coding-app.coding-workspace-active .coding-workbench-main{flex:1 1 auto;display:grid;grid-template-columns:minmax(240px,var(--workspace-guide-width, 340px)) 12px minmax(0,1fr)!important;gap:0}.coding-app.coding-workspace-active .coding-problem-panel{grid-column:1}.coding-app.coding-workspace-active .workspace-guide-divider{grid-column:2}.coding-app.coding-workspace-active .coding-editor-center{grid-column:3}.workspace-guide-divider{align-self:stretch;position:relative;cursor:ew-resize;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ct-border, #d8cbb8) 78%,transparent),transparent);border:0;touch-action:none;min-width:12px;z-index:2}.workspace-guide-divider:before{content:"";position:absolute;top:12px;right:4px;bottom:12px;left:4px;border-radius:999px;background:color-mix(in srgb,var(--ct-border, #d8cbb8) 70%,transparent);opacity:.85;transition:background .16s ease,opacity .16s ease,box-shadow .16s ease}.workspace-guide-divider:hover:before,.workspace-guide-divider:focus-visible:before{background:color-mix(in srgb,var(--ct-primary, #0b2a4a) 70%,var(--ct-accent, #f58220));box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary, #0b2a4a) 16%,transparent);opacity:1}.workspace-guide-divider:focus-visible{outline:none}.workspace-guide-divider-grip{position:absolute;top:50%;left:50%;width:3px;height:44px;transform:translate(-50%,-50%);border-radius:999px;background:color-mix(in srgb,var(--ct-text, #1d2a3a) 28%,transparent)}.workspace-guide-divider:hover .workspace-guide-divider-grip,.workspace-guide-divider:focus-visible .workspace-guide-divider-grip{background:#fff}body.ct-guide-resizing,body.ct-guide-resizing *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.coding-app.coding-workspace-active .coding-problem-panel,.coding-app.coding-workspace-active .coding-editor-center{min-height:0!important;max-height:100%;border-radius:16px!important}.coding-app.coding-workspace-active .workspace-tab-body{min-height:0!important}.coding-app.coding-workspace-active .workspace-tab-body .leetcode-editor,.coding-app.terminal-closed .workspace-tab-body .leetcode-editor,.coding-app.terminal-open .workspace-tab-body .leetcode-editor{flex:1 1 auto;min-height:0!important}.coding-app.coding-workspace-active.terminal-open .coding-editor-center,.coding-app.coding-workspace-active.terminal-open .coding-problem-panel{min-height:0!important;overflow:hidden!important}@media (max-height: 780px),(max-width: 1180px){.coding-app.coding-workspace-active .coding-workbench-main{gap:0}}@media (max-width: 726px){.coding-app.coding-workspace-active .coding-workbench-main{grid-template-columns:minmax(0,1fr)!important;gap:10px;overflow:auto!important}.workspace-guide-divider{display:none}.coding-app.coding-workspace-active .coding-problem-panel,.coding-app.coding-workspace-active .coding-editor-center{grid-column:1;max-height:none}}@media (max-width: 726px){.coding-app.coding-workspace-active{height:auto!important;max-height:none!important;overflow:visible!important}}.code-editor-window{--ed-font: "Cascadia Code", "Fira Code", Consolas, "Liberation Mono", monospace;--ed-size: .92rem;--ed-lh: 1.55;--ed-pad-y: 12px;--ed-bg: var(--ct-editor-bg, #0f172a);--ed-text: var(--ct-editor-text, #e5e7eb);--ed-border: color-mix(in srgb, var(--ct-primary, #002d72) 26%, #0b1220);flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;max-width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--ed-border);background:var(--ed-bg);box-shadow:0 14px 30px #080f1e38}.code-editor-titlebar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 10px 0 14px;background:color-mix(in srgb,var(--ed-bg) 84%,#000);border-bottom:1px solid color-mix(in srgb,var(--ed-border) 70%,transparent)}.code-editor-titlebar-right{display:flex;align-items:center;gap:10px;min-width:0}.code-trace-button{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--ct-primary, #082343) 18%,var(--ed-border));border-radius:999px;background:color-mix(in srgb,var(--ed-bg) 78%,#fff);color:var(--ed-text);padding:.42rem .7rem;font-size:.78rem;font-weight:850;white-space:nowrap}.code-trace-button:disabled{opacity:.45;cursor:not-allowed}.code-trace-language-note{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ct-warning, #f59e0b) 12%,var(--ed-bg));color:color-mix(in srgb,var(--ed-text) 86%,var(--ct-warning, #f59e0b));padding:.34rem .55rem;font-size:.68rem;font-weight:750;line-height:1;white-space:nowrap}.code-editor-filename{font-family:var(--ed-font);font-size:.8rem;letter-spacing:.02em;color:color-mix(in srgb,var(--ed-text) 78%,transparent);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-editor-lang-control{position:relative;display:inline-flex;align-items:center}.code-editor-lang-control:after{content:"";position:absolute;right:7px;top:50%;width:10px;height:10px;pointer-events:none;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23f58220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat}.code-editor-lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ed-font);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-accent, #f58220);padding:2px 22px 2px 8px;border-radius:6px;background-image:none;transition:background-color .15s ease}.code-editor-lang-select:hover{background-color:#f582201f}.code-editor-lang-select:focus-visible{outline:2px solid rgba(245,130,32,.6);outline-offset:1px}.code-editor-lang-select option{color:#1f2937;background:#fff}.editor-action-icons{display:inline-flex;align-items:center;gap:4px;padding-right:8px;margin-right:4px;border-right:1px solid color-mix(in srgb,var(--ed-border) 60%,transparent)}.editor-action-confirm{display:inline-flex;align-items:center;gap:4px}.editor-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:1px solid transparent;background:transparent;color:color-mix(in srgb,var(--ed-text) 75%,transparent);cursor:pointer;font-size:.82rem;line-height:1;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.editor-action-btn:hover:not(:disabled){background:#ffffff14;color:#fff}.editor-action-btn:focus-visible{outline:2px solid rgba(245,130,32,.6);outline-offset:1px}.editor-action-btn:disabled{opacity:.35;cursor:not-allowed}.editor-action-run{color:#fff;background:color-mix(in srgb,var(--ct-accent, #f58220) 90%,#000);border-color:color-mix(in srgb,var(--ct-accent, #f58220) 70%,#000)}.editor-action-run:hover:not(:disabled){background:var(--ct-accent, #f58220);color:#fff}.editor-action-solve:hover:not(:disabled),.editor-action-confirm-yes:hover:not(:disabled){background:#3fb95038;color:#7ee495}.editor-action-confirm-yes{color:#7ee495;border-color:#3fb95066}.editor-action-clear:hover:not(:disabled),.editor-action-confirm-no:hover:not(:disabled){background:#f8514933;color:#ff8a82}.editor-action-save:hover:not(:disabled){background:#3fb95033;color:#7ee495}.editor-action-upload:hover:not(:disabled){background:#82aaff33;color:#aecbff}.code-editor-shell{flex:1 1 auto;display:flex;min-height:0;background:var(--ed-bg)}.code-editor-gutter{flex:0 0 auto;overflow:hidden;-webkit-user-select:none;user-select:none;text-align:right;padding:var(--ed-pad-y) 12px var(--ed-pad-y) 16px;font-family:var(--ed-font);font-size:var(--ed-size);line-height:var(--ed-lh);color:color-mix(in srgb,var(--ed-text) 58%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--ed-bg) 70%,#000),color-mix(in srgb,var(--ed-bg) 86%,#000));border-right:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 28%,var(--ed-border));box-shadow:inset -1px 0 color-mix(in srgb,#ffffff 5%,transparent)}.code-editor-line-no{display:block;min-width:2ch;padding:0 4px;border-radius:6px}.code-editor-line-no.active{color:var(--ct-accent, #f58220);font-weight:700;background:color-mix(in srgb,var(--ct-accent, #f58220) 16%,transparent);text-shadow:0 0 10px color-mix(in srgb,var(--ct-accent, #f58220) 32%,transparent)}.code-editor-input-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;background:var(--ed-bg)}.code-editor-active-indent-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;pointer-events:none;font-family:var(--ed-font);font-size:var(--ed-size);line-height:var(--ed-lh);tab-size:4;-moz-tab-size:4}.code-editor-active-line-layer{position:absolute;left:0;right:0;top:var(--active-line-top, 0);height:calc(var(--ed-lh) * 1em);border-radius:7px;background:color-mix(in srgb,var(--ct-accent, #f58220) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent, #f58220) 12%,transparent)}.code-editor-active-indent-guide{position:absolute;top:var(--guide-top, 0);height:var(--guide-height, 0);left:calc(16px + (var(--guide-level, 0) * 4ch) - .75ch);width:1px;border-radius:999px;background:linear-gradient(180deg,#f582200f,#f582208a,#f582200f);box-shadow:0 0 8px #f582201f}.code-editor-window .coding-editor,.code-editor-window .leetcode-editor{flex:1 1 auto;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;resize:none!important;font-family:var(--ed-font)!important;font-size:var(--ed-size)!important;line-height:var(--ed-lh)!important;padding:var(--ed-pad-y) 16px!important;box-shadow:none!important;white-space:pre!important;word-wrap:normal!important;overflow:auto;tab-size:4;-moz-tab-size:4}.coding-app .code-editor-window .code-editor-textarea,.code-editor-window .code-editor-textarea{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:transparent!important;background-color:transparent!important;background-image:none!important;color:transparent!important;caret-color:var(--ed-text)!important;-webkit-text-fill-color:transparent!important}.coding-app .code-editor-window .code-editor-textarea::selection,.code-editor-window .code-editor-textarea::selection{background:#f5822085;color:transparent!important;-webkit-text-fill-color:transparent!important}.code-editor-window .code-editor-highlight{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:hidden;margin:0;border:0;border-radius:0;font-family:var(--ed-font);font-size:var(--ed-size);line-height:var(--ed-lh);padding:var(--ed-pad-y) 16px;white-space:pre;word-wrap:normal;tab-size:4;-moz-tab-size:4;background:transparent!important;color:#e6edf3!important}.code-editor-window .code-editor-highlight .tok-keyword{color:#c792ea!important;font-weight:600}.code-editor-window .code-editor-highlight .tok-string{color:#c3e88d!important}.code-editor-window .code-editor-highlight .tok-comment{color:#7d8aa0!important;font-style:italic}.code-editor-window .code-editor-highlight .tok-number{color:#f78c6c!important}.code-editor-window .code-editor-highlight .tok-func{color:#82aaff!important}.code-editor-window .code-editor-highlight .tok-bracket{color:#ffcb6b!important}.code-editor-window .coding-editor:focus,.code-editor-window .leetcode-editor:focus{outline:none!important}.code-editor-window:focus-within{border-color:color-mix(in srgb,var(--ct-accent, #f58220) 55%,var(--ed-border));box-shadow:0 14px 30px #080f1e42,0 0 0 2px color-mix(in srgb,var(--ct-accent, #f58220) 28%,transparent)}.code-editor-statusbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;height:28px;padding:0 12px;font-family:var(--ed-font);font-size:.72rem;letter-spacing:.02em;color:color-mix(in srgb,var(--ed-text) 70%,transparent);background:color-mix(in srgb,var(--ct-primary, #002d72) 22%,var(--ed-bg));border-top:1px solid color-mix(in srgb,var(--ed-border) 70%,transparent)}.code-editor-statusbar .status-left,.code-editor-statusbar .status-right{display:inline-flex;align-items:center;gap:12px}.code-editor-statusbar .status-pill{padding:1px 8px;border-radius:999px;font-weight:700;color:#fff;background:color-mix(in srgb,var(--ct-accent, #f58220) 88%,#000)}.coding-app ::selection,.floating-coding-chat ::selection{background:#f5822057;color:#07111f}body.coding-dark .coding-app ::selection,body.coding-dark .floating-coding-chat ::selection{background:#e7a05b8c;color:#fffaf1}@media (max-width: 640px){.code-editor-statusbar{font-size:.66rem;gap:8px;padding:0 8px}.code-editor-statusbar .status-left,.code-editor-statusbar .status-right{gap:8px}.code-editor-gutter{padding-left:8px;padding-right:6px}}@media (min-width: 641px){.workspace-guide-drawer-shell{display:contents}.workspace-guide-drawer-head,.workspace-guide-drawer-backdrop,.workspace-mobile-guide-toggle{display:none}}@media (max-width: 640px){.coding-app.coding-workspace-active,.coding-app.coding-workspace-active .coding-app-main,.coding-app.coding-workspace-active .coding-app-content,.coding-app.coding-workspace-active .coding-workbench,.coding-app.coding-workspace-active .coding-workbench-main,.coding-app.coding-workspace-active .coding-problem-panel,.coding-app.coding-workspace-active .coding-editor-center,.coding-app.coding-workspace-active .workspace-tab-body{height:auto;max-height:none;min-height:0;overflow:visible}.coding-app.coding-workspace-active{min-height:100dvh}.coding-workbench-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-inline:8px}.workspace-mobile-guide-toggle{display:inline-flex;width:auto;min-height:34px;align-items:center;justify-content:center;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:999px;background:color-mix(in srgb,var(--ct-primary, #082343) 9%,var(--ct-panel, #fff));color:var(--ct-primary, #082343);padding:6px 10px;font-size:.78rem;font-weight:750;box-shadow:none}.coding-workbench-main.mobile-guide-closed .workspace-guide-drawer-backdrop,.coding-workbench-main.mobile-guide-closed .workspace-guide-drawer-shell{pointer-events:none;visibility:hidden}.coding-workbench-main.mobile-guide-closed .workspace-guide-drawer-backdrop{opacity:0}.coding-workbench-main.mobile-guide-closed .workspace-guide-drawer-shell{transform:translate(-105%)}.workspace-guide-divider{display:none!important}.workspace-guide-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1190;display:block;border:0;background:#08142675;opacity:1;transition:opacity .16s ease}.workspace-guide-drawer-shell{position:fixed;inset:0 auto 0 0;z-index:1200;display:flex;width:min(340px,calc(100vw - 28px));max-width:calc(100vw - 28px);flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) 10px 10px;background:var(--ct-bg, #f6f8fc);box-shadow:18px 0 44px #0814263d;transform:translate(0);transition:transform .18s ease,visibility .18s ease}.workspace-guide-drawer-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 9px;color:var(--ct-text, #082343)}.workspace-guide-drawer-head strong{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.workspace-guide-drawer-head button{min-height:32px;border:1px solid var(--ct-border, #d7e1ef);border-radius:999px;background:var(--ct-panel, #fff);color:var(--ct-primary, #082343);padding:5px 10px;font-size:.75rem;font-weight:750}.coding-problem-panel{flex:1 1 auto;max-height:none;min-height:0;overflow:auto;border-radius:14px}.coding-editor-center{min-width:0;min-height:0;height:auto;overflow:visible;padding:9px 8px;gap:8px}.workspace-guide-divider{display:none}.workspace-header{align-items:start;gap:6px}.coding-pane-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.workspace-header h2{max-width:100%;font-size:1rem;line-height:1.15;overflow-wrap:anywhere}.workspace-header .workspace-kicker{font-size:.64rem}.workspace-tabs{display:flex;gap:14px;max-width:100%;overflow-x:auto;padding-inline:2px;scrollbar-width:thin}.workspace-tabs button{flex:0 0 auto;min-height:32px;padding:5px 0;font-size:.86rem}.workspace-tab-body--visualize{overflow:auto;overscroll-behavior:contain}.workspace-tab-body--visualize .workspace-visualizer-panel{min-width:0;width:100%;overflow:auto}.editor-terminal-stack{min-height:0;height:auto;gap:8px}.code-editor-window{min-width:0;min-height:300px;border-radius:13px;--ed-size: .78rem;--ed-lh: 1.62}.code-editor-titlebar{gap:8px;min-width:0;overflow-x:auto;padding:6px 8px;scrollbar-width:thin}.code-editor-filename{flex:1 1 72px;min-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-editor-actions{flex:0 0 auto;gap:6px}.code-editor-actions button{min-width:32px;height:32px}.code-trace-button{max-width:112px;padding-inline:10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-editor-lang-select{max-width:78px;min-width:68px;font-size:.66rem}.code-editor-content{min-width:0;overflow:auto}.code-editor-gutter{flex:0 0 36px;width:36px;min-width:36px}.code-editor-window .coding-editor,.code-editor-window .leetcode-editor,.code-editor-window .code-editor-highlight{padding-inline:12px!important}.code-editor-statusbar{min-width:0;height:auto;min-height:28px;overflow-x:auto;white-space:nowrap}.coding-dock-terminal{height:min(220px,42dvh)!important;min-height:150px!important;border-radius:13px}}.coding-dock-terminal .terminal-panel{width:100%;height:100%!important;min-height:0!important;max-height:none!important;display:flex;flex-direction:column;border-radius:0!important;border:0!important;margin:0!important;background:#0a101e!important;color:#e6edf3!important;box-shadow:none!important;overflow:hidden!important}.coding-dock-terminal .terminal-panel .coding-terminal-header{flex:0 0 auto;min-height:36px!important;padding:0 10px 0 14px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:0!important;background:#0e1626!important;color:#e6edf3!important;border-bottom:1px solid #050a14!important}.coding-terminal-tabs{display:flex;align-items:center;gap:20px;min-width:0;font-family:Cascadia Code,Fira Code,Consolas,Liberation Mono,monospace;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.coding-terminal-tabs span{padding:9px 0 8px;color:#8b98a9;border-bottom:2px solid transparent}.coding-terminal-tabs span.active{color:#e6edf3;border-color:#f58220}.coding-terminal-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.coding-terminal-controls button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;border:1px solid rgba(230,237,243,.16);background:#e6edf30d;color:#cdd6e4;cursor:pointer;font-weight:800;line-height:1}.coding-terminal-controls button:hover{background:linear-gradient(135deg,#f8b15f,#f58220)!important;border-color:#f58220!important;color:#172033!important}.coding-terminal-controls .terminal-stop-btn{border-color:#f8514980!important;background:#f8514929!important;color:#ff8a82!important}.coding-terminal-controls .terminal-stop-btn:hover{background:#f85149!important;border-color:#f85149!important;color:#fff!important}.terminal-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-family:Cascadia Code,Fira Code,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.terminal-status:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor}.terminal-status.ready{color:#8b98a9;background:#8b98a91f;border-color:#8b98a94d}.terminal-status.running{color:#f0b429;background:#f0b4291f;border-color:#f0b42959}.terminal-status.passed,.terminal-status.ran{color:#3fb950;background:#3fb9501f;border-color:#3fb95059}.terminal-status.failed,.terminal-status.error{color:#f85149;background:#f851491f;border-color:#f8514959}.terminal-panel-body{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:0;min-height:0;padding:0;overflow:hidden;background:#0d1424}.terminal-panel-output,.terminal-panel-tests{min-width:0;min-height:0;overflow:auto;padding:10px 12px}.terminal-panel-output{border-right:1px solid rgba(230,237,243,.1)}.terminal-panel-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;color:#8b98a9;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.terminal-panel-heading strong{color:#e6edf3!important;font-size:.82rem;text-transform:none}.terminal-panel-heading em{color:#9aa7b8;font-size:.8rem;font-style:normal;text-transform:none}.terminal-explain-btn{margin-left:auto;border:1px solid rgba(245,130,32,.5);border-radius:999px;background:#f5822029;color:#f9b572;cursor:pointer;font:inherit;font-size:.76rem;font-weight:900;padding:.32rem .66rem;text-transform:none}.terminal-explain-btn:hover{border-color:#f58220;background:#f5822047;color:#ffd29b}.terminal-panel-message{margin:0 0 8px;color:#c2cad6;font-size:.88rem}.terminal-output-kind{display:inline-flex;width:fit-content;margin:0 0 6px;padding:2px 8px;border:1px solid rgba(230,237,243,.16);border-radius:999px;background:#e6edf30f;color:#9aa7b8;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.terminal-panel-empty{width:fit-content;border:1px solid rgba(230,237,243,.08);border-radius:999px;background:transparent;color:#7b8796;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Courier New,monospace;font-size:.74rem;font-weight:700;line-height:1.2;padding:4px 8px}.terminal-panel pre{width:100%;min-height:0!important;max-height:none!important;margin:0!important;padding:0;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere;border:0;border-radius:0;background:transparent!important;color:#e6edf3!important;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Courier New,monospace;font-size:.84rem;line-height:1.55}.terminal-panel-test-list{display:grid;gap:6px;min-height:0}.terminal-panel-test{border:0;border-left:2px solid transparent;border-bottom:1px solid rgba(230,237,243,.08);border-radius:0;background:transparent;color:#e6edf3}.terminal-panel-test.passed{border-left-color:#3fb950}.terminal-panel-test.failed{border-left-color:#f85149}.terminal-panel-test-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:7px 8px 7px 10px;border:0;background:transparent;color:#f0f6fc!important;font-size:.9rem;text-align:left;cursor:pointer}.terminal-panel-test-summary:hover{background:#e6edf30a}.terminal-panel-test-summary strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7eef8!important}.terminal-panel-test-status{color:#7ee787!important;font-size:.72rem;font-weight:900}.terminal-panel-test.failed .terminal-panel-test-status{color:#ff9a93!important}.terminal-panel-test-caret{color:#9aa7b8;font-size:.85rem;font-weight:700}.terminal-panel-test-detail{display:grid;gap:4px;min-width:0;padding:0 8px 8px 10px}.terminal-panel-test-detail code.terminal-actual-bad{color:#ff9a93}.terminal-ask-case-btn{justify-self:start;margin-top:4px;padding:3px 9px;border:1px solid rgba(248,81,73,.4);border-radius:6px;background:#f851491f;color:#ffb3ad;font-size:.74rem;font-weight:600;cursor:pointer}.terminal-ask-case-btn:hover{background:#f8514938}.terminal-panel-test-detail strong{color:#f0f6fc;font-size:.9rem}.terminal-panel-test-detail code{display:block;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;color:#d7e0ec!important;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,Courier New,monospace;font-size:.78rem}.terminal-panel-test.passed .terminal-panel-test-detail code{color:#e7eef8!important}.terminal-panel-test-detail small{color:#ff7b72;font-size:.78rem}body.coding-dark .coding-dock-terminal .terminal-panel{background:#080d18!important}body.coding-dark .coding-dock-terminal .terminal-panel .coding-terminal-header{background:#0b1322!important}body.coding-dark .terminal-panel-body{background:#080d18}@media (max-height: 760px){.terminal-panel-output,.terminal-panel-tests{padding:8px 10px}}@media (max-width: 900px){.terminal-panel-body{grid-template-columns:minmax(0,7fr) minmax(220px,3fr)}}@media (max-width: 640px){.terminal-panel-body{grid-template-columns:1fr}.terminal-panel-output{min-height:72px;border-right:0;border-bottom:1px solid rgba(230,237,243,.1)}}.terminal-solution-review{margin-top:14px;overflow:hidden;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-panel-soft, #f8fafc);color:var(--ct-text, #0f172a)}.terminal-solution-review-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:0;background:color-mix(in srgb,#2f9b5f 10%,var(--ct-surface, #fff));color:var(--ct-text);text-align:left;cursor:pointer}.terminal-solution-review-toggle>span:first-child{display:grid;gap:3px}.terminal-solution-review-toggle small{color:var(--ct-muted);font-weight:500}.terminal-solution-review-toggle>span:last-child{color:var(--ct-primary);font-size:.75rem;font-weight:800;text-transform:uppercase}.terminal-solution-review-body{padding:14px;border-top:1px solid var(--ct-border);color:var(--ct-text, #0f172a)}.terminal-solution-review-body>p{margin:0 0 12px;color:var(--ct-muted, #475569);line-height:1.5}.terminal-solution-insights{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(47,126,214,.22);border-radius:9px;background:#2f7ed614}.terminal-solution-insights>span{display:block;margin-bottom:6px;color:var(--ct-primary, #1d4ed8);font-size:.76rem;font-weight:850;text-transform:uppercase}.terminal-solution-insights ul{margin:0;padding-left:18px;color:var(--ct-text, #0f172a);font-size:.82rem;line-height:1.45}.terminal-solution-insights li+li{margin-top:5px}.terminal-solution-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.terminal-solution-diff{margin-bottom:12px;overflow:hidden;border:1px solid rgba(148,163,184,.26);border-radius:9px;background:#07162b}.terminal-solution-diff-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-bottom:1px solid rgba(148,163,184,.2);color:#b7c1cf;font-size:.76rem;font-weight:800}.terminal-solution-diff-head small{display:inline-flex;align-items:center;gap:6px;color:#8fa0b6;font-weight:600}.terminal-solution-diff-head strong{color:#e7eef8}.terminal-solution-diff pre{max-height:230px;margin:0!important;overflow:auto!important;padding:6px 0!important;background:transparent!important}.terminal-solution-diff .diff-line{display:grid;grid-template-columns:2ch minmax(0,1fr);gap:8px;padding:1px 10px;color:#d7e0ec!important;-webkit-text-fill-color:#d7e0ec!important;white-space:pre-wrap;overflow-wrap:anywhere}.terminal-solution-diff .diff-line span{color:#8fa0b6;font-weight:900}.terminal-solution-diff .diff-line.added{background:#3fb95024}.terminal-solution-diff .diff-line.added span{color:#7ee787}.terminal-solution-diff .diff-line.removed{background:#f8514924}.terminal-solution-diff .diff-line.removed span{color:#ff9a93}.terminal-solution-columns>div{min-width:0}.terminal-solution-columns>div>span{display:block;margin-bottom:6px;color:var(--ct-text, #0f172a);font-size:.78rem;font-weight:800}.terminal-solution-columns pre,.terminal-reference-note{max-height:230px;margin:0;overflow:auto;padding:11px;border-radius:9px;background:#07162b;color:#e7eef8;font-size:.78rem;line-height:1.5;white-space:pre-wrap}.terminal-reference-note{color:#e7eef8!important}.terminal-complexity-note{margin:12px 0 0!important;color:var(--ct-text, #0f172a);font-size:.82rem}body.coding-dark .terminal-solution-review{background:#111827;border-color:#94a3b847;color:#e7eef8!important}.terminal-solution-columns pre code{display:block;color:#e7eef8!important;-webkit-text-fill-color:#e7eef8!important}body.coding-dark .terminal-solution-review-body,body.coding-dark .terminal-solution-columns>div>span,body.coding-dark .terminal-complexity-note{color:#e7eef8}body.coding-dark .terminal-solution-insights{border-color:#60a5fa47;background:#60a5fa1a}body.coding-dark .terminal-solution-insights ul{color:#dbeafe}body.coding-dark .terminal-solution-review-body>p{color:#b7c1cf}@media (max-width: 760px){.terminal-solution-columns{grid-template-columns:1fr}}.progress-badge-section{display:grid;gap:22px}.progress-badge-group{display:grid;gap:11px}.progress-badge-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:2px;border-bottom:1px solid color-mix(in srgb,var(--ct-border) 70%,transparent)}.progress-badge-group-head h3{margin:0;color:var(--ct-text);font-size:.9rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.progress-badge-group-head span{color:var(--ct-muted);font-size:.78rem;font-weight:750;font-variant-numeric:tabular-nums}.progress-badge-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.progress-badge-header h2{margin:2px 0 0;color:var(--ct-text);font-size:clamp(1.15rem,2vw,1.55rem)}.progress-badge-header>span{color:var(--ct-muted);font-size:.86rem;font-weight:750}.progress-badge-nudge{display:flex;align-items:center;gap:10px;margin-top:-4px;padding:9px 13px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ct-accent, #f37021) 24%,var(--ct-border));border-left:3px solid var(--ct-accent, #f37021);background:color-mix(in srgb,var(--ct-accent, #f37021) 8%,var(--ct-panel))}.progress-badge-nudge-tag{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--ct-accent, #f37021) 90%,#b3540f);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.progress-badge-nudge-text{color:var(--ct-text);font-size:.88rem;font-weight:600;line-height:1.3}.progress-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;justify-content:start}.progress-badge-card{--badge-tone: #3b82f6;--badge-tone-contrast: #ffffff;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0;width:100%;padding:13px 14px;border:1px solid var(--ct-border);border-radius:14px;background:var(--ct-solid-raised, var(--ct-panel-raised));color:var(--ct-text);box-shadow:0 8px 20px color-mix(in srgb,var(--ct-primary) 6%,transparent)}.progress-badge-card.not-started{opacity:.68;filter:saturate(.72)}.progress-badge-card.rarity-common{border-left:3px solid color-mix(in srgb,#64748b 60%,var(--ct-border))}.progress-badge-card.rarity-uncommon{border-left:3px solid color-mix(in srgb,#16a34a 70%,var(--ct-border))}.progress-badge-card.rarity-rare{border-left:3px solid color-mix(in srgb,#7c3aed 70%,var(--ct-border))}.progress-badge-card.rarity-epic{border-left:3px solid color-mix(in srgb,#f59e0b 78%,var(--ct-border))}.progress-badge-card.rarity-epic.earned{box-shadow:0 12px 28px color-mix(in srgb,#f59e0b 20%,transparent)}.progress-badge-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#2563eb,#f37021);box-shadow:inset 0 0 0 1px #ffffff29}.progress-badge-icon svg{position:relative;z-index:1}.progress-badge-card.in-progress{--badge-ring-color: var(--badge-tone);--badge-ring-track: color-mix(in srgb, var(--badge-ring-color) 16%, var(--ct-panel-soft));border-color:color-mix(in srgb,var(--badge-ring-color) 34%,var(--ct-border));background:linear-gradient(135deg,color-mix(in srgb,var(--badge-ring-color) 7%,var(--ct-panel)),var(--ct-solid-raised, var(--ct-panel-raised)) 54%)}.progress-badge-card.in-progress .progress-badge-icon{color:var(--badge-ring-color);background:conic-gradient(var(--badge-ring-color) var(--badge-progress, 0%),var(--badge-ring-track) 0);box-shadow:none}.progress-badge-card.in-progress .progress-badge-icon:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:12px;background:color-mix(in srgb,var(--badge-ring-color) 8%,var(--ct-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--badge-ring-color) 24%,var(--ct-border))}.progress-badge-card.orange{--badge-tone: #f97316;--badge-tone-contrast: #172033}.progress-badge-card.green{--badge-tone: #22c55e}.progress-badge-card.purple{--badge-tone: #8b5cf6}.progress-badge-card.gold{--badge-tone: #eab308;--badge-tone-contrast: #172033}.progress-badge-card.red{--badge-tone: #f43f5e}.progress-badge-card.pink{--badge-tone: #ec4899}.progress-badge-card.cyan{--badge-tone: #06b6d4;--badge-tone-contrast: #172033}.progress-badge-card.orange .progress-badge-icon{background:linear-gradient(135deg,#f97316,#facc15);color:#172033}.progress-badge-card.green .progress-badge-icon{background:linear-gradient(135deg,#16a34a,#4ade80)}.progress-badge-card.purple .progress-badge-icon{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.progress-badge-card.gold .progress-badge-icon{background:linear-gradient(135deg,#ca8a04,#fde047);color:#172033}.progress-badge-card.red .progress-badge-icon{background:linear-gradient(135deg,#e11d48,#fb7185)}.progress-badge-card.pink .progress-badge-icon{background:linear-gradient(135deg,#db2777,#f9a8d4)}.progress-badge-card.cyan .progress-badge-icon{background:linear-gradient(135deg,#0891b2,#67e8f9);color:#172033}.progress-badge-card.in-progress .progress-badge-icon{color:var(--badge-ring-color);background:conic-gradient(var(--badge-ring-color) var(--badge-progress, 0%),var(--badge-ring-track) 0)}.progress-badge-body{min-width:0}.progress-badge-titlerow{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 8px;min-width:0}.progress-badge-titlerow .progress-badge-rarity{margin-top:1px}.progress-badge-card h3{margin:0;color:var(--ct-text);font-size:.94rem;line-height:1.2;min-width:0}.progress-badge-rarity{flex:0 0 auto;padding:2px 7px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.progress-badge-rarity.rarity-common{background:color-mix(in srgb,#475569 22%,var(--ct-panel-soft));color:#334155}.progress-badge-rarity.rarity-uncommon{background:color-mix(in srgb,#15803d 22%,var(--ct-panel-soft));color:#14532d}.progress-badge-rarity.rarity-rare{background:color-mix(in srgb,#6d28d9 22%,var(--ct-panel-soft));color:#5b21b6}.progress-badge-rarity.rarity-epic{background:color-mix(in srgb,#b45309 22%,var(--ct-panel-soft));color:#92400e}body.coding-dark .progress-badge-rarity.rarity-common{background:#94a3b83d;color:#e2e8f0}body.coding-dark .progress-badge-rarity.rarity-uncommon{background:#22c55e3d;color:#bbf7d0}body.coding-dark .progress-badge-rarity.rarity-rare{background:#a78bfa42;color:#ddd6fe}body.coding-dark .progress-badge-rarity.rarity-epic{background:#f59e0b42;color:#fde68a}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity{filter:saturate(1.6);box-shadow:inset 0 0 0 1px #ffffff1a}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity.rarity-common{background:#94a3b861;color:#f1f5f9}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity.rarity-uncommon{background:#22c55e61;color:#dcfce7}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity.rarity-rare{background:#a78bfa66;color:#ede9fe}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity.rarity-epic{background:#f59e0b6b;color:#fef3c7}.progress-badge-card p{margin:3px 0 0;color:var(--ct-muted);font-size:.8rem;line-height:1.35}.progress-badge-count{display:inline-flex;margin-top:7px;color:color-mix(in srgb,var(--ct-text) 70%,var(--ct-primary));font-size:.74rem;font-weight:750;font-variant-numeric:tabular-nums}.progress-badge-meter-track{width:100%;min-width:0;height:6px;border-radius:999px;background:color-mix(in srgb,var(--ct-text) 12%,var(--ct-panel-soft));overflow:hidden}.progress-badge-meter-fill{display:block;min-width:5px;height:100%;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 58%,var(--ct-accent, #f37021));transition:width .4s ease}.progress-badge-meter-fill[style*="width: 0%"]{min-width:0}@media (prefers-reduced-motion: reduce){.progress-badge-meter-fill{transition:none}}.progress-habits{padding:0;border:1px solid color-mix(in srgb,var(--ct-primary) 16%,var(--ct-border));border-radius:14px;background:color-mix(in srgb,var(--ct-primary) 4%,var(--ct-panel));overflow:hidden}.progress-habits-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;cursor:pointer;list-style:none}.progress-habits-head::-webkit-details-marker{display:none}.progress-habits-head:focus-visible{outline:3px solid color-mix(in srgb,var(--ct-primary) 40%,transparent);outline-offset:-3px}.progress-habits-body{padding:0 14px 14px}.progress-habits-head h3{margin:4px 0 2px;color:var(--ct-text);font-size:.95rem}.progress-habits-head p,.progress-habits-empty{margin:0;color:var(--ct-muted);font-size:.84rem;line-height:1.4}.progress-habits-summary{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;color:var(--ct-muted)}.progress-habits-summary>strong{color:var(--ct-primary);font-size:.92rem;font-variant-numeric:tabular-nums}.progress-habits-summary>small{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.progress-habits[open] .progress-habits-summary>small{color:var(--ct-primary)}.progress-habits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none}.progress-habits-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-solid-raised, var(--ct-panel-raised))}.progress-habits-list li.is-complete{border-color:color-mix(in srgb,#16a34a 34%,var(--ct-border));background:color-mix(in srgb,#16a34a 7%,var(--ct-panel))}.progress-habit-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel-soft))}.progress-habits-list li.is-complete .progress-habit-icon{color:#15803d;background:color-mix(in srgb,#16a34a 14%,var(--ct-panel-soft))}.progress-habits-list strong{display:block;color:var(--ct-text);font-size:.86rem;line-height:1.2}.progress-habits-list p{margin:3px 0 0;color:var(--ct-muted);font-size:.78rem;line-height:1.35}.progress-habits-list small{align-self:start;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 11%,var(--ct-panel-soft));color:var(--ct-primary);font-size:.68rem;font-weight:800;font-variant-numeric:tabular-nums}.progress-badge-card strong{justify-self:end;align-self:center;margin-top:0;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-panel-soft));color:var(--ct-primary);font-size:.68rem;white-space:nowrap}.progress-badge-card.earned strong{background:color-mix(in srgb,var(--ct-accent, #f37021) 15%,#fff);color:color-mix(in srgb,var(--ct-accent, #f37021) 86%,#6b2d00);font-weight:800;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent, #f37021) 42%,transparent)}body.coding-dark .progress-badge-card{background:var(--ct-solid-raised, #1c2a3f)}body.coding-dark .progress-badge-card.earned strong{background:linear-gradient(135deg,var(--ct-accent, #f37021),color-mix(in srgb,var(--ct-accent, #f37021) 72%,#ffd27f));color:#17213a;box-shadow:0 2px 10px color-mix(in srgb,var(--ct-accent, #f37021) 45%,transparent),inset 0 0 0 1px #ffffff38}body.coding-dark .progress-badge-card.not-started strong{color:#f3dcc2}@media (max-width: 620px){.progress-badge-card{grid-template-columns:42px minmax(0,1fr)}.progress-badge-card strong{grid-column:2;justify-self:start}}.progress-badge-header{align-items:flex-start}.progress-badge-header>div{min-width:0}.progress-badge-header h2{margin:3px 0 4px}.progress-badge-header p,.progress-badge-toolbar p{margin:0;color:var(--ct-muted);font-size:.86rem;line-height:1.45}.progress-badge-header>span{margin-top:7px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel-soft));white-space:nowrap}.progress-badge-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:24px;align-items:center;padding:18px 20px;border:1px solid color-mix(in srgb,var(--ct-accent, #f37021) 30%,var(--ct-border));border-left:4px solid var(--ct-accent, #f37021);border-radius:16px;background:linear-gradient(110deg,color-mix(in srgb,var(--ct-accent, #f37021) 10%,var(--ct-panel)),var(--ct-panel))}.progress-badge-next-copy h3{margin:9px 0 3px;color:var(--ct-text);font-size:1.12rem}.progress-badge-next-copy p{margin:0;color:var(--ct-muted);font-size:.86rem}.progress-badge-next-action{display:block;margin-top:9px;color:var(--ct-text);font-size:.8rem;font-weight:700}.progress-badge-next-progress{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:end}.progress-badge-next-progress>strong{padding:0;background:none;color:var(--ct-text);font-size:1.55rem}.progress-badge-next-progress>span,.progress-badge-next-progress>small{color:var(--ct-muted);font-size:.74rem;font-weight:700}.progress-badge-next-progress>span{align-self:center}.progress-badge-next-progress .progress-badge-meter-track,.progress-badge-next-progress>small{grid-column:1 / -1}.progress-badge-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-top:2px}.progress-badge-toolbar h2{margin:0 0 3px;color:var(--ct-text);font-size:1rem}.progress-badge-filters{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-panel-soft)}.progress-badge-filters button,.progress-badge-empty button{border:0;border-radius:9px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.progress-badge-filters button{padding:7px 10px;background:transparent;color:var(--ct-muted)}.progress-badge-filters button span{display:inline-flex;justify-content:center;min-width:20px;margin-left:4px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel));font-size:.68rem}.progress-badge-filters button:hover{color:var(--ct-text);background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel))}.progress-badge-filters button.active{color:#fff;background:var(--ct-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--ct-primary) 22%,transparent)}.progress-badge-filters button.active span{background:#ffffff2e}.progress-badge-card.not-started{opacity:.72;filter:saturate(.72);box-shadow:none}.progress-badge-card .badge-state-in-progress{background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-panel-soft));color:var(--ct-primary)}.progress-badge-card .badge-state-not-started{background:var(--ct-panel-soft);color:var(--ct-muted)}.progress-badge-empty{display:grid;place-items:center;gap:7px;padding:32px 20px;border:1px dashed var(--ct-border);border-radius:16px;text-align:center;background:var(--ct-panel)}.progress-badge-empty>svg{color:#16a34a;font-size:1.5rem}.progress-badge-empty h3{margin:0;color:var(--ct-text);font-size:1rem}.progress-badge-empty p{max-width:500px;margin:0;color:var(--ct-muted);font-size:.84rem}.progress-badge-empty button{margin-top:5px;padding:8px 12px;color:#fff;background:var(--ct-primary)}.progress-badge-locked{border:1px solid var(--ct-border);border-radius:16px;background:var(--ct-panel);overflow:hidden}.progress-badge-locked summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--ct-text);font-size:.88rem;font-weight:800;cursor:pointer;list-style-position:inside}.progress-badge-locked summary small{color:var(--ct-muted);font-size:.76rem;font-weight:700}.progress-badge-locked-content{display:grid;gap:22px;padding:4px 16px 16px;border-top:1px solid var(--ct-border)}body.coding-dark .progress-badge-card.not-started .progress-badge-rarity{filter:saturate(1.5)}@media (max-width: 760px){.progress-badge-toolbar{align-items:stretch;flex-direction:column}.progress-badge-filters{align-self:flex-start;max-width:100%;overflow-x:auto}}@media (max-width: 620px){.progress-badge-next{grid-template-columns:1fr;gap:16px}.progress-badge-header{align-items:flex-start}.progress-badge-grid{grid-template-columns:1fr}.progress-habits-head{align-items:flex-start;gap:10px;padding:10px 11px}.progress-habits-summary{gap:6px}.progress-habits-summary>small{display:none}.progress-habits-body{padding:0 10px 10px}.progress-habits-list{grid-template-columns:1fr;gap:8px}.progress-habits-list li{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:9px}.progress-habit-icon{width:30px;height:30px;border-radius:10px}.progress-habits-list strong{font-size:.82rem}.progress-habits-list p{font-size:.74rem}.progress-habits-list small{padding:2px 6px;font-size:.64rem}}.learn-list{padding:4px 0 24px}.learn-list-head{margin-bottom:18px}.learn-list-head h2{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:1.35rem;color:var(--ct-text)}.learn-list-head h2 svg{color:var(--ct-accent);font-size:1.05rem}.learn-list-head p{margin:0;font-size:.86rem;color:var(--ct-text)}.learn-lesson-grid{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:lesson}.learn-lesson-card{display:flex;align-items:center;gap:14px;width:100%;padding:13px 15px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:10px;background:var(--ct-panel);color:var(--ct-text);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,transform .12s ease,background .15s ease}.coding-app .learn-lesson-card{transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease,background .15s ease!important}.coding-app .learn-lesson-card,.coding-app .learn-lesson-card:hover:not(.locked){background:var(--ct-panel)!important;color:var(--ct-text)!important}.coding-app .learn-lesson-card:hover:not(.locked){border-color:var(--ct-accent)!important;transform:translate(2px)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--ct-accent) 14%,transparent)!important}.coding-app .learn-lesson-card:hover:not(.locked) .learn-lesson-title{color:var(--ct-text)!important}.coding-app .learn-lesson-card:hover:not(.locked) .learn-lesson-blurb,.coding-app .learn-lesson-card:hover:not(.locked) .learn-lesson-meta{color:var(--ct-muted, #6b7280)!important}.learn-lesson-card:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.learn-lesson-card.locked{cursor:not-allowed;opacity:.55}.learn-lesson-card.is-complete{border-color:color-mix(in srgb,#22c55e 38%,var(--ct-border));background:color-mix(in srgb,#22c55e 5%,var(--ct-panel))}.learn-lesson-num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--ct-accent) 14%,transparent);color:var(--ct-accent);font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.learn-lesson-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.learn-lesson-title{font-size:.94rem;font-weight:600}.learn-lesson-blurb{font-size:.78rem;color:var(--ct-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-lesson-meta{flex:none;display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--ct-muted, #6b7280)}.learn-lesson-qcount{font-variant-numeric:tabular-nums}.learn-lesson-soon{display:inline-flex;align-items:center;gap:5px;font-size:.72rem}.learn-track-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.learn-prev-track-link,.learn-next-track-link{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--ct-accent) 30%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel));color:var(--ct-text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease,background .15s ease}.learn-prev-track-link{color:var(--ct-muted, #6b7280);background:var(--ct-panel)}.coding-app .learn-prev-track-link:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-accent) 30%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-panel))!important;color:var(--ct-text)!important;transform:translate(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--ct-accent) 10%,transparent)}.coding-app .learn-next-track-link:hover:not(:disabled){border-color:var(--ct-accent)!important;background:color-mix(in srgb,var(--ct-accent) 14%,var(--ct-panel))!important;color:var(--ct-text)!important;transform:translate(2px);box-shadow:0 8px 18px color-mix(in srgb,var(--ct-accent) 14%,transparent)}.learn-prev-track-link svg,.learn-next-track-link svg{font-size:.72rem;transition:transform .15s ease}.learn-prev-track-link:hover svg{transform:translate(-3px)}.learn-next-track-link:hover svg{transform:translate(3px)}.learn-prev-track-link:focus-visible,.learn-next-track-link:focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px}@media (max-width: 640px){.learn-track-nav{align-items:stretch;flex-direction:column}.learn-prev-track-link,.learn-next-track-link{justify-content:center}}.lesson-view,.lesson-empty{max-width:68ch;margin:0 auto;padding:8px 0 32px}.lesson-head{margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--ct-border, rgba(148, 163, 184, .25))}.lesson-kicker{display:inline-block;margin-bottom:6px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-primary)}.lesson-playbar{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:10px 14px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:12px;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel))}.lesson-playbar-icon{display:grid;place-items:center;color:var(--ct-primary);font-size:.95rem}.lesson-playbar-controls{display:flex;align-items:center;gap:6px}.coding-app .lesson-playbar-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ct-border, rgba(148, 163, 184, .3));border-radius:50%;background:var(--ct-panel);color:var(--ct-text);font-size:.78rem;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease!important;box-shadow:none!important;transform:none!important}.coding-app .lesson-playbar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-primary) 40%,var(--ct-border))!important;color:var(--ct-primary)!important;box-shadow:none!important;transform:none!important}.coding-app .lesson-playbar-btn:disabled{opacity:.4;cursor:default}.coding-app .lesson-playbar-btn.is-primary,.coding-app .lesson-playbar-btn.is-primary:hover:not(:disabled){width:40px;height:40px;border-color:transparent!important;background:var(--ct-primary)!important;color:var(--cq-on-primary, #fff)!important;font-size:.9rem}.coding-app .lesson-playbar-btn.is-primary:hover:not(:disabled){filter:brightness(1.08)}.lesson-playbar-btn:focus-visible{outline:2px solid var(--ct-primary);outline-offset:2px}.lesson-playbar-progress{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.lesson-playbar-track{height:5px;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 70%,transparent);overflow:hidden}.lesson-playbar-fill{display:block;height:100%;border-radius:999px;background:var(--ct-primary);transition:width .25s ease}.lesson-playbar-count{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--ct-muted, #6b7280)}.lesson-playbar-current{font-size:.78rem;color:var(--ct-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-head h1{margin:0 0 8px;font-size:1.75rem;line-height:1.2;text-wrap:balance;color:var(--ct-text)}.lesson-summary{margin:0 0 10px;font-size:1rem;line-height:1.5;color:var(--ct-text)}.lesson-minutes{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--ct-muted, #6b7280)}.lesson-section-nav{display:flex;gap:8px;margin:-4px 0 18px;padding-bottom:4px;overflow-x:auto}.coding-app .lesson-section-tab{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border:1px solid var(--ct-border, rgba(148, 163, 184, .32));border-radius:999px;background:var(--ct-panel);color:var(--ct-muted, #5b6b83);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:none!important;transform:none!important}.lesson-section-tab span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--ct-primary) 10%,transparent);color:var(--ct-primary);font-size:.72rem}.coding-app .lesson-section-tab:hover,.coding-app .lesson-section-tab.is-active{border-color:color-mix(in srgb,var(--ct-primary) 45%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 7%,var(--ct-panel));color:var(--ct-text)}.lesson-section-head{padding:14px 16px;border:1px solid var(--ct-border, rgba(148, 163, 184, .26));border-radius:12px;background:color-mix(in srgb,var(--ct-primary) 4%,var(--ct-panel))}.lesson-section-count{display:block;margin-bottom:5px;color:var(--ct-primary);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lesson-section-head h2{margin:0 0 6px;color:var(--ct-text);font-size:1.15rem;line-height:1.25}.lesson-section-head p{margin:0;color:var(--ct-text);font-size:.9rem;line-height:1.55}.lesson-body{display:flex;flex-direction:column;gap:18px}.lesson-text{margin:0;font-size:.95rem;line-height:1.65;color:var(--ct-text)}.lesson-body code{padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--ct-accent) 11%,transparent);color:var(--ct-accent);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.87em}.lesson-code{margin:0}.lesson-code figcaption{margin-bottom:8px;font-size:.86rem;line-height:1.55;color:var(--ct-text)}.lesson-code pre,.lesson-compare pre,.lesson-output pre{margin:0;padding:12px 14px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:8px;background:var(--ct-editor-bg, #0f172a);overflow-x:auto}.lesson-code pre code,.lesson-compare pre code,.lesson-output pre code{padding:0;background:none;color:var(--ct-editor-text, #e2e8f0);font-size:.84rem;line-height:1.6;white-space:pre}.lesson-code-token{color:inherit}.lesson-code-token.is-keyword{color:#93c5fd;font-weight:700}.lesson-code-token.is-string{color:#86efac}.lesson-code-token.is-comment{color:#94a3b8;font-style:italic}.lesson-code-token.is-number,.lesson-code-token.is-literal{color:#fbbf24}body.coding-dark .lesson-code-token.is-keyword{color:#bfdbfe}body.coding-dark .lesson-code-token.is-string{color:#bbf7d0}body.coding-dark .lesson-code-token.is-comment{color:#9ca3af}body.coding-dark .lesson-code-token.is-number,body.coding-dark .lesson-code-token.is-literal{color:#fde68a}.lesson-output{margin-top:8px}.lesson-output-label{display:block;margin-bottom:4px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ct-text)}.lesson-output pre{background:color-mix(in srgb,#22c55e 8%,var(--ct-editor-bg, #0f172a));border-color:color-mix(in srgb,#22c55e 28%,transparent)}.lesson-callout{padding:12px 14px;border-radius:8px;border-left:3px solid}.lesson-callout-head{display:flex;align-items:center;gap:7px;margin-bottom:5px;font-size:.8rem;font-weight:700}.lesson-callout p{margin:0;font-size:.88rem;line-height:1.6;color:var(--ct-text)}.lesson-callout.is-tip{border-color:#3b82f6;background:color-mix(in srgb,#3b82f6 8%,transparent)}.lesson-callout.is-tip .lesson-callout-head{color:#1d4ed8}.lesson-callout.is-warning{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 10%,transparent)}.lesson-callout.is-warning .lesson-callout-head{color:#b45309}.lesson-callout.is-mistake{border-color:#ef4444;background:color-mix(in srgb,#ef4444 8%,transparent)}.lesson-callout.is-mistake .lesson-callout-head{color:#b91c1c}body.coding-dark .lesson-callout.is-tip .lesson-callout-head{color:#60a5fa}body.coding-dark .lesson-callout.is-warning .lesson-callout-head{color:#fbbf24}body.coding-dark .lesson-callout.is-mistake .lesson-callout-head{color:#f87171}.lesson-visual-block{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--ct-primary, #0b315f) 24%,var(--ct-border, #cbd5e1));border-radius:14px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--ct-accent, #f97316) 9%,transparent),transparent 34%),var(--ct-panel, #fff)}.lesson-visual-block figcaption{margin:0 0 4px;color:var(--ct-text);font-size:.95rem;font-weight:800}.lesson-visual-block p{margin:0;color:var(--ct-text);font-size:.88rem;line-height:1.5}.lesson-visual-open,.lesson-visual-modal button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:999px;background:var(--ct-surface, #f8fafc);color:var(--ct-text);font-weight:800;cursor:pointer}.lesson-visual-open{flex:0 0 auto;padding:10px 14px}.lesson-visual-open:hover,.lesson-visual-modal button:hover:not(:disabled){border-color:var(--ct-accent, #f97316);color:var(--ct-accent, #f97316)}.lesson-visual-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:24px;background:#08142694}.lesson-visual-modal{width:min(1040px,100%);max-height:min(760px,92vh);overflow:auto;padding:0 20px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:22px;background:var(--ct-panel, #fff);box-shadow:0 24px 70px #08142642;scroll-padding-block:92px}.lesson-visual-modal-head,.lesson-visual-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.lesson-visual-modal-head{position:sticky;top:0;z-index:8;margin:0 -20px;padding:20px 20px 14px;border-bottom:1px solid color-mix(in srgb,var(--ct-border, #cbd5e1) 68%,transparent);background:color-mix(in srgb,var(--ct-panel, #fff) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-visual-modal-head span{display:block;margin-bottom:4px;color:var(--ct-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-modal-head h3{margin:0;color:var(--ct-text)}.lesson-visual-modal button{min-height:38px;padding:8px 13px}.lesson-visual-modal .lesson-visual-close{display:inline-grid;width:40px;min-width:40px;height:40px;min-height:40px;place-items:center;padding:0;border-radius:999px;font-size:1rem}.lesson-visual-modal button:disabled{cursor:not-allowed;opacity:.5}.lesson-visual-progress-wrap{display:grid;gap:8px;margin:16px 0 0}.lesson-visual-progress-count{color:var(--ct-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-progress{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:2px 2px 8px}.lesson-visual-progress button{flex:1 0 min(145px,32%);min-width:118px;min-height:42px;justify-content:flex-start;gap:8px;padding:7px 9px;border-color:var(--ct-border, #cbd5e1);border-radius:12px;background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-surface, #f8fafc));box-shadow:none}.lesson-visual-progress button span{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--ct-border, #cbd5e1) 62%,transparent);color:var(--ct-text);font-size:.72rem;font-weight:900}.lesson-visual-progress button strong{min-width:0;overflow:hidden;color:var(--ct-muted);font-size:.72rem;font-weight:900;line-height:1.15;text-align:left;text-overflow:ellipsis;white-space:nowrap}.lesson-visual-progress button.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 10%,var(--ct-panel, #fff));box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent)}.lesson-visual-progress button.is-active span{background:var(--ct-accent, #f97316);color:#fff}.lesson-visual-progress button.is-active strong{color:var(--ct-text)}.lesson-visual-diagram{margin:18px 0;padding:clamp(18px,3vw,32px);border:1px solid var(--ct-border, #cbd5e1);border-radius:18px;background:linear-gradient(color-mix(in srgb,var(--ct-border, #cbd5e1) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ct-border, #cbd5e1) 18%,transparent) 1px,transparent 1px),radial-gradient(circle at center,color-mix(in srgb,var(--ct-info, #2563eb) 10%,transparent),transparent 45%),color-mix(in srgb,var(--ct-surface, #f8fafc) 88%,var(--ct-panel, #fff));background-size:58px 58px,58px 58px,auto,auto;min-height:290px;display:grid;align-content:center;gap:16px;overflow:auto;scroll-padding-inline:34px}.lesson-visual-row,.lesson-visual-labels{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.lesson-visual-row{position:relative;width:min(100%,760px);margin-inline:auto;padding:38px 18px 18px;border-radius:18px;background:color-mix(in srgb,var(--ct-panel, #fff) 78%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-border, #cbd5e1) 52%,transparent)}.lesson-visual-row:before{content:"index trace";position:absolute;left:18px;top:12px;color:var(--ct-muted);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-row:after{content:"";position:absolute;left:18px;right:18px;top:30px;height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--ct-primary, #082343) 54%,transparent),color-mix(in srgb,var(--ct-accent, #f97316) 54%,transparent))}.lesson-visual-row.is-binary-search,.lesson-visual-row.is-sliding-window{flex-wrap:nowrap;overflow-x:auto}.lesson-visual-labels{justify-content:space-between;max-width:460px;margin:8px auto 0;color:var(--ct-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.lesson-visual-token{min-width:52px;min-height:48px;display:grid;place-items:center;gap:2px;padding:8px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:13px;background:var(--ct-panel, #fff);color:var(--ct-text);font-weight:900;box-shadow:0 8px 18px #08234314;transition:border-color .18s ease,background-color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease}.lesson-visual-row .lesson-visual-token{position:relative;min-width:clamp(58px,12vw,84px);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-surface, #f8fafc) 72%,transparent),transparent 42%),var(--ct-panel, #fff)}.lesson-visual-row .lesson-visual-token:before,.lesson-visual-row .lesson-visual-token:after{content:"";position:absolute;left:50%;transform:translate(-50%)}.lesson-visual-row .lesson-visual-token:before{top:-16px;width:2px;height:14px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 80%,transparent)}.lesson-visual-row .lesson-visual-token:after{top:-21px;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 84%,transparent)}.lesson-visual-token small{color:var(--ct-accent, #f97316);font-size:.64rem;font-weight:900;text-transform:uppercase}.lesson-visual-token.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff));box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 14px 30px #f9731626;transform:translateY(-2px)}.lesson-visual-row .lesson-visual-token.is-active:before,.lesson-visual-row .lesson-visual-token.is-active:after{background:var(--ct-accent, #f97316)}.lesson-visual-token.is-window{background:color-mix(in srgb,#22c55e 14%,var(--ct-panel, #fff));border-color:color-mix(in srgb,#22c55e 52%,var(--ct-border-strong, #94a3b8))}.lesson-visual-token.is-dimmed{opacity:.34}.lesson-visual-stack-shell,.lesson-visual-queue-shell,.lesson-visual-linked{display:grid;justify-items:center;gap:10px}.lesson-visual-structure-label,.lesson-visual-head-label,.lesson-visual-stack-base{color:var(--ct-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-stack{display:flex;flex-direction:column-reverse;align-items:center;min-width:min(100%,320px);min-height:160px;justify-content:flex-start;padding:12px 22px 18px;border-bottom:8px solid color-mix(in srgb,var(--ct-primary, #082343) 60%,var(--ct-border, #cbd5e1));border-radius:0 0 18px 18px}.lesson-visual-stack .lesson-visual-token{width:min(250px,72vw);min-height:54px;margin-top:-1px;border-radius:10px}.lesson-visual-queue{display:flex;align-items:center;justify-content:center;max-width:100%;overflow-x:auto;padding:12px}.lesson-visual-queue-item,.lesson-visual-linked-item{display:inline-flex;align-items:center;flex:0 0 auto}.lesson-visual-inline-arrow{position:relative;display:inline-block;width:clamp(26px,5vw,54px);height:3px;margin-inline:4px;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,transparent)}.lesson-visual-inline-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:11px;height:11px;border-right:3px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,transparent);border-top:3px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 78%,transparent);transform:translateY(-50%) rotate(45deg)}.lesson-visual-inline-arrow.is-active,.lesson-visual-inline-arrow.is-active:after{background:var(--ct-accent, #f97316);border-color:var(--ct-accent, #f97316)}.lesson-visual-linked-row{display:flex;align-items:center;max-width:100%;overflow-x:auto;padding:16px}.lesson-visual-linked-node{display:grid;grid-template-columns:minmax(64px,1fr) 50px;min-width:132px;overflow:hidden;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:14px;background:var(--ct-panel, #fff);box-shadow:0 10px 22px #08234314}.lesson-visual-linked-node.is-active{border-color:var(--ct-accent, #f97316);box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}.lesson-visual-linked-value,.lesson-visual-linked-next{display:grid;min-height:58px;place-items:center;padding:8px;color:var(--ct-text);font-weight:900}.lesson-visual-linked-next{border-left:1px solid var(--ct-border, #cbd5e1);color:var(--ct-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-null-node{display:grid;min-width:72px;min-height:48px;place-items:center;border:1px dashed var(--ct-border-strong, #94a3b8);border-radius:999px;color:var(--ct-muted);font-weight:900}.lesson-visual-call-stack{display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:0}.lesson-visual-call-stack .lesson-visual-token{width:min(300px,72vw);margin-top:-1px}.lesson-visual-conditional{display:grid;grid-template-columns:112px 34px 178px 34px 132px 46px 274px 46px 126px;align-items:center;justify-content:center;gap:.45rem;width:max-content;min-width:min(100%,982px);margin-inline:auto;overflow:visible;padding:1.25rem 1.45rem 1.4rem}.lesson-visual-loop-shell{display:grid;justify-items:center;gap:6px;width:100%;overflow-x:auto;padding:8px 4px 2px}.lesson-visual-loop-flow{display:grid;grid-template-columns:minmax(86px,.82fr) minmax(18px,28px) minmax(112px,.92fr) minmax(18px,28px) minmax(118px,1fr) minmax(18px,28px) minmax(118px,1fr) minmax(18px,28px) minmax(86px,.82fr);align-items:center;justify-content:center;width:min(100%,940px);gap:.35rem;overflow:visible;padding:.8rem .45rem}.lesson-visual-loop-back{width:min(100%,500px);min-height:20px;color:var(--ct-muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;line-height:1.2;text-align:center;text-transform:uppercase}.lesson-visual-loop-back span{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ct-panel, #fff) 84%,transparent)}.lesson-visual-loop-back span:before,.lesson-visual-loop-back span:after{content:"";width:28px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 74%,transparent)}.lesson-visual-loop-back.is-active span{color:var(--ct-accent, #f97316)}.lesson-visual-loop-back.is-active span:before,.lesson-visual-loop-back.is-active span:after{background:var(--ct-accent, #f97316)}.lesson-visual-loop-step{display:contents;align-items:center}.lesson-visual-flow-symbol{display:grid;place-items:center;gap:.14rem;min-height:74px;padding:.58rem .76rem;border:1px solid color-mix(in srgb,var(--ct-border, #d7e1ef) 82%,var(--ct-primary, #082343));border-radius:999px;background:color-mix(in srgb,var(--ct-panel, #fff) 94%,var(--ct-soft, #eef6ff));color:var(--ct-primary, #082343);text-align:center;box-shadow:0 14px 28px #0f172a1f;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.lesson-visual-conditional .lesson-visual-flow-symbol{width:100%}.lesson-visual-flow-symbol strong,.lesson-visual-flow-symbol span{overflow-wrap:anywhere}.lesson-visual-flow-symbol strong{display:block;color:var(--ct-muted, #5d6b82);font-size:.66rem;font-weight:900;letter-spacing:.03em;line-height:1.12;text-transform:uppercase}.lesson-visual-flow-symbol span{display:block;max-width:100%;color:var(--ct-primary, #082343);font-size:clamp(.68rem,.95vw,.88rem);font-weight:800;line-height:1.18;letter-spacing:0;text-transform:none;white-space:normal}.lesson-visual-flow-symbol.is-terminator{min-width:0;min-height:58px;border-radius:999px}.lesson-visual-flow-symbol.is-input,.lesson-visual-flow-symbol.is-branch{min-width:0;min-height:78px;border-radius:16px}.lesson-visual-flow-symbol.is-diamond{width:clamp(100px,10vw,124px);min-width:100px;min-height:clamp(100px,10vw,124px);border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:color-mix(in srgb,#22c55e 12%,var(--ct-panel, #fff));padding:clamp(1.28rem,1.8vw,1.7rem)}.lesson-visual-flow-symbol.is-diamond span{max-width:72%;font-size:clamp(.62rem,.82vw,.76rem)}.lesson-visual-flow-symbol.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,var(--ct-panel, #fff));box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 34px #f9731629;transform:translateY(-4px) scale(1.03)}.lesson-visual-flow-arrow{position:relative;display:inline-block;width:100%;min-width:18px;height:3px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 82%,transparent);flex:0 0 auto}.lesson-visual-flow-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 72%,var(--ct-primary, #082343));transform:translateY(-50%)}.lesson-visual-flow-arrow.is-active{background:var(--ct-accent, #f97316)}.lesson-visual-flow-arrow.is-active:after{border-left-color:var(--ct-accent, #f97316)}.lesson-visual-branch-split{display:grid;gap:.9rem;min-width:274px}.lesson-visual-branch{display:grid;grid-template-columns:3.8rem 42px minmax(150px,1fr);align-items:center;gap:.56rem;opacity:.5}.lesson-visual-branch.is-active{opacity:1}.lesson-visual-branch.is-active .lesson-visual-flow-arrow{background:var(--ct-accent, #f97316);box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 12%,transparent)}.lesson-visual-branch.is-active .lesson-visual-flow-arrow:after{border-left-color:var(--ct-accent, #f97316)}.lesson-visual-branch-label{justify-self:end;color:var(--ct-muted);font-size:.72rem;font-weight:900;line-height:1.2;text-transform:uppercase;overflow-wrap:anywhere}.lesson-visual-controls{position:sticky;bottom:0;z-index:8;margin:18px -20px 0;padding:12px 20px 18px;border-top:1px solid color-mix(in srgb,var(--ct-border, #cbd5e1) 68%,transparent);border-radius:0 0 20px 20px;background:color-mix(in srgb,var(--ct-panel, #fff) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -16px 28px color-mix(in srgb,var(--ct-bg, #f6f8fc) 44%,transparent)}.lesson-visual-controls>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.lesson-visual-list-trace,.lesson-visual-function-flow,.lesson-visual-state-trace{display:grid;justify-items:center;gap:14px;width:100%;overflow-x:auto;padding:4px}.lesson-visual-list-meta{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr);align-items:center;gap:10px;width:min(100%,540px)}.lesson-visual-list-meta .lesson-visual-flow-symbol.is-terminator{border-radius:18px}.lesson-visual-list-track{position:relative;display:flex;align-items:stretch;justify-content:center;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:48px 18px 20px;border:1px solid color-mix(in srgb,var(--ct-border, #cbd5e1) 74%,transparent);border-radius:18px;background:color-mix(in srgb,var(--ct-panel, #fff) 80%,transparent)}.lesson-visual-list-track:before,.lesson-visual-list-track:after{content:"";position:absolute;left:18px;right:18px;border-radius:999px}.lesson-visual-list-track:before{top:30px;height:2px;background:color-mix(in srgb,var(--ct-primary, #082343) 46%,transparent)}.lesson-visual-list-track:after{bottom:9px;height:2px;background:color-mix(in srgb,var(--ct-primary, #082343) 22%,transparent)}.lesson-visual-list-cell{position:relative;display:grid;align-content:center;justify-items:center;gap:4px;min-width:clamp(74px,11vw,96px);min-height:76px;padding:10px;border:1px solid var(--ct-border-strong, #94a3b8);border-left-width:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-surface, #f8fafc) 62%,transparent),transparent 48%),var(--ct-panel, #fff);color:var(--ct-text);box-shadow:0 10px 22px #08234314}.lesson-visual-list-cell:first-child{border-left-width:1px;border-radius:12px 0 0 12px}.lesson-visual-list-cell:last-child{border-radius:0 12px 12px 0}.lesson-visual-list-cell small,.lesson-visual-list-pointer{color:var(--ct-muted);font-size:.62rem;font-weight:900;line-height:1.1;text-transform:uppercase}.lesson-visual-list-cell strong{max-width:100%;color:var(--ct-primary, #082343);font-size:1rem;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.lesson-visual-list-pointer{position:absolute;top:-34px;display:inline-grid;place-items:center;min-width:34px;padding:3px 6px;border-radius:999px;background:var(--ct-accent, #f97316);color:#fff}.lesson-visual-list-pointer:after{content:"";position:absolute;top:100%;left:50%;width:2px;height:21px;background:var(--ct-accent, #f97316);transform:translate(-50%)}.lesson-visual-list-cell.is-active{z-index:1;border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,var(--ct-panel, #fff));box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-accent, #f97316) 17%,transparent),0 16px 28px #f9731624;transform:translateY(-2px)}.lesson-visual-function-main,.lesson-visual-state-flow{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;overflow-x:auto;padding:14px 36px 18px;scroll-padding-inline:36px}.lesson-visual-state-flow{padding:26px 46px 30px;scroll-padding-inline:46px}.lesson-visual-function-step,.lesson-visual-state-step{display:inline-flex;align-items:center;flex:0 0 auto}.lesson-visual-function-main .lesson-visual-flow-symbol,.lesson-visual-state-flow .lesson-visual-flow-symbol{width:clamp(112px,13vw,162px);flex:0 0 auto}.lesson-visual-state-flow .lesson-visual-flow-symbol.is-diamond{width:clamp(116px,12vw,136px);min-width:116px;min-height:clamp(116px,12vw,136px)}.lesson-visual-function-main .lesson-visual-flow-arrow,.lesson-visual-state-flow .lesson-visual-flow-arrow{width:clamp(28px,4vw,46px)}.lesson-visual-function-locals{display:grid;gap:4px;width:min(100%,360px);padding:10px 14px;border:1px solid color-mix(in srgb,var(--ct-border-strong, #94a3b8) 72%,transparent);border-radius:12px;background:color-mix(in srgb,#22c55e 7%,var(--ct-panel, #fff));text-align:center}.lesson-visual-function-locals small{color:var(--ct-muted);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-function-locals strong{color:var(--ct-primary, #082343);font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.lesson-visual-function-locals.is-active{border-color:var(--ct-accent, #f97316);box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent)}.lesson-visual-state-trace .lesson-visual-list-trace{padding-top:0}.lesson-visual-state-trace .lesson-visual-list-meta{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr)}.lesson-visual-kv-flow,.lesson-visual-pointer-flow,.lesson-visual-debug-flow,.lesson-visual-process-flow{display:grid;justify-items:center;gap:14px;width:100%;overflow-x:auto;padding:8px 4px}.lesson-visual-kv-steps,.lesson-visual-pointer-track,.lesson-visual-debug-steps,.lesson-visual-process-track{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;overflow-x:auto;padding:26px 44px 30px;scroll-padding-inline:44px}.lesson-visual-kv-step,.lesson-visual-pointer-step,.lesson-visual-debug-step,.lesson-visual-process-step{display:inline-flex;align-items:center;flex:0 0 auto}.lesson-visual-kv-steps .lesson-visual-flow-symbol,.lesson-visual-pointer-track .lesson-visual-flow-symbol,.lesson-visual-debug-steps .lesson-visual-flow-symbol,.lesson-visual-process-track .lesson-visual-flow-symbol{width:clamp(116px,13vw,164px);flex:0 0 auto}.lesson-visual-kv-steps .lesson-visual-flow-symbol.is-diamond,.lesson-visual-debug-steps .lesson-visual-flow-symbol.is-diamond,.lesson-visual-process-track .lesson-visual-flow-symbol.is-diamond{width:clamp(116px,12vw,136px);min-width:116px;min-height:clamp(116px,12vw,136px)}.lesson-visual-kv-steps .lesson-visual-flow-arrow,.lesson-visual-pointer-track .lesson-visual-flow-arrow,.lesson-visual-debug-steps .lesson-visual-flow-arrow,.lesson-visual-process-track .lesson-visual-flow-arrow{width:clamp(28px,4vw,48px)}.lesson-visual-kv-board{display:flex;align-items:stretch;justify-content:center;gap:10px;max-width:100%;overflow-x:auto;padding:14px 28px 18px;scroll-padding-inline:28px}.lesson-visual-kv-card{display:grid;align-content:center;justify-items:center;gap:6px;flex:0 0 clamp(116px,16vw,160px);min-height:86px;padding:12px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:14px;background:var(--ct-panel, #fff);color:var(--ct-text);box-shadow:0 12px 24px #0823431a;text-align:center}.lesson-visual-kv-card small{max-width:100%;color:var(--ct-muted);font-size:.68rem;font-weight:900;letter-spacing:.06em;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere}.lesson-visual-kv-card strong{max-width:100%;color:var(--ct-primary, #082343);font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}.lesson-visual-kv-card.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 12%,var(--ct-panel, #fff));box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-accent, #f97316) 16%,transparent),0 16px 30px #f9731626;transform:translateY(-2px)}.lesson-visual-pointer-flow .lesson-visual-kv-flow{padding-top:0}.lesson-visual-pointer-flow .lesson-visual-kv-steps{display:none}.lesson-visual-debug-flow .lesson-visual-table{width:min(100%,520px)}.lesson-visual-process-flow .lesson-visual-list-trace,.lesson-visual-process-flow .lesson-visual-table{width:min(100%,620px)}@media (max-width: 900px){.lesson-visual-modal{width:min(100%,94vw);padding:0 16px}.lesson-visual-modal-head{margin-inline:-16px;padding:16px 16px 12px}.lesson-visual-controls{margin-inline:-16px;padding:12px 16px 16px}.lesson-visual-diagram{padding:18px 14px}.lesson-visual-conditional,.lesson-visual-loop-flow,.lesson-visual-function-main,.lesson-visual-state-flow,.lesson-visual-kv-steps,.lesson-visual-pointer-track,.lesson-visual-debug-steps,.lesson-visual-process-track{justify-content:flex-start}.lesson-visual-conditional{min-width:920px}.lesson-visual-function-main,.lesson-visual-state-flow{padding-inline:28px;scroll-padding-inline:28px}.lesson-visual-state-flow{padding-block:24px 28px}.lesson-visual-kv-steps,.lesson-visual-pointer-track,.lesson-visual-debug-steps,.lesson-visual-process-track{padding-inline:28px;scroll-padding-inline:28px}}@media (max-width: 640px){.lesson-visual-backdrop{padding:6px}.lesson-visual-modal{width:calc(100vw - 12px);max-height:96dvh;padding:0 10px;border-radius:16px}.lesson-visual-modal-head{align-items:flex-start;margin-inline:-10px;padding:12px 10px 10px}.lesson-visual-modal-head h3{font-size:clamp(1.25rem,7vw,1.65rem);line-height:1.12}.lesson-visual-controls{align-items:center;flex-direction:row;margin-inline:-10px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));overflow-x:auto}.lesson-visual-controls>div{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:2px}.lesson-visual-controls button{flex:0 0 auto;min-height:34px;min-width:74px;padding:6px 9px;font-size:.78rem;white-space:nowrap}.lesson-visual-progress button{flex-basis:124px;min-width:112px;min-height:38px}.lesson-visual-progress button strong{font-size:.68rem}.lesson-visual-diagram{min-height:320px;padding:14px 10px;align-content:start;justify-content:start}.lesson-visual-diagram>*{flex-shrink:0}.lesson-visual-flow,.lesson-visual-loop-flow,.lesson-visual-function-flow,.lesson-visual-state-flow,.lesson-visual-process-flow{min-width:620px}.lesson-visual-trace-panel{grid-template-columns:minmax(0,1fr)}.lesson-visual-trace-card dl div{grid-template-columns:minmax(0,1fr);gap:3px}.lesson-visual-list-meta,.lesson-visual-state-trace .lesson-visual-list-meta{grid-template-columns:minmax(150px,1fr);width:min(100%,320px)}.lesson-visual-list-track{justify-content:flex-start;width:100%}.lesson-visual-kv-board{justify-content:flex-start;padding-inline:20px}}.lesson-visual-empty,.lesson-visual-state-note{margin:10px 0 0;color:var(--ct-text);text-align:center}.lesson-visual-table{display:grid;max-width:420px;margin:0 auto;overflow:hidden;border:1px solid var(--ct-border, #cbd5e1);border-radius:14px}.lesson-visual-table-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;background:var(--ct-panel, #fff);color:var(--ct-text)}.lesson-visual-table-row+.lesson-visual-table-row{border-top:1px solid var(--ct-border, #cbd5e1)}.lesson-visual-table-row.is-active{background:color-mix(in srgb,var(--ct-accent, #f97316) 13%,var(--ct-panel, #fff))}.lesson-visual-node-canvas{position:relative;width:min(100%,760px);min-height:clamp(260px,44vw,390px);margin-inline:auto;overflow:hidden}.lesson-visual-edge-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.lesson-visual-edge{fill:none;stroke:color-mix(in srgb,var(--ct-border-strong, #94a3b8) 84%,transparent);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:opacity .18s ease,stroke .18s ease}.lesson-visual-edge.is-active{stroke:var(--ct-accent, #f97316)}.lesson-visual-flow-node{position:absolute;display:grid;min-width:76px;min-height:58px;place-items:center;gap:2px;padding:8px 10px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:16px;background:var(--ct-panel, #fff);color:var(--ct-text);box-shadow:0 12px 26px #0823431a;text-align:center;transform:translate(-50%,-50%);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.lesson-visual-node-canvas.is-tree .lesson-visual-flow-node{border-radius:999px;min-width:66px;min-height:66px}.lesson-visual-node-canvas.is-graph .lesson-visual-flow-node{border-radius:999px}.lesson-visual-flow-node.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 14%,var(--ct-panel, #fff));box-shadow:0 0 0 6px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent),0 18px 34px #f9731629;transform:translate(-50%,-50%) scale(1.04)}.lesson-visual-flow-node strong{color:var(--ct-text);font-size:1rem;line-height:1.1}.lesson-visual-flow-node small{color:var(--ct-muted);font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.lesson-visual-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;width:min(100%,760px);margin-inline:auto}.lesson-visual-bucket{display:grid;gap:8px;min-height:92px;padding:12px;border:1px solid var(--ct-border-strong, #94a3b8);border-radius:16px;background:var(--ct-panel, #fff);box-shadow:0 10px 22px #08234314}.lesson-visual-bucket.is-active{border-color:var(--ct-accent, #f97316);background:color-mix(in srgb,var(--ct-accent, #f97316) 10%,var(--ct-panel, #fff))}.lesson-visual-bucket small{color:var(--ct-muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-bucket-chain{display:flex;flex-wrap:wrap;gap:6px}.lesson-visual-bucket-chain span{padding:5px 8px;border:1px solid var(--ct-border, #cbd5e1);border-radius:999px;background:color-mix(in srgb,var(--ct-surface, #f8fafc) 82%,var(--ct-panel, #fff));color:var(--ct-text);font-size:.82rem;font-weight:800}.lesson-visual-bucket-chain .is-empty{color:var(--ct-muted);font-weight:700}.lesson-visual-step-copy{padding:14px 16px;border-left:4px solid var(--ct-accent, #f97316);border-radius:12px;background:color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}.lesson-visual-trace-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:-2px 0 14px}.lesson-visual-trace-card{min-width:0;padding:11px 12px;border:1px solid var(--ct-border, #cbd5e1);border-radius:12px;background:color-mix(in srgb,var(--ct-panel, #fff) 92%,var(--ct-surface, #f8fafc));box-shadow:0 10px 22px #08234314}.lesson-visual-trace-card small{display:block;margin-bottom:5px;color:var(--ct-muted);font-size:.66rem;font-weight:900;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.lesson-visual-trace-card span,.lesson-visual-trace-card dd{color:var(--ct-text);font-size:.86rem;font-weight:750;line-height:1.35;overflow-wrap:anywhere}.lesson-visual-trace-card.is-code_focus span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.lesson-visual-trace-card dl{display:grid;gap:6px;margin:0}.lesson-visual-trace-card dl div{display:grid;grid-template-columns:minmax(54px,.36fr) minmax(0,1fr);gap:8px;align-items:start}.lesson-visual-trace-card dt{color:var(--ct-muted);font-size:.74rem;font-weight:900;line-height:1.3;overflow-wrap:anywhere}.lesson-visual-trace-card dd{margin:0}.lesson-visual-action{display:inline-flex;align-items:center;width:fit-content;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent);color:var(--ct-accent, #f97316);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-visual-step-copy h4{margin:0 0 6px;color:var(--ct-text)}.lesson-visual-step-copy p{margin:0;color:var(--ct-text);line-height:1.55}.lesson-visual-change{margin-top:8px!important;color:var(--ct-text)!important}.lesson-visual-controls{margin-top:16px}.lesson-visual-controls>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.lesson-visual-diagram.anim-push .lesson-visual-token.is-active,.lesson-visual-diagram.anim-add .lesson-visual-token.is-active,.lesson-visual-diagram.anim-enqueue .lesson-visual-token.is-active,.lesson-visual-diagram.anim-visit .lesson-visual-node.is-active circle{animation:lessonVisualSoftEnter .36s ease}.lesson-visual-diagram.anim-pop .lesson-visual-token.is-active,.lesson-visual-diagram.anim-remove .lesson-visual-token.is-active,.lesson-visual-diagram.anim-dequeue .lesson-visual-token.is-active{animation:lessonVisualSoftExit .36s ease}.lesson-visual-diagram.anim-slide .lesson-visual-token.is-active,.lesson-visual-diagram.anim-grow .lesson-visual-token.is-window,.lesson-visual-diagram.anim-shrink .lesson-visual-token.is-window{animation:lessonVisualSoftGlow .46s ease}.lesson-visual-diagram.anim-highlight .lesson-visual-edge.is-active,.lesson-visual-diagram.anim-return .lesson-visual-token.is-active,.lesson-visual-diagram.anim-branch .lesson-visual-flow-symbol.is-active,.lesson-visual-diagram.anim-return .lesson-visual-flow-symbol.is-active{animation:lessonVisualSoftPulse .46s ease}@keyframes lessonVisualSoftEnter{0%{opacity:.62;box-shadow:0 0 0 1px color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}to{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}}@keyframes lessonVisualSoftExit{0%{opacity:.78;box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent)}to{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent, #f97316) 18%,transparent)}}@keyframes lessonVisualSoftGlow{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--ct-accent, #f97316) 8%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f97316) 14%,transparent)}to{box-shadow:0 8px 18px #08234314}}@keyframes lessonVisualSoftPulse{0%{opacity:.68}50%{opacity:1}to{opacity:.9}}@media (prefers-reduced-motion: reduce){.lesson-visual-token,.lesson-visual-edge,.lesson-visual-node circle,.lesson-visual-flow-symbol{transition:none}.lesson-visual-diagram.anim-push .lesson-visual-token.is-active,.lesson-visual-diagram.anim-add .lesson-visual-token.is-active,.lesson-visual-diagram.anim-enqueue .lesson-visual-token.is-active,.lesson-visual-diagram.anim-visit .lesson-visual-node.is-active circle,.lesson-visual-diagram.anim-pop .lesson-visual-token.is-active,.lesson-visual-diagram.anim-remove .lesson-visual-token.is-active,.lesson-visual-diagram.anim-dequeue .lesson-visual-token.is-active,.lesson-visual-diagram.anim-slide .lesson-visual-token.is-active,.lesson-visual-diagram.anim-grow .lesson-visual-token.is-window,.lesson-visual-diagram.anim-shrink .lesson-visual-token.is-window,.lesson-visual-diagram.anim-highlight .lesson-visual-edge.is-active,.lesson-visual-diagram.anim-return .lesson-visual-token.is-active,.lesson-visual-diagram.anim-branch .lesson-visual-flow-symbol.is-active,.lesson-visual-diagram.anim-return .lesson-visual-flow-symbol.is-active{animation:none}}.lesson-compare{margin:0}.lesson-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson-compare-col{min-width:0}.lesson-compare-label{display:block;margin-bottom:5px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lesson-compare-col.is-wrong .lesson-compare-label{color:#b91c1c}.lesson-compare-col.is-right .lesson-compare-label{color:#15803d}body.coding-dark .lesson-compare-col.is-wrong .lesson-compare-label{color:#f87171}body.coding-dark .lesson-compare-col.is-right .lesson-compare-label{color:#4ade80}.lesson-compare-col.is-wrong pre{border-color:color-mix(in srgb,#ef4444 35%,transparent)}.lesson-compare-col.is-right pre{border-color:color-mix(in srgb,#22c55e 35%,transparent)}.lesson-compare figcaption{margin-top:8px;font-size:.86rem;line-height:1.55;color:var(--ct-text)}@media (max-width: 720px){.lesson-visual-block{align-items:stretch;flex-direction:column}.lesson-visual-open{width:100%}.lesson-compare-grid{grid-template-columns:1fr}}@media (max-width: 560px){.lesson-visual-diagram.is-conditionals{padding:14px 10px}.lesson-visual-conditional{grid-template-columns:100px 28px 154px 28px 112px 34px 234px 34px 112px;min-width:836px;justify-content:start;padding:1rem 1.1rem}.lesson-visual-branch-split{min-width:234px}.lesson-visual-branch{grid-template-columns:3.1rem 32px minmax(130px,1fr);gap:.42rem}.lesson-visual-flow-symbol{min-height:66px;padding:.5rem .62rem}.lesson-visual-flow-symbol.is-diamond{width:124px;min-height:124px}.lesson-visual-loop-flow{grid-template-columns:86px 22px 108px 22px 108px 22px 108px 22px 86px;min-width:680px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-inline:.75rem}}.lesson-list-block h3{margin:0 0 8px;font-size:1rem;color:var(--ct-text)}.lesson-list-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.lesson-list-block li{display:flex;align-items:flex-start;gap:9px;font-size:.9rem;line-height:1.55;color:var(--ct-text)}.lesson-list-block li svg{flex:none;margin-top:4px;font-size:.72rem;color:#22c55e}.lesson-check{padding:15px 16px 16px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:10px;background:color-mix(in srgb,var(--ct-accent) 4%,var(--ct-panel))}.lesson-check-kicker{display:inline-block;margin-bottom:7px;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-accent)}.lesson-check-prompt{margin:0 0 11px;font-size:.94rem;font-weight:600;line-height:1.5;color:var(--ct-text)}.lesson-check-code{margin:0 0 12px;padding:11px 13px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:8px;background:var(--ct-editor-bg, #0f172a);overflow-x:auto}.lesson-check-code code{padding:0;background:none;color:var(--ct-editor-text, #e2e8f0);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.83rem;line-height:1.6;white-space:pre}.lesson-check-choices{display:flex;flex-direction:column;gap:6px}.lesson-check-choice{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:1px solid var(--ct-border, rgba(148, 163, 184, .3));border-radius:8px;background:var(--ct-panel);color:var(--ct-text);font-family:inherit;font-size:.88rem;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,opacity .14s ease}.lesson-check-choice>span:last-child{white-space:pre-line}.lesson-check-choice:hover:not(:disabled){border-color:var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 7%,var(--ct-panel))}.lesson-check-choice:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.lesson-check-choice:disabled{cursor:default}.lesson-check-marker{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,currentColor 12%,transparent);font-size:.7rem;font-weight:700}.lesson-check-choice.is-correct{border-color:color-mix(in srgb,#22c55e 55%,transparent);background:color-mix(in srgb,#22c55e 11%,transparent);color:#15803d;font-weight:600}.lesson-check-choice.is-wrong{border-color:color-mix(in srgb,#ef4444 55%,transparent);background:color-mix(in srgb,#ef4444 10%,transparent);color:#b91c1c}.lesson-check-choice.is-dimmed{opacity:.45}body.coding-dark .lesson-check-choice.is-correct{color:#4ade80}body.coding-dark .lesson-check-choice.is-wrong{color:#f87171}.lesson-check-why{margin-top:12px;padding:11px 13px;border-radius:8px;border-left:3px solid;font-size:.88rem;line-height:1.6;color:var(--ct-text)}.lesson-check-why.is-correct{border-color:#22c55e;background:color-mix(in srgb,#22c55e 8%,transparent)}.lesson-check-why.is-wrong{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 9%,transparent)}.lesson-check-verdict{font-weight:700}.lesson-check-why.is-correct .lesson-check-verdict{color:#15803d}.lesson-check-why.is-wrong .lesson-check-verdict{color:#b45309}body.coding-dark .lesson-check-why.is-correct .lesson-check-verdict{color:#4ade80}body.coding-dark .lesson-check-why.is-wrong .lesson-check-verdict{color:#fbbf24}.lesson-section-controls{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.coding-app .lesson-section-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:142px;padding:9px 14px;border:1px solid var(--ct-border, rgba(148, 163, 184, .32));border-radius:999px;background:var(--ct-panel);color:var(--ct-text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:none!important;transform:none!important}.coding-app .lesson-section-controls button:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-primary) 45%,var(--ct-border));color:var(--ct-primary)}.coding-app .lesson-section-controls button.is-practice{border-color:transparent;background:var(--ct-accent);color:#fff}.coding-app .lesson-section-controls button.is-practice:hover{filter:brightness(1.08);color:#fff}.coding-app .lesson-section-controls button:disabled{opacity:.45;cursor:default}.lesson-foot{margin-top:30px;padding-top:20px;border-top:1px solid var(--ct-border, rgba(148, 163, 184, .25));text-align:center}.lesson-foot.is-sectioned{display:none}.lesson-foot p{margin:0 0 10px;font-size:.9rem;color:var(--ct-text)}.lesson-practice-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:0;border-radius:8px;background:var(--ct-accent);color:#fff;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:filter .15s ease,transform .12s ease}.lesson-practice-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.lesson-practice-cta:focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px}.lesson-empty{text-align:center;padding-top:40px}.lesson-empty h2{margin:0 0 8px;font-size:1.3rem;color:var(--ct-text)}.lesson-empty p{margin:0 auto 18px;max-width:44ch;font-size:.9rem;line-height:1.6;color:var(--ct-text)}.lesson-empty .learn-back-link{margin:14px auto 0}.cq-language-card-cta{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:10px;font-size:.8rem;font-weight:600;color:var(--ct-accent)}.cq-start-here-card{display:grid;gap:8px;width:min(100%,720px);margin:0 0 16px;padding:18px 20px;border:1px solid color-mix(in srgb,#16a34a 42%,var(--ct-border));border-left:5px solid #16a34a;border-radius:14px;background:linear-gradient(110deg,color-mix(in srgb,#16a34a 10%,var(--ct-panel)),var(--ct-panel));color:var(--ct-text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,#16a34a 10%,transparent)}.cq-start-here-card strong{color:var(--ct-text);font-size:1.18rem;line-height:1.2}.cq-start-here-card>span:not(.cq-language-card-flag):not(.cq-language-card-cta){color:var(--ct-muted);font-size:.9rem;line-height:1.45}.coding-app .cq-start-here-card .cq-language-card-cta{width:fit-content;margin-top:8px;padding:.62rem 1rem;border-radius:10px;background:linear-gradient(135deg,#2563eb,#0f4c81);color:#fff!important;font-size:.88rem;font-weight:750;box-shadow:0 8px 18px #2563eb3d}.coding-app .cq-start-here-card:hover:not(:disabled){border-color:#16a34a!important;background:linear-gradient(110deg,color-mix(in srgb,#16a34a 15%,var(--ct-panel)),var(--ct-panel))!important;color:var(--ct-text)!important;transform:translateY(-2px)!important}.coding-app .cq-start-here-card:hover:not(:disabled) .cq-language-card-cta{background:linear-gradient(135deg,#2f6fd6,#0b3f72)!important;color:#fff!important}.learn-tracks{padding:4px 0 24px}.learn-back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;padding:4px 2px;border:0;background:none;color:var(--ct-muted, #6b7280);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease,transform .15s ease}.learn-back-link svg{font-size:.72rem;transition:transform .15s ease}.learn-back-link:hover{color:var(--ct-text)}.learn-back-link:hover svg{transform:translate(-3px)}.learn-back-link:focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px;border-radius:4px}.learn-tracks-head{max-width:680px;margin-bottom:20px}.learn-tracks-head h2{margin:5px 0 7px;font-size:clamp(1.35rem,2vw,1.7rem);color:var(--ct-text)}.learn-tracks-head p{margin:0;color:var(--ct-muted, #6b7280);font-size:.9rem;line-height:1.6}.learn-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.learn-track-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--learn-track-accent) 28%,var(--ct-border));border-radius:16px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--learn-track-accent) 12%,transparent),transparent 55%),var(--ct-panel);box-shadow:0 4px 14px #0f254512,0 1px 3px #0f25450d;color:var(--ct-text);font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}body.coding-dark .learn-track-card{box-shadow:0 6px 18px #00000052}.learn-track-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--learn-track-accent)}.coding-app .learn-track-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}.coding-app .learn-track-card,.coding-app .learn-tracks .learn-track-card:hover:not(:disabled){background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--learn-track-accent) 12%,transparent),transparent 55%),var(--ct-panel)!important;background-color:var(--ct-panel)!important;color:var(--ct-text)!important}.coding-app .learn-tracks .learn-track-card:hover:not(:disabled){transform:translateY(-3px)!important;border-color:var(--learn-track-accent)!important;box-shadow:0 16px 32px color-mix(in srgb,var(--learn-track-accent) 20%,transparent)!important}.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-title,.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-stat-num{color:var(--ct-text)!important}.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-description{color:color-mix(in srgb,var(--ct-text) 78%,transparent)!important}.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-stat-label{color:color-mix(in srgb,var(--ct-text) 60%,transparent)!important}.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-kicker,.coding-app .learn-tracks .learn-track-card:hover:not(:disabled) .learn-track-cta{color:var(--learn-track-accent)!important}.learn-track-card:focus-visible{outline:3px solid color-mix(in srgb,var(--learn-track-accent) 50%,transparent);outline-offset:3px}.learn-track-card.is-beginner{background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--learn-track-accent) 16%,transparent),transparent 42%),var(--ct-panel);border-color:color-mix(in srgb,var(--learn-track-accent) 40%,var(--ct-border))}.coding-app .learn-track-card.is-beginner,.coding-app .learn-track-card.is-beginner:hover:not(:disabled){background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--learn-track-accent) 16%,transparent),transparent 42%),var(--ct-panel)!important;background-color:var(--ct-panel)!important}.learn-track-card.is-beginner:before{width:7px}.learn-track-kicker{display:inline-flex;margin-bottom:14px;color:var(--learn-track-accent);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.learn-track-title{margin-bottom:7px;font-size:1.4rem;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:var(--ct-text)}.learn-track-description{color:color-mix(in srgb,var(--ct-text) 78%,transparent);font-size:.88rem;line-height:1.55}.learn-track-stats{display:flex;gap:30px;margin-top:22px}.learn-track-stat{display:flex;flex-direction:column;gap:3px}.learn-track-stat-num{font-size:1.55rem;font-weight:800;line-height:1;color:var(--ct-text);font-variant-numeric:tabular-nums}.learn-track-stat-label{font-size:.76rem;font-weight:600;letter-spacing:.005em;color:color-mix(in srgb,var(--ct-text) 60%,transparent)}.learn-track-progress{display:block;height:7px;margin-top:14px;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 65%,transparent);overflow:hidden}.learn-track-progress span{display:block;height:100%;border-radius:inherit;background:var(--learn-track-accent);transition:width .2s ease}.learn-lesson-complete{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,#22c55e 12%,transparent);color:#15803d;font-size:.72rem;font-weight:800}body.coding-dark .learn-lesson-complete{color:#4ade80}.learn-track-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:24px;color:var(--learn-track-accent);font-size:.84rem;font-weight:750}.learn-track-cta svg{font-size:.72rem;transition:transform .15s ease}.learn-track-card:hover .learn-track-cta svg{transform:translate(3px)}@media (max-width: 700px){.learn-track-grid{grid-template-columns:1fr}.learn-track-card{min-height:230px;padding:20px}}.learn-tracks{width:min(100%,1080px);margin-inline:auto}.learn-tracks-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.learn-tracks-head{max-width:720px;margin-bottom:0}.learn-back-link{font-size:.86rem;color:color-mix(in srgb,var(--ct-text) 68%,transparent);flex:0 0 auto;margin-top:2px}.learn-track-kicker{font-size:.72rem;opacity:1}.learn-track-topics{display:flex;flex-direction:column;gap:5px;margin-top:18px;color:color-mix(in srgb,var(--ct-text) 72%,transparent);font-size:.8rem;line-height:1.45}.learn-track-topics-label{color:var(--learn-track-accent);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.learn-track-stat-label{color:color-mix(in srgb,var(--ct-text) 68%,transparent);font-size:.78rem}@media (max-width: 700px){.learn-tracks{width:100%}.learn-track-topics{margin-top:14px}}.coding-app .learn-tracks .learn-back-link,.coding-app .learn-tracks .learn-back-link:hover:not(:disabled){border-color:transparent!important;box-shadow:none!important}.coding-app .learn-tracks .learn-back-link{padding:8px 12px;border-radius:999px;border-color:var(--ct-border)!important;background:var(--ct-panel)!important;background-color:var(--ct-panel)!important;color:color-mix(in srgb,var(--ct-text) 68%,transparent)!important}.coding-app .learn-tracks .learn-back-link:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 7%,transparent)!important;background-color:color-mix(in srgb,var(--ct-primary) 7%,transparent)!important;color:var(--ct-text)!important;transform:none!important}.coding-app .learn-tracks .learn-back-link:focus-visible{outline-color:var(--ct-primary)}@media (max-width: 700px){.learn-tracks-toolbar{flex-direction:column-reverse;align-items:stretch;gap:12px}.learn-back-link{width:max-content}}.practice-library{display:flex;flex-direction:column;gap:1.25rem;--cq-on-primary: #fff}body.coding-dark .practice-library{--cq-on-primary: #0b1a33}.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.85rem;border-bottom:1px solid var(--ct-border)}.coding-app .practice-back-btn,.coding-app .practice-back-btn:hover:not(:disabled){margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:4px 6px;border:0!important;border-radius:6px;background:none!important;background-color:transparent!important;box-shadow:none!important;transform:none!important;color:var(--ct-muted)!important;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease!important}.coding-app .practice-back-btn:hover:not(:disabled){color:var(--ct-text)!important}.coding-app .practice-back-btn svg{font-size:.72rem;transition:transform .15s ease}.coding-app .practice-back-btn:hover:not(:disabled) svg{transform:translate(-3px)}.coding-app .practice-back-btn:focus-visible{outline:2px solid var(--ct-primary);outline-offset:3px}.coding-app .practice-back-btn.is-track-chooser,.coding-app .practice-back-btn.is-track-chooser:hover:not(:disabled){padding:9px 13px!important;border:1px solid color-mix(in srgb,var(--ct-accent) 30%,var(--ct-border))!important;border-radius:999px!important;background:var(--ct-panel)!important;background-color:var(--ct-panel)!important;color:var(--ct-muted, #6b7280)!important;font-size:.82rem;font-weight:700;box-shadow:none!important}.coding-app .practice-back-btn.is-track-chooser:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-accent) 30%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-panel))!important;background-color:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-panel))!important;color:var(--ct-text)!important;transform:translate(-2px)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--ct-accent) 10%,transparent)!important}.coding-app .practice-back-btn.is-track-chooser:hover:not(:disabled) svg{transform:translate(-3px)}.practice-mode-toggle{display:inline-flex;padding:4px;gap:4px;background:var(--ct-panel-soft);border:1px solid var(--ct-border);border-radius:999px}.coding-app .practice-mode-btn{border:none;background:transparent;color:var(--ct-muted);font-weight:600;font-size:.9rem;padding:.4rem 1.15rem;border-radius:999px;cursor:pointer;box-shadow:none;transform:none;transition:background .15s ease,color .15s ease,box-shadow .15s ease!important}.coding-app .practice-mode-btn:hover:not(:disabled){background:var(--ct-panel)!important;border-color:transparent!important;color:var(--ct-text)!important;box-shadow:none!important;transform:none!important}.coding-app .practice-mode-btn.active,.coding-app .practice-mode-btn.active:hover:not(:disabled){background:linear-gradient(135deg,var(--ct-primary),color-mix(in srgb,var(--ct-primary) 78%,#12325c))!important;border-color:transparent!important;color:var(--cq-on-primary)!important;box-shadow:0 2px 8px color-mix(in srgb,var(--ct-primary) 30%,transparent)!important;transform:none!important}.cq-loading,.cq-empty{color:var(--ct-muted);padding:1.5rem 0}.cq-error{color:#b42318;background:color-mix(in srgb,#b42318 8%,var(--ct-panel));border:1px solid color-mix(in srgb,#b42318 25%,var(--ct-border));border-radius:10px;padding:.6rem .85rem;margin:.75rem 0}.cq-back-link{align-self:flex-start;background:none;border:none;color:var(--ct-muted);font-weight:600;font-size:.9rem;cursor:pointer;padding:.25rem 0}.cq-back-link:hover{color:var(--ct-text)}.cq-btn{border:1px solid var(--ct-border-strong);border-radius:10px;padding:.55rem 1.15rem;font-weight:600;font-size:.92rem;cursor:pointer;transition:background .15s ease,opacity .15s ease}.cq-btn:disabled{opacity:.45;cursor:not-allowed}.cq-btn-primary{background:linear-gradient(135deg,var(--ct-primary),color-mix(in srgb,var(--ct-primary) 78%,#12325c));border-color:var(--ct-primary);color:var(--cq-on-primary);box-shadow:0 3px 10px color-mix(in srgb,var(--ct-primary) 28%,transparent)}.cq-btn-primary:not(:disabled):hover{filter:brightness(1.08)}.cq-btn-ghost{background:var(--ct-panel);color:var(--ct-text)}.cq-btn-ghost:not(:disabled):hover{background:var(--ct-panel-soft)}.cq-cards-intro h2{margin:0 0 .35rem;color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:800;font-size:1.9rem;letter-spacing:-.01em}.cq-cards-intro p{margin:0 0 1.25rem;color:var(--ct-muted);max-width:58ch}.cq-language-cards{width:100%;max-width:1560px;margin-inline:auto}.cq-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}@media (max-width: 1100px){.cq-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.cq-cards-grid{grid-template-columns:1fr}}.cq-language-card{--cq-card-tint: var(--ct-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;gap:.85rem;text-align:left;min-height:260px;padding:1.5rem 1.5rem 1.35rem;color:var(--ct-text);background:var(--ct-panel);border:1px solid var(--ct-border-strong);border-top:5px solid var(--cq-card-tint);border-radius:18px;cursor:pointer;font:inherit;position:relative;overflow:hidden;box-shadow:0 4px 14px #0b254514,0 1px 3px #0b25450f;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.cq-language-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--cq-card-tint) 16%,transparent),transparent 58%);pointer-events:none}.cq-language-card>*{position:relative}.cq-language-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px color-mix(in srgb,var(--cq-card-tint) 26%,transparent);border-color:var(--cq-card-tint)}body.coding-dark .cq-language-card{box-shadow:0 6px 18px #00000059}.cq-language-card-head{display:flex;align-items:center;gap:.85rem}.cq-language-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;color:#fff;font-size:1.7rem;background:linear-gradient(135deg,var(--cq-card-tint),color-mix(in srgb,var(--cq-card-tint) 65%,#000));box-shadow:0 6px 16px color-mix(in srgb,var(--cq-card-tint) 40%,transparent)}.cq-language-card.recommended{border:2px solid var(--cq-card-tint);box-shadow:0 10px 26px color-mix(in srgb,var(--cq-card-tint) 22%,transparent)}.cq-language-card-flag{position:absolute;top:0;right:0;font-size:.68rem;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--cq-card-tint);padding:.25rem .7rem;border-bottom-left-radius:12px}.cq-language-card-name{font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1.45rem;font-weight:700;color:var(--ct-text)}.cq-language-card-blurb{flex:1;font-size:.9rem;line-height:1.45;color:var(--ct-muted)}.cq-language-card-stats{display:flex;flex-wrap:wrap;gap:.5rem}.cq-language-stat{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--ct-text);background:var(--ct-panel-soft);border:1px solid var(--ct-border);border-radius:999px;padding:.3rem .7rem}.cq-language-stat svg{color:var(--cq-card-tint);font-size:.85rem}.cq-language-card-progress{display:flex;flex-direction:column;gap:.35rem}.cq-language-progress-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 60%,var(--ct-soft));overflow:hidden}.cq-language-progress-fill{display:block;height:100%;border-radius:999px;background:var(--cq-card-tint);transition:width .3s ease}.cq-language-progress-label{font-size:.74rem;color:var(--ct-muted)}.cq-language-card-cta{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.15rem;padding:.7rem 1rem;border-radius:10px;font-weight:700;font-size:.92rem;color:#fff;background:linear-gradient(135deg,var(--cq-card-tint),color-mix(in srgb,var(--cq-card-tint) 62%,#000));box-shadow:0 4px 12px color-mix(in srgb,var(--cq-card-tint) 35%,transparent);transition:gap .14s ease,filter .14s ease}.cq-language-card:hover .cq-language-card-cta{gap:.7rem;filter:brightness(1.08)}.cq-landing{display:flex;flex-direction:column;gap:1rem}.cq-hero{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:1.5rem 1.75rem;border-radius:16px;background:linear-gradient(135deg,#14294c,#0e1f3c);color:#fff}.coding-app .cq-hero,.coding-app .cq-hero h2,.coding-app .cq-hero p,.coding-app .cq-hero span{color:#fff}.cq-hero-copy{flex:1 1 auto}.cq-hero-icon{flex:0 0 auto;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;font-size:1.8rem;color:#fff;background:color-mix(in srgb,var(--cq-card-tint, #fff) 55%,rgba(255,255,255,.15));border:1px solid rgba(255,255,255,.25)}.cq-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;opacity:.8}.cq-hero-copy h2{margin:.25rem 0 .35rem;font-size:1.9rem;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:800;letter-spacing:-.01em}.cq-hero-copy p{margin:0;opacity:.85;font-size:.95rem}.cq-hero-progress{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-left:auto}.cq-hero-ring{--cq-ring-fill: #9fc0ef;--cq-ring-track: rgba(255, 255, 255, .16);position:relative;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cq-ring-fill) var(--cq-ring-pct, 0%),var(--cq-ring-track) var(--cq-ring-pct, 0%))}.cq-hero-ring.empty{background:var(--cq-ring-track)}.cq-hero-ring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#14294c}body.coding-dark .cq-hero-ring:before{background:#0e1f3c}.cq-hero-pct{position:relative;font-weight:700;font-size:1.15rem}.cq-hero-progress-label{font-size:.78rem;opacity:.85}.cq-track-groups{display:flex;flex-direction:column;gap:1rem}.cq-track-group{overflow:hidden;background:var(--ct-panel-soft);border:1px solid var(--ct-border);border-radius:16px}.cq-track-toggle{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.2rem;color:var(--ct-text);background:transparent;border:0;text-align:left;cursor:pointer}.cq-track-toggle:hover{background:color-mix(in srgb,var(--ct-primary-soft) 55%,transparent)}.cq-track-badge{min-width:7.25rem;padding:.45rem .7rem;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.04em}.cq-track-badge.is-beginner{color:#166534;background:#dcfce7;border-color:#86efac}.cq-track-badge.is-intermediate{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.cq-track-badge.is-advanced{color:#9a3412;background:#ffedd5;border-color:#fdba74}.cq-track-badge.is-mistakes{color:#9f1239;background:#ffe4e6;border-color:#fda4af}body.coding-dark .cq-track-badge.is-beginner{color:#bbf7d0;background:#16653459;border-color:#166534}body.coding-dark .cq-track-badge.is-intermediate{color:#ddd6fe;background:#5b21b659;border-color:#6d28d9}body.coding-dark .cq-track-badge.is-advanced{color:#fed7aa;background:#9a341259;border-color:#ea580c}body.coding-dark .cq-track-badge.is-mistakes{color:#fecdd3;background:#9f123959;border-color:#be123c}.cq-track-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}.cq-track-copy strong{color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1.05rem}.cq-track-copy span{color:var(--ct-muted);font-size:.86rem}.cq-track-stats{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:.3rem;color:var(--ct-text);font-size:.86rem}.cq-track-stats small{color:var(--ct-muted)}.cq-track-chevron{color:var(--ct-muted);transition:transform .18s ease}.cq-track-group.open .cq-track-chevron{transform:rotate(180deg)}.cq-track-content{padding:0 1rem 1rem}.cq-mistake-bank{border-style:dashed}.cq-mistake-bank-content{display:grid;gap:1rem}.cq-mistake-bank-intro,.cq-mistake-bank-question-head,.cq-mistake-bank-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cq-mistake-bank-intro{padding:1rem;border:1px solid var(--ct-border);border-radius:14px;background:var(--ct-surface)}.cq-mistake-bank-intro h4,.cq-mistake-bank-question-head h4,.cq-mistake-bank-result h4{margin:.15rem 0 .35rem;color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif}.cq-mistake-bank-intro p,.cq-mistake-bank-question-head p{margin:0;color:var(--ct-muted);line-height:1.45}.cq-mistake-bank-list,.cq-mistake-bank-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}.cq-mistake-bank-list article,.cq-mistake-bank-review article{display:grid;gap:.45rem;padding:.85rem;border:1px solid var(--ct-border);border-radius:12px;background:color-mix(in srgb,var(--ct-panel) 78%,#fff)}.cq-mistake-bank-list small,.cq-mistake-bank-review strong{color:var(--ct-primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.cq-mistake-bank-list strong,.cq-mistake-bank-list span,.cq-mistake-bank-review span{color:var(--ct-text);line-height:1.25}.cq-mistake-bank-runner,.cq-mistake-bank-result{display:grid;gap:1rem;padding:1rem;border:1px solid var(--ct-border);border-radius:14px;background:var(--ct-surface)}.cq-mistake-bank-question-head>span{flex:0 0 auto;color:var(--ct-muted);font-size:.85rem;font-weight:800}.cq-mistake-bank-controls{justify-content:flex-end;flex-wrap:wrap}.cq-mistake-bank-review article.correct{border-color:color-mix(in srgb,#16a34a 38%,var(--ct-border));background:color-mix(in srgb,#dcfce7 52%,var(--ct-panel))}.cq-mistake-bank-review article.incorrect{border-color:color-mix(in srgb,#ef4444 38%,var(--ct-border));background:color-mix(in srgb,#fee2e2 45%,var(--ct-panel))}.cq-mistake-bank-review small{color:var(--ct-muted);line-height:1.4}@media (max-width: 640px){.cq-track-toggle{grid-template-columns:minmax(0,1fr) auto}.cq-track-badge{min-width:0;justify-self:start}.cq-track-copy,.cq-track-stats{display:none}.cq-track-content{padding:0 .65rem .65rem}.cq-mistake-bank-intro,.cq-mistake-bank-question-head{align-items:flex-start;flex-direction:column}}.cq-accordion{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.cq-accordion-item{background:var(--ct-panel);border:1px solid var(--ct-border);border-radius:14px;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.cq-accordion-item.open{border-color:var(--ct-border-strong)}.cq-accordion-item.empty{background:var(--ct-panel-soft);border-style:dashed}.cq-accordion-head{width:100%;display:flex;align-items:center;gap:1rem;text-align:left;padding:1.1rem 1.25rem;background:none;border:none;cursor:pointer;color:var(--ct-text)}.cq-accordion-head:disabled{cursor:not-allowed}.coding-app .cq-accordion-head{transition:background .14s ease,box-shadow .14s ease!important}.coding-app .cq-accordion-head:not(:disabled):hover{background:var(--ct-panel-soft)!important;color:var(--ct-text)!important;box-shadow:none!important}.coding-app .cq-accordion-head:not(:disabled):hover .cq-accordion-title{color:var(--ct-text)!important}.coding-app .cq-accordion-head:not(:disabled):hover .cq-accordion-blurb{color:var(--ct-muted)!important}body.coding-dark .coding-app .cq-accordion-head:not(:disabled):hover{background:#3b82f614!important;box-shadow:inset 4px 0 #3b82f6!important}.cq-accordion-num{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--ct-primary-soft);color:var(--ct-primary);border:1px solid color-mix(in srgb,var(--ct-primary) 35%,transparent);font-weight:700;font-size:1.05rem}.cq-accordion-item.empty .cq-accordion-num{background:transparent;color:var(--ct-soft);border-color:var(--ct-border)}.cq-accordion-copy{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.cq-accordion-title{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:700;color:var(--ct-text)}.cq-accordion-count{font-size:.72rem;font-weight:700;color:var(--ct-muted);background:var(--ct-panel-soft);border:1px solid var(--ct-border);border-radius:999px;padding:.1rem .5rem}.cq-accordion-soon{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f3f4f6;border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .55rem}body.coding-dark .cq-accordion-soon{color:#cbd5e1;background:#1e293b;border-color:#334155}.cq-accordion-blurb{color:var(--ct-muted);font-size:.88rem}.cq-accordion-item.empty .cq-accordion-title{color:var(--ct-muted)}.cq-accordion-item.empty .cq-accordion-blurb{color:var(--ct-soft)}.cq-accordion-chevron{flex:0 0 auto;color:var(--ct-soft);font-size:.95rem;transition:transform .18s ease}.cq-accordion-item.open .cq-accordion-chevron{transform:rotate(180deg);color:var(--ct-muted)}.cq-accordion-body{border-top:1px solid var(--ct-border)}.cq-cat-loading{padding:1rem 1.25rem}.cq-question-table{width:100%;border-collapse:collapse;font-size:.9rem}.cq-question-table thead th{text-align:left;font-size:.82rem;font-weight:700;color:var(--ct-text);padding:.7rem 1.25rem;border-bottom:2px solid var(--ct-border-strong)}.cq-question-table thead th:nth-child(2),.cq-question-table thead th:nth-child(3){width:1%;white-space:nowrap}.cq-question-table tbody td{padding:.6rem 1.25rem;border-bottom:1px solid var(--ct-border);vertical-align:middle}.cq-question-table tbody tr:last-child td{border-bottom:none}.cq-question-table tbody tr:hover td{background:var(--ct-panel-soft)}body.coding-dark .cq-question-table tbody tr:hover td{background:#3b82f614}body.coding-dark .cq-question-table tbody tr:hover td:first-child{box-shadow:inset 4px 0 #3b82f6}.cq-question-table .cq-question-link,.cq-question-table .cq-question-link:hover,.cq-question-table .cq-question-link:focus,.cq-question-table tbody tr:hover .cq-question-link{background:none;border:none;border-radius:0;box-shadow:none;outline:none;padding:0;text-align:left;font-weight:700;font-size:1rem;cursor:pointer}.cq-question-table .cq-question-link{color:#fff;text-decoration:none}body:not(.coding-dark) .cq-question-table .cq-question-link{color:var(--ct-text)}.cq-question-table tbody tr:hover .cq-question-link{color:var(--ct-accent);text-decoration:underline;text-underline-offset:2px}body.coding-dark .cq-question-table tbody tr:hover .cq-question-link{color:#93b4f5}.cq-question-status{text-align:center}.coding-app .cq-status-icon{display:inline-flex;font-size:1.15rem;vertical-align:middle;color:var(--ct-soft)}.coding-app .cq-status-icon svg{color:inherit;fill:currentcolor}.coding-app .cq-status-icon.correct,.coding-app .cq-status-icon.correct svg{color:var(--ct-success);fill:currentcolor}.coding-app .cq-status-icon.incorrect,.coding-app .cq-status-icon.incorrect svg{color:#d0493b;fill:currentcolor}.coding-app .cq-status-icon.in-progress,.coding-app .cq-status-icon.in-progress svg{color:#d99516;fill:currentcolor}body.coding-dark .coding-app .cq-status-icon.incorrect,body.coding-dark .coding-app .cq-status-icon.incorrect svg{color:#f0685a}body.coding-dark .coding-app .cq-status-icon.in-progress,body.coding-dark .coding-app .cq-status-icon.in-progress svg{color:#fbbf24}.cq-accordion-best{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700}.cq-accordion-best svg{font-size:.85rem}.cq-accordion-best.pass{color:var(--ct-success)}.cq-accordion-best.try{color:var(--ct-accent)}.cq-accordion-progress-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.cq-progress-badge{display:inline-flex;align-items:center;width:fit-content;padding:.18rem .45rem;border-radius:999px;font-size:.72rem;font-weight:800}.cq-progress-badge.in-progress{background:color-mix(in srgb,#f59e0b 13%,transparent);color:#b45309}.cq-progress-badge.complete{background:color-mix(in srgb,#22c55e 12%,transparent);color:#15803d}body.coding-dark .cq-progress-badge.in-progress{color:#fbbf24}body.coding-dark .cq-progress-badge.complete{color:#4ade80}.cq-question-kind{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.cq-question-kind svg{font-size:.72rem}.cq-question-kind.group-mcq{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.cq-question-kind.group-typein{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.cq-question-kind.group-parsons{color:#c2410c;background:#fff7ed;border-color:#fed7aa}body.coding-dark .cq-question-kind.group-mcq{color:#bfdbfe;background:#2563eb33;border-color:#60a5faa6}body.coding-dark .cq-question-kind.group-typein{color:#bbf7d0;background:#16a34a33;border-color:#4ade80a6}body.coding-dark .cq-question-kind.group-parsons{color:#fed7aa;background:#ea580c33;border-color:#fb923ca6}.cq-runner{display:flex;flex-direction:column;gap:1rem}.cq-runner-full{height:100%;min-height:0;gap:0}.coding-quiz-runner-active .cq-runner-full{flex:1}.coding-quiz-runner-active .cq-runner-nav{padding:1rem 1.75rem;margin:0}.cq-runner-full{position:relative}.cq-runner-full:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--ct-border);pointer-events:none;z-index:1}.cq-runner-top{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-bottom:1px solid var(--ct-border)}.cq-runner-top-left{display:flex;align-items:flex-end;padding:.15rem 1.75rem 0}.cq-runner-top-right{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:.45rem 1.75rem}@media (max-width: 860px){.cq-runner-top{grid-template-columns:1fr}.cq-runner-top-left{border-right:none}}.cq-progress-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--ct-text)}.cq-progress-pct{margin-left:auto;color:var(--ct-accent);font-weight:700}.cq-progress-segments{display:flex;gap:4px}.cq-progress-seg{flex:1;height:6px;padding:0;border:none;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 55%,var(--ct-soft));cursor:pointer;transition:background .15s ease,transform .15s ease}.cq-progress-seg:hover{transform:scaleY(1.6)}.cq-progress-seg.done{background:#2563eb}.cq-progress-seg.current{background:#2563eb;box-shadow:0 0 0 2px color-mix(in srgb,#2563eb 35%,transparent)}.cq-progress-seg.current:not(.done){background:color-mix(in srgb,#2563eb 55%,var(--ct-soft))}.cq-runner-split{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.cq-runner-left,.cq-runner-right{min-height:0;display:flex;flex-direction:column}.cq-pane-body{flex:1;min-height:0;overflow-y:auto;padding:1.5rem 1.75rem}.cq-pane-nav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.75rem;border-top:1px solid var(--ct-border)}@media (max-width: 860px){.cq-runner-split{grid-template-columns:1fr}.cq-runner-left{border-right:none;border-bottom:1px solid var(--ct-border)}}@media (max-width: 640px){.coding-quiz-runner-active .cq-runner-full,.cq-runner-full{height:auto;min-height:0}.cq-runner-full:before{display:none}.cq-runner-top{display:flex;flex-direction:column;border-bottom:1px solid var(--ct-border)}.cq-runner-top-left,.cq-runner-top-right{padding-inline:1rem}.cq-runner-top-right{padding-block:.5rem .65rem}.cq-progress-meta{flex-wrap:wrap;gap:.25rem .45rem;font-size:.78rem}.cq-progress-segments{gap:3px}.cq-runner-split{display:flex;flex-direction:column;min-height:0}.cq-runner-left,.cq-runner-right{display:block;min-height:0;border:0}.cq-runner-left{border-bottom:1px solid color-mix(in srgb,var(--ct-border) 70%,transparent)}.cq-pane-body{min-height:0;overflow:visible;padding:1rem}.cq-runner-right .cq-pane-body{padding-bottom:1.25rem}.cq-pane-nav{padding:.75rem 1rem;background:color-mix(in srgb,var(--ct-panel) 94%,transparent)}.cq-tabs{gap:1rem}.coding-app .cq-tab,.coding-app .cq-tab:hover{font-size:.95rem}.cq-question-tools{justify-content:flex-start}.cq-prompt{font-size:clamp(1.05rem,5.6vw,1.24rem);line-height:1.25}.cq-code{padding:.85rem;font-size:.78rem;overflow-x:auto}.cq-answer-heading{margin-top:0}.cq-choice{padding:.8rem .9rem}.cq-immediate-feedback{margin-top:.9rem;padding:.9rem;border-radius:14px}.cq-immediate-feedback-head{gap:.55rem}.cq-immediate-answer-review{grid-template-columns:1fr;gap:.6rem}.cq-feedback-points{padding-left:1.1rem}.cq-immediate-more summary,.cq-result-correct-more summary{min-height:38px}}.cq-tabs{display:flex;gap:1.5rem;margin:0}.coding-app .cq-tab,.coding-app .cq-tab:hover{display:inline-flex;align-items:center;gap:.55rem;background:transparent;border:none;border-radius:0;box-shadow:none;border-bottom:3px solid transparent;margin-bottom:-1px;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:600;font-size:1.05rem;padding:.25rem .25rem .4rem;cursor:pointer;color:var(--ct-muted)}.cq-tab svg{font-size:1.1rem}.coding-app .cq-tab.active{color:var(--ct-primary);font-weight:700;border-bottom-color:var(--ct-accent)}.cq-question-tools{display:flex;justify-content:flex-end;margin-bottom:.75rem}.coding-app .cq-read-aloud,.coding-app .cq-read-aloud:hover:not(:disabled){display:inline-flex;align-items:center;gap:.45rem;width:fit-content;min-height:34px;padding:.38rem .72rem!important;border:1px solid color-mix(in srgb,var(--ct-primary) 34%,var(--ct-border))!important;border-radius:999px!important;background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel))!important;color:var(--ct-primary)!important;box-shadow:none!important;transform:none!important;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:.78rem;font-weight:700;line-height:1;cursor:pointer}.coding-app .cq-read-aloud:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 14%,var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-primary) 55%,var(--ct-border))!important}.coding-app .cq-read-aloud.speaking,.coding-app .cq-read-aloud.speaking:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-accent) 62%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 14%,var(--ct-panel))!important;color:var(--ct-accent)!important}.cq-read-aloud svg{flex:0 0 auto;font-size:.85rem}body:not(.coding-dark) .coding-app .cq-prompt{color:#071b33}.cq-prompt{margin:0 0 1rem;color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1.3rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}.cq-code{margin:0 0 .75rem;padding:.9rem 1rem;background:var(--ct-editor-bg);color:var(--ct-editor-text);border-radius:10px;overflow-x:auto;font-size:.88rem;line-height:1.5}.cq-code code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre}.cq-goal{margin:0;color:var(--ct-muted);font-size:.9rem}.cq-learn-panel{padding:1rem 0}.cq-learn-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ct-accent);background:var(--ct-accent-soft);padding:.2rem .6rem;border-radius:999px;margin-bottom:.6rem}.cq-learn-panel h4{margin:0 0 .4rem;color:var(--ct-text)}.cq-learn-panel p{margin:0;color:var(--ct-muted);font-size:.9rem;max-width:46ch}.cq-learn-refresher{line-height:1.65;color:var(--ct-text)!important}.cq-learn-refresher code{padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--ct-accent) 12%,transparent);color:var(--ct-accent);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.86em}.cq-learn-code{margin:.85rem 0 0;padding:10px 12px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:8px;background:var(--ct-editor-bg, #0f172a);overflow-x:auto}.cq-learn-code code{color:var(--ct-editor-text, #e2e8f0);font-family:SF Mono,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6;white-space:pre}.cq-learn-more{display:inline-flex;align-items:center;gap:7px;margin-top:1rem;padding:7px 13px;border:1px solid color-mix(in srgb,var(--ct-accent) 45%,transparent);border-radius:7px;background:transparent;color:var(--ct-accent);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cq-learn-more:hover{background:color-mix(in srgb,var(--ct-accent) 12%,transparent);border-color:var(--ct-accent)}.cq-learn-more:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.cq-answer-heading{margin:0 0 1.1rem;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--ct-text)}.cq-choices{display:flex;flex-direction:column;gap:.65rem}.cq-choice{display:flex;align-items:flex-start;gap:.75rem;text-align:left;padding:.82rem .95rem;background:var(--ct-panel);border:1px solid var(--ct-border-strong);border-radius:10px;cursor:pointer;color:var(--ct-text);transition:border-color .12s ease,background .12s ease}.cq-choice:hover{border-color:var(--ct-primary)}.cq-choice:disabled{cursor:default;opacity:.82}.cq-choice:disabled:hover{border-color:var(--ct-border-strong)}.cq-choice.selected{border-color:var(--ct-primary);background:var(--ct-primary-soft)}.coding-app .cq-choice-marker{flex:0 0 auto;width:26px;height:26px;margin-top:.1rem;display:grid;place-items:center;border-radius:7px;background:var(--ct-panel-soft);border:1px solid var(--ct-border-strong);font-weight:700;font-size:.82rem;color:var(--ct-text)}.coding-app .cq-choice.selected .cq-choice-marker{background:var(--ct-primary);color:var(--cq-on-primary);border-color:var(--ct-primary)}.coding-app .cq-choice-text{color:var(--ct-text);font-size:.9rem;line-height:1.48;font-weight:460;white-space:pre-wrap}.coding-app .cq-choice-emphasis{display:inline-block;margin:0 .06rem;padding:.04rem .26rem;border:1px solid color-mix(in srgb,var(--ct-primary) 22%,transparent);border-radius:5px;background:color-mix(in srgb,var(--ct-primary) 7%,transparent);color:color-mix(in srgb,var(--ct-text) 88%,var(--ct-primary));font-family:SF Mono,Menlo,Consolas,monospace;font-size:.86em;font-weight:650;white-space:nowrap}.cq-answer-typein{display:flex;flex-direction:column;gap:.5rem}.cq-typein-label{font-weight:600;color:var(--ct-text);font-size:.9rem}.cq-typein-input{width:100%;padding:.6rem .75rem;border:1px solid var(--ct-border-strong);border-radius:10px;background:var(--ct-panel);color:var(--ct-text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;resize:vertical}.cq-typein-input:focus{outline:2px solid var(--ct-accent);outline-offset:1px}.cq-typein-input:disabled{opacity:.85;cursor:default}.cq-immediate-feedback{margin-top:1rem;padding:1rem;border-radius:16px;border:1px solid var(--ct-border-strong);background:var(--ct-panel-soft);color:var(--ct-text);box-shadow:0 14px 30px #0f172a14}.cq-immediate-feedback.correct{border-color:color-mix(in srgb,#16a34a 55%,var(--ct-border-strong));background:color-mix(in srgb,#16a34a 10%,var(--ct-panel))}.cq-immediate-feedback.incorrect{border-color:color-mix(in srgb,#ef4444 55%,var(--ct-border-strong));background:color-mix(in srgb,#ef4444 9%,var(--ct-panel))}.cq-immediate-feedback-head{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.75rem}.cq-immediate-feedback-head svg{flex:0 0 auto;margin-top:.15rem}.cq-immediate-feedback.correct .cq-immediate-feedback-head svg{color:#16a34a}.cq-immediate-feedback.incorrect .cq-immediate-feedback-head svg{color:#ef4444}.cq-immediate-feedback-head strong{display:block;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1rem;color:var(--ct-text)}.cq-immediate-feedback-head span{display:block;margin-top:.1rem;color:var(--ct-muted);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cq-immediate-feedback p{margin:0;color:var(--ct-text);line-height:1.55}.cq-feedback-points{display:grid;gap:.45rem;margin:.75rem 0 0;padding-left:1.15rem;color:var(--ct-text);line-height:1.5}.cq-feedback-points li::marker{color:#ef4444}.cq-feedback-next{margin-top:.75rem!important;color:var(--ct-muted)!important}.cq-immediate-answer-review{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:0 0 .8rem}.cq-immediate-answer-review>div{min-width:0;padding:.65rem;border-radius:12px;border:1px solid var(--ct-border);background:var(--ct-panel)}.cq-immediate-answer-review span{display:block;margin-bottom:.35rem;color:var(--ct-muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.cq-immediate-answer-review code{display:block;white-space:pre-wrap;color:var(--ct-text);font-size:.82rem}.cq-immediate-more{margin-top:.65rem}.cq-immediate-more summary{cursor:pointer;color:var(--ct-primary);font-weight:700}.cq-immediate-more p{margin-top:.45rem}.cq-feedback-review{margin-top:.85rem;border:1px solid var(--ct-border-strong);border-radius:999px;background:var(--ct-panel);color:var(--ct-text);padding:.55rem .9rem;font-weight:800;cursor:pointer}.cq-feedback-review:hover{border-color:var(--ct-primary);color:var(--ct-primary)}.cq-parsons-hint{margin:0 0 .6rem;color:var(--ct-muted);font-size:.85rem}.cq-parsons-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.cq-parsons-line{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;background:var(--ct-editor-bg);color:var(--ct-editor-text);border:1px solid var(--ct-border-strong);border-radius:8px;cursor:grab}.cq-parsons-line.locked{cursor:default;opacity:.86}.cq-parsons-line:active{cursor:grabbing}.cq-parsons-grip{color:var(--ct-soft);font-size:.9rem}.cq-parsons-line code{flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.86rem;white-space:pre;overflow-x:auto}.cq-parsons-controls{display:flex;gap:.2rem}.cq-parsons-controls button{width:24px;height:24px;border-radius:6px;border:1px solid var(--ct-border);background:var(--ct-panel);color:var(--ct-text);cursor:pointer;line-height:1}.cq-parsons-controls button:disabled{opacity:.35;cursor:not-allowed}.cq-runner-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--ct-border);padding-top:1.1rem;flex:0 0 auto}.cq-results{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem 2rem}.coding-quiz-runner-active .cq-results{height:100%;min-height:0;overflow-y:auto;padding:2rem clamp(1.5rem,6vw,4rem)}.cq-results-header{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.cq-score-ring{flex:0 0 auto;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;gap:0;border:4px solid var(--ct-success)}.cq-score-ring.try-again{border-color:var(--ct-accent)}.cq-score-pct{font-size:1.4rem;font-weight:700;color:var(--ct-text)}.cq-score-frac{font-size:.75rem;color:var(--ct-muted)}.cq-results-copy h3{margin:0 0 .3rem;color:var(--ct-text)}.cq-results-copy p{margin:0;color:var(--ct-muted)}.cq-results-stats{display:flex;align-items:center;gap:.55rem;margin-left:auto;flex-wrap:wrap}.cq-results-stats span{display:grid;min-width:76px;padding:.58rem .72rem;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-panel);text-align:center}.cq-results-stats strong{color:var(--ct-text);font-size:1.05rem;font-variant-numeric:tabular-nums;line-height:1}.cq-results-stats small{margin-top:.18rem;color:var(--ct-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cq-results-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.cq-result-row{display:flex;gap:.75rem;padding:.7rem .9rem .7rem 0;background:var(--ct-panel);border:1px solid var(--ct-border);border-radius:12px;overflow:hidden}.cq-result-bar{flex:0 0 5px;align-self:stretch;background:var(--ct-success)}.cq-result-row.incorrect .cq-result-bar{background:#d0493b}.cq-result-body{flex:1;padding:.1rem 0}.cq-result-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem;flex-wrap:wrap}.cq-result-num{font-weight:700;color:var(--ct-muted);font-size:.82rem}.cq-result-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px}.cq-result-row.correct .cq-result-tag{color:var(--ct-success);background:color-mix(in srgb,var(--ct-success) 15%,var(--ct-panel))}.cq-result-row.incorrect .cq-result-tag{color:#d0493b;background:color-mix(in srgb,#d0493b 12%,var(--ct-panel))}.coding-app .cq-result-read{margin-left:auto;min-height:28px;padding:.25rem .58rem!important;font-size:.72rem}.cq-result-prompt{margin:0 0 .3rem;color:var(--ct-text);font-size:.9rem;font-weight:600}.cq-result-row.correct .cq-result-prompt{margin-bottom:0}.cq-result-explanation{margin:.65rem 0 0;color:var(--ct-muted);font-size:.85rem}.cq-result-explanation strong{display:block;margin-bottom:.2rem;color:var(--ct-text);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.cq-result-explanation p{margin:0}.cq-result-more{margin-top:.5rem;color:var(--ct-muted)}.cq-result-more summary{width:fit-content;cursor:pointer;color:var(--ct-primary);font-size:.8rem;font-weight:700}.cq-result-more[open] summary{margin-bottom:.35rem}.cq-result-more p{margin:0}.cq-result-answer-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.65rem}.cq-result-answer{min-width:0;padding:.65rem .75rem;border:1px solid var(--ct-border);border-radius:9px;background:color-mix(in srgb,var(--ct-panel) 88%,var(--ct-bg))}.cq-result-answer span{display:block;margin-bottom:.3rem;color:var(--ct-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cq-result-answer code{display:block;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ct-text);font-size:.82rem}.cq-result-answer.student{border-color:color-mix(in srgb,#d0493b 45%,var(--ct-border))}.cq-result-answer.correct{border-color:color-mix(in srgb,var(--ct-success) 45%,var(--ct-border))}@media (max-width: 640px){.cq-result-more{margin-top:.5rem;color:var(--ct-muted)}.cq-result-more summary{width:fit-content;cursor:pointer;color:var(--ct-primary);font-size:.8rem;font-weight:700}.cq-result-more[open] summary{margin-bottom:.35rem}.cq-result-more p{margin:0}.cq-result-answer-review{grid-template-columns:1fr}}.cq-results-actions{display:flex;justify-content:flex-end;gap:.75rem}.cq-guidance-card,.cq-mistake-review{margin:18px 0;border:1px solid var(--ct-border);border-radius:18px;background:var(--ct-surface);box-shadow:0 10px 28px #08234312}.cq-guidance-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border-left:5px solid var(--ct-primary)}.cq-guidance-card h3,.cq-mistake-review h3{margin:4px 0 6px;color:var(--ct-text)}.cq-guidance-card p,.cq-mistake-review p{margin:0;color:var(--ct-muted);line-height:1.55}.cq-guidance-actions,.cq-placement-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cq-mistake-review{padding:18px 20px 20px}.cq-mistake-review-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.cq-mistake-review-head>span{color:#a33a32;background:#fff0ed;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:700}.cq-mistake-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.cq-mistake-grid article{display:grid;align-content:start;gap:8px;padding:13px 14px;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-surface-soft, #f7f9fc)}.cq-mistake-grid small,.cq-placement-question>small{color:var(--ct-primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.cq-mistake-grid h4{margin:0;color:var(--ct-text);font-size:1rem;line-height:1.25}.cq-mistake-grid p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;font-size:.84rem;line-height:1.45}.cq-mistake-grid .cq-question-link{justify-self:start;margin-top:2px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--ct-primary) 22%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 7%,var(--ct-panel));color:var(--ct-primary);font-size:.78rem;font-weight:800;line-height:1.1;text-decoration:none;box-shadow:none}.cq-mistake-grid .cq-question-link:hover,.cq-mistake-grid .cq-question-link:focus-visible{background:var(--ct-primary);color:#fff;transform:translateY(-1px)}.cq-placement-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:grid;place-items:center;padding:clamp(16px,4vw,32px);background:#03142a9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cq-placement-dialog{width:min(680px,100%);max-height:min(780px,calc(100dvh - 40px));padding:0;border:1px solid var(--ct-border);border-radius:20px;background:var(--ct-surface);color:var(--ct-text);box-shadow:0 26px 70px #03142a4d;overflow:hidden}.cq-placement-dialog-inner{max-height:inherit;overflow-y:auto;padding:24px}.cq-placement-header,.cq-placement-progress{display:flex;align-items:center;justify-content:space-between;gap:16px}.cq-placement-header h3{margin:4px 0 0;color:var(--ct-text);font-size:1.45rem}.cq-placement-header p{margin:6px 0 0;color:var(--ct-muted);line-height:1.45}.cq-placement-close{width:38px;height:38px;border:1px solid var(--ct-border);border-radius:50%;background:transparent;color:var(--ct-text);font-size:1.5rem;cursor:pointer}.cq-placement-progress{margin-top:20px;color:var(--ct-muted);font-size:.85rem;font-weight:700}.cq-placement-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(22px,1fr));gap:7px;margin:9px 0 22px}.cq-placement-track span{height:6px;border-radius:999px;background:var(--ct-border)}.cq-placement-track span.done{background:#57b978}.cq-placement-track span.current{box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary) 20%,transparent)}.cq-placement-question>p{margin:8px 0 15px;color:var(--ct-text);font-size:1.05rem;font-weight:600;line-height:1.55}.cq-placement-question .cq-choice{font-weight:500}.cq-placement-question .cq-choice.selected{font-weight:600}.cq-placement-question .cq-choice-text code{font-family:var(--font-mono, ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace);font-weight:500;white-space:normal;overflow-wrap:anywhere}.cq-placement-actions{margin-top:20px}.cq-placement-result{padding:32px 8px 8px;text-align:center}.cq-placement-score{display:inline-grid;place-items:center;min-width:92px;min-height:44px;padding:0 18px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-surface));color:var(--ct-primary);font-size:1rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.cq-placement-result h4{margin:16px 0 8px;color:var(--ct-text);font-size:1.25rem}.cq-placement-result .cq-placement-actions{justify-content:center}body.coding-dark .cq-mistake-review-head>span{color:#ffb1a8;background:#c4443833}.cq-result-correct-more{margin-top:.55rem}.cq-result-correct-more summary{color:var(--ct-primary);font-size:.78rem;font-weight:800}.cq-result-correct-more p{margin-top:.42rem;color:var(--ct-muted);font-size:.84rem;line-height:1.45}.cq-result-correct-more .cq-choice-emphasis,.cq-result-explanation .cq-choice-emphasis,.cq-feedback-points .cq-choice-emphasis,.cq-immediate-feedback .cq-choice-emphasis{color:var(--ct-text);font-weight:800}@media (max-width: 760px){.cq-results-stats{width:100%;margin-left:0}.cq-results-stats span{flex:1;min-width:0}}@media (max-width: 720px){.cq-guidance-card,.cq-mistake-review-head{align-items:stretch;flex-direction:column}.cq-guidance-actions,.cq-placement-actions{justify-content:stretch}.cq-guidance-actions .cq-btn,.cq-placement-actions .cq-btn{flex:1}.cq-placement-dialog-inner{padding:18px}}@media (max-width: 640px){.coding-app.coding-quiz-runner-active{min-height:0}.coding-app.coding-quiz-runner-active .coding-page-panel{overflow:visible}.coding-app .cq-runner-full:before{content:none}.coding-app .cq-runner-split,.coding-app .cq-runner-left,.coding-app .cq-runner-right,.coding-app .cq-pane-body{display:block;height:auto;min-height:0;overflow:visible}.coding-app .cq-runner-left{border-bottom:1px solid color-mix(in srgb,var(--ct-border) 70%,transparent)}.coding-app .cq-runner-right .cq-pane-body{padding-top:.95rem;padding-bottom:1.25rem}.coding-app .cq-runner-full.cq-tab-learn .cq-runner-left{border-bottom:0}.coding-app .cq-runner-full.cq-tab-learn .cq-runner-top-right,.coding-app .cq-runner-full.cq-tab-learn .cq-runner-right .cq-pane-body,.coding-app .cq-runner-full.cq-tab-learn .cq-pane-nav{display:none}.coding-app .cq-question-panel{display:flow-root}.coding-app .cq-question-tools{margin-bottom:.8rem}.coding-app .cq-prompt{position:static;margin:0 0 .85rem;font-size:clamp(1.05rem,5.6vw,1.24rem);line-height:1.25}.coding-app .cq-code{display:block;clear:both;max-width:100%;margin:0 0 .85rem;padding:.8rem .9rem;overflow-x:auto;white-space:pre;font-size:.76rem;line-height:1.48}.coding-app .cq-code code{white-space:inherit}.coding-app .cq-answer-heading{margin:0 0 .75rem;font-size:.92rem;line-height:1.35}.coding-app .cq-choices{gap:.65rem}.coding-app .cq-choice{min-height:54px;padding:.78rem .9rem}.coding-app .cq-immediate-feedback{margin:.95rem 0 0;padding:.9rem}.coding-app .cq-pane-nav{position:static;background:color-mix(in srgb,var(--ct-panel) 96%,transparent);box-shadow:none}}.interview-prep-page{display:grid;gap:clamp(32px,5vh,64px);align-content:start;align-self:start;height:fit-content}.iv-topic-grid{margin-top:clamp(6px,1.5vh,20px)}.interview-prep-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:nowrap}.interview-prep-hero-copy{display:grid;gap:6px;min-width:0;flex:1 1 100%}.interview-prep-hero-aside{flex:0 0 auto;margin-left:auto;align-self:flex-start;margin-top:28px}.interview-prep-hero h2{margin:2px 0 0;color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(1.4rem,2.8vw,1.9rem)}.interview-prep-hero p{margin:2px 0 0;max-width:72ch;color:var(--ct-muted);font-size:.92rem;line-height:1.5}.iv-ladder{display:grid;gap:18px;padding:26px 28px;border-radius:20px;border:1px solid color-mix(in srgb,var(--ct-primary, #3f82e6) 32%,var(--ct-border));background:radial-gradient(130% 150% at 100% 0%,color-mix(in srgb,var(--ct-accent, #f58220) 12%,transparent),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--ct-primary, #3f82e6) 15%,#fff),color-mix(in srgb,var(--ct-primary, #3f82e6) 6%,#fff));box-shadow:0 18px 44px color-mix(in srgb,var(--ct-primary, #3f82e6) 16%,rgba(15,23,42,.08));transition:border-color .25s ease,box-shadow .25s ease}.iv-ladder.is-ready{border-color:color-mix(in srgb,var(--ct-accent, #f58220) 55%,var(--ct-border));background:radial-gradient(130% 150% at 100% 0%,color-mix(in srgb,var(--ct-accent, #f58220) 20%,transparent),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--ct-accent, #f58220) 15%,#fff),color-mix(in srgb,var(--ct-accent, #f58220) 6%,#fff));box-shadow:0 20px 48px color-mix(in srgb,var(--ct-accent, #f58220) 24%,transparent)}.iv-ladder .iv-check-step{background:#fff}.iv-ladder-top{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-start}.iv-ladder-copy{flex:1 1 320px;min-width:0;display:grid;gap:6px}.iv-ladder-title{margin:0;color:var(--ct-text);font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(1.3rem,2.8vw,1.7rem);line-height:1.12}.iv-ladder-sub{margin:0;max-width:58ch;color:var(--ct-muted);font-size:.92rem;line-height:1.5}.iv-ready-meter{flex:1 1 260px;min-width:0;display:grid;gap:7px;align-self:center}.iv-ready-meter-head{display:inline-flex;align-items:center;gap:8px;color:var(--ct-text);font-weight:800;font-size:.9rem}.iv-ready-meter-head svg{color:var(--ct-accent, #f58220)}.iv-ready-track{height:12px;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 55%,var(--ct-soft));overflow:hidden}.iv-ready-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ct-primary, #3f82e6),var(--ct-accent, #f58220));transition:width .45s cubic-bezier(.22,1,.36,1)}.iv-ladder.is-ready .iv-ready-fill{background:linear-gradient(90deg,var(--ct-accent, #f58220),#f7b955)}.iv-ready-hint{color:var(--ct-muted);font-size:.8rem}.iv-checklist{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--ct-border);display:flex;flex-wrap:wrap;gap:10px}.iv-check-step{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:12px;border:1px solid var(--ct-border);background:var(--ct-panel, rgba(255, 255, 255, .5));min-width:0}.iv-check-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ct-border);color:var(--ct-muted);font-size:.66rem;flex-shrink:0}.iv-check-label{display:grid;line-height:1.15}.iv-check-label{color:var(--ct-text);font-weight:700;font-size:.86rem}.iv-check-label small{color:var(--ct-muted);font-weight:650;font-size:.7rem}.iv-check-step.done{border-color:color-mix(in srgb,var(--ct-success, #22c55e) 45%,var(--ct-border))}.iv-check-step.done .iv-check-mark{border-color:color-mix(in srgb,var(--ct-success, #22c55e) 55%,transparent);background:color-mix(in srgb,var(--ct-success, #22c55e) 16%,transparent);color:#15803d}.iv-check-step.done .iv-check-label small{color:#15803d}.iv-check-step.current{border-color:color-mix(in srgb,var(--ct-accent, #f58220) 55%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent, #f58220) 7%,var(--ct-panel, #fff))}.iv-check-step.current .iv-check-mark{border-color:var(--ct-accent, #f58220);background:color-mix(in srgb,var(--ct-accent, #f58220) 16%,transparent);color:var(--ct-accent, #f58220)}.iv-check-step.future{opacity:.55}.iv-check-step.goal .iv-check-mark{border-color:color-mix(in srgb,var(--ct-primary, #3f82e6) 50%,var(--ct-border));color:var(--ct-primary, #3f82e6)}.iv-check-step.goal.locked{opacity:.72}.iv-check-step.goal.unlocked{border-color:color-mix(in srgb,var(--ct-accent, #f58220) 60%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent, #f58220) 10%,var(--ct-panel, #fff))}.iv-check-step.goal.unlocked .iv-check-mark{border-color:var(--ct-accent, #f58220);background:var(--ct-accent, #f58220);color:#fff}.iv-ladder-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.coding-app .iv-ladder-cta{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:13px;border:0;cursor:pointer;font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-weight:700;letter-spacing:-.01em;font-size:.96rem;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}.coding-app .iv-ladder-cta small{font-weight:650;font-size:.76rem;opacity:.85}.coding-app .iv-ladder-cta.primary{background:linear-gradient(135deg,#2f6fd6,#1f56b8);color:#fff!important;box-shadow:0 12px 26px color-mix(in srgb,#1f56b8 32%,transparent)}.coding-app .iv-ladder-cta.primary svg{color:#ffd27f!important}.coding-app .iv-ladder-cta.primary:hover,.coding-app .iv-ladder-cta.primary:focus-visible{transform:translateY(-2px);outline:none;background:linear-gradient(135deg,#3a78de,#2a63c8)!important;box-shadow:0 16px 32px color-mix(in srgb,#1f56b8 40%,transparent)}.coding-app .iv-ladder-cta.glow{background:linear-gradient(135deg,var(--ct-accent, #f58220),#f7a13c);box-shadow:0 0 color-mix(in srgb,var(--ct-accent, #f58220) 55%,transparent);animation:iv-ready-pulse 2s ease-in-out infinite}.coding-app .iv-ladder-cta.glow:hover{background:linear-gradient(135deg,#f7942a,#f8ad4e)!important}@keyframes iv-ready-pulse{0%,to{box-shadow:0 10px 26px color-mix(in srgb,var(--ct-accent, #f58220) 34%,transparent)}50%{box-shadow:0 10px 30px color-mix(in srgb,var(--ct-accent, #f58220) 60%,transparent)}}@media (prefers-reduced-motion: reduce){.coding-app .iv-ladder-cta.glow{animation:none}}.coding-app .iv-ladder-cta.ghost{background:transparent;border:1px solid transparent;color:var(--ct-primary)!important;padding:13px 16px;font-weight:750}.coding-app .iv-ladder-cta.ghost:hover,.coding-app .iv-ladder-cta.ghost:focus-visible{outline:none;color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-primary) 8%,transparent)!important}.iv-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-solid-raised, var(--ct-panel-raised))}.iv-search svg{color:var(--ct-muted);flex-shrink:0}.iv-search input{flex:1;min-width:0;padding:11px 0;border:0;background:transparent;color:var(--ct-text);font-size:.92rem;outline:none}.iv-search-clear{border:0;background:transparent;color:var(--ct-muted);cursor:pointer;font-weight:650}.iv-search-wrap{display:grid;gap:8px}.iv-search-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-left:4px;color:var(--ct-muted);font-size:.85rem}.iv-search-summary strong{color:var(--ct-text)}.iv-search-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.iv-search-chip{padding:2px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 8%,transparent);color:var(--ct-primary);font-size:.75rem;font-weight:700}.iv-empty{padding:28px 16px;border:1px dashed var(--ct-border);border-radius:14px;color:var(--ct-muted);text-align:center}.iv-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.iv-topic-card.open{grid-column:1 / -1}.iv-topic-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--ct-border);border-radius:18px;background:var(--ct-solid-raised, var(--ct-panel-raised));color:var(--ct-text);box-shadow:0 12px 28px #0f172a12;overflow:hidden;position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.iv-topic-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#5f7fae,#f58220);transition:width .16s ease,filter .16s ease}.iv-topic-card.tone-1:before{background:linear-gradient(180deg,#2563eb,#22c55e)}.iv-topic-card.tone-2:before{background:linear-gradient(180deg,#7c3aed,#f59e0b)}.iv-topic-card.tone-3:before{background:linear-gradient(180deg,#0891b2,#fb7185)}.iv-topic-card.tone-4:before{background:linear-gradient(180deg,#15803d,#eab308)}.iv-topic-card:not(.open):hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a1f;border-color:color-mix(in srgb,var(--ct-accent) 40%,var(--ct-border))}.iv-topic-card:not(.open):hover:before{width:7px;filter:saturate(1.3) brightness(1.08)}.iv-topic-card:not(.open):hover .iv-topic-chevron{color:var(--ct-accent);transform:translateY(2px)}.iv-topic-card.open{border-color:color-mix(in srgb,var(--ct-primary) 38%,var(--ct-accent));box-shadow:0 16px 34px color-mix(in srgb,var(--ct-accent) 12%,transparent)}.iv-topic-card.open .iv-topic-head{background:color-mix(in srgb,var(--ct-accent, #f58220) 6%,transparent)}.iv-topic-card.open:before{width:6px;filter:saturate(1.2)}.iv-topic-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;flex:1;padding:18px 18px 20px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.iv-topic-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--ct-primary-soft),var(--ct-accent-soft));color:var(--ct-primary);font-size:1.05rem}.iv-topic-meta{min-width:0}.iv-topic-meta h3{margin:0;color:var(--ct-text);font-size:1.02rem;line-height:1.2}.iv-topic-counts{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:4px 0 0;color:var(--ct-muted);font-size:.82rem}.iv-topic-breakdown{display:flex;gap:5px;flex-wrap:wrap;flex-basis:100%;margin-top:2px}.iv-bd-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:.67rem;font-weight:750;letter-spacing:.01em}.iv-bd-chip.b-easy{background:color-mix(in srgb,#22c55e 16%,transparent);color:#15803d}.iv-bd-chip.b-med{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.iv-bd-chip.b-hard{background:color-mix(in srgb,#ef4444 16%,transparent);color:#b91c1c}.iv-topic-aside{display:inline-flex;align-items:center;gap:10px;align-self:start;padding-top:2px}.iv-ring{--size: 44px;--pct: 0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);border-radius:50%;flex-shrink:0;background:conic-gradient(var(--ct-primary, #3f82e6) calc(var(--pct) * 1%),color-mix(in srgb,var(--ct-border) 70%,transparent) 0);transition:background .3s ease}.iv-ring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--ct-solid-raised, var(--ct-panel-raised))}.iv-ring-label{position:relative;color:var(--ct-text);font-size:.68rem;font-weight:800;line-height:1}.iv-ring.done{background:conic-gradient(var(--ct-success, #22c55e) 100%,var(--ct-success, #22c55e) 0);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-success, #22c55e) 22%,transparent)}.iv-ring.done .iv-ring-label{color:#15803d}.iv-topic-chevron{color:var(--ct-muted);transition:transform .18s ease,color .16s ease}.iv-topic-card.open .iv-topic-chevron{transform:rotate(180deg)}.iv-topic-card.is-done{opacity:.62;transform:scale(.985)}.iv-topic-card.is-done:hover{opacity:1;transform:scale(1)}.iv-topic-card.is-done:before{background:linear-gradient(180deg,var(--ct-success, #22c55e),#4ade80)!important}.iv-topic-body{padding:0 16px 14px;display:grid;gap:10px}.iv-topic-filters{display:flex;flex-wrap:wrap;gap:6px}.iv-diff-pill{padding:5px 12px;border-radius:999px;border:1px solid var(--ct-border);background:transparent;color:var(--ct-muted);cursor:pointer;font-weight:700;font-size:.78rem}.iv-diff-pill.on{border-color:color-mix(in srgb,var(--ct-primary) 50%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 12%,transparent);color:var(--ct-primary)}.iv-question-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.iv-question-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--ct-border);border-radius:12px;background:var(--ct-panel, rgba(255, 255, 255, .5))}.iv-question-row.reviewed{background:color-mix(in srgb,var(--ct-success, #22c55e) 8%,transparent)}.iv-review-check{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--ct-border);background:transparent;color:var(--ct-muted);cursor:pointer}.iv-review-check.on{border-color:color-mix(in srgb,var(--ct-success, #22c55e) 55%,transparent);background:color-mix(in srgb,var(--ct-success, #22c55e) 16%,transparent);color:#15803d}.iv-question-main{display:flex;flex-direction:column;gap:3px;min-width:0}.iv-question-title-row{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.iv-question-title{color:var(--ct-text);font-weight:650;font-size:.92rem}.iv-question-solved{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:750;background:color-mix(in srgb,var(--ct-success, #22c55e) 16%,transparent);color:#15803d}body.coding-dark .iv-question-solved{color:#4ade80}.iv-question-requires{font-size:.72rem;color:var(--ct-muted);font-weight:600}.iv-requires-link{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:700;color:var(--ct-accent, #f37021);text-decoration:underline;text-underline-offset:2px}.iv-requires-link:hover{color:var(--ct-primary, #2b3f63)}.iv-requires-plain{font-weight:600;color:var(--ct-muted);opacity:.7;cursor:default}body.coding-dark .iv-question-requires{color:#9db8e0}body.coding-dark .iv-requires-link{color:#f7a054}body.coding-dark .iv-requires-plain{color:#6b7f9e}.iv-question-diff{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.02em}.iv-question-diff.diff-easy{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.iv-question-diff.diff-medium{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.iv-question-diff.diff-hard{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.iv-question-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.iv-question-action{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 34%,var(--ct-border));background:var(--ct-primary);color:#fff;cursor:pointer;font-weight:700;font-size:.85rem;text-decoration:none;white-space:nowrap}.iv-question-action.icon-only{padding:6px;width:34px;justify-content:center;background:transparent;border-color:color-mix(in srgb,var(--ct-accent) 46%,var(--ct-border));color:var(--ct-text)}.iv-question-action:hover{transform:translateY(-1px);box-shadow:0 12px 24px color-mix(in srgb,var(--ct-accent) 18%,transparent)}.iv-question-action.is-disabled{background:transparent;border-color:var(--ct-border);color:var(--ct-muted);cursor:default;pointer-events:none}.iv-show-all{justify-self:start;padding:6px 14px;border:1px solid var(--ct-border);border-radius:999px;background:transparent;color:var(--ct-primary);cursor:pointer;font-weight:700;font-size:.82rem}.iv-show-all:hover{background:color-mix(in srgb,var(--ct-primary) 8%,transparent)}body.coding-dark .interview-prep-page{background:linear-gradient(180deg,#18233a,#1b2840)!important}body.coding-dark .iv-search,body.coding-dark .iv-topic-card{background:var(--ct-solid-raised, #1c2a3f)}body.coding-dark .iv-ladder{border-color:#3f82e680;background:radial-gradient(130% 150% at 100% 0%,rgba(245,130,32,.12),transparent 55%),linear-gradient(135deg,#294064,#223454);box-shadow:0 18px 44px #080f1e66}body.coding-dark .iv-ladder .iv-check-step{background:#16233a}body.coding-dark .iv-ladder.is-ready{border-color:#e7a05b8c;background:radial-gradient(130% 150% at 100% 0%,rgba(245,130,32,.2),transparent 55%),linear-gradient(135deg,#3a3350,#2c2d47);box-shadow:0 18px 44px #f5822038}body.coding-dark .iv-ladder-sub,body.coding-dark .iv-ready-hint{color:#b7c6de}body.coding-dark .iv-ready-track{background:#94a3b83d}body.coding-dark .iv-check-step{background:#16233a;border-color:#94a3b838}body.coding-dark .iv-check-mark{border-color:#94a3b852;color:#b7c6de}body.coding-dark .iv-check-step.done .iv-check-label small{color:#5ee69a}body.coding-dark .iv-ring:before{background:var(--ct-solid-raised, #1c2a3f)}body.coding-dark .iv-ring-label{color:#eef3fb}body.coding-dark .iv-ring.done .iv-ring-label{color:#5ee69a}body.coding-dark .iv-topic-card.open .iv-topic-head{background:#e7a05b14}body.coding-dark .iv-question-row{background:#16233a;border-color:#94a3b838}body.coding-dark .iv-question-action{background:#5f7fae;color:#f8f3ea}body.coding-dark .iv-question-action.icon-only{background:transparent;border-color:#e7a05b80;color:#f1e9dc}body.coding-dark .iv-bd-chip.b-easy,body.coding-dark .iv-question-diff.diff-easy,body.coding-dark .iv-review-check.on{color:#5ee69a}body.coding-dark .iv-bd-chip.b-med,body.coding-dark .iv-question-diff.diff-medium{color:#f1b551}body.coding-dark .iv-bd-chip.b-hard,body.coding-dark .iv-question-diff.diff-hard{color:#f4807d}@media (max-width: 720px){.iv-ladder{padding:20px;gap:16px}.iv-ladder-top{gap:14px}.iv-ladder-actions{margin-left:0;justify-content:stretch}.coding-app .iv-ladder-cta{width:100%;justify-content:center}.coding-app .iv-ladder-cta.ghost{width:auto;align-self:center}.interview-prep-hero{flex-wrap:wrap}.interview-prep-hero-aside{margin-left:0;margin-top:0}.iv-history-entry{margin-left:-12px}}@media (max-width: 1360px){.iv-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 980px){.iv-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.iv-topic-grid{grid-template-columns:1fr}.iv-question-row{grid-template-columns:auto minmax(0,1fr)}.iv-question-title{font-size:.88rem;line-height:1.25}.iv-question-diff,.iv-question-solved{padding:2px 7px;font-size:.66rem}.iv-question-actions{grid-column:1 / -1;justify-content:center;gap:7px}.iv-question-action{min-height:32px;padding:5px 12px;font-size:.8rem;font-weight:650}.iv-question-action.icon-only{width:32px;padding:5px}.iv-ring{--size: 40px}.iv-check-step{flex:1 1 100%}}.iv-history-entry{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;width:max-content;align-self:flex-start;padding:6px 12px;border-radius:999px;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--ct-accent, #f37021);font-weight:700;font-size:.82rem;transition:background .12s ease,border-color .12s ease}.iv-history-entry:hover{border-color:color-mix(in srgb,var(--ct-accent, #f37021) 45%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent, #f37021) 9%,transparent)}.iv-history-entry>svg{color:var(--ct-accent, #f37021);flex-shrink:0}.iv-history-back{align-self:flex-start;margin-top:10px;background:none;border:0;padding:0;cursor:pointer;color:var(--ct-accent, #f37021);font-weight:700;font-size:.85rem}.pi-empty{color:var(--ct-muted);font-size:.9rem;padding:4px 2px}body.coding-dark .iv-history-entry{background:transparent;border-color:transparent}body.coding-dark .iv-history-entry:hover{background:#f582201f;border-color:#e7a05b80}.past-interviews{display:grid;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--ct-border);background:var(--ct-panel, rgba(255, 255, 255, .6))}.pi-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pi-head h3{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:1rem;color:var(--ct-text)}.pi-clear{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;cursor:pointer;border:1px solid var(--ct-border);background:transparent;color:var(--ct-muted);font-weight:700;font-size:.76rem}.pi-clear:hover{color:#b91c1c;border-color:color-mix(in srgb,#ef4444 44%,var(--ct-border))}.pi-list{display:grid;gap:8px}.pi-card{border:1px solid var(--ct-border);border-radius:12px;background:#fff;overflow:hidden}.pi-card-head{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;cursor:pointer;background:transparent;border:0;text-align:left}.pi-card-date{font-weight:700;color:var(--ct-text);font-size:.85rem}.pi-card-score{font-weight:800;font-size:.95rem;color:var(--ct-primary, #2b3f63);padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary, #2b3f63) 12%,transparent)}.pi-card-meta{flex:1;min-width:0;color:var(--ct-muted);font-size:.8rem}.pi-card-chevron{color:var(--ct-muted);transition:transform .15s ease}.pi-card.open .pi-card-chevron{transform:rotate(180deg)}.pi-problem-list{list-style:none;margin:0;padding:0 12px 12px;display:grid;gap:8px}.pi-problem{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:9px;border:1px solid var(--ct-border);background:var(--ct-panel, rgba(255, 255, 255, .5))}.pi-problem-title{flex:1;min-width:0;font-weight:650;color:var(--ct-text);font-size:.85rem}.pi-problem-diff{padding:2px 8px;border-radius:999px;font-size:.66rem;font-weight:750;text-transform:uppercase}.pi-problem-diff.diff-easy{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.pi-problem-diff.diff-medium{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.pi-problem-diff.diff-hard{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.pi-problem-outcome{font-size:.74rem;font-weight:700;color:var(--ct-muted)}.pi-problem-outcome.solved{color:#15803d}.pi-problem-outcome.attempted{color:#b45309}.pi-grade{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:750;padding:2px 9px;border-radius:999px}.pi-grade.pass{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.pi-grade.fail{background:color-mix(in srgb,#ef4444 16%,transparent);color:#b91c1c}.pi-grade.ai{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.pi-grade.none{background:color-mix(in srgb,var(--ct-muted) 14%,transparent);color:var(--ct-muted)}.pi-problem-verdict{flex-basis:100%;margin:4px 0 0;font-size:.8rem;color:var(--ct-text);line-height:1.4}.pi-problem-code{flex-basis:100%;margin:6px 0 0;padding:9px 11px;border-radius:7px;background:color-mix(in srgb,var(--ct-primary, #2b3f63) 6%,#f7f9fc);border:1px solid var(--ct-border);font-family:var(--font-mono, ui-monospace, monospace);font-size:.78rem;overflow-x:auto;white-space:pre}body.coding-dark .past-interviews{background:#16233a;border-color:#94a3b838}body.coding-dark .pi-card{background:#1c2a3f;border-color:#94a3b838}body.coding-dark .pi-problem{background:#16233a;border-color:#94a3b833}body.coding-dark .pi-problem-code{background:#0f1a2c;color:#e6edf7;border-color:#94a3b838}body.coding-dark .iv-topic-card:not(.open):hover{border-color:#3b82f68c!important}body.coding-dark .iv-topic-card:not(.open):hover .iv-topic-chevron{color:#93b4f5!important}body.coding-dark .iv-topic-card.open .iv-topic-head{background:#3b82f614!important}body.coding-dark .iv-question-action.icon-only{border-color:#3b82f680!important}body.coding-dark .iv-question-action:hover{box-shadow:0 12px 24px #3b82f638!important}body.coding-dark .iv-history-entry:hover{background:#3b82f61f!important;border-color:#3b82f680!important}.interview-prep-page{gap:clamp(18px,2.5vh,28px)}.iv-topic-grid{margin-top:0}.iv-ladder{gap:14px;padding:20px 22px}.iv-ladder-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:center}.iv-ladder-eyebrow{color:var(--ct-primary);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.iv-ladder-title{font-size:clamp(1.12rem,2vw,1.4rem)}.iv-ladder-sub{font-size:.86rem}.iv-ready-meter-head{display:grid;grid-template-columns:auto 1fr auto}.iv-ready-meter-head strong{color:var(--ct-text);font-size:.86rem;font-variant-numeric:tabular-nums}.iv-ready-track{height:10px}.iv-checklist{padding-top:12px;gap:8px}.iv-check-step{flex:1 1 150px;padding:7px 11px}.iv-check-step.goal.available{border-color:color-mix(in srgb,var(--ct-primary) 38%,var(--ct-border))}.iv-check-step.goal.available .iv-check-label small{color:var(--ct-primary)}.iv-ladder-actions-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 14px}.iv-ladder-actions{margin-left:0}.coding-app .iv-ladder-cta{padding:11px 18px;font-size:.86rem}.coding-app .iv-ladder-cta.secondary{color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--ct-primary) 48%,var(--ct-border))}.coding-app .iv-ladder-cta.secondary:hover,.coding-app .iv-ladder-cta.secondary:focus-visible{outline:none;transform:translateY(-1px);background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel))!important;box-shadow:0 8px 18px color-mix(in srgb,var(--ct-primary) 14%,transparent)}.iv-ladder-note{flex-basis:100%;margin:-2px 2px 0 0;color:var(--ct-muted);font-size:.74rem;text-align:right}.iv-topic-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.iv-topic-title-row h3{margin:0}.iv-topic-recommended{display:inline-flex;padding:2px 7px;border-radius:999px;color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 11%,transparent);font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.iv-topic-recommended.next{color:#92400e;background:color-mix(in srgb,var(--ct-accent, #f58220) 18%,transparent)}.iv-ring{--size: 48px}.iv-ring-label{font-size:.62rem;font-variant-numeric:tabular-nums}.iv-review-check:disabled{cursor:default;opacity:.9}.iv-question-reviewed{display:inline-flex;padding:2px 8px;border-radius:999px;color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 10%,transparent);font-size:.68rem;font-weight:750}body.coding-dark .iv-topic-recommended{color:#bcd2f5;background:#3b82f62e}body.coding-dark .iv-topic-recommended.next{color:#ffd59a;background:#f582202e}body.coding-dark .iv-question-reviewed{color:#bcd2f5;background:#3b82f629}body.coding-dark .coding-app .iv-ladder-cta.secondary{background:#0f1a2c59;border-color:#93b4f58c;color:#dbeafe!important}@media (max-width: 800px){.iv-ladder-top{grid-template-columns:1fr;gap:14px}.iv-ladder-actions-row,.iv-ladder-actions{justify-content:stretch;width:100%}.iv-ladder-note{text-align:left}}.iv-history-hero{align-items:flex-start;gap:18px}.iv-history-back{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--ct-primary) 28%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 7%,transparent);color:var(--ct-primary);font-weight:800;line-height:1.1;white-space:nowrap}.iv-history-back:hover{color:var(--ct-primary);border-color:color-mix(in srgb,var(--ct-primary) 50%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 12%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--ct-primary) 12%,transparent)}.past-interviews{gap:16px;padding:clamp(18px,2.5vw,24px);border-radius:18px;background:radial-gradient(100% 130% at 100% 0%,color-mix(in srgb,var(--ct-primary) 8%,transparent),transparent 55%),var(--ct-solid-raised, var(--ct-panel-raised, #fff));box-shadow:0 16px 36px #0f172a12}.pi-head{align-items:flex-start}.pi-head>div{display:grid;gap:4px;min-width:0}.pi-head h3{font-family:"Sora",var(--font-display, "Public Sans"),sans-serif;font-size:1.08rem;font-weight:800}.pi-head h3 svg{color:var(--ct-primary)}.pi-head p{margin:0;color:var(--ct-muted);font-size:.86rem;line-height:1.45}.pi-clear{align-self:flex-start;background:var(--ct-panel)}.pi-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pi-stat{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 13px;border:1px solid var(--ct-border);border-radius:14px;background:color-mix(in srgb,var(--ct-panel) 86%,transparent)}.pi-stat svg{flex:0 0 auto;color:var(--ct-primary);font-size:1rem}.pi-stat span{display:grid;gap:1px;min-width:0}.pi-stat strong{color:var(--ct-text);font-size:1rem;font-variant-numeric:tabular-nums;line-height:1.1}.pi-stat small{color:var(--ct-muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pi-list{gap:12px}.pi-card{border-radius:16px;background:var(--ct-panel);box-shadow:0 6px 18px #0f172a0d}.pi-card.open{border-color:color-mix(in srgb,var(--ct-primary) 36%,var(--ct-border))}.pi-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:14px 16px;color:var(--ct-text)}.pi-card-head:hover{background:color-mix(in srgb,var(--ct-primary) 7%,transparent)}.pi-card-score-ring{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:color-mix(in srgb,var(--ct-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border))}.pi-card-score-ring.strong{background:color-mix(in srgb,#22c55e 14%,transparent);border-color:color-mix(in srgb,#22c55e 42%,var(--ct-border))}.pi-card-score-ring.okay{background:color-mix(in srgb,#f59e0b 16%,transparent);border-color:color-mix(in srgb,#f59e0b 42%,var(--ct-border))}.pi-card-score-ring.needs-work{background:color-mix(in srgb,var(--ct-primary) 10%,transparent)}.pi-card-score-ring strong{color:var(--ct-text);font-size:1rem;font-variant-numeric:tabular-nums;line-height:1}.pi-card-score-ring small{color:var(--ct-muted);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pi-card-main{display:grid;gap:5px;min-width:0}.pi-card-date{font-size:.94rem;font-weight:800}.pi-card-meta{font-size:.82rem}.pi-card-topics{display:flex;flex-wrap:wrap;gap:6px}.pi-card-topics span,.pi-problem-topic{display:inline-flex;align-items:center;width:fit-content;padding:2px 8px;border-radius:999px;color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 9%,transparent);font-size:.68rem;font-weight:750}.pi-card-chevron{align-self:center;justify-self:end}.pi-problem-list{padding:0 16px 16px;gap:10px}.pi-problem{display:grid;gap:10px;padding:13px 14px;border-radius:13px;background:color-mix(in srgb,var(--ct-panel) 90%,var(--ct-bg))}.pi-problem-top,.pi-problem-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.pi-problem-title{flex:1 1 auto;font-size:.92rem;font-weight:800}.pi-problem-outcome{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--ct-muted) 12%,transparent);font-size:.72rem;font-weight:800}.pi-problem-outcome svg{font-size:.72rem}.pi-problem-outcome.solved{color:#15803d;background:color-mix(in srgb,#22c55e 16%,transparent)}.pi-problem-outcome.attempted{color:#b45309;background:color-mix(in srgb,#f59e0b 18%,transparent)}.pi-problem-outcome.skipped,.pi-problem-outcome.unattempted{color:var(--ct-muted)}.pi-grade{min-height:24px}.pi-no-code{margin:0;color:var(--ct-muted);font-size:.8rem}.pi-code-details{min-width:0}.pi-code-details summary{display:inline-flex;align-items:center;gap:7px;width:fit-content;cursor:pointer;color:var(--ct-primary);font-size:.8rem;font-weight:800}.pi-code-details[open] summary{margin-bottom:8px}.pi-problem-code{margin:0;max-height:220px;background:var(--ct-editor-bg, #0f172a);color:var(--ct-editor-text, #e2e8f0);border-radius:10px}.pi-solution-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--ct-primary);font-size:.78rem;font-weight:800;text-decoration:none}.pi-solution-link:hover{color:var(--ct-accent)}.pi-empty{display:grid;justify-items:center;gap:8px;padding:34px 16px;text-align:center}.pi-empty svg{color:var(--ct-primary);font-size:1.4rem}.pi-empty strong{color:var(--ct-text);font-size:1rem}.pi-empty span{max-width:52ch;color:var(--ct-muted);line-height:1.5}body.coding-dark .past-interviews{background:radial-gradient(100% 130% at 100% 0%,rgba(59,130,246,.1),transparent 55%),#16233a}body.coding-dark .pi-stat,body.coding-dark .pi-card,body.coding-dark .pi-problem{background:#1c2a3f;border-color:#94a3b838}body.coding-dark .pi-card-head:hover{background:#3b82f614}body.coding-dark .pi-card-topics span,body.coding-dark .pi-problem-topic{color:#bcd2f5;background:#3b82f629}body.coding-dark .pi-problem-outcome.solved{color:#5ee69a}body.coding-dark .pi-problem-outcome.attempted{color:#f1b551}body.coding-dark .iv-history-back{color:#dbeafe;background:#3b82f61f;border-color:#3b82f66b}@media (max-width: 760px){.pi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-card-head{grid-template-columns:auto minmax(0,1fr)}.pi-card-chevron{grid-column:1 / -1;justify-self:center}}@media (max-width: 520px){.pi-stats{grid-template-columns:1fr}.pi-head{flex-direction:column}.pi-clear{align-self:flex-start}}.coding-app{--ct-bg: var(--bg-app);--ct-panel: var(--bg-surface);--ct-panel-soft: var(--bg-surface-soft);--ct-panel-raised: var(--bg-surface-raised);--ct-border: var(--border-soft);--ct-border-strong: var(--border-strong);--ct-text: var(--text-main);--ct-muted: var(--text-muted);--ct-soft: var(--text-soft);--ct-primary: var(--primary);--ct-primary-hover: var(--primary-hover);--ct-primary-soft: var(--primary-soft);--ct-accent: var(--accent);--ct-accent-soft: var(--accent-soft);--ct-success: var(--success);--ct-warning: var(--warning);--ct-danger: var(--danger);--ct-editor-bg: #0f172a;--ct-editor-text: #e5e7eb;--ct-terminal-bg: #090f1f;--ct-terminal-text: #dbeafe;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:16px 10px 12px;background:var(--ct-bg);color:var(--ct-text);gap:10px;overflow:visible;transition:grid-template-columns .16s ease}.coding-app.coding-workspace-active{grid-template-rows:auto minmax(0,1fr);min-height:100%}.coding-app.coding-quiz-runner-active{grid-template-rows:auto minmax(0,1fr);min-height:100%;padding:0}.coding-app.coding-quiz-runner-active .coding-app-main{padding-right:0;min-height:0}.coding-app.coding-quiz-runner-active .coding-app-content{display:flex;flex:1;min-height:0}.coding-app.coding-quiz-runner-active .practice-library{flex:1;min-height:0;gap:0}.coding-app.coding-quiz-runner-active .practice-toolbar{padding:10px 1.75rem}.coding-app.coding-quiz-runner-active .practice-library>*:last-child{flex:1;min-height:0}.coding-app.coding-page-interview{background:transparent!important}.coding-app.mini-sidebar-collapsed{grid-template-columns:50px minmax(0,1fr);gap:8px;padding-top:18px;padding-left:8px;padding-right:8px}.coding-app *,.coding-app *:before,.coding-app *:after{box-sizing:border-box}.coding-app :where(button,a[href],input,select,textarea,summary,[role=button],[role=tab],[tabindex]:not([tabindex="-1"])):focus-visible,.floating-coding-chat :where(button,a[href],input,select,textarea,summary,[role=button],[role=tab],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid color-mix(in srgb,var(--ct-accent, #f58220) 72%,#ffffff);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-accent, #f58220) 18%,transparent)}body.coding-dark .coding-app :where(button,a[href],input,select,textarea,summary,[role=button],[role=tab],[tabindex]:not([tabindex="-1"])):focus-visible,body.coding-dark .floating-coding-chat :where(button,a[href],input,select,textarea,summary,[role=button],[role=tab],[tabindex]:not([tabindex="-1"])):focus-visible{outline-color:color-mix(in srgb,#fbbf24 76%,#ffffff);box-shadow:0 0 0 5px #fbbf2438}.coding-app h2,.coding-app h3,.coding-app strong,.coding-app button,.coding-app .coding-kicker{font-weight:650}.coding-app p,.coding-app li,.coding-app small,.coding-app span,.coding-app textarea,.coding-app select{font-weight:400}.coding-app button,.coding-app select{letter-spacing:0;border-radius:12px;transition:all .2s ease}.coding-app button{border:1px solid transparent}.coding-app button:hover:not(:disabled),.coding-app select:hover,.coding-app textarea:hover{box-shadow:0 10px 24px #0f172a14}.coding-nav-row{grid-column:1;grid-row:1;display:flex;align-items:flex-start;gap:12px;min-width:0;width:100%}.coding-nav-row .coding-back-home-btn{flex:0 0 auto;align-self:flex-start}.coding-nav-row .coding-section-nav{flex:1 1 auto}.coding-back-home-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;box-sizing:border-box;white-space:nowrap;padding:0 20px;border-radius:16px;border:1px solid var(--ct-border);background:#fffffffa;box-shadow:0 8px 20px #0f172a14;color:var(--ct-text);font-size:.92rem;font-weight:650;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .1s ease}.coding-back-home-btn svg{font-size:1rem;color:var(--ct-primary)}.coding-back-home-btn:hover{border-color:color-mix(in srgb,var(--ct-accent) 45%,var(--ct-border));transform:translateY(-1px)}.coding-back-home-btn.active{background:linear-gradient(135deg,var(--ct-primary),color-mix(in srgb,var(--ct-primary) 72%,var(--ct-accent) 28%));border-color:transparent;color:#fff}.coding-back-home-btn.active svg{color:#fff}body.coding-dark .coding-back-home-btn{background:#8ab4f8;border-color:#8ab4f8;color:#0b1322}body.coding-dark .coding-back-home-btn svg{color:#0b1322}body.coding-dark .coding-back-home-btn:hover{background:#aecbfa;border-color:#aecbfa;color:#0b1322}body.coding-dark .coding-back-home-btn:hover svg{color:#0b1322}body.coding-dark .coding-back-home-btn.active{background:linear-gradient(135deg,#243a67,#d89a43);border-color:transparent;color:#f8f1e8}body.coding-dark .coding-back-home-btn.active svg{color:#f8f1e8}.coding-section-nav{align-self:start;justify-self:start;position:relative;display:flex;flex-direction:column;gap:0;padding:0;width:clamp(200px,32%,280px);max-width:100%;background:#fffffffa;border:1px solid var(--ct-border);box-shadow:0 8px 20px #0f172a14;border-radius:14px;min-width:0;overflow:visible;z-index:30}.coding-section-nav.mobile-open{box-shadow:0 18px 38px #0f172a2e}.coding-nav-mobile-toggle{display:flex;align-items:center;gap:10px;width:100%;height:48px;box-sizing:border-box;padding:0 14px;border:0;border-radius:16px;background:transparent;color:#1f2937;font-size:.92rem;font-weight:700;cursor:pointer}.coding-nav-mobile-toggle .coding-nav-mobile-current{flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-nav-current-icon{flex:0 0 auto}.coding-nav-mobile-toggle .coding-nav-chevron{flex:0 0 auto;color:var(--ct-primary, #002d72);transition:transform .2s ease}.coding-section-nav.mobile-open .coding-nav-chevron{transform:rotate(180deg)}.coding-section-nav>button:not(.coding-nav-mobile-toggle){display:none}.coding-section-nav.mobile-open{position:relative}.coding-section-nav.mobile-open>button:not(.coding-nav-mobile-toggle){display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:9px 16px;background:#fffffffc;border:0;border-top:1px solid var(--ct-border);color:#1f2937;font-size:.9rem;cursor:pointer;white-space:nowrap}.coding-section-nav.mobile-open>button.active{background:var(--ct-accent-soft, rgba(245, 130, 32, .14));color:var(--ct-primary, #002d72);font-weight:750}.coding-section-nav>button .coding-nav-label{flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:12px;background:#4285f41a;color:#1e3a8a;font-size:.92rem;font-weight:750}.coding-nav-icon svg{width:15px;height:15px}.coding-nav-workspace-toggle{background:#4285f414!important;border-color:#4285f42e!important;margin-top:4px;color:#047857!important}.coding-nav-snippets-btn{background:#6366f114!important;border-color:#6366f133!important;color:#4f46e5!important}.coding-nav-snippets-btn:hover,.coding-nav-snippets-btn:focus-visible{background:#6366f129!important;border-color:#6366f16b!important}.coding-nav-snippets-btn.active{background:#4f46e5!important;border-color:#4f46e5!important;color:#fff!important}body.coding-dark .coding-nav-snippets-btn{background:#818cf824!important;border-color:#818cf857!important;color:#c7cbff!important}body.coding-dark .coding-nav-snippets-btn.active{background:#818cf8!important;border-color:#818cf8!important;color:#0b1322!important}.coding-nav-theme-toggle{background:var(--ct-accent-soft, rgba(243, 112, 33, .1))!important;border-color:color-mix(in srgb,var(--ct-accent, #f37021) 32%,transparent)!important;color:var(--ct-accent, #f37021)!important}.coding-nav-theme-toggle:hover,.coding-nav-theme-toggle:focus-visible{background:color-mix(in srgb,var(--ct-accent, #f37021) 18%,transparent)!important;border-color:color-mix(in srgb,var(--ct-accent, #f37021) 48%,transparent)!important}.coding-app .campus-section-nav .coding-nav-theme-toggle{width:42px;min-width:42px;height:42px;min-height:42px;padding:0!important;gap:0;border-radius:999px;flex:0 0 auto;margin-left:6px;border-style:solid!important;border-width:2px!important;border-color:var(--ct-accent, #f37021)!important}.coding-app .campus-section-nav .coding-nav-theme-toggle:hover,.coding-app .campus-section-nav .coding-nav-theme-toggle:focus-visible{border-color:var(--ct-accent, #f37021)!important;background:color-mix(in srgb,var(--ct-accent, #f37021) 18%,transparent)!important}.coding-app .campus-section-nav .coding-nav-theme-toggle .coding-nav-label{display:none}.coding-section-nav button:hover,.coding-section-nav button:focus-visible{background:#4285f41a;border-color:#4285f43d}.coding-section-nav button.active{background:#4285f424;border-color:#4285f452;color:#1e3a8a;box-shadow:0 10px 22px #4285f41f}.coding-app-content{padding-bottom:0;min-height:0;width:100%}.coding-app-main{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:visible;padding-right:4px;scrollbar-gutter:stable}.coding-app.mini-sidebar-collapsed .coding-app-main{padding-right:0}.coding-app.mini-sidebar-collapsed .quiz-bank-page,.coding-app.mini-sidebar-collapsed .progress-page,.coding-app.mini-sidebar-collapsed .coding-page-panel{max-width:none}.mock-bar{display:grid;gap:6px;margin-bottom:10px;padding:9px 14px;border-radius:12px;border:1px solid var(--ct-gold-line, color-mix(in srgb, var(--ct-primary, #2b3f63) 22%, var(--ct-border, rgba(148,163,184,.3))));border-left:4px solid var(--ct-primary, #2b3f63);background:var(--ct-solid-raised, #fffdf8);box-shadow:0 2px 10px #2b3f6312}.mock-bar.tier-orange{border-left-color:#f59e0b}.mock-bar.tier-red{border-left-color:#ef4444}.mock-bar.tier-expired{border-left-color:#ef4444;background:color-mix(in srgb,#ef4444 6%,var(--ct-solid-raised, #fffdf8))}.mock-bar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mock-bar-row-sub{font-size:.8rem}.mock-bar-label{font-weight:800;font-size:.9rem;letter-spacing:.01em;color:var(--ct-primary, #2b3f63)}.mock-bar-stepper{display:inline-flex;gap:5px}.mock-step{width:26px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--ct-border, #cbd5e1) 80%,transparent)}.mock-step.current{background:var(--ct-primary, #2b3f63)}.mock-step.solved{background:#22c55e}.mock-step.attempted{background:#f59e0b}.mock-step.skipped{background:#94a3b8}.mock-bar-timer{display:inline-flex;align-items:baseline;gap:7px;margin-left:auto;font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ct-text, #172033)}.mock-bar-timer svg{font-size:.8rem;align-self:center}.mock-bar-timer small{font-size:.66rem;font-weight:700;text-transform:uppercase;color:var(--ct-muted);letter-spacing:.04em}.mock-bar.tier-orange .mock-bar-timer{color:#b45309}.mock-bar.tier-red .mock-bar-timer,.mock-bar.tier-expired .mock-bar-timer{color:#b91c1c}.mock-bar-meta{color:var(--ct-muted, #6b7280);font-weight:650;font-variant-numeric:tabular-nums}.mock-bar-progress{display:inline-flex;gap:10px}.mock-bar-progress .mp{font-weight:750}.mock-bar-progress .mp.solved{color:#15803d}.mock-bar-progress .mp.att{color:#b45309}.mock-bar-progress .mp.rem{color:var(--ct-muted)}.mock-bar-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.coding-app .mock-bar-actions button,.coding-app .mock-bar-row-main .mock-bar-end{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary, #2b3f63) 34%,var(--ct-border, rgba(148,163,184,.3)));background:transparent;color:var(--ct-text, #172033)!important;cursor:pointer;font-weight:700;font-size:.8rem}.coding-app .mock-bar-next{background:var(--ct-primary, #2b3f63);border-color:var(--ct-primary, #2b3f63);color:#fff!important}.coding-app .mock-bar-finish{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 14px;border-radius:999px;background:var(--ct-accent, #f37021);border:1px solid var(--ct-accent, #f37021);color:#fff!important;cursor:pointer;font-weight:800;font-size:.8rem}body.coding-dark .coding-app .mock-bar-finish{color:#fff!important}.coding-app .mock-bar-solved.on{background:color-mix(in srgb,#22c55e 18%,transparent);border-color:color-mix(in srgb,#22c55e 50%,transparent);color:#15803d!important}.coding-app .mock-bar-end{border-color:color-mix(in srgb,#ef4444 46%,var(--ct-border, rgba(148,163,184,.3)));color:#b91c1c!important}.coding-app .mock-bar button:disabled{opacity:.45;cursor:default}.coding-app .mock-bar button:not(:disabled):hover{transform:translateY(-1px)}body.coding-dark .mock-bar{box-shadow:0 2px 12px #00000047}body.coding-dark .mock-bar-label{color:#9db8e0}body.coding-dark .mock-bar-timer{color:#f1e9dc}body.coding-dark .coding-app .mock-bar button{color:#f1e9dc!important}body.coding-dark .coding-app .mock-bar-next{color:#fff!important}body.coding-dark .coding-app .mock-bar-end{color:#f4807d!important}.mock-rules{display:grid;gap:2px;padding:8px 12px;margin-bottom:10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 36%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent, #f58220) 8%,transparent)}.mock-rules strong{font-size:.85rem;color:var(--ct-text)}.mock-rules span{font-size:.78rem;color:var(--ct-muted)}.mock-rules .mock-rules-note{margin-top:3px;font-weight:650;color:color-mix(in srgb,var(--ct-accent, #f58220) 78%,var(--ct-text))}.problem-examples-compact summary{cursor:pointer;font-weight:750;font-size:.9rem;color:var(--ct-text, #172033);padding:4px 0}.coding-app .problem-solution-locked{display:inline-flex;align-self:start;margin-top:4px;padding:8px 14px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--ct-muted, #6b7280) 50%,var(--ct-border));background:transparent;color:var(--ct-muted, #6b7280)!important;cursor:pointer;font-weight:700;font-size:.85rem}.coding-app .problem-solution-locked:hover{border-style:solid;color:var(--ct-text)!important}.mock-summary-portal{display:block;padding:0;min-height:0;background:none}.mock-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mock-summary{position:relative;width:min(560px,100%);max-height:88vh;overflow:auto;display:grid;gap:16px;padding:22px;border-radius:18px;background:var(--ct-solid-raised, #fff);border:1px solid var(--ct-border, rgba(148,163,184,.25));box-shadow:0 30px 70px #0f172a4d}.coding-app .mock-summary-x{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;cursor:pointer;border:1px solid var(--ct-border);background:transparent;color:var(--ct-muted)!important;font-size:.9rem;z-index:2}.coding-app .mock-summary-x:hover{color:var(--ct-text)!important;border-color:var(--ct-text)}.mock-summary-autoclose{flex:1;min-width:0;font-size:.74rem;color:var(--ct-muted);font-style:italic;align-self:center}body.coding-dark .coding-app .mock-summary-x{color:#9db8e0!important}.mock-summary-head{display:flex;align-items:center;gap:14px;padding-right:34px}.mock-summary-trophy{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--ct-accent, #f58220),#ffd29b);color:#172033;font-size:1.3rem;flex-shrink:0}.mock-summary-head h2{margin:0;font-size:1.25rem;color:var(--ct-text)}.mock-summary-head p{margin:2px 0 0;color:var(--ct-muted);font-size:.86rem}.mock-summary-stats{display:flex;gap:12px;flex-wrap:wrap}.mss{flex:1;min-width:110px;display:grid;gap:2px;padding:12px 14px;border-radius:12px;border:1px solid var(--ct-border);background:var(--ct-panel-soft, rgba(248,250,252,.7))}.mss-num{font-size:1.5rem;font-weight:800;color:var(--ct-text);font-variant-numeric:tabular-nums}.mss-num small{font-size:.9rem;color:var(--ct-muted);font-weight:700}.mss-lbl{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ct-muted)}.mock-summary-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mock-summary-item{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--ct-border);background:var(--ct-panel, rgba(255,255,255,.5))}.mock-summary-item-main{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}.mock-summary-outcome{display:inline-flex;align-items:center;gap:6px;font-weight:750;font-size:.78rem;flex:0 0 auto;min-width:84px}.mock-summary-outcome.solved{color:#15803d}.mock-summary-outcome.skipped{color:#64748b}.mock-summary-outcome.attempted{color:#b45309}.mock-summary-outcome.unattempted{color:var(--ct-muted)}.mock-summary-title{flex:1 1 200px;min-width:150px;font-weight:650;color:var(--ct-text);font-size:.88rem;line-height:1.3}.mock-summary-diff{padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:750;text-transform:uppercase}.mock-summary-diff.diff-easy{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.mock-summary-diff.diff-medium{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.mock-summary-diff.diff-hard{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.mock-summary-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.coding-app .mock-summary-review{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-accent) 46%,var(--ct-border));background:transparent;color:var(--ct-text)!important;text-decoration:none;font-weight:700;font-size:.78rem}.mock-summary-grade{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:750;white-space:nowrap}.mock-summary-grade.is-pass{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.mock-summary-grade.is-fail{background:color-mix(in srgb,#ef4444 16%,transparent);color:#b91c1c}.mock-summary-grade.is-ai{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.mock-summary-grade.is-none{background:color-mix(in srgb,var(--ct-muted) 14%,transparent);color:var(--ct-muted)}.mock-summary-grade.is-grading{background:transparent;color:var(--ct-muted);font-style:italic}.coding-app .mock-summary-expand{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;padding:5px 12px;border-radius:999px;cursor:pointer;border:1px solid var(--ct-border);background:transparent;color:var(--ct-text)!important;font-weight:700;font-size:.78rem}.mock-summary-expand svg{transition:transform .15s ease}.mock-summary-expand.open svg{transform:rotate(180deg)}.mock-summary-detail{border-top:1px dashed var(--ct-border);padding-top:8px}.mock-summary-verdict{margin:0 0 8px;font-size:.84rem;color:var(--ct-text);line-height:1.45}.mock-summary-code{margin:0;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--ct-primary, #2b3f63) 6%,#f7f9fc);border:1px solid var(--ct-border);font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem;overflow-x:auto;white-space:pre}.mock-summary-grading-note{margin:0 0 4px;font-size:.8rem;color:var(--ct-muted);font-style:italic}body.coding-dark .mock-summary-code{background:#0f1a2c;border-color:#94a3b838;color:#e6edf7}body.coding-dark .mock-summary-detail{border-top-color:#94a3b847}.mock-summary-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.coding-app .mock-summary-close,.coding-app .mock-summary-again{padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:750;font-size:.86rem;border:1px solid var(--ct-border);background:transparent;color:var(--ct-text)!important}.coding-app .mock-summary-again{background:var(--ct-primary, #2b3f63);border-color:var(--ct-primary, #2b3f63);color:#fff!important}.coding-app .problem-requires{margin:6px 0 0;font-size:.82rem;color:var(--ct-muted)}.coding-app .problem-requires strong{color:var(--ct-text);font-weight:700}body.coding-dark .mock-summary{background:#1c2a3f}body.coding-dark .mss,body.coding-dark .mock-summary-item{background:#16233a;border-color:#94a3b838}.mock-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mock-confirm{width:min(420px,100%);display:grid;gap:10px;padding:22px;text-align:center;border-radius:16px;background:var(--ct-solid-raised, #fff);border:1px solid var(--ct-border, rgba(148,163,184,.25));box-shadow:0 28px 64px #0f172a4d}.mock-confirm-icon{justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font-size:1.2rem}.mock-confirm-icon.tone-warn{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}.mock-confirm-icon.tone-danger{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.mock-confirm h3{margin:0;color:var(--ct-text);font-size:1.1rem}.mock-confirm p{margin:0;color:var(--ct-muted);font-size:.9rem;line-height:1.5}.mock-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:6px;flex-wrap:wrap}.coding-app .mock-confirm-cancel,.coding-app .mock-confirm-go{padding:9px 18px;border-radius:999px;cursor:pointer;font-weight:750;font-size:.88rem;border:1px solid var(--ct-border);background:transparent;color:var(--ct-text)!important}.coding-app .mock-confirm-go.tone-warn{background:#f59e0b;border-color:#f59e0b;color:#172033!important}.coding-app .mock-confirm-go.tone-danger{background:#ef4444;border-color:#ef4444;color:#fff!important}.coding-app .mock-confirm-go:hover{transform:translateY(-1px)}body.coding-dark .mock-confirm{background:#1c2a3f}.coding-workbench{min-height:auto;display:flex;flex-direction:column;gap:10px}.coding-workbench-main{min-height:clamp(360px,calc(100vh - 340px),560px);display:grid;grid-template-columns:minmax(280px,.34fr) minmax(0,1fr);gap:10px;align-items:stretch}.coding-workbench-main>*,.coding-editor-center,.coding-problem-panel,.workspace-tab-body,.quiz-bank-layout>*,.quiz-library,.quiz-insight-panel{min-width:0}.coding-page-panel,.daily-feature-card,.quiz-library,.quiz-insight-panel,.practice-progress-overview,.coding-problem-panel,.coding-editor-center,.quiz-problem-card{border-radius:18px;background:#fffffff5;border:1px solid var(--ct-border);box-shadow:0 10px 30px #0f172a0f}.coding-page-panel{padding:22px}.coding-page-panel,.coding-problem-panel,.coding-editor-center,.quiz-library,.quiz-insight-panel,.practice-progress-overview,.daily-feature-card{position:relative}.coding-page-panel:before,.coding-problem-panel:before,.coding-editor-center:before,.quiz-library:before,.quiz-insight-panel:before,.practice-progress-overview:before,.daily-feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4285f4b8,#34a8537a,#fbbc0580);pointer-events:none}.practice-progress-overview{display:flex!important;flex-wrap:wrap;justify-content:space-between;grid-template-columns:minmax(150px,.6fr) minmax(160px,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border-radius:18px;background:#fffffff5;border:1px solid var(--ct-border);box-shadow:0 10px 30px #0f172a0f}.coding-app .practice-progress-overview{margin-bottom:0;width:100%}.coding-app .practice-progress-overview>div:first-child{display:grid;gap:4px;align-items:center;justify-content:start}.coding-app .practice-progress-overview .progress-bar{flex:1 1 320px;min-width:min(320px,100%)}.coding-app .progress-overview-stats{flex:0 1 auto}.progress-bar{height:12px;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 55%,var(--ct-soft));overflow:hidden}.progress-bar span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#38bdf8);transition:width .3s ease}.progress-overview-stats{display:flex;flex-wrap:wrap;gap:12px;color:#475569;font-size:.84rem;white-space:nowrap}.coding-dashboard{display:flex!important;flex-direction:column;gap:24px;max-width:2200px;margin:0 auto;width:100%;min-height:auto;overflow:visible;padding:8px 24px 36px}.topic-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ct-accent) 34%,var(--ct-border));border-radius:14px;background:color-mix(in srgb,var(--ct-accent) 10%,var(--ct-panel-soft));color:var(--ct-text)}.topic-filter-banner span{color:var(--ct-text);font-size:.9rem;font-weight:650}.topic-filter-banner button{min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 38%,var(--ct-border));background:var(--ct-primary);color:#fff;cursor:pointer;font-weight:750;white-space:nowrap}.topic-filter-banner button:hover:not(:disabled){background:var(--ct-accent);border-color:color-mix(in srgb,var(--ct-accent) 58%,var(--ct-border));color:#172033}.interview-prep-page{display:grid;gap:20px;max-width:2200px;width:100%;margin:0 auto}.coding-app .interview-prep-page.coding-page-panel{background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;min-height:0!important;padding:8px 24px 24px!important}.coding-app .interview-prep-page.coding-page-panel:before{display:none!important}.interview-prep-hero{display:flex;align-items:flex-start;gap:16px;max-width:none}.interview-prep-hero h2{margin:0;color:var(--ct-text);font-size:clamp(1.45rem,2.5vw,2.2rem)}.interview-prep-hero p{margin:0;color:var(--ct-muted);font-size:.98rem;line-height:1.55}.coding-dashboard-prompts{display:flex;flex-direction:column;gap:14px;width:min(100%,820px)}.coding-dashboard-section{width:100%}.coding-welcome-hero{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 26px;border-radius:20px;border:1px solid var(--ct-border);background:radial-gradient(circle at top left,color-mix(in srgb,var(--ct-accent) 14%,transparent),transparent 60%),var(--ct-panel-soft);box-shadow:0 12px 28px #0f172a0f}.coding-welcome-title{margin:0;font-size:1.5rem;line-height:1.2;color:var(--ct-text)}.coding-welcome-sub{margin:0;max-width:56ch;font-size:.95rem;line-height:1.5;color:var(--ct-muted)}.coding-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.coding-welcome-primary{padding:9px 20px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 50%,transparent);background:color-mix(in srgb,var(--ct-primary) 92%,#000);color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .1s ease}.coding-welcome-primary:hover:not(:disabled){background:var(--ct-accent);border-color:var(--ct-accent);transform:translateY(-1px)}.coding-welcome-primary:disabled{opacity:.6;cursor:default}.coding-welcome-secondary{padding:9px 18px;border-radius:999px;border:1px solid var(--ct-border-strong);background:var(--ct-panel);color:var(--ct-text);font-size:.9rem;font-weight:650;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .1s ease}.coding-welcome-secondary:hover{border-color:color-mix(in srgb,var(--ct-primary) 45%,var(--ct-border-strong));transform:translateY(-1px)}.coding-welcome-hint{margin:6px 0 0;font-size:.85rem;color:var(--ct-soft)}.coding-language-personalization{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;border-radius:16px;background:var(--ct-panel-soft);border:1px solid var(--ct-border);box-shadow:0 8px 20px #0f172a0d}.coding-language-line{margin:0;font-size:.92rem;line-height:1.45;color:var(--ct-text)}.coding-language-line strong{color:var(--ct-primary)}.coding-language-try-btn{padding:7px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 50%,transparent);background:color-mix(in srgb,var(--ct-primary) 92%,#000);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .1s ease}.coding-language-try-btn:hover{background:var(--ct-accent);border-color:var(--ct-accent);transform:translateY(-1px)}.daily-streak-pill{padding:3px 11px;border-radius:999px;font-size:.74rem;font-weight:700;background:color-mix(in srgb,var(--ct-primary) 14%,transparent);color:var(--ct-primary);border:1px solid color-mix(in srgb,var(--ct-primary) 30%,transparent);white-space:nowrap}.daily-streak-pill.done{background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d;border-color:color-mix(in srgb,#16a34a 34%,transparent)}body.coding-dark .daily-streak-pill.done{color:#4ade80}.coding-stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%}.coding-stat-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:16px;background:var(--ct-panel);border:1px solid var(--ct-border);box-shadow:0 8px 20px color-mix(in srgb,var(--ct-primary) 8%,transparent)}.coding-stat-icon{display:inline-flex;align-items:center;font-size:1.05rem;line-height:1;color:var(--ct-muted)}.coding-stat-tile.stat-streak .coding-stat-icon{color:var(--ct-faint, #94a3b8)}.coding-stat-tile.stat-solved .coding-stat-icon{color:var(--ct-success)}.coding-stat-tile.stat-attempted .coding-stat-icon{color:var(--ct-primary)}.coding-stat-tile.stat-streak .coding-stat-icon.flame-lit{color:#f97316;transform-origin:50% 85%;animation:flame-flicker 1.6s ease-in-out infinite}.coding-stat-icon.flame-lit svg{animation:flame-ignite .55s ease-out 1;filter:drop-shadow(0 0 5px rgba(249,115,22,.75)) drop-shadow(0 1px 8px rgba(234,88,12,.45))}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-1deg)}25%{transform:scale(1.08,1.12) rotate(1.5deg)}50%{transform:scale(.97,1.05) rotate(-1.5deg)}75%{transform:scale(1.05,1.09) rotate(1deg)}}@keyframes flame-ignite{0%{transform:scale(.6) translateY(2px);opacity:.3}55%{transform:scale(1.28) translateY(-1px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.coding-stat-icon.flame-lit,.coding-stat-icon.flame-lit svg{animation:none}}.coding-stat-tile.stat-complete .coding-stat-icon{color:var(--ct-primary)}.coding-stat-value{font-size:1.7rem;font-weight:800;line-height:1.1;color:var(--ct-text)}.coding-stat-label{font-size:.78rem;font-weight:600;color:var(--ct-muted);text-transform:uppercase;letter-spacing:.03em}.coding-stat-tile.stat-streak{background:color-mix(in srgb,var(--ct-accent) 12%,var(--ct-panel-soft));border-color:color-mix(in srgb,var(--ct-accent) 34%,var(--ct-border))}.coding-stat-tile.stat-complete{background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel-soft));border-color:color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border))}@media (max-width: 640px){.coding-stat-tiles{grid-template-columns:repeat(2,1fr)}.coding-stat-value{font-size:1.4rem}}.personal-panel{padding:18px 16px 16px;box-sizing:border-box;min-width:0}.personal-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:6px}.personal-panel-head>div{min-width:0;flex:1 1 auto}.personal-panel-head h2{margin:3px 0 0;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.15}.personal-new-btn{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;align-self:flex-start;padding:10px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 45%,transparent);background:color-mix(in srgb,var(--ct-primary) 92%,#000);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px color-mix(in srgb,var(--ct-primary) 22%,transparent);transition:background .14s ease,transform .1s ease,box-shadow .14s ease}.personal-new-btn svg{font-size:.95rem}.personal-new-btn:hover{background:var(--ct-accent);transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--ct-accent) 28%,transparent)}.personal-panel-blurb{margin-top:16px}.personal-panel-blurb{margin:10px 0 14px;color:var(--ct-muted);font-size:.86rem;line-height:1.4}.personal-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 16px;color:var(--ct-muted);background:color-mix(in srgb,var(--ct-accent, #f58220) 7%,var(--ct-solid-raised, #fff));border:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 22%,var(--ct-border));border-radius:14px;box-sizing:border-box;min-width:0;max-width:100%}.personal-empty svg{font-size:1.6rem;opacity:.7}.personal-snippet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.personal-snippet-item{display:flex;align-items:stretch;gap:6px;border-radius:12px;border:1px solid var(--ct-border);background:var(--ct-panel-soft);overflow:hidden;transition:border-color .14s ease}.personal-snippet-item:hover{border-color:color-mix(in srgb,var(--ct-accent) 45%,var(--ct-border))}.personal-snippet-item.active{border-color:var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 10%,var(--ct-panel-soft))}.personal-snippet-open{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;background:transparent;border:0;cursor:pointer;text-align:left}.personal-snippet-open strong{color:var(--ct-text);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-snippet-meta{font-size:.74rem;color:var(--ct-muted)}.personal-snippet-delete{flex:0 0 auto;width:38px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-left:1px solid var(--ct-border);color:var(--ct-muted);cursor:pointer;transition:background .14s ease,color .14s ease}.personal-snippet-delete:hover{background:#f8514929;color:#e0413a}@media (max-width: 720px){.personal-panel-head{flex-direction:column;align-items:stretch}.personal-panel-head .personal-new-btn{align-self:stretch;justify-content:center}.personal-panel-head h2{font-size:clamp(1.25rem,5vw,1.6rem)}}.coding-recent-activity{display:flex;flex-direction:column;gap:10px}.coding-recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coding-recent-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:132px;padding:14px 16px;border-radius:16px;background:var(--ct-panel);border:1px solid var(--ct-border);box-shadow:0 8px 20px #0f172a0d;transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}.coding-recent-card:hover{border-color:color-mix(in srgb,var(--ct-accent) 45%,var(--ct-border));transform:translateY(-2px);box-shadow:0 12px 24px #0f172a17}.coding-recent-card-top{display:flex;flex-direction:column;gap:7px;min-width:0}.coding-recent-label{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-muted)}.coding-recent-empty{color:var(--ct-muted);font-size:.9rem;line-height:1.35}.coding-recent-title{color:var(--ct-text);font-size:.98rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coding-upnext-card{background:linear-gradient(160deg,color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel)),var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border))!important}.coding-upnext-card .coding-recent-label{color:color-mix(in srgb,var(--ct-primary) 70%,var(--ct-muted))}.upnext-start-btn:disabled{opacity:.5;cursor:not-allowed}body.coding-dark .coding-upnext-card{background:linear-gradient(160deg,color-mix(in srgb,var(--ct-primary) 16%,var(--ct-panel)),var(--ct-panel))!important}.coding-recent-category{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.74rem}.recent-diff{padding:1px 8px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.recent-diff.easy{background:#3fb95029;color:#2f9e44}.recent-diff.medium{background:#f0b42929;color:#c2870a}.recent-diff.hard{background:#f8514929;color:#d63a31}.recent-topic{color:var(--ct-muted)}.coding-recent-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.coding-recent-resume-btn{flex:0 0 auto;padding:6px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 50%,transparent);background:color-mix(in srgb,var(--ct-primary) 92%,#000);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .1s ease}.coding-recent-resume-btn:hover{background:var(--ct-accent);border-color:var(--ct-accent);transform:translateY(-1px)}.recent-status{flex:0 0 auto;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.recent-status.solved{background:#3fb95024;color:#2f9e44}.recent-status.in-progress{background:color-mix(in srgb,var(--ct-primary) 14%,transparent);color:var(--ct-primary)}.coding-snippets-card{background:linear-gradient(160deg,color-mix(in srgb,var(--ct-accent) 12%,var(--ct-panel)),var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-border))!important}.coding-snippets-card .coding-recent-title{color:color-mix(in srgb,var(--ct-accent) 70%,var(--ct-text))}.snippets-open-btn{background:var(--ct-accent)!important;border-color:var(--ct-accent)!important}.snippets-open-btn:hover{background:color-mix(in srgb,var(--ct-accent) 86%,#000)!important}body.coding-dark .coding-snippets-card{background:linear-gradient(160deg,color-mix(in srgb,var(--ct-accent) 20%,var(--ct-panel)),var(--ct-panel))!important}@media (max-width: 720px){.coding-recent-grid{grid-template-columns:1fr}}.unsaved-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#080f1e80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.unsaved-modal{width:min(420px,calc(100vw - 40px));border-radius:16px;padding:22px 24px;background:var(--ct-panel);border:1px solid var(--ct-border);box-shadow:0 24px 60px #080f1e66;color:var(--ct-text)}.unsaved-modal h3{margin:0 0 8px;font-size:1.1rem}.unsaved-modal p{margin:0 0 18px;color:var(--ct-muted);line-height:1.45}.unsaved-actions{display:flex;gap:10px;justify-content:flex-end}.unsaved-btn{padding:9px 18px;border-radius:999px;font-size:.88rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .14s ease,border-color .14s ease}.unsaved-save{background:var(--ct-primary);color:#fff;border-color:var(--ct-primary)}.unsaved-save:hover{background:color-mix(in srgb,var(--ct-primary) 86%,#000)}.unsaved-discard{background:transparent;color:var(--ct-danger, #dc2626);border-color:color-mix(in srgb,var(--ct-danger, #dc2626) 45%,transparent)}.unsaved-discard:hover{background:color-mix(in srgb,var(--ct-danger, #dc2626) 12%,transparent)}.unsaved-cancel{background:transparent;color:var(--ct-muted);border-color:var(--ct-border)}.unsaved-cancel:hover{background:var(--ct-panel-soft)}body.coding-dark .coding-stat-tile,body.coding-dark .coding-recent-card{box-shadow:0 8px 18px #00000038}body.coding-dark .recent-diff.easy{color:#5bd178}body.coding-dark .recent-diff.medium{color:#f0c662}body.coding-dark .recent-diff.hard{color:#ff8a82}body.coding-dark .recent-status.solved{color:#5bd178}.coding-blurb-section{display:flex;flex-direction:column;gap:12px;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none}.coding-prompt-card{width:100%;min-height:76px;padding:18px 24px;text-align:left;color:#202124;background:#fffffffa;border:1px solid rgba(148,163,184,.24);border-left:4px solid #5b7cfa;border-radius:18px;box-shadow:0 10px 24px #0f172a14;font-size:1rem;line-height:1.45}.save-quiz-pdf-btn{align-self:flex-start;min-height:42px;padding:10px 16px;border-radius:14px;border:1px solid rgba(66,133,244,.24);background:#4285f414;color:#1d4ed8;cursor:pointer}.coding-prompt-card.red{border-left-color:#ef4444}.coding-prompt-card.gold{border-left-color:#eab308}.coding-prompt-card:hover{transform:translateY(-2px);border-color:#4285f447;box-shadow:0 16px 36px #0f172a1a}.daily-feature-card{display:flex;flex-direction:column;gap:12px;padding:22px;min-height:180px;border-top:4px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.daily-feature-card.dashboard-daily{border-top-color:#4285f4;min-height:240px;background:linear-gradient(135deg,#4285f41f,#34a85314),#fffffff5}.dashboard-daily h2{font-size:clamp(1.45rem,2.6vw,2.4rem);line-height:1.15;max-width:760px}.dashboard-daily p{max-width:760px;font-size:1rem;line-height:1.6}.daily-feature-card:hover,.quiz-problem-card:hover,.quiz-insight-panel:hover{transform:translateY(-1px);box-shadow:0 14px 40px #0f172a1a}.daily-feature-card{color:#111827}.practice-library-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:16px}.practice-library-heading{flex:1 1 280px}.practice-library-heading h2{margin:0 0 4px;font-size:1.5rem;font-weight:800;color:var(--ct-text)}.practice-library-heading p{margin:0;font-size:.92rem;color:var(--ct-muted, #6b7280)}.practice-progress-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:8px 16px;border:1px solid var(--ct-border, rgba(148, 163, 184, .25));border-radius:10px;background:color-mix(in srgb,var(--ct-panel) 55%,transparent)}@media (max-width: 760px){.practice-progress-strip{flex-basis:100%;justify-content:space-between}}.practice-progress-item{display:inline-flex;align-items:baseline;gap:6px;font-size:.85rem;color:var(--ct-muted, #6b7280);white-space:nowrap}.practice-progress-item svg{align-self:center;font-size:.9rem}.practice-progress-item strong{font-size:1rem;font-weight:800;color:var(--ct-text)}.practice-progress-item.progress-streak svg{color:var(--ct-accent)}.practice-progress-item.progress-solved svg{color:var(--ct-success)}.practice-progress-item.progress-attempted svg{color:var(--ct-primary)}.practice-progress-item.progress-complete svg{color:var(--ct-primary)}.coding-subheading{font-size:1.05rem;font-weight:700;color:var(--ct-text)}.practice-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.practice-search{position:relative;display:flex;align-items:center;flex:1 1 260px;min-width:200px}.practice-filters-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--ct-border, rgba(148, 163, 184, .4));border-radius:10px;background:var(--ct-panel, #fff);color:var(--ct-text);font-size:.9rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease}.practice-filters-btn svg{font-size:.85rem}.practice-filters-btn:hover{border-color:color-mix(in srgb,var(--ct-primary) 35%,var(--ct-border))}.practice-filters-btn.has-active,.practice-filters-btn.is-open{border-color:var(--ct-primary);box-shadow:0 0 0 1px var(--ct-primary)}.practice-filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ct-accent);color:#fff;font-size:.72rem;font-weight:800}.practice-sort{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ct-muted, #6b7280)}.practice-sort .coding-select{width:auto;min-width:150px;padding:9px 12px}.practice-starter-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:12px 14px;border:1px solid color-mix(in srgb,#16a34a 26%,var(--ct-border));border-radius:12px;background:color-mix(in srgb,#16a34a 7%,var(--ct-panel))}.practice-starter-strip>div{display:grid;gap:2px;min-width:0}.practice-starter-strip strong{color:var(--ct-text);font-size:.9rem}.practice-starter-strip span{color:var(--ct-muted, #6b7280);font-size:.82rem;line-height:1.35}.practice-starter-strip button{flex:0 0 auto;padding:8px 12px;border:1px solid color-mix(in srgb,#16a34a 44%,var(--ct-border));border-radius:10px;background:var(--ct-panel);color:#15803d;font-size:.82rem;font-weight:800;cursor:pointer}.practice-starter-strip button.is-active{background:#16a34a;border-color:#16a34a;color:#fff}body.coding-dark .practice-filters-btn,body.coding-dark .practice-sort .coding-select,body.coding-dark .practice-starter-strip button{background:color-mix(in srgb,#ffffff 5%,var(--ct-panel));border-color:color-mix(in srgb,#ffffff 16%,var(--ct-border))}body.coding-dark .practice-starter-strip{background:color-mix(in srgb,#22c55e 8%,var(--ct-panel))}body.coding-dark .practice-starter-strip button{color:#86efac}body.coding-dark .practice-starter-strip button.is-active{background:#22c55e;border-color:#22c55e;color:#102015}.practice-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border:0;padding:0;background:#080f1e73;cursor:pointer;animation:practice-overlay-in .18s ease}@keyframes practice-overlay-in{0%{opacity:0}to{opacity:1}}.practice-drawer{position:fixed;top:0;right:0;z-index:1001;display:flex;flex-direction:column;width:min(420px,92vw);height:100vh;background:var(--ct-panel, #fff);border-left:1px solid var(--ct-border, rgba(148, 163, 184, .4));box-shadow:-16px 0 48px #080f1e38;animation:practice-drawer-in .22s cubic-bezier(.22,1,.36,1)}@keyframes practice-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.practice-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ct-border, rgba(148, 163, 184, .3))}.practice-drawer-head strong{font-size:1.1rem;font-weight:800;color:var(--ct-text)}.practice-drawer-close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--ct-muted, #6b7280);font-size:1.4rem;line-height:1;cursor:pointer}.practice-drawer-close:hover{background:color-mix(in srgb,var(--ct-muted, #6b7280) 12%,transparent);color:var(--ct-text)}.practice-drawer-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:22px}.practice-filter-group h4{margin:0 0 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ct-muted, #6b7280)}.practice-topic-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.practice-topic-head h4{margin:0}.practice-topic-search{position:relative;display:flex;align-items:center}.practice-topic-search svg{position:absolute;left:10px;font-size:.75rem;color:var(--ct-soft, #9aa3b2);pointer-events:none}.practice-topic-search input{width:150px;padding:6px 10px 6px 28px;border:1px solid var(--ct-border, rgba(148, 163, 184, .4));border-radius:8px;background:var(--ct-panel, #fff);color:var(--ct-text);font-size:.82rem}.practice-topic-search input:focus{outline:none;border-color:var(--ct-primary)}.practice-pill-row{display:flex;flex-wrap:wrap;gap:8px}.coding-app .practice-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--ct-border, rgba(148, 163, 184, .5))!important;border-radius:999px!important;background:var(--ct-panel, #fff);color:var(--ct-text);font-size:.84rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}.coding-app .practice-pill:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-primary) 55%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel));transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--ct-primary) 12%,transparent)!important}.coding-app .practice-pill:focus-visible{outline:none;border-color:var(--ct-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary) 20%,transparent)!important}.practice-pill-count{font-size:.72rem;font-weight:700;color:var(--ct-soft, #9aa3b2)}.coding-app .practice-pill.is-on{background:var(--ct-primary);border-color:var(--ct-primary)!important;color:#fff}.coding-app .practice-pill.is-on:before{content:"✓";font-size:.78rem;font-weight:800;line-height:1}.coding-app .practice-pill.is-on:hover:not(:disabled){background:var(--ct-primary)}.practice-pill.is-on .practice-pill-count{color:color-mix(in srgb,#fff 75%,var(--ct-primary))}.practice-pill.is-empty{opacity:.4}.practice-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--ct-border, rgba(148, 163, 184, .3));background:var(--ct-panel, #fff)}.practice-panel-clear{padding:8px 14px;border:0;background:transparent;color:var(--ct-primary);font-size:.86rem;font-weight:700;text-decoration:underline;cursor:pointer}.practice-panel-clear:disabled{color:var(--ct-soft, #9aa3b2);text-decoration:none;cursor:default}.practice-drawer-show{flex:1 1 auto;max-width:240px;padding:11px 20px;border:1px solid var(--ct-primary);border-radius:10px;background:var(--ct-primary);color:#fff;font-size:.9rem;font-weight:800;cursor:pointer;transition:background .15s ease}.practice-drawer-show:hover{background:var(--ct-primary-hover, color-mix(in srgb, var(--ct-primary) 85%, #000))}body.coding-dark .practice-drawer,body.coding-dark .practice-drawer-foot{background:var(--ct-panel-raised, var(--ct-panel))}body.coding-dark .practice-pill{background:color-mix(in srgb,#ffffff 5%,var(--ct-panel));border-color:color-mix(in srgb,#ffffff 18%,var(--ct-border))!important}body.coding-dark .practice-pill.is-on{background:var(--ct-accent);border-color:var(--ct-accent)!important;color:#11151c}body.coding-dark .practice-pill.is-on .practice-pill-count{color:color-mix(in srgb,#11151c 70%,var(--ct-accent))}.practice-search svg{position:absolute;left:14px;font-size:.85rem;color:var(--ct-muted, #6b7280);pointer-events:none}.practice-search input{width:100%;padding:8px 14px 8px 36px;border:1px solid var(--ct-border, rgba(148, 163, 184, .4));border-radius:10px;background:var(--ct-panel, #fff);color:var(--ct-text);font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}.practice-search input::placeholder{color:var(--ct-soft, #9aa3b2)}.practice-search input:hover{border-color:color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border))}.practice-search input:focus{outline:none;border-color:var(--ct-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary) 18%,transparent)}body.coding-dark .practice-search input{background:color-mix(in srgb,#ffffff 5%,var(--ct-panel));border-color:color-mix(in srgb,#ffffff 16%,var(--ct-border))}body.coding-dark .practice-search svg{color:var(--ct-soft, #a6b0c2)}body.coding-dark .practice-search input:focus{border-color:var(--ct-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent) 24%,transparent)}.coding-select:focus-visible{outline:none;border-color:var(--ct-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary) 18%,transparent)}.practice-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.practice-chips-count{font-size:.85rem;font-weight:700;color:var(--ct-muted, #6b7280)}.practice-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--ct-accent) 55%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-accent) 18%,var(--ct-panel));color:color-mix(in srgb,var(--ct-accent) 60%,var(--ct-text));font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.practice-chip span{font-size:1rem;line-height:1;color:var(--ct-accent)}.practice-chip:hover{background:color-mix(in srgb,var(--ct-accent) 28%,var(--ct-panel));border-color:var(--ct-accent)}body.coding-dark .practice-chip{background:color-mix(in srgb,var(--ct-accent) 22%,var(--ct-panel));border-color:color-mix(in srgb,var(--ct-accent) 50%,var(--ct-border));color:color-mix(in srgb,var(--ct-accent) 35%,var(--ct-text))}.practice-chips-clear{padding:5px 10px;border:0;background:transparent;color:var(--ct-primary);font-size:.8rem;font-weight:700;text-decoration:underline;cursor:pointer}.practice-topic-groups{display:flex;flex-direction:column;gap:22px}.practice-show-more-wrap{display:flex;justify-content:center;gap:10px;margin-top:20px}.practice-show-less{padding:10px 18px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ct-muted, #6b7280);font-size:.86rem;font-weight:700;cursor:pointer;transition:background .15s ease}.practice-show-less:hover{background:color-mix(in srgb,var(--ct-muted, #6b7280) 10%,transparent)}.practice-show-more{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border:1px solid color-mix(in srgb,var(--ct-primary) 32%,var(--ct-border));border-radius:10px;background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel));color:var(--ct-primary);font-size:.88rem;font-weight:700;cursor:pointer;transition:padding .15s ease,background .15s ease,border-color .15s ease}.practice-show-more:hover{padding:12px 26px;background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-panel));border-color:var(--ct-primary)}.practice-show-more span{font-size:.76rem;font-weight:600;color:var(--ct-muted, #6b7280)}body.coding-dark .practice-show-more{color:var(--ct-accent);border-color:color-mix(in srgb,var(--ct-accent) 35%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel))}body.coding-dark .practice-show-more:hover{background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel));border-color:var(--ct-accent)}body.coding-dark .practice-show-more span{color:var(--ct-soft, #a6b0c2)}.practice-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:22px;padding:12px 14px;border:1px solid var(--ct-border);border-radius:12px;background:color-mix(in srgb,var(--ct-panel) 92%,var(--ct-primary-soft))}.practice-pagination-summary{color:var(--ct-muted, #6b7280);font-size:.86rem;font-weight:650;white-space:nowrap}.practice-pagination-controls,.practice-page-slot{display:inline-flex;align-items:center;gap:6px}.practice-pagination-controls{justify-content:center;flex-wrap:wrap}.practice-page-btn{min-width:38px;height:38px;padding:0 12px;border:1px solid color-mix(in srgb,var(--ct-primary) 28%,var(--ct-border));border-radius:10px;background:var(--ct-panel);color:var(--ct-primary);font-size:.84rem;font-weight:750;cursor:pointer}.practice-page-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel));border-color:var(--ct-primary)}.practice-page-btn.is-active{background:var(--ct-primary);border-color:var(--ct-primary);color:#fff}.practice-page-btn:disabled{cursor:not-allowed;opacity:.48}.practice-page-gap{min-width:16px;color:var(--ct-muted, #6b7280);text-align:center;font-weight:700}body.coding-dark .practice-pagination{background:color-mix(in srgb,var(--ct-panel) 90%,var(--ct-accent) 10%)}body.coding-dark .practice-page-btn{color:var(--ct-accent);border-color:color-mix(in srgb,var(--ct-accent) 35%,var(--ct-border));background:color-mix(in srgb,var(--ct-panel) 92%,var(--ct-accent) 8%)}body.coding-dark .practice-page-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel));border-color:var(--ct-accent)}body.coding-dark .practice-page-btn.is-active{background:var(--ct-accent);border-color:var(--ct-accent);color:#101827}@media (max-width: 720px){.practice-starter-strip{align-items:stretch;flex-direction:column}.practice-starter-strip button{width:100%}.practice-pagination{align-items:stretch;flex-direction:column}.practice-pagination-controls{flex-wrap:wrap}.practice-pagination-summary{white-space:normal}}.practice-topic-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding-left:10px;border-left:3px solid var(--ct-accent)}.practice-topic-name{font-size:1.05rem;font-weight:800;text-transform:capitalize;color:var(--ct-text)}.practice-topic-dot{color:var(--ct-soft, #9aa3b2)}.practice-topic-meta{font-size:.85rem;font-weight:600;color:var(--ct-muted, #6b7280)}.practice-topic-count{padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--ct-success) 14%,var(--ct-panel));border:1px solid color-mix(in srgb,var(--ct-success) 30%,var(--ct-border));font-size:.72rem;font-weight:700;color:color-mix(in srgb,var(--ct-success) 55%,var(--ct-text))}.practice-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;border:1px dashed var(--ct-border-strong, rgba(148, 163, 184, .5));border-radius:16px;text-align:center;color:var(--ct-muted, #6b7280)}.practice-empty-state strong{font-size:1.05rem;color:var(--ct-text)}.practice-empty-state p{margin:0;font-size:.9rem}.practice-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.practice-empty-actions button{padding:8px 16px;border-radius:10px;font-weight:700;cursor:pointer}.practice-empty-primary{border:1px solid var(--ct-primary);background:var(--ct-primary);color:#fff}.practice-empty-secondary{border:1px solid var(--ct-border, rgba(148, 163, 184, .5));background:transparent;color:var(--ct-primary)}@media (max-width: 640px){.practice-progress-strip{width:100%;justify-content:space-between;border-radius:14px}.practice-toolbar{align-items:stretch}.practice-filters-btn,.practice-sort{flex:1 1 auto;justify-content:center}.practice-search{flex-basis:auto}}.quiz-bank-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.practice-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0}.practice-controls label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.8rem;font-weight:700;color:var(--ct-muted, #6b7280)}.coding-select{width:100%;min-width:130px;max-width:100%;padding:10px 12px;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#fff;box-shadow:inset 0 1px 2px #0f172a0a}@media (max-width: 1024px){.quiz-bank-header{flex-direction:column;align-items:stretch}.practice-controls{width:100%}.practice-controls label{flex:1 1 140px}}.daily-practice-btn{transition:all .2s ease}.daily-practice-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(66,133,244,.18);background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:750;box-shadow:0 12px 26px #1d4ed833}.coding-app .dashboard-daily .daily-actions{margin-top:10px}.coding-app .dashboard-daily .daily-practice-btn,.coding-app .dashboard-daily .daily-link{min-width:128px;min-height:46px;padding:12px 18px;border-radius:14px;font-size:.95rem}.coding-app .dashboard-daily .daily-link{border-color:#34a85347;background:linear-gradient(135deg,#34a85321,#4285f414);color:#166534}.coding-app .dashboard-daily .daily-link:after{content:">";margin-left:8px;font-size:.86rem}.daily-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:auto}.daily-meta-row,.problem-navigation{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.daily-meta-row{margin:12px 0 4px;color:#475569;font-weight:650}.daily-source-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:700;white-space:nowrap;color:var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--ct-accent) 36%,transparent)}.problem-navigation{margin:14px 0 12px}.problem-navigation-label{flex:1 1 100%;color:var(--ct-muted, #64748b);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase}.problem-navigation button{flex:1 1 110px;min-height:40px;border-radius:12px;border:1px solid rgba(66,133,244,.24);background:linear-gradient(135deg,#4285f424,#4285f40f);color:#1d4ed8;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #0f172a0f}.problem-navigation button:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#1d4ed861;color:#fff;box-shadow:0 12px 24px #1d4ed838}.problem-navigation button:disabled{cursor:not-allowed;opacity:.45}.starter-guidance-panel{padding:10px 12px;border-radius:12px;background:#4285f414;border:1px solid rgba(66,133,244,.16)}.starter-guidance-panel h3{margin:0 0 6px}.starter-guidance-panel p,.starter-guidance-panel ul{margin:0}.starter-guidance-panel ul{padding-left:18px;display:grid;gap:4px}.problem-constraints-card{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f8fafceb;border:1px solid rgba(148,163,184,.18)}.problem-constraints-card h3{margin:0}.problem-constraints-card ul{margin:0;padding-left:18px;display:grid;gap:6px}.problem-solution-link{display:inline-flex;align-items:center;align-self:start;gap:6px;margin-top:4px;padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 46%,var(--ct-border, rgba(148, 163, 184, .3)));background:transparent;color:var(--ct-text, #172033);font-weight:700;font-size:.88rem;text-decoration:none}.problem-solution-link:hover{transform:translateY(-1px);box-shadow:0 12px 24px color-mix(in srgb,var(--ct-accent, #f58220) 16%,transparent)}body.coding-dark .problem-solution-link{border-color:#e7a05b80;color:#f1e9dc}.problem-constraints-card li{line-height:1.45;overflow-wrap:anywhere}.daily-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fffffff0;color:#1e3a8a;text-decoration:none;font-weight:700;box-shadow:0 8px 18px #0f172a0d}.daily-practice-btn.secondary{background:#f8fafcfa;border-color:#4285f433;color:#1e3a8a;box-shadow:0 8px 18px #0f172a0d}.daily-practice-btn:hover,.daily-practice-btn.secondary:hover,.daily-link:hover{transform:translateY(-1px);box-shadow:0 12px 26px #1d4ed82e}.daily-practice-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.campus-daily-mission.is-loading .daily-skeleton-title,.campus-daily-mission.is-loading .daily-skeleton-pill{background:linear-gradient(90deg,color-mix(in srgb,var(--ct-border) 55%,transparent) 25%,color-mix(in srgb,var(--ct-border) 20%,transparent),color-mix(in srgb,var(--ct-border) 55%,transparent) 75%);background-size:200% 100%;border-radius:8px;color:transparent;animation:daily-skeleton-shimmer 1.4s ease-in-out infinite}.campus-daily-mission.is-loading .daily-skeleton-title{width:min(60%,320px)}.campus-daily-mission.is-loading .daily-skeleton-pill{width:72px;border-radius:999px}@keyframes daily-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.quiz-problem-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-bottom:0;min-height:0;border-radius:14px;border:1px solid var(--ct-border, rgba(148, 163, 184, .28));border-left:3px solid color-mix(in srgb,var(--ct-muted, #94a3b8) 30%,var(--ct-border));border-top:3px solid transparent;background:var(--ct-panel, #fff);box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0f172a0d;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.quiz-problem-card.status-not_started{border-left-color:color-mix(in srgb,var(--ct-muted, #94a3b8) 35%,var(--ct-border))}.quiz-problem-card.status-in_progress{border-left-color:var(--ct-accent)}.quiz-problem-card.status-solved{border-left-color:var(--ct-success)}.quiz-problem-card.is-recommended{border-top-color:var(--ct-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ct-accent) 35%,transparent),0 8px 20px color-mix(in srgb,var(--ct-primary) 10%,transparent)}.quiz-problem-card:hover{border-color:color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border));border-top-color:var(--ct-accent);transform:translateY(-3px);box-shadow:0 14px 30px color-mix(in srgb,var(--ct-primary) 18%,transparent)}.quiz-problem-card:focus-visible{outline:none;border-top-color:var(--ct-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary) 18%,transparent)}.quiz-problem-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quiz-problem-name{font-size:1.02rem;font-weight:750;line-height:1.25;color:var(--ct-text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quiz-problem-desc{margin:0;font-size:.82rem;line-height:1.45;height:calc(.82rem * 1.45 * 2);color:var(--ct-muted, #6b7280);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quiz-status-pill{flex:0 0 auto;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.quiz-status-pill.status-not_started{background:transparent;color:var(--ct-soft, #9aa3b2);border-color:transparent;font-weight:600}.quiz-status-pill.status-in_progress{background:color-mix(in srgb,var(--ct-accent) 20%,var(--ct-panel));color:color-mix(in srgb,var(--ct-accent) 70%,var(--ct-text));border-color:color-mix(in srgb,var(--ct-accent) 50%,var(--ct-border))}.quiz-status-pill.status-solved{background:color-mix(in srgb,var(--ct-success) 20%,var(--ct-panel));color:color-mix(in srgb,var(--ct-success) 65%,var(--ct-text));border-color:color-mix(in srgb,var(--ct-success) 50%,var(--ct-border))}.quiz-problem-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.quiz-tag{padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:650;background:color-mix(in srgb,var(--ct-primary) 7%,var(--ct-panel-soft, #eef));color:var(--ct-muted, #6b7280);white-space:nowrap}.quiz-tag-difficulty.diff-easy{background:color-mix(in srgb,#22c55e 18%,transparent);color:#15803d}.quiz-tag-difficulty.diff-medium{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#b45309}.quiz-tag-difficulty.diff-hard{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}body.coding-dark .quiz-tag-difficulty.diff-easy{color:#5ee69a}body.coding-dark .quiz-tag-difficulty.diff-medium{color:#f1b551}body.coding-dark .quiz-tag-difficulty.diff-hard{color:#f4807d}.quiz-problem-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--ct-border) 60%,transparent)}.quiz-foot-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}.quiz-lang-pills{display:flex;flex-wrap:nowrap;gap:4px;opacity:0;max-width:0;overflow:hidden;transition:opacity .18s ease,max-width .18s ease}.quiz-problem-card:hover .quiz-lang-pills,.quiz-problem-card:focus-visible .quiz-lang-pills,.quiz-problem-card:focus-within .quiz-lang-pills{opacity:1;max-width:220px}@media (hover: none){.quiz-lang-pills{opacity:1;max-width:220px}}.quiz-lang-pill{padding:2px 7px;border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel-soft, #eef));color:color-mix(in srgb,var(--ct-primary) 62%,var(--ct-text));border:1px solid color-mix(in srgb,var(--ct-primary) 12%,var(--ct-border))}.quiz-lang-pill.is-muted{background:transparent;color:var(--ct-soft, #9aa3b2);border-color:var(--ct-border);opacity:.6}.quiz-problem-action{flex:0 0 auto;padding:5px 14px;border-radius:8px;border:1px solid var(--ct-primary);background:transparent;color:var(--ct-primary);font-size:.78rem;font-weight:700;transition:background .15s ease,color .15s ease,border-color .15s ease}.quiz-problem-card:hover .quiz-problem-action,.quiz-problem-card:focus-visible .quiz-problem-action{background:var(--ct-accent);border-color:var(--ct-accent);color:#fff}body.coding-dark .quiz-problem-card.status-not_started .quiz-problem-action,body.coding-dark .quiz-problem-card.status-in_progress .quiz-problem-action{background:#2f6fd6;border-color:#2f6fd6;color:#fff}.quiz-insight-panel{padding:20px;display:grid;gap:18px}.quiz-bank-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px}.coding-app .quiz-bank-page .quiz-library{background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important}.coding-app .quiz-bank-page .quiz-library:before{display:none!important}.quiz-bank-page .quiz-insight-panel{align-self:start;position:sticky;top:88px;max-height:calc(100vh - 108px);overflow-y:auto;border-radius:18px!important;padding:18px 20px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel)),var(--ct-panel))!important;border:1px solid color-mix(in srgb,var(--ct-accent) 26%,var(--ct-border))!important;border-top:3px solid var(--ct-accent)!important;box-shadow:0 12px 28px #0f172a14!important}@media (max-width: 1180px){.quiz-bank-page .quiz-insight-panel{position:static;max-height:none;overflow:visible}}.quiz-bank-page .quiz-insight-panel:before{display:none!important}.practice-guide-title{font-size:1.1rem;font-weight:800;color:var(--ct-primary);margin-bottom:4px}body.coding-dark .practice-guide-title{color:var(--ct-text)}.practice-guide-section h3{margin:0 0 8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ct-muted, #6b7280)}.practice-guide-section p{margin:0;font-size:.85rem;color:var(--ct-muted, #6b7280)}.practice-guide-weakest{margin:0;padding:10px 12px;border-left:3px solid var(--ct-accent);border-radius:8px;background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel));font-size:.84rem;line-height:1.4;color:var(--ct-muted, #6b7280)}.practice-guide-weakest strong{color:var(--ct-text)}.practice-guide-focus{padding:11px 12px 12px;border-left:3px solid var(--ct-accent);border-radius:8px;background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel))}.practice-guide-weakest.is-mastery{display:flex;align-items:center;gap:6px;padding:0;border-left:0;border-radius:0;background:none;font-size:.95rem}.practice-guide-weakest.is-mastery strong{font-size:.95rem;line-height:1.2}.practice-guide-focus-cta{display:block;width:100%;margin-top:2px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--ct-accent) 45%,transparent);border-radius:7px;background:transparent;color:var(--ct-accent);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.practice-guide-focus-cta:hover{background:color-mix(in srgb,var(--ct-accent) 12%,transparent);border-color:var(--ct-accent)}.practice-guide-focus-cta:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.practice-guide-reason{margin:8px 0 10px;font-size:.82rem;line-height:1.45;color:var(--ct-muted, #6b7280)}.practice-guide-patterns{display:grid;gap:8px;margin:0;padding:0;list-style:none}.practice-guide-patterns li{display:grid;gap:5px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--ct-primary) 18%,var(--ct-border));border-radius:8px;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel))}.practice-guide-pattern-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.practice-guide-pattern-head strong{min-width:0;color:var(--ct-text);font-size:.82rem;line-height:1.2}.practice-guide-pattern-head span{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-panel-soft));color:var(--ct-primary);font-size:.68rem;font-weight:800;font-variant-numeric:tabular-nums}.practice-guide-patterns small,.practice-guide-unlocked-note{color:var(--ct-muted);font-size:.78rem;line-height:1.35}.practice-guide-patterns small{display:block}.practice-guide-topics{margin-top:4px}.practice-guide-topics>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:7px 0;list-style:none;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-muted, #6b7280);border-top:1px solid var(--ct-border, rgba(148, 163, 184, .25))}.practice-guide-topics>summary::-webkit-details-marker{display:none}.practice-guide-topics>summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s ease;flex:none}.practice-guide-topics[open]>summary:after{transform:rotate(-135deg) translate(-2px,-2px)}.practice-guide-topics>summary:hover,.practice-guide-topics>summary:focus-visible{color:var(--ct-text)}.practice-guide-topics-count{margin-left:auto;margin-right:4px;padding:1px 6px;border-radius:999px;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--ct-muted, #6b7280);background:color-mix(in srgb,currentColor 10%,transparent)}.practice-guide-topics[open] .practice-guide-progress{max-height:260px;overflow-y:auto;padding-right:4px;padding-bottom:4px}.practice-mastery-band{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid transparent}.practice-mastery-band.is-strong{color:#15803d;background:color-mix(in srgb,#22c55e 14%,transparent);border-color:color-mix(in srgb,#22c55e 35%,transparent)}.practice-mastery-band.is-steady{color:#1d4ed8;background:color-mix(in srgb,#3b82f6 14%,transparent);border-color:color-mix(in srgb,#3b82f6 35%,transparent)}.practice-mastery-band.is-shaky{color:#b45309;background:color-mix(in srgb,#f59e0b 16%,transparent);border-color:color-mix(in srgb,#f59e0b 38%,transparent)}.practice-mastery-band.is-weak{color:#b91c1c;background:color-mix(in srgb,#ef4444 14%,transparent);border-color:color-mix(in srgb,#ef4444 35%,transparent)}body.coding-dark .practice-mastery-band.is-strong{color:#4ade80}body.coding-dark .practice-mastery-band.is-steady{color:#60a5fa}body.coding-dark .practice-mastery-band.is-shaky{color:#fbbf24}body.coding-dark .practice-mastery-band.is-weak{color:#f87171}.practice-guide-chips{display:flex;flex-wrap:wrap;gap:6px}.practice-guide-chips span{padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:650;background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel-soft, #eef));color:var(--ct-muted, #6b7280)}.practice-guide-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.practice-guide-progress li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--ct-text)}.practice-guide-progress strong{font-size:.76rem;font-weight:700;color:var(--ct-success);white-space:nowrap}.practice-guide-viewall{margin-top:10px;width:100%;padding:9px 14px;border:1px solid color-mix(in srgb,var(--ct-primary) 30%,var(--ct-border));border-radius:10px;background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel));color:var(--ct-primary);font-size:.82rem;font-weight:700;cursor:pointer;transition:padding .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.practice-guide-viewall:hover{padding:12px 14px;background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-panel));border-color:var(--ct-primary)}body.coding-dark .practice-guide-viewall{color:var(--ct-accent);border-color:color-mix(in srgb,var(--ct-accent) 35%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel))}body.coding-dark .practice-guide-viewall:hover{background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel));border-color:var(--ct-accent)}.practice-guide-mistakes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.practice-guide-mistakes li{font-size:.82rem;color:var(--ct-muted, #6b7280)}body.coding-dark .quiz-bank-page .quiz-insight-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-accent) 14%,var(--ct-panel)),var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-border))!important;box-shadow:0 12px 28px #0000004d!important}.quiz-bank-page .quiz-bank-layout{margin-top:0}.quiz-bank-page .quiz-bank-header{margin-bottom:22px}.quiz-bank-page,.progress-page{max-width:2200px;width:100%;margin:0 auto}@media (max-width: 1180px){.quiz-bank-layout{grid-template-columns:1fr}}.coding-problem-panel,.coding-editor-center{border-radius:18px;box-shadow:0 10px 30px #0f172a0f;background:#fffffff5}.coding-problem-content,.coding-problem-empty{padding:14px}.coding-editor-center{display:flex;flex-direction:column;gap:7px;padding:10px 12px;overflow:visible;min-height:0}.coding-editor-center .coding-pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}.coding-editor-center .coding-pane-header>div{display:flex;align-items:baseline;gap:8px;line-height:1.1}.coding-pane-header h2{font-size:1rem;margin:0}.coding-editor-center .coding-kicker{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.workspace-tabs{flex:0 0 auto}.workspace-tab-body{flex:0 0 auto;min-height:0}.workspace-discussion-thread{display:flex;flex-direction:column;gap:.85rem}.workspace-discussion-message{max-width:min(88%,820px);border:1px solid var(--ct-border);border-radius:16px;padding:.85rem 1rem;background:var(--ct-panel-soft);color:var(--ct-text)}.workspace-discussion-message.user{align-self:flex-end;max-width:min(82%,760px);background:color-mix(in srgb,var(--ct-primary-soft) 72%,var(--ct-panel));border-color:color-mix(in srgb,var(--ct-primary) 42%,var(--ct-border))}.workspace-discussion-message.bot{align-self:flex-start}.workspace-discussion-speaker{display:block;margin-bottom:.35rem;color:var(--ct-muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.workspace-discussion-message p:last-child{margin-bottom:0}.leetcode-editor{flex:0 0 auto;min-height:clamp(260px,calc(100vh - 470px),460px);max-height:none;font-family:Cascadia Code,Fira Code,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.55}.terminal-status.passed{color:#86efac}.terminal-status.failed,.terminal-status.error{color:#fca5a5}.terminal-status.running{color:#bfdbfe}.floating-coding-chat{position:fixed;z-index:1300;touch-action:none;transition:left .22s cubic-bezier(.22,1,.36,1),top .22s cubic-bezier(.22,1,.36,1)}.floating-coding-chat.dragging{transition:none}@media (prefers-reduced-motion: reduce){.floating-coding-chat{transition:none}}.floating-coding-chat.closed,.floating-coding-chat.open{right:auto;bottom:auto}.floating-coding-chat.dragging{cursor:grabbing}.floating-chat-button{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border:1px solid rgba(66,133,244,.26);border-radius:999px;background:#1d4ed8;color:#fff;box-shadow:0 18px 44px #1d4ed83d;cursor:pointer;font-weight:650;-webkit-user-select:none;user-select:none;touch-action:none}.floating-chat-button svg{width:18px;height:18px}.floating-chat-window{width:380px;height:520px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:20px;border:1px solid rgba(148,163,184,.25);background:#fffffffa;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.floating-chat-window.maximized{width:min(900px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px));max-height:calc(100vh - 48px)}.floating-chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.floating-chat-header strong{display:block;color:#111827;font-size:.98rem;line-height:1.25}.floating-chat-window-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.floating-chat-control,.floating-chat-icon-btn,.floating-chat-send,.floating-attachment-preview button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.24);background:#f8fafcf2;color:#334155;cursor:pointer}.floating-chat-control{flex:0 0 32px;width:32px;height:32px;border-radius:999px}.floating-chat-control.danger{color:#b91c1c}.floating-chat-window .ai-status-card{flex:0 0 auto;min-height:0;padding:12px;border-radius:14px;border:1px solid rgba(66,133,244,.14);background:#4285f40f}.floating-chat-window .ai-status-card dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:8px 0 0}.floating-chat-window .ai-status-card dt,.floating-chat-window .ai-status-card dd{font-size:.78rem}.floating-focus-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:4px 2px 8px}.floating-focus-chip{border-radius:999px;padding:7px 18px;white-space:nowrap;border:1px solid color-mix(in srgb,var(--ct-primary, #002d72) 45%,transparent);background:color-mix(in srgb,var(--ct-primary, #002d72) 10%,transparent);color:var(--ct-primary, #002d72);cursor:pointer;font-size:.84rem;font-weight:700;flex:0 0 auto;transition:background .14s ease,color .14s ease,border-color .14s ease}.floating-focus-chip:hover:not(:disabled),.floating-focus-chip.active{background:color-mix(in srgb,var(--ct-accent, #f58220) 16%,transparent);border-color:color-mix(in srgb,var(--ct-accent, #f58220) 60%,transparent);color:color-mix(in srgb,var(--ct-accent, #f58220) 82%,#000)}.floating-rewrite-langs{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.floating-rewrite-lang{border-radius:999px;padding:4px 10px;border:1px dashed color-mix(in srgb,var(--ct-primary, #002d72) 40%,transparent);background:transparent;color:var(--ct-muted, #5b6472);cursor:pointer;font-size:.75rem;font-weight:600;flex:0 0 auto;transition:background .14s ease,color .14s ease,border-color .14s ease}.floating-rewrite-lang:hover:not(:disabled){background:color-mix(in srgb,var(--ct-accent, #f58220) 14%,transparent);border-color:var(--ct-accent, #f58220);border-style:solid;color:color-mix(in srgb,var(--ct-accent, #f58220) 82%,#000)}body.coding-dark .floating-focus-chip{border-color:color-mix(in srgb,var(--ct-primary, #789dca) 55%,transparent);background:color-mix(in srgb,var(--ct-primary, #789dca) 18%,transparent);color:color-mix(in srgb,var(--ct-primary, #789dca) 80%,#fff)}body.coding-dark .floating-focus-chip:hover:not(:disabled),body.coding-dark .floating-focus-chip.active{background:color-mix(in srgb,var(--ct-accent, #e7a05b) 24%,transparent);border-color:var(--ct-accent, #e7a05b);color:color-mix(in srgb,var(--ct-accent, #e7a05b) 88%,#fff)}body.coding-dark .floating-rewrite-lang{color:var(--ct-muted, #b7c1cf)}.floating-code-indicator{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin:0 0 6px 2px;padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:600;color:color-mix(in srgb,var(--ct-success, #16a34a) 85%,var(--ct-text, #1f2937));background:color-mix(in srgb,var(--ct-success, #16a34a) 12%,transparent);border:1px solid color-mix(in srgb,var(--ct-success, #16a34a) 32%,transparent)}.floating-code-indicator:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--ct-success, #16a34a)}.floating-code-actions{display:grid;gap:8px;padding:0 2px 8px}.floating-apply-code-btn,.floating-undo-code-btn{justify-self:center;border:1px solid color-mix(in srgb,var(--ct-primary, #002d72) 36%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ct-primary, #002d72) 10%,transparent);color:var(--ct-primary, #002d72);cursor:pointer;font-size:.82rem;font-weight:800;padding:7px 14px}.floating-undo-code-btn{border-color:color-mix(in srgb,var(--ct-accent, #f58220) 48%,transparent);background:color-mix(in srgb,var(--ct-accent, #f58220) 12%,transparent);color:color-mix(in srgb,var(--ct-accent, #f58220) 82%,#000)}.floating-apply-preview{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--ct-primary, #002d72) 18%,transparent);border-radius:10px;background:color-mix(in srgb,var(--ct-primary, #002d72) 5%,#fff)}.floating-apply-preview-head,.floating-apply-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.floating-apply-preview-head{justify-content:space-between}.floating-apply-preview-head strong{font-size:.82rem}.floating-apply-preview button{border:1px solid color-mix(in srgb,var(--ct-primary, #002d72) 28%,transparent);border-radius:8px;background:#fff;color:var(--ct-primary, #002d72);cursor:pointer;font-size:.76rem;font-weight:750;padding:5px 8px}.floating-apply-preview button.danger{border-color:#b91c1c47;color:#b91c1c}.floating-apply-preview pre{max-height:220px;margin:0;overflow:auto;padding:9px;border-radius:8px;background:#07162b;color:#e7eef8;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.floating-apply-preview pre code{color:#e7eef8!important;-webkit-text-fill-color:#e7eef8!important}body.coding-dark .floating-apply-code-btn{border-color:color-mix(in srgb,var(--ct-primary, #789dca) 48%,transparent);background:color-mix(in srgb,var(--ct-primary, #789dca) 18%,transparent);color:color-mix(in srgb,var(--ct-primary, #789dca) 84%,#fff)}body.coding-dark .floating-undo-code-btn{border-color:color-mix(in srgb,var(--ct-accent, #e7a05b) 52%,transparent);background:color-mix(in srgb,var(--ct-accent, #e7a05b) 20%,transparent);color:color-mix(in srgb,var(--ct-accent, #e7a05b) 88%,#fff)}body.coding-dark .floating-apply-preview{border-color:#94a3b838;background:#0f172af5}body.coding-dark .floating-apply-preview button{border-color:#94a3b847;background:#1e293bf5;color:#dbeafe}body.coding-dark .floating-apply-preview button.danger{border-color:#f8717159;color:#fecaca}.floating-focus-chip:disabled,.floating-chat-send:disabled,.floating-chat-icon-btn:disabled{opacity:.55;cursor:not-allowed}.floating-chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:16px;background:#f7f8faeb;border:1px solid var(--ct-border)}.floating-chat-message{max-width:92%;padding:9px 11px;border-radius:14px;font-size:.86rem;line-height:1.42;overflow-wrap:anywhere}.floating-chat-message.user{align-self:flex-end;background:#4285f424;color:#1e3a8a}.floating-chat-message.bot{align-self:flex-start;background:#fff;color:#111827;border:1px solid var(--ct-border)}.floating-chat-message.bot pre,.floating-chat-message.bot code,.floating-chat-message.bot blockquote,.floating-chat-message.bot table{background:#0f172a0f;border:1px solid var(--ct-border);color:#111827}.floating-chat-message.bot pre{padding:10px;border-radius:10px;overflow-x:auto}.floating-chat-message.bot code{border-radius:6px;padding:1px 4px}.floating-chat-message p{margin:0 0 .5rem}.floating-chat-message p:last-child{margin-bottom:0}.floating-chat-empty{margin:auto;max-width:280px;color:var(--ct-muted, #64748b);text-align:center;font-size:.88rem}.floating-chat-empty strong{display:block;margin-bottom:6px;font-size:.98rem;color:var(--ct-text, #1f2937)}.floating-chat-empty p{margin:0;line-height:1.45}.floating-thinking-steps{display:grid;gap:7px;min-width:220px}.floating-thinking-step{display:flex;align-items:center;gap:8px;color:#475569;font-size:.82rem}.floating-thinking-step.active{color:#1d4ed8;font-weight:650}.floating-thinking-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid rgba(66,133,244,.24);background:#4285f414;color:#1d4ed8;font-size:.72rem}.floating-thinking-step.active .floating-thinking-check{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 0 0 4px #2563eb1f}.floating-chat-form{flex:0 0 auto;display:grid;gap:8px}.floating-attachment-preview{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border-radius:12px;background:#4285f414;color:#1f2937;font-size:.82rem}.floating-attachment-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-attachment-preview button{flex:0 0 26px;width:26px;height:26px;border-radius:999px}.floating-chat-input-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px}.floating-chat-icon-btn,.floating-chat-send{width:38px;height:38px;border-radius:999px}.floating-chat-input-row textarea{min-height:42px;max-height:120px;resize:vertical;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:#fffffff5;padding:10px 12px;font:inherit;color:#111827}.floating-chat-send{color:#1d4ed8;font-size:1.25rem}.coding-terminal.expanded{min-height:150px}.quiz-problem-card strong,.daily-feature-card strong{font-weight:650}@media (max-width: 1180px){.coding-dashboard-prompts{width:100%}}@media (max-width: 900px){.coding-app-content{grid-row:2}.coding-workbench{grid-template-columns:1fr;grid-template-rows:auto}.leetcode-editor{min-height:clamp(280px,calc(100vh - 500px),480px);max-height:none}.practice-progress-overview{grid-template-columns:1fr}.progress-overview-stats{white-space:normal}}@media (max-width: 700px){.coding-workbench-main{grid-template-columns:1fr}}@media (max-width: 640px){.coding-app,.coding-app.coding-workspace-active,.coding-app.mini-sidebar-collapsed{grid-template-columns:1fr!important;padding:12px 8px!important;gap:8px!important;overflow-x:hidden!important}.coding-app-main,.coding-app-content,.coding-workbench,.coding-workbench-main,.quiz-bank-layout{grid-template-columns:1fr!important;min-width:0!important;max-width:100%!important}.coding-app *{max-width:100%}.coding-workbench-main{min-height:0!important}body.coding-dark .coding-nav-mobile-toggle{color:var(--ct-text, #e5e7eb)}}body.coding-dark .coding-app{--ct-blue: #8ab4f8;--ct-blue-strong: #60a5fa;--ct-green: #86efac;--ct-red: #fca5a5;--ct-gold: #facc15;background:var(--ct-bg);color:var(--ct-text)}body.coding-dark .coding-app h1,body.coding-dark .coding-app h2,body.coding-dark .coding-app h3,body.coding-dark .coding-app strong,body.coding-dark .coding-app p,body.coding-dark .coding-app li,body.coding-dark .coding-app span,body.coding-dark .coding-app small,body.coding-dark .coding-app label{color:inherit}body.coding-dark .coding-app small,body.coding-dark .coding-app .coding-kicker{color:var(--ct-muted)}body.coding-dark .coding-section-nav,body.coding-dark .practice-progress-overview,body.coding-dark .daily-feature-card,body.coding-dark .coding-page-panel,body.coding-dark .quiz-library,body.coding-dark .quiz-insight-panel,body.coding-dark .quiz-problem-card,body.coding-dark .coding-problem-panel,body.coding-dark .coding-editor-center,body.coding-dark .workspace-hints-panel,body.coding-dark .workspace-discussion-panel,body.coding-dark .workspace-hidden-panel,body.coding-dark .ai-status-card,body.coding-dark .floating-chat-window,body.coding-dark .floating-chat-message.bot{background:var(--ct-surface);border-color:var(--ct-border);color:var(--ct-text);box-shadow:0 18px 42px #00000057}body.coding-dark .coding-editor-center,body.coding-dark .coding-problem-panel,body.coding-dark .quiz-library,body.coding-dark .coding-page-panel{background:var(--ct-surface-strong)}body.coding-dark .coding-section-nav button{color:var(--ct-text)}body.coding-dark .coding-nav-icon,body.coding-dark .daily-meta-row span,body.coding-dark .workspace-tabs button,body.coding-dark .floating-chat-action{background:#60a5fa1f;border-color:#60a5fa3d;color:var(--ct-blue)}body.coding-dark .coding-section-nav button:hover,body.coding-dark .coding-section-nav button:focus-visible,body.coding-dark .coding-section-nav button.active,body.coding-dark .workspace-tabs button.active,body.coding-dark .floating-chat-action:hover:not(:disabled){background:#60a5fa33;border-color:var(--ct-border-strong);color:#dbeafe}body.coding-dark .coding-section-nav button.active,body.coding-dark .workspace-tabs button.active{box-shadow:0 12px 28px #2563eb2e}body.coding-dark .coding-nav-workspace-toggle{color:var(--ct-green)!important}body.coding-dark .coding-select,body.coding-dark .coding-app textarea,body.coding-dark .floating-chat-input-row textarea,body.coding-dark .leetcode-editor{background:#020617b8;border-color:var(--ct-border);color:var(--ct-text);caret-color:var(--ct-blue)}body.coding-dark .coding-select{color-scheme:dark}body.coding-dark .coding-app textarea::placeholder,body.coding-dark .floating-chat-input-row textarea::placeholder{color:var(--ct-faint)}body.coding-dark .coding-prompt-card,body.coding-dark .save-quiz-pdf-btn,body.coding-dark .daily-practice-btn,body.coding-dark .daily-link,body.coding-dark .coding-progress-stats div,body.coding-dark .problem-example,body.coding-dark .problem-constraints-card,body.coding-dark .floating-chat-control,body.coding-dark .floating-chat-send,body.coding-dark .floating-chat-button{background:var(--ct-surface-soft);border-color:var(--ct-border);color:var(--ct-text)}body.coding-dark .coding-prompt-card.blue,body.coding-dark .coding-prompt-card.red,body.coding-dark .coding-prompt-card.gold{background:linear-gradient(90deg,rgba(96,165,250,.28) 0 4px,transparent 4px),var(--ct-surface)}body.coding-dark .coding-prompt-card.red{background:linear-gradient(90deg,rgba(248,113,113,.3) 0 4px,transparent 4px),var(--ct-surface)}body.coding-dark .coding-prompt-card.gold{background:linear-gradient(90deg,rgba(250,204,21,.32) 0 4px,transparent 4px),var(--ct-surface)}body.coding-dark .daily-feature-card.dashboard-daily{background:linear-gradient(90deg,var(--ct-gold) 0 3px,transparent 3px),linear-gradient(180deg,rgba(96,165,250,.16),transparent 38%),var(--ct-surface-strong)}body.coding-dark .progress-bar{background:#94a3b82e}body.coding-dark .progress-bar span{background:linear-gradient(90deg,#8ab4f8,#22d3ee)}body.coding-dark .terminal-status.passed{color:var(--ct-green)}body.coding-dark .terminal-status.running{color:var(--ct-gold)}body.coding-dark .terminal-status.failed,body.coding-dark .terminal-status.error{color:var(--ct-red)}body.coding-dark .floating-chat-action:disabled{background:#3341559e;border-color:#64748b47;color:#7c8aa3}body.coding-dark .floating-chat-button,body.coding-dark .floating-chat-send,body.coding-dark .daily-practice-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#93c5fd52;color:#fff}body.coding-dark .coding-app .dashboard-daily .daily-link{background:linear-gradient(135deg,#22c55e3d,#3b82f629);border-color:#86efac57;color:#dcfce7}body.coding-dark .problem-constraints-card{background:#0f172ab8;border-color:#94a3b83d;color:var(--ct-text)}body.coding-dark .daily-practice-btn.secondary,body.coding-dark .daily-link,body.coding-dark .problem-navigation button{background:#1e293be0;border-color:#94a3b847;color:#dbeafe;box-shadow:0 10px 24px #00000038}body.coding-dark .problem-navigation button:hover:not(:disabled),body.coding-dark .daily-practice-btn.secondary:hover,body.coding-dark .daily-link:hover{background:#60a5fa33;border-color:#93c5fd61;color:#fff}body.coding-dark .floating-chat-message.user{background:#2563ebd1;color:#fff}body.coding-dark .floating-chat-window .ai-status-card,body.coding-dark .floating-chat-message.bot{background:#0f172af5;border-color:#94a3b847;color:#e5e7eb}body.coding-dark .floating-chat-message.bot pre,body.coding-dark .floating-chat-message.bot code,body.coding-dark .floating-chat-message.bot blockquote,body.coding-dark .floating-chat-message.bot table{background:#020617f0;border-color:#60a5fa3d;color:#dbeafe}body.coding-dark .floating-chat-message.bot a{color:#93c5fd}body.coding-dark .floating-chat-messages{background:#02061794;border-color:#94a3b838}.coding-page-panel,.daily-feature-card,.quiz-library,.quiz-insight-panel,.practice-progress-overview,.coding-problem-panel,.coding-editor-center,.quiz-problem-card,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.floating-chat-window,.floating-chat-message.bot{background:color-mix(in srgb,var(--ct-panel) 94%,transparent)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;box-shadow:var(--shadow-lg)!important}.coding-app h1,.coding-app h2,.coding-app h3,.coding-app strong,.coding-app .coding-kicker{color:var(--ct-text)}.coding-app p,.coding-app li,.coding-app small,.coding-app label,.daily-meta-row span{color:var(--ct-muted)}.coding-section-nav button,.workspace-tabs button,.floating-chat-action,.problem-navigation button,.daily-link,.daily-practice-btn.secondary,.save-quiz-pdf-btn{background:color-mix(in srgb,var(--ct-panel-soft) 82%,transparent)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}.coding-section-nav button:hover,.coding-section-nav button:focus-visible,.workspace-tabs button:hover,.floating-chat-action:hover:not(:disabled),.problem-navigation button:hover:not(:disabled),.daily-link:hover,.daily-practice-btn.secondary:hover,.save-quiz-pdf-btn:hover{background:var(--ct-primary-soft)!important;border-color:color-mix(in srgb,var(--ct-primary) 42%,var(--ct-border))!important;color:var(--ct-primary)!important}.coding-section-nav button.active,.workspace-tabs button.active{background:linear-gradient(135deg,var(--ct-primary-soft),var(--ct-accent-soft))!important;border-color:color-mix(in srgb,var(--ct-primary) 52%,var(--ct-border))!important;color:var(--ct-primary)!important}.coding-nav-icon{background:var(--ct-primary-soft)!important;color:var(--ct-primary)!important}.coding-prompt-card{background:color-mix(in srgb,var(--ct-panel) 96%,transparent)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}.coding-prompt-card.blue{border-left-color:var(--ct-primary)!important;color:var(--ct-primary)!important}.coding-prompt-card.red{border-left-color:var(--ct-danger)!important}.coding-prompt-card.gold{border-left-color:var(--ct-warning)!important}.daily-feature-card.dashboard-daily{background:linear-gradient(135deg,var(--ct-primary-soft),var(--ct-accent-soft)),var(--ct-panel)!important;border-top-color:var(--ct-primary)!important}.daily-practice-btn,.floating-chat-button,.floating-chat-send{background:linear-gradient(135deg,var(--ct-primary),var(--ct-primary-hover))!important;border-color:color-mix(in srgb,var(--ct-primary) 72%,transparent)!important;color:#fff!important;box-shadow:0 12px 26px color-mix(in srgb,var(--ct-primary) 24%,transparent)!important}.coding-select,.coding-app textarea,.floating-chat-input-row textarea{background:var(--ct-panel-soft)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}.leetcode-editor{background:var(--ct-editor-bg)!important;color:var(--ct-editor-text)!important;border-color:color-mix(in srgb,var(--ct-primary) 22%,var(--ct-border))!important}.problem-example,.problem-constraints-card,.coding-progress-stats div{background:color-mix(in srgb,var(--ct-panel-soft) 88%,transparent)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}.terminal-status.passed{color:var(--ct-success)!important}.terminal-status.running{color:var(--ct-warning)!important}.terminal-status.failed,.terminal-status.error{color:var(--ct-danger)!important}body.coding-dark .coding-app{--ct-editor-bg: #020617;--ct-editor-text: #e5edf7;--ct-terminal-bg: #050816;--ct-terminal-text: #dbeafe}body.coding-dark .floating-chat-window{background:linear-gradient(135deg,color-mix(in srgb,var(--ct-panel) 88%,transparent),color-mix(in srgb,var(--ct-panel-raised) 88%,transparent))!important}body.coding-dark .floating-chat-message.user{background:linear-gradient(135deg,var(--ct-primary),var(--ct-accent))!important;color:#07111f!important}.coding-app{--ct-primary: var(--primary);--ct-primary-hover: var(--primary-hover);--ct-primary-soft: var(--primary-soft);--ct-accent: var(--accent);--ct-accent-soft: var(--accent-soft);background:var(--ct-bg)}.coding-section-nav,.coding-page-panel,.daily-feature-card,.quiz-library,.quiz-insight-panel,.practice-progress-overview,.coding-problem-panel,.coding-editor-center,.quiz-problem-card,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.floating-chat-window,.floating-chat-message.bot,.floating-chat-window .ai-status-card{background:var(--ct-panel)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;box-shadow:var(--shadow-md)!important}.coding-section-nav,.coding-editor-center,.coding-problem-panel,.floating-chat-window{background:var(--ct-panel-raised)!important}.coding-page-panel:before,.coding-problem-panel:before,.coding-editor-center:before,.quiz-library:before,.quiz-insight-panel:before,.practice-progress-overview:before,.daily-feature-card:before{background:linear-gradient(90deg,var(--ct-accent),var(--ct-primary))!important}.coding-section-nav button.active,.workspace-tabs button.active{background:var(--ct-accent-soft)!important;border-color:color-mix(in srgb,var(--ct-accent) 54%,var(--ct-border))!important;color:var(--ct-accent)!important}.coding-section-nav button:hover,.coding-section-nav button:focus-visible,.workspace-tabs button:hover,.floating-chat-action:hover:not(:disabled),.problem-navigation button:hover:not(:disabled),.daily-link:hover,.daily-practice-btn.secondary:hover,.save-quiz-pdf-btn:hover{background:var(--ct-accent-soft)!important;border-color:color-mix(in srgb,var(--ct-accent) 46%,var(--ct-border))!important;color:var(--ct-accent)!important}.coding-prompt-card.blue,.coding-prompt-card.red,.coding-prompt-card.gold{border-left-color:var(--ct-accent)!important}.daily-feature-card.dashboard-daily{background:linear-gradient(135deg,var(--ct-accent-soft),transparent 60%),var(--ct-panel-raised)!important;border-top-color:var(--ct-accent)!important}.daily-practice-btn,.floating-chat-button,.floating-chat-send{background:linear-gradient(135deg,var(--ct-primary),var(--ct-primary-hover))!important}.daily-link,.daily-practice-btn.secondary,.problem-navigation button{background:var(--ct-panel-soft)!important}body.coding-dark .coding-app{background:var(--bg-body)}body.coding-dark .floating-chat-window{background:var(--ct-panel-raised)!important}.coding-app,body.coding-dark .coding-app{--ct-panel: var(--bg-surface);--ct-panel-soft: var(--bg-surface-soft);--ct-panel-raised: var(--bg-surface-raised);--ct-surface: var(--bg-surface);--ct-surface-strong: var(--bg-surface-raised);--ct-surface-soft: var(--bg-surface-soft)}.coding-section-nav,.practice-progress-overview,.daily-feature-card,.coding-page-panel,.quiz-library,.quiz-insight-panel,.quiz-problem-card,.coding-problem-panel,.coding-editor-center,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.ai-status-card,.floating-chat-window,.floating-chat-message.bot,.floating-chat-window .ai-status-card{background-color:var(--ct-panel)!important;background-image:none!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;opacity:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.coding-editor-center,.coding-problem-panel,.coding-section-nav,.floating-chat-window{background-color:var(--ct-panel-raised)!important}.coding-prompt-card,.coding-progress-stats div,.problem-example,.problem-constraints-card,.floating-chat-control,.floating-chat-send,.floating-chat-button{background-color:var(--ct-panel-soft)!important;background-image:none!important;opacity:1!important}.daily-feature-card.dashboard-daily{background-image:linear-gradient(180deg,var(--ct-accent-soft),transparent 48%)!important;background-color:var(--ct-panel-raised)!important}.daily-practice-btn,.floating-chat-send,.floating-chat-button{background:var(--ct-primary)!important;color:#fff!important}.floating-chat-window,.floating-chat-window .ai-status-card,.floating-chat-messages,.floating-chat-form{background:var(--ct-panel-raised)!important;background-color:var(--ct-panel-raised)!important;background-image:none!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.floating-chat-window{overflow:hidden}.floating-chat-header{background:var(--ct-panel-raised)!important;border-bottom:1px solid var(--ct-border)!important}.floating-chat-window .ai-status-card{overflow:hidden;box-shadow:none!important}.floating-chat-window .ai-status-card dl{grid-template-columns:minmax(72px,max-content) minmax(0,1fr);gap:8px 12px}.floating-chat-window .ai-status-card dt,.floating-chat-window .ai-status-card dd{min-width:0;overflow-wrap:anywhere}.floating-chat-messages{background:var(--ct-panel-soft)!important}.floating-chat-message,.floating-chat-message p{overflow-wrap:anywhere}.floating-chat-empty{background:var(--ct-panel-raised)!important;border:1px solid var(--ct-border)!important}.coding-nav-icon,.daily-meta-row span{background:linear-gradient(135deg,var(--ct-primary-soft),var(--ct-accent-soft))!important;border:1px solid color-mix(in srgb,var(--ct-accent) 28%,var(--ct-border))!important;color:var(--ct-primary)!important}.floating-chat-action:hover:not(:disabled),.coding-section-nav button:hover:not(:disabled),.workspace-tabs button:hover:not(:disabled),.problem-navigation button:hover:not(:disabled),.daily-link:hover,.daily-practice-btn.secondary:hover,.save-quiz-pdf-btn:hover,.floating-chat-control:hover,.floating-chat-icon-btn:hover:not(:disabled){background:var(--ct-accent-soft)!important;border-color:color-mix(in srgb,var(--ct-accent) 42%,var(--ct-border))!important;color:var(--ct-accent)!important}body.coding-dark .daily-practice-btn,body.coding-dark .floating-chat-send,body.coding-dark .floating-chat-button{color:#07111f!important}body.coding-dark .coding-app{--ct-bg: #0b1a33 !important;--ct-primary: #8fb4e0;--ct-primary-hover: #a6c5ea;--ct-primary-soft: rgba(143, 180, 224, .2);--ct-accent: #f7a054;--ct-accent-soft: rgba(247, 160, 84, .2);--ct-panel: #142a4f !important;--ct-panel-soft: #10223f !important;--ct-panel-raised: #1d3866 !important;--ct-surface: #142a4f !important;--ct-surface-soft: #10223f !important;--ct-surface-strong: #1d3866 !important;--ct-text: #eaf0fb;--ct-muted: #b3c1da;--ct-faint: #8695af;--ct-border: #2f4a7a !important;--ct-border-strong: #4a6aa0 !important;--ct-editor-bg: #0e2038;--ct-editor-text: #eaf0fb;--ct-terminal-bg: #0c1c33;--ct-terminal-text: #dce7f8}body.coding-dark .coding-app{color:var(--ct-text)!important}body.coding-dark .coding-section-nav,body.coding-dark .practice-progress-overview,body.coding-dark .daily-feature-card,body.coding-dark .coding-page-panel,body.coding-dark .quiz-library,body.coding-dark .quiz-insight-panel,body.coding-dark .quiz-problem-card,body.coding-dark .coding-problem-panel,body.coding-dark .coding-editor-center,body.coding-dark .workspace-hints-panel,body.coding-dark .workspace-discussion-panel,body.coding-dark .workspace-hidden-panel,body.coding-dark .ai-status-card,body.coding-dark .floating-chat-window,body.coding-dark .floating-chat-window .ai-status-card,body.coding-dark .floating-chat-messages,body.coding-dark .floating-chat-form{background:var(--ct-panel)!important;background-color:var(--ct-panel)!important;background-image:none!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.coding-dark .coding-section-nav,body.coding-dark .coding-editor-center,body.coding-dark .coding-problem-panel,body.coding-dark .floating-chat-window{background:var(--ct-panel-raised)!important}body.coding-dark .floating-chat-window{border:1px solid var(--ct-border-strong)!important;box-shadow:0 24px 56px #050a1294!important;overflow:hidden}body.coding-dark .floating-chat-header{background:var(--ct-panel-raised)!important;border-bottom:1px solid var(--ct-border)!important;color:var(--ct-text)!important}body.coding-dark .floating-chat-header strong,body.coding-dark .floating-chat-window h3,body.coding-dark .floating-chat-window h4,body.coding-dark .floating-chat-window strong,body.coding-dark .coding-app h1,body.coding-dark .coding-app h2,body.coding-dark .coding-app h3,body.coding-dark .coding-app strong{color:#f8f1e8!important}body.coding-dark .floating-chat-window .ai-status-card{display:block;overflow:hidden;border-radius:14px;box-shadow:none!important}body.coding-dark .floating-chat-window .ai-status-card dl{grid-template-columns:minmax(72px,max-content) minmax(0,1fr);gap:8px 12px}body.coding-dark .floating-chat-window .ai-status-card dt,body.coding-dark .floating-chat-window .ai-status-card dd{color:var(--ct-text)!important;min-width:0;overflow-wrap:anywhere}body.coding-dark .floating-chat-messages{background:var(--ct-panel-soft)!important;border-color:var(--ct-border)!important}body.coding-dark .floating-chat-message{max-width:100%;overflow-wrap:anywhere}body.coding-dark .floating-chat-message.user{background:linear-gradient(135deg,#5f7fae,#466995)!important;color:#f8f3ea!important;border:1px solid rgba(143,174,215,.26)!important}body.coding-dark .floating-chat-message.bot{background:var(--ct-panel-raised)!important;color:var(--ct-text)!important;border:1px solid var(--ct-border)!important}body.coding-dark .floating-chat-message.bot pre,body.coding-dark .floating-chat-message.bot code,body.coding-dark .floating-chat-message.bot blockquote,body.coding-dark .floating-chat-message.bot table{background:#101826!important;border-color:var(--ct-border)!important;color:#f1eadf!important}body.coding-dark .floating-chat-empty{background:var(--ct-panel-raised)!important;color:var(--ct-muted)!important;border:1px solid var(--ct-border)!important}body.coding-dark .floating-chat-input-row,body.coding-dark .floating-chat-input-row textarea,body.coding-dark .coding-select,body.coding-dark .coding-app textarea{background:var(--ct-panel-soft)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}body.coding-dark .floating-chat-input-row textarea::placeholder,body.coding-dark .coding-app textarea::placeholder{color:#98a4b5!important}body.coding-dark .floating-chat-action,body.coding-dark .coding-section-nav button,body.coding-dark .workspace-tabs button,body.coding-dark .problem-navigation button,body.coding-dark .daily-link,body.coding-dark .daily-practice-btn.secondary,body.coding-dark .save-quiz-pdf-btn,body.coding-dark .floating-chat-control,body.coding-dark .floating-chat-icon-btn{background:var(--ct-panel-soft)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}body.coding-dark .floating-chat-action:hover:not(:disabled),body.coding-dark .coding-section-nav button:hover:not(:disabled),body.coding-dark .workspace-tabs button:hover:not(:disabled),body.coding-dark .problem-navigation button:hover:not(:disabled),body.coding-dark .daily-link:hover,body.coding-dark .daily-practice-btn.secondary:hover,body.coding-dark .save-quiz-pdf-btn:hover,body.coding-dark .floating-chat-control:hover,body.coding-dark .floating-chat-icon-btn:hover:not(:disabled){background:#3b82f629!important;border-color:#3b82f680!important;color:#93b4f5!important}body.coding-dark .coding-section-nav button.active,body.coding-dark .floating-chat-action.active{background:linear-gradient(135deg,#789dca3d,#3b82f633)!important;border-color:#3b82f673!important;color:#eaf0fb!important}body.coding-dark .daily-practice-btn,body.coding-dark .floating-chat-send,body.coding-dark .floating-chat-button{background:#5f7fae!important;border-color:#8faed75c!important;color:#f8f3ea!important}body.coding-dark .daily-practice-btn:hover:not(:disabled),body.coding-dark .floating-chat-send:hover:not(:disabled),body.coding-dark .floating-chat-button:hover{background:#3b82f6!important;border-color:#3b82f6b3!important;color:#fff!important}body.coding-dark .coding-nav-icon,body.coding-dark .daily-meta-row span{background:linear-gradient(135deg,#789dca3d,#e7a05b24)!important;border:1px solid rgba(231,160,91,.26)!important;color:#f3dcc2!important}body.coding-dark .coding-prompt-card,body.coding-dark .problem-example,body.coding-dark .problem-constraints-card,body.coding-dark .coding-progress-stats div,body.coding-dark .topic-filter-banner{background:var(--ct-panel-soft)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}body.coding-dark .coding-prompt-card:hover{background:#e7a05b21!important;border-color:#e7a05b5c!important}@media (max-width: 640px){.floating-coding-chat{max-width:calc(100vw - 32px)}.floating-coding-chat.closed{right:16px;bottom:16px}.floating-chat-window{width:calc(100vw - 32px);height:min(560px,calc(100vh - 32px));max-height:calc(100vh - 32px)}.floating-chat-button span{display:none}.floating-chat-button{width:54px;min-height:54px;justify-content:center;padding:0}}.coding-app{--ct-solid-panel: var(--ct-panel);--ct-solid-soft: var(--ct-panel-soft);--ct-solid-raised: var(--ct-panel-raised);--ct-hover-bg: var(--ct-accent-soft);--ct-hover-border: color-mix(in srgb, var(--ct-accent) 48%, var(--ct-border));--ct-hover-text: var(--ct-accent)}body.coding-dark .coding-app{--ct-solid-panel: #172235;--ct-solid-soft: #152033;--ct-solid-raised: #1c2a3f;--ct-hover-bg: rgba(59, 130, 246, .16);--ct-hover-border: rgba(59, 130, 246, .55);--ct-hover-text: #93b4f5}.coding-app :is(.coding-section-nav,.practice-progress-overview,.daily-feature-card,.coding-page-panel,.quiz-library,.quiz-insight-panel,.quiz-problem-card,.coding-problem-panel,.coding-editor-center,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.ai-status-card,.floating-chat-window,.floating-chat-window .ai-status-card,.floating-chat-messages,.floating-chat-form,.floating-chat-message.bot){background:var(--ct-solid-panel)!important;background-color:var(--ct-solid-panel)!important;background-image:none!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.coding-app :is(.coding-section-nav,.coding-problem-panel,.coding-editor-center,.floating-chat-window,.daily-feature-card.dashboard-daily){background:var(--ct-solid-raised)!important;background-color:var(--ct-solid-raised)!important}.coding-app :is(.coding-prompt-card,.coding-progress-stats div,.problem-example,.problem-constraints-card,.floating-chat-empty){background:var(--ct-solid-soft)!important;background-color:var(--ct-solid-soft)!important;background-image:none!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}.coding-app :is(button,.daily-practice-btn,.daily-link,.save-quiz-pdf-btn,.coding-prompt-card,.quiz-problem-card,.floating-chat-action,.floating-chat-control,.floating-chat-icon-btn,.floating-chat-send,.problem-navigation button,.workspace-tabs button){transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease!important}.coding-app :is(button,.daily-practice-btn,.daily-link,.save-quiz-pdf-btn,.coding-prompt-card,.quiz-problem-card,.floating-chat-action,.floating-chat-control,.floating-chat-icon-btn,.problem-navigation button,.workspace-tabs button):hover:not(:disabled){background:var(--ct-hover-bg)!important;background-color:var(--ct-hover-bg)!important;border-color:var(--ct-hover-border)!important;color:var(--ct-hover-text)!important;box-shadow:0 12px 26px var(--ct-hover-border)!important;transform:translateY(-1px)}.coding-app :is(.daily-practice-btn,.floating-chat-send,.floating-chat-button){background:var(--ct-primary)!important;border-color:color-mix(in srgb,var(--ct-primary) 64%,var(--ct-border))!important;color:#fff!important}.coding-app :is(.daily-practice-btn,.floating-chat-send,.floating-chat-button):hover:not(:disabled){background:var(--ct-accent)!important;border-color:var(--ct-hover-border)!important;color:#182033!important}body.coding-dark .coding-app :is(.daily-practice-btn,.floating-chat-send,.floating-chat-button){background:#5f7fae!important;color:#f8f3ea!important}body.coding-dark .coding-app :is(.daily-practice-btn,.floating-chat-send,.floating-chat-button):hover:not(:disabled){background:#3b82f6!important;border-color:#3b82f6b3!important;color:#fff!important}.coding-app .daily-meta-row span{background:linear-gradient(135deg,var(--ct-primary-soft),var(--ct-accent-soft))!important;border:1px solid color-mix(in srgb,var(--ct-accent) 32%,var(--ct-border))!important;color:var(--ct-primary)!important}body.coding-dark .coding-app .daily-meta-row span{color:#f3dcc2!important}.coding-app .floating-chat-window{width:min(430px,calc(100vw - 32px));border:1px solid var(--ct-border-strong)!important;box-shadow:0 24px 56px #0f172a2e!important;overflow:hidden}body.coding-dark .coding-app .floating-chat-window{box-shadow:0 24px 60px #050a1299!important}.coding-app .floating-chat-header{background:var(--ct-solid-raised)!important;border-bottom:1px solid var(--ct-border)!important}.coding-app .floating-chat-window .ai-status-card{padding:12px!important;border-radius:14px!important;overflow:hidden;box-shadow:none!important}.coding-app .floating-chat-window .ai-status-card dl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px 12px;margin:0}.coding-app .floating-chat-window .ai-status-card dt,.coding-app .floating-chat-window .ai-status-card dd,.coding-app .floating-chat-message,.coding-app .floating-chat-message p{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}.coding-app .floating-chat-messages{background:var(--ct-solid-soft)!important;border-color:var(--ct-border)!important}.coding-app .floating-chat-input-row,.coding-app .floating-chat-input-row textarea{background:var(--ct-solid-soft)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}@media (max-width: 640px){.coding-app .floating-chat-window{width:calc(100vw - 32px)}.coding-app .floating-chat-window .ai-status-card dl{grid-template-columns:78px minmax(0,1fr)}}.coding-app .coding-nav-row{align-items:center;justify-content:center;padding:2px 18px 8px}.coding-app .coding-section-nav.campus-section-nav,.coding-app .campus-section-nav{width:auto!important;max-width:100%;flex:0 1 auto;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;border:0!important;box-shadow:none!important;overflow:visible;flex-wrap:wrap}.coding-app .campus-section-nav>button,.coding-app .campus-section-nav>button:not(.coding-nav-mobile-toggle),.coding-app .campus-section-nav.mobile-open>button:not(.coding-nav-mobile-toggle){position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;width:auto;height:auto;min-height:38px;padding:8px 14px!important;border:1px solid var(--ct-border)!important;border-radius:999px!important;background:var(--ct-panel)!important;color:var(--ct-muted)!important;font-size:.85rem;font-weight:600;box-shadow:none!important;cursor:pointer}.coding-app .campus-section-nav .coding-nav-icon{width:auto;height:auto;flex:0 0 auto;background:transparent!important;border:0!important;color:currentColor!important;font-size:1rem}.coding-app .campus-section-nav .coding-nav-icon svg{fill:currentColor;color:currentColor}.coding-app .campus-section-nav .coding-nav-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap}.coding-app .campus-section-nav>button:hover,.coding-app .campus-section-nav>button:focus-visible{background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-accent) 52%,var(--ct-border))!important;color:var(--ct-primary)!important;transform:none}.coding-app .campus-section-nav>button.active{background:var(--ct-primary)!important;border-color:color-mix(in srgb,var(--ct-accent) 65%,var(--ct-primary))!important;color:#fff!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--ct-accent) 40%,transparent),0 4px 12px color-mix(in srgb,var(--ct-accent) 22%,transparent)!important}.coding-app .campus-section-nav>button.active:after{content:"";position:absolute;left:50%;bottom:4px;width:16px;height:3px;border-radius:999px;background:var(--ct-accent);transform:translate(-50%)}body.coding-dark .coding-app .campus-section-nav>button.active{background:var(--msu-blue, #8ab4f8)!important;border-color:var(--msu-blue, #8ab4f8)!important;color:#0b1322!important;box-shadow:0 0 0 2px #3b82f673,0 4px 12px #3b82f647!important}body.coding-dark .coding-app .campus-section-nav>button.active:after{background:#3b82f6!important}body.coding-dark .coding-app .campus-section-nav>button:hover:not(.active),body.coding-dark .coding-app .campus-section-nav>button:focus-visible{background:#3b82f629!important;border-color:#3b82f680!important;color:#eaf0fb!important}.coding-app .campus-section-nav .coding-nav-workspace-toggle{margin:0}@media (max-width: 1180px){.coding-app .campus-section-nav .coding-nav-label{display:none}.coding-app .campus-section-nav>button,.coding-app .campus-section-nav>button:not(.coding-nav-mobile-toggle){width:42px;min-width:42px;height:42px;min-height:42px;padding:0!important;gap:0}.coding-app .campus-section-nav{gap:8px;justify-content:center;flex-wrap:wrap}}.campus-lab-home{gap:22px;padding-top:10px}.campus-hero-kicker{display:inline-flex;align-items:center;gap:8px}.campus-hero-org{padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ct-primary) 28%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 8%,transparent);color:var(--ct-primary);font-size:.66rem;font-weight:800;letter-spacing:.04em}.campus-lab-hero,.campus-progress-strip,.campus-learning-queue,.campus-language-card,.campus-daily-mission,.campus-tutor-actions,.campus-new-user-card{border:1px solid var(--ct-border);background:color-mix(in srgb,var(--ct-panel) 94%,transparent);box-shadow:0 16px 38px color-mix(in srgb,var(--ct-primary) 8%,transparent)}.campus-lab-hero{display:block;padding:clamp(20px,3vw,32px);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--ct-primary) 10%,transparent),transparent 48%),linear-gradient(160deg,color-mix(in srgb,var(--ct-accent) 12%,var(--ct-panel)),var(--ct-panel) 58%);overflow:hidden}.campus-hero-copy{display:flex;flex-direction:column;gap:14px;min-width:0}.campus-hero-copy h2,.campus-new-user-card h2{max-width:760px;margin:0;color:var(--ct-text);font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.05;letter-spacing:-.02em}.campus-new-user-card p{max-width:68ch;margin:0;color:var(--ct-muted);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.65}.campus-hero-stats{display:flex;flex-wrap:wrap;gap:22px;align-items:baseline}.campus-hero-stat{display:inline-flex;align-items:baseline;gap:7px}.campus-hero-stat strong{font-family:var(--font-mono, ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace);font-size:1.7rem;font-weight:800;line-height:1;color:var(--ct-text)}.campus-hero-stat.accent strong{color:var(--ct-accent)}.campus-hero-stat.success strong{color:var(--ct-success)}.campus-hero-stat i{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-muted)}.campus-hero-hint{display:inline-flex;align-items:center;gap:7px;margin:2px 0 0;color:var(--ct-muted);font-size:.88rem}.campus-hero-actions,.daily-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.campus-primary-action,.campus-secondary-action,.campus-recommendation-card button,.campus-queue-item button,.campus-language-card button,.campus-action-list button,.campus-daily-mission .daily-practice-btn,.campus-daily-mission .daily-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 18px;border-radius:999px;font-weight:780;text-decoration:none;cursor:pointer}.campus-primary-action,.campus-recommendation-card button,.campus-queue-item.featured button,.campus-daily-mission .daily-practice-btn{border-color:var(--ct-primary);background:var(--ct-primary);color:#fff}.campus-secondary-action,.campus-queue-item button,.campus-language-card button,.campus-daily-mission .daily-link{border-color:color-mix(in srgb,var(--ct-primary) 28%,var(--ct-border));background:var(--ct-panel);color:var(--ct-primary)}.campus-primary-action:hover,.campus-secondary-action:hover,.campus-recommendation-card button:hover,.campus-queue-item button:hover,.campus-language-card button:hover,.campus-action-list button:hover,.campus-daily-mission .daily-practice-btn:hover,.campus-daily-mission .daily-link:hover{border-color:var(--ct-accent);background:linear-gradient(135deg,var(--ct-accent),color-mix(in srgb,var(--ct-accent) 78%,var(--ct-primary)))!important;color:#182033!important;transform:translateY(-1px)}.campus-recommendation-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:24px;border-radius:24px;border:1px solid color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border));background:color-mix(in srgb,var(--ct-panel) 82%,var(--ct-primary-soft))}.campus-recommendation-card strong{color:var(--ct-text);font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.12}.campus-rec-meta,.campus-daily-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ct-muted);font-size:.9rem}.campus-daily-note{padding-top:8px;border-top:1px solid var(--ct-border)}.campus-progress-strip{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(96px,auto));gap:12px;align-items:center;padding:16px 18px;border-radius:22px}.campus-progress-meter{display:grid;gap:8px;min-width:0}.campus-progress-meter strong{color:var(--ct-text);font-size:1.35rem}.campus-progress-bar{height:10px;border-radius:999px;background:color-mix(in srgb,var(--ct-muted) 18%,transparent);overflow:hidden}.campus-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ct-primary),var(--ct-success))}.campus-stat-chip{display:grid;justify-items:center;gap:1px;min-width:96px;padding:11px 14px;border-radius:18px;background:var(--ct-panel-soft);border:1px solid var(--ct-border)}.campus-stat-chip strong{color:var(--ct-text);font-size:1.35rem}.campus-stat-chip span{color:var(--ct-muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.campus-topic-strip{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.campus-topic-pill{position:relative;overflow:hidden;padding:7px 12px;border-radius:999px;border:1px solid var(--ct-border);color:var(--ct-text);background:var(--ct-panel);font-size:.82rem;font-weight:760}.campus-topic-pill:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:color-mix(in srgb,var(--ct-muted) 22%,transparent)}.campus-topic-pill i{position:absolute;inset:auto auto 0 0;z-index:1;height:3px;min-width:6px;background:var(--ct-accent)}.campus-learning-queue,.campus-tutor-actions{display:grid;gap:16px;padding:22px;border-radius:24px}.campus-section-heading{display:grid;gap:4px}.campus-section-heading h3{margin:0;color:var(--ct-text);font-size:1.35rem}.campus-queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.campus-queue-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:170px;padding:18px;border-radius:20px;border:1px solid var(--ct-border);background:var(--ct-panel)}.campus-queue-item>button,.campus-queue-item .campus-primary-action{margin-top:auto;align-self:center;width:min(100%,240px)}.campus-queue-item>.campus-path-list,.campus-queue-item>p{align-self:stretch}.campus-queue-item>span{color:var(--ct-muted);font-size:.74rem;font-weight:820;letter-spacing:.07em;text-transform:uppercase}.campus-queue-item strong{color:var(--ct-text);font-size:1.15rem}.campus-queue-item p,.campus-language-card p{margin:0;color:var(--ct-muted);line-height:1.5}.campus-queue-item.featured{border-color:color-mix(in srgb,var(--ct-primary) 34%,var(--ct-border));background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel))}.campus-queue-item.personal{border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-border));background:color-mix(in srgb,var(--ct-accent) 10%,var(--ct-panel))}.campus-language-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-radius:22px}.campus-language-card p{flex:1 1 420px}.campus-language-card strong{color:var(--ct-primary)}.campus-daily-mission{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:26px;border-radius:26px;border-color:color-mix(in srgb,var(--ct-accent) 34%,var(--ct-border));background:linear-gradient(90deg,color-mix(in srgb,var(--ct-accent) 14%,transparent),transparent 48%),var(--ct-panel)}.campus-daily-mission h2{margin:4px 0 0;color:var(--ct-text);font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.08}.campus-tutor-actions{background:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.campus-action-list{display:grid;gap:10px;max-width:920px}.campus-action-list button{justify-content:flex-start;width:100%;min-height:58px;border:1px solid var(--ct-border);background:var(--ct-panel);color:var(--ct-text);border-left:4px solid var(--ct-accent);border-radius:18px}.campus-action-list svg{color:var(--ct-primary)}.campus-new-user-card{display:grid;gap:14px;padding:clamp(24px,4vw,42px);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--ct-accent) 14%,transparent),transparent 52%),var(--ct-panel)}body.coding-dark .coding-app .campus-section-nav,body.coding-dark .campus-progress-strip,body.coding-dark .campus-learning-queue,body.coding-dark .campus-language-card,body.coding-dark .campus-queue-item,body.coding-dark .campus-recommendation-card,body.coding-dark .campus-action-list button{background-color:var(--ct-panel);border-color:var(--ct-border)}body.coding-dark .campus-lab-hero{background:radial-gradient(circle at 88% 30%,color-mix(in srgb,var(--ct-accent) 16%,transparent),transparent 44%),linear-gradient(100deg,color-mix(in srgb,var(--ct-primary) 14%,var(--ct-panel)) 0%,var(--ct-panel) 62%,var(--ct-panel-raised) 100%);border-color:var(--ct-border)}body.coding-dark .campus-daily-mission{background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--ct-accent) 16%,transparent),transparent 44%),linear-gradient(90deg,color-mix(in srgb,var(--ct-accent) 14%,var(--ct-panel)),var(--ct-panel) 60%),var(--ct-panel);border-color:color-mix(in srgb,var(--ct-accent) 30%,var(--ct-border))}body.coding-dark .campus-new-user-card{background:linear-gradient(135deg,color-mix(in srgb,var(--ct-accent) 16%,transparent),transparent 52%),var(--ct-panel);border-color:var(--ct-border)}body.coding-dark .campus-lab-hero,body.coding-dark .campus-daily-mission,body.coding-dark .campus-new-user-card,body.coding-dark .campus-progress-strip,body.coding-dark .campus-learning-queue,body.coding-dark .campus-language-card{box-shadow:0 18px 40px #00000073,inset 0 1px #ffffff0d}body.coding-dark .coding-app .campus-section-nav>button.active{background:color-mix(in srgb,var(--ct-primary) 76%,#111827)!important;color:#fff!important}@media (max-width: 900px){.campus-queue-grid,.campus-queue-grid.two-up,.campus-queue-grid.three-up,.campus-action-list.compact{grid-template-columns:1fr}.campus-daily-mission{grid-template-columns:1fr;align-items:stretch}.campus-daily-mission .daily-mission-aside{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border));padding-top:16px}.campus-daily-mission .daily-mission-facts{flex-direction:row;flex-wrap:wrap;gap:18px 28px}.campus-daily-mission .daily-mission-aside .daily-actions{flex-direction:row;flex-wrap:wrap;width:100%}.campus-daily-mission .daily-mission-aside .daily-practice-btn,.campus-daily-mission .daily-mission-aside .daily-link{width:auto;flex:1 1 auto}}@media (max-width: 640px){.coding-app .coding-nav-row{padding:0 6px 6px}.coding-app .campus-section-nav{justify-content:center}.campus-lab-home{padding-left:8px;padding-right:8px}.campus-lab-hero,.campus-progress-strip,.campus-learning-queue,.campus-daily-mission,.campus-new-user-card{border-radius:22px;padding:20px}}.coding-app{--ct-paper: color-mix(in srgb, var(--ct-panel) 82%, #f7eadb);--ct-paper-strong: color-mix(in srgb, var(--ct-panel) 70%, #f2ddc6);--ct-ink: var(--ct-primary);--ct-gold-line: color-mix(in srgb, var(--ct-accent) 72%, #f6d29f)}.campus-lab-home{gap:24px}.campus-focus-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:stretch}.campus-focus-band>*{margin:0;height:100%}.campus-language-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:10px 16px;border:1px solid var(--ct-border);border-radius:12px;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-paper));color:var(--ct-muted);font-size:.9rem}.campus-language-note .coding-kicker{margin-right:2px}.campus-language-note strong{color:var(--ct-primary)}.campus-language-note button{margin-left:auto;padding:6px 14px;border:1px solid color-mix(in srgb,var(--ct-primary) 28%,var(--ct-border));border-radius:999px;background:var(--ct-panel);color:var(--ct-primary);font-size:.82rem;font-weight:700;cursor:pointer}.campus-language-note button:hover{border-color:var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 14%,var(--ct-panel))}.campus-lab-hero,.campus-progress-strip,.campus-learning-queue,.campus-language-card,.campus-daily-mission,.campus-new-user-card{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-paper) 88%,transparent),color-mix(in srgb,var(--ct-panel) 90%,var(--ct-paper))),var(--ct-paper);border-color:color-mix(in srgb,var(--ct-accent) 12%,var(--ct-border));box-shadow:0 6px 16px color-mix(in srgb,var(--ct-primary) 5%,transparent),inset 0 1px color-mix(in srgb,#fff 45%,transparent)}.campus-lab-hero{position:relative;display:block;min-height:0;border-top:3px solid color-mix(in srgb,var(--ct-primary) 70%,var(--ct-gold-line));background:radial-gradient(circle at 88% 30%,color-mix(in srgb,var(--ct-primary) 12%,transparent),transparent 44%),linear-gradient(100deg,color-mix(in srgb,var(--ct-primary) 12%,var(--ct-paper)) 0%,var(--ct-paper) 58%,var(--ct-panel) 100%)}.campus-hero-copy{padding-left:4px}.campus-hero-copy h2,.campus-new-user-card h2{color:var(--ct-primary);max-width:820px}.campus-hero-copy p,.campus-new-user-card p,.campus-section-heading h3+p,.campus-queue-item p,.campus-language-card p{color:color-mix(in srgb,var(--ct-muted) 82%,var(--ct-primary))}.campus-hero-focus{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:2px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border));border-left:3px solid var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-paper))}body.coding-dark .campus-hero-focus{background:color-mix(in srgb,var(--ct-accent) 12%,#1d3866);border-color:color-mix(in srgb,var(--ct-accent) 32%,var(--ct-border))}.campus-hero-focus-label{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ct-accent)}.campus-hero-focus-label svg{font-size:.85rem}.campus-hero-focus-text{flex:1 1 240px;min-width:0;color:var(--ct-text);font-size:.92rem;line-height:1.45}.campus-code-preview{align-self:center;min-width:0;border-radius:22px;overflow:hidden;background:#101827;border:1px solid color-mix(in srgb,var(--ct-accent) 32%,#101827);box-shadow:0 20px 42px color-mix(in srgb,var(--ct-primary) 30%,transparent)}.campus-code-preview-top{display:flex;align-items:center;gap:7px;padding:11px 14px;background:color-mix(in srgb,#111827 88%,var(--ct-accent));border-bottom:1px solid rgba(255,255,255,.1)}.campus-code-preview-top span{width:9px;height:9px;border-radius:999px}.campus-code-preview-top span:nth-child(1){background:#f37021}.campus-code-preview-top span:nth-child(2){background:#f0b84b}.campus-code-preview-top span:nth-child(3){background:#3f9d63}.campus-code-preview-top strong{margin-left:auto;color:#d9e3f4;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.campus-code-preview pre{margin:0;padding:18px;color:#dce7f7;font-family:var(--font-mono, "JetBrains Mono", Consolas, monospace);font-size:clamp(.78rem,1vw,.92rem);line-height:1.7;white-space:pre-wrap}.campus-recommendation-card,.campus-queue-item,.campus-action-list button,.campus-stat-chip,.campus-topic-pill{background:color-mix(in srgb,var(--ct-panel) 76%,var(--ct-paper));border-color:color-mix(in srgb,var(--ct-primary) 18%,var(--ct-border))}.campus-recommendation-card{border-top:4px solid var(--ct-primary);box-shadow:inset 0 -1px color-mix(in srgb,var(--ct-accent) 26%,transparent)}.campus-recommendation-card strong,.campus-section-heading h3,.campus-queue-item strong,.campus-daily-mission h2{color:var(--ct-primary)}.coding-app .coding-kicker{color:var(--ct-primary);letter-spacing:.09em}.campus-progress-strip{border-radius:18px;border-left:3px solid color-mix(in srgb,var(--ct-accent) 60%,var(--ct-primary))}.campus-progress-bar{height:12px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ct-primary) 9%,transparent) 0 6px,transparent 6px 12px),color-mix(in srgb,var(--ct-primary) 8%,var(--ct-paper))}.campus-progress-bar span{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--ct-primary) 0%,color-mix(in srgb,var(--ct-primary) 80%,var(--ct-accent)) 38%,var(--ct-accent) 50%,color-mix(in srgb,var(--ct-primary) 80%,var(--ct-accent)) 62%,var(--ct-primary) 100%);background-size:300% 100%;transition:width 1s ease-out;animation:campusProgressFlow 3.2s linear infinite,campusProgressGlow 1.8s ease-in-out infinite alternate;box-shadow:0 0 14px color-mix(in srgb,var(--ct-primary) 50%,transparent),0 0 26px color-mix(in srgb,var(--ct-primary) 28%,transparent)}.campus-progress-bar span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0%,transparent 35%,color-mix(in srgb,#ffffff 55%,transparent) 50%,transparent 65%,transparent 100%);background-size:220% 100%;animation:campusProgressSheen 2.4s linear infinite}@keyframes campusProgressFlow{0%{background-position:0% 50%}to{background-position:300% 50%}}@keyframes campusProgressSheen{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes campusProgressGlow{0%{box-shadow:0 0 10px color-mix(in srgb,var(--ct-primary) 42%,transparent),0 0 20px color-mix(in srgb,var(--ct-primary) 20%,transparent)}to{box-shadow:0 0 18px color-mix(in srgb,var(--ct-primary) 62%,transparent),0 0 34px color-mix(in srgb,var(--ct-accent) 26%,transparent)}}.campus-stat-chip{border-radius:14px}.campus-stat-chip strong{color:var(--ct-primary)}.campus-topic-pill{border-radius:10px;color:var(--ct-primary)}.campus-topic-pill i{height:4px;background:linear-gradient(90deg,var(--ct-primary),var(--ct-accent))}.campus-learning-queue{border-top:3px solid color-mix(in srgb,var(--ct-primary) 55%,var(--ct-accent))}.campus-queue-grid{gap:16px}.campus-queue-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.campus-queue-item{min-height:132px;border-radius:16px}.campus-queue-item.featured{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-primary) 9%,transparent),transparent 58%),color-mix(in srgb,var(--ct-panel) 76%,var(--ct-paper));border-color:color-mix(in srgb,var(--ct-primary) 42%,var(--ct-border));border-left:3px solid color-mix(in srgb,var(--ct-primary) 70%,var(--ct-accent))}.campus-queue-item.featured strong{font-size:1.22rem}.campus-path-list{display:grid;gap:8px;margin:14px 0 18px;padding:0;list-style:none}.campus-path-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;padding:8px 10px;border:1px solid color-mix(in srgb,var(--ct-primary) 12%,var(--ct-border));border-radius:14px;background:color-mix(in srgb,var(--ct-panel) 88%,var(--ct-paper))}.campus-path-list li>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 11%,var(--ct-panel));color:var(--ct-primary);border:1px solid color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border));font-size:.75rem;font-weight:800}.campus-path-list div{display:grid;gap:3px;min-width:0}.campus-path-list b{color:var(--ct-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.campus-path-reason{color:var(--ct-muted);font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.campus-queue-item .campus-path-list button{justify-self:start;width:auto;min-height:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:var(--ct-text);font-size:.92rem;font-weight:750;text-align:left;line-height:1.2;transform:none!important}.campus-queue-item .campus-path-list button:hover,.campus-queue-item .campus-path-list button:focus-visible{color:var(--ct-info, #38bdf8)!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transform:none!important}.campus-path-list em{color:var(--ct-muted);font-style:normal;font-size:.88rem}.campus-queue-item.featured .campus-path-list+p{display:none}.campus-queue-item.personal{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-accent) 10%,transparent),transparent 58%),color-mix(in srgb,var(--ct-panel) 76%,var(--ct-paper));border-color:color-mix(in srgb,var(--ct-accent) 34%,var(--ct-border))}.campus-queue-item.warmup{background:linear-gradient(180deg,color-mix(in srgb,#16a34a 10%,transparent),transparent 58%),color-mix(in srgb,var(--ct-panel) 78%,var(--ct-paper));border-color:color-mix(in srgb,#16a34a 34%,var(--ct-border))}.campus-queue-item.warmup>span{color:#15803d}.campus-queue-item.focus{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-success) 7%,transparent),transparent 58%),color-mix(in srgb,var(--ct-panel) 80%,var(--ct-paper));border-color:color-mix(in srgb,var(--ct-success) 26%,var(--ct-border))}.campus-queue-item.focus>span{color:var(--ct-success)}.campus-focus-actions{display:grid;gap:10px;margin-top:auto;align-self:center;width:min(100%,240px)}.campus-focus-actions button{width:100%}.starting-check-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--ct-primary) 7%,var(--ct-panel)),var(--ct-panel)),var(--ct-panel);box-shadow:0 12px 28px color-mix(in srgb,var(--ct-primary) 9%,transparent)}.starting-check-card.is-complete{background:linear-gradient(135deg,color-mix(in srgb,#16a34a 8%,var(--ct-panel)),var(--ct-panel)),var(--ct-panel)}.starting-check-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:clamp(16px,4vw,32px);background:#0f172a75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.starting-check-modal{display:grid;gap:16px;width:min(760px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:clamp(18px,3vw,26px);border:1px solid color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border));border-radius:22px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--ct-primary) 11%,transparent),transparent 42%),var(--ct-panel);box-shadow:0 26px 80px #0f172a47}.starting-check-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.starting-check-modal-head h3{margin:5px 0 6px;color:var(--ct-text);font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.1}.starting-check-modal-head p{margin:0;max-width:56ch;color:var(--ct-muted);line-height:1.5}.starting-check-progress{height:9px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--ct-border) 68%,var(--ct-panel))}.starting-check-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ct-primary),var(--ct-accent));transition:width .2s ease}.starting-check-card h3{margin:4px 0 6px;color:var(--ct-text);font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.2}.starting-check-card p{margin:0;max-width:72ch;color:var(--ct-muted);font-size:.95rem;line-height:1.5}.starting-check-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.starting-check-topics{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.starting-check-topics li{padding:4px 9px;border:1px solid color-mix(in srgb,#16a34a 28%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,#16a34a 8%,var(--ct-panel));color:color-mix(in srgb,#166534 84%,var(--ct-text));font-size:.78rem;font-weight:750}.starting-check-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.starting-check-link{min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--ct-primary) 20%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel));color:var(--ct-primary);font-weight:700;cursor:pointer}.starting-check-link:disabled{opacity:.45;cursor:default}.starting-check-panel{grid-column:1 / -1;display:grid;gap:12px;padding-top:2px}.starting-check-question{min-width:0;margin:0;padding:clamp(14px,2.2vw,18px);border:1px solid color-mix(in srgb,var(--ct-primary) 16%,var(--ct-border));border-radius:18px;background:color-mix(in srgb,var(--ct-primary) 4%,var(--ct-panel))}.starting-check-question legend{display:flex;align-items:center;gap:9px;padding:0 4px;color:var(--ct-text);font-weight:750;line-height:1.35}.starting-check-question legend span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:999px;background:var(--ct-primary);color:#fff;font-size:.78rem}.starting-check-code{margin:14px 0 0;padding:12px 14px;overflow-x:auto;border:1px solid color-mix(in srgb,var(--ct-primary) 18%,var(--ct-border));border-radius:12px;background:#0b1220;color:#e5efff;font-family:var(--font-mono, ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace);font-size:.92rem;line-height:1.45}.starting-check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.starting-check-options button{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;min-height:56px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ct-primary) 20%,var(--ct-border));border-radius:14px;background:var(--ct-panel);color:var(--ct-text);font-weight:500;line-height:1.35;text-align:left;cursor:pointer}.starting-check-options button>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel));color:var(--ct-primary);font-size:.75rem;font-weight:700}.starting-check-options button code{font-family:var(--font-mono, ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace);font-size:.9rem;font-weight:500;white-space:normal;overflow-wrap:anywhere}.starting-check-options button.selected{background:color-mix(in srgb,var(--ct-primary) 92%,#000);border-color:var(--ct-primary);color:#fff;font-weight:650}.starting-check-options button.selected>span{background:#ffffff2e;color:#fff}.starting-check-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.starting-check-footer>span{color:var(--ct-muted);font-size:.88rem;font-weight:650}.starting-check-footer>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.starting-check-footer .campus-primary-action:disabled{opacity:.55;cursor:default;transform:none}.campus-focus-badge{display:inline-flex;align-items:center;width:fit-content;border:1px solid color-mix(in srgb,var(--ct-warning, #f59e0b) 36%,var(--ct-border));border-radius:999px;background:color-mix(in srgb,var(--ct-warning, #f59e0b) 10%,var(--ct-panel));color:color-mix(in srgb,var(--ct-warning, #f59e0b) 70%,var(--ct-ink));padding:.22rem .55rem;font-size:.72rem;font-weight:900;text-transform:uppercase}.campus-focus-badge.is-ready{border-color:color-mix(in srgb,#2563eb 42%,var(--ct-border));background:color-mix(in srgb,#dbeafe 62%,var(--ct-panel));color:#1d4ed8}.campus-review-signal{display:grid;gap:6px;margin-top:4px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ct-primary) 16%,var(--ct-border));border-radius:12px;background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel))}.campus-review-signal small{color:var(--ct-primary);font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.campus-review-signal strong{color:var(--ct-ink);font-size:.92rem}.campus-review-signal p{margin:0;color:var(--ct-muted);font-size:.8rem;line-height:1.35}.campus-queue-item .campus-review-signal-btn{justify-self:start;width:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ct-primary);font-size:.82rem;font-weight:850}.campus-queue-item .campus-review-signal-btn:hover,.campus-queue-item .campus-review-signal-btn:focus-visible{color:color-mix(in srgb,var(--ct-primary) 82%,var(--ct-ink))!important;background:transparent!important;border-color:transparent!important}.campus-daily-mission{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,24%,250px);gap:clamp(16px,2.4vw,32px);align-items:stretch;border-radius:20px;border:1px solid color-mix(in srgb,var(--ct-accent) 18%,var(--ct-border));border-top:4px solid var(--ct-accent);padding:clamp(20px,2.6vw,28px);background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--ct-accent) 14%,transparent),transparent 42%),linear-gradient(90deg,color-mix(in srgb,var(--ct-accent) 18%,var(--ct-paper)),transparent 58%),color-mix(in srgb,var(--ct-panel) 82%,var(--ct-paper));box-shadow:0 8px 22px color-mix(in srgb,var(--ct-accent) 10%,transparent),inset 0 1px color-mix(in srgb,#fff 50%,transparent)}.campus-daily-mission .daily-mission-main{display:flex;flex-direction:column;min-width:0}.campus-daily-mission .daily-mission-aside{display:flex;flex-direction:column;gap:16px;justify-content:space-between;padding-left:clamp(16px,2vw,24px);border-left:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border))}.campus-daily-mission .daily-mission-facts{display:flex;flex-direction:column;gap:12px;margin:0}.campus-daily-mission .daily-mission-facts>div{display:flex;flex-direction:column;gap:2px}.campus-daily-mission .daily-mission-facts dt{font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ct-accent)}.campus-daily-mission .daily-mission-facts dd{margin:0;font-size:.95rem;font-weight:700;color:var(--ct-primary)}.campus-daily-mission .daily-mission-aside .daily-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}.campus-daily-mission .daily-mission-aside .daily-practice-btn,.campus-daily-mission .daily-mission-aside .daily-link{width:100%;text-align:center}.campus-daily-mission h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}.campus-daily-mission .daily-practice-for{margin:12px 0 0;color:color-mix(in srgb,var(--ct-muted) 78%,var(--ct-primary));font-size:.86rem;font-weight:650}.daily-handoff-note{align-self:flex-start;max-width:min(34rem,100%);margin:auto 0 0;border:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border));border-radius:14px;background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-panel));color:color-mix(in srgb,var(--ct-muted) 72%,var(--ct-primary));padding:.65rem .8rem;font-size:.82rem;font-weight:650;line-height:1.35}.campus-daily-mission .daily-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.campus-daily-mission .daily-tags span{padding:3px 10px;border-radius:8px;font-family:var(--font-mono, ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace);font-size:.74rem;font-weight:650;color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel));border:1px solid color-mix(in srgb,var(--ct-primary) 20%,var(--ct-border));white-space:nowrap}.coding-app .daily-tags span{color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel));border:1px solid color-mix(in srgb,var(--ct-primary) 20%,var(--ct-border))}.campus-action-list{max-width:1040px}.campus-action-list button{border-radius:14px;border-left:5px solid var(--ct-accent)}.campus-action-list button:hover svg{color:#182033}.campus-action-list.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none}.campus-action-list.compact button{justify-content:center;gap:9px;min-height:48px;border:1px solid color-mix(in srgb,var(--ct-primary) 18%,var(--ct-border));border-left:1px solid color-mix(in srgb,var(--ct-primary) 18%,var(--ct-border));border-radius:12px;font-weight:700;transition:border-color .18s ease,background .18s ease,transform .18s ease}.campus-action-list.compact button:hover{border-color:var(--ct-accent);transform:translateY(-1px)}.campus-action-list.compact button:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.campus-action-list.compact button span{white-space:nowrap}.campus-primary-action,.campus-recommendation-card button,.campus-queue-item.featured .campus-primary-action,.campus-daily-mission .daily-practice-btn{background:linear-gradient(135deg,color-mix(in srgb,var(--ct-primary) 84%,#2f6fd6),var(--ct-primary));border-color:color-mix(in srgb,var(--ct-primary) 70%,#2f6fd6);color:#fff;font-weight:700;box-shadow:0 10px 22px color-mix(in srgb,var(--ct-primary) 26%,transparent)}body.coding-dark .campus-primary-action,body.coding-dark .campus-recommendation-card button,body.coding-dark .campus-queue-item.featured .campus-primary-action,body.coding-dark .campus-daily-mission .daily-practice-btn{background:linear-gradient(135deg,#3f82e6,#2f6fd6)!important;border-color:#2f6fd6!important;color:#fff!important;box-shadow:0 10px 24px #2f6fd666}body.coding-dark .campus-primary-action:hover:not(:disabled),body.coding-dark .campus-recommendation-card button:hover:not(:disabled),body.coding-dark .campus-queue-item.featured .campus-primary-action:hover:not(:disabled),body.coding-dark .campus-daily-mission .daily-practice-btn:hover:not(:disabled){background:linear-gradient(135deg,#4c8ef0,#3a78de)!important;border-color:#5b9bf0!important;box-shadow:0 12px 28px #2f6fd685}.campus-secondary-action,.campus-queue-item button,.campus-language-card button,.campus-daily-mission .daily-link{background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel));border-color:color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border));color:var(--ct-primary);font-weight:650;box-shadow:none}body.coding-dark .campus-secondary-action,body.coding-dark .campus-queue-item button,body.coding-dark .campus-language-card button,body.coding-dark .campus-daily-mission .daily-link{color:#dbe6f7;border-color:color-mix(in srgb,var(--ct-primary) 46%,var(--ct-border))}body.coding-dark .campus-queue-item .campus-path-list button{border:0;color:#dbe6f7}.campus-primary-action:hover,.campus-secondary-action:hover,.campus-recommendation-card button:hover,.campus-queue-item button:hover,.campus-language-card button:hover,.campus-action-list button:hover,.campus-daily-mission .daily-practice-btn:hover,.campus-daily-mission .daily-link:hover,.floating-chat-button:hover{background:linear-gradient(135deg,var(--ct-accent),color-mix(in srgb,var(--ct-accent) 70%,#ffcf80))!important;border-color:color-mix(in srgb,var(--ct-accent) 80%,var(--ct-primary))!important;color:#17213a!important}body.coding-dark .coding-app{--ct-paper: color-mix(in srgb, var(--ct-panel) 84%, #281b11);--ct-paper-strong: color-mix(in srgb, var(--ct-panel) 74%, #3a2817);--ct-gold-line: color-mix(in srgb, var(--ct-accent) 68%, #f6c66d)}body.coding-dark .campus-progress-strip,body.coding-dark .campus-learning-queue,body.coding-dark .campus-language-card,body.coding-dark .campus-recommendation-card,body.coding-dark .campus-queue-item,body.coding-dark .campus-action-list button,body.coding-dark .campus-stat-chip,body.coding-dark .campus-topic-pill{background-color:var(--ct-paper);border-color:color-mix(in srgb,var(--ct-accent) 20%,var(--ct-border));box-shadow:0 16px 34px #00000047}body.coding-dark .campus-hero-copy h2,body.coding-dark .campus-new-user-card h2,body.coding-dark .campus-recommendation-card strong,body.coding-dark .campus-section-heading h3,body.coding-dark .campus-queue-item strong,body.coding-dark .campus-daily-mission h2,body.coding-dark .campus-stat-chip strong{color:color-mix(in srgb,var(--ct-text) 90%,#fff)}body.coding-dark .campus-hero-copy p,body.coding-dark .campus-new-user-card p,body.coding-dark .campus-queue-item p,body.coding-dark .campus-language-card p{color:color-mix(in srgb,var(--ct-muted) 86%,#f2dfc5)}body.coding-dark .campus-code-preview{background:#090f1f;border-color:color-mix(in srgb,var(--ct-accent) 42%,#1f2a44)}.campus-lab-home .campus-daily-mission{grid-template-columns:minmax(0,1fr) clamp(220px,23%,270px);align-items:start;min-height:0;gap:clamp(16px,2vw,24px);padding:clamp(14px,1.7vw,20px) clamp(18px,2.2vw,24px)}.campus-lab-home .campus-daily-mission .daily-mission-main{align-self:start}.campus-lab-home .campus-daily-mission .daily-mission-aside{align-self:start;gap:12px;justify-content:flex-start}.campus-lab-home .campus-daily-mission .daily-mission-aside .daily-actions{margin-top:0;gap:8px}.campus-lab-home .campus-daily-mission h2{max-width:760px;margin-bottom:.5rem;font-size:clamp(1.28rem,2vw,1.7rem);line-height:1.16}.campus-lab-home .campus-daily-mission .daily-mission-summary{max-width:650px;margin:0 0 .75rem;color:color-mix(in srgb,var(--ct-muted) 82%,var(--ct-primary));font-size:.92rem;line-height:1.45}.campus-lab-home .campus-daily-mission .daily-meta-row{margin-top:.35rem}.campus-lab-home .campus-daily-mission .daily-practice-btn,.campus-lab-home .campus-daily-mission .daily-link{min-height:40px;padding-block:.62rem}.campus-lab-home .campus-daily-mission .daily-handoff-note{margin-top:.25rem;padding:.65rem .75rem;font-size:.8rem}@media (max-width: 560px){.campus-hero-stats{gap:16px}.campus-hero-actions{flex-direction:column;align-items:stretch}.campus-hero-actions .campus-primary-action,.campus-hero-actions .campus-secondary-action{width:100%;justify-content:center}}@media (max-width: 620px){.campus-queue-grid,.campus-queue-grid.two-up,.campus-queue-grid.three-up,.campus-action-list.compact{grid-template-columns:1fr}.campus-queue-item{min-height:0}.campus-action-list.compact button{min-height:0;padding:12px 14px}.campus-action-list.compact button span{white-space:normal}}@media (max-width: 490px){.campus-lab-home{gap:16px}.starting-check-modal-backdrop{align-items:stretch;padding:10px}.starting-check-modal{max-height:calc(100vh - 20px);align-self:center;border-radius:18px}.starting-check-modal-head,.starting-check-footer{align-items:stretch;flex-direction:column}.starting-check-options{grid-template-columns:1fr}.starting-check-footer>div{justify-content:stretch}.starting-check-footer button{flex:1 1 120px}.campus-lab-hero,.campus-progress-strip,.campus-learning-queue,.campus-daily-mission,.campus-new-user-card,.campus-tutor-actions{border-radius:18px;padding:16px}.campus-hero-copy h2,.campus-new-user-card h2{font-size:clamp(1.5rem,7vw,1.9rem)}.campus-section-heading h3{font-size:1.05rem;line-height:1.3}.campus-queue-item strong,.campus-queue-item.featured strong{font-size:1.05rem}.campus-queue-item>span{white-space:normal}.campus-queue-item button{width:100%}}@media (max-width: 490px){.campus-daily-mission{grid-template-columns:1fr;align-items:stretch}.campus-daily-mission .daily-mission-aside{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border));padding-top:14px}.campus-daily-mission h2{font-size:1.4rem;line-height:1.15}.campus-daily-mission .daily-mission-aside .daily-actions{flex-direction:column}.campus-daily-mission .daily-mission-aside .daily-practice-btn,.campus-daily-mission .daily-mission-aside .daily-link{width:100%}}body.coding-dark .quiz-bank-page .quiz-problem-card{background:#1f2a44!important;background-color:#1f2a44!important;border:1px solid rgba(245,176,92,.18)!important;border-top:3px solid transparent!important;box-shadow:0 2px 8px #00000040!important}body.coding-dark .quiz-bank-page .quiz-problem-desc{color:var(--ct-soft, #a6b0c2)}body.coding-dark .quiz-bank-page .quiz-problem-card:hover{border-color:#3b82f68c!important;border-top-color:#3b82f6!important;box-shadow:0 14px 30px #0006,0 0 0 1px #3b82f647!important}body.coding-dark .quiz-bank-page .quiz-problem-card:focus-visible{border-top-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f659!important}body.coding-dark .workspace-tabs button.active,body.coding-dark .floating-chat-button,body.coding-dark .coding-problem-empty button{background:linear-gradient(135deg,#3f82e6,#2f6fd6)!important;border-color:#2f6fd6!important;color:#fff!important;box-shadow:0 8px 20px #2f6fd661!important}body.coding-dark .floating-chat-button:hover,body.coding-dark .coding-problem-empty button:hover{background:linear-gradient(135deg,#4c8ef0,#3a78de)!important;border-color:#5b9bf0!important;color:#fff!important;box-shadow:0 10px 24px #2f6fd680!important}.coding-app .campus-section-nav .coding-nav-more{position:relative;flex:0 0 auto}.coding-app .campus-section-nav .coding-nav-more>summary,.coding-app .campus-section-nav .coding-nav-more>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border:1px solid var(--ct-border);border-radius:999px;background:var(--ct-panel);color:var(--ct-muted);font-size:.85rem;font-weight:600;cursor:pointer;list-style:none}.coding-app .campus-section-nav .coding-nav-more>summary::-webkit-details-marker{display:none}.coding-app .campus-section-nav .coding-nav-more>summary:hover,.coding-app .campus-section-nav .coding-nav-more>summary:focus-visible,.coding-app .campus-section-nav .coding-nav-more>button:hover,.coding-app .campus-section-nav .coding-nav-more>button:focus-visible{background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel));border-color:color-mix(in srgb,var(--ct-primary) 42%,var(--ct-border));color:var(--ct-primary)}.coding-app .campus-section-nav .coding-nav-more>summary.active,.coding-app .campus-section-nav .coding-nav-more>button.active{background:var(--ct-primary);border-color:var(--ct-primary);color:#fff}.coding-nav-more-menu{position:absolute;z-index:80;top:calc(100% + 9px);right:0;display:grid;width:220px;padding:8px;border:1px solid var(--ct-border);border-radius:14px;background:var(--ct-panel);box-shadow:0 16px 36px #0f254529}.coding-nav-more:not(.open) .coding-nav-more-menu{display:none}.coding-app .campus-section-nav .coding-nav-more-menu>button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0;min-height:40px;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:var(--ct-text);font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.coding-app .campus-section-nav .coding-nav-more-menu .coding-nav-menu-icon{display:inline-grid;width:24px;min-width:24px;height:24px;place-items:center;color:currentColor;font-size:.92rem}.coding-app .campus-section-nav .coding-nav-more-menu .coding-nav-menu-icon svg{width:1em;height:1em;fill:currentColor}.coding-app .campus-section-nav .coding-nav-more-menu>button>span:last-child{min-width:0;overflow-wrap:normal;white-space:normal}.coding-app .campus-section-nav .coding-nav-more-menu>button:hover,.coding-app .campus-section-nav .coding-nav-more-menu>button:focus-visible,.coding-app .campus-section-nav .coding-nav-more-menu>button.active{background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel))!important;color:var(--ct-primary)!important;box-shadow:none!important;transform:none!important}.coding-app .campus-section-nav>button:hover,.coding-app .campus-section-nav>button:focus-visible{background:color-mix(in srgb,var(--ct-primary) 9%,var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-primary) 42%,var(--ct-border))!important;color:var(--ct-primary)!important}.coding-app .campus-section-nav>button.active{border-color:var(--ct-primary)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--ct-primary) 24%,transparent)!important}.coding-app .campus-section-nav>button.active:after{background:var(--ct-primary)!important}body.coding-dark .coding-nav-more-menu{box-shadow:0 18px 38px #0000006b}@media (max-width: 1180px){.coding-app .campus-section-nav .coding-nav-more>summary,.coding-app .campus-section-nav .coding-nav-more>button{width:42px;min-width:42px;height:42px;min-height:42px;padding:0}.coding-app .campus-section-nav .coding-nav-more>summary .coding-nav-label,.coding-app .campus-section-nav .coding-nav-more>button .coding-nav-label{display:none}}@media (max-width: 520px){.coding-app .campus-section-nav .coding-nav-more{position:relative}.coding-app .campus-section-nav .coding-nav-more-menu{left:auto;right:0;transform:none;width:min(210px,calc(100vw - 18px))!important;min-width:176px;padding:7px;border-radius:13px}.coding-app .campus-section-nav .coding-nav-more-menu>button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:40px;gap:8px;padding:8px 9px;font-size:.8rem;line-height:1.25;white-space:normal}.coding-app .campus-section-nav .coding-nav-more-menu>button .coding-nav-menu-icon{width:24px!important;min-width:24px!important;height:24px!important;justify-content:center;font-size:.9rem}.coding-app .campus-section-nav .coding-nav-more-menu>button>span:last-child{min-width:0;overflow-wrap:normal;white-space:normal}}.coding-app .learn-back-link,.coding-app .practice-back-btn,.coding-app .cq-back-link{min-height:34px;padding:6px 8px!important;border:0!important;border-radius:8px!important;background:transparent!important;background-color:transparent!important;color:color-mix(in srgb,var(--ct-text) 66%,transparent)!important;box-shadow:none!important;transform:none!important}.coding-app .learn-back-link:hover:not(:disabled),.coding-app .practice-back-btn:hover:not(:disabled),.coding-app .cq-back-link:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 7%,transparent)!important;background-color:color-mix(in srgb,var(--ct-primary) 7%,transparent)!important;border-color:transparent!important;color:var(--ct-text)!important;box-shadow:none!important;transform:none!important}.coding-app .learn-back-link:hover:not(:disabled) svg,.coding-app .practice-back-btn:hover:not(:disabled) svg{transform:translate(-3px)}.coding-app .cq-btn-ghost,.coding-app .campus-secondary-action,.coding-app .campus-queue-item:not(.featured) button,.coding-app .campus-language-card button,.coding-app .campus-daily-mission .daily-link,.coding-app .starting-check-link{min-height:40px;padding:9px 15px;border-color:color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel))!important;color:var(--ct-primary)!important;box-shadow:none!important}.coding-app .cq-btn-ghost:hover:not(:disabled),.coding-app .campus-secondary-action:hover:not(:disabled),.coding-app .campus-queue-item:not(.featured) button:hover:not(:disabled),.coding-app .campus-language-card button:hover:not(:disabled),.coding-app .campus-daily-mission .daily-link:hover:not(:disabled),.coding-app .starting-check-link:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-primary) 38%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 10%,var(--ct-panel))!important;color:var(--ct-primary)!important;box-shadow:0 6px 14px color-mix(in srgb,var(--ct-primary) 10%,transparent)!important;transform:none!important}.coding-app .cq-btn-primary:hover:not(:disabled),.coding-app .campus-primary-action:hover:not(:disabled),.coding-app .campus-recommendation-card button:hover:not(:disabled),.coding-app .campus-queue-item.featured button:hover:not(:disabled),.coding-app .campus-daily-mission .daily-practice-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--ct-primary) 86%,#2f6fd6)!important;background:linear-gradient(135deg,#2f6fd6,var(--ct-primary))!important;color:#fff!important;box-shadow:0 10px 22px color-mix(in srgb,var(--ct-primary) 22%,transparent)!important;transform:translateY(-1px)}body.coding-dark .coding-app .learn-back-link,body.coding-dark .coding-app .practice-back-btn,body.coding-dark .coding-app .cq-back-link{color:color-mix(in srgb,#dbe6f7 72%,transparent)!important}body.coding-dark .coding-app .learn-back-link:hover:not(:disabled),body.coding-dark .coding-app .practice-back-btn:hover:not(:disabled),body.coding-dark .coding-app .cq-back-link:hover:not(:disabled){background:#3b82f61f!important;background-color:#3b82f61f!important;color:#f8fbff!important}body.coding-dark .coding-app .cq-btn-ghost,body.coding-dark .coding-app .campus-secondary-action,body.coding-dark .coding-app .campus-queue-item:not(.featured) button,body.coding-dark .coding-app .campus-language-card button,body.coding-dark .coding-app .campus-daily-mission .daily-link,body.coding-dark .coding-app .starting-check-link{background:#3b82f61a!important;border-color:#93c5fd57!important;color:#dbeafe!important}body.coding-dark .coding-app .cq-btn-ghost:hover:not(:disabled),body.coding-dark .coding-app .campus-secondary-action:hover:not(:disabled),body.coding-dark .coding-app .campus-queue-item:not(.featured) button:hover:not(:disabled),body.coding-dark .coding-app .campus-language-card button:hover:not(:disabled),body.coding-dark .coding-app .campus-daily-mission .daily-link:hover:not(:disabled),body.coding-dark .coding-app .starting-check-link:hover:not(:disabled){background:#3b82f62e!important;border-color:#93c5fd85!important;color:#fff!important;box-shadow:0 8px 18px #3b82f629!important}@media (max-width: 430px){.coding-app .campus-lab-home{gap:14px}.coding-app .campus-lab-hero,.coding-app .campus-daily-mission,.coding-app .campus-learning-queue,.coding-app .campus-tutor-actions,.coding-app .campus-new-user-card,.coding-app .campus-progress-strip{border-radius:16px;padding:14px}.coding-app .campus-hero-copy{padding-left:0}.coding-app .campus-hero-copy h2{margin-bottom:.55rem;font-size:clamp(1.42rem,7.4vw,1.8rem);line-height:1.08}.coding-app .campus-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:8px 22px;align-items:end;margin-bottom:.8rem}.coding-app .campus-hero-stats span{min-width:0}.coding-app .campus-hero-stats strong{font-size:clamp(1.55rem,8vw,1.9rem);line-height:1}.coding-app .campus-hero-stats small{font-size:.66rem;letter-spacing:.06em}.coding-app .campus-hero-actions{gap:10px;margin-bottom:.85rem}.coding-app .campus-hero-actions .campus-primary-action,.coding-app .campus-hero-actions .campus-secondary-action{min-height:42px;padding:.68rem .9rem;font-size:.82rem}.coding-app .campus-hero-focus{gap:6px;padding:10px 12px}.coding-app .campus-hero-focus-label{font-size:.64rem}.coding-app .campus-hero-focus-text{flex-basis:100%;font-size:.88rem;line-height:1.38}.coding-app .campus-daily-mission{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border-top-width:3px}.coding-app .campus-daily-mission .daily-mission-main,.coding-app .campus-daily-mission .daily-mission-aside{min-width:0}.coding-app .campus-daily-mission .daily-mission-aside{border-left:0;border-top:1px solid color-mix(in srgb,var(--ct-accent) 18%,var(--ct-border));padding:10px 0 0}.coding-app .campus-daily-mission h2{max-width:none;margin:.25rem 0 .5rem;font-size:clamp(1.22rem,6vw,1.52rem);line-height:1.12;overflow-wrap:anywhere;word-break:normal}.coding-app .campus-daily-mission .coding-kicker{font-size:.64rem;line-height:1.25}.coding-app .campus-daily-mission .daily-mission-summary{margin-bottom:.55rem;font-size:.84rem;line-height:1.38}.coding-app .campus-daily-mission .daily-meta-row{gap:6px}.coding-app .campus-daily-mission .daily-mission-facts{margin:0}.coding-app .campus-daily-mission .daily-mission-facts>div{gap:4px}.coding-app .campus-daily-mission .daily-mission-facts dt{font-size:.62rem}.coding-app .campus-daily-mission .daily-mission-facts dd{font-size:.86rem;line-height:1.3;overflow-wrap:anywhere}.coding-app .campus-daily-mission .daily-mission-aside .daily-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:0}.coding-app .campus-daily-mission .daily-practice-btn,.coding-app .campus-daily-mission .daily-link{width:100%;min-height:38px;padding:.58rem .78rem;font-size:.78rem;line-height:1.15}.coding-app .campus-daily-mission .daily-handoff-note{margin-top:.6rem;padding:.62rem .7rem;font-size:.78rem;line-height:1.35}}@media (max-width: 360px){.coding-app .campus-lab-hero,.coding-app .campus-daily-mission,.coding-app .campus-learning-queue,.coding-app .campus-tutor-actions,.coding-app .campus-new-user-card,.coding-app .campus-progress-strip{padding:12px}.coding-app .campus-hero-stats{gap:8px 16px}.coding-app .campus-hero-stats strong{font-size:1.48rem}.coding-app .campus-daily-mission h2{font-size:1.16rem}.coding-app .campus-daily-mission .daily-mission-summary{font-size:.8rem}.coding-app .campus-daily-mission .daily-practice-btn,.coding-app .campus-daily-mission .daily-link{min-height:36px;font-size:.74rem}}@media (max-width: 430px){.coding-app .quiz-bank-page,.coding-app .quiz-bank-layout,.coding-app .quiz-library{min-width:0}.coding-app .quiz-problem-card{gap:7px;min-width:0;padding:11px 10px;border-radius:12px}.coding-app .quiz-problem-top{gap:8px}.coding-app .quiz-problem-name{min-width:0;font-size:.95rem;line-height:1.2}.coding-app .quiz-status-pill{padding:2px 8px;font-size:.64rem}.coding-app .quiz-problem-desc{font-size:.78rem;line-height:1.38;height:2.1528rem}.coding-app .quiz-problem-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(52px,auto);gap:6px;padding-top:8px}.coding-app .quiz-problem-tags{gap:5px;min-width:0;overflow:hidden}.coding-app .quiz-tag{max-width:104px;padding:2px 7px;font-size:.66rem;overflow:hidden;text-overflow:ellipsis}.coding-app .quiz-foot-right{gap:0;min-width:0}.coding-app .quiz-lang-pills,.coding-app .quiz-problem-card:hover .quiz-lang-pills,.coding-app .quiz-problem-card:focus-visible .quiz-lang-pills,.coding-app .quiz-problem-card:focus-within .quiz-lang-pills{display:none;max-width:0}.coding-app .quiz-problem-action{min-width:54px;padding:5px 9px;font-size:.72rem;text-align:center}}@media (max-width: 360px){.coding-app .quiz-problem-card{padding:10px 9px}.coding-app .quiz-problem-name{font-size:.9rem}.coding-app .quiz-status-pill{padding-inline:7px}.coding-app .quiz-tag{max-width:88px;font-size:.62rem}.coding-app .quiz-problem-action{min-width:50px;padding-inline:7px;font-size:.67rem}.coding-app .quiz-bank-page .quiz-insight-panel{border-radius:14px!important;padding:12px 14px!important}.coding-app .practice-guide-title{margin-bottom:2px;font-size:.98rem}.coding-app .practice-guide-section h3{margin-bottom:6px;font-size:.68rem}.coding-app .practice-guide-focus{padding:9px 10px}.coding-app .practice-guide-weakest.is-mastery{align-items:flex-start;flex-wrap:wrap;gap:5px 8px}.coding-app .practice-guide-weakest.is-mastery strong{font-size:.92rem}.coding-app .practice-guide-reason{display:-webkit-box;margin:6px 0 8px;overflow:hidden;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35}.coding-app .practice-guide-focus-cta{padding:7px 10px;font-size:.74rem}.coding-app .practice-guide-patterns li{padding:8px 9px}.coding-app .practice-guide-patterns p,.coding-app .practice-guide-patterns small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}}body .coding-app{--ct-bg: #f6f8fc;--ct-panel: #ffffff;--ct-panel-soft: #f8fafc;--ct-panel-raised: #ffffff;--ct-border: #dbe3ef;--ct-border-strong: #b8c5d8;--ct-primary: #0b2545;--ct-primary-hover: #123257;--ct-primary-soft: rgba(11, 37, 69, .06);--ct-accent: #f37021;--ct-accent-soft: rgba(243, 112, 33, .1);--ct-success: #2f8f4e;--ct-text: #0b2545;--ct-muted: #64748b;--ct-soft: #94a3b8;--ct-paper: #ffffff;--ct-paper-strong: #f8fafc;--ct-gold-line: color-mix(in srgb, var(--ct-accent) 38%, var(--ct-border));--ct-editor-bg: #11192c;--ct-editor-text: #e7ecf5;--ct-terminal-bg: #0c1322;--ct-terminal-text: #d8e2f4}body .coding-app .quiz-bank-page .quiz-insight-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel)),var(--ct-panel))!important;border-color:color-mix(in srgb,var(--ct-primary) 20%,var(--ct-border))!important;border-top-color:var(--ct-primary)!important}body .coding-app .practice-guide-weakest,body .coding-app .practice-guide-focus{border-left-color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-primary) 6%,var(--ct-panel))!important}body .coding-app .practice-guide-focus-cta{border-color:color-mix(in srgb,var(--ct-primary) 34%,transparent)!important;color:var(--ct-primary)!important}body .coding-app .practice-guide-focus-cta:hover{background:color-mix(in srgb,var(--ct-primary) 9%,transparent)!important;border-color:var(--ct-primary)!important}body .coding-app .practice-guide-focus-cta:focus-visible{outline-color:var(--ct-primary)!important}body .coding-app .learn-list-head h2 svg,body .coding-app .lesson-check-kicker{color:var(--ct-primary)!important}body .coding-app .learn-lesson-card:hover:not(.locked),body .coding-app .lesson-check-choice:hover:not(:disabled){border-color:var(--ct-primary)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--ct-primary) 12%,transparent)!important}body .coding-app .lesson-check,body .coding-app .lesson-check-choice:hover:not(:disabled){background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel))!important}body .coding-app .learn-lesson-card:focus-visible,body .coding-app .lesson-check-choice:focus-visible{outline-color:var(--ct-primary)!important}body .coding-app .coding-stat-tile.stat-streak,body .coding-app .personal-empty,body .coding-app .campus-queue-item.personal,body .coding-app .campus-queue-item.focus{border-color:color-mix(in srgb,var(--ct-primary) 24%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 5%,var(--ct-panel))!important}body .coding-app .personal-snippet-item:hover,body .coding-app .personal-snippet-item.active{border-color:color-mix(in srgb,var(--ct-primary) 46%,var(--ct-border))!important}body .coding-app .personal-snippet-item.active{background:color-mix(in srgb,var(--ct-primary) 8%,var(--ct-panel-soft))!important}body .coding-app .personal-new-btn:hover,body .coding-app .campus-queue-item.personal button:hover,body .coding-app .campus-queue-item.focus button:hover{background:var(--ct-primary)!important;border-color:var(--ct-primary)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--ct-primary) 24%,transparent)!important}body.coding-dark .coding-app{--ct-success: #79d99b;--ct-soft: #a6b0c2;--ct-paper: #1b2942;--ct-paper-strong: #223150;--ct-gold-line: color-mix(in srgb, var(--ct-accent) 42%, var(--ct-border))}.chat-main.coding-chat-main{background:#f6f8fc}body.coding-dark .chat-main.coding-chat-main{background:#071426}html:has(body.coding-dark),body.coding-dark,body.coding-dark #root,body.coding-dark .app-layout,body.coding-dark .chat-main,body.coding-dark .coding-app{background:#071426!important}body.coding-dark .navbar,body.coding-dark .navbar .nav-container{background:#071426!important;border-color:#2f4a7a!important}body.coding-dark .navbar .brand-main{color:#f1f5fb!important}body.coding-dark .navbar .brand-sub{color:#aab8cc!important}body.coding-dark .navbar .sidebar-menu-btn{color:#e6eefb!important;border-color:#8faed773!important}body.coding-dark .navbar .sidebar-menu-btn:hover{background:#8faed729!important;border-color:#8fb4e0!important;color:#fff!important}body.coding-dark .navbar .nav-pill{background:#16223a!important;border-color:#32466a!important;color:#d7e2f2!important}body.coding-dark .navbar .nav-pill svg{color:#d7e2f2!important}body.coding-dark .navbar .nav-pill:hover{background:#1e2d49!important;border-color:#8fb4e0!important;color:#fff!important}body.coding-dark .navbar .nav-pill.active{background:#2f6fd6!important;border-color:#2f6fd6!important;color:#fff!important}body.coding-dark .navbar .nav-pill.active svg{color:#fff!important}body.coding-dark .navbar .nav-dropdown-menu{background:#142a4f!important;border-color:#2f4a7a!important;box-shadow:0 18px 42px #050a128c!important}body.coding-dark .navbar .nav-dropdown-item{color:#d7e2f2!important}body.coding-dark .navbar .nav-dropdown-item:hover{background:#8fb4e02e!important;color:#fff!important}body.coding-dark .navbar .nav-dropdown-item.active{background:#2f6fd6!important;color:#fff!important}body.coding-dark .navbar .admin-nav-btn{color:#fff!important;border-color:#3a4c6b!important}body.coding-dark .coding-app{--cq-hover-blue: #3b82f6;--cq-hover-glow: rgba(59, 130, 246, .28);--cq-hover-wash: rgba(59, 130, 246, .08)}body.coding-dark .coding-app button:hover,body.coding-dark .coding-app select:hover,body.coding-dark .coding-app textarea:hover,body.coding-dark .coding-app a:hover,body.coding-dark .coding-app [role=button]:hover,body.coding-dark .coding-app li:hover,body.coding-dark .coding-app tr:hover,body.coding-dark .coding-app .cq-accordion-item:hover,body.coding-dark .coding-app .cq-accordion-head:hover,body.coding-dark .coding-app .coding-prompt-card:hover,body.coding-dark .coding-app .coding-recent-card:hover,body.coding-dark .coding-app .daily-feature-card:hover,body.coding-dark .coding-app .quiz-problem-card:hover,body.coding-dark .coding-app .quiz-insight-panel:hover,body.coding-dark .coding-app .cq-language-card:hover,body.coding-dark .coding-app .personal-snippet-item:hover,body.coding-dark .coding-app .practice-chip:hover,body.coding-dark .coding-app .cq-choice:hover{--ct-accent: var(--cq-hover-blue) !important;--ct-accent-soft: var(--cq-hover-wash) !important}body.coding-dark .coding-app .cq-tab.active{border-bottom-color:var(--cq-hover-blue)!important}.coding-app .cq-question-table .cq-question-link,.coding-app .cq-question-table .cq-question-link:hover,.coding-app .cq-question-table .cq-question-link:focus,.coding-app .cq-question-table .cq-question-link:focus-visible,.coding-app .cq-question-table tbody tr:hover .cq-question-link{background:none!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important;transform:none!important;padding:0!important}.coding-app .cq-question-table tbody tr:hover .cq-question-link{color:var(--ct-accent)!important;text-decoration:underline!important;text-underline-offset:2px!important}body.coding-dark .coding-app .cq-question-table tbody tr:hover .cq-question-link{color:#93b4f5!important}.coding-app .workspace-tabs>button,.coding-app .workspace-tabs>button:hover,.coding-app .workspace-tabs>button:focus,.coding-app .workspace-tabs>button:focus-visible,.coding-app .workspace-tabs>button:active,.coding-app .workspace-tabs>button.active,.coding-app .workspace-tabs>button.active:hover,.coding-app .workspace-tabs>button.active:focus,.coding-app .workspace-tabs>button.active:focus-visible,.coding-app .workspace-tabs>button.terminal-tab.active,body.coding-dark .coding-app .workspace-tabs>button,body.coding-dark .coding-app .workspace-tabs>button:hover,body.coding-dark .coding-app .workspace-tabs>button:focus,body.coding-dark .coding-app .workspace-tabs>button:focus-visible,body.coding-dark .coding-app .workspace-tabs>button:active,body.coding-dark .coding-app .workspace-tabs>button.active,body.coding-dark .coding-app .workspace-tabs>button.active:hover:not(:disabled),body.coding-dark .coding-app .workspace-tabs>button.active:focus-visible,body.coding-dark .coding-app .workspace-tabs>button.terminal-tab.active{background:transparent!important;background-color:transparent!important;background-image:none!important;border:none!important;border-radius:0!important;border-bottom:3px solid transparent!important;box-shadow:none!important;outline:none!important;transform:none!important;margin-bottom:-1px;padding:.4rem .15rem .5rem!important;font-weight:600;font-size:.95rem}.coding-app .workspace-tabs>button{color:var(--ct-muted)!important}.coding-app .workspace-tabs>button:hover{color:var(--ct-text)!important}body.coding-dark .coding-app .workspace-tabs>button:hover{color:#eaf0fb!important}.coding-app .workspace-tabs>button.active{color:var(--ct-primary)!important;font-weight:700;border-bottom-color:var(--ct-accent)!important}body.coding-dark .coding-app .workspace-tabs>button.active{color:#eaf0fb!important;border-bottom-color:#3b82f6!important}.coding-app .workspace-tabs{align-items:center!important;gap:.55rem!important;padding:.2rem .35rem 0!important;border-bottom:1px solid color-mix(in srgb,var(--ct-border, #d8cbb8) 86%,transparent)!important;background:linear-gradient(180deg,#ffffffb8,#f8fafc85)!important}body.coding-dark .coding-app .workspace-tabs{border-bottom-color:#94a3b838!important;background:linear-gradient(180deg,#0f172ab8,#0f172a7a)!important}.coding-app .workspace-tabs>button,.coding-app .workspace-tabs>button:hover,.coding-app .workspace-tabs>button:focus-visible,.coding-app .workspace-tabs>button.active,.coding-app .workspace-tabs>button.active:hover{min-height:34px!important;padding:.48rem .2rem .56rem!important;letter-spacing:.01em!important;color:color-mix(in srgb,var(--ct-text, #10243a) 62%,#64748b)!important;border-bottom-color:transparent!important}.coding-app .workspace-tabs>button:hover{color:var(--ct-primary, #002d72)!important}.coding-app .workspace-tabs>button:focus-visible{outline:2px solid color-mix(in srgb,var(--ct-primary, #002d72) 34%,transparent)!important;outline-offset:3px!important}.coding-app .workspace-tabs>button.active,.coding-app .workspace-tabs>button.active:hover{color:var(--ct-primary, #002d72)!important;border-bottom-color:var(--ct-primary, #002d72)!important}body.coding-dark .coding-app .workspace-tabs>button,body.coding-dark .coding-app .workspace-tabs>button:hover,body.coding-dark .coding-app .workspace-tabs>button:focus-visible,body.coding-dark .coding-app .workspace-tabs>button.active,body.coding-dark .coding-app .workspace-tabs>button.active:hover{color:#aebbd0!important}body.coding-dark .coding-app .workspace-tabs>button:hover,body.coding-dark .coding-app .workspace-tabs>button.active,body.coding-dark .coding-app .workspace-tabs>button.active:hover{color:#f4f8ff!important;border-bottom-color:#6ea8fe!important}body .coding-app{--ct-bg: #f6f8fc;--ct-panel: #ffffff;--ct-panel-soft: #f8fafc;--ct-panel-raised: #ffffff;--ct-surface: var(--ct-panel);--ct-surface-soft: var(--ct-panel-soft);--ct-surface-strong: var(--ct-panel-raised);--ct-solid-panel: var(--ct-panel);--ct-solid-soft: var(--ct-panel-soft);--ct-solid-raised: var(--ct-panel-raised);--ct-border: #dbe3ef;--ct-border-strong: #b8c5d8;--ct-text: #0b2545;--ct-muted: #64748b;--ct-soft: #94a3b8;--ct-faint: #a8b4c7;--ct-primary: #0b2545;--ct-primary-hover: #123257;--ct-primary-soft: rgba(11, 37, 69, .06);--ct-accent: #f37021;--ct-accent-soft: rgba(243, 112, 33, .1);--ct-accent-strong: #c2410c;--ct-info: #2563eb;--ct-info-soft: rgba(37, 99, 235, .1);--ct-success: #2f8f4e;--ct-success-soft: rgba(47, 143, 78, .12);--ct-warning: #b7791f;--ct-warning-soft: rgba(183, 121, 31, .12);--ct-danger: #b91c1c;--ct-danger-soft: rgba(185, 28, 28, .1);--ct-focus: #2563eb;--ct-on-primary: #ffffff;--ct-on-accent: #172033;--ct-shadow-sm: 0 6px 16px rgba(15, 23, 42, .08);--ct-shadow-md: 0 12px 30px rgba(15, 23, 42, .12);--ct-shadow-lg: 0 24px 56px rgba(15, 23, 42, .18);--ct-editor-bg: #11192c;--ct-editor-text: #e7ecf5;--ct-terminal-bg: #0c1322;--ct-terminal-text: #d8e2f4}body.coding-dark .coding-app{--ct-bg: #071426 !important;--ct-panel: #102849 !important;--ct-panel-soft: #0d203c !important;--ct-panel-raised: #193962 !important;--ct-surface: var(--ct-panel) !important;--ct-surface-soft: var(--ct-panel-soft) !important;--ct-surface-strong: var(--ct-panel-raised) !important;--ct-solid-panel: var(--ct-panel) !important;--ct-solid-soft: var(--ct-panel-soft) !important;--ct-solid-raised: var(--ct-panel-raised) !important;--ct-border: #3d5f91 !important;--ct-border-strong: #6e8fbd !important;--ct-text: #f3f7ff !important;--ct-muted: #c8d4e8 !important;--ct-soft: #b5c2d8 !important;--ct-faint: #98a9c2 !important;--ct-primary: #9cc5f3 !important;--ct-primary-hover: #bdd8f8 !important;--ct-primary-soft: rgba(156, 197, 243, .22) !important;--ct-accent: #ffb86b !important;--ct-accent-soft: rgba(255, 184, 107, .24) !important;--ct-accent-strong: #ffd3a0 !important;--ct-info: #8bbdff !important;--ct-info-soft: rgba(139, 189, 255, .18) !important;--ct-success: #79d99b !important;--ct-success-soft: rgba(121, 217, 155, .14) !important;--ct-warning: #fbbf24 !important;--ct-warning-soft: rgba(251, 191, 36, .14) !important;--ct-danger: #f87171 !important;--ct-danger-soft: rgba(248, 113, 113, .14) !important;--ct-focus: #8bbdff !important;--ct-on-primary: #07111f !important;--ct-on-accent: #172033 !important;--ct-shadow-sm: 0 6px 16px rgba(0, 0, 0, .3) !important;--ct-shadow-md: 0 14px 34px rgba(0, 0, 0, .38) !important;--ct-shadow-lg: 0 26px 64px rgba(3, 8, 16, .68) !important;--ct-editor-bg: #09192e !important;--ct-editor-text: #eaf0fb !important;--ct-terminal-bg: #071426 !important;--ct-terminal-text: #dce7f8 !important;--cq-hover-blue: #3b82f6 !important;--cq-hover-glow: rgba(59, 130, 246, .28) !important;--cq-hover-wash: rgba(59, 130, 246, .08) !important}body.coding-dark{--ct-bg: #071426}body.coding-dark .floating-coding-chat{--ct-float-panel: var(--ct-panel-raised, #193962);--ct-float-panel-soft: var(--ct-panel-soft, #0d203c);--ct-float-panel-base: var(--ct-panel, #102849);--ct-float-text: var(--ct-text, #eaf0fb);--ct-float-muted: var(--ct-muted, #b3c1da);--ct-float-border: var(--ct-border, #3d5f91);--ct-float-border-strong: var(--ct-border-strong, #6e8fbd);--ct-float-primary: var(--ct-primary, #9cc5f3);--ct-float-accent: var(--ct-accent, #f7a054);--ct-float-accent-soft: var(--ct-accent-soft, rgba(247, 160, 84, .2))}body.coding-dark,body.coding-dark #root,body.coding-dark .app-layout,body.coding-dark .chat-main,body.coding-dark .coding-app{background:var(--ct-bg, #071426)!important}body .coding-app :is(.coding-section-nav,.practice-progress-overview,.daily-feature-card,.coding-page-panel,.quiz-library,.quiz-insight-panel,.quiz-problem-card,.coding-problem-panel,.coding-editor-center,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.ai-status-card,.learn-lesson-card,.lesson-visual-modal,.lesson-visual-stage,.workspace-visualizer-panel,.workspace-visualizer-guidance){border-color:var(--ct-border)!important;color:var(--ct-text)!important}body.coding-dark .coding-app :is(.daily-feature-card,.coding-page-panel,.quiz-library,.quiz-insight-panel,.quiz-problem-card,.coding-problem-panel,.coding-editor-center,.workspace-hints-panel,.workspace-discussion-panel,.workspace-hidden-panel,.learn-lesson-card,.workspace-visualizer-panel,.workspace-visualizer-guidance){background-color:var(--ct-panel)!important}body.coding-dark .coding-app :is(.daily-feature-card,.quiz-problem-card,.learn-lesson-card,.coding-prompt-card,.coding-recent-card,.cq-accordion-item,.practice-guide-focus,.practice-guide-weakest){border-color:var(--ct-border-strong)!important}body .coding-app :is(input,select,textarea,.coding-select,.practice-search input,.lesson-check-choice){background:var(--ct-panel)!important;border-color:var(--ct-border)!important;color:var(--ct-text)!important}body .coding-app :is(input,select,textarea)::placeholder{color:var(--ct-muted)!important}body .coding-app .code-editor-lang-select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;min-width:98px;border:1px solid color-mix(in srgb,var(--ct-accent) 22%,var(--ct-border))!important;border-radius:999px!important;background-color:var(--ct-panel)!important;color:var(--ct-text)!important;padding:4px 24px 4px 10px!important;font-weight:700!important;letter-spacing:.045em!important;background-image:none!important}body .coding-app .code-editor-lang-select:hover:not(:disabled),body .coding-app .code-editor-lang-select:focus-visible{border-color:var(--ct-accent)!important;background-color:color-mix(in srgb,var(--ct-accent) 8%,var(--ct-panel))!important}body .coding-app .code-editor-lang-select:focus-visible{outline:2px solid color-mix(in srgb,var(--ct-focus) 50%,transparent)!important;outline-offset:2px!important}body.coding-dark .coding-app .code-editor-lang-select{border-color:color-mix(in srgb,var(--ct-accent) 52%,var(--ct-border))!important;background-color:#071426!important;color:var(--ct-text)!important;background-image:none!important}body.coding-dark .coding-app .code-editor-lang-select:hover:not(:disabled),body.coding-dark .coding-app .code-editor-lang-select:focus-visible{background-color:color-mix(in srgb,var(--ct-accent) 12%,#071426)!important;color:#fff!important}body.coding-dark .coding-app .code-editor-lang-control:after{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ct-accent) 45%,transparent))}body.coding-dark .coding-app.coding-workspace-active .workspace-tabs{background:var(--ct-panel)!important;border-color:color-mix(in srgb,var(--ct-border) 86%,var(--ct-editor-bg))!important}body.coding-dark .coding-app.coding-workspace-active .editor-terminal-stack{border:1px solid color-mix(in srgb,var(--ct-border) 86%,var(--ct-editor-bg));border-top:0;border-radius:0 0 12px 12px;background:var(--ct-editor-bg);overflow:hidden}body.coding-dark .coding-app.coding-workspace-active .workspace-tab-body{overflow:hidden}body.coding-dark .coding-app.coding-workspace-active .code-editor-window{border-top:0;border-right:0;border-left:0;border-bottom:0;border-radius:0 0 12px 12px;box-shadow:none}body.coding-dark .coding-app.coding-workspace-active .code-editor-titlebar{border-top:0}body.coding-dark .coding-app .code-editor-gutter{color:#9fb4d2;background:linear-gradient(90deg,#06101f,#08182c)!important;border-right-color:color-mix(in srgb,var(--ct-accent) 42%,var(--ct-border))!important;box-shadow:inset -1px 0 #ffffff14,8px 0 18px #00000024}body.coding-dark .coding-app .code-editor-line-no.active{color:var(--ct-accent)!important;background:color-mix(in srgb,var(--ct-accent) 20%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent) 30%,transparent),0 0 14px color-mix(in srgb,var(--ct-accent) 22%,transparent)}body.coding-dark .coding-app .code-editor-active-line-layer{background:color-mix(in srgb,var(--ct-primary) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-primary) 10%,transparent),0 0 12px #0000001a}body.coding-dark .coding-app .code-editor-active-indent-guide{background:linear-gradient(180deg,color-mix(in srgb,var(--ct-accent) 8%,transparent),color-mix(in srgb,var(--ct-accent) 64%,transparent),color-mix(in srgb,var(--ct-accent) 8%,transparent));box-shadow:0 0 10px color-mix(in srgb,var(--ct-accent) 18%,transparent)}body .coding-app :is(.coding-section-nav,.coding-editor-center,.coding-problem-panel,.floating-chat-window){box-shadow:var(--ct-shadow-md)!important}body .coding-app :is(.terminal-status.passed,.recent-diff.easy,.recent-status.solved,.lesson-check-choice.is-correct,.lesson-check-why.is-correct .lesson-check-verdict){color:var(--ct-success)!important}body .coding-app :is(.terminal-status.running,.lesson-check-why.is-wrong .lesson-check-verdict){color:var(--ct-warning)!important}body .coding-app :is(.terminal-status.failed,.terminal-status.error,.recent-diff.hard,.lesson-check-choice.is-wrong){color:var(--ct-danger)!important}body.coding-dark .coding-app{--ct-font-weight-action: 700;--ct-font-weight-label: 650}body.coding-dark .coding-app :is(.lesson-visual-open,.problem-visualize-button,.practice-starter-strip button,.practice-chip,.daily-tags span,.daily-difficulty,.daily-source-pill,.daily-streak-pill,.learn-prev-track-link,.learn-next-track-link,.practice-back-btn.is-track-chooser){font-weight:var(--ct-font-weight-action)!important}body.coding-dark .coding-app .lesson-visual-block{border-color:color-mix(in srgb,var(--ct-primary) 46%,var(--ct-border))!important;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--ct-primary) 12%,transparent),transparent 42%),var(--ct-panel)!important}body.coding-dark .coding-app .lesson-visual-open{border-color:color-mix(in srgb,var(--ct-primary) 64%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 18%,var(--ct-panel-raised))!important;color:var(--ct-text)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--ct-primary) 16%,transparent)!important}body.coding-dark .coding-app .lesson-visual-open:hover:not(:disabled){border-color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-primary) 28%,var(--ct-panel-raised))!important;color:#fff!important}body.coding-dark .coding-app .problem-visualize-button{border-color:color-mix(in srgb,var(--ct-primary) 48%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 14%,var(--ct-panel-raised))!important;color:var(--ct-primary-hover)!important}body.coding-dark .coding-app .problem-visualize-button:hover:not(:disabled){border-color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-primary) 24%,var(--ct-panel-raised))!important;color:#fff!important}body.coding-dark .coding-app .practice-chip,body.coding-dark .coding-app .daily-tags span{border-color:color-mix(in srgb,var(--ct-accent) 72%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 28%,var(--ct-panel-raised))!important;color:#ffe6cb!important}body.coding-dark .coding-app :is(.daily-difficulty,.daily-source-pill,.daily-streak-pill){border-color:color-mix(in srgb,var(--ct-accent) 70%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 24%,var(--ct-panel-raised))!important;color:#ffe6cb!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,#ffffff 10%,transparent)!important}body.coding-dark .coding-app .daily-streak-pill.done{border-color:color-mix(in srgb,var(--ct-success) 72%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-success) 22%,var(--ct-panel-raised))!important;color:#dfffe9!important}body.coding-dark .coding-app .practice-chip span{color:#ffd3a0!important}body.coding-dark .coding-app .practice-chip:hover:not(:disabled){border-color:var(--ct-accent)!important;background:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-panel-raised))!important;color:#fff3e4!important}body.coding-dark .coding-app .practice-starter-strip{border-color:color-mix(in srgb,var(--ct-success) 42%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-success) 13%,var(--ct-panel))!important}body.coding-dark .coding-app .practice-starter-strip button{border-color:color-mix(in srgb,var(--ct-success) 56%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-success) 16%,var(--ct-panel-raised))!important;color:#d7ffe4!important}body.coding-dark .coding-app .practice-starter-strip button.is-active{background:color-mix(in srgb,var(--ct-success) 24%,var(--ct-panel-raised))!important;border-color:color-mix(in srgb,var(--ct-success) 72%,var(--ct-border))!important;color:#e3ffec!important}body.coding-dark .coding-app .practice-starter-strip button.is-active:hover:not(:disabled){background:color-mix(in srgb,var(--ct-success) 34%,var(--ct-panel-raised))!important;color:#fff!important}body.coding-dark .coding-app .learn-prev-track-link,body.coding-dark .coding-app .practice-back-btn.is-track-chooser{border-color:color-mix(in srgb,var(--ct-primary) 44%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-primary) 11%,var(--ct-panel-raised))!important;color:var(--ct-muted)!important}body.coding-dark .coding-app .learn-next-track-link{border-color:color-mix(in srgb,var(--ct-accent) 58%,var(--ct-border))!important;background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel-raised))!important;color:var(--ct-text)!important}body.coding-dark .coding-app :is(.learn-prev-track-link,.learn-next-track-link,.practice-back-btn.is-track-chooser):hover:not(:disabled){border-color:var(--ct-primary)!important;background:color-mix(in srgb,var(--ct-primary) 20%,var(--ct-panel-raised))!important;color:#fff!important}body.coding-dark .coding-app .learn-track-card{border-color:color-mix(in srgb,var(--learn-track-accent) 45%,var(--ct-border))!important;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--learn-track-accent) 17%,transparent),transparent 48%),var(--ct-panel)!important}body.coding-dark .coding-app .learn-track-kicker,body.coding-dark .coding-app .learn-track-topics-label,body.coding-dark .coding-app .learn-track-cta{color:color-mix(in srgb,var(--learn-track-accent) 78%,#ffffff)!important}body .coding-app .campus-hero-stat strong{color:var(--ct-info)!important}body .coding-app .campus-hero-stat.accent strong{color:var(--ct-accent)!important}body .coding-app .campus-hero-stat.success strong{color:var(--ct-success)!important}body .coding-app .campus-hero-stat i{color:color-mix(in srgb,var(--ct-muted) 84%,var(--ct-text))!important}body.coding-dark .coding-app .campus-hero-stat strong{color:#8bbdff!important;text-shadow:0 0 18px color-mix(in srgb,#8bbdff 30%,transparent)}body.coding-dark .coding-app .campus-hero-stat.accent strong{color:var(--ct-accent)!important;text-shadow:0 0 18px color-mix(in srgb,var(--ct-accent) 28%,transparent)}body.coding-dark .coding-app .campus-hero-stat.success strong{color:var(--ct-success)!important;text-shadow:0 0 18px color-mix(in srgb,var(--ct-success) 26%,transparent)}body.coding-dark .coding-app .campus-hero-stat i{color:#c7d8f2!important}body.coding-dark .coding-app{--ct-visual-canvas: #0a1b31;--ct-visual-canvas-deep: #061326;--ct-visual-node: #172f52;--ct-visual-node-raised: #213f6a;--ct-visual-node-muted: #102640;--ct-visual-border: #5577a7;--ct-visual-border-soft: #365985;--ct-visual-active: #ffb86b;--ct-visual-active-bg: rgba(255, 184, 107, .18);--ct-visual-compare: #8bbdff;--ct-visual-compare-bg: rgba(139, 189, 255, .18);--ct-visual-success: #79d99b;--ct-visual-success-bg: rgba(121, 217, 155, .16);--ct-visual-result: #5eead4;--ct-visual-result-bg: rgba(94, 234, 212, .16);--ct-visual-shadow: 0 18px 34px rgba(0, 0, 0, .42);--ct-visual-shadow-soft: 0 10px 22px rgba(0, 0, 0, .26);--ct-visual-glow-active: 0 0 0 4px rgba(255, 184, 107, .18), 0 22px 42px rgba(255, 134, 55, .24), 0 0 28px rgba(255, 184, 107, .14);--ct-visual-glow-compare: 0 0 0 4px rgba(139, 189, 255, .16), 0 18px 34px rgba(37, 99, 235, .24);--ct-visual-glow-success: 0 0 0 4px rgba(121, 217, 155, .15), 0 18px 34px rgba(34, 197, 94, .22);--ct-visual-glow-result: 0 0 0 4px rgba(94, 234, 212, .15), 0 18px 34px rgba(20, 184, 166, .24)}body.coding-dark .coding-app :is(.ucv-canvas,.workspace-visual-diagram,.lesson-visual-stage,.lesson-visual-diagram){border-color:color-mix(in srgb,var(--ct-visual-border) 70%,var(--ct-bg))!important;background:radial-gradient(circle at 50% 42%,rgba(139,189,255,.14),transparent 32%),radial-gradient(circle at 74% 22%,rgba(94,234,212,.08),transparent 28%),linear-gradient(90deg,rgba(139,189,255,.12) 1px,transparent 1px),linear-gradient(180deg,rgba(139,189,255,.1) 1px,transparent 1px),linear-gradient(180deg,var(--ct-visual-canvas),var(--ct-visual-canvas-deep))!important;background-size:auto,auto,48px 48px,48px 48px,auto!important;box-shadow:inset 0 1px #ffffff14,inset 0 -28px 60px #00000029,0 18px 44px #00000047!important}body.coding-dark .coding-app :is(.ucv-workflow,.ucv-playbar,.workspace-visualizer-progress,.code-trace-progress){border-color:color-mix(in srgb,var(--ct-visual-border) 62%,var(--ct-bg))!important;background:linear-gradient(180deg,#153256,#102843)!important;box-shadow:inset 0 1px #ffffff14,0 14px 28px #00000047!important}body.coding-dark .coding-app :is(.ucv-workflow-node,.workspace-visualizer-progress button,.code-trace-progress button){background:color-mix(in srgb,var(--ct-visual-node) 82%,transparent)!important;border-color:color-mix(in srgb,var(--ct-visual-border-soft) 80%,transparent)!important;color:#dce9ff!important;box-shadow:var(--ct-visual-shadow-soft)!important}body.coding-dark .coding-app :is(.ucv-workflow-node--active,.workspace-visualizer-progress button.is-active,.code-trace-progress button.is-active){border-color:var(--ct-visual-active)!important;background:linear-gradient(180deg,#ffb86b38,#ffb86b1a),var(--ct-visual-node-raised)!important;color:#fff!important;box-shadow:var(--ct-visual-glow-active)!important}body.coding-dark .coding-app .ucv-workflow-dot{border-color:color-mix(in srgb,var(--ct-visual-border) 70%,transparent)!important;background:#0b203a!important;color:#dce9ff!important}body.coding-dark .coding-app .ucv-workflow-node--active .ucv-workflow-dot{border-color:var(--ct-visual-active)!important;background:#ffb86b33!important;color:#fff!important;box-shadow:0 0 0 5px #ffb86b2e,0 12px 24px #ff86373d!important}body.coding-dark .coding-app :is(.ucv-workflow-line,.lesson-visual-flow-arrow,.workspace-visual-flow-arrow,.ucv-inline-arrow,.ucv-chain-arrow,.ucv-branch-line){background:color-mix(in srgb,var(--ct-visual-border) 54%,transparent)!important}body.coding-dark .coding-app .workspace-visual-track:before{background:color-mix(in srgb,var(--ct-visual-border) 54%,transparent)!important}body.coding-dark .coding-app :is(.ucv-workflow-line--active,.lesson-visual-flow-arrow.is-active,.workspace-visual-flow-arrow.is-active,.ucv-inline-arrow.is-active,.ucv-chain-arrow.is-active,.ucv-branch-line.is-active){background:linear-gradient(90deg,var(--ct-visual-compare),var(--ct-visual-active))!important;box-shadow:0 0 16px #ffb86b38!important}body.coding-dark .coding-app :is(.ucv-edge,.workspace-visual-svg line,.ucv-structure-edge){stroke:color-mix(in srgb,var(--ct-visual-border) 70%,transparent)!important;filter:drop-shadow(0 6px 10px rgba(0,0,0,.28))!important}body.coding-dark .coding-app :is(.ucv-edge--active,.workspace-visual-svg line.is-active,.ucv-structure-edge.is-active){stroke:var(--ct-visual-active)!important;filter:drop-shadow(0 0 10px rgba(255,184,107,.38))!important}body.coding-dark .coding-app :is(.ucv-node,.ucv-visual-block,.ucv-network-node,.ucv-interval-bar,.ucv-flow-node-card,.workspace-visual-token,.workspace-visual-table div,.workspace-visual-grid-row span,.workspace-visual-interval,.lesson-visual-flow-symbol,.lesson-visual-flow-node,.lesson-visual-list-cell,.lesson-visual-trace-card,.ucv-state-strip div,.ucv-math-card){border-color:color-mix(in srgb,var(--ct-visual-border) 62%,transparent)!important;background:linear-gradient(180deg,#ffffff0b,#fff0),var(--ct-visual-node)!important;color:#f2f7ff!important;box-shadow:var(--ct-visual-shadow-soft)!important}body.coding-dark .coding-app :is(.ucv-node span,.ucv-visual-block span,.ucv-network-node span,.ucv-interval-bar span,.ucv-flow-node-card span,.workspace-visual-token span,.workspace-visual-table span,.lesson-visual-flow-symbol strong,.lesson-visual-flow-node small,.lesson-visual-list-cell small,.lesson-visual-trace-card small,.ucv-state-strip span){color:#a9c1e3!important}body.coding-dark .coding-app :is(.ucv-node strong,.ucv-visual-block strong,.ucv-network-node strong,.ucv-interval-bar strong,.ucv-flow-node-card strong,.workspace-visual-token strong,.workspace-visual-table strong,.workspace-visual-grid-row span,.lesson-visual-flow-symbol span,.lesson-visual-flow-node strong,.lesson-visual-list-cell strong,.ucv-state-strip strong){color:#fff!important}body.coding-dark .coding-app :is(.ucv-node-role--tuple-pair,.ucv-flow-node-card--terminator.ucv-flow-node-card--result,.ucv-math-card--result),body.coding-dark .coding-app :is(.workspace-visual-token.is-window,.lesson-visual-flow-symbol.is-result){border-color:color-mix(in srgb,var(--ct-visual-result) 58%,transparent)!important;background:linear-gradient(180deg,#5eead42e,#5eead414),var(--ct-visual-node)!important;box-shadow:var(--ct-visual-glow-result)!important}body.coding-dark .coding-app :is(.ucv-node--active,.ucv-node--highlighted,.ucv-visual-block--active,.ucv-visual-block--highlighted,.ucv-network-node--active,.ucv-network-node--highlighted,.ucv-interval-bar--active,.ucv-interval-bar--highlighted,.ucv-flow-node-card--active,.ucv-flow-node-card--highlighted,.workspace-visual-token.is-active,.workspace-visual-table .is-active,.workspace-visual-grid-row span.is-active,.workspace-visual-interval.is-active,.lesson-visual-flow-symbol.is-active,.lesson-visual-flow-node.is-active,.lesson-visual-list-cell.is-active){border-color:var(--ct-visual-active)!important;background:linear-gradient(180deg,#ffb86b3d,#ffb86b1a),var(--ct-visual-node-raised)!important;color:#fff!important;box-shadow:var(--ct-visual-glow-active)!important;transform:translateY(-4px) scale(1.035);z-index:3}body.coding-dark .coding-app :is(.ucv-node--comparing,.ucv-visual-block--comparing,.ucv-network-node--comparing,.ucv-flow-node-card--comparing){border-color:var(--ct-visual-compare)!important;background:linear-gradient(180deg,#8bbdff38,#8bbdff14),var(--ct-visual-node-raised)!important;box-shadow:var(--ct-visual-glow-compare)!important}body.coding-dark .coding-app :is(.ucv-node--visited,.ucv-node--path,.ucv-visual-block--visited,.ucv-network-node--visited,.ucv-flow-node-card--visited,.ucv-flow-node-card--path){border-color:var(--ct-visual-success)!important;background:linear-gradient(180deg,#79d99b33,#79d99b14),var(--ct-visual-node)!important;box-shadow:var(--ct-visual-glow-success)!important}body.coding-dark .coding-app :is(.ucv-node--queued,.ucv-visual-block--queued,.ucv-network-node--queued,.ucv-flow-node-card--queued){border-color:#c4a6ff!important;background:linear-gradient(180deg,#c4a6ff33,#c4a6ff14),var(--ct-visual-node)!important;box-shadow:0 0 0 4px #c4a6ff21,0 18px 34px #7c3aed33!important}body.coding-dark .coding-app :is(.ucv-node--inactive,.ucv-visual-block--inactive,.ucv-network-node--inactive,.ucv-flow-node-card--inactive),body.coding-dark .coding-app :is(.lesson-visual-branch.is-muted,.ucv-branch-row.is-muted){opacity:.46!important;filter:saturate(.65) brightness(.82)!important;box-shadow:0 6px 14px #0000002e!important}body.coding-dark .coding-app :is(.ucv-flow-diamond,.lesson-visual-flow-symbol.is-diamond,.ucv-flow-node-card--diamond){border-color:color-mix(in srgb,var(--ct-visual-success) 54%,var(--ct-visual-border))!important;background:linear-gradient(180deg,#79d99b2e,#79d99b12),var(--ct-visual-node)!important;box-shadow:0 16px 34px #00000052,inset 0 0 0 1px #ffffff0f!important}body.coding-dark .coding-app :is(.ucv-flow-diamond.ucv-visual-block--active,.lesson-visual-flow-symbol.is-diamond.is-active,.ucv-flow-node-card--diamond.ucv-flow-node-card--active){border-color:var(--ct-visual-active)!important;background:linear-gradient(180deg,#ffb86b3d,#ffb86b1a),var(--ct-visual-node-raised)!important;box-shadow:var(--ct-visual-glow-active)!important}body.coding-dark .coding-app :is(.ucv-array-overlay,.workspace-window-frame){border-color:var(--ct-visual-compare)!important;background:#8bbdff24!important;box-shadow:0 0 0 7px #8bbdff14,0 18px 34px #2563eb2e!important}body.coding-dark .coding-app :is(.ucv-card,.ucv-code,.code-trace-code-window,.code-trace-state-panel,.workspace-visualizer-code,.workspace-visualizer-step,.lesson-visual-step-copy,.lesson-visual-trace-panel){border-color:color-mix(in srgb,var(--ct-visual-border) 58%,var(--ct-bg))!important;background:linear-gradient(180deg,#ffffff0b,#fff0),#102640!important;box-shadow:var(--ct-visual-shadow)!important}body.coding-dark .coding-app :is(.ucv-code,.code-trace-code-window,.workspace-visualizer-code pre){background:linear-gradient(180deg,#8bbdff0f,#8bbdff00),#061326!important}body.coding-dark .coding-app :is(.ucv-code li.is-active,.code-trace-code-window pre span.is-active){background:#ffb86b29!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--ct-visual-active),0 8px 18px #ff86371f!important}body.coding-dark .coding-app :is(.ucv-tuple-result,.ucv-tuple-result.ucv-visual-block--active,.ucv-node-role--tuple-pair,.ucv-node-role--tuple-pair.ucv-node--active,.ucv-node-role--tuple-pair.ucv-node--highlighted,.ucv-math-card--result,.ucv-math-card--result.ucv-node--active,.ucv-flow-node-card--result,.ucv-flow-node-card--result.ucv-flow-node-card--active,.ucv-flow-node-card--result.ucv-flow-node-card--highlighted,.lesson-visual-flow-symbol.is-result,.lesson-visual-flow-symbol.is-result.is-active,.lesson-visual-flow-node[id*=result],.lesson-visual-flow-node[id*=output],.lesson-visual-flow-node[id*=done],.workspace-decision-flow .decision-result,.workspace-visual-token[data-role=result],.code-trace-result-box,.code-trace-output-box){border-color:color-mix(in srgb,var(--ct-visual-success) 72%,var(--ct-visual-border))!important;background:linear-gradient(180deg,#79d99b3d,#79d99b1a),#123c39!important;color:#f0fff6!important;box-shadow:var(--ct-visual-glow-success)!important}body.coding-dark .coding-app :is(.ucv-tuple-result span,.ucv-node-role--tuple-pair span,.ucv-math-card--result span,.ucv-flow-node-card--result span,.lesson-visual-flow-symbol.is-result strong,.lesson-visual-flow-node[id*=result] small,.lesson-visual-flow-node[id*=output] small,.lesson-visual-flow-node[id*=done] small,.workspace-decision-flow .decision-result span,.code-trace-result-box span,.code-trace-output-box span){color:#bdf8d0!important}body.coding-dark .coding-app :is(.ucv-tuple-result strong,.ucv-node-role--tuple-pair strong,.ucv-math-card--result strong,.ucv-flow-node-card--result strong,.lesson-visual-flow-symbol.is-result span,.lesson-visual-flow-node[id*=result] strong,.lesson-visual-flow-node[id*=output] strong,.lesson-visual-flow-node[id*=done] strong,.workspace-decision-flow .decision-result strong,.code-trace-result-box strong,.code-trace-output-box pre){color:#fff!important}body.coding-dark .coding-app :is(.ucv-tuple-result.ucv-visual-block--active,.ucv-node-role--tuple-pair.ucv-node--active,.ucv-node-role--tuple-pair.ucv-node--highlighted,.ucv-flow-node-card--result.ucv-flow-node-card--active,.ucv-flow-node-card--result.ucv-flow-node-card--highlighted,.lesson-visual-flow-symbol.is-result.is-active){transform:translateY(-4px) scale(1.035);box-shadow:0 0 0 4px #79d99b2e,0 22px 42px #22c55e40,0 0 26px #79d99b29!important}.floating-coding-chat{--ct-float-panel: var(--bg-surface-raised, #fffdf7);--ct-float-panel-soft: var(--bg-surface-soft, #f7f0e6);--ct-float-panel-base: var(--bg-surface, #fffdf7);--ct-float-text: var(--text-main, #172033);--ct-float-muted: var(--text-secondary, #596273);--ct-float-border: var(--border-color, #ddd1c0);--ct-float-border-strong: var(--border-strong, #b7c6d8);--ct-float-primary: var(--primary, #002d72);--ct-float-accent: var(--accent, #f58220);--ct-float-accent-soft: var(--accent-soft, rgba(245, 130, 32, .14))}body.coding-dark .floating-coding-chat{--ct-float-panel: #1c2a3f;--ct-float-panel-soft: #152033;--ct-float-panel-base: #172235;--ct-float-text: #f4efe6;--ct-float-muted: #b7c1cf;--ct-float-border: #31415a;--ct-float-border-strong: #435a78;--ct-float-primary: #5f7fae;--ct-float-accent: #e7a05b;--ct-float-accent-soft: rgba(231, 160, 91, .18)}.floating-coding-chat :is(.floating-chat-window,.floating-chat-header,.floating-chat-window .ai-status-card,.floating-chat-messages,.floating-chat-form,.floating-chat-message.bot){background:var(--ct-float-panel-base)!important;background-color:var(--ct-float-panel-base)!important;background-image:none!important;border-color:var(--ct-float-border)!important;color:var(--ct-float-text)!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.floating-coding-chat .floating-chat-window{background:var(--ct-float-panel)!important;background-color:var(--ct-float-panel)!important;border:1px solid var(--ct-float-border-strong)!important;box-shadow:0 24px 56px #0f172a38!important;overflow:hidden!important}body.coding-dark .floating-coding-chat .floating-chat-window{box-shadow:0 24px 60px #050a129e!important}.floating-coding-chat .floating-chat-header{background:var(--ct-float-panel)!important;border-bottom:1px solid var(--ct-float-border)!important}.floating-coding-chat .floating-chat-header strong,.floating-coding-chat .floating-chat-window strong,.floating-coding-chat .floating-chat-window h3,.floating-coding-chat .floating-chat-window h4{color:var(--ct-float-text)!important}.floating-coding-chat .floating-chat-messages,.floating-coding-chat .floating-chat-input-row,.floating-coding-chat .floating-chat-input-row textarea{background:var(--ct-float-panel-soft)!important;background-color:var(--ct-float-panel-soft)!important;border-color:var(--ct-float-border)!important;color:var(--ct-float-text)!important}.floating-coding-chat .floating-chat-window .ai-status-card{background:var(--ct-float-panel-base)!important;border:1px solid var(--ct-float-border)!important;border-radius:14px!important;overflow:hidden!important;box-shadow:none!important}.floating-coding-chat .floating-chat-window .ai-status-card dl{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:8px 12px!important;margin:0!important}.floating-coding-chat .floating-chat-window .ai-status-card dt,.floating-coding-chat .floating-chat-window .ai-status-card dd,.floating-coding-chat .floating-chat-message,.floating-coding-chat .floating-chat-message p{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}.floating-coding-chat .floating-chat-action,.floating-coding-chat .floating-chat-control,.floating-coding-chat .floating-chat-icon-btn{background:var(--ct-float-panel-soft)!important;border:1px solid var(--ct-float-border)!important;color:var(--ct-float-text)!important}.floating-coding-chat .floating-chat-action:hover:not(:disabled),.floating-coding-chat .floating-chat-control:hover,.floating-coding-chat .floating-chat-icon-btn:hover:not(:disabled){background:var(--ct-float-accent-soft)!important;border-color:color-mix(in srgb,var(--ct-float-accent) 48%,var(--ct-float-border))!important;color:var(--ct-float-accent)!important;box-shadow:0 10px 22px color-mix(in srgb,var(--ct-float-accent) 18%,transparent)!important}.floating-coding-chat .floating-chat-send,.floating-coding-chat .floating-chat-button{background:var(--ct-float-primary)!important;border-color:color-mix(in srgb,var(--ct-float-primary) 60%,var(--ct-float-border))!important;color:#fff!important}.floating-coding-chat .floating-chat-send:hover:not(:disabled),.floating-coding-chat .floating-chat-button:hover{background:var(--ct-float-accent)!important;border-color:color-mix(in srgb,var(--ct-float-accent) 58%,var(--ct-float-border))!important;color:#182033!important}body.coding-dark .floating-coding-chat .floating-chat-send,body.coding-dark .floating-coding-chat .floating-chat-button{color:#f8f3ea!important}body.coding-dark .floating-coding-chat .floating-chat-send:hover:not(:disabled),body.coding-dark .floating-coding-chat .floating-chat-button:hover{color:#172033!important}.floating-coding-chat .floating-chat-window{width:min(470px,calc(100vw - 32px))!important;height:min(680px,calc(100vh - 36px))!important;max-height:calc(100vh - 36px)!important;display:flex!important;flex-direction:column!important}.floating-coding-chat .floating-chat-header{flex:0 0 auto!important;gap:12px!important;padding:14px 16px 10px!important}.floating-coding-chat .floating-chat-window-controls{flex:0 0 auto!important;display:flex!important;gap:8px!important}.floating-coding-chat .floating-chat-window .ai-status-card{flex:0 0 auto!important;margin:12px 14px 10px!important;padding:12px 14px!important}.floating-coding-chat .floating-chat-window .ai-status-card dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 16px!important;margin:8px 0 0!important}.floating-coding-chat .floating-chat-window .ai-status-card dl div{display:grid!important;grid-template-columns:minmax(72px,max-content) minmax(0,1fr)!important;align-items:start!important;gap:8px!important;min-width:0!important}.floating-coding-chat .floating-chat-window .ai-status-card dt,.floating-coding-chat .floating-chat-window .ai-status-card dd{line-height:1.25!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}.floating-coding-chat .floating-chat-window .ai-status-card dd{overflow-wrap:anywhere!important}.floating-coding-chat .floating-chat-actions{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:0 14px 10px!important}.floating-coding-chat .floating-chat-action{min-width:0!important;justify-content:center!important;white-space:nowrap!important}.floating-coding-chat .floating-chat-action:not(:disabled){background:linear-gradient(135deg,var(--ct-float-primary),color-mix(in srgb,var(--ct-float-primary) 76%,var(--ct-float-accent)))!important;border-color:color-mix(in srgb,var(--ct-float-primary) 62%,var(--ct-float-border))!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--ct-float-primary) 16%,transparent)!important}.floating-coding-chat .floating-chat-action:not(:disabled):hover{background:var(--ct-float-accent)!important;border-color:color-mix(in srgb,var(--ct-float-accent) 58%,var(--ct-float-border))!important;color:#182033!important}.floating-coding-chat .floating-chat-action:disabled{background:transparent!important;border-color:var(--ct-float-border)!important;color:var(--ct-float-muted)!important;opacity:.62!important;box-shadow:none!important;cursor:not-allowed!important}.floating-coding-chat .floating-chat-messages{flex:1 1 190px!important;min-height:150px!important;margin:0 14px 10px!important;padding:12px!important;overflow-y:auto!important}.floating-coding-chat .floating-chat-form{flex:0 0 auto!important;padding:0 14px 14px!important;gap:8px!important}.floating-coding-chat .floating-chat-input-row{display:grid!important;grid-template-columns:40px 40px minmax(0,1fr) 40px!important;align-items:end!important;gap:8px!important;min-width:0!important}.floating-coding-chat .floating-chat-icon-btn,.floating-coding-chat .floating-chat-send{width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important}.floating-coding-chat .floating-chat-voice-btn.listening{background:var(--ct-float-accent)!important;color:#182033!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--ct-float-accent) 22%,transparent)!important}.floating-coding-chat .floating-chat-input-row textarea{width:100%!important;min-height:48px!important;max-height:128px!important;resize:vertical!important}@media (max-width: 520px){.floating-coding-chat .floating-chat-window{width:calc(100vw - 24px)!important;height:min(660px,calc(100vh - 24px))!important}.floating-coding-chat .floating-chat-window .ai-status-card dl{grid-template-columns:1fr!important}.floating-coding-chat .floating-chat-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.floating-coding-chat .floating-chat-window{box-sizing:border-box!important;width:min(500px,calc(100vw - 40px))!important;height:min(720px,calc(100vh - 44px))!important;max-width:calc(100vw - 40px)!important;max-height:calc(100vh - 44px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.floating-coding-chat .floating-chat-window.maximized{width:min(920px,calc(100vw - 48px))!important;height:min(760px,calc(100vh - 48px))!important}.floating-coding-chat .floating-chat-header{flex:0 0 auto!important;position:sticky!important;top:0!important;z-index:5!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:10px!important;min-width:0!important;background:var(--ct-float-panel-base)!important;cursor:grab!important;-webkit-user-select:none!important;user-select:none!important;touch-action:none!important}.floating-coding-chat.dragging .floating-chat-header{cursor:grabbing!important}.floating-coding-chat .floating-chat-heading{min-width:0!important}.floating-coding-chat .floating-chat-heading strong{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.floating-coding-chat .floating-response-mode{display:inline-flex!important;width:fit-content!important;max-width:100%!important;margin-top:6px!important;padding:4px 9px!important;border:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 48%,var(--ct-float-border, #d8cbb8))!important;border-radius:999px!important;background:color-mix(in srgb,var(--ct-accent, #f58220) 16%,var(--ct-float-panel-soft, #fffaf1))!important;color:var(--ct-float-text)!important;font-size:.72rem!important;font-weight:800!important;line-height:1.1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.floating-coding-chat .floating-chat-window-controls{display:grid!important;grid-template-columns:repeat(5,32px)!important;gap:6px!important;flex:0 0 auto!important;min-width:max-content!important}.floating-coding-chat .floating-chat-control{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;flex:0 0 32px!important}.floating-coding-chat .floating-chat-messages{flex:1 1 auto!important;min-height:118px!important;margin:0 12px 8px!important;overflow-y:auto!important}.floating-coding-chat .floating-chat-form{flex:0 0 auto!important;width:100%!important;padding:0 12px 12px!important;background:var(--ct-float-panel-base)!important;border-top:1px solid var(--ct-float-border)!important}.floating-coding-chat .floating-chat-input-row{width:100%!important;display:grid!important;grid-template-columns:40px 40px minmax(0,1fr) 44px!important;gap:8px!important;align-items:end!important;padding:7px!important;border-radius:18px!important;background:var(--ct-float-panel-soft)!important;border:1px solid var(--ct-float-border)!important}.floating-coding-chat .floating-chat-input-row textarea{width:100%!important;min-height:50px!important;max-height:124px!important;padding:12px 14px!important;border-radius:14px!important;background:color-mix(in srgb,var(--ct-float-panel-base) 86%,#fff 14%)!important;color:var(--ct-float-text)!important;overflow-y:auto!important}body.coding-dark .floating-coding-chat .floating-chat-form,body.coding-dark .floating-coding-chat .floating-chat-input-row{background:var(--ct-float-panel-base)!important;border-color:var(--ct-float-border)!important}body.coding-dark .floating-coding-chat .floating-chat-input-row textarea{background:color-mix(in srgb,var(--ct-float-panel-soft) 90%,#07111f 10%)!important;color:var(--ct-float-text)!important}.floating-coding-chat .floating-code-context{flex:0 0 auto;margin:0 12px 8px;padding:9px 11px;border-radius:16px;border:1px solid var(--ct-float-border);background:var(--ct-float-panel-soft);color:var(--ct-float-text);max-height:46px;overflow:hidden}.floating-coding-chat .floating-code-context summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer;font-weight:750;color:var(--ct-float-text);list-style-position:outside;font-size:.96rem!important;line-height:1.25!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-coding-chat .floating-code-context summary span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-coding-chat .floating-code-context summary small{color:color-mix(in srgb,var(--ct-float-muted) 88%,var(--ct-float-text));font-size:.72rem;font-weight:800;white-space:nowrap}.floating-coding-chat .floating-code-context[open]{max-height:clamp(108px,24vh,178px);overflow:hidden}.floating-coding-chat .floating-code-context pre{margin:10px 0 0;max-height:clamp(66px,15vh,118px);overflow:auto;white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:10px;background:color-mix(in srgb,var(--ct-float-panel-base) 92%,#000 8%);color:var(--ct-float-text);font-size:.78rem!important;line-height:1.42!important}.floating-coding-chat .floating-chat-message,.floating-coding-chat .floating-chat-message p,.floating-coding-chat .floating-chat-message li{font-size:.9rem!important;line-height:1.45!important}.floating-coding-chat .floating-chat-message{box-sizing:border-box!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}.floating-coding-chat .floating-chat-message>:first-child{margin-top:0!important}.floating-coding-chat .floating-chat-message>:last-child{margin-bottom:0!important}.floating-coding-chat .floating-chat-message p{margin:0 0 .65rem!important;max-width:100%!important}.floating-coding-chat .floating-chat-message ul,.floating-coding-chat .floating-chat-message ol{box-sizing:border-box!important;margin:.45rem 0 .75rem!important;max-width:100%!important;padding-left:1.25rem!important;list-style-position:outside!important}.floating-coding-chat .floating-chat-message ul ul,.floating-coding-chat .floating-chat-message ol ol,.floating-coding-chat .floating-chat-message ul ol,.floating-coding-chat .floating-chat-message ol ul{margin:.3rem 0 .35rem!important;padding-left:1rem!important}.floating-coding-chat .floating-chat-message li{margin:0 0 .35rem!important;padding-left:.1rem!important;max-width:100%!important}.floating-coding-chat .floating-chat-message li::marker{color:var(--ct-primary)!important;font-weight:800!important}.floating-coding-chat .floating-chat-message h1,.floating-coding-chat .floating-chat-message h2,.floating-coding-chat .floating-chat-message h3,.floating-coding-chat .floating-chat-message h4{margin:.55rem 0 .35rem!important;font-size:.98rem!important;line-height:1.25!important}.floating-coding-chat .floating-chat-message blockquote{margin:.55rem 0!important;padding:.45rem .65rem!important;border-left:3px solid var(--ct-accent)!important;background:color-mix(in srgb,var(--ct-float-panel-soft) 78%,transparent)!important;border-radius:10px!important}.floating-coding-chat .floating-chat-message pre{box-sizing:border-box!important;max-width:100%!important;margin:.55rem 0!important;overflow-x:auto!important;white-space:pre!important}.floating-coding-chat .floating-chat-message code{white-space:break-spaces!important}.floating-coding-chat .floating-chat-message table{display:block!important;max-width:100%!important;overflow-x:auto!important}body.coding-dark .floating-coding-chat .floating-chat-message li::marker{color:color-mix(in srgb,var(--ct-accent) 74%,#fff 26%)!important}.floating-coding-chat .floating-code-actions{display:flex;flex:0 0 auto;gap:8px;margin:0 12px 8px}.floating-coding-chat .floating-apply-code-btn,.floating-coding-chat .floating-undo-code-btn{min-height:42px;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}.floating-coding-chat .floating-apply-code-btn{flex:1 1 auto;margin:0;border:0}.floating-coding-chat .floating-undo-code-btn{flex:0 0 auto;border:1px solid var(--ct-float-border);background:var(--ct-float-panel-soft);color:var(--ct-float-text)}.floating-coding-chat .floating-undo-code-btn:hover,.floating-coding-chat .floating-undo-code-btn:focus-visible{border-color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary) 12%,var(--ct-float-panel-soft))}.floating-coding-chat .floating-show-earlier{display:block;margin:2px auto 10px;border:1px solid var(--ct-float-border);border-radius:999px;padding:6px 12px;background:var(--ct-float-panel-soft);color:var(--ct-float-text);font-size:.78rem;font-weight:750;cursor:pointer}.floating-coding-chat .floating-show-earlier:hover,.floating-coding-chat .floating-show-earlier:focus-visible{border-color:var(--ct-primary);color:var(--ct-primary)}.floating-coding-chat .floating-chat-window:focus{outline:none}.floating-coding-chat .floating-chat-header:focus-visible{outline:3px solid color-mix(in srgb,var(--ct-primary) 70%,#fff);outline-offset:-3px}.floating-coding-chat .floating-apply-code-btn{background:linear-gradient(135deg,var(--ct-accent, #f58220),color-mix(in srgb,var(--ct-accent, #f58220) 72%,#ffd29b 28%))!important;border:1px solid color-mix(in srgb,var(--ct-accent, #f58220) 62%,var(--ct-float-border, #d8cbb8))!important;color:#172033!important;box-shadow:0 12px 24px color-mix(in srgb,var(--ct-accent, #f58220) 22%,transparent)!important}.floating-coding-chat .floating-apply-code-btn:hover:not(:disabled),.floating-coding-chat .floating-apply-code-btn:focus-visible{background:linear-gradient(135deg,var(--ct-primary, #002d72),color-mix(in srgb,var(--ct-primary, #002d72) 72%,#5f7fae 28%))!important;border-color:color-mix(in srgb,var(--ct-primary, #002d72) 65%,var(--ct-float-border, #d8cbb8))!important;color:#fff!important}body.coding-dark .floating-coding-chat .floating-apply-code-btn{background:linear-gradient(135deg,#e7a05b,#c98242)!important;border-color:#e7a05b8c!important;color:#172033!important}body.coding-dark .floating-coding-chat .floating-apply-code-btn:hover:not(:disabled),body.coding-dark .floating-coding-chat .floating-apply-code-btn:focus-visible{background:linear-gradient(135deg,#5f7fae,#466995)!important;border-color:#8faed773!important;color:#f8f3ea!important}@media (max-width: 760px){.floating-coding-chat .floating-chat-window,.floating-coding-chat .floating-chat-window.maximized{width:calc(100vw - 24px)!important;height:min(650px,calc(100dvh - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important}}@media (max-width: 520px){.floating-coding-chat.closed{left:auto!important;top:auto!important;right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;transform:none!important}.floating-coding-chat.open{left:8px!important;top:auto!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;transform:none!important}.floating-coding-chat .floating-chat-button{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;justify-content:center!important;padding:0!important;border-radius:999px!important}.floating-coding-chat .floating-chat-button span{display:none!important}.floating-coding-chat .floating-chat-window,.floating-coding-chat .floating-chat-window.maximized{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:min(620px,calc(100dvh - 16px))!important;max-height:calc(100dvh - 16px)!important}.floating-coding-chat .floating-code-actions{align-items:stretch;flex-direction:column}.floating-coding-chat .floating-undo-code-btn{width:100%}.floating-coding-chat .floating-chat-header{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.floating-coding-chat .floating-chat-window-controls{grid-template-columns:repeat(3,32px)!important}.floating-coding-chat .floating-chat-heading strong{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}}.floating-coding-chat .floating-chat-window{min-height:min(560px,calc(100dvh - 36px))!important;display:flex!important;flex-direction:column!important}.floating-coding-chat .floating-chat-window>*{min-width:0!important}.floating-coding-chat .floating-chat-messages{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}.floating-coding-chat .floating-chat-form{position:sticky!important;bottom:0!important;z-index:6!important;box-shadow:0 -12px 24px color-mix(in srgb,var(--ct-float-panel-base) 78%,transparent)!important}.floating-coding-chat .floating-chat-message{width:fit-content!important;max-width:min(92%,620px)!important;padding:10px 12px!important;border-radius:16px!important;border:1px solid var(--ct-float-border)!important}.floating-coding-chat .floating-chat-message.bot{margin-right:auto!important;background:color-mix(in srgb,var(--ct-float-primary) 10%,var(--ct-float-panel-base))!important;border-color:color-mix(in srgb,var(--ct-float-primary) 32%,var(--ct-float-border))!important;box-shadow:inset 4px 0 color-mix(in srgb,var(--ct-float-primary) 68%,var(--ct-float-accent))!important}.floating-coding-chat .floating-chat-message.user{margin-left:auto!important;background:color-mix(in srgb,var(--ct-float-accent) 15%,var(--ct-float-panel-base))!important;border-color:color-mix(in srgb,var(--ct-float-accent) 40%,var(--ct-float-border))!important;box-shadow:inset -4px 0 0 var(--ct-float-accent)!important}body.coding-dark .floating-coding-chat .floating-chat-message.bot{background:color-mix(in srgb,#5f7fae 24%,#172235)!important;border-color:#8faed76b!important;box-shadow:inset 4px 0 #8faed7!important}body.coding-dark .floating-coding-chat .floating-chat-message.user{background:color-mix(in srgb,#e7a05b 20%,#172235)!important;border-color:#e7a05b75!important;box-shadow:inset -4px 0 #e7a05b!important}@media (max-height: 720px){.floating-coding-chat .floating-chat-window{min-height:min(500px,calc(100dvh - 28px))!important}.floating-coding-chat .floating-chat-window .ai-status-card,.floating-coding-chat .floating-code-context,.floating-coding-chat .floating-code-actions{margin-bottom:8px!important}}.afp{margin-top:12px;border:1px solid color-mix(in srgb,var(--ct-primary, #4285f4) 25%,transparent);border-radius:14px;background:color-mix(in srgb,var(--ct-primary, #4285f4) 6%,var(--ct-panel, #fff));padding:14px 16px 16px;max-width:560px}body.coding-dark .afp{border-color:color-mix(in srgb,var(--ct-primary, #8fb4e0) 34%,var(--ct-border, #2f4a7a));background:color-mix(in srgb,var(--ct-primary, #8fb4e0) 8%,var(--ct-panel, #142a4f))}.afp-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--ct-primary, #4285f4) 18%,transparent)}.afp-title{font-weight:700;font-size:15px;color:var(--ct-primary, #2c4a7c)}.afp-progress{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ct-muted, var(--text-muted, #6b7280))}.afp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}@media (max-width: 560px){.afp-grid{grid-template-columns:1fr}}.afp-field{display:flex;flex-direction:column;gap:4px;min-width:0}.afp-label{font-size:12px;font-weight:600;color:var(--ct-text, var(--text-main, #1a2438))}.afp-opt{font-weight:400;color:var(--ct-muted, var(--text-muted, #9ca3af))}.afp-input{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--ct-border, rgba(0, 0, 0, .14));border-radius:8px;font-size:13.5px;background:var(--ct-panel, #fff);color:var(--ct-text, #1a2438)}body.coding-dark .afp-input{background:var(--ct-panel-soft, #10223f);color:var(--ct-text, #eef1f6);border-color:var(--ct-border, rgba(255, 255, 255, .16))}.afp-input:focus-visible{outline:2px solid var(--ct-focus, var(--ct-primary, #4285f4));outline-offset:1px;border-color:transparent}.afp-locked{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px dashed color-mix(in srgb,var(--ct-primary, #4285f4) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--ct-primary, #4285f4) 5%,var(--ct-panel, #fff))}.afp-locked-val{flex:1;font-size:13.5px;color:var(--ct-text, #1a2438);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afp-edit{font-size:11.5px;font-weight:600;color:var(--ct-primary, #4285f4);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:5px}.afp-edit:hover{text-decoration:underline}.afp-edit:disabled{color:var(--ct-muted, var(--text-muted, #9ca3af));cursor:default;text-decoration:none}.afp-yesno{display:flex;gap:6px}.afp-toggle{flex:1;padding:7px 0;border:1.5px solid var(--ct-border, rgba(0, 0, 0, .14));border-radius:8px;background:var(--ct-panel, #fff);color:var(--ct-text, #1a2438);font-size:13px;font-weight:600;cursor:pointer}body.coding-dark .afp-toggle{background:var(--ct-panel-soft, #10223f);color:var(--ct-text, #eef1f6);border-color:var(--ct-border, rgba(255, 255, 255, .16))}.afp-toggle.on{background:var(--ct-primary, #4285f4);color:var(--ct-on-primary, #fff);border-color:var(--ct-primary, #4285f4)}.afp-toggle:disabled{cursor:default;opacity:.7}.afp-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ct-primary, #4285f4) 18%,transparent)}.afp-missing{font-size:12px;color:var(--ct-warning, #b8842a);margin-right:auto}.afp-submit{padding:8px 18px;border-radius:10px;border:none;background:var(--ct-primary, #4285f4);color:var(--ct-on-primary, #fff);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease}.afp-submit:hover:not(:disabled){background:var(--ct-primary-hover, #2c4a7c)}.afp-submit:disabled{background:color-mix(in srgb,var(--ct-muted, #9ca3af) 30%,var(--ct-panel-soft, #f8fafc));color:var(--ct-muted, #8b97ac);cursor:default}.search-suggestions{margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.25);font-size:.82rem}.search-suggestions-chips{overflow-x:auto}.search-suggestions-sources{margin-top:8px}.search-suggestions-label{display:block;font-weight:600;color:#64748b;margin-bottom:4px;letter-spacing:.02em}.search-suggestions-sources ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:2px}.search-suggestions-sources a{color:#4f46e5;text-decoration:none;word-break:break-word}.search-suggestions-sources a:hover{text-decoration:underline}body.dark .search-suggestions{border-top-color:#94a3b833}body.dark .search-suggestions-label{color:#94a3b8}body.dark .search-suggestions-sources a{color:#818cf8}.chat-main{display:flex;flex-direction:column;min-height:calc(100vh - 70px);background:radial-gradient(circle at top,var(--page-wash, rgba(245, 130, 32, .06)),transparent 38%),var(--bg-body);overflow-y:auto;overflow-x:hidden;margin-left:280px;width:calc(100% - 280px);flex:1;position:relative;padding-bottom:0;transition:margin-left .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),background-color .12s ease}body.sidebar-collapsed .chat-main{margin-left:64px;width:calc(100% - 64px)}body.sidebar-custom-width:not(.sidebar-collapsed) .chat-main{margin-left:var(--sidebar-width, 280px);width:calc(100% - var(--sidebar-width, 280px))}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px 24px 120px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth;width:100%;max-width:100%}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px 80px;max-width:800px;margin:0 auto;width:100%;position:relative}.welcome-container:before{content:"";position:absolute;top:-40px;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,var(--page-wash, rgba(245, 130, 32, .06)) 0%,transparent 70%);pointer-events:none;z-index:0}.welcome-logo{width:88px;height:88px;margin-bottom:28px;border-radius:22px;box-shadow:0 8px 32px #4285f426,0 0 0 1px #4285f40f;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;animation:float 4s ease-in-out infinite}.welcome-logo:hover{transform:scale(1.05);box-shadow:0 12px 32px #4285f440,0 0 0 6px #4285f426}.welcome-title{font-size:2.5rem;font-weight:700;margin-bottom:12px;letter-spacing:-.02em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.15rem;color:var(--text-secondary);margin-bottom:40px;font-weight:400;max-width:500px;line-height:1.6}.practice-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.practice-controls label{display:grid;gap:6px;color:var(--text-secondary, #5f6368);font-size:.78rem;font-weight:700;text-transform:uppercase}.daily-practice-btn.secondary{background:#4285f414;color:var(--msu-blue, #4285f4)}.regular-chat-hidden{display:none!important}.coding-problem-panel,.coding-editor-center,.coding-page-panel{min-width:0;min-height:0;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--bg-card, #fff);box-shadow:0 8px 20px #0f172a0d}.coding-problem-panel,.coding-editor-center{display:flex;flex-direction:column;overflow:hidden}.coding-problem-content,.coding-problem-empty{overflow:auto;padding:16px}.coding-problem-content h2,.coding-problem-empty h2{margin:0;color:var(--text-primary, #1a1a1a);font-size:1.08rem;line-height:1.3}.coding-problem-content h3{margin:18px 0 8px;color:var(--text-primary, #1a1a1a);font-size:.86rem}.coding-problem-content p,.coding-problem-content li,.coding-problem-empty p{color:var(--text-secondary, #666);font-size:.9rem;line-height:1.55}.problem-example{display:grid;gap:6px;border-radius:8px;background:var(--bg-secondary, #f7f8fa);padding:10px;margin-bottom:8px}.problem-example code{white-space:pre-wrap;color:var(--ct-text, var(--text-main, #1a1a1a))}.coding-problem-empty button{border:none;border-radius:7px;background:var(--msu-blue, #4285f4);color:#fff;cursor:pointer;font-weight:800;padding:9px 12px}.coding-editor-center{padding:12px;gap:10px}.leetcode-editor{flex:1;min-height:380px;resize:none}.ai-status-card{border:1px solid rgba(66,133,244,.18);border-radius:8px;background:#4285f40f;padding:10px}.ai-status-card dl{margin:8px 0 0;display:grid;gap:6px}.ai-status-card dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.ai-status-card dt,.ai-status-card dd{margin:0;font-size:.76rem;line-height:1.25}.ai-status-card dt{color:var(--text-secondary, #666);font-weight:800}.ai-status-card dd{color:var(--text-primary, #1a1a1a);font-weight:700}.coding-page-panel{max-width:2200px;margin:0 auto;padding:18px 24px}.coding-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.coding-progress-stats div{border-radius:8px;background:var(--bg-secondary, #f7f8fa);padding:14px}.coding-progress-stats strong,.coding-progress-stats span{display:block}.coding-progress-stats strong{color:var(--text-primary, #1a1a1a);font-size:1.4rem}.coding-progress-stats span{color:var(--text-secondary, #666);font-size:.78rem;font-weight:800;text-transform:uppercase}.daily-challenge-title-row,.daily-actions,.daily-tags{display:flex;align-items:center;gap:10px}.daily-challenge-title-row{justify-content:space-between}.daily-difficulty{flex-shrink:0;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700;background:#6b72801f;color:#4b5563}.problem-meta-pills{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.problem-solved-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800;background:#10b98124;color:#047857;border:1px solid rgba(16,185,129,.3);white-space:nowrap}body.dark .problem-solved-badge{background:#10b9812e;color:#6ee7b7;border-color:#10b9815c}.daily-difficulty.easy{background:#10b9811f;color:#047857}.daily-difficulty.medium{background:#f59e0b24;color:#b45309}.daily-difficulty.hard{background:#ef44441f;color:#b91c1c}.daily-tags{flex-wrap:wrap;margin-top:10px}.daily-tags span{border:1px solid var(--border-color, #e0e0e0);border-radius:999px;padding:4px 8px;font-size:.74rem;color:var(--text-secondary, #666);background:var(--bg-secondary, #f7f8fa)}body.dark .daily-tags span{color:#cdd6e4;background:#ffffff14;border-color:#ffffff38}.daily-actions{margin-top:14px;flex-wrap:wrap}.daily-link,.daily-practice-btn{border:none;border-radius:7px;padding:8px 12px;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:none}.daily-link{background:var(--msu-blue, #4285f4);color:#fff}.daily-practice-btn{background:var(--bg-secondary, #f0f2f5);color:var(--text-primary, #1a1a1a)}.daily-practice-btn:hover:not(:disabled),.daily-link:hover{transform:translateY(-1px)}.daily-practice-btn:disabled{opacity:.55;cursor:not-allowed}.daily-challenge-loading{margin:10px 0 0;color:var(--text-secondary, #666);font-size:.9rem;line-height:1.5}body.coding-dark .coding-app .daily-practice-btn{background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0)}@media (max-width: 600px){.daily-challenge-title-row,.daily-actions{align-items:flex-start;flex-direction:column}.daily-difficulty{margin-top:2px}}.coding-pane-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coding-pane-header h2{margin:2px 0 0;font-size:1rem;line-height:1.25;color:var(--text-primary, #1a1a1a)}.coding-kicker{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--text-secondary, #666)}.coding-select{flex:0 0 auto;max-width:150px;border:1px solid var(--border-color, #e0e0e0);border-radius:7px;background:var(--bg-secondary, #f7f8fa);color:var(--text-primary, #1a1a1a);padding:7px 9px;font-size:.82rem;font-weight:700}.coding-editor{width:100%;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--bg-secondary, #f7f8fa);color:var(--text-primary, #1a1a1a);padding:12px;resize:vertical;outline:none}.coding-editor{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.55}.coding-editor:focus,.coding-select:focus{border-color:var(--msu-blue, #4285f4);box-shadow:0 0 0 3px #4285f41f}.coding-terminal{border:1px solid rgba(15,23,42,.15);border-radius:8px;overflow:hidden;background:#111827;color:#e5e7eb}.coding-terminal-header{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#ffffff0f;color:#cbd5e1;font-size:.72rem;font-weight:800;text-transform:uppercase}.coding-terminal pre{margin:0;min-height:96px;max-height:190px;overflow:auto;padding:12px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;line-height:1.5}body.coding-dark .coding-app .coding-section-nav,body.coding-dark .coding-app .coding-problem-panel,body.coding-dark .coding-app .coding-editor-center,body.coding-dark .coding-app .coding-page-panel{background:var(--bg-primary, #1a1a1a);border-color:#4285f438}body.coding-dark .coding-app .problem-example,body.coding-dark .coding-app .coding-progress-stats div{background:#ffffff0d}body.coding-dark .coding-app .ai-status-card{background:#4285f41f;border-color:#4285f43d}.coding-workbench{min-height:calc(100vh - 146px);display:grid;grid-template-rows:minmax(520px,1fr) minmax(280px,.48fr);gap:10px}.coding-workbench-main{min-height:0;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(480px,1.55fr);gap:10px}.coding-workbench .coding-problem-panel,.coding-workbench .coding-editor-center{box-shadow:none}.coding-workbench .ai-status-card{min-width:0}.workspace-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color, #e0e0e0)}.workspace-tabs button{border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary, #666);cursor:pointer;font-size:.78rem;font-weight:900;padding:7px 9px}.workspace-tabs button.active,.workspace-tabs button:hover{border-bottom-color:var(--msu-blue, #4285f4);color:var(--msu-blue, #4285f4)}.workspace-tab-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.workspace-tab-body .leetcode-editor{min-height:0}.workspace-hints-panel,.workspace-discussion-panel{flex:1;min-height:260px;overflow:auto;border-radius:8px;background:var(--bg-secondary, #f7f8fa);color:var(--text-primary, #1a1a1a);padding:12px}.workspace-hints-panel ol{margin:12px 0 0;padding-left:20px}.workspace-hints-panel li{margin-bottom:10px;color:var(--text-secondary, #666);line-height:1.45}.coding-terminal.expanded{flex:1;min-height:300px}.coding-terminal.expanded pre{max-height:none;min-height:260px}.practice-progress-overview{display:grid;gap:10px;margin-bottom:14px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--bg-card, #fff);padding:14px}.practice-progress-overview>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}.practice-progress-overview strong{color:var(--text-primary, #1a1a1a);font-size:1.1rem}.progress-bar{height:12px;overflow:hidden;border-radius:999px;background:#6b728029}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34a853,#4285f4)}.progress-overview-stats{display:flex;flex-wrap:wrap;gap:8px}.progress-overview-stats span{border-radius:999px;background:var(--bg-secondary, #f7f8fa);color:var(--text-secondary, #666);font-size:.78rem;font-weight:900;padding:6px 9px}.quiz-bank-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:14px}.quiz-library,.quiz-insight-panel,.daily-feature-card{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--bg-card, #fff);color:var(--text-primary, #1a1a1a)}.quiz-library{padding:14px}.quiz-bank-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}.quiz-bank-header h2{margin:2px 0 0;font-size:1.1rem}.practice-controls.compact{min-width:0}.quiz-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.quiz-problem-card{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--bg-secondary, #f7f8fa);color:var(--text-primary, #1a1a1a);cursor:pointer;display:grid;gap:8px;min-height:118px;padding:12px;text-align:left}.quiz-problem-card:hover{border-color:#4285f466;background:#4285f414}.quiz-problem-card.solved{border-color:#34a8535c}.quiz-problem-card.in_progress{border-color:#f59e0b61}.quiz-problem-title{display:flex;align-items:center;gap:8px}.quiz-problem-title strong{font-size:.92rem;line-height:1.25}.quiz-status-dot{flex:0 0 auto;width:10px;height:10px;border-radius:999px;background:#9ca3af}.quiz-problem-card.solved .quiz-status-dot{background:#34a853}.quiz-problem-card.in_progress .quiz-status-dot{background:#f59e0b}.quiz-problem-card small,.quiz-meta-row{color:var(--text-secondary, #666);font-size:.78rem;font-weight:800}.quiz-meta-row{display:flex;justify-content:space-between;gap:8px}.quiz-insight-panel{display:grid;align-content:start;gap:12px;padding:14px}.quiz-insight-panel h3{margin:0 0 8px;color:var(--text-primary, #1a1a1a);font-size:.9rem}.quiz-insight-panel p{margin:5px 0;color:var(--text-secondary, #666);font-size:.82rem;line-height:1.35}.daily-feature-card{display:grid;gap:12px;overflow:hidden;padding:18px;position:relative}.daily-feature-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#fbbc05,#34a853,#4285f4)}.daily-feature-card h2,.daily-feature-card strong{margin:0;color:var(--text-primary, #1a1a1a);font-size:1.35rem;line-height:1.2}.daily-feature-card dl{display:grid;gap:8px;margin:0}.daily-feature-card dl div{display:flex;justify-content:space-between;gap:12px}.daily-feature-card dt,.daily-feature-card dd,.daily-feature-card small{margin:0;color:var(--text-secondary, #666);font-size:.86rem}.daily-feature-card dd{color:var(--text-primary, #1a1a1a);font-weight:900}.dashboard-daily{min-height:190px;cursor:pointer;text-align:left}.daily-practice-btn.inline{display:inline-flex;align-items:center;justify-content:center;width:fit-content}body.coding-dark .coding-app .practice-progress-overview,body.coding-dark .coding-app .quiz-library,body.coding-dark .coding-app .quiz-insight-panel,body.coding-dark .coding-app .daily-feature-card{background:var(--bg-primary, #1a1a1a);border-color:#4285f438}body.coding-dark .coding-app .quiz-problem-card,body.coding-dark .coding-app .workspace-hints-panel,body.coding-dark .coding-app .workspace-discussion-panel{background:#ffffff0d}@media (max-width: 900px){.coding-workbench,.coding-workbench-main,.quiz-bank-layout{grid-template-columns:1fr;grid-template-rows:auto}.coding-workbench{min-height:auto}.quiz-bank-header{display:grid}.leetcode-editor{min-height:320px}.coding-dashboard{grid-template-columns:1fr}}@media (max-width: 600px){.coding-pane-header{flex-direction:column}.coding-select{width:100%;max-width:none}}.suggestions{display:grid;grid-template-columns:repeat(2,1fr);align-items:stretch;gap:8px;margin-top:24px;max-width:720px;width:100%;padding:0 16px}@media (max-width: 600px){.suggestions{grid-template-columns:1fr}}.suggestion-btn{padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--border-color);border-radius:var(--radius-md, 10px);color:var(--text-main);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;text-align:left;line-height:1.35;display:flex;align-items:center;min-height:calc(2.7em + 18px)}.suggestion-btn__text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-btn:nth-child(4n+1){border-left-color:#4285f4}.suggestion-btn:nth-child(4n+2){border-left-color:#ea4335}.suggestion-btn:nth-child(4n+3){border-left-color:#34a853}.suggestion-btn:nth-child(4n+4){border-left-color:#fbbc05}.suggestion-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.02) 0%,transparent 100%);opacity:0;transition:opacity .2s ease}.suggestion-btn:hover:not(:disabled){border-color:var(--border-color);background:var(--bg-card);transform:translateY(-2px);box-shadow:var(--shadow-md)}.suggestion-btn:hover:before{opacity:1}.suggestion-btn:active:not(:disabled){transform:translateY(-1px)}.suggestion-btn:disabled{opacity:.5;cursor:not-allowed}.message{display:flex;gap:14px;width:auto}.message.bot{flex-direction:row;justify-content:flex-start;align-self:flex-start}.message.user{flex-direction:row-reverse;justify-content:flex-start;align-self:flex-end}.avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-md);border:2px solid var(--bg-card);transition:transform .2s ease}.message:hover .avatar-img{transform:scale(1.05)}.message-content{display:flex;flex-direction:column;gap:6px;max-width:none;min-width:0}.message-bubble{padding:16px 20px;border-radius:20px;font-size:.95rem;line-height:1.65;word-wrap:break-word;box-shadow:var(--shadow-sm);display:inline-block;max-width:680px;min-width:60px;width:auto;position:relative}.message.bot .message-bubble{background:linear-gradient(135deg,#4285f408,#4285f40f);color:var(--text-main);border:none;border-left:2px solid rgba(66,133,244,.2);border-radius:18px 18px 18px 4px;box-shadow:0 1px 6px #3c40430f,0 1px 2px #3c40430a}.message.user .message-bubble{background:#4285f4;color:#fff;border-radius:18px 18px 4px;box-shadow:0 1px 6px #4285f440}.yesno-btn-row{display:flex;gap:8px;margin-top:10px}.yesno-btn{min-width:72px;padding:7px 16px;border-radius:10px;border:1.5px solid #4285F4;background:transparent;color:#4285f4;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}.yesno-btn:hover{background:#4285f4;color:#fff}.yesno-btn:active{transform:translateY(1px)}.yesno-yes{border-color:#34a853;color:#34a853}.yesno-yes:hover{background:#34a853}body.dark .yesno-btn{border-color:color-mix(in srgb,#4285F4 70%,#fff 30%);color:color-mix(in srgb,#4285F4 60%,#fff 40%)}body.dark .yesno-btn:hover{background:#4285f4;color:#fff}body.dark .yesno-yes{border-color:color-mix(in srgb,#34a853 70%,#fff 30%);color:color-mix(in srgb,#34a853 65%,#fff 35%)}body.dark .yesno-yes:hover{background:#34a853;color:#fff}.choice-btn-row{display:flex;flex-direction:column;gap:8px;margin-top:10px;align-items:flex-start}.choice-btn{min-width:140px;max-width:100%;text-align:left;padding:9px 16px;border-radius:10px;border:1.5px solid #4285F4;background:transparent;color:#4285f4;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}.choice-btn:hover{background:#4285f4;color:#fff}.choice-btn:active{transform:translateY(1px)}body.dark .choice-btn{border-color:color-mix(in srgb,#4285F4 70%,#fff 30%);color:color-mix(in srgb,#4285F4 60%,#fff 40%)}body.dark .choice-btn:hover{background:#4285f4;color:#fff}.message-bubble p{margin-bottom:1rem;line-height:1.7}.message-bubble p:last-child{margin-bottom:0}.youtube-resource-card{display:block;width:min(100%,560px);margin:.75rem 0;overflow:hidden;border:1px solid color-mix(in srgb,var(--border-color, #d8dee9) 78%,var(--primary-blue, #173d7a) 22%);border-radius:16px;background:var(--bg-card, #fff);box-shadow:0 12px 26px #0f172a1f}.youtube-resource-frame{display:block;position:relative;width:100%;min-height:200px;aspect-ratio:16 / 9;background:#0f172a}@supports not (aspect-ratio: 16 / 9){.youtube-resource-frame{height:0;padding-bottom:56.25%}}.youtube-resource-frame iframe,.youtube-resource-iframe{position:absolute!important;right:0;bottom:0;top:0;left:0;width:100%!important;height:100%!important;border:0;display:block}.youtube-resource-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;margin:0;padding:0;cursor:pointer;background-color:#0f172a;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;transition:filter .15s ease}.youtube-resource-thumb:hover{filter:brightness(1.06)}.youtube-resource-play{display:inline-flex;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));opacity:.92;transition:transform .15s ease,opacity .15s ease}.youtube-resource-thumb:hover .youtube-resource-play{transform:scale(1.08);opacity:1}.youtube-resource-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--text-main)}.youtube-resource-meta strong{min-width:0;font-size:.92rem;line-height:1.25}.youtube-resource-meta a{flex:0 0 auto;color:var(--primary-blue, #173d7a);font-size:.84rem;font-weight:800;text-decoration:none}.youtube-resource-meta a:hover{color:var(--accent-orange, #f58220);text-decoration:underline}body.dark .youtube-resource-card{border-color:color-mix(in srgb,var(--accent-orange, #f4a261) 34%,#26354d 66%);background:color-mix(in srgb,var(--bg-card, #111827) 92%,#f4a261 8%);box-shadow:0 14px 30px #00000052}body.dark .youtube-resource-meta,body.dark .youtube-resource-meta strong{color:var(--text-main)}body.dark .youtube-resource-meta a{color:color-mix(in srgb,var(--accent-orange, #f4a261) 80%,#fff 20%)}.floating-coding-chat .youtube-resource-card{width:100%;margin:.55rem 0;border-radius:14px;box-shadow:none}.floating-coding-chat .youtube-resource-meta{align-items:flex-start;flex-direction:column;gap:6px;padding:10px 12px}.floating-coding-chat .youtube-resource-meta strong{font-size:.82rem}.floating-coding-chat .youtube-resource-meta a{font-size:.78rem}body.coding-dark .floating-coding-chat .youtube-resource-card{border-color:#2f4a7a;background:#142a4f;box-shadow:0 14px 30px #00000052}body.coding-dark .floating-coding-chat .youtube-resource-meta,body.coding-dark .floating-coding-chat .youtube-resource-meta strong{color:#eaf0fb}body.coding-dark .floating-coding-chat .youtube-resource-meta a{color:#f7a054}body.coding-dark .floating-coding-chat .youtube-resource-meta a:hover{color:#ffb774}.message-bubble ul,.message-bubble ol{margin:.75rem 0 1rem;padding-left:1.75rem}.message-bubble ul{list-style-type:disc}.message-bubble ol{list-style-type:decimal}.message-bubble li{margin-bottom:.5rem;line-height:1.6;padding-left:.25rem}.message-bubble li:last-child{margin-bottom:0}.message-bubble ul ul,.message-bubble ol ol,.message-bubble ul ol,.message-bubble ol ul{margin-top:.5rem;margin-bottom:.5rem}.message-bubble h1{font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.4;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.message-bubble h2{font-weight:700;margin-top:1.25rem;margin-bottom:.6rem;font-size:1.15rem;line-height:1.4}.message-bubble h3{font-weight:600;margin-top:1rem;margin-bottom:.5rem;font-size:1.05rem;line-height:1.4}.message-bubble h1:first-child,.message-bubble h2:first-child,.message-bubble h3:first-child{margin-top:0}.message-bubble code{background:#4285f414;padding:.15rem .4rem;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;color:#1967d2}.message-bubble pre{background:#2d2d2d;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0;font-size:.875rem;line-height:1.5}.message-bubble pre code{background:transparent;padding:0;color:inherit}.message-bubble blockquote{border-left:4px solid #4285F4;margin:1rem 0;padding:.75rem 1rem;background:#4285f40d;border-radius:0 8px 8px 0;font-style:italic}.message-bubble blockquote p{margin-bottom:0}.message-bubble hr{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.message-bubble table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}.message-bubble th,.message-bubble td{border:1px solid var(--border-color);padding:.5rem .75rem;text-align:left}.message-bubble th{background:#4285f414;font-weight:600}.message.bot .message-bubble h1,.message.bot .message-bubble h2,.message.bot .message-bubble h3{color:var(--msu-blue)}.message.bot .message-bubble strong{color:inherit;font-weight:700}.message.user .message-bubble h1,.message.user .message-bubble h2,.message.user .message-bubble h3,.message.user .message-bubble strong{color:#fff}.message.user .message-bubble code{background:#fff3;color:#fff}.message.user .message-bubble blockquote{border-left-color:#ffffff80;background:#ffffff1a}body.dark .message-bubble code{background:#8ab4f81f;color:#8ab4f8}body.dark .message-bubble pre{background:#1a1a1a}body.dark .message-bubble blockquote{border-left-color:#8ab4f8;background:#8ab4f80f}.message-link{color:var(--msu-blue);text-decoration:underline}.message.user .message-link{color:#fff}.timestamp{font-size:.75rem;color:var(--text-secondary);padding:0 8px}.message.user .timestamp{text-align:right}@keyframes glowPulse{0%,to{box-shadow:0 4px 20px #4285f414,0 0 0 3px #4285f414}50%{box-shadow:0 4px 24px #4285f426,0 0 0 4px #4285f41f}}@keyframes glowPulseDark{0%,to{box-shadow:0 4px 20px #8ab4f80f,0 0 0 3px #8ab4f814}50%{box-shadow:0 4px 24px #8ab4f81f,0 0 0 4px #8ab4f824}}@keyframes sendBounce{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}to{transform:scale(1.05)}}.chat-input-container{position:fixed;bottom:0;left:280px;right:0;background:linear-gradient(to top,var(--bg-body) 18%,color-mix(in srgb,var(--bg-body) 70%,transparent) 64%,transparent 100%);border-top:0;padding:28px 24px 24px;z-index:100;width:calc(100% - 280px);pointer-events:none;transition:left .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),background-color .12s ease,border-color .12s ease}.chat-input-container>*{pointer-events:auto}body.sidebar-collapsed .chat-input-container{left:64px;width:calc(100% - 64px)}.chat-input-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:900px;margin:0 auto;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:24px;padding:10px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000f,0 0 0 1px #00000005,var(--shadow-inner)}.chat-input-wrapper:focus-within{border-color:var(--msu-blue);animation:glowPulse 2s ease-in-out infinite}.input-row{display:flex;align-items:center;width:100%;gap:8px}.chat-input-field{flex:1;border:none;outline:none;padding:10px 14px;font-size:16px;font-family:inherit;background:transparent;color:var(--text-main);resize:none;overflow-y:auto;max-height:150px;min-height:40px;line-height:1.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chat-input-field::placeholder{color:var(--text-secondary)}@supports (-webkit-touch-callout: none){.chat-input-field{font-size:16px!important}}.model-selector-header{transition:padding .32s cubic-bezier(.22,1,.36,1),background-color .12s ease}.chat-controls-header{display:flex;align-items:center;gap:10px;pointer-events:auto;padding-left:0;transition:padding-left .32s cubic-bezier(.22,1,.36,1)}.model-selector-header{border-color:var(--border-subtle)!important}.model-selector-trigger,.mode-segmented,.chat-input-wrapper,.message.bot .message-bubble,.feedback-dropdown,.report-modal{background:var(--bg-surface, var(--bg-card))!important;border-color:var(--border-soft, var(--border-color))!important;color:var(--text-main)!important}.model-dropdown{background:var(--bg-surface-raised, var(--bg-elevated))!important;border-color:var(--border-soft, var(--border-color))!important;box-shadow:var(--shadow-xl)!important}.model-dropdown-item:hover,.model-dropdown-item.active,.suggestions .suggestion-btn:hover{background:var(--primary-soft, var(--msu-blue-100))!important}.mode-segmented-btn{color:var(--text-muted, var(--text-secondary))!important}.mode-segmented-btn.active,.send-btn:not(:disabled),.header-home-btn{background:linear-gradient(135deg,var(--primary, var(--msu-blue)),var(--primary-hover, var(--msu-blue-hover)))!important;color:#fff!important;border-color:color-mix(in srgb,var(--primary, var(--msu-blue)) 68%,transparent)!important}.mode-segmented-btn.active{background:var(--accent-soft, var(--msu-gold-50))!important;color:var(--accent, var(--msu-gold))!important;border-color:color-mix(in srgb,var(--accent, var(--msu-gold)) 52%,transparent)!important}.message.user .message-bubble{background:linear-gradient(135deg,var(--primary, var(--msu-blue)),var(--accent, var(--accent-teal)))!important;color:#fff!important}.suggestions .suggestion-btn{background:var(--bg-surface, var(--bg-card))!important;border-color:var(--border-soft, var(--border-color))!important;color:var(--text-main)!important;box-shadow:var(--shadow-sm)!important}.suggestions .suggestion-btn:nth-child(4n+1),.suggestions .suggestion-btn:nth-child(4n+2),.suggestions .suggestion-btn:nth-child(4n+3),.suggestions .suggestion-btn:nth-child(4n+4){border-left-color:var(--accent, var(--msu-gold))!important}.suggestions .suggestion-btn:hover{border-color:color-mix(in srgb,var(--accent, var(--msu-gold)) 45%,var(--border-soft))!important;color:var(--accent, var(--msu-gold))!important}.chat-input-field{color:var(--text-main)!important}body.dark .chat-input-wrapper,body.dark .message.bot .message-bubble,body.dark .model-selector-trigger,body.dark .mode-segmented{background:var(--bg-surface, var(--bg-card))!important;border-color:var(--border-soft, var(--border-color))!important}.message.user .message-bubble{background:var(--primary, var(--msu-blue))!important;color:#fff!important;border:1px solid color-mix(in srgb,var(--primary-hover, var(--msu-blue-hover)) 64%,transparent)!important;box-shadow:0 8px 20px #002d7229!important}.message.bot .message-bubble{background:transparent!important;border:0!important;border-left:3px solid var(--accent, var(--msu-gold))!important;border-radius:0 12px 12px 0!important;box-shadow:none!important;color:var(--text-main)!important;padding-left:18px!important}.message.bot .message-bubble-wrapper{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}body.dark .message.user .message-bubble{background:var(--primary, var(--msu-blue))!important;color:#07111f!important;box-shadow:0 8px 22px #00000047!important}body.dark .message.bot .message-bubble{background:transparent!important;border-left-color:var(--accent, var(--msu-gold))!important;color:var(--text-main)!important}body.dark .message.bot .message-bubble-wrapper{background:transparent!important;border:0!important}body.dark .chatbox{color:var(--text-main)}body.dark .message.user .message-bubble{background:linear-gradient(135deg,#5f7fae,#466995)!important;color:#f8f3ea!important;border-color:#8faed757!important;box-shadow:0 10px 24px #060c1657!important}body.dark .message.bot .message-bubble{background:transparent!important;color:#ece6dc!important;border-left-color:#e7a05b!important}body.dark .message.bot .message-bubble strong,body.dark .message.bot .message-bubble h1,body.dark .message.bot .message-bubble h2,body.dark .message.bot .message-bubble h3{color:#f7efe3!important}body.dark .model-selector-header{background:var(--bg-body)!important}body.dark .model-selector-trigger,body.dark .mode-segmented,body.dark .header-home-btn,body.dark .chat-input-wrapper{background:var(--bg-surface)!important;border-color:#8faed73d!important;color:var(--text-main)!important;box-shadow:0 10px 24px #060c1633!important}body.dark .model-selector-trigger:hover:not(:disabled),body.dark .header-home-btn:hover,body.dark .mode-segmented-btn:hover:not(:disabled){background:#e7a05b24!important;border-color:#e7a05b57!important;color:#f7d6b4!important}body.dark .mode-segmented-btn.active{background:linear-gradient(135deg,#789dca3d,#e7a05b24)!important;color:#f4efe6!important}body.dark .send-btn:not(:disabled){background:#5f7fae!important;color:#f8f3ea!important}body.dark .send-btn:hover:not(:disabled){background:#e7a05b!important;color:#182033!important}.header-home-btn{border:1px solid rgba(29,78,216,.35);border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 8px 22px #1d4ed838;cursor:pointer;font-size:13px;font-weight:700;min-height:34px;padding:8px 12px;white-space:nowrap}.header-home-btn:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 10px 26px #2563eb4d}.coding-chat-main{padding-top:42px;height:auto;min-height:calc(100vh - 70px);overflow-y:auto;overflow-x:hidden}.model-selector-wrap{position:relative;display:inline-flex}[data-theme=dark] .model-selector-header,body.dark .model-selector-header{background:var(--bg-body, #1a1a1a)}.model-selector-trigger{display:flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:10px;transition:background .15s ease;color:var(--text-primary, #1a1a1a)}.model-selector-trigger:hover:not(:disabled){background:var(--bg-secondary, #f0f2f5)}.model-selector-trigger:disabled{opacity:.5;cursor:not-allowed}.model-selector-name{font-size:16px;font-weight:600;letter-spacing:-.2px}.model-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px;z-index:100;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .1s ease;color:var(--text-primary, #1a1a1a)}.model-dropdown-item:hover,.model-dropdown-item.active{background:var(--bg-secondary, #f0f2f5)}.model-dropdown-info{display:flex;flex-direction:column;flex:1;min-width:0}.model-dropdown-name{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a1a)}.model-dropdown-desc{font-size:12px;color:var(--text-secondary, #666);margin-top:1px}.model-dropdown-check{flex-shrink:0;color:var(--msu-blue, #4285f4)}.mode-segmented{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(66,133,244,.18);border-radius:10px;background:linear-gradient(135deg,#4285f414,#34a8530d),var(--bg-primary, #fff);box-shadow:0 6px 18px #0f172a0f}.mode-segmented-btn{border:none;background:transparent;color:var(--text-secondary, #666);border-radius:7px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.mode-segmented-btn:hover:not(:disabled){color:var(--text-primary, #1a1a1a);background:var(--bg-secondary, #f0f2f5)}.mode-segmented-btn.active{color:var(--msu-blue, #4285f4);background:#4285f41a}.mode-segmented-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .model-selector-trigger,body.dark .model-selector-trigger{color:#e5e7eb;background:#0f172ab8;border:1px solid rgba(148,163,184,.18)}[data-theme=dark] .model-selector-trigger:hover:not(:disabled),body.dark .model-selector-trigger:hover:not(:disabled){background:#1e293beb;border-color:#8ab4f847}[data-theme=dark] .model-dropdown,body.dark .model-dropdown{background:var(--bg-primary, #1a1a1a);border-color:var(--border-color, #333);box-shadow:0 8px 24px #0006}[data-theme=dark] .model-dropdown-item:hover,[data-theme=dark] .model-dropdown-item.active,body.dark .model-dropdown-item:hover,body.dark .model-dropdown-item.active{background:var(--bg-secondary, #2a2a2a)}[data-theme=dark] .model-dropdown-name,body.dark .model-dropdown-name{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .model-dropdown-desc,body.dark .model-dropdown-desc{color:var(--text-secondary, #888)}[data-theme=dark] .mode-segmented,body.dark .mode-segmented{background:linear-gradient(135deg,#4285f424,#34a8530f),#0f172adb;border-color:#4285f43d;box-shadow:0 8px 24px #0000003d}[data-theme=dark] .mode-segmented-btn,body.dark .mode-segmented-btn{color:#a7b3c6}[data-theme=dark] .mode-segmented-btn:hover:not(:disabled),body.dark .mode-segmented-btn:hover:not(:disabled){color:#e5e7eb;background:#1e293bf2}[data-theme=dark] .mode-segmented-btn.active,body.dark .mode-segmented-btn.active{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}body.dark .header-home-btn{border-color:#93c5fd52;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff}.action-btn-icon{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s;flex-shrink:0}.action-btn-icon:hover:not(:disabled){background:#4285f414;color:var(--msu-blue);transform:scale(1.15)}.action-btn-icon:disabled{opacity:.4;cursor:not-allowed}.send-btn:not(:disabled){background:var(--gradient-primary);color:#fff;padding:8px;border-radius:50%;box-shadow:0 2px 8px #4285f440}.send-btn:hover:not(:disabled){background:var(--gradient-primary);color:#fff;animation:sendBounce .4s forwards;box-shadow:0 4px 14px #4285f459}.send-btn:active:not(:disabled){transform:scale(.92)}body.dark .send-btn:not(:disabled){background:linear-gradient(135deg,#8ab4f8,#669df6);color:#202124;box-shadow:0 2px 8px #8ab4f84d}body.dark .send-btn:hover:not(:disabled){box-shadow:0 4px 14px #8ab4f866}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.dot{width:8px;height:8px;background:var(--msu-blue);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.thinking-bubble{padding:14px 20px!important;background:var(--bg-card)!important;border:1px solid var(--border-color)}.stream-status-container{display:flex;flex-direction:column;gap:6px;padding:2px 0}.stream-step{display:flex;align-items:center;gap:10px;font-size:.875rem;line-height:1.4;transition:opacity .3s ease}.step-icon-wrap{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.step-icon-wrap.done{background:#34a8531f;color:var(--google-green, #34A853);animation:checkPop .35s cubic-bezier(.34,1.56,.64,1) forwards}.step-check{width:14px;height:14px}@keyframes checkPop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.stream-step.completed{opacity:.55}.stream-step.completed span{color:var(--text-tertiary, #999)}.step-icon-wrap.active-icon{background:#4285f41a;color:var(--msu-blue, #4285F4);animation:iconFloat 2s ease-in-out infinite}.status-icon{width:15px;height:15px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.icon-search{animation:iconSearch 1.8s ease-in-out infinite}@keyframes iconSearch{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(1px,-1px) rotate(-8deg)}75%{transform:translate(-1px,1px) rotate(8deg)}}.icon-think{animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:1}}.icon-consult{animation:iconSlide 1.6s ease-in-out infinite}@keyframes iconSlide{0%,to{transform:translate(0)}50%{transform:translate(2px)}}.icon-process{animation:iconSpin 3s linear infinite}@keyframes iconSpin{to{transform:rotate(360deg)}}.icon-write{animation:iconWrite 1.2s ease-in-out infinite}@keyframes iconWrite{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(.5px,-1px) rotate(-3deg)}75%{transform:translate(-.5px,.5px) rotate(2deg)}}.icon-book{animation:iconPulse 2s ease-in-out infinite}.icon-default{animation:iconTwinkle 1.5s ease-in-out infinite}@keyframes iconTwinkle{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.15) rotate(15deg);opacity:1}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.stream-step.active{opacity:1}.stream-step.active span:not(.thinking-timer){font-weight:500}.thinking-text-shimmer{font-size:.875rem;font-weight:500;background:linear-gradient(110deg,var(--text-secondary, #666) 30%,var(--msu-blue, #4285F4) 50%,var(--text-secondary, #666) 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerText 2s ease-in-out infinite}@keyframes shimmerText{0%{background-position:200% 0}to{background-position:-200% 0}}.thinking-timer{font-size:.7rem;color:var(--text-tertiary, #999);font-variant-numeric:tabular-nums;opacity:.6;margin-left:auto;padding-left:8px}.streaming-cursor{display:inline;margin-left:1px;vertical-align:baseline}.cursor-bar{display:inline-block;width:2px;height:1em;background:var(--msu-blue, #4285F4);border-radius:1px;vertical-align:text-bottom;animation:cursorBlink 1s steps(2) infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.bot-action-row{display:flex;align-items:center;gap:4px;margin-top:6px;opacity:0;transition:opacity .2s ease}.cs-mode-bounce-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 14px;font-size:.83rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#4f46e5,#4338ca);border:none;border-radius:10px;cursor:pointer;transition:filter .15s ease,transform .05s ease}.cs-mode-bounce-btn:hover:not(:disabled){filter:brightness(1.08)}.cs-mode-bounce-btn:active:not(:disabled){transform:translateY(1px)}.cs-mode-bounce-btn:disabled{opacity:.55;cursor:default}.message-bubble:hover .bot-action-row,.bot-action-row:focus-within{opacity:1}.tts-btn{background:transparent;border:none;color:var(--text-tertiary, #999);cursor:pointer;padding:4px 6px;border-radius:6px;transition:all .2s;display:flex;align-items:center}.tts-btn:hover{color:var(--msu-blue);background:#4285f414}.tts-btn.tts-active{color:#e53935;background:#e5393514}.tts-btn.tts-active:hover{background:#e5393526}.regen-icon-btn{background:transparent;border:none;color:var(--text-tertiary, #999);cursor:pointer;padding:4px 6px;border-radius:6px;display:flex;align-items:center;transition:all .2s}.regen-icon-btn:hover{color:var(--msu-blue);background:#4285f414}.regen-icon-btn:active svg{animation:regenSpin .5s ease-in-out}@keyframes regenSpin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@media (min-width: 1440px){.chat-messages{padding:40px 32px 130px}.message-bubble{max-width:750px}.chat-input-wrapper{max-width:1000px}.welcome-container{max-width:900px}}@media (max-width: 1279px) and (min-width: 1024px){.chat-main{margin-left:280px;width:calc(100% - 280px)}.chat-input-container{left:280px}.message-bubble{max-width:600px}.chat-input-wrapper{max-width:800px}}@media (max-width: 1023px) and (min-width: 768px){.chat-messages{padding:24px 20px 110px}.message-bubble{max-width:75%}.welcome-container{padding:60px 20px}.welcome-title{font-size:2rem}.suggestions{grid-template-columns:repeat(2,1fr)}.suggestion-btn{min-height:calc(3 * 1.35em + 18px)}.suggestion-btn__text{-webkit-line-clamp:3}.chat-input-wrapper{max-width:700px}}@media (max-width: 767px){.chat-main{margin-left:0!important;width:100%!important;height:calc(100vh - 70px);height:calc(100dvh - 70px)}.chat-input-container{left:0!important;width:100%!important;padding-bottom:env(safe-area-inset-bottom,16px)}.chat-messages{padding:20px 16px 110px;gap:16px}.welcome-title{font-size:1.5rem}.welcome-container{padding:50px 16px}.message{width:100%!important;flex-wrap:nowrap!important}.message-content{flex:1 1 auto!important;max-width:100%!important;min-width:0!important}.message-bubble{max-width:100%!important;width:auto!important;min-width:0!important;display:block!important}.message-bubble p{margin:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}.chat-input-field{font-size:16px!important}.suggestions{grid-template-columns:1fr}}@media (max-width: 480px){.chat-main{height:calc(100vh - 60px)}.chat-messages{padding:16px 12px 110px;gap:12px}.welcome-container{padding:40px 16px}.welcome-logo{width:70px;height:70px;margin-bottom:20px;border-radius:16px}.welcome-title{font-size:1.35rem;margin-bottom:8px}.welcome-subtitle{font-size:.95rem;margin-bottom:24px;max-width:100%}.suggestions{grid-template-columns:1fr;gap:8px;margin-top:16px;padding:0 8px}.suggestion-btn{padding:12px 14px;font-size:.85rem;border-radius:10px}.message{gap:8px!important;width:100%!important;max-width:100%!important;display:flex!important;flex-wrap:nowrap!important}.message.user{flex-direction:row-reverse!important;justify-content:flex-start!important}.message.bot{flex-direction:row!important;justify-content:flex-start!important}.message-content{flex:1 1 auto!important;max-width:100%!important;min-width:0!important;width:auto!important}.avatar-img{width:30px!important;height:30px!important;flex-shrink:0!important}.message-bubble{padding:10px 14px!important;font-size:.9rem!important;line-height:1.5!important;border-radius:16px!important;max-width:100%!important;width:auto!important;min-width:0!important;display:block!important}.message-bubble p{margin:0!important;word-break:normal!important;white-space:normal!important}.message.bot .message-bubble{border-radius:16px 16px 16px 4px!important}.message.user .message-bubble{border-radius:16px 16px 4px!important}.timestamp{font-size:.7rem}.chat-input-container{padding:12px 12px 16px}.chat-input-wrapper{border-radius:24px;padding:8px 12px}.chat-input-field{font-size:16px;padding:6px 8px}.action-btn-icon{padding:6px}.live-mode-btn{width:36px;height:36px}.message-bubble h1{font-size:1.1rem}.message-bubble h2{font-size:1rem}.message-bubble h3{font-size:.95rem}.message-bubble ul,.message-bubble ol{padding-left:1.25rem}.message-bubble pre{padding:.75rem;font-size:.8rem}.message-bubble{max-width:100%;width:100%}.message.bot,.message.user{width:100%}.message-bubble table{font-size:.8rem}.message-bubble th,.message-bubble td{padding:.4rem .5rem}.voice-orb{width:120px;height:120px}.orb-core{width:65px;height:65px}.voice-label{font-size:1.25rem}.voice-end-btn{padding:12px 32px;font-size:.9rem}}@media (max-width: 380px){.chat-messages{padding:12px 8px 105px}.welcome-container{padding:30px 12px}.welcome-logo{width:60px;height:60px}.welcome-title{font-size:1.2rem}.welcome-subtitle{font-size:.9rem}.suggestion-btn{padding:10px 12px;font-size:.8rem}.message{gap:6px!important}.message-content{max-width:80%!important}.message-bubble{padding:9px 12px!important;font-size:.85rem!important}.avatar-img{width:26px!important;height:26px!important}.chat-input-container{padding:10px 8px 14px}.chat-input-wrapper{padding:6px 10px}.chat-input-field{padding:5px 6px}}body.dark .welcome-title{background:linear-gradient(135deg,#8ab4f8,#aecbfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.dark .welcome-subtitle{color:#e4e4e7;opacity:.9}body.dark .welcome-logo{box-shadow:0 8px 24px #8ab4f826,0 0 0 4px #8ab4f814}body.dark .suggestions .suggestion-btn{background:var(--bg-card)!important;color:var(--text-main)!important;border:1px solid var(--border-color)!important;border-left:3px solid var(--border-color)!important}body.dark .suggestion-btn:nth-child(4n+1){border-left-color:#8ab4f8!important}body.dark .suggestion-btn:nth-child(4n+2){border-left-color:#f28b82!important}body.dark .suggestion-btn:nth-child(4n+3){border-left-color:#81c995!important}body.dark .suggestion-btn:nth-child(4n+4){border-left-color:#fdd663!important}body.dark .suggestions .suggestion-btn:hover{border-color:var(--border-color)!important;background:#ffffff0a!important;box-shadow:var(--shadow-md)}body.dark .welcome-container:before{background:radial-gradient(circle,var(--page-wash, rgba(245, 130, 32, .05)) 0%,transparent 70%)}body.dark .message.user .message-bubble{background:linear-gradient(135deg,#669df6,#8ab4f8);color:#fff}body.dark .message.bot .message-bubble{background:linear-gradient(135deg,#8ab4f80f,#8ab4f81a)!important;border:none!important;border-left:2px solid rgba(138,180,248,.2)!important}body.dark .chat-input-wrapper:focus-within{border-color:#8ab4f8;animation:glowPulseDark 2s ease-in-out infinite}body.dark .message.bot .message-bubble h1,body.dark .message.bot .message-bubble h2,body.dark .message.bot .message-bubble h3{color:#8ab4f8}body.dark .message.bot .message-bubble strong{color:inherit}.attachment-preview{display:flex;align-items:center;gap:10px;background-color:var(--bg-card);padding:8px 12px;border-radius:12px;margin-bottom:4px;border:1px solid var(--border-color);font-size:.85rem;color:var(--text-main);animation:slideUp .2s ease-out;width:fit-content;box-shadow:var(--shadow-sm)}@keyframes slideUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.remove-attachment-btn{background:none;border:none;color:#ef4444;cursor:pointer;margin-left:8px;display:flex;align-items:center;font-size:1rem;padding:2px;border-radius:50%;transition:background .2s}.remove-attachment-btn:hover{background:#ef44441a}.file-name-preview{font-weight:600;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card{display:flex;align-items:center;gap:12px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);padding:10px 14px;border-radius:12px;text-decoration:none;color:#333;margin-bottom:8px;margin-top:4px;width:fit-content;max-width:100%;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 5px #0000000d}.file-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;background:#fff}.file-icon{font-size:24px}.file-icon.pdf{color:#e11d48}.file-icon.word{color:#2563eb}.file-icon.image{color:#16a34a}.file-icon.generic{color:#64748b}.file-info{display:flex;flex-direction:column}.file-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.file-action{font-size:.75rem;color:#666}body.dark .file-card{background:#1e293be6;border-color:#ffffff1a;color:#e2e8f0}body.dark .file-card:hover{background:#1e293b;box-shadow:0 4px 12px #0000004d}body.dark .file-action{color:#94a3b8}.voice-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#000000d9,#4285f4e6);display:flex;align-items:center;justify-content:center;z-index:200;animation:overlayFadeIn .4s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.voice-orb-container{display:flex;flex-direction:column;align-items:center;gap:24px}.voice-orb{width:140px;height:140px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.orb-ring{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.3);animation:ringPulse 2s ease-in-out infinite}.ring-1{width:100%;height:100%;animation-delay:0s}.ring-2{width:130%;height:130%;animation-delay:.3s}.ring-3{width:160%;height:160%;animation-delay:.6s}@keyframes ringPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:.3}}.voice-orb.listening .orb-ring{border-color:#ef444480;animation:ringPulseActive 1s ease-in-out infinite}@keyframes ringPulseActive{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:.2}}.voice-orb.speaking .orb-ring{border-color:#ffb70380;animation:ringPulseSpeaking .8s ease-in-out infinite}@keyframes ringPulseSpeaking{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:.3}}.voice-orb.processing .orb-ring{border-color:#4285f480;animation:ringRotate 1.5s linear infinite}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-core{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#fff,#e0e0e0);display:flex;align-items:center;justify-content:center;color:var(--msu-blue);box-shadow:0 4px 20px #0000004d,inset 0 -4px 10px #0000001a;z-index:10;transition:all .3s ease}.voice-orb.listening .orb-core{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 0 40px #ef444480,0 4px 20px #0000004d}.voice-orb.speaking .orb-core{background:linear-gradient(135deg,#34a853,#81c995);color:#fff;box-shadow:0 0 40px #34a85380,0 4px 20px #0000004d}.voice-orb.processing .orb-core{background:linear-gradient(135deg,var(--msu-blue) 0%,#669DF6 100%);color:#fff}.orb-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-label{font-size:1.5rem;font-weight:600;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:.02em}.voice-end-btn{padding:14px 40px;background:#ffffff26;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voice-end-btn:hover{background:#ef4444cc;border-color:#ef4444;transform:scale(1.05);box-shadow:0 4px 20px #ef444466}.voice-btn.listening{background:#ef4444!important;color:#fff!important;animation:micPulse 1.5s infinite}@keyframes micPulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.suggestion-skeleton{width:220px;height:44px;background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-card) 50%,var(--border-color) 75%);background-size:200% 100%;border-radius:24px;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.live-mode-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#002d72,#1a5ab8);border:none;color:#ffffffd9;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;overflow:visible;box-shadow:0 2px 8px #002d7240}.live-mode-btn:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid transparent;transition:border-color .25s ease}.live-mode-btn:hover:not(:disabled){color:#fff;transform:scale(1.1);box-shadow:0 4px 16px #002d7266}.live-mode-btn:hover:not(:disabled):after{border-color:#002d724d}.live-mode-btn.active{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 0 16px #ef444480;animation:none}.live-mode-btn.active:after{border-color:#ef444466;animation:liveRingPulse 1.5s ease-out infinite}@keyframes liveRingPulse{0%{top:-3px;right:-3px;bottom:-3px;left:-3px;opacity:1;border-color:#ef444480}to{top:-14px;right:-14px;bottom:-14px;left:-14px;opacity:0;border-color:#ef444400}}.live-mode-btn.active:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid rgba(239,68,68,.3);animation:liveRingPulse 1.5s ease-out .5s infinite}.live-mode-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}body.dark .live-mode-btn{background:linear-gradient(135deg,#1e3a5f,#2563eb);box-shadow:0 2px 8px #2563eb4d}body.dark .live-mode-btn:hover:not(:disabled){box-shadow:0 4px 16px #2563eb80}body.dark .live-mode-btn:hover:not(:disabled):after{border-color:#2563eb4d}body.dark .live-mode-btn.active{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.message-bubble-wrapper{display:flex;align-items:flex-start;gap:4px}.feedback-menu-container{position:relative;display:flex;align-items:center;align-self:center;flex-shrink:0}.feedback-menu-btn{opacity:0;background:transparent;border:none;padding:6px;cursor:pointer;color:var(--text-secondary);border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.message.bot:hover .feedback-menu-btn{opacity:1}.feedback-menu-btn:hover{background:var(--bg-card);color:var(--msu-blue)}.feedback-dropdown{position:absolute;top:100%;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:100;min-width:160px;animation:feedbackDropdown .15s ease-out}@keyframes feedbackDropdown{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;cursor:pointer;font-size:.875rem;color:var(--text-main);border-radius:8px;transition:all .15s ease;text-align:left}.feedback-option:hover{background:#4285f414}.feedback-option--helpful:hover{background:#22c55e1a;color:#16a34a}.feedback-option--not-helpful:hover{background:#ef44441a;color:#dc2626}.feedback-option--report:hover{background:#f59e0b1a;color:#d97706}.feedback-status{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;animation:feedbackPop .3s ease-out}@keyframes feedbackPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.feedback-status--helpful{background:#22c55e1a;color:#16a34a}.feedback-status--not_helpful{background:#ef44441a;color:#dc2626}.feedback-status--report{background:#f59e0b1a;color:#d97706}.report-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.report-modal{background:var(--bg-card);border-radius:20px;width:90%;max-width:480px;box-shadow:var(--shadow-lg);animation:modalSlide .25s ease-out;overflow:hidden}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.report-modal-header h3{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-main)}.report-modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.report-modal-close:hover{background:#ef44441a;color:#ef4444}.report-modal-body{padding:24px}.report-modal-body p{margin:0 0 16px;color:var(--text-secondary);font-size:.95rem}.report-textarea{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-body);color:var(--text-main);font-size:.95rem;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s ease,box-shadow .2s ease}.report-textarea:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 4px #4285f41a}.report-textarea::placeholder{color:var(--text-secondary)}.report-modal-footer{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.report-cancel-btn{padding:12px 20px;border:1px solid var(--border-color);background:transparent;color:var(--text-main);font-size:.9rem;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s ease}.report-cancel-btn:hover{background:var(--bg-body);border-color:var(--text-secondary)}.report-submit-btn{padding:12px 24px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.9rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s ease}.report-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.report-submit-btn:disabled{opacity:.5;cursor:not-allowed}body.dark .feedback-dropdown{background:#2d2d2d;border-color:#ffffff1a}body.dark .feedback-option:hover{background:#8ab4f81a}body.dark .report-modal{background:#2d2d2d}body.dark .report-textarea{background:#1f1f1f;border-color:#ffffff1a}body.dark .report-textarea:focus{border-color:#8ab4f8;box-shadow:0 0 0 4px #8ab4f81a}@media (max-width: 768px){.feedback-menu-btn{opacity:1}.feedback-dropdown{min-width:140px}.feedback-option{padding:8px 10px;font-size:.8rem}.report-modal{width:95%;margin:16px}.report-modal-header{padding:16px 20px}.report-modal-body{padding:20px}.report-modal-footer{padding:12px 20px 20px}}.code-block-wrapper{border-radius:8px;overflow:hidden;margin:12px 0;border:1px solid var(--border-color);max-width:100%}.code-block-wrapper>div:last-child{overflow-x:auto;max-width:100%}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#2d2d2d;border-bottom:1px solid #3c3c3c}.code-lang{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.code-copy-btn{background:transparent;border:1px solid #4b5563;border-radius:4px;color:#d1d5db;font-size:.72rem;padding:2px 8px;cursor:pointer;transition:all .15s ease}.code-copy-btn:hover{background:#374151;border-color:#6b7280;color:#fff}.drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;background:#4285f40f;border:2px dashed var(--msu-blue);border-radius:12px;display:flex;align-items:center;justify-content:center;pointer-events:none}.drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--msu-blue);font-size:1.1rem;font-weight:600}body.dark .drag-overlay{background:#8ab4f814;border-color:#8ab4f8}body.dark .drag-overlay-content{color:#8ab4f8}@media (max-width: 900px){.model-selector-header{top:-4px;padding:4px 10px 16px}.chat-controls-header{flex-wrap:wrap;gap:6px;max-width:100%}.model-selector-trigger,.mode-segmented-btn{min-height:34px}.model-selector-name{font-size:14px}.mode-segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.mode-segmented::-webkit-scrollbar{display:none}.mode-segmented-btn{padding:6px 8px;font-size:12px}.model-dropdown{min-width:min(260px,calc(100vw - 32px))}}@media (max-width: 640px){.chat-main,body.sidebar-collapsed .chat-main{margin-left:0;width:100%}.chat-messages{padding:16px 12px 118px}.chat-controls-header{justify-content:flex-start}}body.sidebar-resizing .chat-main{margin-left:var(--sidebar-preview-width, 280px);width:calc(100% - var(--sidebar-preview-width, 280px));transition:margin-left 80ms linear,width 80ms linear;will-change:margin-left,width}body.sidebar-resizing .chat-input-container{left:var(--sidebar-preview-width, 280px);width:calc(100% - var(--sidebar-preview-width, 280px));transition:left 80ms linear,width 80ms linear;will-change:left,width}body.sidebar-custom-width:not(.sidebar-collapsed) .chat-input-container{left:var(--sidebar-width, 280px);width:calc(100% - var(--sidebar-width, 280px))}.coding-chat-main .coding-workbench-main{grid-template-columns:minmax(280px,.34fr) minmax(0,1fr)}.coding-chat-main .coding-editor-center{min-height:0}.coding-chat-main .workspace-tab-body .leetcode-editor,.coding-chat-main .leetcode-editor{min-height:clamp(260px,calc(100vh - 470px),460px)}@media (max-width: 1023px) and (min-width: 768px){body:not(.sidebar-collapsed) .chat-main{margin-left:220px!important;width:calc(100% - 220px)!important}body.sidebar-collapsed .chat-main{margin-left:64px!important;width:calc(100% - 64px)!important}body:not(.sidebar-collapsed) .chat-input-container{left:220px!important;width:calc(100% - 220px)!important}body.sidebar-collapsed .chat-input-container{left:64px!important;width:calc(100% - 64px)!important}body:not(.sidebar-collapsed) .coding-chat-main{margin-left:220px!important;width:calc(100% - 220px)!important}body.sidebar-collapsed .coding-chat-main{margin-left:64px!important;width:calc(100% - 64px)!important}.coding-chat-main .coding-workbench-main{grid-template-columns:minmax(260px,.34fr) minmax(0,1fr)!important}.model-selector-header{padding-left:18px;padding-right:18px}}@media (max-width: 640px){body.sidebar-collapsed .chat-input-container,body.sidebar-resizing .chat-input-container,body.sidebar-custom-width:not(.sidebar-collapsed) .chat-input-container{left:0;width:100%}}.model-selector-header .header-home-btn{background:linear-gradient(135deg,var(--primary, #002d72),var(--primary-hover, #0057b8))!important;border:1px solid color-mix(in srgb,var(--primary, #002d72) 70%,var(--border-strong, #b7c6d8))!important;color:#fff!important;box-shadow:0 10px 22px color-mix(in srgb,var(--primary, #002d72) 20%,transparent)!important;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease!important}.model-selector-header .header-home-btn:hover:not(:disabled),.model-selector-header .header-home-btn:focus-visible{background:linear-gradient(135deg,var(--accent, #f58220),var(--accent-hover, #d96f1a))!important;border-color:color-mix(in srgb,var(--accent, #f58220) 64%,var(--border-strong, #b7c6d8))!important;color:#182033!important;box-shadow:0 12px 26px color-mix(in srgb,var(--accent, #f58220) 22%,transparent)!important;transform:translateY(-1px)}body.dark .model-selector-header .header-home-btn{background:linear-gradient(135deg,#5f7fae,#466995)!important;border-color:#8faed757!important;color:#f8f3ea!important}body.dark .model-selector-header .header-home-btn:hover:not(:disabled),body.dark .model-selector-header .header-home-btn:focus-visible{background:linear-gradient(135deg,#e7a05b,#c98242)!important;border-color:#e7a05b75!important;color:#172033!important}@media (max-width: 1100px){.welcome-container{max-width:100%;padding-left:16px;padding-right:16px}.suggestions{width:min(100%,760px);max-width:calc(100vw - 112px)}}@media (max-width: 760px){.suggestions{max-width:100%}.practice-controls{grid-template-columns:1fr}}.chat-main{--app-navbar-height: var(--nav-h, 70px);--secondary-header-height: 48px;padding-top:var(--secondary-header-height)}.chat-main>.model-selector-header{position:fixed!important;top:var(--app-navbar-height)!important;left:280px!important;right:0!important;z-index:240!important;width:auto;height:var(--secondary-header-height)!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;flex-shrink:0;padding:0 18px!important;background:transparent!important;border-bottom:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none!important}.chat-main>.model-selector-header .chat-controls-header{pointer-events:auto!important;padding:3px 6px!important;border-radius:12px!important;background:color-mix(in srgb,var(--bg-body, #fffdf7) 55%,transparent)!important;backdrop-filter:blur(8px) saturate(1.05)!important;-webkit-backdrop-filter:blur(8px) saturate(1.05)!important}body.dark .chat-main>.model-selector-header .chat-controls-header{background:color-mix(in srgb,var(--bg-body, #111827) 55%,transparent)!important}body.sidebar-collapsed .chat-main>.model-selector-header{left:64px!important}body.sidebar-custom-width:not(.sidebar-collapsed) .chat-main>.model-selector-header{left:var(--sidebar-width, 280px)!important}body.sidebar-resizing .chat-main>.model-selector-header{left:var(--sidebar-preview-width, 280px)!important}.chat-main>.model-selector-header .chat-controls-header{display:flex;align-items:center;gap:8px;min-height:32px;max-width:100%}.chat-main>.model-selector-header .model-selector-trigger{min-height:30px;padding:4px 9px;border-radius:8px;box-shadow:none!important}.chat-main>.model-selector-header .model-selector-name{font-size:14px;line-height:1.1}.chat-main>.model-selector-header .mode-segmented{min-height:30px;padding:3px;border-radius:8px;box-shadow:none!important}.chat-main>.model-selector-header .mode-segmented-btn{min-height:24px;padding:3px 8px;border-radius:6px;font-size:12px;line-height:1.1}.chat-main>.model-selector-header :is(.header-home-btn,.workspace-toggle-btn){min-height:28px;padding:5px 10px;border-radius:8px;font-size:12px;line-height:1.1;box-shadow:none!important}.coding-chat-main{padding-top:0!important}body.dark .chat-main>.model-selector-header{background:transparent!important;border-bottom:none!important;box-shadow:none!important}@media (max-width: 900px){.chat-main{--secondary-header-height: 84px}.chat-main>.model-selector-header{padding:0 10px!important}.chat-main>.model-selector-header .chat-controls-header{flex-wrap:wrap;gap:6px;width:100%}}@media (max-width: 640px){.chat-main>.model-selector-header,body.sidebar-collapsed .chat-main>.model-selector-header,body.sidebar-custom-width:not(.sidebar-collapsed) .chat-main>.model-selector-header,body.sidebar-resizing .chat-main>.model-selector-header{left:0!important}}.curriculum-page{position:relative;z-index:10;min-height:100vh;width:100%;margin:0;padding:0;background:var(--bg-body);overflow-x:hidden}.curriculum-header{background:linear-gradient(135deg,var(--msu-blue) 0%,#001a4d 100%);color:#fff;padding:40px 24px;border-bottom:4px solid var(--msu-gold);box-shadow:0 4px 20px #0003;margin:0;width:100%}.header-content{max-width:1400px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:8px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;margin-bottom:24px}.back-btn:hover{background:#ffffff40;transform:translate(-4px)}.header-title{display:flex;align-items:center;gap:20px}.header-icon{color:var(--msu-gold);flex-shrink:0}.header-title h1{font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-.02em;color:#fff}.header-title p{font-size:1.1rem;margin:8px 0 0;opacity:.95;font-weight:400;color:#ffffffe6}.minor-curriculum{margin-top:8px}.category-title.minor-title{display:flex;align-items:center;gap:8px;color:#b8860b}.category-title.minor-title svg{color:#f59e0b}.progress-section{max-width:1400px;margin:24px auto;padding:0 24px;position:relative;z-index:1}.progress-card{background:var(--bg-card, #fff);border:1px solid var(--border-color);border-radius:16px;padding:28px;box-shadow:var(--shadow-lg)}.progress-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.progress-info{display:flex;align-items:center;gap:16px}.progress-icon{color:var(--msu-gold)}.progress-info h2{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-main)}.progress-info p{font-size:.95rem;color:var(--text-secondary);margin:4px 0 0}.progress-stats{display:flex;align-items:center;gap:16px}.credits-text{font-size:1.1rem;color:var(--text-main)}.credits-text strong{font-size:1.4rem;color:var(--msu-blue)}body.dark .credits-text strong{color:#60a5fa}.gpa-badge{background:linear-gradient(135deg,var(--msu-gold),#fbbf24);color:#1a1a2e;padding:8px 16px;border-radius:20px;font-size:.95rem;font-weight:600}.gpa-badge strong{font-size:1.1rem}.progress-bar-container{width:100%;height:32px;background:var(--bg-body);border-radius:16px;overflow:hidden;position:relative;border:2px solid var(--border-color);box-shadow:inset 0 2px 8px #0000001a}.progress-bar-fill{height:100%;min-width:60px;background:linear-gradient(90deg,#4285f4,#5a95f5,#669df6,#8ab4f8,#34a853);background-size:200% 100%;border-radius:14px;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;transition:width 1s ease-out;position:relative;animation:gradientShift 3s ease infinite,glow 2s ease-in-out infinite alternate;box-shadow:0 0 20px #4285f480,0 0 40px #3b82f64d,inset 0 1px #ffffff4d}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes glow{0%{box-shadow:0 0 15px #4285f466,0 0 30px #3b82f633,inset 0 1px #ffffff4d}to{box-shadow:0 0 25px #4285f499,0 0 50px #3b82f666,0 0 70px #f59e0b33,inset 0 1px #ffffff4d}}.progress-percentage{color:#fff;font-weight:800;font-size:.95rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.progress-legend{display:flex;justify-content:center;gap:32px;margin-top:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-secondary)}.legend-item.completed svg{color:#22c55e}.legend-item.in-progress svg{color:#f59e0b}.legend-item.pending svg{color:var(--text-secondary)}.stats-section{max-width:1400px;margin:0 auto 24px;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-md);transition:all .3s}.stat-card svg{color:var(--msu-blue);flex-shrink:0}.stat-number{font-size:2rem;font-weight:800;color:var(--text-main);line-height:1}.stat-label{font-size:.9rem;color:var(--text-secondary);margin-top:4px;font-weight:500}.tab-navigation{max-width:1400px;margin:0 auto 24px;padding:0 24px;display:flex;gap:12px;flex-wrap:wrap}.tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-btn:hover{border-color:var(--msu-blue);color:var(--msu-blue);background:#4285f40d}.tab-btn.active{background:linear-gradient(135deg,var(--msu-blue) 0%,#003d9e 100%);border-color:var(--msu-blue);color:#fff;box-shadow:0 4px 12px #4285f44d}.tab-btn.active svg{color:var(--msu-gold)}body.dark .tab-btn:hover{background:#3b82f626}.filters-section{max-width:1400px;margin:0 auto 24px;padding:0 24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.search-bar{flex:1;min-width:300px;position:relative}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:1}.search-input{width:100%;padding:14px 16px 14px 48px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;font-size:.95rem;color:var(--text-main);transition:all .2s}.search-input:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 3px #4285f426}.search-input::placeholder{color:var(--text-secondary)}.filter-group{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border-color);padding:8px 16px;border-radius:12px}.filter-group label{font-size:.9rem;font-weight:600;color:var(--text-main);white-space:nowrap}.filter-select{padding:6px 12px;background:transparent;border:none;font-size:.9rem;color:var(--text-main);cursor:pointer;font-weight:600;min-width:120px}.filter-select:focus{outline:none}body.dark .filter-select{color-scheme:dark}.table-container{max-width:1400px;margin:0 auto;padding:0 24px 40px;overflow-x:auto}.curriculum-table{width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);border-collapse:collapse}.curriculum-table thead{background:linear-gradient(135deg,var(--msu-blue) 0%,#003380 100%);color:#fff}.curriculum-table th{padding:18px 12px;text-align:left;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:3px solid var(--msu-gold);color:#fff}.curriculum-table tbody tr{border-bottom:1px solid var(--border-color);transition:all .2s}.curriculum-table tbody tr:hover{background:#4285f414}body.dark .curriculum-table tbody tr:hover{background:#4285f433}.course-row.completed{background:#22c55e0d}.course-row.in-progress{background:#f59e0b0d}body.dark .course-row.completed{background:#22c55e1a}body.dark .course-row.in-progress{background:#34a8531a}.curriculum-table tbody tr:last-child{border-bottom:none}.curriculum-table td{padding:14px 12px;font-size:.9rem;color:var(--text-main);vertical-align:middle}.course-status{text-align:center;width:50px}.status-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:1rem}.status-badge.completed{background:#22c55e26;color:#22c55e}.status-badge.in-progress{background:#f59e0b26;color:#f59e0b;animation:pulse 2s infinite}.status-badge.pending{background:#6b728026;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.course-code{font-weight:700;color:var(--msu-blue);font-family:Courier New,monospace;font-size:.9rem;white-space:nowrap}body.dark .course-code{color:#4dabf7}.course-name{font-weight:600;color:var(--text-main);min-width:180px}.course-credits{text-align:center;font-weight:700;color:var(--msu-blue);font-size:1rem}body.dark .course-credits{color:var(--msu-gold)}.course-grade{text-align:center}.grade-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:700;min-width:40px;text-align:center}.grade-badge.in-progress{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.grade-na{color:var(--text-secondary);font-size:.85rem}.course-prereq{color:var(--text-secondary);font-size:.8rem;line-height:1.4;max-width:300px}.course-offered{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.category-badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.category-badge.mathematics{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}body.dark .category-badge.mathematics{background:#3b82f640;color:#60a5fa}.category-badge.core-cs{background:#4285f426;color:var(--msu-blue);border:1px solid rgba(66,133,244,.3)}body.dark .category-badge.core-cs{background:#3b82f633;color:#93c5fd}.category-badge.advanced-cs{background:#9333ea26;color:#9333ea;border:1px solid rgba(147,51,234,.3)}body.dark .category-badge.advanced-cs{background:#9333ea40;color:#c084fc}.category-badge.specialized{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}body.dark .category-badge.specialized{background:#f59e0b40;color:#fbbf24}.category-badge.cloud-computing{background:#06b6d426;color:#06b6d4;border:1px solid rgba(6,182,212,.3)}body.dark .category-badge.cloud-computing{background:#06b6d440;color:#22d3ee}.category-badge.related{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}body.dark .category-badge.related{background:#22c55e40;color:#4ade80}.category-badge.other{background:#6b728026;color:#6b7280;border:1px solid rgba(107,114,128,.3)}body.dark .category-badge.other{background:#6b728040;color:#9ca3af}.empty-state{text-align:center;padding:60px 20px!important;color:var(--text-secondary);font-size:1.1rem;font-style:italic}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.loading-state p{margin-top:16px;font-size:1.1rem}.spinner{color:var(--msu-blue);animation:spin 1s linear infinite}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#ef4444;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);text-align:center}.error-state p{font-size:1.1rem;margin-bottom:20px}.retry-btn{background:var(--msu-blue);color:#fff;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{background:#003380;transform:translateY(-2px)}.degree-summary{display:flex;justify-content:center;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color);flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-label{font-size:.85rem;color:var(--text-secondary)}.summary-value{font-size:1.1rem;font-weight:700;color:var(--text-main)}.summary-item.total{padding-left:24px;border-left:2px solid var(--msu-gold)}.summary-item.total .summary-value{color:var(--msu-blue);font-size:1.3rem}body.dark .summary-item.total .summary-value{color:var(--msu-gold)}.category-section{margin-bottom:32px}.category-header{margin-bottom:16px}.category-title{font-size:1.3rem;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:12px;color:var(--text-main)}.category-title.supporting{color:#3b82f6}.category-title.required{color:var(--msu-blue)}body.dark .category-title.required{color:#60a5fa}.category-title.group-a-elective{color:#22c55e}.category-title.group-b-elective{color:#f59e0b}.category-title.group-c-elective{color:#8b5cf6}.category-title.group-d-elective{color:#06b6d4}.course-count{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.category-description{font-size:.9rem;color:var(--text-secondary);margin:0;font-style:italic}.course-note{color:var(--msu-gold);font-weight:700;margin-left:4px}.empty-state-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:60px 20px;text-align:center}.connect-prompt{max-width:1400px;margin:0 auto 40px;padding:0 24px}.connect-prompt>div,.connect-prompt{background:linear-gradient(135deg,#4285f41a,#34a8531a);border:2px dashed var(--msu-blue);border-radius:16px;padding:32px;text-align:center}.connect-prompt p{color:var(--text-main);font-size:1.1rem;margin-bottom:20px}.connect-btn{background:linear-gradient(135deg,var(--msu-blue) 0%,#003d9e 100%);color:#fff;padding:14px 28px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #4285f44d}.connect-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4285f466}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:var(--bg-body);border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 1024px){.header-title h1{font-size:2rem}.header-title p{font-size:1rem}.progress-header{flex-direction:column;align-items:flex-start}.curriculum-table th,.curriculum-table td{padding:12px 8px;font-size:.85rem}.course-prereq{max-width:200px}}@media (max-width: 768px){.curriculum-header{padding:24px 16px}.header-title{flex-direction:column;align-items:flex-start;gap:12px}.header-title h1{font-size:1.5rem}.progress-section{padding:0 16px;margin-top:-20px}.progress-card{padding:20px}.progress-stats{flex-direction:column;align-items:flex-start;gap:8px}.progress-bar-container{height:24px}.progress-legend{gap:16px}.stats-section,.tab-navigation{padding:0 16px}.tab-btn{padding:10px 14px;font-size:.8rem}.filters-section{padding:0 16px;flex-direction:column;align-items:stretch}.search-bar{min-width:100%}.filter-group{width:100%;justify-content:space-between}.filter-select{flex:1}.table-container{padding:0 16px 40px}.curriculum-table{font-size:.8rem}.curriculum-table th,.curriculum-table td{padding:10px 6px}.course-prereq{font-size:.75rem;max-width:150px}.connect-prompt{padding:0 16px}}.ms-loading{display:flex;align-items:center;justify-content:center;padding:16px}.ms-spin{animation:msSpin 1s linear infinite}@keyframes msSpin{to{transform:rotate(360deg)}}.ms-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:18px;padding:20px 24px;cursor:pointer;transition:box-shadow .2s,transform .15s;box-shadow:0 2px 12px #0000000a}.ms-card:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-1px)}.ms-main{display:flex;align-items:center;gap:20px}.ms-gauge{position:relative;width:90px;height:90px;flex-shrink:0}.ms-gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.ms-gauge-bg{fill:none;stroke:var(--border-light);stroke-width:8}.ms-gauge-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1),stroke .3s}.ms-gauge-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ms-gauge-num{font-size:1.6rem;font-weight:800;line-height:1}.ms-gauge-label{font-size:.55rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.ms-info{flex:1;min-width:0}.ms-title{font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:8px}.ms-subtitle{font-size:.72rem;color:var(--text-tertiary);margin-top:2px;text-transform:capitalize}.ms-trend{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:10px}.ms-trend.up{background:#e6f4ea;color:#1e7e34}.ms-trend.down{background:#fce8e6;color:#d93025}.ms-trend.stable{background:#e8f0fe;color:#1a73e8}.ms-mini-factors{display:flex;gap:4px;margin-top:10px}.ms-mini-bar{flex:1;height:5px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.ms-mini-fill{height:100%;border-radius:3px;transition:width .8s ease}.ms-breakdown{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:12px;animation:msExpand .25s ease}@keyframes msExpand{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.ms-factor.penalty{opacity:.85}.ms-factor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ms-factor-name{font-size:.78rem;font-weight:700;color:var(--text-primary)}.ms-factor-score{font-size:.78rem;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ms-factor-bar{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin-bottom:2px}.ms-factor-fill{height:100%;border-radius:3px;transition:width .6s ease}.ms-factor-detail{font-size:.68rem;color:var(--text-tertiary)}.ms-compact{position:relative;width:32px;height:32px;cursor:pointer}.ms-compact .ms-gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.ms-compact .ms-gauge-bg{stroke-width:5}.ms-compact .ms-gauge-fill{stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.ms-compact-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:800}body.dark .ms-card{background:var(--bg-secondary);border-color:var(--border-dark, #444)}body.dark .ms-gauge-bg{stroke:var(--border-dark, #444)}body.dark .ms-breakdown{border-color:var(--border-dark, #444)}@media (max-width: 640px){.ms-card{padding:16px}.ms-gauge{width:72px;height:72px}.ms-gauge-num{font-size:1.3rem}}.mc{max-width:880px;margin:0 auto;padding:var(--space-6)}.mc-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 20px;gap:8px}.mc-center h2{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:12px 0 4px}.mc-muted{color:var(--text-secondary);font-size:.88rem;margin:0}.mc-spin{animation:mcSpin 1s linear infinite;color:var(--msu-blue)}@keyframes mcSpin{to{transform:rotate(360deg)}}.mc-empty-art{margin-bottom:8px}.mc-primary-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 28px;border-radius:var(--radius-md);border:none;background:var(--gradient-primary);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-normal)}.mc-primary-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow)}.mc-ghost-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition-normal)}.mc-ghost-btn:hover{border-color:var(--msu-blue);color:var(--msu-blue)}.mc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.mc-head h1{font-size:1.6rem;font-weight:800;color:var(--text-main);margin:0 0 2px}.mc-stats{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.mc-stat{flex:1;min-width:110px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition-normal)}.mc-stat:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.mc-stat.warn{border-color:#fbbc054d}.mc-stat.danger{border-color:#ea43354d}.mc-stat-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mc-stat-icon.blue{background:var(--msu-blue-50);color:var(--msu-blue)}.mc-stat-icon.green{background:#34a85314;color:var(--google-green)}.mc-stat-icon.gold{background:var(--msu-gold-50);color:var(--msu-gold)}.mc-stat-icon.amber{background:#fbbc051f;color:#e67e00}.mc-stat-icon.red{background:#ea433514;color:var(--google-red)}.mc-stat-val{font-size:1.2rem;font-weight:800;color:var(--text-main);line-height:1.1}.mc-stat-lbl{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.mc-nav{display:flex;gap:2px;margin-bottom:var(--space-5);background:var(--bg-input);border-radius:var(--radius-md);padding:3px}.mc-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition-normal)}.mc-nav-btn:hover{color:var(--text-main)}.mc-nav-btn.on{background:var(--bg-card);color:var(--msu-blue);box-shadow:var(--shadow-xs)}.mc-section{animation:mcIn .2s ease}@keyframes mcIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.mc-banner{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-3);align-items:flex-start}.mc-banner.red{background:#ea43350f;border:1px solid rgba(234,67,53,.15);color:#b91c1c}.mc-banner.amber{background:#fbbc050f;border:1px solid rgba(251,188,5,.2);color:#92400e}.mc-banner strong{display:block;font-size:.88rem;margin-bottom:2px}.mc-banner-item{display:block;font-size:.8rem;opacity:.75;line-height:1.6}.dark .mc-banner.red{background:#ea433514;border-color:#ea433533;color:#fca5a5}.dark .mc-banner.amber{background:#fbbc0514;border-color:#fbbc0533;color:#fcd34d}.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.mc-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);transition:var(--transition-normal)}.mc-card:hover{border-color:var(--msu-blue);box-shadow:var(--shadow-sm),0 0 0 1px var(--msu-blue-50);transform:translateY(-2px)}.mc-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.mc-badge{font-size:.65rem;font-weight:800;font-family:SF Mono,Fira Code,monospace;padding:3px 8px;border-radius:var(--radius-sm);background:var(--msu-blue-50);color:var(--msu-blue);letter-spacing:.3px}.mc-score{font-size:1.1rem;font-weight:800}.mc-card-top-right{display:flex;align-items:center;gap:var(--space-2)}.mc-bell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;transition:all .18s ease}.mc-bell:hover{border-color:var(--ora-orange, #f97316);color:var(--ora-orange, #f97316)}.mc-bell.on{background:var(--ora-orange, #f97316);border-color:var(--ora-orange, #f97316);color:#fff;box-shadow:0 2px 8px #f973164d}.mc-bell:disabled{opacity:.5;cursor:default}.mc-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px;max-width:90vw;padding:11px 18px;border-radius:var(--radius-md);background:var(--text-main);color:var(--bg-card);font-size:.84rem;font-weight:600;box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.18));animation:mcToastIn .25s ease}@keyframes mcToastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.mc-card-name{font-size:.85rem;font-weight:600;color:var(--text-main);line-height:1.35;margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.mc-bar-wrap{display:flex;align-items:center;gap:8px}.mc-bar{flex:1;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.mc-bar-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.mc-letter{font-size:.75rem;font-weight:800;min-width:20px;text-align:right}.mc-list{display:flex;flex-direction:column;gap:var(--space-2)}.mc-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-normal)}.mc-row:hover{border-color:var(--border-focus)}.mc-row.overdue{border-left:3px solid var(--google-red)}.mc-row.critical{border-left:3px solid var(--google-red);background:#ea433505}.mc-row.urgent{border-left:3px solid var(--google-yellow)}.mc-row.soon{border-left:3px solid var(--msu-blue)}.mc-type{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:#fff;flex-shrink:0}.mc-type.blue{background:var(--msu-blue)}.mc-type.purple{background:var(--accent-violet)}.mc-type.teal{background:var(--accent-teal)}.mc-row-body{flex:1;min-width:0}.mc-row-title{font-size:.86rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-row-code{font-size:.72rem;font-weight:800;color:var(--msu-blue);font-family:monospace;letter-spacing:.3px}.mc-row-sub{font-size:.75rem;color:var(--text-tertiary);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-row-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:2px}.mc-due{font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:var(--radius-full);background:var(--bg-input);color:var(--text-secondary)}.mc-due.overdue,.mc-due.critical{background:#ea433514;color:var(--google-red)}.mc-due.urgent{background:#fbbc051a;color:#b45309}.mc-due.soon{background:var(--msu-blue-50);color:var(--msu-blue)}.mc-pts{font-size:.68rem;color:var(--text-tertiary)}.mc-grade-area{flex:1;display:flex;align-items:center;gap:var(--space-3)}.mc-grade-bar{flex:1;height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden}.mc-grade-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.mc-grade-num{font-size:.9rem;font-weight:800;min-width:50px;text-align:right}.mc-grade-letter{font-size:.7rem;font-weight:800;color:#fff;padding:2px 8px;border-radius:var(--radius-full);min-width:28px;text-align:center}@media (max-width: 768px){.mc{padding:var(--space-4)}.mc-head{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.mc-stats{gap:var(--space-2)}.mc-stat{min-width:90px;padding:var(--space-3)}.mc-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.mc-row-body[style]{flex:0 0 140px!important}}.gs{padding:24px 32px;max-width:860px;margin:0 auto}.gs-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:12px;text-align:center}.gs-muted{color:var(--text-secondary);font-size:.85rem}.gs-primary-btn{background:var(--msu-blue);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:transform .15s,box-shadow .15s}.gs-primary-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.gs-spin{animation:gsSpin 1s linear infinite}@keyframes gsSpin{to{transform:rotate(360deg)}}.gs-head{margin-bottom:20px}.gs-head h1{font-size:1.5rem;font-weight:700;margin:0}.gs-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px;border-bottom:1px solid var(--border-light);margin-bottom:24px;scrollbar-width:none}.gs-tabs::-webkit-scrollbar{display:none}.gs-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;border:1.5px solid var(--border-light);border-radius:14px;background:var(--bg-primary);cursor:pointer;min-width:120px;transition:all .2s ease}.gs-tab:hover{border-color:var(--msu-blue);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.gs-tab.on{border-color:var(--msu-blue);background:linear-gradient(135deg,var(--msu-blue-50, #e8f0fe),#f0f6ff);box-shadow:0 2px 8px #4285f426}.gs-tab-name{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.gs-tab-grade{font-size:1.1rem;font-weight:700}.gs-body{animation:gsFadeIn .3s ease}@keyframes gsFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gs-hero{display:flex;align-items:baseline;gap:12px;padding:24px 28px;flex-wrap:wrap;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:18px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px}.gs-hero-grade{font-size:3.2rem;font-weight:800;line-height:1}.gs-hero-letter{font-size:1.8rem;font-weight:700;opacity:.6}.gs-hero-meta{display:flex;gap:12px;align-items:center;font-size:.8rem;color:var(--text-secondary);margin-left:auto}.gs-hero-missing{color:var(--google-red);font-weight:600}.gs-hero-type{background:var(--bg-secondary);padding:3px 10px;border-radius:8px;font-size:.7rem;font-weight:600}.gs-section{margin-bottom:24px;padding:20px 24px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:18px;box-shadow:0 2px 8px #0000000a}.gs-section h2{font-size:.95rem;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.gs-target-picker{display:flex;gap:8px;margin-bottom:14px}.gs-target-btn{padding:8px 20px;border:1.5px solid var(--border-light);border-radius:12px;background:var(--bg-primary);cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.gs-target-btn:hover{border-color:var(--msu-blue);background:var(--msu-blue-50, #e8f0fe)}.gs-target-btn.on{border-color:var(--msu-blue);background:var(--msu-blue);color:#fff}.gs-target-result{padding:18px 22px;border-radius:14px;background:var(--bg-secondary);display:flex;align-items:center;gap:16px;animation:gsFadeIn .25s ease}.gs-target-result.achievable{border-left:4px solid var(--google-green)}.gs-target-result.not-achievable{border-left:4px solid var(--google-red)}.gs-target-num{font-size:2.4rem;font-weight:800;color:var(--text-primary);line-height:1}.gs-target-label{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.gs-achievable{display:flex;align-items:center;gap:4px;color:var(--google-green);font-weight:600;margin-top:4px}.gs-not-achievable{display:flex;align-items:center;gap:4px;color:var(--google-red);font-weight:600;margin-top:4px}.gs-dna{display:flex;flex-direction:column;gap:12px}.gs-dna-row{display:flex;align-items:center;gap:12px}.gs-dna-label{width:200px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-align:right;flex-shrink:0;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gs-dna-bar-wrap{flex:1;height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.gs-dna-bar{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1)}.gs-dna-pct{width:55px;font-size:.85rem;font-weight:700;text-align:right}.gs-strategies{display:flex;flex-direction:column;gap:10px}.gs-strategy-card{padding:14px 18px;border-radius:14px;border:1px solid var(--border-light);background:var(--bg-secondary);transition:transform .15s,box-shadow .15s}.gs-strategy-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.gs-strategy-action{font-weight:700;font-size:.9rem;margin-bottom:4px}.gs-strategy-reason{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.gs-strategy-impact{font-size:.75rem;color:var(--msu-blue);font-weight:600;margin-top:6px}.gs-group{border:1px solid var(--border-light);border-radius:14px;margin-bottom:10px;overflow:hidden;transition:box-shadow .15s}.gs-group:hover{box-shadow:0 2px 8px #0000000a}.gs-group-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 18px;border:none;background:var(--bg-primary);cursor:pointer;transition:background .15s}.gs-group-header:hover{background:var(--bg-secondary)}.gs-group-left{display:flex;align-items:center;gap:8px}.gs-group-name{font-weight:700;font-size:.85rem}.gs-group-weight{font-size:.65rem;background:var(--msu-blue-50, #e8f0fe);color:var(--msu-blue);padding:3px 9px;border-radius:8px;font-weight:700}.gs-group-right{display:flex;align-items:center;gap:12px}.gs-group-avg{font-weight:700;font-size:.9rem}.gs-group-count{font-size:.75rem;color:var(--text-tertiary)}.gs-chevron{font-size:.55rem;color:var(--text-tertiary);transition:transform .2s}.gs-assignments{border-top:1px solid var(--border-light);animation:gsSlideDown .25s ease}@keyframes gsSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.gs-asn-row{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border-light);font-size:.8rem;transition:background .1s}.gs-asn-row:last-child{border-bottom:none}.gs-asn-row:hover{background:var(--bg-secondary)}.gs-asn-badge{font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:6px;flex-shrink:0;text-transform:uppercase;letter-spacing:.4px}.gs-badge-green{background:#e6f4ea;color:#1e7e34}.gs-badge-yellow{background:#fef7e0;color:#b06000}.gs-badge-blue{background:#e8f0fe;color:#1a73e8}.gs-badge-red{background:#fce8e6;color:#d93025}.gs-badge-gray{background:#f1f3f4;color:#5f6368}.gs-asn-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-asn-score{font-weight:600;color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.gs-ec-tag{font-size:.6rem;background:#e8f5e9;color:#2e7d32;padding:2px 7px;border-radius:6px;font-weight:700}.gs-late-tag{font-size:.6rem;background:#fef7e0;color:#b06000;padding:2px 7px;border-radius:6px;font-weight:700}body.dark .gs-tab{background:var(--bg-secondary);border-color:var(--border-dark, #444)}body.dark .gs-tab.on{background:#4285f426;border-color:var(--msu-blue)}body.dark .gs-tab:hover{box-shadow:0 4px 12px #0003}body.dark .gs-hero,body.dark .gs-section{background:var(--bg-secondary);border-color:var(--border-dark, #444)}body.dark .gs-target-btn{border-color:var(--border-dark, #444);background:var(--bg-tertiary, #333)}body.dark .gs-target-btn.on{background:var(--msu-blue);color:#fff}body.dark .gs-group{border-color:var(--border-dark, #444)}body.dark .gs-group-header{background:var(--bg-secondary)}body.dark .gs-group-header:hover{background:var(--bg-tertiary, #333)}body.dark .gs-strategy-card{background:var(--bg-tertiary, #333);border-color:var(--border-dark, #444)}body.dark .gs-assignments,body.dark .gs-asn-row{border-color:var(--border-dark, #444)}body.dark .gs-asn-row:hover{background:var(--bg-tertiary, #333)}@media (max-width: 640px){.gs{padding:16px}.gs-hero{padding:18px 20px}.gs-hero-grade{font-size:2.2rem}.gs-hero-letter{font-size:1.4rem}.gs-hero-meta{margin-left:0}.gs-section{padding:16px 18px}.gs-dna-label{width:120px;font-size:.68rem;-webkit-line-clamp:3}.gs-target-num{font-size:1.8rem}.gs-tab{min-width:100px;padding:8px 12px}}.re{padding:24px 32px;max-width:1100px;margin:0 auto}.re-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:12px;text-align:center}.re-muted{color:var(--text-secondary);font-size:.85rem}.re-primary-btn{background:var(--msu-blue);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:6px}.re-spin{animation:reSpin 1s linear infinite}@keyframes reSpin{to{transform:rotate(360deg)}}.re-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.re-head h1{font-size:1.5rem;font-weight:700;margin:0}.re-progress-ring{position:relative;width:52px;height:52px}.re-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.re-ring-bg{fill:none;stroke:var(--border-light);stroke-width:3}.re-ring-fill{fill:none;stroke:var(--google-green);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray 1s ease}.re-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--text-primary)}.re-stats{display:flex;gap:20px;padding:14px 20px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:14px;margin-bottom:16px;flex-wrap:wrap;box-shadow:0 2px 8px #0000000a}.re-stat{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.re-stat.danger{color:var(--google-red)}.re-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.re-stat-dot.completed{background:#34a853}.re-stat-dot.in_progress{background:#4285f4}.re-stat-dot.at_risk{background:#ea4335}.re-stat-dot.future{background:#dadce0}.re-danger-section{margin-bottom:16px}.re-danger-section h3{font-size:.9rem;font-weight:700;color:var(--google-red);display:flex;align-items:center;gap:6px;margin:0 0 8px}.re-danger-card{display:block;width:100%;text-align:left;padding:12px 16px;border:1.5px solid #fce8e6;border-radius:12px;background:#fff8f7;cursor:pointer;margin-bottom:8px;transition:all .15s}.re-danger-card:hover{border-color:#ea4335;box-shadow:0 2px 8px #ea43351a}.re-danger-card.active{border-color:#ea4335;background:#fce8e6}.re-danger-title{font-weight:700;font-size:.85rem;color:#d93025}.re-danger-detail{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.re-graph-container{height:520px;border:1px solid var(--border-light);border-radius:18px;overflow:hidden;background:#fafbfc;box-shadow:0 2px 12px #0000000f}.re-graph-container .react-flow__controls{border-radius:10px;box-shadow:0 2px 8px #0000001a}.re-graph-container .react-flow__edge-path{stroke-linecap:round}.re-graph-container .react-flow__edge.animated path{animation:reEdgeFlow 1.5s linear infinite;stroke-dasharray:6 4}@keyframes reEdgeFlow{to{stroke-dashoffset:-20}}.re-node{padding:10px 14px;border-radius:12px;border:2px solid;cursor:pointer;min-width:95px;text-align:center;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;position:relative;box-shadow:0 1px 4px #0000000f}.re-node:hover{transform:scale(1.12);box-shadow:0 6px 20px #00000026;z-index:10}.re-node.selected{transform:scale(1.15);z-index:11}.re-node.highlighted{animation:rePulse 1.5s ease-in-out infinite}@keyframes rePulse{0%,to{box-shadow:0 0 #ea433580}50%{box-shadow:0 0 0 10px #ea433500}}.re-node-code{font-size:.75rem;font-weight:800;letter-spacing:.3px}.re-node-score{font-size:.7rem;font-weight:700;margin-top:2px}.re-node-grade{font-size:.65rem;font-weight:600;opacity:.8;margin-top:1px}.re-node-risk{position:absolute;top:-7px;right:-7px;width:18px;height:18px;background:#ea4335;color:#fff;border-radius:50%;font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #ea43354d}.re-detail{margin-top:16px;padding:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:18px;box-shadow:0 4px 20px #0000000f;overflow:hidden;animation:reDetailIn .3s cubic-bezier(.4,0,.2,1);position:relative}@keyframes reDetailIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.re-detail-close{position:absolute;top:16px;right:16px;background:var(--bg-secondary);border:none;cursor:pointer;color:var(--text-tertiary);padding:6px;border-radius:8px;z-index:2;transition:all .15s}.re-detail-close:hover{color:var(--text-primary);background:var(--border-light)}.re-detail-top{display:flex;align-items:center;gap:16px;padding:20px 24px 14px;flex-wrap:wrap}.re-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 12px;border-radius:20px;flex-shrink:0}.re-status-badge.completed{background:#e6f4ea;color:#1e7e34}.re-status-badge.in_progress{background:#e8f0fe;color:#1a73e8}.re-status-badge.at_risk{background:#fce8e6;color:#d93025}.re-status-badge.future{background:#f1f3f4;color:#5f6368}.re-detail-title{flex:1;min-width:0}.re-detail-title h3{font-size:1.3rem;font-weight:800;margin:0;line-height:1.2}.re-detail-title span{font-size:.85rem;color:var(--text-secondary)}.re-detail-badges{display:flex;gap:8px;flex-shrink:0}.re-badge-score{font-size:1.4rem;font-weight:800;color:var(--google-green)}.re-badge-grade{font-size:1.4rem;font-weight:800;color:var(--text-primary)}.re-detail-meta{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px;font-size:.75rem}.re-detail-meta span{background:var(--bg-secondary);padding:4px 12px;border-radius:8px;color:var(--text-secondary);font-weight:600}.re-detail-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border-light)}.re-detail-col{padding:16px 24px 20px}.re-detail-col.requires{border-right:1px solid var(--border-light)}.re-col-header{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.re-col-chips{display:flex;flex-wrap:wrap;gap:6px}.re-chip-btn{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:5px 11px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:all .15s}.re-chip-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.re-chip-btn.completed{background:#e6f4ea;color:#1e7e34;border-color:#c8e6c9}.re-chip-btn.in_progress{background:#e8f0fe;color:#1a73e8;border-color:#bbdefb}.re-chip-btn.at_risk{background:#fce8e6;color:#d93025;border-color:#f8bbd0}.re-chip-btn.future{background:#f1f3f4;color:#5f6368;border-color:#e0e0e0}.re-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.re-chip-btn.completed .re-chip-dot{background:#34a853}.re-chip-btn.in_progress .re-chip-dot{background:#4285f4}.re-chip-btn.at_risk .re-chip-dot{background:#ea4335}.re-chip-btn.future .re-chip-dot{background:#9aa0a6}.re-chip-grade{font-size:.6rem;opacity:.8;margin-left:2px}body.dark .re-stats{background:var(--bg-secondary);border-color:var(--border-dark, #444)}body.dark .re-graph-container{background:#1a1a1a;border-color:var(--border-dark, #444)}body.dark .re-node{filter:brightness(.85)}body.dark .re-detail{background:var(--bg-secondary);border-color:var(--border-dark, #444)}body.dark .re-detail-grid,body.dark .re-detail-col.requires{border-color:var(--border-dark, #444)}body.dark .re-danger-card{background:#ea433514;border-color:#ea433533}body.dark .re-ring-bg{stroke:var(--border-dark, #444)}@media (max-width: 768px){.re{padding:16px}.re-graph-container{height:380px}.re-detail-grid{grid-template-columns:1fr}.re-detail-col.requires{border-right:none;border-bottom:1px solid var(--border-light)}.re-detail-top{gap:10px}.re-badge-score,.re-badge-grade{font-size:1.1rem}}.pl{max-width:1100px;margin:0 auto;padding:var(--space-5, 20px)}.pl-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3, 12px);min-height:60vh;color:var(--text-secondary)}.pl-empty-icon{color:var(--msu-blue);opacity:.5}.pl-spin{animation:pl-spin 1s linear infinite;color:var(--msu-blue)}@keyframes pl-spin{to{transform:rotate(360deg)}}.pl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:var(--space-4, 16px)}.pl-head h1{margin:0 0 4px;font-size:1.5rem;color:var(--text-main)}.pl-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full, 999px);font-size:.75rem;font-weight:600;white-space:nowrap}.pl-live-badge.live{color:var(--success, #16a34a);background:#16a34a1a}.pl-live-badge.static{color:var(--warning, #d97706);background:#d977061a}.pl-snapshot-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 var(--space-4, 16px);padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg, 10px);background:var(--bg-card);color:var(--text-secondary);font-size:.8rem;line-height:1.35}.pl-snapshot-banner strong{display:block;color:var(--text-main);font-size:.84rem}.pl-snapshot-banner{border-color:#d9770638;background:#d9770614}.pl-snapshot-banner button{flex:0 0 auto;border:1px solid var(--msu-blue);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--msu-blue);padding:7px 12px;font-size:.85rem;font-weight:600;cursor:pointer}.pl-snapshot-banner button:hover{background:#2c4a7c14}.pl-seat{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--radius-full, 999px);font-size:.72rem;font-weight:700}.pl-seat.open{color:var(--success, #16a34a);background:#16a34a1f}.pl-seat.waitlist{color:var(--warning, #d97706);background:#d977061f}.pl-seat.full{color:var(--danger, #dc2626);background:#dc26261f}.pl-muted{color:var(--text-secondary);font-size:.9rem}.pl-registered-note{margin-bottom:14px;padding:10px 12px;border:1px solid rgba(44,74,124,.18);border-radius:var(--radius-md, 8px);background:#2c4a7c0f;color:var(--text-secondary);font-size:.84rem;line-height:1.4}.pl-registered-note strong{color:var(--msu-blue)}.pl-registered-note.warning{border-color:#d9770638;background:#d9770614}.pl-primary-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md, 8px);background:var(--msu-blue);color:#fff;font-weight:600;cursor:pointer}.pl-primary-btn:hover{background:var(--msu-blue-hover, #123257)}.pl-planner-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg, 10px);margin-bottom:var(--space-4, 16px)}.pl-filter-open{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--msu-blue);color:#fff;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.pl-filter-open:hover{background:var(--msu-blue-hover, #123257)}.pl-filter-summary{flex:1 1 260px;min-width:0;color:var(--text-secondary);font-size:.8rem;line-height:1.35}.pl-toolbar-actions{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;margin-left:auto}.pl-filter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;border:0;padding:0;background:#0f172a61;cursor:pointer;animation:pl-filter-overlay-in .18s ease}@keyframes pl-filter-overlay-in{0%{opacity:0}to{opacity:1}}.pl-filter-drawer{position:fixed;top:0;right:0;z-index:1101;display:flex;flex-direction:column;width:min(420px,92vw);height:100vh;background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:-18px 0 42px #0f172a2e;animation:pl-filter-drawer-in .22s cubic-bezier(.22,1,.36,1);outline:none}@keyframes pl-filter-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.pl-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle, var(--border-color))}.pl-filter-head strong{display:block;color:var(--text-main);font-size:1.1rem;font-weight:800}.pl-filter-head span{display:block;margin-top:3px;color:var(--text-secondary);font-size:.78rem;line-height:1.35}.pl-filter-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:3px solid rgba(243,112,33,.58);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--text-secondary);font-size:1.25rem;font-weight:800;line-height:1;cursor:pointer}.pl-filter-close:hover{background:#f3702114;color:var(--msu-blue)}.pl-filter-body{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:22px;padding:18px 20px}.pl-filter-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;border-top:1px solid var(--border-subtle, var(--border-color));background:var(--bg-card)}.pl-filter-group h4{margin:0 0 10px;color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pl-control{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--text-secondary)}.pl-control span{font-weight:600}.pl-control select{padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:var(--bg-input);color:var(--text-main);font-size:.85rem;min-width:140px}.pl-filter-drawer .pl-control select,.pl-filter-drawer .pl-control input[type=range],.pl-credit-slider{width:100%}.pl-control input[type=range]{width:160px;accent-color:var(--msu-blue)}.pl-interests{flex:1 1 260px}.pl-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:340px}.pl-filter-drawer .pl-chips{display:flex;flex-wrap:wrap;max-width:none}.pl-radio-list{display:flex;flex-wrap:wrap;gap:8px}.pl-radio-item,.pl-check-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:7px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--text-main);font-size:.84rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}.pl-radio-item:hover,.pl-check-chip:hover{border-color:#2c4a7c73;background:#2c4a7c0f;transform:translateY(-1px)}.pl-radio-item input,.pl-check-chip input{position:absolute;opacity:0;pointer-events:none}.pl-check-chip{justify-content:center}.pl-check-chip.on,.pl-radio-item.on{border-color:var(--msu-blue);background:var(--msu-blue);color:#fff}.pl-check-chip.on:before,.pl-radio-item.on:before{content:"✓";font-size:.78rem;font-weight:900;line-height:1}.pl-filter-close-action{display:inline-flex;align-items:center;justify-content:center;width:min(240px,100%);min-height:40px;border:1px solid var(--msu-blue);border-radius:var(--radius-md, 10px);background:var(--msu-blue);color:#fff;font-size:.9rem;font-weight:800;cursor:pointer}.pl-filter-close-action:hover{background:var(--msu-blue-hover, #123257)}.pl-chip{padding:5px 12px;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;cursor:pointer;text-align:center;white-space:nowrap}.pl-chip.on{background:var(--msu-blue);color:#fff;border-color:var(--msu-blue)}.pl-error{padding:12px 16px;border-radius:var(--radius-md, 8px);margin-bottom:16px;background:#ea43350f;border:1px solid rgba(234,67,53,.2);color:#b91c1c;font-size:.85rem}.pl-empty-note{padding:24px;text-align:center;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg, 10px)}.pl-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4, 16px)}.pl-option-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg, 10px);overflow:hidden;box-shadow:var(--shadow-sm)}.pl-option-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 16px;background:var(--gradient-primary, var(--msu-blue));color:#fff}.pl-option-head h3{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:1rem;color:#fff}.pl-option-head-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pl-option-head-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full, 999px);background:#ffffff24;color:#fff;padding:4px 9px;font-size:.72rem;font-weight:700;cursor:pointer}.pl-option-head-actions .pl-card-icon-btn{width:30px;height:30px;padding:0;flex:0 0 auto}.pl-option-head-actions button:hover{background:#ffffff38}.pl-option-head-actions button:disabled{opacity:.55;cursor:default}.pl-credits{background:#fff3;padding:3px 10px;border-radius:var(--radius-full, 999px);font-size:.78rem;font-weight:600}.pl-option-card.saved-snapshot{border-color:#d9770652;box-shadow:0 12px 28px #d977061f}.pl-snapshot-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-full, 999px);background:#d9770624;color:#fff4e5;font-size:.68rem;font-weight:800}.pl-courses{padding:12px;display:flex;flex-direction:column;gap:10px}.pl-plan-explain{display:flex;flex-direction:column;gap:5px;padding:11px 16px;border-bottom:1px solid var(--border-subtle, var(--border-color));background:#2c4a7c0f}.pl-plan-explain.ready{background:#16a34a14}.pl-plan-explain.warn{background:#d9770614}.pl-plan-explain strong{display:block;color:var(--text-main);font-size:.82rem;margin-bottom:2px}.pl-plan-explain p,.pl-plan-explain span,.pl-plan-explain small{color:var(--text-secondary);font-size:.76rem;line-height:1.35;margin:0}.pl-plan-explain small{color:var(--warning, #d97706);font-weight:800}.pl-course{padding:14px 12px;border:1px solid var(--border-subtle, var(--border-color));border-radius:var(--radius-md, 8px);background:var(--bg-body);display:flex;flex-direction:column}.pl-course-top{display:flex;align-items:center;justify-content:space-between}.pl-code{font-weight:700;color:var(--msu-blue);font-size:.9rem}.pl-course-credits{font-size:.72rem;color:var(--text-tertiary)}.pl-course-name{font-size:.85rem;color:var(--text-main);margin:3px 0 8px}.pl-course-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--text-secondary)}.pl-course-meta span{display:inline-flex;align-items:center;gap:4px}.pl-course-instr{font-size:.75rem;color:var(--text-tertiary);margin-top:7px}.pl-course-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pl-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full, 999px);font-size:.7rem;font-weight:500}.pl-tag.match{background:#2c4a7c1a;color:var(--msu-blue)}.pl-tag.satisfies{background:#34a8531a;color:#1e8e3e}.pl-tag.unlocks{background:#f370211a;color:var(--msu-gold, #F37021)}.pl-tag.risk{background:#d977061f;color:var(--warning, #d97706)}.pl-tag.risk.high{background:#dc26261f;color:var(--danger, #dc2626)}.pl-course-why{margin-top:10px;padding-top:9px;border-top:1px solid var(--border-subtle, var(--border-color))}.pl-course-why summary{cursor:pointer;color:var(--msu-blue);font-size:.78rem;font-weight:800;border-radius:var(--radius-sm, 6px);outline:none}.pl-course-why summary:focus-visible{box-shadow:0 0 0 2px #2c4a7c38}.pl-course-why p{margin:7px 0 0;color:var(--text-secondary);font-size:.78rem;line-height:1.4}.pl-course-alerts,.pl-course-swaps,.pl-section-picker{display:flex;flex-direction:column;gap:6px;margin-top:8px;color:var(--text-secondary);font-size:.76rem;line-height:1.35}.pl-course-alerts span{padding:7px 8px;border-radius:var(--radius-md, 8px);background:#d9770614}.pl-course-swaps strong,.pl-section-picker strong{color:var(--text-main);font-size:.78rem}.pl-section-picker select{width:100%;min-height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:var(--bg-card);color:var(--text-main);padding:7px 9px;font-size:.76rem}.pl-swap-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px dashed var(--border-color);border-radius:var(--radius-md, 8px);background:var(--bg-card)}.pl-swap-option span{min-width:0}.pl-swap-option span strong{display:block;margin-bottom:2px}.pl-swap-option span em{display:block;margin-top:4px;color:var(--warning, #d97706);font-style:normal;font-weight:700}.pl-swap-option.disabled{background:#94a3b814}.pl-swap-option button{flex:0 0 auto;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--msu-blue);color:#fff;padding:7px 12px;font-size:.85rem;font-weight:600;cursor:pointer}.pl-swap-option button:hover{background:var(--msu-blue-hover, #19365f)}.pl-swap-option button:disabled{opacity:.5;cursor:default;background:var(--text-tertiary, #94a3b8)}.pl-notes{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:.75rem;color:var(--text-tertiary)}.pl-saved-panel{margin-top:16px;padding:14px;border:1px solid var(--border-color);border-radius:var(--radius-lg, 10px);background:var(--bg-card)}.pl-saved-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.pl-saved-head h2{margin:0;color:var(--text-main);font-size:1rem}.pl-saved-head p,.pl-saved-empty{margin:3px 0 0;color:var(--text-secondary);font-size:.8rem}.pl-saved-head>span{flex:0 0 auto;padding:3px 9px;border-radius:var(--radius-full, 999px);background:#2c4a7c14;color:var(--msu-blue);font-size:.72rem;font-weight:800}.pl-saved-list{display:flex;flex-direction:column;gap:8px}.pl-saved-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border-subtle, var(--border-color));border-radius:var(--radius-md, 8px);background:var(--bg-body)}.pl-saved-item strong{display:block;color:var(--msu-blue);font-size:.85rem}.pl-saved-item span{display:block;margin-top:3px;color:var(--text-secondary);font-size:.76rem;line-height:1.35}.pl-saved-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.pl-saved-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--msu-blue);padding:7px 12px;font-size:.85rem;font-weight:600;letter-spacing:0;cursor:pointer}.pl-saved-actions .pl-saved-icon-btn{width:32px;height:32px;padding:0;flex:0 0 auto}.pl-saved-actions button:hover{background:#2c4a7c14}.pl-saved-actions button.danger{color:var(--danger, #dc2626);font-weight:600}.pl-saved-actions button.danger.confirm{background:#dc26261f;border-color:#dc262652;color:var(--danger, #dc2626)}@media (max-width: 640px){.pl-controls{gap:12px}.pl-control select,.pl-control input[type=range]{min-width:120px;width:100%}.pl-saved-item{align-items:stretch;flex-direction:column;gap:9px}.pl-saved-actions{justify-content:flex-start;flex-wrap:nowrap;padding-top:2px}.pl-saved-actions .pl-saved-icon-btn{width:34px;height:34px}.pl-snapshot-banner{align-items:flex-start;flex-direction:column}}.pl-regen-control{align-self:center;justify-content:center;margin-left:auto}.pl-regen-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--msu-blue, #2c4a7c);text-decoration:none;white-space:nowrap}.pl-regen-link:hover:not(:disabled){color:var(--msu-blue, #2c4a7c);background:#2c4a7c14}.pl-regen-link:disabled{opacity:.6;cursor:default;text-decoration:none}.pl-reset-swaps-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;margin-top:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap}.pl-reset-swaps-link:hover:not(:disabled){color:var(--msu-blue, #2c4a7c);background:#2c4a7c14}.pl-reset-swaps-link:disabled{opacity:.6;cursor:default}.pl-course.untimed,.pl-course.gened,.pl-course.minor{border-style:dashed;background:var(--bg-subtle, #faf9f6)}.pl-pick-time{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-style:italic;color:var(--text-secondary)}.pl-tag.gened{color:#7c3aed;background:#7c3aed1a}.pl-tag.minor{color:#b8860b;background:#d977061f}.pl-advisor-hub{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;margin-top:20px;margin-bottom:16px;align-items:start}.pl-advisor-main{display:flex;flex-direction:column;gap:14px;min-width:0}.pl-advisor-card,.pl-advisor-chat{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg, 10px);box-shadow:var(--shadow-sm)}.pl-advisor-card{padding:16px}.pl-advisor-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.pl-advisor-title{display:flex;gap:10px;align-items:flex-start;min-width:0}.pl-advisor-title svg{color:var(--msu-gold, #f37021);margin-top:3px;flex:0 0 auto}.pl-advisor-title h2,.pl-advisor-card h3{margin:0;color:var(--text-main)}.pl-advisor-title h2{font-size:1.18rem}.pl-advisor-card h3{font-size:.98rem;margin-bottom:10px}.pl-advisor-title p,.pl-packet-head p,.pl-advisor-copy{margin:4px 0 0;color:var(--text-secondary);font-size:.86rem;line-height:1.45}.pl-calendar-link,.pl-inline-link{display:inline-flex;align-items:center;gap:6px;color:var(--msu-blue);font-weight:700;font-size:.82rem;text-decoration:none}.pl-calendar-link:hover,.pl-inline-link:hover{text-decoration:underline}.pl-reminder-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.pl-reminder-row{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:12px;border:1px solid var(--border-subtle, var(--border-color));border-radius:var(--radius-md, 8px);background:var(--bg-body)}.pl-reminder-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.pl-reminder-copy strong{color:var(--text-main);font-size:.88rem}.pl-reminder-copy span,.pl-reminder-copy small{color:var(--text-secondary);font-size:.76rem;line-height:1.35}.pl-reminder-copy small{color:var(--text-tertiary)}.pl-reminder-controls{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;padding-top:2px}.pl-reminder-controls input[type=date]{min-width:138px;padding:7px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:var(--bg-input);color:var(--text-main);font-size:.78rem}.pl-calendar-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-full, 999px);background:var(--bg-card);color:var(--msu-blue);font-size:.75rem;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap;font-family:inherit}.pl-calendar-action:hover:not(:disabled):not(.disabled){border-color:#2c4a7c59;background:#2c4a7c14}.pl-calendar-action:disabled,.pl-calendar-action.disabled{opacity:.5;cursor:default}.pl-advisor-intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pl-advisor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px}.pl-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.pl-checklist li{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:.84rem;line-height:1.35}.pl-checklist li.done{color:var(--text-main);font-weight:600}.pl-check-control{flex:0 0 auto;margin-top:1px;cursor:pointer}.pl-check-control input{position:absolute;opacity:0;pointer-events:none}.pl-check-control:focus-within .pl-check-dot{box-shadow:0 0 0 2px #2c4a7c33}.pl-check-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.pl-check-copy a{display:inline-flex;align-items:center;gap:5px;color:var(--msu-blue);font-weight:600;text-decoration:none}.pl-check-copy a:hover{text-decoration:underline;text-underline-offset:2px}.pl-check-copy small{color:var(--text-tertiary);font-size:.74rem;line-height:1.3}.pl-check-dot{width:18px;height:18px;border-radius:var(--radius-full, 999px);border:1px solid var(--border-color);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--success, #16a34a)}.pl-checklist li.done .pl-check-dot{border-color:#16a34a3d;background:#16a34a1a}.pl-option-tabs button,.pl-advisor-starters button,.pl-advisor-input-row button{border:1px solid var(--border-color);background:var(--bg-body);color:var(--text-main);border-radius:var(--radius-md, 8px);cursor:pointer}.pl-option-tabs button:disabled,.pl-advisor-starters button:disabled,.pl-advisor-input-row button:disabled{opacity:.55;cursor:default}.pl-copy-status{margin-bottom:10px;color:var(--text-secondary);font-size:.8rem;font-weight:700}.pl-option-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px;scroll-padding-inline:12px}.pl-option-tabs button{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:128px;padding:9px 11px;font-weight:800;white-space:nowrap}.pl-option-tabs button span{color:var(--text-secondary);font-size:.72rem;font-weight:700}.pl-option-tabs button.active{border-color:var(--msu-gold, #f37021);background:#f370211a;color:var(--msu-blue)}.pl-advisor-chat{display:flex;flex-direction:column;min-height:460px;max-height:70vh;overflow:hidden}.pl-advisor-chat-head{display:flex;gap:10px;align-items:flex-start;padding:14px;border-bottom:1px solid var(--border-subtle, var(--border-color))}.pl-advisor-chat-head svg{color:var(--msu-gold, #f37021);margin-top:2px;flex:0 0 auto}.pl-advisor-chat-head strong{display:block;color:var(--text-main);font-size:.92rem}.pl-advisor-chat-head p{margin:3px 0 0;color:var(--text-secondary);font-size:.78rem;line-height:1.35}.pl-advisor-chat-scroll{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.pl-advisor-starters{display:flex;flex-direction:column;gap:8px}.pl-advisor-starters button{padding:9px 10px;text-align:left;color:var(--msu-blue);font-weight:700;font-size:.8rem}.pl-advisor-msg{max-width:92%;padding:9px 11px;border-radius:var(--radius-md, 8px);font-size:.82rem;line-height:1.4;white-space:pre-wrap}.pl-advisor-msg.user{align-self:flex-end;color:#fff;background:var(--msu-blue)}.pl-advisor-msg.bot{align-self:flex-start;color:var(--text-main);background:var(--bg-body);border:1px solid var(--border-subtle, var(--border-color))}.pl-advisor-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border-subtle, var(--border-color))}.pl-advisor-input-row input{flex:1;min-width:0;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);padding:9px 10px;background:var(--bg-input);color:var(--text-main)}.pl-advisor-input-row button{width:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--msu-blue)}@media (max-width: 980px){.pl-advisor-hub{grid-template-columns:1fr}.pl-advisor-chat{min-height:360px;max-height:none}}@media (max-width: 720px){.pl-planner-toolbar{align-items:stretch}.pl-filter-open{justify-content:center}.pl-filter-summary{flex-basis:100%;order:3}.pl-toolbar-actions{margin-left:0;width:100%}.pl-advisor-grid{grid-template-columns:1fr}.pl-advisor-intro,.pl-advisor-intro-actions{align-items:stretch}.pl-option-head-actions{width:100%;justify-content:flex-start}}@media (max-width: 460px){.pl-reminder-controls,.pl-reminder-controls input[type=date],.pl-calendar-action{width:100%}}.advising-page{max-width:1200px;margin:0 auto;padding:28px 24px 80px;color:var(--text-main, #1a2438)}.advising-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.advising-main{min-width:0}.advising-side{position:sticky;top:16px}@media (max-width: 900px){.advising-body{grid-template-columns:1fr}.advising-side{position:static}}.af-loading{padding:60px 0;text-align:center;color:var(--text-muted, #6b7280)}.advising-hero{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.advising-hero-download{margin-left:auto;flex-shrink:0;white-space:nowrap}@media (max-width: 640px){.advising-hero{flex-wrap:wrap}.advising-hero-download{margin-left:60px}}.advising-hero-icon{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#2c4a7c;color:#fff}.advising-hero h1{margin:0 0 4px;font-size:1.6rem}.advising-hero p{margin:0;color:var(--text-muted, #5a6472);font-size:.92rem;max-width:64ch;line-height:1.5}.advising-hero em{font-style:normal;font-weight:600;color:#2c4a7c}.advising-steps{display:flex;gap:10px;list-style:none;margin:0 0 22px;padding:0}.advising-step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-color, #e2ddd4);font-size:.85rem;font-weight:600;color:var(--text-muted, #8a93a3)}.advising-step-num{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--border-color, #e2ddd4);color:#fff;font-size:12px}.advising-step.current{border-color:#2c4a7c;color:#2c4a7c}.advising-step.current .advising-step-num{background:#2c4a7c}.advising-step.done{color:#2f8f4e;border-color:#bfe0c9}.advising-step.done .advising-step-num{background:transparent;color:#2f8f4e}.advising-form-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.advising-form-head h2{margin:0;font-size:1.15rem}.advising-form-sub{margin:2px 0 0;font-size:.82rem;color:var(--text-muted, #8a93a3)}.advising-progress{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--text-muted, #6b7280);white-space:nowrap}.advising-alert{padding:10px 14px;border-radius:10px;margin-bottom:16px;background:#fdf2f2;color:#a12d2d;border:1px solid #f3cfcf;font-size:.88rem}.af-form{display:flex;flex-direction:column;gap:22px}.af-section{border:1px solid var(--border-color, #e2ddd4);border-radius:14px;padding:16px 18px 20px;margin:0;background:var(--bg-card, #fffefb)}.af-section-title{padding:0 8px;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#2c4a7c}.af-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:8px}@media (max-width: 640px){.af-grid{grid-template-columns:1fr}}.af-field{display:flex;flex-direction:column;gap:5px;min-width:0}.af-label{font-size:.82rem;font-weight:600}.af-opt{font-weight:400;color:var(--text-muted, #9ca3af)}.af-hint{font-size:.72rem;color:var(--text-muted, #9ca3af)}.af-write-help{align-self:flex-start;margin-top:2px;border:none;background:none;cursor:pointer;padding:0;font-size:.76rem;font-weight:600;color:#4285f4}.af-write-help:hover{text-decoration:underline}.af-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid rgba(0,0,0,.14);border-radius:8px;font-size:.9rem;background:#fff;color:#1a2438}.af-textarea{resize:vertical;min-height:68px;line-height:1.45;font-family:inherit}.af-input:focus-visible{outline:2px solid #4285F4;outline-offset:1px;border-color:transparent}.af-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.af-input[type=number]::-webkit-outer-spin-button,.af-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.af-toggle-row{display:flex;gap:6px}.af-toggle{flex:1;padding:8px 0;border-radius:8px;font-size:.85rem;font-weight:600;border:1.5px solid rgba(0,0,0,.14);background:#fff;color:#1a2438;cursor:pointer}.af-toggle.on{background:#4285f4;color:#fff;border-color:#4285f4}.af-toggle:disabled{opacity:.6;cursor:default}.af-multiselect{position:relative}.af-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.af-ms-placeholder{color:#6b7280}.af-ms-caret{flex-shrink:0;opacity:.6;transition:transform .15s ease}.af-ms-caret.open{transform:rotate(180deg)}.af-multiselect-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;background:#fff;border:1px solid rgba(0,0,0,.14);border-radius:8px;box-shadow:0 8px 24px -8px #00000040;padding:4px}.af-ms-option{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:6px;font-size:.85rem;cursor:pointer}.af-ms-option:hover{background:#4285f414}.af-ms-option input{accent-color:#4285F4}.af-field-wide{grid-column:1 / -1}.af-refs{margin:4px 8px 12px;padding:10px 12px;border-radius:10px;background:#4285f40f;border:1px solid rgba(66,133,244,.18)}.af-refs-label{display:block;font-size:.78rem;font-weight:600;color:#2c4a7c;margin-bottom:6px}.af-refs-links{display:flex;flex-wrap:wrap;gap:8px 16px}.af-ref-link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:#4285f4;text-decoration:none}.af-ref-link:hover{text-decoration:underline}.af-coursepicker{display:flex;flex-direction:column;gap:10px}.af-cp-select{position:relative}.af-cp-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.af-cp-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:#fff;border:1px solid rgba(0,0,0,.14);border-radius:8px;box-shadow:0 8px 24px -8px #00000040;padding:8px;display:flex;flex-direction:column;gap:8px}.af-cp-search{width:100%}.af-cp-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column}.af-cp-group{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;padding:8px 6px 4px}.af-cp-group-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.af-cp-addall{border:none;background:none;cursor:pointer;padding:0;font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:none;color:#4285f4}.af-cp-addall:hover{text-decoration:underline}.af-cp-option{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:6px;font-size:.85rem;cursor:pointer}.af-cp-option:hover{background:#4285f414}.af-cp-option input{accent-color:#4285F4;flex-shrink:0}.af-cp-empty{padding:10px 6px;font-size:.83rem;color:#6b7280}.af-cp-addtyped{text-align:left;margin-top:4px;padding:8px 6px;border-radius:6px;border:none;background:#4285f414;color:#2c4a7c;font-size:.83rem;font-weight:600;cursor:pointer}.af-cp-addtyped:hover{background:#4285f429}.af-cp-chips{margin-top:2px}.af-cp-chip{display:inline-flex;align-items:center;gap:6px}.af-cp-chip-x{display:grid;place-items:center;border:none;cursor:pointer;background:#ffffff40;color:#fff;border-radius:50%;width:15px;height:15px;padding:0}.af-cp-chip-x:hover{background:#ffffff73}.af-cp-chip-x:disabled{opacity:.5;cursor:default}.af-file{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.af-file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.af-file-input{display:none}.af-file-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:600;border:1.5px solid #4285F4;background:#fff;color:#4285f4;cursor:pointer}.af-file-btn:hover:not(:disabled){background:#4285f414}.af-file-btn:disabled{opacity:.6;cursor:default}.af-file-err{font-size:.8rem;color:#a12d2d}.af-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%;max-width:460px}.af-file-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#4285f40d}.af-file-name{font-size:.82rem;color:var(--text-muted, #5a6472);word-break:break-all;min-width:0}.af-file-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:#7a8494;cursor:pointer}.af-file-x:hover:not(:disabled){background:#a12d2d1f;color:#a12d2d}.af-file-x:disabled{opacity:.5;cursor:default}.af-chips{display:flex;flex-wrap:wrap;gap:6px}.af-chip{padding:6px 11px;border-radius:999px;font-size:.8rem;font-weight:600;border:1.5px solid rgba(0,0,0,.14);background:#fff;color:#4a5468;cursor:pointer}.af-chip.on{background:#2c4a7c;color:#fff;border-color:#2c4a7c}.af-chip:disabled{opacity:.6;cursor:default}.af-locked{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px dashed rgba(66,133,244,.4);border-radius:8px;background:#4285f40d}.af-locked-val{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-edit{font-size:.75rem;font-weight:600;color:#4285f4;background:none;border:none;cursor:pointer}.af-edit:hover{text-decoration:underline}.af-edit:disabled{color:var(--text-muted, #9ca3af);cursor:default}.advising-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-color, #e2ddd4);flex-wrap:wrap}.advising-actions-left,.advising-actions-right{display:flex;align-items:center;gap:10px}.advising-missing{font-size:.8rem;color:#b8842a}.advising-autosave-hint{font-size:.78rem;color:#7a808c}.advising-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,color .15s ease}.advising-btn.primary{background:#4285f4;color:#fff}.advising-btn.primary:hover:not(:disabled){background:#2c4a7c}.advising-btn.primary:disabled{background:#b7c6e0;cursor:default}.advising-btn.ghost{background:transparent;color:#4285f4;border-color:#4285f4}.advising-btn.ghost:hover:not(:disabled){background:#4285f414}.advising-btn.ghost:disabled{opacity:.6;cursor:default}.advising-helper{display:flex;flex-direction:column;border:1px solid var(--border-color, #e2ddd4);border-radius:14px;background:var(--bg-card, #fffefb);max-height:560px;overflow:hidden}.ah-head{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--border-color, #e2ddd4);color:#2c4a7c}.ah-head strong{display:block;font-size:.92rem}.ah-head p{margin:2px 0 0;font-size:.76rem;color:var(--text-muted, #6b7280);line-height:1.4}.ah-scroll{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ah-starters{display:flex;flex-direction:column;gap:8px}.ah-starter{text-align:left;padding:9px 12px;border-radius:10px;cursor:pointer;border:1px solid rgba(66,133,244,.3);background:#4285f40d;color:#2c4a7c;font-size:.82rem;font-weight:500}.ah-starter:hover{background:#4285f41f}.ah-msg{font-size:.85rem;line-height:1.5;padding:9px 12px;border-radius:12px;max-width:92%;white-space:pre-wrap}.ah-msg.user{align-self:flex-end;background:#2c4a7c;color:#fff;border-bottom-right-radius:3px}.ah-msg.bot{align-self:flex-start;background:#f0ede6;color:#1a2438;border-bottom-left-radius:3px}.ah-typing{color:var(--text-muted, #6b7280);font-style:italic}.ah-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border-color, #e2ddd4)}.ah-input{flex:1;padding:8px 12px;border-radius:10px;font-size:.85rem;border:1px solid rgba(0,0,0,.14);background:#fff;color:#1a2438}.ah-input:focus-visible{outline:2px solid #4285F4;outline-offset:1px;border-color:transparent}.ah-send{flex-shrink:0;width:38px;border-radius:10px;border:none;cursor:pointer;background:#4285f4;color:#fff;display:grid;place-items:center}.ah-send:disabled{background:#b7c6e0;cursor:default}.sch-page{max-width:1000px;margin:0 auto;padding:28px 24px 80px;color:var(--text-main, #1a2438)}.sch-header h1{display:flex;align-items:center;gap:12px;margin:0 0 6px;font-size:1.7rem;color:#0b2545}.sch-sub{margin:0 0 22px;color:var(--text-muted, #5a6472);font-size:.92rem;max-width:62ch}.sch-search{display:flex;gap:10px;margin-bottom:14px}.sch-input{flex:1;min-width:0;padding:11px 14px;border:1.5px solid rgba(0,0,0,.14);border-radius:10px;font-size:.92rem;background:#fff;color:inherit}.sch-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f424}.sch-input:disabled{background:#f4f5f7;cursor:not-allowed}.sch-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 20px;border:none;border-radius:10px;background:#0b2545;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}.sch-btn:hover:not(:disabled){background:#143a6b}.sch-btn:disabled{opacity:.6;cursor:default}.sch-examples{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px}.sch-examples-label{font-size:.82rem;color:var(--text-muted, #6b7280)}.sch-chip{padding:6px 12px;border:1.5px solid rgba(0,0,0,.12);border-radius:999px;background:#fff;font-size:.8rem;color:#35507d;cursor:pointer}.sch-chip:hover{border-color:#4285f4;background:#4285f40f}.sch-notice{padding:12px 14px;margin-bottom:18px;border-radius:10px;border:1px solid rgba(66,133,244,.3);background:#4285f412;font-size:.87rem}.sch-notice-warn{border-color:#d69e2e66;background:#d69e2e1a}.sch-notice-error{border-color:#a12d2d59;background:#a12d2d14;color:#8c2626}.sch-status{padding:22px 0;color:var(--text-muted, #6b7280);font-size:.9rem}.sch-group{margin-bottom:28px}.sch-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding-bottom:7px;border-bottom:2px solid rgba(0,0,0,.08);font-size:1.05rem}.sch-group-urgent{border-bottom-color:#c0392b;color:#96271b}.sch-group-upcoming{border-bottom-color:#d69e2e;color:#8a6516}.sch-group-open{border-bottom-color:#2f8f4e;color:#226b3a}.sch-group-hint{font-size:.76rem;font-weight:500;color:var(--text-muted, #6b7280)}.sch-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.sch-card{padding:16px 18px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}.sch-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.sch-card-name{margin:0;font-size:1rem;color:#0b2545}.sch-rec{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:999px;background:#d69e2e26;color:#8a6516;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.sch-kind{flex:none;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sch-kind-scholarship{background:#4285f41f;color:#2a5db0}.sch-kind-internship{background:#2f8f4e1f;color:#226b3a}.sch-award{margin:0 0 6px;font-weight:600;color:#226b3a;font-size:.9rem}.sch-why{margin:0 0 10px;font-size:.86rem;font-style:italic;color:var(--text-muted, #5a6472)}.sch-meta{margin:0 0 12px;display:grid;gap:6px}.sch-meta div{display:flex;gap:8px;font-size:.85rem}.sch-meta dt{flex:none;width:78px;font-weight:600;color:var(--text-muted, #6b7280)}.sch-meta dd{margin:0;min-width:0}.sch-days{color:#96271b;font-weight:600}.sch-apply{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#2a5db0;text-decoration:none}.sch-apply:hover{text-decoration:underline}.sch-note{margin:22px 0 0;padding:12px 14px;border-radius:10px;background:#4285f40f;font-size:.87rem}.sch-sources{margin-top:16px;font-size:.84rem}.sch-sources summary{cursor:pointer;color:var(--text-muted, #6b7280)}.sch-sources ul{margin:10px 0 0;padding-left:18px}.sch-sources li{margin-bottom:5px}.sch-sources a{color:#2a5db0;word-break:break-all}.sch-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1.5px solid rgba(0,0,0,.08)}.sch-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:none;border-bottom:2.5px solid transparent;background:none;font-size:.9rem;font-weight:600;color:var(--text-muted, #6b7280);cursor:pointer;margin-bottom:-1.5px}.sch-tab:hover{color:#2a5db0}.sch-tab.is-active{color:#0b2545;border-bottom-color:#0b2545}.sch-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#0b2545;color:#fff;font-size:.68rem;font-weight:700}.sch-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.sch-card-actions .sch-apply{margin-right:auto}.sch-save{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1.5px solid rgba(66,133,244,.4);border-radius:8px;background:#fff;color:#2a5db0;font-size:.83rem;font-weight:600;cursor:pointer}.sch-save:hover:not(:disabled){background:#4285f414}.sch-save.is-saved{border-color:#0b2545;background:#0b2545;color:#fff}.sch-save:disabled{opacity:.6;cursor:default}.sch-dismiss{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;color:var(--text-muted, #6b7280);font-size:.83rem;font-weight:600;cursor:pointer}.sch-dismiss:hover:not(:disabled){border-color:#a12d2d66;background:#a12d2d0f;color:#8a2525}.sch-dismiss:disabled{opacity:.6;cursor:default}.sch-saved-card.is-expired{opacity:.7}.sch-days.is-expired{color:#96271b}.sch-status-pick{display:inline-flex;align-items:center;gap:7px;margin-right:auto}.sch-status-label{font-size:.78rem;font-weight:600;color:var(--text-muted, #6b7280)}.sch-status-select{padding:5px 9px;border:1.5px solid rgba(0,0,0,.16);border-radius:8px;background:#fff;font-size:.82rem;font-weight:600;color:#35507d;cursor:pointer}.sch-status-select.is-awarded{border-color:#2f8f4e;color:#226b3a}.sch-status-select.is-rejected{border-color:#00000029;color:#6b7280}.sch-status-select.is-expired{border-color:#c0392b;color:#96271b}.sch-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid rgba(161,45,45,.25);border-radius:8px;background:#fff;color:#a12d2d;cursor:pointer}.sch-remove:hover:not(:disabled){background:#a12d2d14}.sch-remove:disabled{opacity:.5;cursor:default}.sch-toolbar{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:20px;padding:12px 14px;border:1px solid rgba(0,0,0,.09);border-radius:10px;background:#fafbfc}.sch-toolbar-field{display:inline-flex;align-items:center;gap:7px;font-size:.82rem}.sch-toolbar-field>span{font-weight:600;color:var(--text-muted, #6b7280)}.sch-toolbar-field select{padding:6px 10px;border:1.5px solid rgba(0,0,0,.16);border-radius:8px;background:#fff;font-size:.82rem;font-weight:600;color:#35507d;cursor:pointer}.sch-toolbar-field select:focus{outline:none;border-color:#4285f4}.sch-summary{margin-bottom:20px;padding:16px 18px;border:1px solid rgba(11,37,69,.12);border-radius:12px;background:linear-gradient(180deg,#4285f40d,#4285f405)}.sch-summary-stats{display:flex;flex-wrap:wrap;gap:12px}.sch-stat{flex:1 1 120px;min-width:110px;padding:12px 14px;border:1px solid rgba(0,0,0,.07);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:2px}.sch-stat-num{font-size:1.5rem;font-weight:700;line-height:1;color:#0b2545}.sch-stat-label{font-size:.76rem;font-weight:600;color:var(--text-muted, #6b7280)}.sch-stat-urgent{border-color:#d69e2e80;background:#d69e2e14}.sch-stat-urgent .sch-stat-num{color:#b7791f}.sch-stat-progress .sch-stat-num{color:#226b3a}.sch-summary-warn{margin:12px 0 0;padding:8px 12px;border-radius:8px;background:#a12d2d14;color:#8a2525;font-size:.82rem;font-weight:600}.sch-summary-next{margin-top:14px}.sch-summary-next-head{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #6b7280);margin-bottom:6px}.sch-summary-next ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sch-summary-next li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.86rem}.sch-summary-next-name{color:#0b2545;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sch-summary-next-when{flex-shrink:0;color:#b7791f;font-weight:600;font-size:.8rem}.sch-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;text-align:center;color:var(--text-muted, #6b7280)}.sch-empty p{margin:0;font-size:.95rem}.sch-empty-sub{font-size:.86rem;max-width:42ch}.sch-empty .sch-btn{margin-top:8px}.sch-open{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1.5px solid rgba(11,37,69,.25);border-radius:8px;background:#fff;color:#0b2545;font-size:.83rem;font-weight:600;cursor:pointer}.sch-open:hover{background:#0b25450f}.sch-progress{flex:1;min-width:0;height:7px;background:#00000014;border-radius:999px;overflow:hidden}.sch-progress-bar{height:100%;background:#2f8f4e;border-radius:999px;transition:width .2s ease}.sch-card-progress{display:flex;align-items:center;gap:10px;margin:0 0 12px}.sch-card-progress-label{flex:none;font-size:.76rem;font-weight:600;color:var(--text-muted, #6b7280)}.sch-detail-back{display:inline-flex;align-items:center;gap:7px;padding:0;margin-bottom:16px;border:none;background:none;font-size:.86rem;font-weight:600;color:#2a5db0;cursor:pointer}.sch-detail-back:hover{text-decoration:underline}.sch-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.sch-detail-name{margin:0 0 6px;font-size:1.3rem;color:#0b2545}.sch-detail-apply{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:9px;background:#0b2545;color:#fff;font-size:.86rem;font-weight:600;text-decoration:none}.sch-detail-apply:hover{background:#143a6b}.sch-detail-meta{margin:0 0 14px;display:grid;gap:8px;padding:14px 16px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:#fafbfc}.sch-detail-meta div{display:flex;gap:10px;font-size:.88rem}.sch-detail-meta dt{flex:none;width:92px;font-weight:600;color:var(--text-muted, #6b7280)}.sch-detail-meta dd{margin:0;min-width:0}.sch-detail-why{margin:0 0 20px;font-size:.9rem;font-style:italic;color:var(--text-muted, #5a6472)}.sch-checklist{padding:18px 20px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}.sch-checklist-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.sch-checklist-head h3{margin:0;font-size:1.05rem;color:#0b2545}.sch-checklist-count{font-size:.8rem;font-weight:600;color:#226b3a}.sch-checklist .sch-progress{margin-bottom:16px;height:8px}.sch-checklist-empty{text-align:center;padding:16px 8px;color:var(--text-muted, #6b7280)}.sch-checklist-empty p{margin:0 0 14px;font-size:.9rem}.sch-checklist-items{list-style:none;margin:0 0 14px;padding:0}.sch-check-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}.sch-check-item:last-child{border-bottom:none}.sch-check-row{display:flex;align-items:center;gap:10px}.sch-check-row input[type=checkbox]{flex:none;width:17px;height:17px;cursor:pointer;accent-color:#2f8f4e}.sch-check-label{flex:1;min-width:0;padding:5px 8px;border:1px solid transparent;border-radius:7px;font-size:.9rem;background:transparent;color:inherit}.sch-check-label:hover{border-color:#0000001a}.sch-check-label:focus{outline:none;border-color:#4285f4;background:#fff}.sch-check-item.is-done .sch-check-label{text-decoration:line-through;color:var(--text-muted, #9aa2ac)}.sch-check-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:none;color:#9aa2ac;cursor:pointer}.sch-check-remove:hover{background:#a12d2d14;color:#a12d2d}.sch-check-note{width:100%;margin-top:4px;margin-left:27px;max-width:calc(100% - 27px);padding:4px 8px;border:1px solid rgba(0,0,0,.08);border-radius:7px;font-size:.8rem;background:#fafbfc;color:var(--text-muted, #5a6472)}.sch-check-note:focus{outline:none;border-color:#4285f4;background:#fff}.sch-checklist-actions{display:flex;gap:10px;flex-wrap:wrap}.sch-check-add,.sch-check-regen{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1.5px solid rgba(0,0,0,.14);border-radius:8px;background:#fff;font-size:.82rem;font-weight:600;color:#35507d;cursor:pointer}.sch-check-add:hover,.sch-check-regen:hover{border-color:#4285f4;background:#4285f40f}.sch-check-regen:disabled,.sch-check-add:disabled{opacity:.6;cursor:default}@media (max-width: 640px){.sch-search{flex-direction:column}.sch-meta div{flex-direction:column;gap:2px}.sch-meta dt{width:auto}.sch-card-actions{gap:8px}.sch-status-pick{margin-right:0}.sch-detail-meta div{flex-direction:column;gap:2px}.sch-detail-meta dt{width:auto}}.profile-page{max-width:800px;margin:0 auto;padding:40px 20px;min-height:calc(100vh - 70px);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-header{margin-bottom:32px}.back-button{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--msu-blue);font-size:1rem;cursor:pointer;padding:8px 12px;border-radius:var(--radius-md, 10px);transition:all .2s ease;margin-bottom:16px}.back-button:hover{background:var(--msu-blue-50, rgba(66, 133, 244, .05))}.profile-header h1{font-size:2rem;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.02em}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.profile-container{display:flex;flex-direction:column;gap:24px}.profile-picture-section{background:var(--bg-card);border-radius:var(--radius-xl, 20px);padding:40px 32px;text-align:center;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.profile-picture-section:before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(135deg,#4285f40f,#34a8530a);pointer-events:none}.profile-picture-wrapper{position:relative;width:128px;height:128px;margin:0 auto 16px;border-radius:50%;padding:4px;background:var(--msu-blue);box-shadow:0 4px 16px #4285f433}.profile-picture{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.upload-overlay{position:absolute;bottom:0;right:0;background:var(--msu-blue);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.upload-overlay:hover{background:var(--msu-blue-hover);transform:scale(1.1)}.profile-picture-section h2{font-size:1.5rem;color:var(--text-main);margin:0 0 4px}.profile-email{color:var(--text-secondary);font-size:.95rem}.profile-section{background:var(--bg-card);border-radius:var(--radius-lg, 14px);padding:24px;border:1px solid var(--border-color);box-shadow:var(--shadow-xs);transition:box-shadow .2s ease}.profile-section:hover{box-shadow:var(--shadow-sm)}.coding-pref-intro{margin:0 0 14px;color:var(--text-secondary);line-height:1.5}.coding-pref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.coding-pref-card{display:grid;gap:6px;text-align:left;padding:14px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-card);color:var(--text-main);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.coding-pref-card span{font-weight:700;color:var(--text-main)}.coding-pref-card small{color:var(--text-secondary);line-height:1.45}.coding-pref-card:hover:not(:disabled){border-color:var(--msu-blue, #002d72);box-shadow:0 10px 24px #002d721f;transform:translateY(-1px)}.coding-pref-card.selected{border-color:var(--msu-blue, #002d72);background:color-mix(in srgb,var(--msu-blue, #002d72) 8%,var(--bg-card));box-shadow:inset 4px 0 0 var(--msu-blue, #002d72)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{font-size:1.25rem;color:var(--text-main);margin:0}.edit-btn{background:transparent;border:1.5px solid var(--msu-blue);color:var(--msu-blue);padding:8px 16px;border-radius:var(--radius-md, 10px);cursor:pointer;font-weight:600;font-size:.88rem;transition:all .25s ease}.edit-btn:hover{background:var(--msu-blue);color:#fff;box-shadow:0 2px 8px #4285f433;transform:translateY(-1px)}.form-group{margin-bottom:20px}.form-group label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-main);margin-bottom:8px;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-body);color:var(--text-main);transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 3px #4285f41a}.form-group input:disabled,.disabled-input{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-actions{display:flex;gap:12px;margin-top:24px}.save-btn{flex:1;background:var(--gradient-primary, linear-gradient(135deg, #4285F4, #669DF6));color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md, 10px);font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #4285f433}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #4285f44d}.save-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{flex:1;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--bg-secondary)}.connected-status{display:flex;align-items:center;gap:16px;padding:16px;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px}.connected-text{font-weight:600;color:#155724;margin:0 0 4px}.connected-subtext{font-size:.9rem;color:#155724;margin:0}.connect-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--msu-blue);color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.connect-btn:hover:not(:disabled){background:var(--msu-blue-hover);transform:translateY(-2px)}.connect-btn:disabled{opacity:.6;cursor:not-allowed}.logout-btn{width:100%;background:#dc3545;color:#fff;border:none;padding:14px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#c82333;transform:translateY(-2px)}.morgan-section .section-header h3{display:flex;align-items:center;gap:10px}.disconnect-btn{background:transparent;border:1px solid #dc3545;color:#dc3545;padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.disconnect-btn:hover{background:#dc3545;color:#fff}.degreeworks-data{padding:8px 0}.dw-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#28a7451a,#28a7450d);border-radius:10px;border:1px solid rgba(40,167,69,.2);margin-bottom:20px}.dw-header .success-icon{color:#28a745;font-size:1.5rem;flex-shrink:0}.dw-header .connected-text{color:#28a745;font-size:1rem;margin:0}.dw-header .sync-time{color:var(--text-secondary);font-size:.85rem;margin:2px 0 0}.resync-btn{margin-left:auto;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--msu-blue);color:var(--msu-blue);padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.resync-btn:hover{background:var(--msu-blue);color:#fff}.dw-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:16px}.dw-stat-card{background:var(--bg-card, #fff);border-radius:var(--radius-lg, 14px);padding:20px;text-align:center;border:1px solid var(--border-color);transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xs)}.dw-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#4285f426}.dw-stat-card .stat-icon{color:var(--msu-blue);font-size:1.5rem;margin-bottom:8px}.dw-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-main);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dw-stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.dw-program{padding:12px 16px;background:var(--bg-secondary);border-radius:8px;font-size:.95rem;color:var(--text-main)}.dw-stat-card.empty{opacity:.6;border-style:dashed}.dw-stat-card.empty .stat-icon{color:var(--text-secondary)}.dw-info-row{padding:10px 16px;background:var(--bg-secondary);border-radius:8px;font-size:.95rem;color:var(--text-main);margin-bottom:8px}.dw-courses-section{padding:12px 16px;background:var(--bg-secondary);border-radius:8px;margin-top:12px}.dw-courses-section strong{display:block;margin-bottom:10px;color:var(--text-main)}.dw-courses-list{display:flex;flex-wrap:wrap;gap:8px}.course-tag{display:inline-block;padding:4px 10px;background:var(--msu-blue);color:#fff;border-radius:20px;font-size:.8rem;font-weight:500}.course-tag.more{background:var(--text-secondary)}.dw-warning{margin-top:16px;padding:12px 16px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px}.dw-warning p{margin:0 0 8px;color:var(--text-main);font-size:.9rem}.connect-morgan-prompt{display:flex;flex-direction:column;gap:20px}.connect-info{display:flex;align-items:flex-start;gap:16px}.connect-info .connect-icon{color:var(--msu-blue);font-size:2.5rem;flex-shrink:0}.connect-info h4{margin:0 0 6px;color:var(--text-main);font-size:1.1rem}.connect-info p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;z-index:10}.modal-close:hover{background:var(--bg-secondary);color:var(--text-main)}.degreeworks-modal .modal-header{display:block;text-align:center;padding:32px 32px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,rgba(66,133,244,.05) 0%,transparent 100%)}.degreeworks-modal .modal-header .modal-icon{font-size:3rem;color:var(--msu-blue);margin-bottom:16px}.degreeworks-modal .modal-header h2{margin:0 0 8px;color:var(--text-main);font-size:1.5rem}.degreeworks-modal .modal-header p{margin:0;color:var(--text-secondary);font-size:1rem}.modal-body{padding:24px 32px}.steps-container{display:flex;flex-direction:column;gap:24px}.step{display:flex;gap:16px}.step-number{width:32px;height:32px;background:var(--msu-blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.step-content h4{margin:0 0 8px;color:var(--text-main);font-size:1.05rem}.step-content p{margin:0 0 12px;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.step-action-btn{display:inline-flex;align-items:center;gap:8px;background:var(--msu-blue);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.step-action-btn:hover{background:var(--msu-blue-hover);transform:translateY(-1px)}.text-btn{background:none;border:none;color:var(--msu-blue);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.text-btn:hover{color:var(--msu-blue-hover)}.sync-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sync-option{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s}.sync-option:hover{border-color:var(--msu-blue);background:#4285f40d;transform:translate(4px)}.sync-option .option-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--msu-blue) 0%,#3367D6 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;flex-shrink:0}.sync-option .option-content{flex:1}.sync-option .option-content h4{margin:0 0 4px;color:var(--text-main);font-size:1rem}.sync-option .option-content p{margin:0;color:var(--text-secondary);font-size:.85rem;line-height:1.4}.sync-option .option-arrow{color:var(--text-secondary);font-size:.9rem;transition:transform .2s}.sync-option:hover .option-arrow{transform:translate(4px);color:var(--msu-blue)}.back-to-options{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--msu-blue);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:16px}.back-to-options:hover{text-decoration:underline}.manual-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.manual-form-grid .form-group{margin-bottom:0}.manual-form-grid .form-group label{display:block;font-weight:500;color:var(--text-main);margin-bottom:6px;font-size:.9rem}.manual-form-grid .form-group input,.manual-form-grid .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-body);color:var(--text-main);transition:all .2s}.manual-form-grid .form-group input:focus,.manual-form-grid .form-group select:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 3px #4285f41a}.submit-manual{width:100%;padding:14px}.pdf-upload-section{padding:8px 0}.pdf-upload-section h3{margin:0 0 20px;color:var(--text-main);font-size:1.2rem}.pdf-instructions{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.instruction-step{display:flex;gap:12px;align-items:flex-start}.instruction-step .step-num{width:28px;height:28px;background:var(--msu-blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.instruction-step strong{display:block;color:var(--text-main);margin-bottom:2px}.instruction-step p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.step-action-btn.small{margin-top:8px;padding:6px 12px;font-size:.85rem}.pdf-upload-area{text-align:center;padding:24px;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-secondary);transition:all .2s}.pdf-upload-area:hover{border-color:var(--msu-blue);background:#4285f40d}.upload-label{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--msu-blue) 0%,#3367D6 100%);color:#fff;padding:14px 28px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem;font-family:inherit}.upload-label:disabled{opacity:.7;cursor:not-allowed}.upload-label:hover:not(.uploading){transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.upload-label.uploading{background:var(--text-secondary);cursor:wait}.upload-label .spinning{animation:spin 1s linear infinite}.upload-hint{margin:12px 0 0;font-size:.85rem;color:var(--text-secondary)}.option-icon.pdf-icon{background:linear-gradient(135deg,#e74c3c,#c0392b)}.option-icon.sync-icon{background:linear-gradient(135deg,#27ae60,#1e8449)}.sync-option.highlighted{border-color:#27ae60;background:#27ae600d}.sync-option.highlighted:before{content:"RECOMMENDED";position:absolute;top:-10px;right:16px;background:#27ae60;color:#fff;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.5px}.sync-option{position:relative}.info-box{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#27ae601a;border:1px solid rgba(39,174,96,.2);border-radius:10px;margin-top:20px}.info-box svg{color:#27ae60;font-size:1.2rem;flex-shrink:0}.info-box p{margin:0;color:var(--text-main);font-size:.9rem}.security-note{display:flex;gap:12px;padding:16px;background:#28a7451a;border:1px solid rgba(40,167,69,.2);border-radius:10px;margin-top:24px}.security-note svg{color:#28a745;font-size:1.25rem;flex-shrink:0;margin-top:2px}.security-note strong{display:block;color:#28a745;margin-bottom:4px}.security-note p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.modal-footer{display:flex;gap:12px;padding:20px 32px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.modal-secondary-btn{flex:1;background:transparent;border:1px solid var(--border-color);color:var(--text-main);padding:12px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.modal-secondary-btn:hover{background:var(--bg-body)}.modal-primary-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--msu-blue);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.modal-primary-btn:hover{background:var(--msu-blue-hover);transform:translateY(-1px)}@media (max-width: 768px){.profile-page{padding:20px 16px}.profile-header h1{font-size:1.5rem}.profile-section{padding:20px 16px}.form-actions{flex-direction:column}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.degreeworks-modal .modal-header{padding:24px 20px 20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column}.dw-stats-grid{grid-template-columns:repeat(2,1fr)}.dw-header{flex-wrap:wrap}.resync-btn{margin-left:0;margin-top:12px;width:100%;justify-content:center}.manual-form-grid{grid-template-columns:1fr}.sync-option{flex-wrap:wrap}.sync-option .option-content{flex-basis:calc(100% - 64px)}.sync-option .option-arrow{display:none}}.admin-section{background:linear-gradient(135deg,#4285f40d,#34a8530d);border:2px solid var(--msu-blue);border-radius:16px}.admin-section .section-header h3{color:var(--msu-blue);display:flex;align-items:center;gap:10px}.admin-section .section-header h3 svg{color:var(--msu-blue)}.admin-access-content{padding:0 24px 24px}.admin-access-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:20px}.admin-access-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--msu-blue),#3367D6);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4285f44d}.admin-access-btn:hover{background:linear-gradient(135deg,#3367d6,#669df6);transform:translateY(-2px);box-shadow:0 6px 20px #4285f466}.admin-access-btn:active{transform:translateY(0)}.admin-access-btn svg{font-size:1.1rem}.dark .admin-section{background:linear-gradient(135deg,#4285f426,#34a85314);border-color:var(--msu-blue)}.dark .admin-section .section-header h3{color:var(--msu-blue)}.dark .admin-access-btn{background:linear-gradient(135deg,#8ab4f8,#669df6);color:#202124;box-shadow:0 4px 12px #4285f466}.dark .admin-access-btn:hover{background:linear-gradient(135deg,#669df6,#8ab4f8);box-shadow:0 6px 20px #4285f480}.banner-progress{padding:20px 0}.progress-steps{display:flex;flex-direction:column;gap:12px}.progress-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.95rem;color:var(--text-secondary, #666)}.progress-step.completed{color:var(--text-primary, #333)}.progress-step.completed .step-check{color:#34a853;font-size:1.1rem}.progress-step.active{color:var(--msu-blue, #002D72);font-weight:500}.progress-step.active .spinning{animation:spin 1s linear infinite}.banner-success{text-align:center;padding:10px 0}.banner-success .success-header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}.banner-success .success-icon.large{font-size:2.5rem;color:#34a853}.banner-success h4{font-size:1.25rem;color:var(--text-primary, #333);margin:0}.doc-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.doc-viewer{background:#fff;border-radius:16px;width:90%;max-width:1400px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden;animation:slideUp .3s ease;border:1px solid rgba(102,126,234,.3)}.doc-viewer.dark{background:#fff;color:#1a202c}.doc-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#0052cc,#003d99);color:#fff}.doc-viewer.dark .doc-viewer-header{background:linear-gradient(135deg,#0052cc,#003d99);border-bottom:1px solid rgba(255,255,255,.1)}.doc-viewer-header h2{margin:0;font-size:24px;font-weight:600}.doc-close-btn{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.doc-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.doc-viewer-tabs{display:flex;gap:4px;padding:12px 24px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;overflow-x:auto}.doc-viewer.dark .doc-viewer-tabs{background:#252525;border-bottom:1px solid #333}.doc-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:#666;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.doc-tab:hover{background:#667eea1a;color:#667eea}.doc-tab.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0000001a}.doc-viewer.dark .doc-tab.active{background:#1e1e1e;color:#a0a0ff}.doc-viewer-content{flex:1;overflow-y:auto;padding:32px;background:#fff}.doc-viewer.dark .doc-viewer-content{background:#fff}.doc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.doc-viewer.dark .loading-spinner{border-color:#333;border-top-color:#a0a0ff}.markdown-content{max-width:1200px;margin:0 auto;line-height:1.8;font-size:16px}.markdown-content h1{font-size:36px;font-weight:700;margin:32px 0 16px;padding-bottom:12px;border-bottom:2px solid #0052CC;color:#1a202c}.doc-viewer.dark .markdown-content h1{color:#1a202c;border-bottom-color:#0052cc}.markdown-content h2{font-size:28px;font-weight:600;margin:28px 0 14px;color:#2d3748}.doc-viewer.dark .markdown-content h2{color:#2d3748}.markdown-content h3{font-size:22px;font-weight:600;margin:24px 0 12px;color:#4a5568}.doc-viewer.dark .markdown-content h3{color:#4a5568}.markdown-content h4{font-size:18px;font-weight:600;margin:20px 0 10px;color:#4a5568}.doc-viewer.dark .markdown-content h4{color:#4a5568}.markdown-content p{margin:12px 0;color:#2d3748;line-height:1.8}.doc-viewer.dark .markdown-content p{color:#2d3748}.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px;color:#2d3748}.markdown-content li{margin:8px 0;line-height:1.8;color:#2d3748}.markdown-content a{color:#0052cc;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s}.markdown-content a:hover{border-bottom-color:#0052cc}.markdown-content code{background:#edf2f7;padding:3px 8px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:14px;color:#0052cc;border:1px solid #cbd5e0;font-weight:500}.doc-viewer.dark .markdown-content code{background:#edf2f7;color:#0052cc;border:1px solid #cbd5e0}.markdown-content pre{background:#2d3748;padding:20px;border-radius:8px;overflow-x:auto;margin:16px 0;border:1px solid #4a5568}.doc-viewer.dark .markdown-content pre{background:#2d3748;border-color:#4a5568}.markdown-content pre code{background:transparent;border:none;color:#e2e8f0;padding:0}.markdown-content pre code{background:transparent;padding:0;color:inherit}.markdown-content table{width:100%;border-collapse:collapse;margin:20px 0;overflow:hidden;border-radius:8px;box-shadow:0 2px 8px #0000001a}.markdown-content th,.markdown-content td{padding:12px 16px;text-align:left;border:1px solid rgba(255,255,255,.1)}.doc-viewer.dark .markdown-content th,.doc-viewer.dark .markdown-content td{border-color:#ffffff1a}.markdown-content th{background:#0052cc;color:#fff;font-weight:600}.doc-viewer.dark .markdown-content th{background:#0052cc}.markdown-content tr:nth-child(2n){background:#f7fafc}.doc-viewer.dark .markdown-content tr:nth-child(2n){background:#f7fafc}.markdown-content tr,.doc-viewer.dark .markdown-content tr{color:#2d3748}.markdown-content blockquote{border-left:4px solid #667eea;padding-left:16px;margin:16px 0;color:#666;font-style:italic}.doc-viewer.dark .markdown-content blockquote{border-left-color:#a0a0ff;color:#999}.markdown-content hr{border:none;border-top:2px solid #e0e0e0;margin:32px 0}.doc-viewer.dark .markdown-content hr{border-top-color:#333}.markdown-content .mermaid{background:#f8fafc;padding:32px;border-radius:12px;margin:32px 0;text-align:center;overflow-x:auto;border:2px solid #cbd5e0;box-shadow:0 4px 12px #0000000d}.doc-viewer.dark .markdown-content .mermaid{background:#f8fafc;border-color:#cbd5e0}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.doc-viewer-content::-webkit-scrollbar{width:10px}.doc-viewer-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.doc-viewer.dark .doc-viewer-content::-webkit-scrollbar-track{background:#2a2a2a}.doc-viewer-content::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.doc-viewer-content::-webkit-scrollbar-thumb:hover{background:#555}.doc-section{max-width:1000px;margin:0 auto}.doc-section h2{font-size:28px;font-weight:700;color:#1a202c;margin-bottom:12px;padding-bottom:12px;border-bottom:3px solid #0052CC}.doc-section h3{font-size:20px;font-weight:600;color:#2d3748;margin:28px 0 14px}.doc-section h4{font-size:16px;font-weight:600;color:#4a5568;margin:0 0 8px}.doc-section p{color:#4a5568;line-height:1.7;margin-bottom:16px}.doc-intro{font-size:18px;color:#4a5568;margin-bottom:32px}.doc-table{width:100%;border-collapse:collapse;margin:16px 0 32px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.doc-table th{background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;padding:14px 16px;text-align:left;font-weight:600;font-size:14px}.doc-table td{padding:12px 16px;border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px}.doc-table tr:nth-child(2n){background:#f7fafc}.doc-table tr:hover{background:#edf2f7}.doc-table code{background:#edf2f7;padding:4px 8px;border-radius:4px;font-family:Consolas,monospace;font-size:13px;color:#0052cc}.doc-features{list-style:none;padding:0;margin:16px 0 32px}.doc-features li{padding:12px 16px;margin:8px 0;background:#f7fafc;border-radius:8px;border-left:4px solid #0052CC;color:#2d3748}.doc-features li strong{color:#0052cc}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:16px 0 32px}.doc-grid span{background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:12px 16px;border-radius:8px;text-align:center;font-size:14px;color:#2d3748;border:1px solid #e2e8f0;transition:all .2s}.doc-grid span:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#0052cc}.mermaid-diagram{background:linear-gradient(135deg,#f8fafc,#edf2f7);padding:32px;border-radius:12px;margin:24px 0;text-align:center;border:2px solid #e2e8f0;min-height:200px;display:flex;align-items:center;justify-content:center}.mermaid-diagram svg{max-width:100%;height:auto}.workflow-steps{display:flex;flex-direction:column;gap:16px;margin:24px 0}.step{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s}.step:hover{transform:translate(8px);box-shadow:0 4px 12px #00000014;border-color:#0052cc}.step-number{width:40px;height:40px;background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.step-content{flex:1}.step-content h4{margin:0 0 4px;color:#0052cc;font-size:16px;font-weight:700}.step-content p{margin:0;color:#4a5568;font-size:14px;line-height:1.5}.code-block{background:#2d2d2d;color:#e2e8f0;padding:20px;border-radius:8px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;overflow-x:auto;margin:16px 0;white-space:pre}@media (max-width: 768px){.doc-viewer{width:95%;height:95vh}.doc-viewer-header h2{font-size:20px}.doc-viewer-content{padding:16px}.markdown-content{font-size:14px}.markdown-content h1{font-size:28px}.markdown-content h2{font-size:22px}.doc-tab span{display:none}.doc-tab{padding:10px}}.roadmap-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.roadmap-item{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:10px;transition:all .2s}.roadmap-item .item-icon{flex-shrink:0;font-size:18px}.roadmap-item div{font-size:15px;color:#2d3748}.roadmap-item strong{margin-right:6px}.roadmap-item.done{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.roadmap-item.done .item-icon{color:#22c55e}.roadmap-item.done strong{color:#15803d}.roadmap-item.progress{background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #fde047}.roadmap-item.progress .item-icon{color:#eab308}.roadmap-item.progress strong{color:#a16207}.roadmap-item.planned{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.roadmap-item.planned .item-icon{color:#3b82f6}.roadmap-item.planned strong{color:#1d4ed8}.roadmap-item:hover{transform:translate(6px);box-shadow:0 4px 12px #00000014}.phase-desc{color:#64748b;font-size:15px;margin-bottom:20px;font-style:italic}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.metric-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e0;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.metric-label{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.metric-current{font-size:24px;font-weight:700;color:#ef4444}.metric-arrow{font-size:18px;color:#94a3b8}.metric-target{font-size:24px;font-weight:700;color:#22c55e}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.timeline-item{background:linear-gradient(135deg,#f8fafc,#edf2f7);border-radius:12px;padding:20px;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.timeline-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#0052cc,#003d99)}.timeline-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0052cc26;border-color:#0052cc}.timeline-phase{display:inline-block;background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.timeline-content{padding-left:8px}.timeline-title{font-size:18px;font-weight:700;color:#1a202c;margin-bottom:12px}.timeline-bullets{list-style:none;padding:0;margin:0}.timeline-bullets li{position:relative;padding-left:20px;margin:8px 0;color:#4a5568;font-size:14px;line-height:1.5}.timeline-bullets li:before{content:"→";position:absolute;left:0;color:#0052cc;font-weight:700}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:24px 0}.badge-item{background:linear-gradient(135deg,#fefce8,#fef9c3);border:2px solid #fde047;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.badge-item:hover{transform:scale(1.05);box-shadow:0 8px 24px #eab3084d}.badge-icon{font-size:40px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;color:#f59e0b}.badge-name{font-size:16px;font-weight:700;color:#a16207;margin-bottom:6px}.badge-desc{font-size:13px;color:#78716c;line-height:1.4}.crisis-card{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;border-radius:12px;padding:24px;margin:20px 0}.crisis-card h4{color:#dc2626;margin-bottom:12px;display:flex;align-items:center;gap:8px}.crisis-card p{color:#7f1d1d;line-height:1.6}.crisis-card .crisis-action{background:#dc2626;color:#fff;padding:8px 16px;border-radius:6px;display:inline-block;margin-top:12px;font-weight:600;font-size:14px}.crisis-header{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;color:#dc2626;margin-bottom:16px}.crisis-icon{font-size:28px;display:flex;align-items:center;justify-content:center;color:#dc2626}.dashboard-preview{background:linear-gradient(135deg,#2d2d2d,#202124);border-radius:12px;padding:24px;margin:24px 0;color:#fff;position:relative;overflow:hidden}.dashboard-preview:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(0,82,204,.3) 0%,transparent 70%);border-radius:50%}.dashboard-preview h4{color:#93c5fd;margin-bottom:20px;font-size:18px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.stat-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:16px;text-align:center;border:1px solid rgba(255,255,255,.1)}.stat-value{font-size:28px;font-weight:700;color:#60a5fa;margin-bottom:4px}.stat-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.chat-example{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:20px;margin:20px 0}.chat-example .chat-label{font-size:12px;font-weight:600;color:#15803d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.chat-example .user-msg{background:#fff;border:1px solid #bbf7d0;border-radius:12px 12px 12px 4px;padding:12px 16px;margin-bottom:12px;max-width:85%;color:#166534;font-size:14px}.chat-example .bot-msg{background:#22c55e;color:#fff;border-radius:12px 12px 4px;padding:12px 16px;margin-left:auto;max-width:85%;font-size:14px;line-height:1.5}.review-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;margin:16px 0;transition:all .2s}.review-card:hover{border-color:#0052cc;box-shadow:0 4px 16px #0052cc1a}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-title{font-weight:600;color:#1a202c;font-size:15px}.review-source{font-size:13px;color:#64748b;margin-bottom:12px;padding:4px 8px;background:#f1f5f9;border-radius:4px;display:inline-block}.review-content{background:#f8fafc;padding:12px;border-radius:8px;font-size:14px;color:#475569;line-height:1.6;margin-bottom:12px;border-left:3px solid #0052CC}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.review-btn.approve{background:#22c55e;color:#fff}.review-btn.approve:hover{background:#16a34a}.review-btn.reject{background:#ef4444;color:#fff}.review-btn.reject:hover{background:#dc2626}.review-btn.edit{background:#f59e0b;color:#fff}.review-btn.edit:hover{background:#d97706}.priority-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.priority-high{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border:1px solid #fca5a5}.priority-medium{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706;border:1px solid #fcd34d}.priority-low{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a;border:1px solid #86efac}.top-questions{margin:20px 0}.question-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fafc;border-radius:8px;margin:8px 0;border:1px solid #e2e8f0;transition:all .2s}.question-item:hover{background:#f1f5f9;border-color:#cbd5e0}.question-text{font-size:14px;color:#334155;flex:1}.question-count{background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-left:12px}.agent-card{background:linear-gradient(135deg,#f8fafc,#edf2f7);border:2px solid #e2e8f0;border-radius:16px;padding:24px;margin:16px 0;transition:all .3s ease}.agent-card:hover{border-color:#0052cc;box-shadow:0 8px 32px #0052cc1f;transform:translateY(-2px)}.agent-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.agent-icon{width:56px;height:56px;background:linear-gradient(135deg,#0052cc,#003d99);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px}.agent-title{font-size:20px;font-weight:700;color:#1a202c;margin-bottom:4px}.agent-subtitle{font-size:14px;color:#64748b}.agent-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px}.agent-feature{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:8px;font-size:14px;color:#475569;border:1px solid #e2e8f0}.agent-feature-icon{color:#22c55e;font-size:16px}.capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:24px 0}.capability-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;transition:all .2s}.capability-item:hover{box-shadow:0 4px 16px #00000014;border-color:#cbd5e0}.capability-icon{font-size:32px;margin-bottom:12px}.capability-title{font-size:16px;font-weight:600;color:#1a202c;margin-bottom:8px}.capability-desc{font-size:14px;color:#64748b;line-height:1.5}.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.integration-item{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;padding:16px;text-align:center;transition:all .2s}.integration-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.integration-name{font-size:14px;font-weight:600;color:#1e40af;margin-bottom:4px}.integration-status{font-size:12px;color:#3b82f6}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.active{background:#22c55e;box-shadow:0 0 8px #22c55e80}.status-dot.pending{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.status-dot.planned{background:#3b82f6;box-shadow:0 0 8px #3b82f680}.info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;padding:16px 20px;margin:16px 0;display:flex;align-items:flex-start;gap:12px}.info-box-icon{color:#3b82f6;font-size:20px;flex-shrink:0}.info-box-content{color:#1e40af;font-size:14px;line-height:1.6}.warning-box{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:10px;padding:16px 20px;margin:16px 0;display:flex;align-items:flex-start;gap:12px}.warning-box-icon{color:#f59e0b;font-size:20px;flex-shrink:0}.warning-box-content{color:#92400e;font-size:14px;line-height:1.6}.agent-stats-row{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0;padding:20px;background:linear-gradient(135deg,#f8fafc,#edf2f7);border-radius:12px}.agent-stat{text-align:center;flex:1;min-width:120px}.agent-stat-value{font-size:32px;font-weight:700;color:#0052cc;margin-bottom:4px}.agent-stat-label{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.agents-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.hero-stat{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:16px;padding:24px 16px;text-align:center;transition:all .3s ease}.hero-stat:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0052cc26;border-color:#0052cc}.hero-stat-icon{font-size:32px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:#0052cc}.hero-stat-number{font-size:36px;font-weight:800;color:#0052cc;display:block}.hero-stat-label{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.simple-explainer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0;padding:24px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;border:1px solid #93c5fd}.explainer-card{flex:1;text-align:center;padding:16px}.explainer-emoji{font-size:40px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#3b82f6}.explainer-card h4{font-size:16px;font-weight:700;color:#1e40af;margin:0 0 8px}.explainer-card p{font-size:13px;color:#3b82f6;margin:0;line-height:1.4}.explainer-arrow{font-size:28px;color:#3b82f6;font-weight:700}.comparison-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.comparison-card{border-radius:16px;padding:24px}.comparison-card.before{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5}.comparison-card.after{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac}.comparison-header{font-size:18px;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid currentColor}.comparison-card.before .comparison-header{color:#dc2626;border-color:#fca5a5}.comparison-card.after .comparison-header{color:#16a34a;border-color:#86efac}.comparison-card ul{list-style:none;padding:0;margin:0}.comparison-card li{font-size:14px;position:relative;padding:8px 0 8px 24px}.comparison-card.before li:before{content:"✗";position:absolute;left:0;color:#dc2626;font-weight:700}.comparison-card.after li:before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}.agent-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.agent-cat-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease;cursor:pointer}.agent-cat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.cat-icon{font-size:32px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:inherit}.agent-cat-card:nth-child(1) .cat-icon{color:#3b82f6}.agent-cat-card:nth-child(2) .cat-icon{color:#10b981}.agent-cat-card:nth-child(3) .cat-icon{color:#8b5cf6}.agent-cat-card:nth-child(4) .cat-icon{color:#f59e0b}.agent-cat-card:nth-child(5) .cat-icon{color:#ec4899}.agent-cat-card:nth-child(6) .cat-icon{color:#ef4444}.agent-cat-card:nth-child(7) .cat-icon{color:#06b6d4}.agent-cat-card:nth-child(8) .cat-icon{color:#84cc16}.agent-cat-card h4{font-size:16px;font-weight:700;color:#1a202c;margin:0 0 6px}.agent-cat-card p{font-size:12px;color:#64748b;margin:0;line-height:1.4}.timeline-visual{display:flex;align-items:center;gap:0;margin:24px 0;overflow-x:auto;padding:20px 0}.timeline-phase-card{flex:1;min-width:200px;padding:20px;border-radius:12px;text-align:center;position:relative}.timeline-phase-card.phase-1-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6}.timeline-phase-card.phase-2-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.timeline-phase-card.phase-3-card{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981}.timeline-phase-card.phase-4-card{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:2px solid #8b5cf6}.phase-badge{display:inline-block;background:#0000001a;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.timeline-phase-card h4{font-size:18px;font-weight:700;margin:0 0 4px;color:#1a202c}.phase-time{font-size:12px;color:#64748b;display:block;margin-bottom:12px}.phase-features{display:flex;flex-direction:column;gap:6px}.phase-features span{font-size:12px;color:#334155}.timeline-connector{width:40px;height:4px;background:linear-gradient(90deg,#cbd5e0,#94a3b8);flex-shrink:0}.automation-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.automation-stat{background:linear-gradient(135deg,#0052cc,#003d99);border-radius:16px;padding:24px;text-align:center;color:#fff}.auto-icon{font-size:32px;margin-bottom:12px;opacity:.9}.auto-value{display:block;font-size:20px;font-weight:700;margin-bottom:4px}.auto-desc{display:block;font-size:12px;opacity:.8}.feature-showcase{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin:20px 0 32px;padding:24px;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0}.feature-desc p{margin:0 0 16px;color:#4a5568;line-height:1.6}.use-cases{display:flex;flex-direction:column;gap:12px}.use-case{display:flex;gap:12px;padding:12px;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.use-icon{font-size:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#0052cc}.use-case strong{display:block;font-size:14px;color:#1a202c;margin-bottom:4px}.use-case p{margin:0;font-size:13px;color:#64748b;line-height:1.4}.feature-preview{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.preview-header{background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;padding:12px 16px;font-weight:600;font-size:14px}.email-mock{padding:16px}.email-to,.email-subject{font-size:13px;padding:8px 0;border-bottom:1px solid #e2e8f0}.email-to{color:#64748b}.email-subject{color:#1a202c;font-weight:600}.email-body{padding:16px 0;font-size:13px;color:#4a5568;line-height:1.6}.email-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #e2e8f0}.email-btn{padding:8px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.email-btn.send{background:#22c55e;color:#fff}.email-btn.edit{background:#f59e0b;color:#fff}.email-btn.cancel{background:#e2e8f0;color:#64748b}.calendar-mock{padding:12px}.cal-slot{display:flex;justify-content:space-between;align-items:center;padding:12px;margin:8px 0;border-radius:8px;font-size:13px}.cal-slot.available{background:#f0fdf4;border:1px solid #86efac}.cal-slot.booked{background:#fef2f2;border:1px solid #fca5a5;opacity:.6}.cal-slot.preferred{background:#dbeafe;border:2px solid #3b82f6}.slot-time{font-weight:600;color:#1a202c}.slot-status{font-size:12px;color:#16a34a}.cal-slot.booked .slot-status{color:#dc2626}.cal-slot.preferred .slot-status{color:#2563eb;font-weight:600}.notification-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.notif-type{padding:16px;border-radius:10px;text-align:center}.notif-type.urgent{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5}.notif-type.important{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d}.notif-type.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.notif-type.reminder{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.notif-icon{font-size:28px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.notif-type.urgent .notif-icon{color:#dc2626}.notif-type.important .notif-icon{color:#f59e0b}.notif-type.info .notif-icon{color:#3b82f6}.notif-type.reminder .notif-icon{color:#22c55e}.notif-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:6px}.notif-type p{margin:0;font-size:13px;color:#334155}.form-examples{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.form-example{padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.form-icon{font-size:24px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:#0052cc}.form-example strong{display:block;font-size:14px;color:#1a202c;margin-bottom:4px}.form-example p{margin:0;font-size:12px;color:#64748b;line-height:1.4}.mini-agent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.mini-agent{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;text-align:center;transition:all .2s}.mini-agent:hover{border-color:#0052cc;box-shadow:0 4px 16px #0052cc1a;transform:translateY(-2px)}.mini-icon{font-size:32px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#0052cc}.mini-agent h4{font-size:14px;font-weight:700;color:#1a202c;margin:0 0 8px}.mini-agent p{font-size:12px;color:#64748b;margin:0;line-height:1.4}.time-savings{margin:20px 0}.saving-item{margin:16px 0}.task-name{display:block;font-size:14px;font-weight:600;color:#1a202c;margin-bottom:8px}.time-bar{display:flex;border-radius:8px;overflow:hidden;height:36px}.time-before{background:linear-gradient(90deg,#fca5a5,#f87171);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.time-after{background:linear-gradient(90deg,#86efac,#4ade80);color:#166534;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}@media (max-width: 1024px){.agents-hero-stats,.agent-category-grid,.automation-hero,.mini-agent-grid{grid-template-columns:repeat(2,1fr)}.feature-showcase{grid-template-columns:1fr}.simple-explainer{flex-wrap:wrap}.explainer-arrow{display:none}.explainer-card{min-width:45%}}@media (max-width: 768px){.timeline-grid{grid-template-columns:1fr}.badge-grid,.dashboard-stats{grid-template-columns:repeat(2,1fr)}.agent-header{flex-direction:column;text-align:center}.agent-features{grid-template-columns:1fr}.review-actions{flex-direction:column}.review-btn{width:100%;text-align:center}.agents-hero-stats,.comparison-cards,.agent-category-grid{grid-template-columns:1fr}.timeline-visual{flex-direction:column}.timeline-connector{width:4px;height:20px}.automation-hero,.notification-types,.form-examples,.mini-agent-grid{grid-template-columns:1fr}.simple-explainer{flex-direction:column}.explainer-card{width:100%}}.social-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.social-stat{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:16px;padding:24px;text-align:center}.social-icon{font-size:36px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#166534}.social-label{display:block;font-size:18px;font-weight:700;color:#166534;margin-bottom:4px}.social-stat p{margin:0;font-size:13px;color:#15803d}.matching-criteria h4{font-size:15px;margin:16px 0 12px;color:#1a202c}.criteria-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.criteria-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;font-size:13px;color:#334155}.criteria-icon{font-size:16px;display:flex;align-items:center;justify-content:center;color:#0052cc}.buddy-preview{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a;max-width:100%}.buddy-list{padding:12px}.buddy-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px 14px;margin:8px 0;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;transition:all .2s;box-sizing:border-box}.buddy-card:hover{border-color:#0052cc;box-shadow:0 2px 8px #0052cc1a}.buddy-avatar{width:44px;height:44px;min-width:44px;background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.buddy-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.buddy-name{font-weight:600;font-size:14px;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-match{display:inline-flex;align-items:center;font-size:11px;color:#16a34a;font-weight:600;background:#dcfce7;padding:2px 8px;border-radius:10px;width:fit-content}.buddy-courses{display:flex;flex-wrap:wrap;gap:4px}.course-tag{background:#e0e7ff;color:#3730a3;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.connect-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.connect-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #22c55e4d}.group-preview{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.group-list{padding:12px}.group-card{padding:16px;margin:8px 0;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.group-name{font-size:15px;font-weight:700;color:#1a202c;margin-bottom:8px}.group-meta{display:flex;gap:16px;font-size:12px;color:#64748b;margin-bottom:8px}.group-time{font-size:13px;color:#0052cc;font-weight:600;margin-bottom:12px}.join-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;width:100%;transition:all .2s}.join-btn:hover{box-shadow:0 4px 12px #3b82f64d}.mentor-section{margin:20px 0}.mentor-section>p{color:#4a5568;margin-bottom:20px}.mentor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.mentor-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;text-align:center;position:relative;transition:all .3s}.mentor-card:hover{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf626}.mentor-badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase}.mentor-avatar{width:72px;height:72px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;margin:0 auto 16px}.mentor-card h4{font-size:18px;font-weight:700;color:#1a202c;margin:0 0 4px}.mentor-major{font-size:13px;color:#64748b;margin:0 0 12px}.mentor-expertise{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.mentor-expertise span{background:#ede9fe;color:#7c3aed;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.mentor-quote{font-size:13px;color:#64748b;font-style:italic;margin:0 0 16px;line-height:1.5}.request-mentor-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.request-mentor-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #8b5cf64d}.privacy-note{display:flex;align-items:flex-start;gap:16px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px;margin:20px 0}.privacy-icon{font-size:32px;display:flex;align-items:center;justify-content:center;color:#0369a1}.privacy-note strong{display:block;font-size:15px;color:#0369a1;margin-bottom:4px}.privacy-note p{margin:0;font-size:13px;color:#0c4a6e;line-height:1.5}@media (max-width: 1024px){.social-hero{grid-template-columns:repeat(2,1fr)}.mentor-grid{grid-template-columns:1fr}}@media (max-width: 768px){.social-hero,.criteria-grid{grid-template-columns:1fr}.buddy-card{grid-template-columns:40px 1fr auto;gap:10px;padding:10px 12px}.buddy-avatar{width:40px;height:40px;min-width:40px;font-size:12px}.buddy-name{font-size:13px}.connect-btn{padding:6px 12px;font-size:11px}}@media (max-width: 480px){.buddy-card{grid-template-columns:36px 1fr;grid-template-rows:auto auto}.buddy-avatar{grid-row:1 / 3;width:36px;height:36px;min-width:36px;font-size:11px}.buddy-info{grid-column:2;grid-row:1}.connect-btn{grid-column:2;grid-row:2;justify-self:start;margin-top:4px}}.current-stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.stack-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s}.stack-card:hover{border-color:#0052cc;box-shadow:0 8px 24px #0052cc1f}.stack-card.current{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.stack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stack-icon{font-size:28px;color:#0052cc}.stack-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase}.stack-badge.current{background:#22c55e;color:#fff}.stack-card h4{font-size:18px;font-weight:700;color:#1a202c;margin:0 0 8px}.stack-card>p{font-size:13px;color:#64748b;margin:0 0 16px}.stack-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffffb3;border-radius:8px;font-size:13px}.detail-label{color:#64748b;font-weight:500}.detail-value{color:#1a202c;font-weight:600}.detail-value.good{color:#22c55e}.upgrade-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.upgrade-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s}.upgrade-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.upgrade-card.recommended{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.upgrade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.upgrade-header h4{font-size:18px;font-weight:700;color:#1a202c;margin:0}.upgrade-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;background:#e2e8f0;color:#64748b}.upgrade-badge.best{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.upgrade-badge.google{background:linear-gradient(135deg,#4285f4,#1a73e8);color:#fff}.upgrade-desc{font-size:13px;color:#64748b;margin:0 0 16px;line-height:1.5}.upgrade-pricing{background:#f8fafc;border-radius:10px;padding:12px;margin-bottom:16px}.price-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.price-row span{color:#64748b}.price-row strong{color:#1a202c}.upgrade-pros{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.upgrade-pros .pro{display:flex;align-items:center;gap:8px;font-size:13px;color:#16a34a}.monthly-estimate{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;padding:12px;text-align:center}.monthly-estimate .label{display:block;font-size:11px;color:#64748b;text-transform:uppercase;margin-bottom:4px}.monthly-estimate .cost{display:block;font-size:24px;font-weight:700;color:#0052cc}.monthly-estimate .usage{display:block;font-size:11px;color:#64748b;margin-top:4px}.agent-explanation{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.explanation-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.explanation-card h4{font-size:16px;font-weight:700;color:#1a202c;margin:0 0 16px;display:flex;align-items:center}.explanation-card ul{list-style:none;padding:0;margin:0}.explanation-card li{padding:8px 0;font-size:14px;color:#4a5568;border-bottom:1px solid #e2e8f0}.explanation-card li:last-child{border-bottom:none}.explanation-card p{font-size:14px;color:#4a5568;margin:0 0 12px}.explanation-card .recommendation{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:12px;border-radius:8px;margin-top:16px;color:#92400e}.api-table .status-badge{padding:4px 10px;border-radius:16px;font-size:11px;font-weight:600}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.recommended{background:#dbeafe;color:#2563eb}.status-badge.ok{background:#f1f5f9;color:#64748b}.action-cards{display:flex;flex-direction:column;gap:16px;margin:24px 0}.action-card{display:flex;gap:20px;padding:24px;background:#fff;border-radius:16px;border:2px solid #e2e8f0;transition:all .2s}.action-card:hover{border-color:#0052cc;box-shadow:0 4px 16px #0052cc1a}.action-card.priority-1{border-left:6px solid #22c55e}.action-card.priority-2{border-left:6px solid #3b82f6}.action-card.priority-3{border-left:6px solid #f59e0b}.action-number{width:48px;height:48px;background:linear-gradient(135deg,#0052cc,#003d99);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.action-content h4{font-size:18px;font-weight:700;color:#1a202c;margin:0 0 8px}.action-content p{font-size:14px;color:#4a5568;margin:0 0 12px;line-height:1.6}.action-cost{background:#f0fdf4;padding:10px 16px;border-radius:8px;font-size:14px;color:#166534}.budget-summary{display:flex;align-items:center;gap:24px;margin:24px 0;padding:24px;background:#f8fafc;border-radius:16px}.budget-current,.budget-upgraded{flex:1;padding:20px;background:#fff;border-radius:12px;border:2px solid #e2e8f0}.budget-upgraded{border-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.budget-current h4,.budget-upgraded h4{font-size:16px;font-weight:700;color:#1a202c;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.budget-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:#4a5568}.budget-row.highlight{background:#dcfce7;padding:8px 12px;border-radius:6px;color:#166534;font-weight:600}.budget-total{display:flex;justify-content:space-between;padding:12px 0;margin-top:12px;border-top:2px solid #e2e8f0;font-size:16px;font-weight:700;color:#0052cc}.budget-arrow{font-size:32px;color:#22c55e;font-weight:700}.professor-note{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-radius:16px;padding:24px;margin:24px 0}.professor-note h4{font-size:18px;font-weight:700;color:#1e40af;margin:0 0 16px}.professor-note ol{margin:0;padding-left:24px}.professor-note li{padding:10px 0;font-size:15px;color:#1e40af;border-bottom:1px solid rgba(147,197,253,.5)}.professor-note li:last-child{border-bottom:none}.professor-note strong{color:#1e3a8a}@media (max-width: 1024px){.current-stack-grid,.upgrade-options,.agent-explanation{grid-template-columns:1fr}.budget-summary{flex-direction:column}.budget-arrow{transform:rotate(90deg)}}@media (max-width: 768px){.action-card{flex-direction:column;text-align:center}.action-number{margin:0 auto}}.AdminDashboard{background:var(--bg-card);border-radius:16px;padding:32px;margin:24px auto;max-width:1200px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.AdminDashboard .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.header-left{display:flex;align-items:center;gap:16px}.back-home-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;background:var(--msu-blue);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-home-btn:hover{background:var(--msu-blue-hover);transform:translate(4px);box-shadow:var(--shadow-md)}.back-home-btn svg{transition:transform .2s ease}.back-home-btn:hover svg{transform:translate(4px)}body.dark .back-home-btn{background:#8ab4f8;color:#202124}body.dark .back-home-btn:hover{background:#aecbfa}.AdminDashboard .page-icon{font-size:2rem;color:var(--msu-blue)}body.dark .AdminDashboard .page-icon{color:#8ab4f8}.AdminDashboard .page-title{font-size:1.75rem;font-weight:700;color:var(--text-main);margin:0}.AdminDashboard p{color:var(--text-secondary);margin-bottom:20px}.admin-tabs{display:flex;gap:8px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.admin-tab{display:flex;align-items:center;gap:8px;padding:12px 18px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.admin-tab:hover{background:var(--bg-card-hover);border-color:var(--msu-blue);color:var(--text-main)}.admin-tab.active{background:var(--msu-blue);border-color:var(--msu-blue);color:#fff}body.dark .admin-tab.active{background:#8ab4f8;border-color:#8ab4f8;color:#202124}.ticket-badge{background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:12px;margin-left:6px}.admin-actions{display:flex;gap:12px;margin-bottom:28px}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--msu-blue);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--msu-blue-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}body.dark .action-btn{background:#8ab4f8;color:#202124}body.dark .action-btn:hover{background:#aecbfa}.AdminDashboard h2{font-size:1.25rem;font-weight:600;color:var(--text-main);margin-bottom:16px}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.admin-form input{padding:12px 16px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:10px;font-size:.9rem;color:var(--text-main);transition:all .2s ease}.admin-form input::placeholder{color:var(--text-secondary)}.admin-form input:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 3px #4285f41a}body.dark .admin-form input:focus{border-color:#8ab4f8;box-shadow:0 0 0 3px #ffb7031a}.admin-table{width:100%;border-collapse:collapse;margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.admin-table th{background:var(--bg-body);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.admin-table td{color:var(--text-main);font-size:.9rem}.admin-table tr:hover td{background:var(--bg-card-hover)}.admin-table button{background:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.admin-table button:hover{background:#dc2626;transform:translateY(-1px)}.tickets-section{animation:fadeIn .3s ease}.ticket-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.stat-card{background:var(--bg-body);border:2px solid var(--border-color);border-radius:16px;padding:24px;text-align:center;transition:all .2s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--msu-blue)}body.dark .stat-card:hover{border-color:#8ab4f8}.stat-card .stat-icon{font-size:1.5rem;margin-bottom:12px;opacity:.6}.stat-card.total .stat-icon{color:var(--text-secondary)}.stat-card.open .stat-icon{color:#f59e0b}.stat-card.progress .stat-icon{color:var(--msu-blue)}.stat-card.resolved .stat-icon{color:#22c55e}body.dark .stat-card.progress .stat-icon{color:#3b82f6}.stat-card .stat-number{display:block;font-size:2.5rem;font-weight:800;margin-bottom:8px}.stat-card .stat-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-card.total .stat-number{color:var(--text-main)}.stat-card.open .stat-number{color:#f59e0b}.stat-card.progress .stat-number{color:var(--msu-blue)}.stat-card.resolved .stat-number{color:#22c55e}body.dark .stat-card.progress .stat-number{color:#3b82f6}.ticket-filters{display:flex;gap:10px;margin-bottom:24px}.filter-btn{padding:10px 20px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:capitalize}.filter-btn:hover{background:var(--bg-card-hover);border-color:var(--msu-blue);color:var(--text-main)}.filter-btn.active{background:var(--msu-blue);border-color:var(--msu-blue);color:#fff}body.dark .filter-btn.active{background:#8ab4f8;border-color:#8ab4f8;color:#202124}.tickets-list{display:grid;gap:16px}.tickets-loading,.tickets-empty{text-align:center;padding:60px;color:var(--text-secondary);font-size:1rem;background:var(--bg-body);border-radius:12px;border:2px dashed var(--border-color)}.ticket-card{background:var(--bg-body);border:2px solid var(--border-color);border-radius:14px;padding:24px;transition:all .2s ease}.ticket-card:hover{border-color:var(--msu-blue);box-shadow:var(--shadow-md)}body.dark .ticket-card:hover{border-color:#8ab4f8}.ticket-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ticket-category{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;text-transform:capitalize}.ticket-status{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:capitalize}.status-open{background:#f59e0b26;color:#d97706}.status-progress{background:#3b82f626;color:#2563eb}.status-resolved{background:#22c55e26;color:#16a34a}.status-closed{background:#64748b26;color:#64748b}.ticket-subject{margin:0 0 10px;font-size:1.15rem;font-weight:600;color:var(--text-main)}.ticket-preview{margin:0 0 18px;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.ticket-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border-color)}.ticket-meta{display:flex;align-items:center;gap:16px}.ticket-user,.ticket-date{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.8rem}.ticket-actions{display:flex;gap:10px}.ticket-actions button{background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;padding:10px 12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ticket-actions .view-btn:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.ticket-actions .progress-btn:hover{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.ticket-actions .resolve-btn:hover{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.ticket-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.ticket-detail-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border-color)}.modal-title-row{display:flex;align-items:center;gap:14px;color:var(--text-secondary)}.modal-title-row h2{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-main)}.modal-close{background:var(--bg-body);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:10px;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-card-hover);border-color:var(--msu-blue);color:var(--text-main)}.modal-body{padding:28px}.modal-meta{display:flex;align-items:center;gap:20px;margin-bottom:28px}.modal-meta .ticket-date,.modal-meta .ticket-user{font-size:.85rem}.modal-description{margin-bottom:28px}.modal-description h4,.modal-attachment h4,.modal-actions h4{margin:0 0 12px;font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.modal-description p{margin:0;color:var(--text-main);font-size:.95rem;line-height:1.7;white-space:pre-wrap;background:var(--bg-body);padding:16px;border-radius:10px;border:1px solid var(--border-color)}.modal-attachment{margin-bottom:28px;padding:16px 20px;background:var(--bg-body);border-radius:10px;border:1px solid var(--border-color)}.modal-attachment span{color:var(--text-main);font-size:.9rem}.modal-actions{padding-top:20px;border-top:1px solid var(--border-color)}.status-buttons{display:flex;gap:12px}.status-btn{flex:1;padding:14px 18px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid var(--border-color);background:var(--bg-body);color:var(--text-secondary)}.status-btn:hover{background:var(--bg-card-hover);border-color:var(--msu-blue);color:var(--text-main)}.status-btn.open.active{background:#f59e0b26;border-color:#f59e0b;color:#d97706}.status-btn.progress.active{background:#3b82f626;border-color:#3b82f6;color:#2563eb}.status-btn.resolved.active{background:#22c55e26;border-color:#22c55e;color:#16a34a}@media (max-width: 900px){.ticket-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.AdminDashboard{margin:16px;padding:20px}.admin-tabs{flex-wrap:wrap}.admin-tab{flex:1;min-width:100px;justify-content:center;padding:10px 12px;font-size:.8rem}.admin-tab span{display:none}.ticket-filters{flex-wrap:wrap}.status-buttons{flex-direction:column}.admin-form{grid-template-columns:1fr}.ticket-stats{grid-template-columns:1fr 1fr}}.tab-content{animation:fadeIn .3s ease}.search-filter-bar{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:12px;flex:1;min-width:250px;padding:12px 16px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:10px;transition:all .2s ease}.search-box:focus-within{border-color:var(--msu-blue)}body.dark .search-box:focus-within{border-color:#8ab4f8}.search-box svg{color:var(--text-secondary)}.search-box input{flex:1;border:none;background:transparent;font-size:.9rem;color:var(--text-main);outline:none}.search-box input::placeholder{color:var(--text-secondary)}.filter-buttons{display:flex;gap:8px}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.role-badge.student{background:#3b82f626;color:#2563eb}.role-badge.admin{background:#a855f726;color:#9333ea}.role-badge.disabled{background:#64748b29;color:#64748b}.user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-table .user-status-btn,.user-status-btn{border:1px solid var(--border-color);border-radius:7px;padding:7px 12px;background:var(--bg-card);color:var(--text-secondary);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.admin-table .user-status-btn.disable,.user-status-btn.disable{background:#dc2626;color:#fff;border-color:#dc2626}.admin-table .user-status-btn.disable:hover,.user-status-btn.disable:hover{background:#b91c1c;border-color:#b91c1c}.admin-table .user-status-btn.enable,.user-status-btn.enable{background:#16a34a;color:#fff;border-color:#16a34a}.admin-table .user-status-btn.enable:hover,.user-status-btn.enable:hover{background:#15803d;border-color:#15803d}.role-select{padding:6px 12px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:8px;font-size:.85rem;color:var(--text-main);cursor:pointer;transition:all .2s ease}.role-select:hover{border-color:var(--msu-blue)}.role-select:focus{outline:none;border-color:var(--msu-blue)}.connected{color:#22c55e}.table-container{overflow-x:auto}.loading-state,.empty-state{text-align:center;padding:60px;color:var(--text-secondary);font-size:1rem;background:var(--bg-body);border-radius:12px;border:2px dashed var(--border-color)}.action-cell{display:flex;gap:10px}.edit-btn-labeled,.delete-btn-labeled{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:600}.edit-btn-labeled{background:#3b82f61a;border:2px solid #3B82F6;color:#3b82f6}.edit-btn-labeled:hover{background:#3b82f6;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.delete-btn-labeled{background:#ef44441a;border:2px solid #EF4444;color:#ef4444}.delete-btn-labeled:hover{background:#ef4444;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.message{margin-top:16px;padding:12px 16px;background:var(--bg-body);border-radius:8px;color:var(--text-main);font-size:.9rem}.kb-header{margin-bottom:16px}.kb-header h2{margin-bottom:8px}.kb-header p{margin:0}.kb-search-bar{margin-bottom:20px}.search-box-with-voice{display:flex;align-items:center;gap:12px}.kb-search-bar .search-box{position:relative;flex:1;max-width:500px}.voice-search-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--msu-blue);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.voice-search-btn:hover{background:var(--msu-blue-hover);transform:scale(1.02)}body.dark .voice-search-btn{background:#8ab4f8;color:#202124}body.dark .voice-search-btn:hover{background:#aecbfa}.voice-search-btn.listening{background:#ef4444;animation:pulse-bg 1.5s ease-in-out infinite}body.dark .voice-search-btn.listening{background:#ef4444;color:#fff}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.8}}.voice-listening-indicator{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;background:#ef44441a;border:2px solid #EF4444;border-radius:10px;color:#ef4444;font-size:.9rem;font-weight:500}.pulse-dot{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:pulse-dot 1s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:var(--bg-card-hover);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.clear-search:hover{background:var(--text-secondary);color:#fff}.kb-search-results{background:var(--bg-body);border:2px solid var(--msu-blue);border-radius:12px;padding:16px;margin-bottom:20px;max-height:300px;overflow-y:auto}body.dark .kb-search-results{border-color:#8ab4f8}.kb-search-results h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-main)}.kb-search-results h3 strong{color:var(--msu-blue)}body.dark .kb-search-results h3 strong{color:#8ab4f8}.search-hint{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary)}.result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.result-match-num{font-size:.7rem;font-weight:600;padding:3px 8px;background:var(--bg-card-hover);border-radius:4px;color:var(--text-secondary)}.search-result-item{padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s ease}.search-result-item:hover{border-color:var(--msu-blue);transform:translate(4px)}body.dark .search-result-item:hover{border-color:#8ab4f8}.search-result-item:last-child{margin-bottom:0}.result-filename{display:block;font-size:.85rem;font-weight:600;color:var(--msu-blue);margin-bottom:6px}body.dark .result-filename{color:#8ab4f8}.result-match{display:block;font-size:.8rem;color:var(--text-secondary);font-family:Monaco,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.result-match mark{background:#ffb70366;color:var(--text-main);padding:1px 4px;border-radius:3px}.kb-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:500px}.kb-layout.with-matches{grid-template-columns:220px 220px 1fr}.kb-search-summary{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #F59E0B;border-radius:10px;padding:12px 20px;margin-bottom:16px}body.dark .kb-search-summary{background:linear-gradient(135deg,#78350f,#92400e);border-color:#f59e0b}.search-summary-text{font-size:.9rem;color:#92400e}body.dark .search-summary-text{color:#fef3c7}.clear-search-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #D97706;border-radius:8px;color:#92400e;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}body.dark .clear-search-btn{background:#2d2d2d;border-color:#f59e0b;color:#fde68a}.clear-search-btn:hover{background:#fef3c7}.kb-matched-files{background:linear-gradient(180deg,#fef9c3,#fef3c7);border:2px solid #F59E0B;border-radius:12px;padding:16px;overflow-y:auto}body.dark .kb-matched-files{background:linear-gradient(180deg,#422006,#78350f);border-color:#f59e0b}.kb-matched-files h3{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}body.dark .kb-matched-files h3{color:#fde68a}.matched-file-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:8px;background:#fff9;border:1px solid transparent}body.dark .matched-file-item{background:#0003}.matched-file-item:hover{background:#fff;border-color:#f59e0b}body.dark .matched-file-item:hover{background:#f59e0b33}.matched-file-item.active{background:#f59e0b;color:#fff;border-color:#d97706}body.dark .matched-file-item.active{background:#f59e0b;color:#2d2d2d}.matched-filename{font-size:.85rem;font-weight:600;word-break:break-all}.match-badge{font-size:.75rem;font-weight:500;background:#ef4444;color:#fff;padding:2px 8px;border-radius:12px;width:fit-content}.matched-file-item.active .match-badge{background:#fff;color:#ef4444}.kb-sidebar{background:var(--bg-body);border:2px solid var(--border-color);border-radius:12px;padding:16px;overflow-y:auto}.kb-sidebar h3{font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}.kb-file-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.kb-file-item:hover{background:var(--bg-card-hover)}.kb-file-item.active{background:var(--msu-blue);color:#fff}body.dark .kb-file-item.active{background:#8ab4f8;color:#202124}.kb-filename{font-size:.8rem;font-weight:500;word-break:break-word;overflow-wrap:break-word;line-height:1.3}.kb-filesize{font-size:.75rem;opacity:.7;white-space:nowrap;margin-left:8px}.kb-editor{background:var(--bg-body);border:2px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column}.kb-editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.kb-editor-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-main)}.kb-editor-actions{display:flex;gap:6px;flex-shrink:0}.kb-editor-container{position:relative;flex:1;display:flex;min-height:400px}.kb-highlight-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;color:transparent;white-space:pre-wrap;word-wrap:break-word;overflow:auto;pointer-events:none;z-index:1}.kb-textarea{position:relative;flex:1;width:100%;padding:20px;background:var(--bg-body);border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;color:var(--text-main);resize:none;outline:none;z-index:2}.kb-textarea.with-highlights{background:transparent;caret-color:var(--text-main)}.highlight-match{background:#fbbf24!important;color:#000!important;padding:2px 0;border-radius:3px}.highlight-match.active-match{background:#f97316!important;outline:2px solid #EA580C;outline-offset:1px}body.dark .highlight-match{background:#f59e0b!important;color:#000!important}body.dark .highlight-match.active-match{background:#f97316!important;outline-color:#ea580c}.kb-highlight-backdrop .highlight-match{color:transparent!important}.kb-search-results mark,.result-match mark{background:#fbbf24;color:#2d2d2d;padding:1px 4px;border-radius:3px;font-weight:600}body.dark .kb-search-results mark,body.dark .result-match mark{background:#f59e0b}.kb-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:1rem}.find-replace-toolbar{position:relative;background:var(--bg-page);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin:0 0 12px;display:flex;flex-direction:column;gap:10px}.find-replace-row{display:flex;align-items:center;gap:10px}.find-replace-row label{font-size:.85rem;font-weight:600;color:var(--text-secondary);min-width:60px}.find-replace-row input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-main);max-width:300px}.find-replace-row input:focus{outline:none;border-color:var(--msu-blue);box-shadow:0 0 0 3px #002f6c1a}.match-counter{font-size:.8rem;color:var(--text-secondary);min-width:80px;text-align:center}.find-replace-row button{padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-main);cursor:pointer;font-size:.85rem;transition:all .2s ease}.find-replace-row button:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--msu-blue)}.find-replace-row button:disabled{opacity:.5;cursor:not-allowed}.replace-btn,.replace-all-btn{background:var(--msu-blue)!important;color:#fff!important;border:none!important;font-weight:500}.replace-btn:hover:not(:disabled),.replace-all-btn:hover:not(:disabled){background:var(--msu-blue-hover)!important}.close-find-replace{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-find-replace:hover{background:var(--bg-card-hover);color:var(--text-main)}.action-btn.active{background:var(--msu-blue)!important}.action-btn.save-btn{background:#10b981}.action-btn.save-btn:hover{background:#059669}.edit-match-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:6px 12px;background:var(--msu-blue);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;opacity:0;transition:all .2s ease}.search-result-item{position:relative}.search-result-item:hover .edit-match-btn{opacity:1}.edit-match-btn:hover{background:var(--msu-blue-hover)}.action-btn.secondary{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-main)}.action-btn.secondary:hover{background:var(--bg-card-hover);border-color:var(--msu-blue)}.action-btn.danger{background:#ef4444}.action-btn.danger:hover{background:#dc2626}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.system-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.system-header h2{margin:0}.health-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.health-card{display:flex;align-items:flex-start;gap:16px;padding:24px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:14px;transition:all .2s ease}.health-card.healthy{border-color:#22c55e}.health-card.warning{border-color:#f59e0b}.health-card.error{border-color:#ef4444}.health-card .health-icon{font-size:2rem;padding:12px;border-radius:12px}.health-card.healthy .health-icon{background:#22c55e26;color:#22c55e}.health-card.warning .health-icon{background:#f59e0b26;color:#f59e0b}.health-card.error .health-icon{background:#ef444426;color:#ef4444}.health-info{flex:1}.health-info h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-main)}.health-info .health-status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;margin-bottom:8px}.health-card.healthy .health-status{background:#22c55e26;color:#16a34a}.health-card.warning .health-status{background:#f59e0b26;color:#d97706}.health-card.error .health-status{background:#ef444426;color:#dc2626}.health-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.health-info .vector-count{margin-top:8px;font-weight:600;color:var(--text-main)}.schedule-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:32px}.schedule-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) auto auto;gap:12px;align-items:end}.schedule-controls label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:.78rem;font-weight:700}.schedule-controls input{min-height:40px;padding:9px 11px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-body);color:var(--text-main)}.schedule-checkbox{flex-direction:row!important;align-items:center!important;padding-bottom:9px}.schedule-checkbox input{min-height:auto}.schedule-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}.schedule-help{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(44,74,124,.16);border-radius:10px;background:#2c4a7c0f;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.schedule-status-card{padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-body)}.schedule-status-card.fresh{border-color:#22c55e47}.schedule-status-card.stale{border-color:#f59e0b59}.schedule-status-card div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.schedule-status-card strong{color:var(--text-main)}.schedule-status-card span,.schedule-status-card small{display:block;color:var(--text-secondary);font-size:.76rem}.schedule-status-card p{margin:8px 0 4px;color:var(--text-main);font-weight:700}.schedule-subjects{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:6px;margin-top:10px}.schedule-subjects span{padding:3px 7px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.72rem}.schedule-errors{display:grid;gap:6px;margin-top:12px;padding:10px 12px;border:1px solid rgba(220,38,38,.22);border-radius:10px;background:#dc262614;color:var(--danger, #dc2626);font-size:.78rem}.schedule-errors strong{color:var(--danger, #dc2626)}.system-actions{padding-top:24px;border-top:1px solid var(--border-color)}.system-actions h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-main)}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.analytics-section{margin-top:32px;padding:24px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:14px}.analytics-section h3{margin:0 0 24px;font-size:1rem;font-weight:600;color:var(--text-main)}.chart-container{display:flex;align-items:flex-end;justify-content:space-around;gap:16px;height:200px;padding:20px 0}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.chart-bar{width:50px;background:linear-gradient(180deg,var(--msu-blue) 0%,rgba(66,133,244,.7) 100%);border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;min-height:20px;transition:all .3s ease}body.dark .chart-bar{background:linear-gradient(180deg,#8ab4f8,#8ab4f8b3)}.chart-bar:hover{transform:scaleY(1.05)}.chart-value{font-size:.85rem;font-weight:700;color:#fff}body.dark .chart-value{color:#202124}.chart-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.edit-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-group input{padding:12px 16px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:10px;font-size:.9rem;color:var(--text-main);transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--msu-blue)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}@media (max-width: 1100px){.kb-layout.with-matches{grid-template-columns:200px 1fr}.kb-layout.with-matches .kb-sidebar{display:none}}@media (max-width: 900px){.kb-layout,.kb-layout.with-matches{grid-template-columns:1fr}.kb-sidebar,.kb-matched-files{max-height:200px}.kb-search-summary{flex-direction:column;gap:12px;text-align:center}.health-cards,.schedule-controls{grid-template-columns:1fr}.chart-container{overflow-x:auto}.chart-bar{width:40px}.find-replace-toolbar{padding:10px 12px}.find-replace-row{flex-wrap:wrap}.find-replace-row input{max-width:100%}}@media (max-width: 600px){.search-filter-bar{flex-direction:column;align-items:stretch}.search-box{min-width:auto}.filter-buttons{justify-content:center}}.docs-welcome{display:flex;flex-direction:column;align-items:center;padding:40px 20px;max-width:1200px;margin:0 auto}.docs-header{text-align:center;margin-bottom:48px}.docs-icon{color:#0052cc;margin-bottom:16px}.docs-header h2{font-size:32px;font-weight:700;color:#e2e8f0;margin:0 0 12px}.docs-header p{font-size:16px;color:#94a3b8;margin:0}.docs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;width:100%}.doc-card{background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:32px 24px;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.doc-card:hover{background:#4285f41a;border-color:#0052cc;transform:translateY(-4px);box-shadow:0 8px 24px #4285f433}.doc-card svg{color:#0052cc;transition:transform .3s ease}.doc-card:hover svg{transform:scale(1.1)}.doc-card h3{font-size:20px;font-weight:600;color:#e2e8f0;margin:0}.doc-card p{font-size:14px;color:#94a3b8;margin:0;line-height:1.6}.admin-footer{position:fixed;bottom:8px;right:8px;padding:4px 6px;display:flex;gap:6px;background:transparent;border:none;box-shadow:none;z-index:50;opacity:.4;transition:opacity .3s ease}.admin-footer:hover{opacity:1}.footer-icon-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;transition:all .2s ease;font-size:10px;font-weight:400;box-shadow:none}.footer-icon-btn span{font-size:9px;text-transform:uppercase;letter-spacing:.5px}.footer-icon-btn svg{width:12px;height:12px;transition:transform .2s ease}.footer-icon-btn:hover{background:#0000000d;color:#6b7280;transform:none;box-shadow:none}.footer-icon-btn:hover svg{transform:scale(1.1)}body.dark .admin-footer{opacity:.3}body.dark .admin-footer:hover{opacity:.9}body.dark .footer-icon-btn{color:#6b7280}body.dark .footer-icon-btn:hover{background:#ffffff0d;color:#9ca3af}.overview-section{margin-bottom:28px}.overview-section h3{font-size:1rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}.overview-actions{display:flex;gap:12px;flex-wrap:wrap}.kb-stats-row{display:flex;gap:20px;margin-bottom:20px}.kb-stat-item{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--bg-body);border:2px solid var(--border-color);border-radius:12px;min-width:100px}.kb-stat-item.compact{padding:10px 16px;min-width:70px}.kb-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.kb-stat-item.compact .kb-stat-value{font-size:1.1rem}.kb-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px}.kb-drop-zone{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;margin-bottom:20px;background:var(--bg-body);border:2px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.9rem;transition:all .2s ease}.kb-drop-zone.active{border-color:var(--msu-blue);background:#4285f414;color:var(--msu-blue)}body.dark .kb-drop-zone.active{border-color:#8ab4f8;background:#8ab4f81a;color:#8ab4f8}.drop-hint{font-size:.75rem;opacity:.6}.cache-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.cache-tier-card{background:var(--bg-body);border:2px solid var(--border-color);border-radius:14px;padding:20px}.cache-tier-card h4{margin:0 0 16px;font-size:.95rem;font-weight:700;color:var(--text-main)}.cache-stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.cache-stat-row:last-child{border-bottom:none}.cache-stat-row span{font-size:.85rem;color:var(--text-secondary)}.cache-stat-row strong{font-size:.9rem;color:var(--text-main)}.kb-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.kb-icon-btn:hover{background:var(--bg-card-hover);border-color:var(--msu-blue);color:var(--msu-blue)}body.dark .kb-icon-btn:hover{border-color:#8ab4f8;color:#8ab4f8}.kb-icon-btn.active{background:var(--msu-blue);border-color:var(--msu-blue);color:#fff}body.dark .kb-icon-btn.active{background:#8ab4f8;border-color:#8ab4f8;color:#202124}.kb-icon-btn.save{background:#10b981;border-color:#10b981;color:#fff}.kb-icon-btn.save:hover{background:#059669;border-color:#059669}.kb-icon-btn.danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.kb-icon-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.kb-stats-row{flex-wrap:wrap;gap:12px}.overview-actions{flex-direction:column}.cache-stats-grid{grid-template-columns:1fr}.kb-drop-zone{flex-direction:column;text-align:center}}.satisfaction-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:24px}.satisfaction-card h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-main)}.satisfaction-bar-container{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden;position:relative}.satisfaction-bar{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:12px;transition:width .5s ease}.satisfaction-percent{display:block;margin-top:12px;font-size:2rem;font-weight:700;color:#22c55e;text-align:center}.feedback-reports-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px}.feedback-reports-section h3{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:1.1rem;font-weight:600;color:var(--text-main)}.feedback-list{display:flex;flex-direction:column;gap:16px}.feedback-card{background:var(--bg-body);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .2s ease}.feedback-card:hover{border-color:var(--msu-blue);box-shadow:var(--shadow-md)}.feedback-card.report{border-left:4px solid #f59e0b}.feedback-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.feedback-type-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.feedback-type-badge.report{background:#f59e0b1a;color:#d97706}.feedback-type-badge.helpful{background:#22c55e1a;color:#16a34a}.feedback-type-badge.not-helpful{background:#ef44441a;color:#dc2626}.feedback-date{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.feedback-message{margin-bottom:12px}.feedback-message strong{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:6px}.feedback-message p{margin:0;font-size:.9rem;color:var(--text-main);line-height:1.5;background:#4285f408;padding:10px 12px;border-radius:8px;border-left:3px solid var(--msu-blue)}.feedback-details{padding-top:12px;border-top:1px solid var(--border-color)}.feedback-details strong{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:6px}.feedback-details p{margin:0;font-size:.9rem;color:var(--text-main);line-height:1.5;background:#f59e0b0d;padding:10px 12px;border-radius:8px;border-left:3px solid #f59e0b}body.dark .satisfaction-bar-container{background:#374151}body.dark .feedback-card{background:#2d2d2d}body.dark .feedback-message p{background:#8ab4f80d;border-left-color:#8ab4f8}body.dark .feedback-details p{background:#f59e0b1a}.guest-chat-main{display:flex;flex-direction:column;height:calc(100vh - 70px);background:var(--bg-body);overflow:hidden;width:100%;flex:1;position:relative}.guest-trial-bar{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:10px 24px;flex-shrink:0;transition:all .3s ease}.guest-trial-bar.normal{background:var(--bg-card);border-bottom-color:var(--border-color)}.guest-trial-bar.warning{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border-bottom-color:#ffc10766}.guest-trial-bar.critical{background:linear-gradient(135deg,#dc35451a,#dc35450d);border-bottom-color:#dc354566;animation:pulse-critical 2s infinite}@keyframes pulse-critical{0%,to{background:linear-gradient(135deg,#dc35451a,#dc35450d)}50%{background:linear-gradient(135deg,#dc354526,#dc354514)}}.guest-trial-bar.expired{background:linear-gradient(135deg,#4285f4,#669df6);border-bottom:none}.guest-trial-bar.expired .trial-text{color:#fff}.trial-bar-content{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:.9rem}.timer-display{display:flex;align-items:center;gap:6px}.timer-icon{color:var(--msu-blue);font-size:1rem}.guest-trial-bar.warning .timer-icon{color:#d4a106}.guest-trial-bar.critical .timer-icon{color:#dc3545;animation:shake .5s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.timer-countdown{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-weight:700;font-size:1rem;color:var(--msu-blue);min-width:48px}.guest-trial-bar.warning .timer-countdown{color:#d4a106}.guest-trial-bar.critical .timer-countdown{color:#dc3545}.timer-label{color:var(--text-secondary);font-size:.85rem}.trial-text{color:var(--text-main)}.trial-text strong{color:var(--msu-blue);font-weight:700}.guest-trial-bar.warning .trial-text strong{color:#d4a106}.guest-trial-bar.critical .trial-text strong{color:#dc3545}.guest-trial-bar.expired .trial-text strong{color:#fff}.trial-divider{color:var(--text-secondary);opacity:.5}.trial-link{background:none;border:none;color:var(--msu-blue);font-weight:600;cursor:pointer;font-size:inherit;padding:0;transition:all .2s}.trial-link:hover{color:#4285f4;text-decoration:underline}.guest-trial-bar.warning .trial-link{color:#d4a106}.guest-trial-bar.warning .trial-link:hover{color:#b8860b}.guest-trial-bar.critical .trial-link{color:#dc3545}.guest-trial-bar.critical .trial-link:hover{color:#c82333}.trial-cta{background:#ff6b00;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:8px}.trial-cta:hover{background:#e55c00;transform:translateY(-1px)}.guest-chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px 24px 24px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth;width:100%;max-width:100%}.guest-welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;max-width:800px;margin:0 auto;width:100%;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.guest-welcome-logo{width:100px;height:100px;margin-bottom:32px;border-radius:24px;box-shadow:0 8px 24px #4285f433,0 0 0 4px #4285f41a;transition:transform .3s ease,box-shadow .3s ease;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.guest-welcome-logo:hover{transform:scale(1.05);box-shadow:0 12px 32px #4285f440,0 0 0 6px #4285f426}.guest-welcome-title{font-size:2.5rem;font-weight:800;margin-bottom:12px;letter-spacing:-.03em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.guest-welcome-subtitle{font-size:1.15rem;color:var(--text-secondary);margin-bottom:40px;font-weight:400;max-width:500px;line-height:1.6}.guest-suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:24px;max-width:720px;width:100%;padding:0 16px}@media (max-width: 600px){.guest-suggestions{grid-template-columns:1fr}}.guest-suggestion-btn{padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--border-color);border-radius:10px;color:var(--text-main);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;text-align:left;line-height:1.4}.guest-suggestion-btn:nth-child(4n+1){border-left-color:#4285f4}.guest-suggestion-btn:nth-child(4n+2){border-left-color:#ea4335}.guest-suggestion-btn:nth-child(4n+3){border-left-color:#34a853}.guest-suggestion-btn:nth-child(4n+4){border-left-color:#fbbc05}.guest-suggestion-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(66,133,244,.1),transparent);transition:left .5s ease}.guest-suggestion-btn:hover:not(:disabled){border-color:var(--msu-blue);background:var(--bg-card-hover);transform:translateY(-3px);box-shadow:var(--shadow-md)}.guest-suggestion-btn:hover:before{left:100%}.guest-suggestion-btn:disabled{opacity:.5;cursor:not-allowed}.guest-message{display:flex;gap:12px;max-width:800px;width:100%;margin:0 auto;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.guest-message.user{flex-direction:row-reverse}.guest-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border-color)}.guest-message-content{display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 60px)}.guest-message-bubble{padding:14px 18px;border-radius:18px;font-size:.95rem;line-height:1.6;word-wrap:break-word}.guest-message.user .guest-message-bubble{background:linear-gradient(135deg,#4285f4,#669df6);color:#fff;border-bottom-right-radius:4px}.guest-message.bot .guest-message-bubble{background:linear-gradient(135deg,#4285f408,#4285f40f);color:var(--text-main);border-bottom-left-radius:4px;border:none;border-left:2px solid rgba(66,133,244,.2);box-shadow:0 1px 6px #3c40430f,0 1px 2px #3c40430a}.guest-message-bubble p{margin:0 0 12px}.guest-message-bubble p:last-child{margin-bottom:0}.guest-message-bubble ul,.guest-message-bubble ol{margin:8px 0;padding-left:20px}.guest-message-bubble li{margin:6px 0}.guest-message-bubble strong{font-weight:600}.guest-timestamp{font-size:.75rem;color:var(--text-secondary);opacity:.7;padding:0 4px}.guest-message.user .guest-timestamp{text-align:right}.guest-typing-bubble{display:flex;gap:5px;padding:18px 22px;align-items:center}.guest-dot{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.guest-dot:nth-child(1){animation-delay:-.32s}.guest-dot:nth-child(2){animation-delay:-.16s}.guest-dot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.guest-chat-input-container{padding:16px 24px 24px;background:linear-gradient(to top,var(--bg-body) 85%,transparent);flex-shrink:0}.guest-chat-input-wrapper{display:flex;align-items:center;gap:8px;max-width:800px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:6px 6px 6px 20px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.guest-chat-input-wrapper:focus-within{border-color:var(--msu-blue);box-shadow:0 0 0 3px #4285f41a,var(--shadow-md)}.guest-chat-input-field{flex:1;border:none;background:transparent;font-size:1rem;color:var(--text-main);outline:none;min-width:0;padding:10px 12px}.guest-chat-input-field::placeholder{color:var(--text-secondary)}.guest-action-btn-icon{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:50%}.guest-send-btn:hover:not(:disabled){color:#4285f4;transform:scale(1.1)}.guest-send-btn:disabled{color:var(--text-secondary);opacity:.5;cursor:not-allowed}.guest-char-counter{text-align:right;font-size:.75rem;color:var(--text-secondary);margin-top:4px;padding-right:8px}.guest-chat-input-field:disabled{background:var(--bg-body);cursor:not-allowed;opacity:.7}.signup-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.signup-modal{background:var(--bg-card);border-radius:20px;max-width:440px;width:100%;box-shadow:0 24px 48px #0003;position:relative;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-modal-close{position:absolute;top:16px;right:16px;background:var(--bg-body);border:1px solid var(--border-color);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s;z-index:1}.signup-modal-close:hover{background:var(--bg-card);color:var(--text-main);border-color:var(--text-secondary)}.signup-modal-header{padding:40px 32px 24px;text-align:center;background:linear-gradient(135deg,rgba(29,78,216,.06) 0%,transparent 100%);border-bottom:1px solid var(--border-color)}.signup-modal-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--msu-blue) 0%,var(--msu-blue-light) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.signup-modal-title{font-size:1.5rem;font-weight:700;color:var(--text-main);margin:0 0 8px}.signup-modal-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.5}.signup-modal-benefits{padding:24px 32px}.benefits-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}.benefits-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.benefits-list li{display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--text-main)}.benefit-icon{color:#10b981;font-size:1.1rem;flex-shrink:0}.signup-modal-footer{padding:24px 32px 32px;display:flex;gap:12px;border-top:1px solid var(--border-color);background:var(--bg-body)}.signup-modal-btn{flex:1;padding:14px 24px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.signup-modal-btn.secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main)}.signup-modal-btn.secondary:hover{background:var(--bg-body);border-color:var(--text-secondary)}.signup-modal-btn.primary{background:linear-gradient(135deg,var(--msu-blue) 0%,var(--msu-blue-light) 100%);border:none;color:#fff}.signup-modal-btn.primary:hover{background:linear-gradient(135deg,var(--msu-blue-hover) 0%,var(--msu-blue) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #1d4ed84d}@media (max-width: 768px){.guest-welcome-title{font-size:1.8rem}.guest-welcome-subtitle{font-size:1rem}.guest-welcome-logo{width:80px;height:80px}.guest-chat-messages{padding:24px 16px 16px}.guest-chat-input-container{padding:12px 16px 20px}.guest-trial-bar{padding:8px 16px}.trial-bar-content{font-size:.85rem}.signup-modal{max-width:100%;border-radius:16px}.signup-modal-header{padding:32px 24px 20px}.signup-modal-benefits{padding:20px 24px}.signup-modal-footer{padding:20px 24px 24px;flex-direction:column}.signup-modal-btn{width:100%}.signup-modal-title{font-size:1.3rem}.timer-countdown{font-size:.9rem}.timer-label{display:none}}body.dark .guest-message.bot .guest-message-bubble{background:linear-gradient(135deg,#8ab4f80f,#8ab4f81a)!important;border:none!important;border-left:2px solid rgba(138,180,248,.2)!important}body.dark .guest-welcome-title{background:linear-gradient(135deg,#8ab4f8,#aecbfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.dark .guest-suggestion-btn{background:var(--bg-card)}body.dark .guest-suggestion-btn:nth-child(4n+1){border-left-color:#8ab4f8!important}body.dark .guest-suggestion-btn:nth-child(4n+2){border-left-color:#f28b82!important}body.dark .guest-suggestion-btn:nth-child(4n+3){border-left-color:#81c995!important}body.dark .guest-suggestion-btn:nth-child(4n+4){border-left-color:#fdd663!important}body.dark .guest-suggestion-btn:hover:not(:disabled){background:#8ab4f814}body.dark .guest-chat-input-wrapper,body.dark .signup-modal{background:var(--bg-card)}body.dark .signup-modal-header{background:linear-gradient(135deg,rgba(138,180,248,.06) 0%,transparent 100%)}body.dark .signup-modal-close,body.dark .signup-modal-btn.secondary{background:var(--bg-card)}body.dark .signup-modal-btn.secondary:hover{background:var(--bg-body)}body.dark .signup-modal-footer{background:var(--bg-card)}.landing-page{height:calc(100vh - 70px);width:100%;background:var(--bg-body);display:flex;flex-direction:column}.landing-chat-wrapper{flex:1;width:100%;height:100%;display:flex;flex-direction:column}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;animation:cmdk-fade-in .15s ease}@keyframes cmdk-fade-in{0%{opacity:0}to{opacity:1}}.cmdk-container{width:100%;max-width:640px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);overflow:hidden;animation:cmdk-slide-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes cmdk-slide-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}[cmdk-input]{width:100%;padding:16px 20px;font-size:16px;font-family:inherit;border:none;border-bottom:1px solid var(--border-color);background:transparent;color:var(--text-main);outline:none}[cmdk-input]::placeholder{color:var(--text-secondary)}[cmdk-list]{max-height:320px;overflow-y:auto;padding:8px}[cmdk-group-heading]{padding:8px 12px 4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}[cmdk-item]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--text-main);transition:background .15s ease}[cmdk-item][data-selected=true]{background:var(--msu-blue-50, rgba(66, 133, 244, .08))}[cmdk-item]:hover{background:var(--bg-card-hover)}[cmdk-item] svg{color:var(--text-secondary);flex-shrink:0}[cmdk-empty]{padding:24px;text-align:center;color:var(--text-secondary);font-size:.9rem}@media (max-width: 680px){.cmdk-container{margin:0 16px;max-width:calc(100% - 32px)}.cmdk-overlay{padding-top:12vh}}.auth{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.15fr 1fr;background:#eef1f5}.auth__brand{background:linear-gradient(180deg,#fff,#f8fafc);color:var(--text-main);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px 48px;position:relative;overflow:hidden}.auth__bgOrbs{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.auth__orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:orbFloat 20s ease-in-out infinite}.auth__orb--1{width:400px;height:400px;background:linear-gradient(135deg,#4285f44d,#34a85333);top:-100px;right:-100px;animation-delay:0s}.auth__orb--2{width:300px;height:300px;background:linear-gradient(135deg,#34a85340,#4285f426);bottom:100px;left:-50px;animation-delay:-7s}.auth__orb--3{width:200px;height:200px;background:#4285f426;top:50%;right:20%;animation-delay:-14s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(20px,10px) scale(1.02)}}.auth__brandInner{position:relative;z-index:1;width:100%;max-width:520px;margin-left:40px}.auth__logoMain{display:block;width:320px;max-width:100%;height:auto;margin-bottom:28px;filter:drop-shadow(0 8px 24px rgba(66,133,244,.15));transition:transform .3s ease}.auth__logoMain:hover{transform:scale(1.02)}.auth__brandTitle{margin:0 0 12px;font-size:3.25rem;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(135deg,var(--msu-blue) 0%,#3367D6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth__brandSubtitle{margin:0 0 40px;color:#475569;font-size:1.1rem;line-height:1.7;max-width:440px}.auth__features{display:flex;flex-direction:column;gap:16px}.auth__feature{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(66,133,244,.08);border-radius:16px;transition:all .3s ease;animation:featureSlide .5s ease-out backwards}@keyframes featureSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.auth__feature:hover{transform:translate(8px);background:#ffffffe6;border-color:#4285f426;box-shadow:0 8px 24px #4285f41a}.auth__featureIcon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--msu-blue) 0%,#669DF6 100%);color:#fff;border-radius:12px;box-shadow:0 4px 12px #4285f440;transition:transform .3s ease,box-shadow .3s ease}.auth__feature:hover .auth__featureIcon{transform:scale(1.08);box-shadow:0 6px 16px #4285f44d}.auth__featureText{display:flex;flex-direction:column;gap:4px}.auth__featureText strong{font-size:.95rem;font-weight:600;color:var(--msu-blue)}.auth__featureText span{font-size:.85rem;color:#64748b;line-height:1.5}.auth__brandFooter{position:absolute;bottom:32px;left:48px;display:flex;align-items:center;gap:8px;font-size:.85rem;color:#94a3b8;z-index:1}.auth__dot{color:var(--msu-blue)}.auth__main{background:radial-gradient(ellipse 800px 600px at 80% 20%,rgba(66,133,244,.06),transparent 50%),radial-gradient(ellipse 600px 400px at 20% 80%,rgba(66,133,244,.08),transparent 50%),linear-gradient(160deg,#eef1f5,#e8ecf1,#eef1f5);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.auth__main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(66,133,244,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(66,133,244,.06) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 30s linear infinite;pointer-events:none;-webkit-touch-callout:none}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.auth__badge{position:absolute;top:24px;right:24px;opacity:.5}.auth__badgeLogo{width:60px;height:60px;object-fit:contain}.auth__card{position:relative;z-index:10;width:100%;max-width:420px;padding:40px;background:#fff;border:1px solid rgba(0,0,0,.08);border-top:3px solid var(--msu-blue);border-radius:24px;box-shadow:0 25px 50px -12px #00000014,0 0 0 1px #0000000a}@keyframes cardAppear{0%{opacity:0}to{opacity:1}}.auth__mobileLogoWrap{display:none;justify-content:center;margin-bottom:24px}.auth__mobileLogo{width:64px;height:64px;border-radius:16px;box-shadow:0 8px 24px #4285f433}.auth__header{text-align:center;margin-bottom:28px}.auth__title{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:var(--msu-blue)}.auth__titleSub{margin:0;font-size:.95rem;color:#64748b}.auth__footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle);text-align:center;color:#64748b;font-size:.95rem}.auth__link{color:var(--msu-blue);text-decoration:none;font-weight:600;transition:color .2s ease;position:relative;z-index:2;pointer-events:auto;-webkit-tap-highlight-color:rgba(66,133,244,.2);touch-action:manipulation;padding:4px 2px}.auth__link:hover,.auth__link:active{color:var(--msu-blue);text-decoration:underline}.auth__error{display:flex;align-items:center;gap:10px;border:1px solid rgba(239,68,68,.3);background:linear-gradient(135deg,#ef444414,#ef44440a);color:#dc2626;padding:12px 16px;border-radius:12px;margin:0 0 20px;font-size:.9rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.field{margin:0 0 20px}.field label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:8px}.field__control{position:relative;z-index:1}.field__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;min-width:18px;min-height:18px;color:#64748b;pointer-events:none;transition:color .2s ease;z-index:2;display:block;overflow:visible}.field__control:focus-within .field__icon{color:var(--msu-blue)}.field input{width:100%;padding:14px 16px 14px 42px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px;background:#fff!important;color:#1a1a2e!important;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:rgba(66,133,244,.1);touch-action:manipulation;pointer-events:auto}.field input:hover{border-color:#cbd5e1;background:#fff}.field input:focus{outline:none;border-color:var(--msu-blue);background:#fff;box-shadow:0 0 0 4px #4285f41a}.field input::placeholder{color:#94a3b8}.field__action{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#64748b;cursor:pointer;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:500;transition:background .2s ease,color .2s ease;z-index:3;pointer-events:auto;-webkit-tap-highlight-color:rgba(66,133,244,.1);touch-action:manipulation}.field__action:hover{background:#4285f414;color:var(--msu-blue)}.auth__submit{width:100%;padding:16px 24px;margin-top:8px;font-size:1rem;font-weight:600;color:#fff;background:var(--gradient-primary, linear-gradient(135deg, #4285F4 0%, #669DF6 100%));border:none;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:2;pointer-events:auto;-webkit-tap-highlight-color:rgba(66,133,244,.3);touch-action:manipulation;box-shadow:0 4px 14px #4285f440;overflow:hidden}.auth__submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity .25s ease}.auth__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4285f459}.auth__submit:hover:not(:disabled):before{opacity:1}.auth__submit:active:not(:disabled){transform:translateY(0) scale(.98)}.auth__submit:disabled{opacity:.6;cursor:not-allowed}.password-strength{margin-top:10px}.password-strength__bar{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:6px}.password-strength__fill{height:100%;border-radius:2px;transition:all .3s ease}.password-strength__fill--weak{width:33%;background:#ef4444}.password-strength__fill--medium{width:66%;background:#f59e0b}.password-strength__fill--strong{width:100%;background:#22c55e}.password-strength__text{font-size:.8rem;font-weight:500}.password-strength__text--weak{color:#ef4444}.password-strength__text--medium{color:#f59e0b}.password-strength__text--strong{color:#22c55e}.auth__divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:#94a3b8;font-size:.85rem}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth__social{display:flex;gap:12px}.auth__socialBtn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#334155;font-weight:500;cursor:pointer;transition:all .2s ease}.auth__socialBtn:hover{border-color:#cbd5e1;background:#fff;box-shadow:0 4px 12px #0000000d}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#1a1a2e!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-in-out 0s;caret-color:#1a1a2e}.auth input,.auth input:focus,.auth input:active,.auth input::placeholder{-webkit-text-fill-color:#1a1a2e!important;color:#1a1a2e!important}.auth input::placeholder{-webkit-text-fill-color:#94a3b8!important;color:#94a3b8!important;opacity:1}@media (min-width: 1440px){.auth{grid-template-columns:1.2fr 1fr}.auth__brandInner{max-width:580px;margin-left:60px}.auth__logoMain{width:360px}.auth__brandTitle{font-size:3.5rem}.auth__card{max-width:460px;padding:48px}}@media (min-width: 1280px) and (max-width: 1439px){.auth__brandInner{margin-left:48px}}@media (max-width: 1279px) and (min-width: 1025px){.auth{grid-template-columns:1fr 1fr}.auth__brandInner{margin-left:32px;max-width:420px}.auth__logoMain{width:260px}.auth__brandTitle{font-size:2.5rem}.auth__brandSubtitle{font-size:1rem}.auth__feature{padding:12px 16px}}@media (max-width: 1024px){.auth{grid-template-columns:1fr;min-height:calc(100vh - 65px);margin-top:65px}.auth__brand{display:none;pointer-events:none}.auth__main{padding:20px 24px 24px;min-height:calc(100vh - 65px);align-items:center}.auth__main:before,.auth__main:after{display:none!important;pointer-events:none!important;content:none!important}.auth__mobileLogoWrap{display:flex}.auth__card{max-width:480px;width:100%;padding:32px 28px;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.auth__badge{display:none}.field input{font-size:16px!important;background:#fff!important;pointer-events:auto!important}.field__action,.auth__submit,.auth__link{pointer-events:auto!important}}@media (max-width: 767px) and (min-width: 600px){.auth__main{padding:20px;padding-top:8vh}.auth__card{max-width:420px;padding:28px 24px}.auth__title{font-size:1.6rem}}@media (max-width: 599px) and (min-width: 414px){.auth{min-height:calc(100vh - 60px);margin-top:60px}.auth__main{padding:20px;min-height:calc(100vh - 60px);padding-bottom:env(safe-area-inset-bottom,20px)}.auth__card{padding:28px 24px;border-radius:20px;max-width:100%}.auth__title{font-size:1.5rem}.auth__titleSub{font-size:.9rem}.field input{padding:14px 14px 14px 42px;font-size:16px}.field__icon{left:14px}.auth__submit{padding:14px 20px}.auth__mobileLogo{width:56px;height:56px}}@media (max-width: 413px) and (min-width: 375px){.auth{min-height:calc(100vh - 56px);margin-top:56px}.auth__main{padding:16px;min-height:calc(100vh - 56px);padding-bottom:env(safe-area-inset-bottom,16px)}.auth__card{padding:24px 20px;border-radius:18px}.auth__title{font-size:1.4rem}.auth__titleSub{font-size:.875rem}.auth__header{margin-bottom:24px}.field{margin-bottom:16px}.field label{font-size:.8rem}.field input{padding:12px 12px 12px 38px;font-size:16px;border-radius:10px}.field__icon{left:12px;width:16px;height:16px;min-width:16px;min-height:16px}.field__action{padding:6px 10px;font-size:.8rem}.auth__submit{padding:14px 18px;font-size:.95rem;border-radius:10px}.auth__footer{margin-top:20px;padding-top:16px;font-size:.9rem}.auth__mobileLogo{width:52px;height:52px;border-radius:14px}.auth__mobileLogoWrap{margin-bottom:20px}}@media (max-width: 374px){.auth{min-height:calc(100vh - 52px);margin-top:52px}.auth__main{padding:12px;min-height:calc(100vh - 52px);padding-bottom:env(safe-area-inset-bottom,12px)}.auth__card{padding:20px 16px;border-radius:16px}.auth__title{font-size:1.25rem}.auth__titleSub{font-size:.8rem}.auth__header{margin-bottom:20px}.field{margin-bottom:14px}.field label{font-size:.75rem;margin-bottom:6px}.field input{padding:11px 10px 11px 36px;font-size:16px;border-radius:8px;border-width:1.5px}.field__icon{left:10px;width:14px;height:14px;min-width:14px;min-height:14px}.field__action{padding:5px 8px;font-size:.75rem;right:8px}.auth__submit{padding:12px 16px;font-size:.9rem;border-radius:8px}.auth__footer{margin-top:16px;padding-top:14px;font-size:.85rem}.auth__error{padding:10px 12px;font-size:.8rem;border-radius:8px}.auth__mobileLogo{width:48px;height:48px;border-radius:12px}.auth__mobileLogoWrap{margin-bottom:16px}.password-strength{margin-top:8px}.password-strength__text{font-size:.7rem}}@media (max-width: 319px){.auth__main{padding:10px}.auth__card{padding:16px 12px}.auth__title{font-size:1.1rem}.field input{padding:10px 8px 10px 34px}.field__icon{left:8px;width:14px;height:14px;min-width:14px;min-height:14px}}@media (max-height: 500px) and (orientation: landscape){.auth__main{padding:16px;align-items:flex-start;overflow-y:auto}.auth__card{padding:20px;margin:0 auto}.auth__mobileLogoWrap{display:none}.auth__header{margin-bottom:16px}.field{margin-bottom:12px}.auth__footer{margin-top:12px;padding-top:12px}}@supports (-webkit-touch-callout: none){.auth__main:before{pointer-events:none!important;display:none!important}.auth__card{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.field input,.field__action,.auth__submit,.auth__link{-webkit-tap-highlight-color:rgba(66,133,244,.1);touch-action:manipulation;pointer-events:auto!important}.field__icon{z-index:2}.auth{min-height:-webkit-fill-available}.auth__card *{pointer-events:auto}}:root{--theme-paper: #fbf8f0;--theme-paper-soft: #f4ecdc;--theme-paper-raised: #fffdf7;--theme-navy: #002d72;--theme-navy-hover: #003f9e;--theme-blue: #0057b8;--theme-orange: #f58220;--theme-orange-hover: #d96f1a;--theme-orange-soft: rgba(245, 130, 32, .14);--theme-warm-border: #ddd1c0;--theme-blue-border: #b7c6d8;--theme-charcoal: #172033;--theme-muted: #6b7280;--msu-blue: var(--theme-blue);--msu-blue-hover: var(--theme-navy-hover);--msu-blue-light: #5f91c7;--msu-blue-50: rgba(31, 95, 168, .08);--msu-blue-100: rgba(31, 95, 168, .14);--msu-gold: var(--theme-orange);--msu-gold-hover: var(--theme-orange-hover);--msu-gold-50: var(--theme-orange-soft);--bg-body: var(--theme-paper);--bg-card: var(--theme-paper-raised);--bg-card-hover: var(--theme-paper-soft);--bg-elevated: #ffffff;--bg-input: #f7f0e6;--text-main: var(--theme-charcoal);--text-secondary: #596273;--text-tertiary: #8b8174;--border-color: var(--theme-warm-border);--border-subtle: #eadfce;--border-focus: var(--theme-orange);--bg-app: var(--bg-body);--bg-surface: var(--bg-card);--bg-surface-soft: var(--bg-input);--bg-surface-raised: var(--bg-elevated);--page-wash: rgba(245, 130, 32, .06);--text-muted: var(--text-secondary);--text-soft: var(--text-tertiary);--border-soft: var(--border-color);--border-strong: var(--theme-blue-border);--primary: var(--theme-navy);--primary-hover: var(--theme-blue);--primary-soft: rgba(0, 45, 114, .1);--accent: var(--theme-orange);--accent-soft: var(--theme-orange-soft);--success: #2f8a4c;--warning: #b76a1f;--danger: #bd3b32;--gradient-primary: linear-gradient(135deg, var(--theme-navy), var(--theme-blue));--gradient-subtle: linear-gradient(180deg, #fbf7ef 0%, #f4eddf 100%);--gradient-glass: linear-gradient(135deg, #fffdf8 0%, #f5efe3 100%);--gradient-mesh: radial-gradient(at 24% 12%, rgba(232, 135, 58, .08) 0px, transparent 44%), radial-gradient(at 82% 0%, rgba(31, 95, 168, .06) 0px, transparent 50%), radial-gradient(at 0% 62%, rgba(16, 35, 63, .04) 0px, transparent 46%);--shadow-xs: 0 1px 2px rgba(31, 41, 55, .06);--shadow-sm: 0 1px 3px rgba(31, 41, 55, .08), 0 1px 2px rgba(31, 41, 55, .05);--shadow-md: 0 5px 12px rgba(31, 41, 55, .1), 0 1px 3px rgba(31, 41, 55, .06);--shadow-lg: 0 12px 28px rgba(31, 41, 55, .11), 0 2px 6px rgba(31, 41, 55, .06);--shadow-xl: 0 20px 44px rgba(31, 41, 55, .14)}body.dark{--theme-paper: #101826;--theme-paper-soft: #162235;--theme-paper-raised: #1c2a3f;--theme-navy: #6f93c4;--theme-navy-hover: #8faed7;--theme-blue: #789dca;--theme-orange: #e7a05b;--theme-orange-hover: #f1b678;--theme-orange-soft: rgba(231, 160, 91, .18);--theme-warm-border: #31415a;--theme-blue-border: #435a78;--theme-charcoal: #f4efe6;--theme-muted: #b7c1cf;--msu-blue: var(--theme-blue);--msu-blue-hover: var(--theme-navy-hover);--msu-blue-light: #a9c0dc;--msu-blue-50: rgba(120, 157, 202, .12);--msu-blue-100: rgba(120, 157, 202, .19);--msu-gold: var(--theme-orange);--msu-gold-hover: var(--theme-orange-hover);--msu-gold-50: var(--theme-orange-soft);--bg-body: #0f1724;--bg-card: #172235;--bg-card-hover: #1f2d43;--bg-elevated: #223149;--bg-input: #152033;--text-main: #f4efe6;--text-secondary: #b7c1cf;--text-tertiary: #8794a8;--border-color: #31415a;--border-subtle: #26354c;--border-focus: var(--theme-orange);--bg-app: var(--bg-body);--bg-surface: var(--bg-card);--bg-surface-soft: var(--bg-input);--bg-surface-raised: var(--bg-elevated);--page-wash: rgba(245, 130, 32, .05);--text-muted: var(--text-secondary);--text-soft: var(--text-tertiary);--border-soft: var(--border-color);--border-strong: var(--theme-blue-border);--primary: var(--theme-blue);--primary-hover: var(--theme-navy-hover);--primary-soft: rgba(120, 157, 202, .16);--accent: var(--theme-orange);--accent-soft: var(--theme-orange-soft);--success: #7bcf8e;--warning: #f0c56b;--danger: #ff8b82;--gradient-primary: linear-gradient(135deg, #6f93c4, #4f76aa);--gradient-subtle: linear-gradient(180deg, #172235 0%, #0f1724 100%);--gradient-glass: linear-gradient(135deg, #172235 0%, #223149 100%);--gradient-mesh: radial-gradient(at 24% 12%, rgba(231, 160, 91, .1) 0px, transparent 44%), radial-gradient(at 82% 0%, rgba(120, 157, 202, .08) 0px, transparent 50%), radial-gradient(at 0% 62%, rgba(244, 239, 230, .04) 0px, transparent 46%)}body{background:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),var(--bg-body);background-size:28px 28px,28px 28px,auto}body.dark{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(231,160,91,.045) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.035) 0 1px,transparent 1.4px),var(--bg-body);background-size:28px 28px,28px 28px,9px 9px,13px 13px,auto}:root{--msu-blue: #0B2545;--msu-blue-hover: #123257;--msu-blue-light: #2A4E86;--msu-blue-50: rgba(11, 37, 69, .05);--msu-blue-100: rgba(11, 37, 69, .12);--msu-gold: #F37021;--msu-gold-hover: #D85F12;--msu-gold-50: rgba(243, 112, 33, .1);--gradient-primary: linear-gradient(135deg, #0B2545 0%, #123257 100%);--gradient-gold: linear-gradient(135deg, #F37021 0%, #D85F12 100%);--gradient-subtle: linear-gradient(180deg, #F6F8FB 0%, #EEF2F7 100%);--gradient-glass: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(246,248,251,.86) 100%);--bg-body: #F6F8FB;--bg-card: #FFFFFF;--bg-card-hover: #EEF2F7;--bg-elevated: #FFFFFF;--bg-input: #FFFFFF;--text-main: #0B2545;--text-secondary: #64748B;--text-tertiary: #94A3B8;--border-color: #E2E8F0;--border-subtle: #EDF1F6;--border-focus: #2A4E86;--success-500: #1F9254;--warn-500: #E08600;--danger-500: #D64545;--shadow-xs: 0 1px 2px rgba(11, 30, 63, .06);--shadow-sm: 0 1px 3px rgba(11, 30, 63, .08), 0 1px 2px rgba(11, 30, 63, .05);--shadow-md: 0 4px 10px rgba(11, 30, 63, .08), 0 1px 3px rgba(11, 30, 63, .05);--shadow-lg: 0 8px 24px rgba(11, 30, 63, .1), 0 2px 6px rgba(11, 30, 63, .06);--shadow-xl: 0 18px 40px rgba(11, 30, 63, .12), 0 4px 10px rgba(11, 30, 63, .06);--transition-fast: .12s ease;--transition-normal: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .36s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 18px;--radius-full: 999px;--tracking-tight: -.02em;--tracking-eyebrow: .14em}body.dark{--bg-body: #0E1626;--bg-card: #15203A;--bg-card-hover: #1C2A48;--bg-elevated: #1A2640;--bg-input: #1C2A48;--text-main: #ECE5D7;--text-secondary: #B3A989;--text-tertiary: #7A7363;--border-color: #2B3858;--border-subtle: #1F2A45;--border-focus: #C9A24C;--gradient-primary: linear-gradient(135deg, #1E4480 0%, #15203A 100%);--shadow-md: 0 4px 10px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tracking-tight);color:var(--text-main);line-height:1.15}h1{font-size:3rem;font-weight:800}h2{font-size:2.25rem;font-weight:800}h3{font-size:1.75rem;font-weight:700}h4{font-size:1.375rem;font-weight:700}.eyebrow{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--msu-gold-hover)}.btn-primary{background:var(--gradient-primary);color:#fff;padding:10px 24px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-main);padding:10px 24px;border-radius:var(--radius-md);border:1.5px solid var(--border-color);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{border-color:var(--msu-blue);color:var(--msu-blue)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}input,textarea,select{background:var(--bg-input);color:var(--text-main);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.9rem;transition:all var(--transition-normal)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--msu-blue-50)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}body.dark ::-webkit-scrollbar-thumb{background:#3c4043}:root{--primary: var(--msu-blue);--primary-hover: var(--msu-blue-hover);--primary-soft: var(--msu-blue-50);--accent: var(--msu-gold);--accent-soft: var(--msu-gold-50);--shadow-glow: 0 0 18px rgba(11, 37, 69, .16);--sidebar-bg: #0E2240;--sidebar-bg-2: #0B1C36;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(255, 255, 255, .1);--sidebar-text: #C8D5E8;--sidebar-text-muted: #7E92B0;--sidebar-border: rgba(255, 255, 255, .09)}.navbar{background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:none}.navbar.scrolled{box-shadow:var(--shadow-sm)}.brand-main{color:var(--text-main);letter-spacing:var(--tracking-tight)}.brand-sub{color:var(--text-secondary);letter-spacing:var(--tracking-eyebrow)}.sidebar-menu-btn{background:var(--msu-blue-50);border:1px solid var(--border-color);color:var(--msu-blue)}.nav-primary-links{display:flex;align-items:center;gap:8px;margin-left:auto}.nav-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:all var(--transition-fast)}.nav-pill:hover{color:var(--msu-blue);border-color:var(--msu-blue-light);background:var(--msu-blue-50)}.nav-pill.active{color:#fff;background:var(--msu-blue);border-color:var(--msu-blue)}.nav-pill svg{flex-shrink:0}.nav-primary-links+.navbar-right{margin-left:12px}.nav-dropdown{position:relative;display:inline-flex}.nav-dropdown-trigger{cursor:pointer}.nav-dropdown-caret{transition:transform var(--transition-fast);opacity:.75}.nav-dropdown-caret.open{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 30px -8px #00000040;z-index:300}.nav-dropdown-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:all var(--transition-fast)}.nav-dropdown-item:hover{color:var(--msu-blue);background:var(--msu-blue-50)}.nav-dropdown-item.active{color:#fff;background:var(--msu-blue)}.nav-dropdown-item svg{flex-shrink:0}body.dark .nav-dropdown-menu{background:#111827;border-color:#94a3b842;box-shadow:0 18px 42px #00000073}body.dark .nav-dropdown-item{color:#d7e2f2}body.dark .nav-dropdown-item:hover{color:#fff;background:#8faed729}body.dark .nav-dropdown-item.active{color:#fff;background:#2563eb}@media (max-width: 1180px){.nav-pill span{display:none}.nav-pill{padding:8px 11px}}@media (max-width: 560px){.nav-primary-links{gap:4px}}.chat-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text)}.sidebar-top,.sidebar-bottom,.sidebar-settings-wrapper{border-color:var(--sidebar-border)}.sidebar-bottom{background:var(--sidebar-bg-2)}.sidebar-action-btn.new-chat{background:var(--gradient-gold)!important;color:#fff!important;font-weight:700;box-shadow:0 2px 10px #f370214d}.sidebar-action-btn.new-chat:hover{background:var(--gradient-gold)!important;box-shadow:0 4px 16px #f3702166;transform:translateY(-1px)}.search-input{background:#ffffff0d;border:1px solid var(--sidebar-border);border-radius:var(--radius-lg);color:var(--sidebar-text)}.search-input::placeholder{color:var(--sidebar-text-muted)}.search-input:focus{background:#ffffff14;border-color:var(--msu-blue-light);box-shadow:0 0 0 3px #2a4e8640}.search-icon{color:var(--sidebar-text-muted)}.sidebar-action-btn{color:var(--sidebar-text)}.sidebar-action-btn:hover{background:var(--sidebar-hover);color:#fff}.sidebar-action-btn.curriculum-link.active{color:var(--msu-gold);background:var(--msu-gold-50)}.sidebar-action-btn:not(.new-chat):hover,.setting-btn:not(.install-app-btn):not(.support-btn):hover,.chat-history-item:hover{background:var(--sidebar-hover)!important;color:#fff!important}.setting-btn:not(.install-app-btn):not(.support-btn):hover svg,.sidebar-action-btn:not(.new-chat):hover svg,.chat-history-item:hover .chat-title,.chat-history-item:hover .pin-icon,.chat-history-item:hover .chat-menu-btn{color:#fff!important}.setting-btn.install-app-btn:hover,.setting-btn.support-btn:hover{background:var(--msu-gold-50)!important;color:#f9b98c!important}.setting-btn.install-app-btn:hover svg,.setting-btn.support-btn:hover svg{color:#f9b98c!important}.section-header,.date-group-header{color:var(--sidebar-text-muted)}.chat-history-item{color:var(--sidebar-text);position:relative;margin:1px 0}.chat-history-item:hover{background:var(--sidebar-hover);transform:none}.chat-history-item.active{background:#ffffff1c!important;color:#fff!important;font-weight:600;border-left:none;border-radius:var(--radius-md)}.chat-title{color:inherit}.chat-menu-btn{color:var(--sidebar-text-muted)}.chat-item-time{margin-left:auto;padding-left:10px;font-size:.72rem;color:var(--sidebar-text-muted);flex-shrink:0;white-space:nowrap;transition:opacity .15s ease}.chat-history-item.active .chat-item-time{color:#ffffffb8}.chat-history-item:hover .chat-item-time{opacity:0}.chat-menu-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.archived-header,.archived-section-container{color:var(--sidebar-text);border-color:var(--sidebar-border)}.setting-btn{background:#ffffff0d;border:1px solid var(--sidebar-border);color:var(--sidebar-text)}.setting-btn:hover{background:var(--sidebar-hover);color:#fff}.setting-btn.install-app-btn,.setting-btn.support-btn{background:#ffffff0d;border-color:var(--sidebar-border);color:var(--sidebar-text)}.setting-btn.install-app-btn:hover,.setting-btn.support-btn:hover{background:var(--sidebar-hover);color:#fff}.user-profile:hover{background:var(--sidebar-hover)}.user-email{color:#fff}.user-status,.logout-icon-btn,.sidebar-opensource-badge{color:var(--sidebar-text-muted)}.chat-sidebar ::-webkit-scrollbar-thumb{background:#ffffff24}.chat-sidebar ::-webkit-scrollbar-thumb:hover{background:#ffffff3d}.chat-main{background:var(--bg-body)}.message.bot .message-bubble{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-left:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.message.user .message-bubble{background:var(--msu-blue);color:#fff;border:none;border-radius:16px 16px 4px;box-shadow:0 2px 8px #0b254547}.message-bubble code{background:var(--msu-blue-50);color:var(--msu-blue)}.message.user .message-bubble code{background:#ffffff29;color:#fff}.message-bubble blockquote{border-left:4px solid var(--msu-blue);background:var(--msu-blue-50)}.message-bubble a{color:var(--msu-blue-light)}.message-bubble th{background:var(--msu-blue-50)}.message-bubble h1{border-bottom-color:var(--border-color)}.chat-input-wrapper{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.chat-input-wrapper:focus-within{border-color:var(--msu-blue-light);box-shadow:0 0 0 3px var(--msu-blue-50);animation:none}.action-btn-icon.send-btn{color:var(--msu-blue)}.live-mode-btn{width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-full);background:var(--msu-blue);color:#fff;display:flex;align-items:center;justify-content:center}.live-mode-btn:hover{background:var(--msu-blue-hover)}.live-mode-btn.active{background:var(--gradient-gold)}.suggestion-btn{border-radius:var(--radius-lg)}.suggestion-btn:nth-child(4n+1){border-left-color:var(--msu-blue)}.suggestion-btn:nth-child(4n+2){border-left-color:var(--msu-gold)}.suggestion-btn:nth-child(4n+3){border-left-color:var(--msu-blue-light)}.suggestion-btn:nth-child(4n+4){border-left-color:var(--msu-gold-hover)}.welcome-title{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.message-bubble.thinking-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-left:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:14px 20px}.stream-step.completed{display:none}.stream-step.active{display:flex;align-items:center;gap:14px}.step-icon-wrap.active-icon{background:transparent;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.stream-step.active .status-icon{width:18px;height:18px;color:var(--text-secondary);animation:none}.thinking-line{position:relative;width:72px;height:2px;flex-shrink:0;border-radius:2px;overflow:hidden;background:linear-gradient(90deg,var(--msu-blue) 0%,var(--msu-blue-light) 45%,rgba(42,78,134,.12) 100%)}.thinking-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:translate(-100%);animation:thinkingLineSweep 1.5s ease-in-out infinite}@keyframes thinkingLineSweep{to{transform:translate(180%)}}.thinking-text-shimmer{color:var(--text-main);font-weight:500;font-size:.95rem}.thinking-timer{margin-left:auto;padding-left:16px;color:var(--text-tertiary);font-size:.8rem;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.thinking-line:after{animation:none}}.guest-chat-main{background:var(--bg-body)}.guest-message.bot .guest-message-bubble{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.guest-message.user .guest-message-bubble{background:var(--msu-blue);color:#fff;border-radius:16px 16px 4px}.guest-message.user .guest-message-bubble code{background:#ffffff29;color:#fff}.guest-chat-input-wrapper{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-full)}.guest-chat-input-wrapper:focus-within{border-color:var(--msu-blue-light);box-shadow:0 0 0 3px var(--msu-blue-50)}.guest-send-btn{color:var(--msu-blue)}.guest-send-btn:hover:not(:disabled){color:var(--msu-blue-hover)}.guest-dot{background:var(--msu-blue)}.guest-suggestion-btn{border-radius:var(--radius-lg)}.guest-welcome-title{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.progress-bar-fill{background:linear-gradient(90deg,var(--msu-blue) 0%,var(--msu-blue-light) 50%,var(--msu-gold) 100%);background-size:200% 100%;animation:gradientShift 3s ease infinite,glowNavy 2s ease-in-out infinite alternate;box-shadow:0 0 18px #0b254552,inset 0 1px #ffffff4d}@keyframes glowNavy{0%{box-shadow:0 0 14px #0b25454d,0 0 28px #f370211f,inset 0 1px #ffffff4d}to{box-shadow:0 0 24px #0b254573,0 0 44px #f3702133,inset 0 1px #ffffff4d}}.search-input:focus{box-shadow:0 0 0 3px var(--msu-blue-50)}.connect-btn{background:var(--gradient-primary);box-shadow:0 4px 12px #0b25454d}.connect-btn:hover{box-shadow:0 6px 16px #0b254566}.category-title.supporting{color:var(--msu-blue-light)}@media (prefers-reduced-motion: reduce){.progress-bar-fill{animation:none}}
