:root{--bg-canvas: #f8fafc;--bg-surface: #ffffff;--bg-subtle: #f1f5f9;--bg-hover: #e2e8f0;--bg-elevated: #ffffff;--ink-primary: #0f172a;--ink-secondary: #334155;--ink-muted: #64748b;--ink-faint: #94a3b8;--ink-inverse: #ffffff;--accent-primary: #2563eb;--accent-hover: #1d4ed8;--accent-active: #1e40af;--accent-soft: #eff6ff;--accent-border: #bfdbfe;--accent-text: #1d4ed8;--success-primary: #059669;--success-soft: #ecfdf5;--success-border: #a7f3d0;--success-text: #065f46;--warn-primary: #d97706;--warn-soft: #fffbeb;--warn-border: #fde68a;--warn-text: #92400e;--danger-primary: #dc2626;--danger-soft: #fef2f2;--danger-border: #fecaca;--danger-text: #991b1b;--info-primary: #0284c7;--info-soft: #f0f9ff;--info-border: #bae6fd;--info-text: #0369a1;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--border-focus: #2563eb;--border-interactive: #94a3b8;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .03);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .07), 0 4px 6px -4px rgba(15, 23, 42, .03);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-math: "KaTeX_Main", "Times New Roman", serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-normal: .22s;--unit-1: #2563eb;--unit-2: #0891b2;--unit-3: #059669;--unit-4: #7c3aed;--unit-5: #d97706;--unit-6: #db2777;--unit-7: #4f46e5;--unit-8: #0d9488;--unit-9: #ea580c;--unit-10: #0284c7;--unit-11: #65a30d;--unit-12: #9333ea;--primary: var(--accent-primary);--primary-hover: var(--accent-hover);--primary-strong: var(--accent-active);--primary-soft: var(--accent-soft);--primary-ink: var(--accent-text);--secondary: var(--info-primary);--secondary-soft: var(--info-soft);--surface: var(--bg-surface);--surface-1: var(--bg-surface);--surface-2: var(--bg-subtle);--surface-3: var(--bg-hover);--canvas: var(--bg-canvas);--bg: var(--bg-canvas);--ink: var(--ink-primary);--ink-2: var(--ink-secondary);--ink-3: var(--ink-muted);--border: var(--border-subtle);--border-strong: var(--border-strong);--success: var(--success-primary);--success-soft: var(--success-soft);--success-strong: var(--success-text);--warn: var(--warn-primary);--warn-soft: var(--warn-soft);--danger: var(--danger-primary);--danger-soft: var(--danger-soft);--info: var(--info-primary);--info-soft: var(--info-soft);--focus: var(--border-focus);--locked: var(--ink-muted);--locked-soft: var(--bg-subtle);--t-fast: var(--duration-fast);--t-med: var(--duration-normal);--topbar-h: 56px;--bottomnav-h: 60px;--content-max: 1180px;--font-ui: var(--font-sans)}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--ink-primary);background-color:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh}a{color:var(--accent-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--sp-4);background:var(--accent-primary);color:var(--ink-inverse);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);z-index:1000;font-weight:600;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--sp-4)}.app-shell{display:flex;min-height:100vh;background-color:var(--bg-canvas)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.page{width:100%;max-width:960px;margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-16)}.page--wide{max-width:1140px}.page--narrow{max-width:720px}.app-topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--sp-6);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:16px;color:var(--ink-primary);letter-spacing:-.01em}.brand__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:var(--accent-primary);color:#fff;font-weight:800;font-size:13px}.nav-links{display:flex;align-items:center;gap:var(--sp-1)}.nav-link{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--ink-secondary);font-size:14px;font-weight:500;transition:background var(--duration-fast),color var(--duration-fast)}.nav-link:hover{background:var(--bg-subtle);color:var(--ink-primary)}.nav-link--active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.topbar-right{display:flex;align-items:center;gap:var(--sp-3)}.profile-pill{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 10px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--r-pill);font-size:13px;color:var(--ink-secondary);font-weight:500}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);z-index:50;padding:0 var(--sp-2)}.mobile-nav__links{display:flex;height:100%;align-items:center;justify-content:space-around}.mobile-nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;height:100%;color:var(--ink-muted);font-size:11px;font-weight:500}.mobile-nav__link--active{color:var(--accent-primary);font-weight:700}@media (max-width: 768px){.nav-links{display:none}.mobile-nav{display:block}.page{padding-bottom:calc(60px + var(--sp-8))}.app-topbar{padding:0 var(--sp-4)}}@media (max-width: 480px){.editorial-hero__title{font-size:24px;overflow-wrap:break-word;word-break:break-word}.editorial-hero__sub{font-size:15px}.section-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.page{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.hero__actions,.quick-actions,[class*=__actions]{min-width:0}.editorial-hero{padding:var(--sp-8) 0 var(--sp-6);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--sp-8)}.editorial-hero__kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);margin-bottom:var(--sp-2)}.editorial-hero__title{font-size:28px;font-weight:800;line-height:1.25;color:var(--ink-primary);letter-spacing:-.02em;margin-bottom:var(--sp-3)}.editorial-hero__sub{font-size:16px;line-height:1.6;color:var(--ink-secondary);max-width:640px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle)}.section-head__kicker{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.section-head__title{font-size:18px;font-weight:700;color:var(--ink-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:8px 16px;border-radius:var(--r-md);font-size:14px;font-weight:600;line-height:1.3;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:var(--accent-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover);color:#fff}.btn--secondary{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--ink-secondary)}.btn--secondary:hover:not(:disabled){background:var(--bg-subtle);color:var(--ink-primary);border-color:var(--ink-muted)}.btn--ghost{color:var(--ink-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--ink-primary)}.btn--sm{padding:5px 10px;font-size:13px}.btn--lg{padding:12px 24px;font-size:15px;border-radius:var(--r-lg)}.card-clean{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.card-clean:hover{border-color:var(--border-strong)}.grid-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.unit-row{display:block;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);color:var(--ink-primary);transition:border-color var(--duration-fast),transform var(--duration-fast)}.unit-row:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.unit-row--locked{opacity:.6}.unit-row--locked:hover{border-color:var(--border-subtle);transform:none}.lesson-shell{max-width:800px;margin:0 auto}.lesson-nav-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle)}.lesson-progress-pills{display:flex;align-items:center;gap:6px}.lesson-progress-pill{width:24px;height:6px;border-radius:var(--r-pill);background:var(--border-subtle);transition:background var(--duration-fast)}.lesson-progress-pill--done{background:var(--success-primary)}.lesson-progress-pill--active{background:var(--accent-primary);width:36px}.editorial-concept{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-xl);padding:var(--sp-8) var(--sp-6);margin-bottom:var(--sp-6)}.editorial-concept h2{font-size:22px;font-weight:800;margin-bottom:var(--sp-4);color:var(--ink-primary);letter-spacing:-.01em}.editorial-concept p{font-size:16px;line-height:1.75;color:var(--ink-secondary);margin-bottom:var(--sp-4)}.editorial-concept p:last-child{margin-bottom:0}.video-facade{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--r-lg);overflow:hidden;background:var(--ink-primary);cursor:pointer;margin:var(--sp-5) 0}.video-facade__thumb{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity var(--duration-fast)}.video-facade:hover .video-facade__thumb{opacity:.95}.video-facade__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);background:#0f172a66}.video-facade__playbtn{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent-primary);color:#fff;transition:transform var(--duration-fast)}.video-facade:hover .video-facade__playbtn{transform:scale(1.08)}.video-facade__label{font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.video-player{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--r-lg);overflow:hidden;margin:var(--sp-5) 0}.video-player__iframe{width:100%;height:100%;border:none}.activity-box{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-xl);padding:var(--sp-6);margin-bottom:var(--sp-6)}.activity-box__header{margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle)}.activity-box__badge{font-size:12px;font-weight:700;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-1)}.activity-box__title{font-size:18px;font-weight:700;color:var(--ink-primary);margin-bottom:var(--sp-2)}.activity-box__prompt{font-size:15.5px;color:var(--ink-secondary);line-height:1.6}.activity-box__canvas{margin:var(--sp-5) 0;min-height:160px;display:flex;align-items:center;justify-content:center}.feedback-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin:var(--sp-4) 0;font-size:14.5px;line-height:1.5}.feedback-card--correct{background:var(--success-soft);border:1px solid var(--success-border);color:var(--success-text)}.feedback-card--wrong{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.feedback-card--hint{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn-text)}.math{font-family:var(--font-math);color:var(--ink-primary)}.math--inline{display:inline-block;vertical-align:-.1em;padding:0 1px}.math--block{display:block;text-align:center;margin:var(--sp-4) 0;overflow-x:auto;overflow-y:hidden;padding:var(--sp-2) 0}.katex-display{margin:var(--sp-3) 0!important;overflow-x:auto;overflow-y:hidden}.admin-shell{max-width:1200px;margin:0 auto;padding:var(--sp-6) var(--sp-4)}.admin-badge{display:inline-block;padding:2px 8px;border-radius:var(--r-xs);font-size:11.5px;font-weight:700;text-transform:uppercase}.admin-badge--isolated{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.muted{color:var(--ink-muted);font-size:14px}.row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.mt{margin-top:var(--sp-3)}.mb{margin-bottom:var(--sp-3)}.center{text-align:center}.panel{background:var(--bg-surface);border:1.5px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.panel--good{border-color:#bfe6d3;background:var(--success-soft)}.panel--hot{border-color:#c7d2fe;background:linear-gradient(135deg,#eef0fe,#e6f6fe)}.panel--muted{background:var(--bg-subtle);border-style:dashed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-6);background:var(--bg-surface);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--ink-secondary)}.empty-state__icon{font-size:40px}.empty-state__title{font-size:18px;font-weight:700;margin:var(--sp-2) 0 0;color:var(--ink-primary)}.empty-state__text{max-width:420px;margin:0 auto}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-10);color:var(--ink-muted);font-weight:600}.loading-state__spinner{width:22px;height:22px;border:3px solid var(--bg-hover);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{background:linear-gradient(135deg,var(--accent-soft) 0%,#e6f6fe 100%);border-radius:var(--r-xl);padding:var(--sp-8) var(--sp-6);margin-bottom:var(--sp-6);border:1px solid var(--accent-border);text-align:center}.hero__badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--accent-text);background:#ffffffbf;border:1px solid var(--accent-border);border-radius:var(--r-pill);padding:4px 14px;margin-bottom:var(--sp-3)}.hero__title{font-size:28px;font-weight:800;margin:0 0 var(--sp-2);color:var(--ink-primary);letter-spacing:-.02em}.hero__sub{font-size:16px;color:var(--ink-secondary);max-width:480px;margin:0 auto var(--sp-4);line-height:1.6}.hero-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-4)}.field__label{font-size:13px;font-weight:700;color:var(--ink-secondary)}.field__input{font-family:inherit;font-size:15px;color:var(--ink-primary);background:var(--bg-surface);border:1.5px solid var(--border-strong);border-radius:var(--r-md);padding:11px 14px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);width:100%}.field__input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.field__input::placeholder{color:var(--ink-faint)}.card{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);font-size:15px;font-weight:600;color:var(--ink);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);-webkit-user-select:none;user-select:none}button.card{cursor:pointer}button.card:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}button.card:disabled{opacity:.55;cursor:not-allowed}.card--in{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink)}.card--sel{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.card--ok{border-color:var(--success);background:var(--success-soft);color:var(--success-strong)}.card--bad{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.card--used{opacity:.55;border-style:dashed}.card--token{border-radius:var(--r-pill);background:var(--surface-2);border-color:var(--border-strong);font-family:var(--font-math);font-size:17px;padding:8px 16px}.card--op{min-width:52px;font-family:var(--font-math);font-size:18px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);font-size:12.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.chip--good{background:var(--success-soft);color:var(--success-strong)}.chip--warn{background:var(--warn-soft);color:var(--warn)}.chip--bad{background:var(--danger-soft);color:var(--danger)}.chip--info{background:var(--info-soft);color:var(--info)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-sm);font-size:12px;font-weight:700;background:var(--surface-2);color:var(--ink-2)}.badges{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-3)}.badge-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg)}.badge-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-md);background:var(--warn-soft);font-size:26px;flex:none}.badge-card__body{display:flex;flex-direction:column;gap:2px}.badge-card__name{font-weight:700;font-size:15px}.badge-card__desc{font-size:13px;color:var(--ink-2)}.badge-card__date{font-size:12px;color:var(--ink-3)}.progress{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.progress__fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .3s ease}.stars{display:inline-flex;gap:2px;font-size:16px;line-height:1}.star{color:var(--border-strong)}.star--on{color:#f59e0b}.callout{display:flex;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--info-soft);border:1px solid #cddcfb;margin-bottom:var(--sp-4)}.callout--good{background:var(--success-soft);border-color:#bfe6d3}.callout--warn{background:var(--warn-soft);border-color:#f3ddb4}.callout--think{background:var(--surface-2);border-color:var(--border)}.callout--danger{background:var(--danger-soft);border-color:#f5c6c6}.callout__title{font-weight:700;margin-bottom:2px;color:var(--ink)}.callout__body{font-size:14.5px;color:var(--ink-2)}.callout__body p{margin:0 0 6px}.callout__body p:last-child{margin-bottom:0}.feedback{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:14.5px;margin:var(--sp-3) 0;border:1px solid transparent;animation:feedback-in .18s ease}@keyframes feedback-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.feedback--correct{background:var(--success-soft);border-color:#bfe6d3;color:var(--success-strong)}.feedback--wrong{background:var(--danger-soft);border-color:#f6c6c6;color:#b91c1c}.feedback--fixed{background:var(--warn-soft);border-color:#f3ddb4;color:#b45309}.feedback__icon{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:currentColor;color:#fff;font-size:13px;font-weight:800;margin-top:1px}.feedback--correct .feedback__icon{background:var(--success)}.feedback--wrong .feedback__icon{background:var(--danger)}.feedback--fixed .feedback__icon{background:var(--warn)}.feedback__text{line-height:1.5}.hintbox{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--warn-soft);border:1px solid #f3ddb4;font-size:14.5px;margin:var(--sp-3) 0;align-items:flex-start}.hintbox__level{flex:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--warn);background:#fff;border:1px solid #f3ddb4;padding:2px 8px;border-radius:var(--r-pill);margin-top:2px}.hintbox__text{color:#7c4a03}.input{width:100%;max-width:320px;padding:10px 14px;border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-size:15px;font-family:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input:disabled{background:var(--surface-2)}.runner{display:flex;flex-direction:column;gap:var(--sp-4)}.runner__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.runner__prompt{font-size:17px;font-weight:700;color:var(--ink);line-height:1.5}.runner__meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.runner__actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;border-top:1px solid var(--border);padding-top:var(--sp-4);margin-top:var(--sp-4)}.runner__suggest{font-size:13px;color:var(--warn);font-weight:600}.runner__done{color:var(--success);font-weight:700}.choiceview{display:flex;flex-direction:column;gap:var(--sp-3)}.choice{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;padding:14px 18px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);font-size:16px;font-weight:600;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.choice:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.choice--picked{border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--shadow-sm)}.choice--picked:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary);flex:none}.choice__label{flex:1;font-family:var(--font-math);font-size:17px}.inputview{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start}.inputview__label{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-weight:600}.sortview{display:flex;flex-direction:column;gap:var(--sp-4)}.sortview__pool{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-4)}.sortview__cards{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.sortview__buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.bucket{background:var(--surface-2);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-3);min-height:120px}.bucket__name{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin-bottom:var(--sp-2)}.bucket__items{display:flex;flex-direction:column;gap:var(--sp-2);align-items:stretch}.orderview{display:flex;flex-direction:column;gap:var(--sp-3)}.orderview__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.order-item{display:flex}.order-item .card{width:100%;justify-content:flex-start;gap:var(--sp-3)}.order-item--ok .card{border-color:var(--success);background:var(--success-soft);color:var(--success-strong)}.order-item__pos{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3);font-weight:800;font-size:13px;flex:none}.numberline{display:flex;flex-direction:column;gap:var(--sp-5)}.numberline__tokens{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:center}.numberline__token{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);border:2px dashed var(--border-strong);background:var(--surface);font-size:16px;font-weight:700;color:var(--ink);cursor:pointer;transition:all var(--t-fast);font-family:var(--font-math)}.numberline__token:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.numberline__token--active{border-style:solid;border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-soft)}.numberline__token--placed{border-style:solid;border-color:var(--success);background:var(--success-soft);color:var(--success-strong)}.numberline__token--disabled{opacity:.7;cursor:default}.numberline__token-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex:none}.numberline__token-check{color:var(--success-strong);font-weight:800;flex:none}.numberline__token .katex{font-size:1.05em}.numberline__track{position:relative;padding:46px 0 34px;margin:0 var(--sp-2);overflow-x:auto;min-width:260px}.numberline__axis{position:absolute;top:20px;left:0;right:0;display:flex;align-items:center;gap:0}.numberline__line{flex:1;height:3px;background:var(--ink-2);border-radius:2px}.numberline__arrow{font-size:11px;color:var(--ink-2);line-height:1;flex:none}.numberline__arrow--left{margin-right:2px}.numberline__arrow--right{margin-left:2px}.numberline__markers{position:absolute;top:0;left:0;right:0;height:34px;pointer-events:none}.numberline__marker{position:absolute;transform:translate(-50%);top:0;background:var(--primary);color:#fff;font-size:13px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap;font-family:var(--font-math);box-shadow:0 2px 6px #0000001f}.numberline__marker .katex{color:#fff;font-size:.95em}.numberline__ticks{position:relative;height:40px}.numberline__tick{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;top:0}.numberline__tickmark{width:2px;height:14px;background:var(--ink-2);transition:all var(--t-fast)}.numberline__tick--int .numberline__tickmark,.numberline__tick--frac .numberline__tickmark{height:14px;background:var(--ink-2)}.numberline__tick--mark .numberline__tickmark{background:var(--primary);height:18px}.numberline__tick--hit .numberline__tickmark{background:var(--success)}.numberline__tick--miss .numberline__tickmark{background:var(--danger)}.numberline__tick--slot .numberline__tickmark{background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.numberline__num{font-size:13px;color:var(--ink-2);font-weight:600;font-family:var(--font-math);margin-top:2px}.numberline__tick:hover .numberline__tickmark{background:var(--primary)}.numberline__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.fracbar{display:flex;flex-direction:column;gap:var(--sp-4)}.fracbar__frac{display:flex;flex-direction:column;align-items:center;font-family:var(--font-math);font-size:26px;line-height:1.1;width:max-content;margin:0 auto}.fracbar__num{padding:0 10px}.fracbar__bar{width:100%;height:3px;background:var(--ink);display:block;margin:2px 0}.fracbar__den{padding:0 10px}.fracbar__barbox{display:flex;width:100%;border:2px solid var(--ink-2);border-radius:var(--r-sm);overflow:hidden;height:56px}.fracbar__seg{flex:1;border:none;border-right:1px solid var(--ink-2);background:var(--surface);cursor:pointer;transition:background var(--t-fast)}.fracbar__seg:last-child{border-right:none}.fracbar__seg--on{background:var(--primary)}.balanceview{display:flex;flex-direction:column;gap:var(--sp-4)}.balance__beam{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--surface-2);border-radius:var(--r-lg);border:1.5px solid var(--border);transition:background var(--t-med)}.balance__beam--level{background:var(--success-soft);border-color:#bfe6d3}.balance__pan{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);min-width:120px;text-align:center}.balance__expr{font-family:var(--font-math);font-size:20px;font-weight:600}.balance__expr span{color:var(--ink-3);font-size:15px}.balance__pivot{font-size:26px;color:var(--ink-3)}.balance__ops{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.balance__guess{display:flex;align-items:center;gap:var(--sp-2);font-weight:600}.balance__guess input{width:90px;padding:8px 12px;border:1.5px solid var(--border-strong);border-radius:var(--r-md);font-size:16px;font-family:var(--font-math)}.tilesview{display:flex;flex-direction:column;gap:var(--sp-4)}.tilesview__tray{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.tile-pick{display:flex;align-items:center;gap:var(--sp-2)}.tile{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r-sm);border:2px solid var(--border-strong);background:var(--surface);font-family:var(--font-math);font-size:18px;font-weight:700;cursor:pointer;transition:transform var(--t-fast),border-color var(--t-fast)}.tile:hover:not(:disabled){transform:translateY(-2px);border-color:var(--primary)}.tile--unit{background:#fde68a;border-color:#f59e0b}.tile--unit-neg{background:#fecaca;border-color:#ef4444}.tile--x{background:#bbf7d0;border-color:#22c55e}.tile--x-neg{background:#fecdd3;border-color:#f43f5e}.tile--x2{background:#bfdbfe;border-color:#3b82f6}.tile--on{pointer-events:none}.tile-count{font-size:12.5px;font-weight:700;color:var(--ink-2)}.tile-minus{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--surface);font-weight:800;cursor:pointer;font-size:15px}.tilesview__board{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-height:90px;background:var(--surface-2);border-radius:var(--r-lg);border:1.5px dashed var(--border-strong);padding:var(--sp-4);align-content:flex-start}.machineview{display:flex;flex-direction:column;gap:var(--sp-4)}.machineview__diagram{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex-wrap:wrap;font-family:var(--font-math);font-size:18px}.machineview__box{background:var(--surface-2);border:1.5px solid var(--border-strong);border-radius:var(--r-md);padding:6px 14px;font-weight:700}.machineview__fn{background:var(--primary-soft);color:var(--primary-ink);border-radius:var(--r-md);padding:6px 14px;font-weight:700}.machineview__arrow{color:var(--ink-3);font-size:22px}.machineview__table{width:100%;border-collapse:collapse}.machineview__table th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:var(--sp-2);border-bottom:2px solid var(--border)}.machineview__table td{padding:var(--sp-2);border-bottom:1px solid var(--border);font-family:var(--font-math);font-size:16px}.machineview__truth{color:var(--success);font-weight:700}.coordview{display:flex;flex-direction:column;gap:var(--sp-3)}.coordgrid{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;max-width:440px;width:100%;margin:0 auto;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2)}.coordcell{aspect-ratio:1;border:none;border-radius:4px;background:var(--surface-2);cursor:pointer;transition:background var(--t-fast)}.coordcell:hover:not(:disabled){background:var(--primary-soft)}.coordcell--on{background:var(--primary)}.coordcell--target{outline:2px solid var(--success);outline-offset:-2px}.coordcell--hit{background:var(--success)}.coordcell--miss{background:var(--danger)}.stepsview{display:flex;flex-direction:column;gap:var(--sp-4)}.stepsview__pool{display:flex;flex-wrap:wrap;gap:var(--sp-2);background:var(--surface-2);padding:var(--sp-3);border-radius:var(--r-md)}.stepsview__pool .card{text-align:left;justify-content:flex-start}.stepsview__seq{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2);counter-reset:step}.step-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md)}.step-item--ok{border-color:var(--success);background:var(--success-soft)}.step-item--bad{border-color:var(--danger);background:var(--danger-soft)}.step-item__n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3);font-weight:800;font-size:13px;flex:none}.stepsview__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.buildview{display:flex;flex-direction:column;gap:var(--sp-4)}.buildview__pool{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.buildview__answer{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-height:64px;background:var(--surface-2);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-3);align-items:center}.buildview__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.matchview{display:flex;flex-direction:column;gap:var(--sp-4)}.matchview__cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.matchview__col{display:flex;flex-direction:column;gap:var(--sp-2)}.matchview__collabel{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:2px}.matchview__col .card{justify-content:flex-start;text-align:left;width:100%}.errorspyview{display:flex;flex-direction:column;gap:var(--sp-3)}.errorspyview__lines{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.spy-line{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3)}.spy-line--wrong{border-color:var(--danger);background:var(--danger-soft)}.spy-line__label{display:flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer}.spy-line__text{font-family:var(--font-math);font-size:16px}.spy-line__fix{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid #f3c1c1;font-size:14px;color:#b91c1c}.exploreview{display:flex;flex-direction:column;gap:var(--sp-4)}.lab{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.lab p{font-family:var(--font-math);font-size:17px;margin:0}.lab label{font-weight:600;font-size:14px;display:flex;flex-direction:column;gap:4px}.sliderview{display:flex;flex-direction:column;gap:var(--sp-4)}.sliderview__svg{width:100%;max-width:480px;margin:0 auto;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg)}.sliderview__label{display:flex;flex-direction:column;gap:4px;font-weight:700}.gameview,.minigame{display:flex;flex-direction:column;gap:var(--sp-3)}.minigame__opts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.minigame__opts .card{min-width:56px;font-family:var(--font-math);font-size:17px}.filljars__jars{display:flex;gap:var(--sp-4)}.jar{flex:1;text-align:center;padding:var(--sp-4);background:var(--surface-2);border-radius:var(--r-md);font-family:var(--font-math);font-size:18px;font-weight:700;border:1.5px solid var(--border)}.quest__list{display:flex;flex-direction:column;gap:var(--sp-3)}.quest__item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg)}.quest__item--done{opacity:.65}.quest__item--done .quest__check{background:var(--success);color:#fff}.quest__check{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-3);font-weight:800;flex:none}.quest__label{flex:1;font-weight:600;font-size:14.5px}.quest__go{margin-left:auto}.boss{display:flex;flex-direction:column;gap:var(--sp-5)}.boss__head{display:flex;align-items:center;gap:var(--sp-4);background:linear-gradient(135deg,#1e1b4b,#3730a3);color:#fff;border-radius:var(--r-xl);padding:var(--sp-6)}.boss__head h1{color:#fff;font-size:26px;margin-bottom:4px}.boss__head p{color:#c7d2fe;margin:0}.boss__headbadge{font-size:40px;line-height:1;flex:none}.boss__progress{margin-left:auto;min-width:160px}.boss__progresslabel{display:block;font-size:12px;color:#c7d2fe;margin-top:6px;text-align:right}.boss__intro{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.boss__facts{margin:var(--sp-3) 0 var(--sp-4);padding-left:var(--sp-5)}.boss__facts li{margin-bottom:var(--sp-2);color:var(--ink-2)}.boss__fight{display:flex;flex-direction:column;gap:var(--sp-4)}.boss__win{text-align:center;background:var(--surface);border:2px solid #bfe6d3;border-radius:var(--r-xl);padding:var(--sp-8) var(--sp-6)}.boss__lose{text-align:center;background:var(--surface);border:2px solid var(--warn-soft);border-radius:var(--r-xl);padding:var(--sp-8) var(--sp-6)}.boss__winbadge{font-size:52px;line-height:1;margin-bottom:var(--sp-2)}.boss__winnav{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-4)}.boss-section{margin-top:var(--sp-5)}.diagnostic__nav{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-4)}.concept-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.concept-card__name{font-size:16px;font-weight:700}.concept-card__visual{display:grid;place-items:center;height:90px;background:var(--surface-2);border-radius:var(--r-md);font-family:var(--font-math);font-size:24px;color:var(--primary-ink)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--sp-3);margin:var(--sp-4) 0}.profile-card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-4) var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.profile-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:var(--shadow-sm)}.profile-card__avatar{font-size:40px;line-height:1}.profile-card__name{font-weight:700;font-size:16px}.profile-card__class{font-size:13px;color:var(--ink-2)}.chip--action{border:none;background:var(--surface-2);cursor:pointer;font-size:15px;line-height:1;padding:4px 8px}.chip--action:hover{background:var(--primary-soft)}.barmodel{display:flex;flex-direction:column;gap:var(--sp-3)}.barmodel__scenario{margin:0}.barmodel__diagram{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg)}.barmodel__row{display:flex;align-items:center;gap:var(--sp-3)}.barmodel__rowlabel{flex:0 0 110px;font-size:13px;font-weight:600;color:var(--ink-2);text-align:right}.barmodel__bar{position:relative;min-width:48px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;transition:width .3s ease;background:linear-gradient(135deg,var(--primary-soft),color-mix(in srgb,var(--primary-soft) 60%,white));border:2px solid var(--primary);box-sizing:border-box}.barmodel__bar--whole{background:linear-gradient(135deg,var(--success-soft),color-mix(in srgb,var(--success-soft) 60%,white));border-color:var(--success)}.barmodel__val{font-weight:800;font-size:16px;color:var(--ink-primary)}.barmodel__unit{font-size:12px;color:var(--ink-2)}.barmodel__input{width:64px;padding:4px 8px;font-size:15px;font-weight:700;text-align:center;border:2px dashed var(--primary);border-radius:var(--r-sm);background:#fff;color:var(--ink-primary)}.barmodel__input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.barmodel__bar--whole .barmodel__input{border-color:var(--success);border-style:dashed}.fracbar__reps{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.fracbar__rep{padding:4px 10px;border-radius:var(--r-sm);background:var(--surface-2);font-size:13px;color:var(--ink-2)}.fracbar__rep strong{color:var(--ink-primary);font-weight:700}.progression{display:flex;flex-direction:column;gap:var(--sp-4)}.progression__tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.progression__tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-1);cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);transition:all var(--t-fast)}.progression__tab:hover{border-color:var(--primary)}.progression__tab--active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.progression__tab--done{border-color:var(--success);color:var(--success-strong)}.progression__tab[aria-disabled=true]{opacity:.45;cursor:not-allowed}.progression__tabnum{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface-2);font-size:11px}.progression__tab--done .progression__tabnum{background:var(--success);color:#fff}.progression__body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg)}.progression__prompt{margin:0;font-size:15px}.progression__objects{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3);background:var(--bg-subtle);border-radius:var(--r-md)}.progression__objgroup{display:flex;flex-direction:column;align-items:center;gap:4px}.progression__objrow{display:flex;flex-wrap:wrap;gap:4px;max-width:180px;justify-content:center}.progression__emoji{font-size:26px;line-height:1.2}.progression__objlabel{font-size:11px;color:var(--ink-2);text-transform:uppercase;font-weight:700}.progression__objplus,.progression__objeq{font-size:24px;font-weight:800;color:var(--ink-2)}.progression__objtotal{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;background:var(--success-soft);border:2px solid var(--success);border-radius:var(--r-md)}.progression__objnum{font-size:24px;font-weight:800;color:var(--success-strong)}.progression__equation{text-align:center;padding:var(--sp-4);background:var(--bg-subtle);border-radius:var(--r-md);font-size:22px}.progression__equation .katex{font-size:1.4em}.progression__solhint{margin-top:var(--sp-2);font-size:13px}.progression__answer{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}.progression__wrong{color:var(--danger, #c0392b);font-size:14px;font-weight:600;margin:0}.ratio__bars{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--bg-subtle);border-radius:var(--r-md)}.ratio__row{display:flex;align-items:center;gap:var(--sp-2)}.ratio__label{flex:0 0 20px;font-weight:700;font-size:14px;color:var(--ink-2)}.ratio__bar{height:22px;border-radius:var(--r-sm);transition:width .25s ease}.ratio__bar--a{background:var(--primary)}.ratio__bar--b{background:var(--success)}@media (max-width: 640px){.matchview__cols{grid-template-columns:1fr}.balance__beam{flex-direction:column}.boss__head{flex-direction:column;text-align:center}.boss__progress{margin-left:0;min-width:0;width:100%}.filljars__jars{flex-direction:column}.numberline__track{margin:0}.sortview__buckets{grid-template-columns:1fr}.bucket__name{overflow-wrap:break-word}}.termboundaryview{display:flex;flex-direction:column;gap:var(--sp-3, 14px)}.termboundaryview__toolbar{display:flex;gap:var(--sp-2, 8px);align-items:center;font-size:14px}.termboundaryview__toggle{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer}.termboundaryview__expr{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:var(--sp-4, 16px);background:var(--bg-subtle);border-radius:var(--r-md, 12px);font-size:20px}.termboundaryview__charwrap{display:inline-flex;align-items:center}.termmboundaryview__char{display:inline-block;padding:2px 1px}.termboundaryview__boundary{display:inline-flex;align-items:center;justify-content:center;width:20px;height:28px;margin:0 1px;padding:0;background:transparent;border:1px dashed var(--border-2, #cbd5e1);border-radius:6px;color:var(--ink-3, #94a3b8);font-size:13px;cursor:pointer;transition:all var(--t-fast, .15s)}.termboundaryview__boundary:hover{border-color:var(--primary);color:var(--primary)}.termboundaryview__boundary--on{background:var(--primary-soft, #e0e7ff);border-color:var(--primary);border-style:solid;color:var(--primary);font-weight:800}.termboundaryview__textarea{width:100%;min-height:64px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--r-md, 12px);font-family:inherit;font-size:15px;resize:vertical}.termboundaryview__input{width:100%;max-width:360px;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--r-md, 12px);font-size:16px;font-family:inherit}.chip--term{background:var(--primary-soft, #e0e7ff);border-color:var(--primary-soft, #e0e7ff);color:var(--primary-strong, #1e3a8a)}.mt{margin-top:var(--sp-3, 14px)}.ok-text{color:var(--success-strong, #0a7d4f);font-weight:700}.err-text{color:var(--danger, #c0392b);font-weight:600}.factorcanvasview{display:flex;flex-direction:column;gap:var(--sp-3, 14px)}.factorcanvasview__canvas{min-height:72px;padding:var(--sp-3, 12px);display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--bg-subtle);border:2px dashed var(--border-2, #cbd5e1);border-radius:var(--r-md, 12px)}.factorcanvasview__tray{display:flex;flex-wrap:wrap;gap:8px}.card--factor{background:var(--surface);border-color:var(--primary-soft, #e0e7ff)}.chip--factor{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--success-soft, #dcfce7);border:1.5px solid var(--success, #16a34a);border-radius:999px;font-size:16px}.chip__x{background:none;border:none;color:var(--ink-3, #94a3b8);font-size:14px;cursor:pointer;padding:0 2px}.chip__x:hover{color:var(--danger, #c0392b)}.factorcanvasview__domain{display:flex;align-items:center;gap:var(--sp-3, 12px);flex-wrap:wrap}.balance__beam--tilt .balance__pivot{transform:rotate(-12deg)}.balance__beam--tilt{border-color:var(--warn, #d97706)}.balance__sidebar{display:flex;gap:var(--sp-3, 14px);align-items:center;flex-wrap:wrap;font-size:14px}.radio{display:inline-flex;align-items:center;gap:5px;font-weight:600;cursor:pointer}.simlab-gallery__head{text-align:center;margin-bottom:var(--sp-6, 28px)}.simlab-gallery__title{font-size:30px;font-weight:800;margin:6px 0 10px}.simlab-gallery__sub{max-width:560px;margin:0 auto;font-size:15px}.simlab-gallery__grid{display:grid;gap:var(--sp-4, 16px);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.simlab-card{display:flex;flex-direction:column;gap:12px;padding:var(--sp-5, 22px);border-radius:var(--r-lg, 16px);background:var(--surface);border:1.5px solid var(--border);text-decoration:none;color:inherit;transition:transform var(--t-fast, .15s),box-shadow var(--t-fast, .15s),border-color var(--t-fast, .15s)}.simlab-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 12px 28px #0f172a1a}.simlab-card__icon{font-size:44px;line-height:1}.simlab-card__topic{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary)}.simlab-card__title{font-size:18px;font-weight:800;margin:4px 0 6px}.simlab-card__tagline{font-size:13.5px;color:var(--ink-secondary);line-height:1.55}.simlab-card__cta{margin-top:auto;font-size:13px;font-weight:700;color:var(--primary)}.simlab-gallery__foot{text-align:center;margin-top:var(--sp-6, 28px);font-size:13px}.simlab-detail__back{font-size:13.5px;font-weight:700;color:var(--primary);text-decoration:none}.simlab-detail__head{display:flex;gap:var(--sp-4, 16px);align-items:flex-start;margin:var(--sp-3, 12px) 0 var(--sp-4, 16px)}.simlab-detail__icon{font-size:40px;line-height:1}.simlab-detail__title{font-size:24px;font-weight:800;margin:2px 0 4px}.simlab-detail__foot{margin-top:var(--sp-5, 22px);text-align:center;font-size:13.5px}.simlab-canvas{display:flex;flex-direction:column;gap:var(--sp-4, 16px);padding:var(--sp-5, 22px);border-radius:var(--r-lg, 20px);background:var(--surface);border:1.5px solid var(--border);box-shadow:0 4px 20px #0f172a0d}.simlab-panel{display:flex;flex-direction:column;gap:var(--sp-3, 14px);padding-top:var(--sp-4, 16px);border-top:1.5px dashed var(--border)}.simlab-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--ink-primary)}.simlab-field input[type=range]{width:100%;accent-color:var(--primary);height:8px;border-radius:4px}.simlab-stepper{display:inline-flex;align-items:center;justify-content:space-between;background:var(--bg-subtle, #f8fafc);border:1.5px solid var(--border);border-radius:14px;padding:4px 6px;gap:10px;width:fit-content;min-width:130px}.simlab-stepper--lg{padding:6px 10px;min-width:160px}.simlab-stepper__btn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--border);background:#fff;color:var(--ink-primary);font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s ease;box-shadow:0 2px 4px #0000000a}.simlab-stepper__btn:hover:not(:disabled){background:var(--primary-soft, #eef2ff);border-color:var(--primary, #4f46e5);color:var(--primary, #4f46e5);transform:translateY(-1px)}.simlab-stepper__btn:active:not(:disabled){transform:translateY(1px) scale(.95)}.simlab-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.simlab-stepper__val{font-size:16px;font-weight:800;color:var(--ink-primary);min-width:36px;text-align:center}.simlab-stepper--lg .simlab-stepper__val{font-size:20px}.simlab-numpad-btn{height:46px;border-radius:12px;border:1.5px solid var(--border);background:#fff;color:var(--ink-primary);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000000a;transition:all .12s ease;-webkit-user-select:none;user-select:none}.simlab-numpad-btn:hover{background:var(--primary-soft, #eef2ff);border-color:var(--primary, #4f46e5);color:var(--primary, #4f46e5);transform:translateY(-1px)}.simlab-numpad-btn:active{transform:translateY(1px) scale(.96);box-shadow:none}.simlab-numpad-btn--op{background:#f8fafc;font-weight:900}.simlab-tray{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:12px 16px;border-radius:16px;border:1.5px solid var(--border)}.simlab-tray__card{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;padding:8px 12px;border-radius:12px;border:1.5px solid var(--border)}.simlab-tray__title{font-size:12px;font-weight:800;color:var(--ink-secondary);text-transform:uppercase}.simlab-tabs{display:flex;gap:6px;background:var(--bg-subtle, #f8fafc);padding:4px;border-radius:14px;border:1.5px solid var(--border);width:fit-content;max-width:100%;overflow-x:auto}.simlab-tab-btn{padding:8px 16px;border-radius:10px;border:none;background:transparent;font-size:13.5px;font-weight:700;color:var(--ink-secondary);cursor:pointer;transition:all var(--t-fast, .15s) ease;white-space:nowrap}.simlab-tab-btn:hover{color:var(--ink-primary);background:#0000000a}.simlab-tab-btn.is-active{background:var(--surface, #fff);color:var(--primary, #4f46e5);box-shadow:0 2px 6px #00000014;font-weight:800}.simlab-insight{margin-top:8px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid var(--border);font-size:13.5px}.simlab-insight summary{font-weight:800;cursor:pointer;color:var(--ink-primary);display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.simlab-insight__body{margin-top:10px;color:var(--ink-secondary);line-height:1.6}.simlab-insight__body p{margin:6px 0}.simlab-insight__body ul{margin:6px 0 6px 20px;padding:0}.simlab-balance{display:flex;flex-direction:column;align-items:center;gap:14px;padding:var(--sp-3, 12px) 0}.simlab-balance__rig{position:relative;width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center}.simlab-balance__beam-wrap{position:relative;width:100%;display:flex;justify-content:center;margin-top:12px}.simlab-balance__beam{display:flex;justify-content:space-between;align-items:flex-end;width:100%;max-width:520px;min-height:140px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center 100px}.simlab-balance__fulcrum{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.simlab-balance__needle{width:3px;height:32px;background:#ef4444;border-radius:2px;transform-origin:bottom center;transition:transform .4s ease;margin-bottom:2px}.simlab-balance__pivot-triangle{width:0;height:0;border-left:24px solid transparent;border-right:24px solid transparent;border-bottom:40px solid #64748b}.simlab-balance__base{width:90px;height:10px;background:#475569;border-radius:4px;margin-top:-2px}.simlab-balance__pan{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:190px;padding:12px 14px;background:var(--surface, #fff);border:2.5px solid var(--border-2, #cbd5e1);border-radius:var(--r-lg, 16px);box-shadow:0 4px 12px #0000000f;position:relative;z-index:2}.simlab-balance__pan--left{border-top:4px solid var(--primary, #4f46e5)}.simlab-balance__pan--right{border-top:4px solid var(--success, #16a34a)}.simlab-balance__pan-items{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;min-height:52px;padding:4px}.simlab-weight-bag{display:inline-flex;align-items:center;justify-content:center;width:38px;height:42px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:8px 8px 12px 12px;font-weight:800;font-size:14px;box-shadow:0 2px 4px #00000026;border:1.5px solid #1e40af}.simlab-weight-bag--neg{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#991b1b}.simlab-weight-cube{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:6px;font-weight:800;font-size:12px;box-shadow:0 1px 3px #0000001f;border:1px solid #b45309}.simlab-weight-cube--neg{background:linear-gradient(135deg,#f87171,#dc2626);border-color:#991b1b}.simlab-balance__val{font-size:14px;color:var(--ink-3, #94a3b8);font-weight:700}.simlab-balance__status{font-size:15px;font-weight:800;padding:6px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}.simlab-balance__status.is-balanced{background:#dcfce7;color:#166534;border:1.5px solid #86efac}.simlab-balance__status.is-tilt{background:#fef3c7;color:#92400e;border:1.5px solid #fcd34d}.simlab-balance__history{width:100%;max-width:520px;font-size:13px;background:var(--bg-subtle);border-radius:10px;padding:8px 12px;border:1px dashed var(--border)}.simlab-frac{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4, 16px)}.simlab-frac__stage{display:flex;align-items:center;justify-content:center;gap:var(--sp-5, 22px);flex-wrap:wrap}.simlab-frac__stage>svg{width:190px;height:auto}.simlab-frac__readout{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:32px;font-weight:800}.simlab-frac__chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;font-size:13px;font-weight:700;color:var(--ink-secondary)}.simlab-frac__chip{padding:3px 10px;background:var(--bg-subtle);border-radius:999px;border:1px solid var(--border)}.simlab-frac__slice{fill:#f8fafc;stroke:#64748b;stroke-width:1.5;cursor:pointer;transition:fill var(--t-fast, .15s)}.simlab-frac__slice:hover{fill:#e2e8f0}.simlab-frac__slice.is-on{fill:var(--primary, #4f46e5);stroke:#3730a3}.simlab-frac__bar-model{display:flex;width:100%;max-width:440px;height:50px;border:2px solid #334155;border-radius:10px;overflow:hidden;background:#f8fafc;margin-top:8px}.simlab-frac__bar-seg{flex:1;border-right:1.5px dashed #94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#64748b;transition:background .15s ease}.simlab-frac__bar-seg:last-child{border-right:none}.simlab-frac__bar-seg.is-on{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.simlab-frac__compare-box{display:flex;align-items:center;gap:16px;justify-content:center;background:var(--bg-subtle);padding:12px 18px;border-radius:14px;border:1.5px solid var(--border);width:100%;max-width:500px}.simlab-frac__compare-sym{font-size:24px;font-weight:900;color:var(--primary);width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000000f}.simlab-nl{display:flex;flex-direction:column;gap:16px;width:100%}.simlab-nl__stage{position:relative;width:100%;min-height:130px;margin:10px 0}.simlab-nl__track{position:relative;height:80px;margin:0 24px}.simlab-nl__track:before{content:"";position:absolute;left:0;right:0;top:40px;height:3px;background:var(--ink-2, #334155);border-radius:2px}.simlab-nl__track:after{content:"▶";position:absolute;right:-12px;top:32px;font-size:14px;color:var(--ink-2, #334155)}.simlab-nl__arrow-left{position:absolute;left:-12px;top:32px;font-size:14px;color:var(--ink-2, #334155)}.simlab-nl__tick{position:absolute;top:36px;transform:translate(-50%);text-align:center}.simlab-nl__tickmark{display:block;width:2px;height:12px;background:var(--ink-2, #334155);margin:0 auto}.simlab-nl__ticklabel{font-size:12px;color:var(--ink-3, #94a3b8);position:relative;top:6px;display:inline-block;font-weight:600}.simlab-nl__tick--zero .simlab-nl__tickmark{height:18px;width:3px;background:var(--primary, #4f46e5)}.simlab-nl__tick--zero .simlab-nl__ticklabel{color:var(--primary, #4f46e5);font-weight:800;font-size:13px}.simlab-nl__pos{position:absolute;top:4px;transform:translate(-50%);transition:left .3s ease;text-align:center;z-index:4}.simlab-nl__posbubble{display:inline-block;padding:2px 10px;background:var(--primary, #4f46e5);color:#fff;border-radius:999px;font-size:14px;font-weight:800;margin-bottom:2px}.simlab-nl__posdot{display:block;width:14px;height:14px;background:var(--primary, #4f46e5);border:3px solid #fff;border-radius:50%;margin:0 auto;box-shadow:0 2px 6px #0f172a40}.simlab-nl__arc-svg{position:absolute;top:0;left:24px;right:24px;width:calc(100% - 48px);height:80px;pointer-events:none;z-index:2}.simlab-tiles{display:flex;flex-direction:column;gap:14px}.simlab-tiles__canvas{min-height:200px;padding:var(--sp-4, 16px);display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;background:var(--bg-subtle);border:2px dashed var(--border-2, #cbd5e1);border-radius:var(--r-lg, 16px);position:relative}.simlab-tile{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid rgba(0,0,0,.12);border-radius:8px;font-weight:800;cursor:pointer;transition:transform var(--t-fast, .15s),box-shadow .15s;-webkit-user-select:none;user-select:none}.simlab-tile:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000001a}.tile--x2pos{width:76px;height:76px;background:#86efac;color:#14532d;font-size:18px;border-color:#4ade80}.tile--x2neg{width:76px;height:76px;background:#fca5a5;color:#7f1d1d;font-size:18px;border-color:#f87171}.tile--xpos{width:76px;height:36px;background:#bbf7d0;color:#166534;font-size:16px;border-color:#86efac}.tile--xneg{width:76px;height:36px;background:#fecaca;color:#991b1b;font-size:16px;border-color:#fca5a5}.tile--onepos{width:36px;height:36px;background:#bfdbfe;color:#1e3a8a;font-size:15px;border-color:#93c5fd}.tile--oneneg{width:36px;height:36px;background:#fed7aa;color:#7c2d12;font-size:15px;border-color:#fdba74}.simlab-tiles__readout{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:20px;padding:10px 14px;background:#fff;border:1.5px solid var(--border);border-radius:12px}.simlab-tiles__zeropair{color:var(--warn, #d97706);font-size:13px;font-weight:700}.simlab-tiles__grid-mode{display:grid;grid-template-columns:auto 1fr;gap:12px;background:#fff;padding:16px;border-radius:14px;border:1.5px solid var(--border)}.simlab-graph{display:flex;flex-direction:column;align-items:center;gap:12px}.simlab-graph-layout{display:grid;grid-template-columns:1fr;gap:16px;width:100%}@media (min-width: 768px){.simlab-graph-layout{grid-template-columns:1.4fr 1fr;align-items:start}}.simlab-graph svg{width:100%;max-width:520px;height:auto;background:#fff;border-radius:14px;border:1.5px solid var(--border);box-shadow:0 2px 8px #0000000a}.simlab-graph__grid{stroke:#f1f5f9;stroke-width:1}.simlab-graph__axis{stroke:#475569;stroke-width:2}.simlab-graph__line{stroke:var(--primary, #4f46e5);stroke-width:3.5}.simlab-graph__slope-tri{fill:#f59e0b1f;stroke:#f59e0b;stroke-width:2;stroke-dasharray:4 3}.simlab-graph__slope-lbl{font-size:12px;fill:#d97706;font-weight:800}.simlab-graph__pt{fill:#ef4444;stroke:#fff;stroke-width:2;cursor:pointer}.simlab-graph__intercept{fill:#16a34a;stroke:#fff;stroke-width:2.5}.simlab-graph__lbl{font-size:11px;fill:#94a3b8;text-anchor:middle}.simlab-graph__table{width:100%;font-size:13px;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.simlab-graph__table th{background:var(--bg-subtle);padding:6px 10px;font-weight:700;text-align:center;border-bottom:1.5px solid var(--border)}.simlab-graph__table td{padding:5px 10px;text-align:center;border-bottom:1px solid var(--border)}.simlab-graph__table tr.is-intercept{background:#f0fdf4;font-weight:700}.simlab-barmodel{display:flex;flex-direction:column;align-items:center;gap:14px;padding:var(--sp-3, 12px) 0}.simlab-barmodel__container{width:100%;max-width:560px;display:flex;flex-direction:column;gap:16px}.simlab-barmodel__row{display:flex;flex-direction:column;gap:6px;width:100%}.simlab-barmodel__row-label{font-size:14px;font-weight:800;color:var(--ink-primary)}.simlab-barmodel__track{display:flex;width:100%;height:58px;border:2px solid var(--ink-2, #334155);border-radius:10px;overflow:hidden;background:var(--bg-subtle);box-shadow:inset 0 2px 4px #0000000d}.simlab-barmodel__seg{display:flex;align-items:center;justify-content:center;min-width:0;transition:width .3s cubic-bezier(.4,0,.2,1);border-right:1.5px solid rgba(255,255,255,.4)}.simlab-barmodel__seg:last-child{border-right:none}.simlab-barmodel__segval{color:#fff;font-weight:800;font-size:16px;text-shadow:0 1px 3px rgba(0,0,0,.3);padding:0 6px;white-space:nowrap}.simlab-barmodel__diff-bracket{display:flex;justify-content:flex-end;align-items:center;font-size:13px;font-weight:800;color:#b45309;gap:4px}.simlab-geoboard{display:flex;flex-direction:column;align-items:center;gap:12px}.simlab-geoboard svg{max-width:360px;height:auto;background:#fbf7ee;border-radius:16px;border:2px solid #e2d8c3;box-shadow:0 4px 12px #78716c1a}.simlab-geoboard__peg{fill:#94a3b8;stroke:#475569;stroke-width:1.5;cursor:pointer;transition:fill var(--t-fast, .15s),r .15s}.simlab-geoboard__peg:hover{fill:#cbd5e1;r:7px}.simlab-geoboard__peg.is-vertex{fill:var(--primary, #4f46e5);stroke:#312e81;stroke-width:2.5}.simlab-geoboard__peg.is-boundary{fill:#16a34a;stroke:#14532d}.simlab-geoboard__peg.is-interior{fill:#f59e0b;stroke:#b45309}.simlab-geoboard__pick-box{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;background:var(--bg-subtle);padding:10px 16px;border-radius:12px;border:1px solid var(--border);font-size:13.5px}.simlab-area{display:flex;flex-direction:column;align-items:center;gap:14px}.simlab-area svg{background:#fff;border-radius:12px;border:1.5px solid var(--border)}.simlab-area__lbl{font-size:15px;font-weight:800;fill:var(--ink-2, #334155)}.simlab-area__celllbl{font-size:13px;font-weight:800;fill:#334155}.simlab-area__readout{font-size:22px;font-weight:800;text-align:center}.simlab-area__table{width:100%;max-width:440px;border-collapse:collapse;font-size:13.5px;background:#fff;border-radius:10px;overflow:hidden;border:1.5px solid var(--border)}.simlab-area__table th,.simlab-area__table td{padding:8px 12px;text-align:center;border:1px solid var(--border)}.simlab-modebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--bg-subtle);border-radius:12px;border:1.5px dashed var(--border-2, #cbd5e1);flex-wrap:wrap}.labchallenge{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#f0f9ff);border:2px solid var(--primary, #4f46e5);box-shadow:0 2px 8px #4f46e514}.labchallenge--done{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:var(--success, #16a34a)}.labchallenge__head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.labchallenge__badge{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--primary, #4f46e5);background:#fff;padding:3px 10px;border-radius:999px;border:1.5px solid var(--primary-soft, #e0e7ff)}.labchallenge--done .labchallenge__badge{color:var(--success-strong, #0a7d4f);border-color:#bbf7d0}.labchallenge__progress{font-size:12px;font-weight:700;color:var(--ink-3, #94a3b8)}.labchallenge__title{font-size:16px;font-weight:800;margin:0}.labchallenge__prompt{font-size:13.5px;color:var(--ink-secondary);margin:0}.labchallenge__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}.labchallenge__hint{font-size:12.5px;color:var(--ink-3, #94a3b8);font-style:italic}.labchallenge__all-done{font-size:14px;font-weight:800;color:var(--success-strong, #0a7d4f)}
