.matching-renderer{-webkit-user-select:none;user-select:none}.matching-grid{flex-direction:column;gap:10px;display:flex}.matching-row{grid-template-columns:1fr 1fr;align-items:stretch;column-gap:24px;animation:.35s ease-out both matchRowSlideIn;display:grid}.matching-card{border-radius:var(--card-radius,14px);cursor:pointer;border-style:solid;border-width:2px;justify-content:space-between;align-items:center;min-height:52px;font-weight:500;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden}.matching-card:not(:disabled):hover{transform:translateY(-1px)}.matching-card:not(:disabled):active{transform:scale(.98)}.matching-card-left:not(:disabled){cursor:grab}.matching-card-left:not(:disabled):active{cursor:grabbing}.matching-card-right[class*=ring-2]{animation:.6s ease-in-out infinite matchDropPulse}.matching-line-animate{stroke-dasharray:1;stroke-dashoffset:1px;animation:.4s ease-out forwards matchLineDraw}@keyframes matchLineDraw{to{stroke-dashoffset:0}}.matching-submit-active{position:relative}.matching-submit-active:before{content:"";border-radius:var(--surface-radius,18px);background:linear-gradient(135deg, color-mix(in oklch, var(--color-primary,#7933e0) 20%, transparent), color-mix(in oklch, var(--color-accent,#d98f3f) 20%, transparent));z-index:-1;animation:2s ease-in-out infinite matchSubmitGlow;position:absolute;inset:-2px}@supports (color:lab(0% 0 0)){.matching-submit-active:before{background:linear-gradient(135deg, color-mix(in oklch, var(--color-primary,lab(39.833% 56.8998 -77.2662)) 20%, transparent), color-mix(in oklch, var(--color-accent,lab(65.9876% 23.6978 52.9785)) 20%, transparent))}}@media (prefers-reduced-motion:reduce){.matching-row,.matching-line-animate,.matching-card-right[class*=ring-2],.matching-submit-active:before{animation:none!important}.matching-line-animate{stroke-dashoffset:0!important}}@keyframes matchRowSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes matchDropPulse{0%,to{box-shadow:0 0 0 0 var(--interactive-default,#00ac5e)}50%{box-shadow:0 0 0 4px #0000}}@supports (color:lab(0% 0 0)){@keyframes matchDropPulse{0%,to{box-shadow:0 0 0 0 var(--interactive-default,lab(62.2948% -75.9967 39.6561))}50%{box-shadow:0 0 0 4px #0000}}}@keyframes matchSubmitGlow{0%,to{opacity:.5}50%{opacity:1}}.match-pairs-block .matching-card{min-height:44px}.match-pairs-block .matching-row{column-gap:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--interactive-default,#00ac5e) 40%, transparent)}50%{box-shadow:0 0 0 8px #0000}}@supports (color:lab(0% 0 0)){@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--interactive-default,lab(62.2948% -75.9967 39.6561)) 40%, transparent)}50%{box-shadow:0 0 0 8px #0000}}}@keyframes typing{0%{width:0}to{width:100%}}.animate-fadeIn{animation:.4s ease-out forwards fadeIn}.animate-pulse-glow{animation:2s infinite pulse-glow}.dialogue-box{isolation:isolate}.dialogue-box[dir=rtl] .dialogue-body{direction:rtl}.dialogue-box .text-xl{font-family:Noto Sans,Noto Sans Arabic,Noto Sans JP,Noto Sans SC,Noto Sans KR,Noto Sans Hebrew,Noto Sans Thai,Noto Sans Devanagari,sans-serif;line-height:1.8}.dialogue-box[dir=rtl] .dialogue-body>div{direction:ltr}.dialogue-box[dir=rtl] .dialogue-body .text-xl{text-align:right;direction:rtl}.dialogue-box button:hover{transform:scale(1.05)}.dialogue-box button:active{transform:scale(.95)}.code-playground{isolation:isolate;contain:layout style;will-change:auto;font-family:Fira Code,JetBrains Mono,Cascadia Code,Consolas,monospace;transform:translateZ(0)}.visualizer-container .code-playground,.visualizer-content .code-playground,.interactive-content-block .code-playground{z-index:1;height:auto;position:relative;max-height:none!important}.visualizer-container .code-playground iframe,.visualizer-content .code-playground iframe,.interactive-content-block .code-playground iframe{border:none;width:100%;height:auto;min-height:300px;display:block}.visualizer-container .code-playground [role=region][aria-label=Code\ output],.interactive-content-block .code-playground [role=region][aria-label=Code\ output]{max-height:none;overflow:visible}.code-editor{background:#1e1e2e;min-height:200px;position:relative}.code-editor .line-numbers{-webkit-user-select:none;user-select:none;color:#ffffff4d;font-size:.75rem}.code-playground .code-keyword{color:#c586c0;font-weight:600}.code-playground .code-string{color:#ce9178}.code-playground .code-comment{color:#6a9955;font-style:italic}.code-playground .code-number{color:#b5cea8}.code-playground .code-function{color:#dcdcaa}.code-playground .code-operator{color:#d4d4d4}.code-playground .code-variable{color:#9cdcfe}.code-playground .code-type{color:#4ec9b0}.code-playground .code-class{color:#4fc1ff}.code-playground .code-property{color:#9cdcfe}.code-playground .code-line{white-space:pre;min-height:1.5rem;padding:0 4px;font-size:.875rem;line-height:1.5rem}.code-playground .code-scroll-container{max-height:400px;position:relative;overflow:auto}.code-playground .code-input{z-index:10;color:#0000;caret-color:#f8f8f2;resize:none;background:0 0;font-family:inherit;font-size:.875rem;line-height:1.5rem;position:absolute;inset:0;overflow:hidden}.code-playground .code-input:focus{outline:none}.code-playground .code-display{z-index:5;white-space:pre-wrap;word-break:break-word;position:relative}.code-playground button.bg-emerald-500:hover{box-shadow:0 0 20px oklch(from var(--color-success) l c h / .4)}.code-playground pre{white-space:pre-wrap;word-break:break-word;font-family:inherit}@media (prefers-contrast:more){.code-playground{border:2px solid #fff!important}.code-playground .code-display{color:#fff!important;background:#000!important}.code-playground button{border:2px solid!important;font-weight:700!important}.code-playground .code-display .token-keyword{font-weight:700;color:#ff0!important}.code-playground .code-display .token-string{color:#0ff!important}.code-playground .code-display .token-number{color:#f0f!important}.code-playground .code-display .token-comment{font-style:italic;color:#aaa!important}}@media (prefers-reduced-motion:reduce){.code-playground *,.code-playground :before,.code-playground :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.code-playground .output-typing{animation:none!important}}.code-playground .code-display,.code-playground.color-blind-safe .code-display{--syntax-keyword:#648fff;--syntax-string:#dc267f;--syntax-number:#fe6100;--syntax-comment:#785ef0;--syntax-function:#ffb000;--syntax-operator:#fff;--syntax-bracket:#a0a0a0}.code-playground.color-blind-safe .token-keyword,.code-playground.color-blind-mode .token-keyword{color:var(--syntax-keyword,#648fff)!important}.code-playground.color-blind-safe .token-string,.code-playground.color-blind-mode .token-string{color:var(--syntax-string,#dc267f)!important}.code-playground.color-blind-safe .token-number,.code-playground.color-blind-mode .token-number{color:var(--syntax-number,#fe6100)!important}.code-playground.color-blind-safe .token-comment,.code-playground.color-blind-mode .token-comment{color:var(--syntax-comment,#785ef0)!important}.code-playground.color-blind-safe .token-function,.code-playground.color-blind-mode .token-function{color:var(--syntax-function,#ffb000)!important}.code-playground :focus-visible{outline:3px solid var(--color-interactive,#10b981)!important;outline-offset:2px!important}.code-playground .auto-run-indicator{animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.code-playground .auto-run-indicator{animation:none}}.derivation-steps{overflow:hidden}.derivation-steps .relative.pl-12{opacity:0;animation:.4s ease-out forwards fadeIn}.derivation-steps .absolute.left-0{transition:all .3s}.derivation-steps .bg-emerald-500\/20{box-shadow:0 0 30px oklch(from var(--color-success) l c h / .2)}.derivation-steps .katex{font-size:1.1em}.derivation-steps .katex-display{margin:.5em 0}.derivation-steps .absolute.left-5.w-0\.5{box-shadow:0 0 10px oklch(from var(--color-interactive) l c h / .3)}.vocabulary-table{border-collapse:separate;border-spacing:0;border-radius:1rem;width:100%;overflow:hidden}.vocabulary-table th{background:color-mix(in oklch, var(--interactive-default,#6366f1) 15%, transparent);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#475569);border-bottom:1px solid var(--border-default,#0000001a);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.vocabulary-table td{border-bottom:1px solid var(--border-subtle,#0000000d);vertical-align:middle;padding:.75rem 1rem}.vocabulary-table tr:last-child td{border-bottom:none}.vocabulary-table tr:hover td{background:color-mix(in oklch, var(--text-tertiary,#64748b) 5%, transparent)}.vocabulary-table td:first-child{font-family:Noto Sans,Noto Sans Arabic,Noto Sans JP,sans-serif;font-size:1.25rem;font-weight:500}.vocabulary-table .audio-btn{background:color-mix(in oklch, var(--interactive-default,#6366f1) 10%, transparent);cursor:pointer;border-radius:50%;padding:.25rem;transition:all .2s}.vocabulary-table .audio-btn:hover{background:color-mix(in oklch, var(--interactive-default,#6366f1) 25%, transparent);color:var(--interactive-default,#10b981)}.bug-challenge{background:linear-gradient(135deg, var(--color-error-soft) 0%, var(--color-warning-soft) 100%);border:1px solid var(--color-error-border);border-radius:1rem;overflow:hidden}.bug-challenge .code-buggy{background:var(--color-error-soft);border-left:4px solid var(--color-error)}.bug-challenge .code-fixed{background:var(--color-success-soft);border-left:4px solid var(--color-success)}.bug-challenge .bug-icon{animation:2s infinite pulse-glow}@media (max-width:640px){.dialogue-box .text-xl{font-size:1.125rem}.code-playground .code-line,.code-playground .code-input{font-size:.75rem}.derivation-steps .katex{font-size:.9em}.vocabulary-table td:first-child{font-size:1rem}}.md-table{border-collapse:collapse;table-layout:auto;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000f;box-shadow:0 1px 3px lab(0% 0 0/.06)}.md-table th{text-align:left;vertical-align:top;word-break:normal;overflow-wrap:break-word;text-transform:uppercase;letter-spacing:.04em;min-width:120px;color:var(--color-txt-secondary,#64748b);border-bottom:2px solid var(--color-brd,#94a3b833);padding:.6rem 1rem .5rem;font-size:.8rem;font-weight:600}.md-table td{text-align:left;vertical-align:top;word-break:normal;overflow-wrap:break-word;border-bottom:1px solid var(--color-brd-subtle,#94a3b814);min-width:120px;padding:.65rem 1rem;transition:background-color .15s}.md-table tbody tr:last-child td{border-bottom:none}.md-table tbody tr:nth-child(2n){background-color:oklch(from var(--color-interactive) l c h / .03)}.md-table th:first-child,.md-table td:first-child{white-space:nowrap;width:20%;min-width:100px}.md-table tbody tr:hover{background-color:oklch(from var(--color-interactive) l c h / .05)}.md-table-dense th,.md-table-dense td{min-width:90px;padding:.5rem .75rem;font-size:.85rem}.md-table-dense th:first-child,.md-table-dense td:first-child{min-width:70px}@media (max-width:640px){.md-table th,.md-table td{min-width:100px;padding:.5rem .75rem;font-size:.85rem}.md-table th:first-child,.md-table td:first-child{white-space:normal;width:auto;min-width:80px}.md-table-dense th,.md-table-dense td{padding:.35rem .5rem;font-size:.78rem}}.solution-steps>p{border-bottom:none;padding-bottom:0;margin-bottom:.75rem!important}.solution-steps>p:last-child{border-bottom:none;margin-bottom:0!important}.solution-steps strong{font-weight:700}.solution-steps>.katex-display,.solution-steps>.math-prerendered>.katex-display,.solution-steps>p>.katex-display,.solution-steps>.math-prerendered.math-display,.solution-steps>p>.math-prerendered.math-display{background:oklch(from var(--color-txt) l c h / .04);border-left:3px solid var(--color-interactive,#10b981);border-radius:.625rem;font-size:1em;margin:.5rem 0!important;padding:.625rem .875rem!important}.solution-steps .katex{font-size:1em}.solution-steps ul,.solution-steps ol{background:oklch(from var(--color-txt) l c h / .04);border-radius:.5rem;margin:.5rem 0;padding:.625rem .875rem .625rem 1.625rem}.solution-steps li{padding:.2rem 0}.prose strong,.interactive-lesson-content strong{color:var(--color-primary);font-weight:700}.prose em,.interactive-lesson-content em{color:var(--text-secondary,#475569);font-style:italic}.prose a,.interactive-lesson-content a{color:var(--color-accent);font-weight:500;text-decoration:none;transition:color .2s}.prose a:hover,.interactive-lesson-content a:hover{color:var(--color-interactive-hover);text-decoration:underline}.prose blockquote,.interactive-lesson-content blockquote{background:color-mix(in oklch, var(--text-tertiary,#64748b) 8%, transparent);border-left:4px solid var(--text-tertiary,#64748b);color:var(--text-secondary,#475569);border-radius:0 12px 12px 0;margin:20px 0;padding:16px 20px}.code-keyword{font-weight:600;color:#c586c0!important}.code-string{color:#ce9178!important}.code-comment{font-style:italic;color:#6a9955!important}.code-number{color:#b5cea8!important}.code-function{color:#dcdcaa!important}.code-type{color:#4ec9b0!important}.code-class{color:#4fc1ff!important}.code-property{color:#9cdcfe!important}.code-operator{color:#d4d4d4!important}.code-decorator{color:#dcdcaa!important}.code-playground .syntax-highlighted{white-space:pre-wrap;word-break:break-word;font-family:Fira Code,JetBrains Mono,Cascadia Code,Consolas,monospace}.syntax-highlighted{font-family:Fira Code,JetBrains Mono,Cascadia Code,Consolas,monospace}pre,code,.prose pre,.prose code,.interactive-lesson-content pre,.interactive-lesson-content code{font-family:Fira Code,JetBrains Mono,Cascadia Code,Consolas,Monaco,monospace!important;font-style:normal!important}.prose pre,.interactive-lesson-content pre{border:1px solid #ffffff1a;border-radius:12px;margin:16px 0;padding:16px 20px;font-size:.875rem;line-height:1.6;overflow-x:auto;background:#1e1e2e!important}.prose pre code,.interactive-lesson-content pre code{color:#e2e8f0!important;font-size:inherit!important;background:0 0!important;border-radius:0!important;padding:0!important;font-style:normal!important;font-weight:400!important}.blockquote-warning,.blockquote-note,.blockquote-tip,.blockquote-caution,.blockquote-important,.blockquote-vocab,.blockquote-challenge,.blockquote-grammar,.blockquote-default{position:relative;font-size:inherit!important;line-height:inherit!important;color:inherit!important;quotes:none!important;border:none!important;border-radius:12px!important;margin:24px 0!important;padding:20px 24px!important;font-style:normal!important}.prose .blockquote-warning,.prose .blockquote-note,.prose .blockquote-tip,.prose .blockquote-caution,.prose .blockquote-important,.prose .blockquote-vocab,.prose .blockquote-challenge,.prose .blockquote-grammar,.prose .blockquote-default{border:none!important;border-radius:12px!important;padding-left:24px!important}.blockquote-warning,.blockquote-note,.blockquote-tip,.blockquote-caution,.blockquote-important,.blockquote-vocab,.blockquote-challenge,.blockquote-grammar,.blockquote-default{color:var(--text-primary,inherit)!important;background:color-mix(in oklch, var(--bg-surface,#fff) 87%, var(--callout-accent,transparent) 13%)!important}.blockquote-warning{--callout-accent:#e6424c}@supports (color:lab(0% 0 0)){.blockquote-warning{--callout-accent:lab(53.8412% 63.807 33.5697)}}.blockquote-note{--callout-accent:#0083e0}@supports (color:lab(0% 0 0)){.blockquote-note{--callout-accent:lab(52.659% -3.00324 -56.9167)}}.blockquote-tip{--callout-accent:#00b47b}@supports (color:lab(0% 0 0)){.blockquote-tip{--callout-accent:lab(64.8605% -50.9109 17.6672)}}.blockquote-caution{--callout-accent:#e69825}@supports (color:lab(0% 0 0)){.blockquote-caution{--callout-accent:lab(69.5263% 24.2438 66.5808)}}.blockquote-important{--callout-accent:#8151db}@supports (color:lab(0% 0 0)){.blockquote-important{--callout-accent:lab(45.6956% 43.1024 -64.4841)}}.blockquote-vocab{--callout-accent:#ceb92d}@supports (color:lab(0% 0 0)){.blockquote-vocab{--callout-accent:lab(75.1555% -2.49413 67.6123)}}.blockquote-grammar{--callout-accent:#525fd5}@supports (color:lab(0% 0 0)){.blockquote-grammar{--callout-accent:lab(44.2947% 23.4129 -63.7596)}}.blockquote-challenge{--callout-accent:#8151db}@supports (color:lab(0% 0 0)){.blockquote-challenge{--callout-accent:lab(45.6956% 43.1024 -64.4841)}}.blockquote-default{--callout-accent:#7d8792}@supports (color:lab(0% 0 0)){.blockquote-default{--callout-accent:lab(55.8966% -2.056 -7.07493)}}.callout-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary,#6b7280);margin-bottom:7px;font-size:.7rem;font-weight:600;display:block}.blockquote-grammar table{border-collapse:collapse!important;width:100%!important;margin:12px 0!important}.blockquote-grammar th,.blockquote-grammar td{border:1px solid color-mix(in oklch, var(--callout-accent) 28%, transparent)!important;text-align:left!important;padding:8px 12px!important}.blockquote-grammar th{background:color-mix(in oklch, var(--callout-accent) 14%, transparent)!important;font-weight:600!important}.blockquote-challenge{box-shadow:0 4px 15px color-mix(in oklch, var(--callout-accent) 18%, transparent);position:relative;border:2px solid color-mix(in oklch, var(--callout-accent) 34%, transparent)!important;font-size:inherit!important;color:var(--text-primary,inherit)!important;quotes:none!important;background:linear-gradient(135deg, color-mix(in oklch, var(--bg-surface,#fff) 84%, var(--callout-accent) 16%), color-mix(in oklch, var(--bg-surface,#fff) 90%, var(--callout-accent) 10%))!important;border-radius:16px!important;margin:28px 0!important;padding:24px 28px!important;font-style:normal!important;line-height:1.8!important}.blockquote-challenge p{margin-bottom:1rem!important;line-height:1.9!important}.blockquote-challenge ol,.blockquote-challenge ul{margin:1rem 0!important;padding-left:1.5rem!important}.blockquote-challenge li{padding:.25rem 0!important}.blockquote-challenge details{overflow:visible;border:1px solid color-mix(in oklch, var(--callout-accent) 26%, transparent)!important;background:color-mix(in oklch, var(--bg-surface,#fff) 92%, var(--callout-accent) 8%)!important;border-radius:12px!important;margin-top:1.5rem!important;margin-bottom:0!important}.blockquote-challenge details summary{cursor:pointer;color:color-mix(in oklch, var(--callout-accent), var(--text-primary) 18%)!important;background:color-mix(in oklch, var(--callout-accent) 12%, transparent)!important;padding:12px 16px!important;font-weight:600!important}.blockquote-challenge details[open]>div,.blockquote-challenge details>div{font-size:inherit!important;padding:16px!important;line-height:1.9!important}.prose .blockquote-challenge{border-left:none!important;padding-left:28px!important}.prose strong,.interactive-lesson-content strong{font-weight:700;color:var(--color-primary)!important;-webkit-text-fill-color:var(--color-primary)!important;background:0 0!important}.blockquote-warning strong,.blockquote-note strong,.blockquote-tip strong,.blockquote-caution strong,.blockquote-important strong,.blockquote-vocab strong,.blockquote-default strong{font-weight:700;color:inherit!important;-webkit-text-fill-color:inherit!important;background:0 0!important}.dark .blockquote-warning strong,.dark .blockquote-note strong,.dark .blockquote-tip strong,.dark .blockquote-caution strong,.dark .blockquote-important strong,.dark .blockquote-vocab strong,.dark .blockquote-default strong{color:inherit!important;-webkit-text-fill-color:inherit!important}.blockquote-warning code,.blockquote-note code,.blockquote-tip code,.blockquote-caution code,.blockquote-important code,.blockquote-vocab code,.blockquote-default code{border-radius:4px;padding:2px 6px;font-size:.9em;font-weight:500;background:color-mix(in oklch, var(--text-primary,currentColor) 8%, transparent)!important;color:inherit!important}.blockquote-warning,.blockquote-note,.blockquote-tip,.blockquote-caution,.blockquote-important,.blockquote-vocab,.blockquote-challenge,.blockquote-default{word-break:break-word!important;overflow-wrap:break-word!important;min-width:0!important;overflow:hidden!important}.blockquote-warning .syntax-highlighted,.blockquote-note .syntax-highlighted,.blockquote-tip .syntax-highlighted,.blockquote-caution .syntax-highlighted,.blockquote-important .syntax-highlighted,.blockquote-vocab .syntax-highlighted,.blockquote-challenge .syntax-highlighted,.blockquote-default .syntax-highlighted{white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important;white-space:pre-wrap!important;word-break:break-word!important;border-radius:10px!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:14px 16px!important;font-size:.85rem!important;overflow-x:hidden!important}.blockquote-warning .mermaid,.blockquote-note .mermaid,.blockquote-tip .mermaid,.blockquote-caution .mermaid,.blockquote-important .mermaid,.blockquote-vocab .mermaid,.blockquote-challenge .mermaid,.blockquote-default .mermaid,.blockquote-warning svg,.blockquote-note svg,.blockquote-tip svg,.blockquote-caution svg,.blockquote-important svg,.blockquote-vocab svg,.blockquote-challenge svg,.blockquote-default svg{max-width:100%!important;height:auto!important;overflow:hidden!important}.prose em,.interactive-lesson-content em{color:inherit;font-style:normal;font-weight:500}.prose a,.interactive-lesson-content a{color:var(--color-accent);text-underline-offset:2px;font-weight:500;text-decoration:underline}.prose a:hover,.interactive-lesson-content a:hover{color:var(--interactive-hover)}.prose code:not(pre code),.interactive-lesson-content code:not(pre code){background:color-mix(in oklch, var(--color-secondary) 10%, transparent);color:var(--color-secondary);border-radius:4px;padding:2px 6px;font-size:.9em;font-weight:500}.dark .prose code:not(pre code),.dark .interactive-lesson-content code:not(pre code){background:color-mix(in oklch, var(--color-secondary) 15%, transparent)}.prose .math,.interactive-lesson-content .math,.katex{color:inherit}.prose .katex,.interactive-lesson-content .katex{color:inherit;line-height:1.4}.prose .katex:not(.katex-display .katex),.interactive-lesson-content .katex:not(.katex-display .katex){vertical-align:baseline;margin:0 .15em;display:inline}.prose span.inline .katex,.interactive-lesson-content span.inline .katex{font-size:1em}.katex-display{background:color-mix(in oklch, var(--color-txt) 4%, transparent);text-align:center;border:none;border-radius:10px;padding:.75rem 1rem;overflow-x:auto;margin:1.25rem 0!important;display:block!important}.katex-display .katex-display{box-shadow:none;border-radius:0;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.katex-display>.katex{font-size:1.15em;display:inline-block}.katex .mord,.katex .mpunct,.katex .minner{color:var(--color-txt,#1e293b)}.katex .mathnormal,.katex .mathit,.katex-mathml,.dark .katex .mathnormal,.dark .katex .mathit{color:inherit}.katex .mbin,.katex .mrel{color:#7c3aed;padding:0 .15em}[data-reading-mode=night] .katex .mbin,[data-reading-mode=night] .katex .mrel{color:#c4b5fd}.katex .mopen,.katex .mclose{color:var(--color-txt-secondary,#64748b)}.katex .mop{color:#0891b2;font-weight:500}[data-reading-mode=night] .katex .mop{color:#67e8f9}.katex .mord:not(.mathnormal):not(.mathit){color:var(--color-txt,#0f172a)}.math-display-wrapper{font-size:1.1em}.inline-math-wrapper{vertical-align:baseline;margin:0 .2em;font-style:normal;display:inline}.katex .frac-line{border-bottom-color:currentColor}.katex .sqrt>.vlist-t>.vlist-r>.vlist>span>.mord{color:inherit}.formula-block .katex-display,.formula-board .katex-display,.equation-box .katex-display,.derivation-steps .katex-display,.solution-body .katex-display,.solution-steps .katex-display{box-shadow:none;border-radius:0;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.formula-list{margin:1rem 0;padding:0;list-style:none}.formula-list li{border-bottom:1px solid var(--color-brd-subtle);align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex}.formula-list li:last-child{border-bottom:none}.formula-list li:before{content:"•";color:var(--color-interactive);flex-shrink:0;font-size:1.2em;line-height:1}@media (max-width:640px){.katex-display>.katex{font-size:1.05em}.katex-display{-webkit-overflow-scrolling:touch;max-width:100%;padding:.75rem 1rem;overflow-x:auto;margin:1rem 0!important}}.diagram-placeholder{background:color-mix(in oklch, var(--bg-surface,#fff) 60%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in oklch, var(--border-default) 50%, transparent);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:160px;margin:1rem 0;padding:1.5rem;transition:all .3s;animation:4s ease-in-out infinite shimmer-border;display:flex;position:relative}.diagram-placeholder:hover{border-color:color-mix(in oklch, var(--interactive-default) 30%, transparent);box-shadow:0 8px 24px color-mix(in oklch, var(--interactive-default) 5%, transparent);animation:none}@keyframes shimmer-border{0%,to{border-color:color-mix(in oklch, var(--border-default) 50%, transparent)}50%{border-color:color-mix(in oklch, var(--border-default) 30%, transparent)}}.solution-container{contain:layout}.solution-content{color:var(--color-txt,#334155);font-size:1rem;line-height:1.9}.solution-body{flex-direction:column;gap:1.5rem;display:flex}.solution-body>p{border-bottom:1px solid var(--color-success-border);padding:.75rem 0;margin:0!important}.solution-body>p:last-child{border-bottom:none}.solution-body>p:first-line,.solution-body ol>li:first-line{font-weight:600}.solution-body strong:first-of-type,.solution-body>p>strong:first-child{background:var(--color-success);color:var(--color-txt-inverse,#fff);text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;margin-right:.5rem;padding:.25rem .75rem;font-size:.85rem;display:inline-block}.solution-body strong{color:var(--color-success);font-weight:700}.solution-body>.katex-display,.solution-body>.math-prerendered>.katex-display,.solution-body>p>.katex-display,.solution-body>.math-prerendered.math-display,.solution-body>p>.math-prerendered.math-display{background:var(--color-success-soft);border-left:4px solid var(--color-success);border-radius:1rem;overflow-x:auto;margin:1.5rem 0!important;padding:1.25rem 1.5rem!important}.solution-body .katex,.solution-body .math-prerendered.math-inline math,.solution-steps .math-prerendered.math-inline math{padding:0 .15rem;font-size:1.1em}.math-prerendered.math-display{text-align:center;display:block;overflow-x:auto}.math-prerendered.math-display math[display=block]{text-align:center;margin:0 auto;display:block}.solution-body ul,.solution-body ol{background:var(--color-success-soft);border-radius:.75rem;margin:1rem 0;padding:1rem 1rem 1rem 2.5rem}.solution-body li{border-bottom:1px dashed var(--color-success-border);padding:.5rem 0}.solution-body li:last-child{border-bottom:none}.solution-body>p:last-child strong,.solution-body [class*=answer]{background:var(--color-warning);color:var(--color-txt-inverse,#1f2937);box-shadow:0 2px 8px color-mix(in oklch, var(--color-warning) 30%, transparent);border-radius:.5rem;padding:.5rem 1rem;font-weight:700;display:inline-block}.solution-body .katex .mord.text .mord.boxed,.solution-body .boxed{border:2px solid var(--color-success);background:var(--color-success-soft);border-radius:.5rem;padding:.25rem .5rem}.solution-body em{color:var(--color-info);font-style:normal;font-weight:500}.solution-body code{background:var(--color-success-soft);color:var(--color-success);border-radius:.375rem;padding:.15rem .4rem;font-size:.9em}.solution-body hr{background:linear-gradient(90deg, transparent, var(--color-success), transparent);border:none;height:2px;margin:1.5rem 0}@media (max-width:640px){.solution-content{font-size:.95rem;padding:1rem!important}.solution-body>.katex-display,.solution-body>.math-prerendered>.katex-display,.solution-body>p>.katex-display,.solution-body>.math-prerendered.math-display,.solution-body>p>.math-prerendered.math-display{margin:1rem 0!important;padding:1rem!important}.solution-body .katex-display>.katex,.solution-body .math-prerendered.math-display math{font-size:.9em}.solution-body ul,.solution-body ol{padding-left:2rem}.code-playground .run-button,.code-playground button{min-width:44px;min-height:44px;padding:10px 16px}.dialogue-box button{min-height:44px;padding:10px 16px;font-size:.9rem}.vocab-table td,.vocab-table th{padding:12px 10px;font-size:.85rem}.bug-challenge .option-button{min-height:48px;padding:12px 16px;font-size:.9rem}.blockquote-warning,.blockquote-note,.blockquote-tip,.blockquote-caution,.blockquote-important,.blockquote-vocab,.blockquote-challenge,.blockquote-default{margin:16px 0!important;padding:16px 18px!important}}@media (pointer:coarse){.code-playground,.dialogue-box,.derivation-step{-webkit-tap-highlight-color:transparent}.code-playground button:active,.dialogue-box button:active{transition:transform .1s;transform:scale(.96)}}.tl3-row{transition:all .2s}.tl3-row:hover{background:color-mix(in oklch, var(--color-interactive) 5%, transparent)}.tl3-detail{animation:.25s ease-out tl3-open;overflow:hidden}@keyframes tl3-open{0%{opacity:0;max-height:0}to{opacity:1;max-height:120px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.visualizer-canvas-wrapper svg{max-width:100%;height:auto;display:block}.visualizer-canvas-wrapper canvas{max-width:100%;height:auto}.visualizer-canvas-wrapper img{object-fit:contain;max-width:100%;height:auto}.visualizer-canvas-wrapper pre{white-space:pre-wrap;word-break:break-all;overflow-x:auto}.visualizer-canvas-wrapper table{table-layout:fixed;width:100%}.visualizer-canvas-wrapper td,.visualizer-canvas-wrapper th{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visualizer-canvas-wrapper .code-block{max-width:100%;overflow-x:auto}.visualizer-canvas-wrapper .timeline-item{overflow:hidden}.visualizer-canvas-wrapper .timeline-item p{text-overflow:ellipsis;overflow:hidden}.calculator-widget__slider{touch-action:manipulation;background:0 0;height:1.5rem;margin:0;padding:0}.calculator-widget__slider:focus-visible{outline:2px solid var(--color-warning,#d97706);outline-offset:2px;border-radius:4px}.calculator-widget__slider::-moz-range-thumb{border:none;width:16px;height:16px}
