:root{--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #172554;--cyan: #06b6d4;--cyan-50: #ecfeff;--amber: #f59e0b;--amber-50: #fffbeb;--green: #16a34a;--green-50: #f0fdf4;--red: #dc2626;--red-50: #fef2f2;--violet: #7c3aed;--violet-50: #f5f3ff;--pink: #db2777;--pink-50: #fdf2f8;--bg: #f4f7fe;--card: #ffffff;--ink: #0b1b3f;--ink-2: #334155;--muted: #64748b;--line: #e3e9f5;--line-2: #cfd9ec;--soft: #f8faff;--soft-2: #edf2fc;--nav-bg: rgba(255, 255, 255, .86);--grad: linear-gradient(135deg, #1d4ed8 0%, #2563eb 45%, #06b6d4 100%);--grad-soft: linear-gradient(135deg, #eff6ff 0%, #ecfeff 100%);--shadow-sm: 0 1px 2px rgba(15, 40, 100, .06);--shadow: 0 1px 2px rgba(15, 40, 100, .05), 0 10px 30px -12px rgba(30, 64, 175, .18);--shadow-lg: 0 24px 60px -20px rgba(30, 64, 175, .35);--glow: 0 10px 30px -8px rgba(37, 99, 235, .55);--radius: 16px;--radius-sm: 10px;--nav-h: 70px;--maxw: 1560px;--gutter: clamp(16px, 2.6vw, 48px);--font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--font-head: "Lexend", "Be Vietnam Pro", sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #0a1226;--card: #111c36;--ink: #e8eefc;--ink-2: #c2cde4;--muted: #8d9ab8;--line: #22304f;--line-2: #2f4068;--soft: #15213f;--soft-2: #1a2848;--nav-bg: rgba(10, 18, 38, .85);--blue-50: #142347;--blue-100: #1b2f5c;--blue-200: #284178;--blue-300: #3b5ba3;--blue-600: #4f8cff;--blue-700: #7aa7ff;--blue-800: #9cbcff;--cyan-50: #0f2e3a;--amber-50: #33270b;--green-50: #0f2e1d;--red-50: #3a1717;--violet-50: #241b45;--pink-50: #3a1530;--grad-soft: linear-gradient(135deg, #142347 0%, #0f2e3a 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.22;margin:0 0 .45em;letter-spacing:-.015em;color:var(--ink)}p{margin:0 0 .8em}a{color:var(--blue-600);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}button{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}::selection{background:var(--blue-200)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14.5px;line-height:1;height:42px;padding:0 18px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,border-color .2s}.btn svg{width:18px;height:18px;flex-shrink:0}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--glow)}.btn-primary:hover:not(:disabled){box-shadow:0 14px 34px -8px #2563ebb3;transform:translateY(-1px)}.btn-solid{background:var(--blue-600);color:#fff}.btn-solid:hover:not(:disabled){background:var(--blue-700)}.btn-outline{background:var(--card);color:var(--blue-700);border-color:var(--blue-200)}.btn-outline:hover:not(:disabled){border-color:var(--blue-500);background:var(--blue-50)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--blue-50);color:var(--blue-700)}.btn-white{background:var(--card);color:var(--blue-700);box-shadow:var(--shadow)}.btn-white:hover{transform:translateY(-1px)}.btn-danger{background:var(--red-50);color:var(--red)}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:9px}.btn-lg{height:52px;padding:0 26px;font-size:16px;border-radius:14px}.btn-block{width:100%}.btn-icon{width:38px;padding:0}.btn-shine{overflow:hidden}.btn-shine:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:shine 3.2s ease-in-out infinite}@keyframes shine{0%,60%{left:-60%}to{left:130%}}.field{display:block;margin-bottom:14px}.field>.label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.input,.field input,.field select,.field textarea,select.input,textarea.input{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line-2);border-radius:11px;padding:10px 13px;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea,textarea.input{resize:vertical;min-height:110px;line-height:1.55}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100)}.field .hint{font-size:12.5px;color:var(--muted);margin-top:5px}input[type=checkbox],input[type=radio]{accent-color:var(--blue-600);width:16px;height:16px}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.input-icon{position:relative}.input-icon>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}.input-icon input{padding-left:40px!important}.input-icon .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:grid}.input-icon .eye:hover{color:var(--blue-600);background:var(--blue-50)}@media (max-width: 640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.app{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(18px,2.4vw,36px) var(--gutter) 72px}.page-wide{max-width:1800px}.navbar{position:sticky;top:0;z-index:60;height:var(--nav-h);background:var(--nav-bg);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.navbar-in{max-width:var(--maxw);margin:0 auto;height:100%;padding:0 var(--gutter);display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none!important;flex-shrink:0}.brand-logo{width:42px;height:42px;filter:drop-shadow(0 6px 12px rgba(37,99,235,.35))}.brand-name{display:flex;flex-direction:column;line-height:1.05}.brand-name small{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brand-name b{font-family:var(--font-head);font-size:18px;color:var(--ink)}.brand-name b span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.menu{display:flex;gap:2px;flex:1;margin-left:8px}.menu-group{position:relative}.menu-link{display:flex;align-items:center;gap:6px;height:40px;padding:0 13px;border-radius:10px;border:0;background:none;color:var(--ink-2);font-weight:600;font-size:14.5px;cursor:pointer;text-decoration:none!important}.menu-link svg{width:17px;height:17px}.menu-link .chev{width:14px;height:14px;opacity:.6;transition:transform .2s}.menu-link:hover,.menu-link.active,.menu-group:hover>.menu-link{background:var(--blue-50);color:var(--blue-700)}.menu-group:hover .chev{transform:rotate(180deg)}.mega{position:absolute;top:calc(100% + 10px);left:-10px;width:560px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease}.menu-group:after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}.menu-group:hover .mega,.menu-group:focus-within .mega{opacity:1;visibility:visible;transform:none}.mega a{display:grid;grid-template-columns:40px 1fr;gap:1px 12px;align-items:center;padding:10px;border-radius:12px;color:var(--ink);text-decoration:none!important}.mega a:hover{background:var(--blue-50)}.mega .ic{grid-row:span 2;width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.mega .ic svg{width:20px;height:20px}.mega b{font-size:14px}.mega small{color:var(--muted);font-size:12.5px;line-height:1.35}.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.user-btn{display:flex;align-items:center;gap:9px;height:44px;padding:0 12px 0 5px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font-weight:600;color:var(--ink)}.user-btn:hover{border-color:var(--blue-300)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.user-menu{position:absolute;right:0;top:calc(100% + 8px);width:250px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:8px;z-index:70}.user-menu .who{padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.user-menu .who b{display:block}.user-menu a,.user-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:10px;border:0;background:none;color:var(--ink-2);font-weight:500;font-size:14px;cursor:pointer;text-decoration:none!important}.user-menu a:hover,.user-menu button:hover{background:var(--blue-50);color:var(--blue-700)}.user-menu svg{width:17px;height:17px}.burger{display:none}.footer{background:var(--blue-900);color:#c7d4f1;margin-top:auto}.footer-in{max-width:var(--maxw);margin:0 auto;padding:48px var(--gutter) 26px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.footer h4{color:#fff;font-size:15px;margin-bottom:12px}.footer a{color:#c7d4f1;display:block;padding:3px 0;font-size:14px}.footer a:hover,.footer .brand-name b{color:#fff}.footer .brand-name small{color:#94a3c8}.footer-bottom{max-width:var(--maxw);margin:0 auto;padding:18px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#94a3c8}.live-stats{display:flex;gap:8px}.live-stats span{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;padding:5px 12px;border-radius:99px;color:#e2e8f0;font-weight:600;font-variant-numeric:tabular-nums}.live-stats svg{width:15px;height:15px}.dot-live{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 #22c55e99;animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.menu-auth{display:none}@media (max-width: 1360px){.burger{display:inline-flex}.menu{position:fixed;inset:var(--nav-h) 0 0 0;background:var(--card);flex-direction:column;margin:0;padding:16px;overflow-y:auto;display:none;gap:4px}.menu.open{display:flex}.mega{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;grid-template-columns:1fr;padding:0 0 8px 8px}.menu-link .chev,.nav-actions .hide-m{display:none}.menu .menu-auth{display:flex}.footer-in{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.page{padding-bottom:96px}.navbar-in{gap:10px}.brand-name small{display:none}.brand-name b{font-size:16px}.user-btn .uname,.hide-xs{display:none}.nav-actions{gap:4px}.nav-actions .btn-primary{padding:0 12px}.nav-actions.guest .theme-toggle,.nav-actions.guest .quick-find-btn,.nav-actions.guest .btn-shine{display:none}.nav-actions.guest .btn-ghost:not(.burger){padding:0 12px;border:1px solid var(--line)}.footer-in{grid-template-columns:1fr}}@media print{.navbar,.footer,.chat-fab,.chat-panel,.no-print{display:none!important}body{background:var(--card)}.page{padding:0}}.menu-link{white-space:nowrap}@media (min-width: 1361px) and (max-width: 1520px){.menu{gap:0;margin-left:0}.menu-link{padding:0 9px;font-size:14px;gap:5px}.menu-link svg:not(.chev){display:none}.navbar-in{gap:12px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.page-head h1{font-size:30px;margin:0}.page-head .lead{color:var(--muted);margin:6px 0 0;max-width:700px}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);margin-bottom:8px}.eyebrow svg{width:15px;height:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card+.card{margin-top:18px}.card-title{display:flex;align-items:center;gap:9px;font-size:16.5px;margin-bottom:16px}.card-title svg{width:20px;height:20px;color:var(--blue-600)}.split{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:22px;align-items:start}.split>.sticky{position:sticky;top:calc(var(--nav-h) + 20px)}.split-geo{grid-template-columns:minmax(320px,380px) minmax(0,1fr)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar .grow{flex:1}.stack{display:grid;gap:12px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--blue-50);color:var(--blue-700);white-space:nowrap}.chip svg{width:13px;height:13px}.chip.mcq{background:var(--blue-50);color:var(--blue-700)}.chip.tf{background:var(--violet-50);color:var(--violet)}.chip.short{background:var(--cyan-50);color:#0e7490}.chip.essay{background:var(--amber-50);color:#b45309}.chip.ok{background:var(--green-50);color:var(--green)}.chip.no{background:var(--red-50);color:var(--red)}.chip.gray{background:var(--soft-2);color:var(--ink-2)}.code-badge{font-family:var(--font-head);font-weight:800;letter-spacing:.14em;background:var(--grad);color:#fff;padding:4px 12px;border-radius:9px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-sm)}.stat .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-600)}.stat b{display:block;font-family:var(--font-head);font-size:26px;line-height:1.1}.stat span{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}table.data th{background:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:var(--soft)}.toasts{position:fixed;top:84px;right:20px;z-index:300;display:grid;gap:10px;width:min(380px,calc(100vw - 32px))}.toast{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-lg);font-size:14px;animation:slideIn .25s ease}.toast.error{border-left-color:var(--red)}.toast svg{width:19px;height:19px;flex-shrink:0;margin-top:1px;color:var(--green)}.toast.error svg{color:var(--red)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0b1b3f80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:fade .15s}.modal{background:var(--card);border-radius:20px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0}@keyframes fade{0%{opacity:0}}.loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 20px;color:var(--muted);text-align:center}.spinner{width:40px;height:40px;border-radius:50%;border:3.5px solid var(--blue-100);border-top-color:var(--blue-600);animation:spin .8s linear infinite}.spinner.sm{width:18px;height:18px;border-width:2.5px;border-color:color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor}.ai-thinking{display:flex;gap:6px}.ai-thinking i{width:10px;height:10px;border-radius:50%;background:var(--blue-500);animation:bounce 1s infinite}.ai-thinking i:nth-child(2){animation-delay:.15s;background:var(--cyan)}.ai-thinking i:nth-child(3){animation-delay:.3s;background:var(--amber)}@keyframes bounce{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}}.empty{text-align:center;padding:52px 18px;color:var(--muted)}.empty>svg{width:46px;height:46px;color:var(--blue-300);margin-bottom:10px}.empty h3{color:var(--ink)}.demo-note{display:flex;gap:10px;align-items:center;background:var(--amber-50);color:#92400e;border:1px solid #fde68a;padding:10px 14px;border-radius:12px;font-size:13.5px;margin-bottom:16px}.demo-note svg{width:18px;height:18px;flex-shrink:0}.alert{padding:11px 14px;border-radius:12px;font-size:14px;margin-bottom:14px;display:flex;gap:9px;align-items:flex-start}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.alert.error{background:var(--red-50);color:var(--red)}.alert.success{background:var(--green-50);color:var(--green)}.alert.info{background:var(--blue-50);color:var(--blue-800)}.drop{border:2px dashed var(--line-2);border-radius:14px;padding:22px 16px;text-align:center;cursor:pointer;background:var(--soft);color:var(--muted);transition:all .15s}.drop:hover,.drop.over{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.drop>svg{width:30px;height:30px;margin-bottom:4px}.drop img{max-height:210px;border-radius:10px;margin-top:6px}.drop .fname{font-weight:600;color:var(--ink);margin-top:6px;word-break:break-all}.tabs{display:inline-flex;max-width:100%;min-width:0;gap:4px;padding:4px;background:var(--soft-2);border-radius:12px;margin-bottom:16px;flex-wrap:wrap}.tabs button{border:0;background:none;padding:8px 14px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;align-items:center}.tabs button svg{width:16px;height:16px}.tabs button.on{background:var(--card);color:var(--blue-700);box-shadow:var(--shadow-sm)}.q-list{display:grid;gap:12px}.q-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:border-color .15s}.q-card:hover{border-color:var(--blue-200)}.q-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.q-num{font-family:var(--font-head);font-weight:700;color:var(--blue-700)}.q-actions{margin-left:auto;display:flex;gap:4px}.q-body{margin-bottom:10px;white-space:pre-wrap}.opts{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.opt{padding:6px 10px;border-radius:9px;background:var(--soft)}.opt.correct{background:var(--green-50);color:var(--green);font-weight:600}.tf-row{display:flex;gap:12px;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}.tf-row:last-child{border-bottom:0}.tf-row b.t{color:var(--green)}.tf-row b.f{color:var(--red)}.sol{margin-top:10px;padding:10px 12px;background:var(--blue-50);border-radius:10px;font-size:14px;white-space:pre-wrap}.doc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px 34px;overflow-x:auto;line-height:1.7}.doc h1{font-size:23px;text-align:center}.doc h2{font-size:19px;margin-top:1.3em;color:var(--blue-800)}.doc h3{font-size:16.5px;margin-top:1.1em}.doc table{border-collapse:collapse;width:100%;margin:12px 0}.doc th,.doc td{border:1px solid var(--line-2);padding:8px 10px;vertical-align:top}.doc th{background:var(--blue-50)}.doc blockquote{border-left:4px solid var(--blue-500);margin:12px 0;padding:6px 16px;background:var(--blue-50);border-radius:0 10px 10px 0}.doc code{background:var(--soft-2);padding:1px 6px;border-radius:5px;font-size:.92em}pre.code{background:#0b1b3f;color:#dbeafe;padding:16px;border-radius:12px;overflow:auto;font-size:13px;max-height:440px;margin:0}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:90;height:56px;padding:0 22px 0 16px;border-radius:99px;border:0;background:var(--grad);color:#fff;font-weight:700;display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:var(--glow)}.chat-fab svg{width:24px;height:24px}.chat-fab:hover{transform:translateY(-2px)}.chat-panel{position:fixed;right:22px;bottom:90px;z-index:91;width:min(390px,calc(100vw - 28px));height:min(560px,calc(100vh - 140px));background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:pop .2s ease}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.97)}}.chat-head{background:var(--grad);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:11px}.chat-head b{font-family:var(--font-head);display:block}.chat-head small{opacity:.85}.chat-head button{margin-left:auto;background:#ffffff26;color:#fff;border:0;width:34px;height:34px;border-radius:10px;cursor:pointer;display:grid;place-items:center}.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--soft)}.msg{max-width:86%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.55}.msg p{margin:0 0 6px}.msg p:last-child{margin:0}.msg ul{margin:4px 0;padding-left:18px}.msg.bot{background:var(--card);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}.msg.me{background:var(--blue-600);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}.chat-suggest{display:flex;flex-wrap:wrap;gap:6px}.chat-suggest button{border:1px solid var(--blue-200);background:var(--card);color:var(--blue-700);border-radius:99px;padding:5px 11px;font-size:12.5px;cursor:pointer}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-form input{flex:1;border:1.5px solid var(--line-2);border-radius:99px;padding:10px 16px;font:inherit;outline:none}.chat-form input:focus{border-color:var(--blue-500)}.chat-form button{width:44px;height:44px;border-radius:50%;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer}@media (max-width: 1020px){.split,.split-geo{grid-template-columns:minmax(0,1fr)}.split>.sticky{position:static}}@media (max-width: 640px){.page-head h1{font-size:24px}.opts{grid-template-columns:1fr}.doc{padding:18px}.chat-fab span{display:none}.chat-fab{padding:0 16px}.toasts{top:auto;bottom:90px;right:16px}}.quick-find-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--soft);color:var(--muted);font-size:13.5px;cursor:pointer;white-space:nowrap}.quick-find-btn:hover{border-color:var(--blue-300);color:var(--blue-700)}.quick-find-btn svg{width:17px;height:17px}.quick-find-btn kbd,.qf-input kbd{font:600 11px var(--font);padding:2px 6px;border-radius:6px;background:var(--card);border:1px solid var(--line-2);color:var(--muted)}.qf-back{align-items:start;padding-top:12vh}.qf{width:min(640px,100%);background:var(--card);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .15s ease}.qf-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.qf-input svg{width:20px;height:20px;color:var(--blue-600)}.qf-input input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink)}.qf-list{max-height:58vh;overflow-y:auto;padding:8px}.qf-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:12px;background:none;text-align:left;cursor:pointer;color:var(--ink)}.qf-item.on{background:var(--blue-50)}.qf-item .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.qf-item .ic svg{width:19px;height:19px}.qf-text{flex:1;display:flex;flex-direction:column}.qf-text b{font-size:14.5px}.qf-text small{color:var(--muted);font-size:12.5px}.qf-enter{width:16px;height:16px;color:var(--blue-600)}@media (max-width: 1520px){.quick-find-btn span,.quick-find-btn kbd{display:none}.quick-find-btn{width:40px;padding:0;justify-content:center}}.hero{position:relative;overflow:hidden;background:var(--grad);color:#fff;border-radius:28px;padding:52px 48px;display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;box-shadow:var(--shadow-lg)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 300px at 85% 10%,rgba(255,255,255,.25),transparent 60%),radial-gradient(500px 300px at 0% 100%,rgba(6,182,212,.45),transparent 60%);pointer-events:none}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1{color:#fff;font-size:clamp(30px,4.2vw,50px);margin-bottom:14px}.hero h1 em{font-style:normal;color:#fde68a}.hero p.lead{color:#dbeafe;font-size:17px;max-width:540px}.hero .toolbar{margin-top:26px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;margin-bottom:18px}.hero-badge svg{width:15px;height:15px;color:#fde68a}.hero-status{display:flex;align-items:center;gap:9px;margin-top:22px;font-size:13.5px;color:#dbeafe}.hero-visual{position:relative;height:380px}.float-card{position:absolute;background:var(--card);color:var(--ink);border-radius:18px;padding:16px 18px;box-shadow:0 30px 60px -20px #0b1b3f8c;animation:float 6s ease-in-out infinite}.float-card h5{font-family:var(--font-head);font-size:14px;margin:0 0 8px;display:flex;gap:8px;align-items:center}.float-card h5 svg{width:18px;height:18px;color:var(--blue-600)}.fc-1{top:0;left:4%;width:300px}.fc-2{top:150px;right:0;width:250px;animation-delay:-2s}.fc-3{bottom:0;left:14%;width:270px;animation-delay:-4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mini-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:13px}.mini-opts span{background:var(--soft-2);padding:6px 9px;border-radius:8px}.mini-opts span.ok{background:var(--green-50);color:var(--green);font-weight:700}.score-ring{display:flex;align-items:center;gap:12px}.score-ring b{font-family:var(--font-head);font-size:34px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.bar{height:8px;background:var(--soft-2);border-radius:99px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--grad);border-radius:99px}.quick{margin:-28px auto 0;position:relative;z-index:2;max-width:1180px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:18px 20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.quick>b{font-family:var(--font-head);white-space:nowrap}.quick .chips{display:flex;gap:8px;flex-wrap:wrap}.quick .chips a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:99px;background:var(--blue-50);color:var(--blue-700);font-weight:600;font-size:13.5px;text-decoration:none;border:1px solid transparent}.quick .chips a:hover{border-color:var(--blue-300);background:var(--card)}.quick .chips svg{width:16px;height:16px}.section{margin-top:56px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.section-head h2{font-size:26px;margin:0}.section-head p{margin:4px 0 0;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}.feature{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;color:var(--ink);text-decoration:none!important;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-200)}.feature:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent, var(--grad));opacity:0;transition:opacity .18s}.feature:hover:before{opacity:1}.feature .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center}.feature .ic svg{width:26px;height:26px}.feature h3{font-size:17.5px;margin:4px 0 0}.feature p{margin:0;color:var(--muted);font-size:14px}.feature .go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:5px;color:var(--blue-600);font-weight:600;font-size:14px}.feature .go svg{width:16px;height:16px;transition:transform .18s}.feature:hover .go svg{transform:translate(4px)}.feature .tag{position:absolute;top:18px;right:18px;font-size:11px;font-weight:800;padding:3px 10px;border-radius:99px;color:#fff;background:linear-gradient(135deg,#f97316,#ef4444)}.feature.big{grid-column:span 2;background:var(--grad-soft)}.c-blue{--c: var(--blue-600);--c-bg: var(--blue-50)}.c-cyan{--c: #0891b2;--c-bg: var(--cyan-50)}.c-violet{--c: var(--violet);--c-bg: var(--violet-50)}.c-amber{--c: #d97706;--c-bg: var(--amber-50)}.c-green{--c: var(--green);--c-bg: var(--green-50)}.c-pink{--c: var(--pink);--c-bg: var(--pink-50)}.c-red{--c: var(--red);--c-bg: var(--red-50)}.feature .ic,.tone{background:var(--c-bg);color:var(--c)}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--blue-900);color:#fff;border-radius:24px;padding:30px}.numbers div{text-align:center}.numbers b{display:block;font-family:var(--font-head);font-size:34px;background:linear-gradient(135deg,#93c5fd,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.numbers span{color:#c7d4f1;font-size:14px}.quote{margin-top:56px;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.quote blockquote{font-family:var(--font-head);font-size:22px;font-weight:600;line-height:1.5;margin:0 0 10px;color:var(--ink)}.quote cite{color:var(--muted);font-style:normal}.cta{margin-top:56px;background:var(--grad);border-radius:26px;padding:40px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:var(--shadow-lg)}.cta h2{color:#fff;margin:0 0 6px}.cta p{margin:0;color:#dbeafe}.auth-page{min-height:calc(100vh - var(--nav-h));display:grid;grid-template-columns:1.05fr 1fr}.auth-art{position:relative;overflow:hidden;background:var(--grad);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:center;gap:26px}.auth-art:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#ffffff1a;top:-180px;right:-160px}.auth-art:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:#06b6d459;bottom:-150px;left:-120px;filter:blur(10px)}.auth-art>*{position:relative;z-index:1}.auth-art h2{color:#fff;font-size:34px;margin:0}.auth-art p{color:#dbeafe;font-size:16px;margin:0}.auth-art ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}.auth-art li{display:flex;gap:12px;align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);padding:12px 16px;border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-art li svg{width:22px;height:22px;color:#fde68a;flex-shrink:0}.auth-side{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:40px 24px;background:var(--card)}.auth-box>*{min-width:0}.auth-box{width:100%;max-width:420px}.auth-box .brand{margin-bottom:26px}.auth-box h1{font-size:28px;margin-bottom:4px}.auth-box>p.muted{margin-bottom:22px}.btn-google{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--line-2);background:var(--card);border-radius:12px;font-weight:600;color:var(--ink);cursor:pointer}.btn-google:hover{border-color:var(--blue-300);background:var(--soft)}.btn-google svg{width:20px;height:20px}.gsi-wrap{display:flex;justify-content:center;min-height:44px}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:20px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.role-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.role-pick label{display:flex;gap:10px;align-items:center;border:1.5px solid var(--line-2);border-radius:12px;padding:11px 13px;cursor:pointer;font-weight:600;font-size:14px}.role-pick label:has(input:checked){border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}.role-pick input{display:none}.role-pick svg{width:20px;height:20px}.strength{display:flex;gap:4px;margin-top:7px}.strength i{flex:1;height:4px;border-radius:99px;background:var(--line)}.strength.s1 i:nth-child(-n+1){background:var(--red)}.strength.s2 i:nth-child(-n+2){background:var(--amber)}.strength.s3 i:nth-child(-n+3){background:#84cc16}.strength.s4 i:nth-child(-n+4){background:var(--green)}.auth-foot{text-align:center;margin-top:18px;font-size:14px;color:var(--muted)}.turnstile-box{display:flex;justify-content:center;margin:4px 0 14px;min-height:0}.take-wrap{display:grid;grid-template-columns:1fr 270px;gap:20px;align-items:start}.timer-box{position:sticky;top:calc(var(--nav-h) + 20px)}.timer{font-family:var(--font-head);font-size:36px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;color:var(--blue-700)}.timer.low{color:var(--red);animation:blink 1s infinite}@keyframes blink{50%{opacity:.55}}.nav-dots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:14px 0}.nav-dots a{height:34px;display:grid;place-items:center;border-radius:8px;background:var(--soft-2);color:var(--ink-2);font-size:13px;font-weight:700;text-decoration:none}.nav-dots a.done{background:var(--blue-600);color:#fff}.choices{display:grid;gap:8px}.choice{display:flex;gap:11px;align-items:flex-start;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;transition:all .12s}.choice:hover{border-color:var(--blue-300)}.choice:has(input:checked){border-color:var(--blue-600);background:var(--blue-50)}.choice input{margin-top:4px}.tf-take{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}.tf-take .btns{display:flex;gap:6px}.tf-take label{padding:5px 13px;border:1.5px solid var(--line-2);border-radius:9px;cursor:pointer;font-size:13px;font-weight:700}.tf-take label:has(input:checked){border-color:var(--blue-600);background:var(--blue-600);color:#fff}.tf-take input{display:none}.score-big{font-family:var(--font-head);font-size:72px;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.arena{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 50% -10%,#2563eb,#0b1b3f 70%);color:#fff;border-radius:26px;padding:30px;min-height:560px}.arena h1,.arena h2,.arena h3{color:#fff}.arena .pin{font-family:var(--font-head);font-size:clamp(44px,8vw,72px);font-weight:800;letter-spacing:.14em;background:linear-gradient(135deg,#fde68a,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.arena-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.arena-q{font-family:var(--font-head);font-size:clamp(19px,2.8vw,28px);text-align:center;margin:16px auto 24px;max-width:920px;white-space:pre-wrap}.arena-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.arena-opt{border:0;border-radius:16px;padding:20px;font-size:17px;font-weight:700;color:#fff;text-align:left;display:flex;gap:12px;align-items:center;cursor:pointer;min-height:80px;transition:transform .12s,opacity .2s}.arena-opt:hover:not(:disabled){transform:translateY(-2px)}.arena-opt .L{width:36px;height:36px;border-radius:9px;background:#00000038;display:grid;place-items:center;font-family:var(--font-head);flex-shrink:0}.arena-opt:nth-child(1){background:#e11d48}.arena-opt:nth-child(2){background:#2563eb}.arena-opt:nth-child(3){background:#d97706}.arena-opt:nth-child(4){background:#059669}.arena-opt.dim{opacity:.3}.arena-opt.picked{outline:4px solid #fff}.arena-opt.right{outline:4px solid #4ade80;opacity:1}.arena-bar{height:10px;background:#ffffff26;border-radius:99px;overflow:hidden}.arena-bar i{display:block;height:100%;background:linear-gradient(90deg,#fde68a,#f59e0b);transition:width .25s linear}.arena-count{font-family:var(--font-head);font-size:42px;font-weight:800}.players{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}.players span{background:#ffffff1f;padding:7px 15px;border-radius:99px;font-weight:600;animation:pop .25s}.board{display:grid;gap:8px;max-width:580px;margin:0 auto}.board div{display:flex;justify-content:space-between;background:#ffffff1a;padding:11px 18px;border-radius:12px;font-weight:700}.board div:nth-child(1){background:linear-gradient(135deg,#fde68a,#f59e0b);color:#422006}.board div:nth-child(2){background:#ffffff3d}.board div:nth-child(3){background:#ffffff2e}.feedback{text-align:center;padding:34px;border-radius:18px;font-family:var(--font-head);font-size:26px;font-weight:800}.feedback.ok{background:#059669}.feedback.no{background:#e11d48}.feedback.wait{background:#ffffff1a}.arena .input{background:#ffffff1a;color:#fff;border-color:#ffffff4d}.arena .input::placeholder{color:#c7d4f1}.ggb-box{width:100%;height:600px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card)}.steps{counter-reset:s;display:grid;gap:12px;padding:0;margin:0}.steps li{list-style:none;counter-increment:s;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}.steps li:before{content:counter(s);width:34px;height:34px;border-radius:10px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--font-head)}details.faq{border:1px solid var(--line);border-radius:14px;padding:13px 18px;background:var(--card)}details.faq+details.faq{margin-top:10px}details.faq summary{font-weight:600;cursor:pointer}details.faq[open] summary{color:var(--blue-700);margin-bottom:8px}@media (max-width: 1080px){.hero{grid-template-columns:1fr;padding:40px 28px}.hero-visual{display:none}.feature.big{grid-column:span 2}.numbers{grid-template-columns:1fr 1fr}.auth-page{grid-template-columns:1fr}.auth-art{display:none}.take-wrap{grid-template-columns:1fr}.timer-box{position:static;order:-1}}@media (max-width: 640px){.hero{padding:30px 20px;border-radius:20px}.quick{margin-top:16px}.feature.big{grid-column:auto}.arena{padding:18px;border-radius:18px}.arena-opts{grid-template-columns:1fr}.cta{padding:28px 22px}}.code-editor{display:flex;border:1.5px solid var(--line-2);border-radius:12px;overflow:hidden;background:#0b1b3f}.code-editor:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--blue-100)}.code-lines{margin:0;padding:12px 8px;min-width:42px;text-align:right;color:#64748b;background:#081430;font:13.5px/1.6 ui-monospace,Consolas,Cascadia Code,monospace;-webkit-user-select:none;user-select:none;overflow:hidden}.code-editor textarea{flex:1;border:0;outline:0;resize:vertical;padding:12px;background:transparent;color:#e2e8f0;font:13.5px/1.6 ui-monospace,Consolas,Cascadia Code,monospace;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-x:auto;min-height:0}.code-editor textarea::placeholder{color:#64748b}.mono{font-family:ui-monospace,Consolas,monospace!important;font-size:13px!important}.code-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:start}.code-layout>.card{position:sticky;top:calc(var(--nav-h) + 20px);max-height:calc(100vh - var(--nav-h) - 40px);overflow:auto}.test-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.test-row.pass{border-color:#86efac;background:var(--green-50)}.test-row.pass>b{color:var(--green)}.test-row.fail{border-color:#fca5a5;background:var(--red-50)}.test-row.fail>b{color:var(--red)}.test-row>b{display:flex;align-items:center;gap:6px}.test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}.test-grid pre{margin:2px 0 0;padding:6px 8px;background:var(--card);border-radius:8px;font-size:12.5px;white-space:pre-wrap;word-break:break-word;max-height:140px;overflow:auto}.pricing{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start}.price-card{position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:20px;padding:22px 18px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.price-card h3{font-size:19px;margin:0 0 4px}.price-card.popular{border-color:var(--blue-500);box-shadow:var(--glow)}.price-card.current{border-color:var(--green)}.price-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--grad);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:99px;white-space:nowrap}.price b{font-family:var(--font-head);font-size:28px;color:var(--ink)}.price span{color:var(--muted);font-size:14px}.price-features{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:7px;font-size:13.5px}.price-features li{display:flex;gap:7px;align-items:flex-start}.price-features svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--green)}.price-features li.off{color:var(--muted);opacity:.6}.price-features li.off svg{color:var(--muted)}.upgrade-ic{width:64px;height:64px;margin:0 auto;border-radius:20px;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:var(--glow)}.upgrade-ic svg{width:32px;height:32px}.plan-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:linear-gradient(135deg,#fde68a,#f59e0b);color:#422006}.mega a .lock{margin-left:4px;width:13px;height:13px;color:var(--amber);vertical-align:-1px}.brand-preview{border-radius:14px;overflow:hidden;aspect-ratio:16 / 9;position:relative;color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:center}.brand-preview img{position:absolute;top:14px;left:14px;width:46px;height:46px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.brand-preview .bp-school{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-left:56px;position:absolute;top:28px}.brand-preview b{font-size:20px;line-height:1.2}.color-row{display:flex;gap:8px;align-items:center}.color-row input[type=color]{width:46px;height:40px;padding:2px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--card);cursor:pointer}.style-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.style-pick button{border:1.5px solid var(--line-2);background:var(--card);border-radius:12px;padding:10px 6px;font-weight:600;font-size:13px;cursor:pointer;color:var(--ink-2)}.style-pick button.on{border-color:var(--blue-600);background:var(--blue-50);color:var(--blue-700)}@media (max-width: 1200px){.pricing{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1020px){.code-layout{grid-template-columns:1fr}.code-layout>.card{position:static;max-height:none}}@media (max-width: 760px){.pricing,.test-grid{grid-template-columns:1fr}.style-pick{grid-template-columns:1fr 1fr}}.lesson-opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lesson-opts .check{border:1.5px solid var(--line-2);border-radius:10px;padding:8px 10px;font-size:13px;align-items:flex-start}.lesson-opts .check.on{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700)}@media (max-width: 640px){.lesson-opts{grid-template-columns:1fr}}.promo-row{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.promo{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center;border-radius:22px;padding:26px;text-decoration:none!important;transition:transform .2s,box-shadow .2s}.promo:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.promo>.btn{grid-column:2;justify-self:start;margin-top:6px}.promo h3{margin:2px 0 6px;font-size:21px}.promo p{margin:0;font-size:14px}.promo-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.promo-ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;grid-row:span 2}.promo-ic svg{width:30px;height:30px}.promo-course{background:linear-gradient(135deg,#7c3aed,#db2777 55%,#f59e0b);color:#fff}.promo-course h3,.promo-course p{color:#fff}.promo-course .promo-eyebrow{color:#fde68a}.promo-course .promo-ic{background:#ffffff2e;color:#fff}.promo-price{background:var(--card);border:1.5px solid var(--line);color:var(--ink)}.promo-price p{color:var(--muted)}.promo-price .promo-eyebrow{color:var(--blue-600)}.promo-price .promo-ic{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#422006}@media (max-width: 900px){.promo-row{grid-template-columns:1fr}}@media (max-width: 520px){.promo{grid-template-columns:1fr}.promo-ic{grid-row:auto}.promo>.btn{grid-column:1}}.import-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:20px;align-items:start}.import-drop{display:grid;justify-items:center;gap:6px;padding:26px 14px;text-align:center;cursor:pointer}.import-drop svg{width:34px;height:34px;color:var(--primary, #2563eb)}.import-drop b{overflow-wrap:anywhere}.import-help{font-size:14px;line-height:1.6}.import-help summary{cursor:pointer;font-weight:700;color:var(--primary, #2563eb)}.import-help ul{padding-left:4px;list-style:none;display:grid;gap:8px;margin:8px 0 0}.import-help code{font-size:12.5px;background:var(--soft);padding:1px 5px;border-radius:5px}.import-empty{margin:0;text-align:center;display:grid;justify-items:center;gap:8px;padding:30px 16px;color:var(--muted)}.import-empty svg{width:40px;height:40px}.q-missing .q-card{border:2px solid #f59e0b}@media (max-width: 900px){.import-grid{grid-template-columns:minmax(0,1fr)}}.route-anim{animation:routeIn .42s cubic-bezier(.22,1,.36,1) both;display:flex;flex-direction:column;flex:1}@keyframes routeIn{0%{opacity:0;transform:translateY(10px)}}.fx .reveal{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);transition-delay:var(--d, 0ms)}.fx .reveal.in{opacity:1;transform:none}.fx .modal .reveal,.fx .chat-panel .reveal,.fx .user-menu .reveal{opacity:1;transform:none;transition:none}.btn,.arena-opt{position:relative}.btn,.arena-opt,.chat-fab{overflow:hidden;isolation:isolate}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:ripple .65s ease-out forwards;pointer-events:none;z-index:-1}@keyframes ripple{to{transform:scale(1);opacity:0}}.feature:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--c, var(--blue-600)) 16%,transparent),transparent 65%)}.feature:hover:after{opacity:1}.feature .ic{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.feature:hover .ic{transform:translateY(-3px) rotate(-6deg) scale(1.08)}.card,.stat{transition:transform .2s ease,box-shadow .2s ease,border-color .2s}.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--blue-200)}.stat .ic{transition:transform .3s}.stat:hover .ic{transform:scale(1.1) rotate(-6deg)}.fx .hero{background-size:180% 180%;animation:heroShift 14s ease-in-out infinite}@keyframes heroShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero .orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55;pointer-events:none;z-index:0}.hero .orb.o1{width:320px;height:320px;background:#22d3ee;top:-90px;right:18%;animation:orb 12s ease-in-out infinite}.hero .orb.o2{width:260px;height:260px;background:#a78bfa;bottom:-100px;left:8%;animation:orb 15s ease-in-out infinite reverse}.hero .orb.o3{width:180px;height:180px;background:#fde68a;top:40%;right:-40px;opacity:.35;animation:orb 10s ease-in-out infinite}@keyframes orb{0%,to{transform:translate(0)}33%{transform:translate(40px,30px)}66%{transform:translate(-30px,20px)}}.hero h1 em{background:linear-gradient(90deg,#fde68a,#fff,#fde68a);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShine 4s linear infinite}@keyframes textShine{to{background-position:200% center}}.btn-glass{color:#fff;background:#ffffff24;border:1.5px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-glass:hover{background:#ffffff3d}.demo-btn{margin-bottom:12px;border-style:dashed}.brand:hover .brand-logo{animation:wiggle .6s ease}@keyframes wiggle{25%{transform:rotate(-8deg)}50%{transform:rotate(6deg) scale(1.05)}75%{transform:rotate(-3deg)}}.fx .chat-fab{animation:breathe 3.2s ease-in-out infinite}@keyframes breathe{50%{box-shadow:0 0 0 10px #2563eb1f,var(--glow)}}.top-progress{position:fixed;top:0;left:0;height:3px;z-index:500;background:var(--grad);animation:topbar 1.2s ease-out forwards;box-shadow:0 0 10px #2563eb99}@keyframes topbar{0%{width:0}to{width:85%}}.skeleton{background:linear-gradient(90deg,var(--soft-2) 25%,var(--soft) 50%,var(--soft-2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:10px}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section-mini{font-family:var(--font-head);font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 12px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tool-tile{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.tool-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--c)}.tool-tile .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:6px}.tool-tile .ic svg{width:22px;height:22px}.tool-tile b{font-size:15.5px}.tool-tile small{color:var(--muted);line-height:1.45}.fc-wrap{max-width:720px;margin:0 auto}.fc-card{position:relative;display:block;width:100%;height:260px;border:0;padding:0;background:none;cursor:pointer;perspective:1200px;font:inherit}.fc-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;border-radius:20px;font-size:22px;font-weight:600;text-align:center;backface-visibility:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow)}.fc-face small{position:absolute;top:14px;left:18px;font-size:12px;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.fc-face em{font-size:14px;font-weight:400;opacity:.75}.fc-front{background:var(--grad);color:#fff}.fc-back{background:var(--card);color:var(--ink);border:2px solid var(--blue-200);transform:rotateY(180deg)}.fc-card.flipped .fc-front{transform:rotateY(-180deg)}.fc-card.flipped .fc-back{transform:rotateY(0)}.mindmap-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:12px;max-height:70vh}.chips-row{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.chip-btn{border:1px dashed var(--line-2);background:var(--soft);color:var(--ink-2);border-radius:99px;padding:5px 11px;font:inherit;font-size:12.5px;cursor:pointer}.chip-btn:hover{border-color:var(--blue-500);color:var(--blue-700);background:var(--blue-50)}.img-result{margin:0}.img-result img{display:block;width:100%;height:auto;border-radius:var(--radius-sm);background:var(--soft-2);box-shadow:var(--shadow-sm)}.img-result figcaption{margin-top:8px;color:var(--muted);font-size:14px}.img-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.img-gallery button{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:6px;cursor:pointer;text-align:left;font:inherit}.img-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;display:block}.img-gallery span{display:block;font-size:12px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:17px}.step-title>span{width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:14px;flex:none}.step-title small{font-weight:400;font-size:13px}.video-stage{width:100%;margin:0 auto;background:#0b1b3f;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.video-stage canvas{display:block;width:100%;height:100%}.video-result{display:block;width:100%;max-height:420px;margin-top:14px;border-radius:12px;background:#000}.progress{height:8px;border-radius:99px;background:var(--soft-2);overflow:hidden}.progress>i{display:block;height:100%;background:var(--grad);transition:width .2s linear}.scene-list{display:flex;flex-direction:column;gap:14px}.scene{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.scene.dirty{border-color:var(--amber)}.scene-thumb{position:relative;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:var(--soft-2);display:grid;place-items:center;color:var(--muted)}.scene-thumb img{width:100%;height:100%;object-fit:cover}.scene-thumb>span{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:50%;background:#0b1b3fcc;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.scene-body{display:flex;flex-direction:column;gap:8px;min-width:0}.scene-body .input{width:100%}.scene-title{font-weight:700}.scene-body audio{height:34px;max-width:100%}.scene-body details input{margin-top:6px}.chat-modes{display:flex;gap:6px;padding:8px 12px 0;border-top:1px solid var(--line)}.chat-modes button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);border-radius:99px;padding:6px 8px;font:inherit;font-size:12.5px;cursor:pointer}.chat-modes button.on{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.chat-modes+.chat-form{border-top:0}.chat-img{margin-top:8px}.chat-img img{display:block;width:100%;border-radius:10px}.chat-img button{margin-top:6px;display:inline-flex;align-items:center;gap:4px;border:0;background:var(--blue-50);color:var(--blue-700);border-radius:99px;padding:5px 10px;font:inherit;font-size:12.5px;cursor:pointer}@media (max-width: 640px){.scene{grid-template-columns:1fr}.fc-card{height:220px}.fc-face{font-size:19px}}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);display:inline-grid;place-items:center;cursor:pointer;flex:none}.icon-btn:hover{border-color:var(--blue-500);color:var(--blue-700)}.icon-btn svg{width:19px;height:19px}.icon-btn.rec{background:var(--red);border-color:var(--red);color:#fff;animation:pulse-rec 1.2s infinite}@keyframes pulse-rec{50%{box-shadow:0 0 0 8px #dc26262e}}.link-btn{border:0;background:none;color:var(--blue-700);cursor:pointer;padding:2px 0;font:inherit;display:inline-flex;align-items:center;gap:4px}.link-btn:hover{text-decoration:underline}.side-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:16px}.ok-text{color:var(--green)}.warn-text{color:var(--red)}.mode-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.mode-pick button{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;border:2px solid var(--line);background:var(--card);text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,transform .15s}.mode-pick button span{font-size:28px}.mode-pick button small{color:var(--muted);font-size:12px;line-height:1.4}.mode-pick button:hover{transform:translateY(-2px)}.mode-pick button.on{border-color:var(--mc);box-shadow:0 0 0 3px color-mix(in srgb,var(--mc) 18%,transparent)}.quest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.quest-card{display:flex;flex-direction:column;gap:6px;border-top:4px solid var(--mc)}.quest-card-top{display:flex;align-items:center;gap:8px}.quest-emoji{font-size:30px;margin-right:auto}.quest-wrap{max-width:860px;margin:0 auto;padding:18px 0 60px}.quest-intro{text-align:center;max-width:560px;margin:30px auto;border-top:6px solid var(--mc)}.quest-intro h1{font-size:26px;margin:10px 0 6px}.quest-icon{font-size:64px;line-height:1;animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-8px)}}.quest-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 18px}.quest-facts span{background:var(--soft-2);border-radius:99px;padding:5px 12px;font-size:14px}.quest-intro .grid-2{text-align:left}.quest-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.quest-top>b{margin-right:auto;font-size:17px}.quest-score{background:var(--amber-50);color:#b45309;border-radius:99px;padding:6px 14px;font-weight:800}.quest-streak{background:var(--red-50);color:var(--red);border-radius:99px;padding:6px 12px;font-weight:800;animation:pop .4s}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.15)}}.q-scene{position:relative;border-radius:20px;overflow:hidden;margin-bottom:14px;min-height:230px;box-shadow:var(--shadow)}.q-scene.flash-good{box-shadow:0 0 0 4px #16a34a80,var(--shadow)}.q-scene.flash-bad{box-shadow:0 0 0 4px #dc262680,var(--shadow)}.q-hearts{position:absolute;top:10px;left:12px;font-size:22px;display:flex;gap:3px;z-index:2}.q-hearts span:not(.on){opacity:.5}.q-kills{position:absolute;bottom:10px;left:12px;background:#ffffffe0;color:#0f172a;border-radius:99px;padding:4px 12px;font-size:14px;z-index:2}.q-kills .pop{color:var(--green);animation:pop .5s}.shake{animation:shake .45s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.scene-monster{height:240px;background:radial-gradient(circle at 70% 30%,#4c1d95,#1e1b4b 70%);position:relative}.monster{position:absolute;right:18%;top:50px;text-align:center;animation:bob 1.8s ease-in-out infinite}.monster span{font-size:96px;display:block;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}.monster .hp{display:block;width:110px;height:9px;border-radius:9px;background:#334155;margin:6px auto 0;position:relative;overflow:hidden}.monster .hp:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:calc(var(--hp) * 100%);background:#ef4444;transition:width .3s}.monster.die span{animation:die .8s forwards}@keyframes die{30%{transform:scale(1.25) rotate(-8deg);filter:brightness(2)}to{transform:scale(0) rotate(40deg);opacity:0}}.slash{position:absolute;right:22%;top:70px;font-size:80px;animation:pop .5s}.q-hero{position:absolute;left:14%;bottom:26px;font-size:72px;animation:bob 2.2s ease-in-out infinite}.scene-treasure svg{display:block;width:100%;height:auto}.scene-tower{background:linear-gradient(#bae6fd,#e0f2fe);padding:42px 0 12px;max-height:320px;overflow:auto}.tower{width:min(260px,70%);margin:0 auto;display:flex;flex-direction:column}.roof{text-align:center;font-size:46px}.floor{height:34px;border:2px solid #475569;border-top:0;background:#e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:13px;color:#334155;border-left:6px solid var(--c)}.floor:first-of-type{border-top:2px solid #475569}.floor.done{background:#bbf7d0}.floor.here{background:#fef9c3;font-weight:700}.climber{font-size:24px;animation:bob 1s infinite}.scene-race{background:#475569;padding:18px 14px 46px}.lane{position:relative;height:46px;border-bottom:2px dashed rgba(255,255,255,.45)}.lane.me{background:#facc1526}.lane .car{position:absolute;top:4px;font-size:32px;transition:left .7s cubic-bezier(.2,.8,.2,1);transform:scaleX(-1)}.lane .finish{position:absolute;right:4px;top:6px;font-size:26px}.boost{position:absolute;right:-26px;font-size:22px;animation:pop .5s}.scene-decode{background:radial-gradient(circle,#14532d,#052e16);padding:26px 16px 50px;text-align:center;min-height:230px;transition:box-shadow .3s}.scene-decode.glow .open{animation:pop .5s}.vault{font-size:54px}.secret{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.secret span{width:40px;height:50px;border-radius:10px;display:grid;place-items:center;font-size:26px;font-weight:800;font-family:var(--font-head)}.secret .hid{background:#ffffff1f;color:#ffffff80;border:2px dashed rgba(255,255,255,.3)}.secret .open{background:#facc15;color:#422006}.secret .sp{width:16px}.quest-q-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--muted)}.quest-q-head .q-timer{margin-left:auto;font-weight:800;color:var(--ink);background:var(--soft-2);padding:4px 12px;border-radius:99px}.quest-q-head .q-timer.warn{background:var(--red-50);color:var(--red);animation:pop .5s infinite}.quest-content{font-size:19px;line-height:1.6;margin-bottom:14px;white-space:pre-line}.quest-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quest-opt{display:flex;align-items:center;gap:10px;text-align:left;padding:14px;border-radius:14px;border:2px solid var(--line-2);background:var(--card);font:inherit;font-size:16px;color:var(--ink);cursor:pointer;transition:transform .12s,border-color .12s}.quest-opt b{width:30px;height:30px;border-radius:9px;background:var(--blue-50);color:var(--blue-700);display:grid;place-items:center;flex:none}.quest-opt b:empty{display:none}.quest-opt:hover:not(:disabled){transform:translateY(-2px);border-color:var(--blue-500)}.quest-opt.right{border-color:var(--green);background:var(--green-50)}.quest-opt.wrong{border-color:var(--red);background:var(--red-50)}.quest-opt.dim{opacity:.55}.quest-short{display:flex;gap:10px}.input.big{font-size:20px;padding:12px 14px;flex:1}.quest-fb{margin-top:14px;padding:14px;border-radius:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;animation:pop .35s}.quest-fb.ok{background:var(--green-50);color:#14532d}.quest-fb.no{background:var(--red-50);color:#7f1d1d}.quest-fb p{margin:0;color:var(--ink-2)}.quest-end{text-align:center}.big-score{font-size:26px;font-weight:800;font-family:var(--font-head);color:var(--blue-700)}.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 18px}.badge-chip{background:var(--amber-50);border:1px solid #fde68a;color:#92400e;padding:6px 12px;border-radius:99px;font-weight:600;animation:pop .5s}.leader{max-width:440px;margin:0 auto 18px;text-align:left}.leader h3{display:flex;align-items:center;gap:6px;justify-content:center}.leader ol{list-style:none;padding:0;margin:0}.leader li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px}.leader li:nth-child(odd){background:var(--soft)}.leader li.me{background:var(--blue-50);outline:2px solid var(--blue-200)}.leader li span{width:28px;text-align:center}.leader li small{color:var(--muted);margin-right:auto}.leader li em{font-style:normal;font-weight:800}.tutor-start{max-width:760px}.tutor-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tutor-mode{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:14px;border:2px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:var(--ink);text-align:left}.tutor-mode svg{width:22px;height:22px;color:var(--blue-600)}.tutor-mode small{color:var(--muted)}.tutor-mode.main{border-color:var(--blue-500);background:var(--blue-50)}.tutor-mode:hover{border-color:var(--blue-600)}.tutor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.tutor-chat{display:flex;flex-direction:column;gap:12px}.tutor-problem{background:var(--amber-50);border:1px solid #fde68a;border-radius:12px;padding:10px 14px}.tutor-problem b{display:block;font-size:12px;text-transform:uppercase;color:#b45309;margin-bottom:4px}.tutor-log{display:flex;flex-direction:column;gap:10px;max-height:58vh;overflow:auto;padding:4px}.tmsg{max-width:88%;padding:12px 14px;border-radius:16px;line-height:1.6}.tmsg.me{align-self:flex-end;background:var(--blue-600);color:#fff;border-bottom-right-radius:4px}.tmsg.ai{align-self:flex-start;background:var(--soft-2);border-bottom-left-radius:4px}.tmsg.ai .doc{font-size:15px}.tmsg.ai .doc>:first-child{margin-top:0}.verdict{display:inline-block;font-weight:700;padding:2px 10px;border-radius:99px;font-size:13px;margin-bottom:6px}.v-correct{background:var(--green-50);color:var(--green)}.v-partial{background:var(--amber-50);color:#b45309}.v-wrong{background:var(--red-50);color:var(--red)}.tutor-mistake{display:flex;gap:6px;align-items:flex-start;background:var(--red-50);color:#7f1d1d;padding:8px 10px;border-radius:10px;font-size:14px;margin:8px 0}.tutor-ask{font-weight:700;color:var(--blue-800);margin:8px 0 4px}.tutor-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tutor-input{display:flex;gap:8px;align-items:center}.tutor-input .input{flex:1}.tutor-switch{display:flex;flex-wrap:wrap;gap:6px}.tutor-switch .chip-btn{display:inline-flex;align-items:center;gap:4px}.tutor-list{margin:0;padding-left:18px;font-size:14px;display:flex;flex-direction:column;gap:6px}.lab-tile .lab-emoji{font-size:34px}.lab-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:6px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.lab-main{min-width:0}.phet-frame{position:relative;width:100%;aspect-ratio:834 / 504;border-radius:12px;overflow:hidden;background:#000}.phet-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.lab-q{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.lab-q:last-child{border-bottom:0}.lab-related{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}.lab-sim{display:flex;flex-direction:column;gap:14px}.lab-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}.lab-controls label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2);min-width:150px}.lab-controls select,.lab-controls input:not([type=range]):not([type=checkbox]){border:1.5px solid var(--line-2);border-radius:10px;padding:8px 10px;font:inherit;background:var(--card);color:var(--ink)}.lab-controls input[type=range]{width:160px}.lab-stage{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;align-items:start}.lab-apparatus{width:100%;height:auto;background:linear-gradient(#f8fafc,#eef2f7);border-radius:14px}.lab-side{display:flex;flex-direction:column;gap:10px;min-width:0}.lab-side p{margin:0}.lab-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lab-readout div,.trig-values>div{background:var(--soft-2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px}.lab-readout small,.trig-values small{color:var(--muted);font-size:12px}.lab-readout b{font-size:20px;font-family:var(--font-head)}.lab-chart{width:100%;max-width:720px;height:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}.lab-eq{font-size:17px;margin:4px 0!important;overflow-x:auto;overflow-y:hidden}.lab-drop{animation:drop .45s ease-in forwards}@keyframes drop{0%{transform:translateY(0);opacity:1}to{transform:translateY(40px);opacity:0}}.bubble{animation:rise 2s linear infinite}@keyframes rise{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-135px);opacity:0}}.alkali-run{animation:zigzag 1.4s ease-in-out infinite}@keyframes zigzag{25%{transform:translate(-22px)}75%{transform:translate(22px)}}.flame{animation:bob .4s infinite}.activity-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.activity-row span{min-width:36px;text-align:center;padding:6px 4px;border-radius:8px;background:var(--soft-2);font-weight:700;font-size:14px}.activity-row span.h{background:#fee2e2;color:var(--red)}.activity-row span.ion{outline:2px solid var(--blue-500)}.activity-row span.me{background:var(--blue-600);color:#fff}.activity-row small{color:var(--muted);margin-left:6px}.balance-eq{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:22px 10px;border-radius:16px;background:var(--soft-2);font-size:22px;transition:background .3s}.balance-eq.ok{background:var(--green-50)}.balance-term{display:inline-flex;align-items:center;gap:6px}.balance-term .arrow,.balance-term .plus{margin:0 6px;font-weight:700;color:var(--muted)}.coef{display:inline-flex;flex-direction:column;align-items:center}.coef b{font-size:24px;color:var(--blue-700);min-width:26px;text-align:center}.coef button{border:0;background:var(--card);border-radius:6px;width:26px;height:22px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);box-shadow:var(--shadow-sm)}.balance-table{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:center}.balance-table tr.neq td{color:var(--red)}.balance-scale{text-align:center}.balance-scale .beam{display:flex;justify-content:space-between;width:180px;margin:0 auto;border-bottom:5px solid #475569;transform:rotate(var(--tilt));transition:transform .4s;padding:0 6px 4px}.balance-scale .beam span{background:var(--blue-50);border-radius:8px;padding:4px 10px;font-weight:800}.balance-scale .pivot{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:30px solid #475569;margin:0 auto}.atom-svg .electrons{transform-origin:160px 160px;animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nucleus-flash{animation:flash .6s;transform-origin:160px 160px}@keyframes flash{30%{filter:brightness(1.8);transform:scale(1.1)}}.beta-fly{animation:fly 1.2s ease-out forwards}@keyframes fly{to{transform:translate(140px,-130px);opacity:0}}.atom-card{display:flex;gap:14px;align-items:center;background:var(--soft-2);border-radius:14px;padding:12px}.atom-symbol{position:relative;width:84px;height:84px;border-radius:14px;background:var(--card);border:2px solid var(--blue-500);display:grid;place-items:center;flex:none}.atom-symbol b{font-size:36px;font-family:var(--font-head)}.atom-symbol small{position:absolute;left:8px;top:6px;font-size:13px}.atom-symbol small.z{top:auto;bottom:6px}.atom-symbol em{position:absolute;right:6px;top:4px;font-style:normal;font-weight:700;color:var(--red)}.atom-counter{display:flex;align-items:center;gap:8px}.atom-counter span{width:76px;font-weight:700;color:var(--c)}.atom-counter b{min-width:30px;text-align:center;font-size:20px}.atom-counter button{width:32px;height:32px;border-radius:10px;border:1.5px solid var(--c);background:var(--card);color:var(--c);display:grid;place-items:center;cursor:pointer}.graph-wrap{position:relative}.graph{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:12px;touch-action:none;cursor:grab}.graph-tools{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px}.graph-info ul{margin:6px 0 0;padding-left:18px}.expr-in{flex-direction:row!important;align-items:center;gap:6px!important;color:var(--c)!important;font-weight:700}.expr-in input{width:190px;font-weight:400}.unit-svg,.geo-svg{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:12px;touch-action:none;-webkit-user-select:none;user-select:none}.trig-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.prob-last{display:flex;align-items:center;gap:14px}.prob-last .coin{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#fde68a;border:3px solid #d97706;animation:flipcoin .5s}.prob-last .coin.c1{background:#e5e7eb;border-color:#6b7280}@keyframes flipcoin{0%{transform:rotateY(540deg)}}.prob-last .die{font-size:40px;line-height:1;animation:pop .4s}.scene-arena{background:linear-gradient(135deg,#0e7490,#164e63);color:#fff;padding:18px 16px 22px}.arena-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px;font-size:15px}.arena-head b{font-size:18px}.arena-tier{background:#fff;color:var(--c);font-weight:800;padding:4px 12px;border-radius:99px;font-size:13px}.arena-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:6px}.arena-track i{font-style:normal;text-align:center;font-weight:700;font-size:13px;padding:7px 0;border-radius:9px;background:#ffffff24;color:#cffafe;transition:background .3s}.arena-track i.ok{background:#22c55e;color:#fff}.arena-track i.no{background:#ef4444;color:#fff}.arena-track i.now{background:#fde68a;color:#713f12;animation:pop .6s}.arena-rules{text-align:left;background:var(--soft);border-radius:14px;padding:14px 16px;margin:14px 0}.arena-rules ol{margin:6px 0 12px;padding-left:20px;font-size:14px;line-height:1.6}.arena-points{margin-bottom:12px}.arena-points td,.arena-points th{text-align:center}.tier-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:6px}.tier-pick button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:12px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,transform .15s}.tier-pick button span{font-size:26px}.tier-pick button small{color:var(--muted);font-size:12px;line-height:1.4}.tier-pick button em{font-style:normal;font-size:12px;font-weight:700;color:var(--c)}.tier-pick button:hover{transform:translateY(-2px)}.tier-pick button.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent)}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;max-width:560px;margin:4px auto 14px}.result-stats span{display:flex;flex-direction:column;gap:2px;background:var(--soft);border-radius:12px;padding:10px;font-size:13px;color:var(--muted)}.result-stats b{font-size:20px;color:var(--ink);font-family:var(--font-head)}.arena-set{background:var(--soft);border-radius:14px;padding:12px 14px;margin-bottom:12px}.qe{margin-top:12px}.qe-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.qe-item{border:1.5px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;display:grid;gap:8px;background:var(--card)}.qe-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qe-top select{width:auto;padding:6px 10px}.qe-sec{display:inline-flex;align-items:center;gap:4px;font-size:13px}.qe-sec input{width:64px;padding:6px 8px}.qe-acts{margin-left:auto;display:inline-flex;gap:2px}.qe-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qe-opts small{grid-column:1 / -1}.qe-opt{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px;border:1.5px solid transparent;cursor:pointer}.qe-opt.on{border-color:var(--green);background:var(--green-50)}.qe-opt b{width:18px}.qe-opt input[type=radio]{width:18px;height:18px;accent-color:var(--green);flex:none}.qe-exp{font-size:13px}.bonus-cell{display:flex;gap:6px;align-items:center;min-width:230px}.bonus-cell input{padding:5px 8px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:13px;background:var(--card);color:var(--ink)}.bonus-cell input[type=number]{width:70px}.bonus-cell input:not([type]){flex:1;min-width:100px}@media (max-width: 1020px){.tutor-layout,.lab-layout,.lab-stage{grid-template-columns:1fr}.lab-stage .lab-apparatus{max-width:320px;margin:0 auto}}@media (max-width: 640px){.lab-controls{display:grid;grid-template-columns:1fr 1fr}.lab-controls label{min-width:0}.lab-controls select{width:100%}.quest-opts,.tutor-options,.tutor-modes,.balance-table{grid-template-columns:1fr}.balance-eq{font-size:17px}.monster span{font-size:70px}.q-hero{font-size:54px}.lab-readout{grid-template-columns:1fr 1fr 1fr}.qe-opts{grid-template-columns:1fr}.qe-acts{margin-left:0}.arena-track{grid-template-columns:repeat(5,1fr)}}.lab-search{min-width:240px;flex:1;max-width:360px}.tlab-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tlab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.tlab-card{padding:0;overflow:hidden;display:flex;flex-direction:column;color:inherit;text-decoration:none;margin:0;transition:transform .15s,box-shadow .15s}.tlab-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg, 0 10px 30px rgba(15,23,42,.12))}.tlab-cover{position:relative;aspect-ratio:16 / 10;background:var(--soft, #f1f5f9);display:grid;place-items:center;overflow:hidden}.tlab-cover img{width:100%;height:100%;object-fit:cover}.tlab-emoji{font-size:44px}.tlab-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;background:#0f172ac7;color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px}.tlab-badge.draft{left:auto;right:8px;background:#f59e0b}.tlab-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.tlab-body small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tlab-foot{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:auto}.tlab-empty{text-align:center;display:grid;justify-items:center;gap:8px;padding:26px 18px;margin:0}.tlab-empty>svg{width:38px;height:38px;color:var(--primary, #2563eb)}.tlab-video{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000}.tlab-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.tlab-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.tlab-gallery button{padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;overflow:hidden;aspect-ratio:4 / 3}.tlab-gallery img{width:100%;height:100%;object-fit:cover;display:block}.tlab-block{margin:0}.tlab-text{white-space:pre-line;line-height:1.7;overflow-wrap:anywhere}.tlab-warn{border-left:4px solid #f59e0b}.tlab-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e0;display:grid;place-items:center;padding:16px;cursor:zoom-out}.tlab-zoom img{max-width:100%;max-height:100%;border-radius:8px}.tlab-zoom .btn{position:absolute;top:14px;right:14px}.tlab-editor{display:grid;gap:16px;max-width:860px}.tlab-editor>.card{margin:0}.tlab-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.tlab-thumb,.tlab-add{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden}.tlab-thumb img{width:100%;height:100%;object-fit:cover}.tlab-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:#0f172abf;color:#fff;display:grid;place-items:center;cursor:pointer}.tlab-move{position:absolute;bottom:6px;right:6px;display:flex;gap:4px}.tlab-move button{width:30px;height:30px;border-radius:8px;border:0;background:#ffffffeb;font-size:18px;font-weight:700;cursor:pointer}.tlab-move button:disabled{opacity:.35}.tlab-add{border:2px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;text-align:center;padding:8px;color:var(--muted)}.tlab-add svg{width:30px!important;height:30px!important;color:var(--primary, #2563eb)}.tlab-add span{font-weight:700;color:var(--text, inherit)}.tlab-qrow{display:flex;gap:6px;align-items:center}.tlab-qrow input{flex:1;min-width:0}.tlab-own{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0;line-height:1.55}.tlab-own input{width:20px;height:20px;flex:none;margin-top:2px}.tlab-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@media (max-width: 640px){.lab-search{min-width:0;max-width:none;width:100%;flex:1 1 100%}body:has(.tlab-editor) .chat-fab{display:none}.tlab-grid{grid-template-columns:1fr 1fr;gap:10px}.tlab-body{padding:10px}.tlab-body b{font-size:14px}.tlab-body small,.tlab-foot{display:none}.tlab-gallery{grid-template-columns:1fr 1fr;gap:8px}.tlab-pick{grid-template-columns:repeat(3,1fr);gap:8px}.tlab-actions{position:sticky;bottom:0;z-index:5;background:var(--card);margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.tlab-actions .btn{flex:1;justify-content:center}.tlab-actions>span{display:none}}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.class-card{margin:0;color:inherit;text-decoration:none;display:grid;gap:6px;transition:transform .15s}.class-card:hover{transform:translateY(-2px)}.class-name{font-size:22px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.class-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.class-stats span{display:inline-flex;align-items:center;gap:5px}.class-stats .on{color:#16a34a;font-weight:700}.class-code{font-size:1.15em;letter-spacing:.08em}.class-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.class-summary .card{margin:0;display:grid;justify-items:center;gap:2px;padding:14px 8px;text-align:center;border:1px solid var(--line);cursor:default;font:inherit;color:inherit}.class-summary button.card{cursor:pointer}.class-summary b{font-size:26px}.class-summary .on b{color:#16a34a}.class-summary span{font-size:13px;color:var(--muted)}.teacher-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.teacher-list .chip{white-space:normal}.class-tools{margin:16px 0 12px}.class-search{min-width:200px;flex:1;max-width:320px}.stu-list{display:grid;gap:10px}.stu-card{margin:0;padding:12px 14px;display:grid;gap:8px}.stu-card.locked{opacity:.65}.stu-main{display:grid;grid-template-columns:auto minmax(160px,1fr) 2fr;gap:12px;align-items:center;cursor:pointer}.stu-dot{width:12px;height:12px;border-radius:50%;background:#cbd5e1}.stu-dot.on{background:#22c55e;box-shadow:0 0 0 4px #22c55e2e}.stu-info{display:grid;min-width:0}.stu-info b,.stu-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stu-now{display:grid;gap:2px;font-size:14px;min-width:0}.stu-now .on{color:#15803d}.stu-now small{display:inline-flex;align-items:center;gap:4px}.stu-actions{display:flex;flex-wrap:wrap;gap:4px;border-top:1px dashed var(--line);padding-top:6px}.act-list{list-style:none;padding:0;margin:0;max-height:60vh;overflow-y:auto}.act-list li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.act-time{color:var(--muted);font-variant-numeric:tabular-nums}.cred-list{display:grid;gap:8px;max-height:50vh;overflow-y:auto;margin:12px 0}.cred-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:14px}.cred-row code{font-size:15px;font-weight:700;-webkit-user-select:all;user-select:all}@media (max-width: 640px){.class-summary{grid-template-columns:repeat(2,1fr)}.class-search{min-width:0;max-width:none;flex:1 1 100%}.stu-main{grid-template-columns:auto 1fr}.stu-now{grid-column:2}.stu-actions .btn{flex:1 1 45%;justify-content:center}.cred-row,.act-list li{grid-template-columns:1fr;gap:2px}}
