*,:after,:before{box-sizing:border-box}.marketing-h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.03em;font-weight:700}.marketing-h2{font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.2;letter-spacing:-.02em;font-weight:600}.marketing-h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.3;letter-spacing:-.01em;font-weight:600}.marketing-body{font-size:clamp(1rem,1.125vw,1.125rem);line-height:1.7}.marketing-caption{font-size:.875rem;line-height:1.5}[data-site-builder]{font-family:var(--site-body-font,var(--font-body))}[data-site-builder] .marketing-h1,[data-site-builder] .marketing-h2,[data-site-builder] .marketing-h3{font-family:var(--site-heading-font,var(--font-display))}.section-spacing{padding-top:clamp(4rem,6vw,7rem);padding-bottom:clamp(4rem,6vw,7rem)}.section-spacing-sm{padding-top:clamp(3rem,4vw,5rem);padding-bottom:clamp(3rem,4vw,5rem)}.section-spacing-lg{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}.marketing-container{margin-left:auto;margin-right:auto;max-width:72rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.marketing-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.marketing-container{padding-left:2rem;padding-right:2rem}}.marketing-container-narrow{max-width:60rem}.marketing-container-wide{max-width:80rem}.tabular-nums,[data-dashboard] *{font-variant-numeric:tabular-nums}.scroll-progress-native{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary),var(--color-accent-primary));transform-origin:left;animation:scroll-progress-scale linear;animation-timeline:scroll();z-index:9999;pointer-events:none}@keyframes scroll-progress-scale{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.scroll-progress-native{animation:none;display:none}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.tool-range-slider{-webkit-appearance:none;appearance:none;height:6px;border-radius:9999px;background:var(--color-ui-slider-track);outline:none;cursor:pointer}.tool-range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:9999px;background:var(--color-ui-slider-thumb);border:2px solid var(--color-ui-slider-thumb-border);box-shadow:var(--shadow-ui-slider-thumb);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.tool-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-ui-slider-thumb-hover)}.tool-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:9999px;background:var(--color-ui-slider-thumb);border:2px solid var(--color-ui-slider-thumb-border);box-shadow:var(--shadow-ui-slider-thumb);cursor:pointer}body,html{width:100%;overflow-x:hidden}:root{--shadow:0 20px 50px rgba(0,0,0,0.08);--font-display:var(--font-sans,"Geist"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:var(--font-sans,"Geist"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-mono,"Geist Mono"),ui-monospace,"SFMono-Regular","Menlo","Monaco","Consolas",monospace;--font-inter:var(--font-sans,"Geist"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text-body)}html.dark .pill{background:var(--color-ui-pill-dark-bg)}html.dark .note-article h1,html.dark .rn-h1{background:linear-gradient(135deg,var(--color-ui-dark-h1-gradient-from) 0,var(--color-ui-dark-h1-gradient-to) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark .note-article h2,html.dark .rn-h2{color:var(--text-heading)}html.dark article{background:var(--surface);border:1px solid var(--color-ui-dark-article-border);box-shadow:var(--shadow)}:is(.bg-neutral-800,.bg-neutral-900,.bg-neutral-950) .text-black,:is(.bg-neutral-800,.bg-neutral-900,.bg-neutral-950) .text-neutral-900{color:var(--text-body)!important}:is(.bg-neutral-900,.bg-neutral-950) :where(.text-black,.text-neutral-900){color:var(--text-body)!important}body{margin:0;min-height:100vh;background-color:var(--color-bg-primary);color:var(--text-body);font-family:var(--font-sans,"Geist"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:var(--line-height-relaxed,1.7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility;letter-spacing:-.01em}html:not(.dark) :is([class*=bg-gradient-to-][class*=from-neutral-50][class*=to-neutral-50],[class*=bg-gradient-to-][class*=from-neutral-50][class*=to-neutral-100],[class*=bg-gradient-to-][class*=from-neutral-50][class*=to-white],[class*=bg-gradient-to-][class*=from-white][class*=to-neutral-50],[class*=bg-gradient-to-][class*=from-white][class*=to-neutral-100],[class*=bg-gradient-to-][class*=from-neutral-50][class*=via-white]){background-image:none!important;background-color:#ffffff!important}:where(svg.lucide,.lucide-icon){display:inline-block;vertical-align:middle;flex-shrink:0}:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.studio-route,.studio-a11y-premium) :where(.text-neutral-400){color:var(--color-ui-studio-light-neutral-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-neutral-500){color:var(--color-ui-studio-light-neutral-500)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-neutral-600){color:var(--color-ui-studio-light-neutral-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-blue-400){color:var(--color-ui-studio-light-blue-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-blue-100],[class*=text-blue-200],[class*=text-blue-300]){color:var(--color-ui-studio-light-blue-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-emerald-400){color:var(--color-ui-studio-light-emerald-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-emerald-100],[class*=text-emerald-200],[class*=text-emerald-300]){color:var(--color-ui-studio-light-emerald-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-violet-400){color:var(--color-ui-studio-light-violet-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-violet-100],[class*=text-violet-200],[class*=text-violet-300]){color:var(--color-ui-studio-light-violet-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-rose-400){color:var(--color-ui-studio-light-rose-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-rose-100],[class*=text-rose-200],[class*=text-rose-300]){color:var(--color-ui-studio-light-rose-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-red-400){color:var(--color-ui-studio-light-red-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-red-100],[class*=text-red-200],[class*=text-red-300]){color:var(--color-ui-studio-light-red-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-amber-400){color:var(--color-ui-studio-light-amber-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-amber-100],[class*=text-amber-200],[class*=text-amber-300]){color:var(--color-ui-studio-light-amber-400)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-cyan-100],[class*=text-cyan-200],[class*=text-cyan-300],[class*=text-cyan-400]){color:var(--color-ui-studio-light-teal-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-sky-500){color:var(--color-ui-studio-light-sky-500)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-sky-100],[class*=text-sky-200],[class*=text-sky-300],[class*=text-sky-400]){color:var(--color-ui-studio-light-sky-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-teal-500){color:var(--color-ui-studio-light-teal-500)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-teal-100],[class*=text-teal-200],[class*=text-teal-300],[class*=text-teal-400]){color:var(--color-ui-studio-light-teal-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-indigo-500){color:var(--color-ui-studio-light-indigo-500)!important}:where(.studio-route,.studio-a11y-premium) :where([class*=text-indigo-100],[class*=text-indigo-200],[class*=text-indigo-300],[class*=text-indigo-400]){color:var(--color-ui-studio-light-indigo-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-emerald-600){color:var(--color-ui-studio-light-emerald-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-sky-600){color:var(--color-ui-studio-light-sky-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-teal-600){color:var(--color-ui-studio-light-teal-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-violet-600){color:var(--color-ui-studio-light-violet-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-indigo-600){color:var(--color-ui-studio-light-indigo-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-amber-600){color:var(--color-ui-studio-light-amber-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-rose-600){color:var(--color-ui-studio-light-rose-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.text-pink-600){color:var(--color-ui-studio-light-pink-600)!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-blue-500.text-white){background-color:var(--color-ui-studio-light-blue-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-emerald-500.text-white){background-color:var(--color-ui-studio-light-emerald-400)!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-violet-500.text-neutral-900){background-color:var(--color-ui-studio-light-violet-400)!important;color:var(--color-text-inverse)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-neutral-400){color:var(--color-ui-studio-dark-neutral-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-neutral-500){color:var(--color-ui-studio-dark-neutral-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-neutral-600){color:var(--color-ui-studio-dark-neutral-600)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-blue-400){color:var(--color-ui-studio-dark-blue-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-blue-100],[class*=text-blue-200],[class*=text-blue-300]){color:var(--color-ui-studio-dark-blue-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-emerald-400){color:var(--color-ui-studio-dark-emerald-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-emerald-100],[class*=text-emerald-200],[class*=text-emerald-300]){color:var(--color-ui-studio-dark-emerald-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-violet-400){color:var(--color-ui-studio-dark-violet-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-violet-100],[class*=text-violet-200],[class*=text-violet-300]){color:var(--color-ui-studio-dark-violet-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-rose-400){color:var(--color-ui-studio-dark-rose-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-rose-100],[class*=text-rose-200],[class*=text-rose-300]){color:var(--color-ui-studio-dark-rose-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-red-400){color:var(--color-ui-studio-dark-red-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-red-100],[class*=text-red-200],[class*=text-red-300]){color:var(--color-ui-studio-dark-red-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-amber-400){color:var(--color-ui-studio-dark-amber-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-amber-100],[class*=text-amber-200],[class*=text-amber-300]){color:var(--color-ui-studio-dark-amber-400)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-cyan-100],[class*=text-cyan-200],[class*=text-cyan-300],[class*=text-cyan-400]){color:var(--color-ui-studio-dark-teal-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-sky-500){color:var(--color-ui-studio-dark-sky-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-sky-100],[class*=text-sky-200],[class*=text-sky-300],[class*=text-sky-400]){color:var(--color-ui-studio-dark-sky-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-teal-500){color:var(--color-ui-studio-dark-teal-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-teal-100],[class*=text-teal-200],[class*=text-teal-300],[class*=text-teal-400]){color:var(--color-ui-studio-dark-teal-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-indigo-500){color:var(--color-ui-studio-dark-indigo-500)!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where([class*=text-indigo-100],[class*=text-indigo-200],[class*=text-indigo-300],[class*=text-indigo-400]){color:var(--color-ui-studio-dark-indigo-500)!important}.studio-a11y-premium pre,.studio-route pre{display:block;width:100%;max-width:100%;max-height:none!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word;padding:1rem!important;border-radius:16px;border:1px solid var(--color-ui-studio-code-border)!important;background:linear-gradient(180deg,var(--color-ui-slider-thumb) 0,var(--color-ui-studio-code-surface-deep) 100%)!important;color:var(--color-ui-studio-code-text)!important;box-shadow:var(--shadow-ui-studio-pre)}.studio-a11y-premium .studio-code-surface,.studio-route .studio-code-surface{border-radius:16px;border:1px solid var(--color-ui-studio-code-border-strong)!important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 34%),radial-gradient(130% 110% at 0 0,rgba(56,189,248,.2),transparent 48%),radial-gradient(130% 120% at 100% 100%,rgba(129,140,248,.16),transparent 55%),var(--color-ui-studio-code-surface)!important;color:var(--color-ui-studio-code-text)!important;box-shadow:var(--shadow-ui-studio-surface)}.studio-a11y-premium .studio-code-surface *,.studio-route .studio-code-surface *{color:inherit!important}.studio-a11y-premium pre *,.studio-a11y-premium pre code,.studio-route pre *,.studio-route pre code{color:var(--color-ui-studio-code-text)!important;white-space:inherit!important;overflow-wrap:inherit!important;background:transparent!important}.studio-a11y-premium code:not(pre code),.studio-route code:not(pre code){border-radius:8px;border:1px solid var(--color-ui-studio-code-border)!important;background:var(--color-ui-studio-inline-code-bg)!important;color:var(--color-ui-studio-code-text)!important;padding:.15rem .4rem;font-family:var(--font-mono)}.studio-a11y-premium :where(.studio-explainer),.studio-route :where(.studio-explainer){margin-top:.6rem;border-radius:14px;border:1px solid var(--color-ui-studio-explainer-border);background:linear-gradient(135deg,var(--color-ui-studio-explainer-from),var(--color-ui-studio-explainer-to));padding:.85rem 1rem;box-shadow:var(--shadow-ui-studio-explainer)}.studio-a11y-premium :where(.studio-explainer p),.studio-route :where(.studio-explainer p){margin:0;color:var(--color-ui-slider-thumb)!important;font-size:.9rem;line-height:1.6}.muted{color:var(--text-muted)}.text-xs{font-size:var(--font-size-xs)!important}@layer base{:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-display),var(--font-inter),"Inter",system-ui,sans-serif;margin:0 0 .5rem;line-height:1.2;font-weight:700;letter-spacing:-.02em}:where(h1){font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1;margin-bottom:1rem}:where(h2){font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-top:2.5rem;margin-bottom:1rem}:where(h3){font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;margin-top:2rem;margin-bottom:.75rem}:where(h4){font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}p{margin:0 0 var(--space-5);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-body)}code,pre{font-family:var(--font-mono),"JetBrains Mono","Fira Code","Consolas","Monaco",monospace;font-feature-settings:"liga" 1,"calt" 1}a:not([class*=text-]){color:inherit}}.skip-link{position:absolute;top:-100px;left:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-text-heading);color:var(--color-text-inverse);border-radius:var(--radius-md);transition:top var(--transition-fast);z-index:10003;text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.skip-link:focus{top:calc(1rem + env(safe-area-inset-top, 0px));outline:3px solid var(--color-ui-focus-ring-strong);outline-offset:4px}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);width:100%}.site-header{position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,var(--color-ui-header-bg-from) 0,var(--color-ui-header-bg-to) 100%);border-bottom:1px solid var(--color-ui-header-border);transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1),top .22s cubic-bezier(.4,0,.2,1);will-change:transform;--header-height:64px;margin-top:0!important;padding-top:env(safe-area-inset-top,0)}.site-header:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--color-ui-header-strip-from) 0,var(--color-ui-header-strip-mid) 45%,var(--color-ui-header-strip-to) 100%);opacity:.9}.site-header:focus-within{transform:translateY(0)!important;opacity:1!important}.site-header--hidden{transform:translateY(-110%);opacity:.02}:focus-visible{scroll-margin-top:calc(var(--header-height, 64px) + 1rem + env(safe-area-inset-top, 0px))}:focus-visible{position:relative;z-index:1}.site-header__inner{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:relative}@media (max-width:640px){.site-header{--header-height:56px}.site-header__inner{padding:var(--space-2) var(--space-3)}.brand__text{font-size:.95rem}}.safe-top-right{top:calc(1rem + env(safe-area-inset-top))}.safe-bottom-right,.safe-top-right{right:calc(1rem + env(safe-area-inset-right))}.safe-bottom-right{bottom:calc(1rem + env(safe-area-inset-bottom))}.nav-links a,.site-header nav a{color:var(--text-heading)}.nav-links a,.nav-links__trigger{border-radius:999px;border:1px solid transparent}.nav-links a:not([data-active=true]),.nav-links__trigger:not([data-active=true]){background:var(--color-ui-nav-passive-bg);border-color:var(--color-ui-nav-passive-border)}.nav-links a[data-active=true],.site-header nav a[data-active=true]{background:linear-gradient(120deg,var(--color-ui-nav-active-from) 0,var(--color-ui-nav-active-to) 100%);color:var(--color-text-inverse)}.nav-links a[data-active=true]:hover,.site-header nav a[data-active=true]:hover{background-color:var(--color-ui-nav-active-to);color:var(--color-text-inverse)}.nav-links a:not([data-active=true]):hover,.site-header nav a:not([data-active=true]):hover{background:var(--color-ui-nav-hover-bg);border-color:var(--color-ui-nav-hover-border);color:var(--text-heading)}html.dark .nav-links a:not([data-active=true]),html.dark .site-header nav a:not([data-active=true]){color:var(--text-body)}html.dark .nav-links a:not([data-active=true]):hover,html.dark .site-header nav a:not([data-active=true]):hover{background-color:rgba(255,255,255,.1);color:var(--text-body)}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;letter-spacing:.01em}.brand__mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,var(--color-ui-brand-mark-from),var(--color-ui-brand-mark-to));color:var(--color-text-inverse);display:grid;place-items:center;font-size:.9rem;font-family:var(--font-display);box-shadow:0 8px 20px var(--color-ui-brand-mark-shadow)}.brand__text{font-size:1.05rem}.nav-links{align-items:center;gap:.8rem}.nav-links a{text-decoration:none;font-weight:600;color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:var(--transition-bg),var(--transition-color)}.nav-links a:hover{background:var(--color-ui-nav-link-hover-bg)}.nav-links__trigger{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;font-weight:600;color:var(--text);padding:.45rem .75rem;border-radius:10px;border:none;background:transparent;cursor:pointer;transition:background .12s ease,color .12s ease;font-family:inherit;font-size:inherit}.nav-links__trigger:hover{background:var(--color-ui-nav-hover-bg)}.nav-links__chevron{font-size:.85em;opacity:.7;transition:transform .15s ease}.nav-links__dropdown{position:absolute;top:calc(100% + .5rem);left:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-ui-dropdown-top),var(--shadow-ui-dropdown-bottom);padding:.5rem;min-width:220px;max-width:calc(100vw - 2rem);z-index:1000;display:grid;gap:.25rem;animation:dropdown-appear .18s cubic-bezier(.16,1,.3,1)}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-links__dropdown--fixed{position:fixed;z-index:10001}.nav-links__dropdown--right{left:auto;right:0}.nav-links__dropdown--up{top:auto;bottom:calc(100% + .5rem)}.nav-links__dropdown-item{display:flex;align-items:center;padding:.75rem 1rem;min-height:44px;border-radius:8px;text-decoration:none;color:var(--text);font-weight:500;transition:background .12s ease,outline .12s ease}.nav-links__dropdown-item:hover{background:var(--color-ui-nav-hover-bg);color:var(--accent)}.nav-links__dropdown-item:focus-visible{outline:2px solid var(--color-ui-focus-ring-strong);outline-offset:4px;z-index:10002;position:relative}.page-shell{max-width:1200px;width:100%;min-width:0;margin:0 auto;padding:var(--space-10) var(--space-6) var(--space-16)}.page-header{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin-bottom:2rem;min-width:0;width:100%}.lead{font-size:1rem;line-height:1.5;margin:.75rem 0 1.5rem}.eyebrow,.lead{color:var(--text-muted)}.eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);border:var(--border-width-sm) solid transparent;font-weight:var(--font-weight-bold);text-decoration:none;transition:var(--transition-transform),var(--transition-shadow),var(--transition-bg),var(--transition-border)}.button.primary{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#ffffff;box-shadow:0 18px 40px rgba(122,232,199,.35)}.button.primary:hover{transform:translateY(-1px)}.button.primary.hero-cta{background:linear-gradient(120deg,#1d4ed8,#15803d);border:1px solid rgba(15,23,42,.18);box-shadow:0 18px 36px rgba(15,23,42,.18),0 6px 16px rgba(37,99,235,.28)}html.dark .button.primary.hero-cta,html.dark .button.primary.hero-cta:focus-visible,html.dark .button.primary.hero-cta:hover{border-color:rgba(226,232,240,.16);box-shadow:0 20px 38px rgba(2,6,23,.55),0 8px 18px rgba(15,23,42,.45)}.button.secondary{background:rgba(122,232,199,.08);color:var(--accent);border-color:rgba(122,232,199,.35)}.button.ghost{background:transparent;color:var(--text);border-color:var(--line)}.rn-tabs{width:100%}.rn-tabs-inner{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);box-shadow:0 10px 24px rgba(0,0,0,.04)}.rn-tab{appearance:none;border:var(--border-width-sm) solid transparent;background:transparent;color:var(--text);font:inherit;font-weight:var(--font-weight-bold);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-bg),var(--transition-color),var(--transition-border),var(--transition-transform)}.rn-tab:hover{background:rgba(0,122,255,.08);border-color:rgba(0,122,255,.18)}.rn-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rn-tab-active{background:rgba(0,122,255,.18);border-color:rgba(0,122,255,.45);color:var(--text-heading)}.rn-tab-active:after{content:"";display:block;height:2px;margin-top:.15rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}html.dark .rn-tabs-inner{background:rgba(255,255,255,.04);border-color:rgba(148,163,184,.22)}html.dark .rn-tab:hover{background:rgba(59,130,246,.18);border-color:rgba(59,130,246,.3)}html.dark .rn-tab-active{background:rgba(59,130,246,.24);border-color:rgba(59,130,246,.42)}.section{margin:2.25rem 0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.hint{color:var(--muted);font-size:.95rem}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:center;padding:1rem 0 1.5rem}.hero__copy{display:grid;gap:.75rem}.hero__panel{background:linear-gradient(140deg,rgba(122,168,255,.14),rgba(122,231,199,.14));border:1px solid var(--line);border-radius:20px;padding:1.1rem;box-shadow:var(--shadow)}.highlight{color:var(--accent)}.hero-list{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.35rem;color:var(--muted)}.hero-list li{display:flex;align-items:center;gap:.5rem}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot--accent{background:linear-gradient(120deg,var(--accent),var(--accent-2));box-shadow:0 0 0 6px rgba(122,232,199,.08)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card-grid,.course-grid{display:grid;gap:1.25rem}.course-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card,.course-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.3rem;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:block;height:100%;transition:border-color .15s ease,transform .15s ease}.card:hover,.course-card:hover{border-color:rgba(0,122,255,.35);transform:translateY(calc(var(--space-1) * -2))}@media (prefers-reduced-motion:no-preference){.card,.course-card,.rn-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}}.course-card__meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.course-card__tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}.course-card__footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.card-title{margin:0 0 .4rem;line-height:1.3}.meta{margin:0 0 .75rem;color:var(--muted);font-size:.95rem}.excerpt{color:var(--text)}.muted{color:var(--muted)}.text-link{gap:.35rem;margin-top:.75rem;color:var(--accent);font-weight:700}.pill,.text-link{display:inline-flex;align-items:center}.pill{gap:.3rem;border-radius:999px;padding:.35rem .7rem;border:1px solid var(--line);background:rgba(15,23,42,.04);font-size:.95rem;color:var(--text)}.pill--accent{border-color:rgba(0,122,255,.5);color:var(--accent);background:rgba(0,122,255,.1)}.pill--ghost{border-color:var(--line);color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:12px;background:rgba(255,255,255,.05);color:var(--muted);border:1px solid var(--line);font-weight:600}.chip--accent{background:rgba(0,122,255,.12);color:var(--accent);border-color:rgba(0,122,255,.3)}.chip--mint{background:rgba(20,184,166,.12);color:var(--accent-mint);border-color:rgba(20,184,166,.3)}.chip--amber{background:rgba(245,158,11,.14);color:var(--accent-amber);border-color:rgba(245,158,11,.32)}.chip--ghost{border-color:rgba(255,255,255,.12);color:var(--text)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:var(--shadow)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.section-heading+.tool-grid{margin-top:1rem}@media (max-width:768px){.card-grid,.course-grid,.summary-grid,.tool-grid{grid-template-columns:1fr}}.key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:.75rem}.key-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);padding:.9rem}.key-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.key-card__body{background:var(--surface-2);padding:.75rem;overflow:auto;font-size:.9rem}.key-card__body,.status{color:var(--text);border-radius:10px}.status{padding:.55rem .75rem;border:1px solid var(--line);background:rgba(255,255,255,.02)}.status--ok{border-color:rgba(0,122,255,.5);color:var(--accent)}.status--warn{border-color:rgba(255,149,0,.5);color:#ff9500}.control-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.control{display:grid;gap:.35rem;color:var(--muted);font-size:.95rem}input,select,textarea{background:#ffffff;border:1px solid var(--line);color:var(--text);padding:.75rem .9rem;border-radius:12px;font-size:1rem;width:100%;transition:border-color .15s ease,outline .15s ease}input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,122,255,.4);outline-offset:2px;border-color:rgba(0,122,255,.5)}.form-grid{display:grid;gap:1.25rem}.form-field{display:grid;gap:.5rem}.form-field label{font-weight:600;font-size:.95rem;color:var(--text)}.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.search-box input{width:100%}.site-footer{border-top:1px solid var(--line);background:#f8fafc;margin-top:4rem;padding-bottom:env(safe-area-inset-bottom,0)}.site-footer__inner{max-width:1200px;margin:0 auto;padding:2rem 1rem 1.5rem;display:flex;flex-wrap:wrap;flex-direction:column}@media (min-width:640px){.site-footer__inner{padding:2rem 1.5rem 1.5rem}}@media (min-width:768px){.site-footer__inner{padding:2.5rem 2rem 2rem}}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.breadcrumb{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.95rem;margin-bottom:1rem}.stack{display:grid;gap:1.25rem}.post-content{display:grid;gap:1rem;line-height:1.7;color:var(--text)}.post-content h2,.post-content h3,.post-content h4{margin:1.5rem 0 .5rem}.post-content pre{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 34%),radial-gradient(130% 110% at 0 0,rgba(56,189,248,.2),transparent 48%),radial-gradient(130% 120% at 100% 100%,rgba(129,140,248,.16),transparent 55%),#040712;color:#f8fafc;padding:1rem 1.1rem;border-radius:16px;overflow-x:auto;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(2,6,23,.28)}.post-content code{background:rgba(15,23,42,.85);color:#e2e8f0;padding:.15rem .35rem;border-radius:.35rem}.prose pre{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 34%),radial-gradient(130% 110% at 0 0,rgba(56,189,248,.2),transparent 48%),radial-gradient(130% 120% at 100% 100%,rgba(129,140,248,.16),transparent 55%),#040712;color:#f8fafc;border-radius:16px;overflow-x:auto;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(2,6,23,.28);padding:1rem 1.1rem}.prose code{font-size:.92em}.post-content pre code,.prose pre code{color:#f8fafc;background:transparent;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;text-shadow:0 1px 0 rgba(15,23,42,.3)}.prose :not(pre)>code{background:rgba(15,23,42,.88);color:#e2e8f0;border:1px solid rgba(148,163,184,.45);padding:.16rem .42rem;border-radius:.45rem}.post-content img{max-width:100%;height:auto;border-radius:12px}.callout{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:rgba(255,255,255,.04)}.callout__header{display:flex;align-items:center;gap:.5rem;color:var(--text)}.callout__title{font-weight:700;margin:0;color:var(--text-callout)}.callout__body{margin-top:.25rem;color:var(--muted)}.callout--success{border-color:rgba(122,232,199,.5)}.callout--info{border-color:rgba(122,168,255,.4)}.callout--warning{border-color:rgba(255,186,104,.5)}.lesson-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(260px,1fr);gap:1.5rem;align-items:start}.lesson-content{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.3rem;box-shadow:var(--shadow)}.lesson-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}.lesson-nav{position:sticky;top:80px;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}.lesson-list{display:grid;gap:.6rem;margin-top:.5rem}.lesson-list__item{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem;border-radius:12px;text-decoration:none;color:var(--text);border:1px solid var(--line);background:rgba(255,255,255,.02)}.lesson-list__item:hover{border-color:rgba(122,232,199,.5)}.lesson-list__item.is-active{border-color:rgba(122,232,199,.6);background:rgba(122,232,199,.07)}.lesson-list__copy{display:grid;gap:.2rem}.lesson-title{font-weight:700}.lesson-desc{color:var(--muted);font-size:.95rem}.control-row .pill{cursor:pointer}.pagination{display:flex;gap:.5rem;align-items:center;margin-top:1.5rem}.pagination button{padding:.65rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;color:var(--text)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .page-indicator{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rn-anchor-highlight{box-shadow:0 0 0 4px rgba(59,130,246,.25);border-radius:10px;transition:box-shadow .25s ease}.game-shell{display:grid;gap:1.25rem}.game-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.defend-grid,.game,.game-body{display:grid;gap:1rem}.defend-grid{grid-template-columns:2fr 1fr}.defend-layers{display:grid;gap:.8rem}.layer-card{border:1px solid var(--line);border-radius:12px;padding:.9rem;background:rgba(255,255,255,.02)}.layer-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.layer-drop{min-height:48px;gap:.4rem;margin:.5rem 0}.layer-actions,.layer-drop{display:flex;flex-wrap:wrap}.layer-actions{gap:.35rem}.defend-panel{border:1px solid var(--line);border-radius:12px;padding:.9rem;background:var(--surface);display:grid;gap:.7rem}.threat-list{display:grid;gap:.5rem}.threat-chip{display:flex;gap:.5rem;align-items:center;padding:.55rem;border-radius:10px;border:1px solid var(--line)}.design-grid{display:grid;grid-template-columns:1fr 2fr;gap:1rem}.components-list{border:1px solid var(--line);border-radius:12px;padding:.9rem;background:var(--surface-2)}.component-chips{display:flex;flex-wrap:wrap;gap:.5rem}.zones{display:grid;gap:.8rem}.zone-card{border:1px solid var(--line);border-radius:12px;padding:.9rem;background:rgba(255,255,255,.02)}.zone-head{justify-content:space-between}.zone-body,.zone-head{display:flex;gap:.5rem}.zone-body{flex-wrap:wrap;margin:.5rem 0}.zone-actions{display:flex;gap:.35rem;flex-wrap:wrap}.design-footer{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.tiny-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}.tiny-canvas{display:grid;place-items:center}.canvas{position:relative;border:1px solid var(--line);border-radius:12px;background:#ffffff;overflow:hidden;touch-action:none}.cell{width:5%;height:5%}.cell,.point{position:absolute}.point{width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%)}.tiny-controls{display:grid;gap:.75rem}.pill-row{display:flex;gap:.4rem}.note-layout{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:1rem;align-items:start}.note-sidebar{position:sticky;top:80px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.55rem .65rem;box-shadow:0 10px 26px rgba(0,0,0,.04)}.note-toc{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.35rem}.note-toc__link{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .65rem;border-radius:10px;text-decoration:none;color:var(--muted);border:1px solid transparent}.note-toc__link.is-active{border-color:rgba(0,122,255,.35);color:var(--text);background:rgba(0,122,255,.08)}.note-article{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.98));border:1px solid rgba(10,37,64,.1);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px rgba(10,37,64,.06),0 8px 24px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.9);position:relative;overflow:hidden}.note-article:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0a2540,#0070f3 52%,#14b8a6)}.notes-shell{display:grid;gap:1.25rem}.note-article table,.thin-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}.note-article table td,.note-article table th,.thin-table td,.thin-table th{border:1px solid var(--line);padding:.75rem 1rem;text-align:left}.note-article table thead,.thin-table thead{background:rgba(0,122,255,.08);font-weight:600}.note-article table tbody tr:nth-child(2n),.thin-table tbody tr:nth-child(2n){background:rgba(0,0,0,.02)}.note-article table tbody tr:hover,.thin-table tbody tr:hover{background:rgba(0,122,255,.04)}@media (max-width:640px){.note-article table,.thin-table{font-size:.9rem}.note-article table td,.note-article table th,.thin-table td,.thin-table th{padding:.5rem .6rem}}.katex-display,.math-block{display:block;margin:2rem auto;padding:1.5rem 2rem;border-radius:16px;background:linear-gradient(135deg,rgba(10,37,64,.04),rgba(0,112,243,.08) 56%,rgba(20,184,166,.08));border:1px solid rgba(0,112,243,.16);box-shadow:0 4px 20px rgba(10,37,64,.08),inset 0 1px 0 rgba(255,255,255,.5);position:relative;overflow-x:auto;overflow-y:hidden;font-family:var(--font-mono),"KaTeX_Math","Computer Modern",serif}.katex-display:before,.math-block:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0a2540,#0070f3 52%,#14b8a6)}.katex{font-size:1.15em!important;font-family:var(--font-mono),"KaTeX_Math","Computer Modern",serif!important}.katex-display>.katex{font-size:1.4em!important;text-align:center;display:block;margin:0 auto}.katex .mathnormal{font-family:var(--font-mono),"KaTeX_Math","Computer Modern",serif!important}.katex:not(.katex-display),.math-inline .katex{background:rgba(0,112,243,.1);padding:.15em .4em;border-radius:6px;font-size:1.05em;border:1px solid rgba(0,112,243,.16);margin:0 .2em;display:inline-block;vertical-align:baseline}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.tool-card{transition:transform .15s ease,box-shadow .15s ease}.tool-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tool-card:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(0,0,0,.07)}.notes-grid{grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:1.5rem}.notes-nav{top:80px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.75rem .85rem;box-shadow:0 10px 26px rgba(0,0,0,.04)}.notes-nav h4{font-size:.95rem}.notes-nav ul{gap:.5rem}.notes-nav a{gap:.15rem;padding:.45rem .6rem;border-radius:10px}.notes-nav a.is-active{border-color:rgba(0,122,255,.3);background:rgba(0,122,255,.08);color:var(--text)}@media (max-width:960px){.notes-grid{grid-template-columns:1fr}.notes-nav{position:static}}.note-section{margin:2rem 0;scroll-margin-top:120px}.prose-content :is(h2,h3,h4,h5)[id]{scroll-margin-top:calc(var(--header-height, 64px) + 1.25rem + env(safe-area-inset-top, 0px))}.mermaid-diagram{min-width:100%}.mermaid-diagram svg{max-width:100%;overflow:visible!important;display:block;margin:0 auto}.mermaid-diagram svg text,.mermaid-diagram svg tspan{font-size:16px;font-weight:700;letter-spacing:.01em}.mermaid-diagram svg g.cluster text,.mermaid-diagram svg g.cluster tspan{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mermaid-diagram svg g.edgeLabel text,.mermaid-diagram svg g.edgeLabel tspan{font-size:14px;font-weight:600}.mermaid-surface{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(248,250,252,.92)),radial-gradient(120% 120% at 0 0,rgba(56,189,248,.12),transparent 52%),radial-gradient(120% 120% at 100% 100%,rgba(129,140,248,.12),transparent 56%);overflow:auto}.dark .mermaid-surface{background:linear-gradient(180deg,rgba(2,6,23,.8),rgba(2,6,23,.92)),radial-gradient(120% 120% at 0 0,rgba(14,165,233,.2),transparent 54%),radial-gradient(120% 120% at 100% 100%,rgba(99,102,241,.22),transparent 58%)}.prose-content table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;background:var(--surface-2);margin:2rem 0}.prose-content{min-width:0}.prose-content>figure,.prose-content>iframe,.prose-content>img,.prose-content>pre,.prose-content>table,.prose-content>video{max-width:100%}.prose-content .not-prose{min-width:0;max-width:100%}.prose-content table thead{background:var(--surface)}.prose-content table td,.prose-content table th{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:top}.prose-content table td:not(:last-child),.prose-content table th:not(:last-child){border-right:1px solid var(--line)}.prose-content table th{font-weight:600;color:var(--text-heading)}.prose-content table tbody tr:nth-child(odd){background:#fdfdfd}.prose-content table tbody tr:nth-child(2n){background:#f5f5f7}.prose-content table tbody tr:last-child td{border-bottom:none}.prose-content table caption{caption-side:top;font-size:.95rem;font-weight:500;padding:.75rem 1rem 0;color:var(--text-muted)}@media (max-width:720px){.prose-content table td,.prose-content table th{padding:.6rem .75rem}}.mono{font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;word-break:break-all}.runno-embed{width:100%;border:1px solid var(--line);border-radius:12px;min-height:220px;background:var(--surface-2)}.radio{display:flex;align-items:center;gap:.5rem}.quiz{display:grid;gap:.75rem}.quiz-list{display:grid;gap:1rem}.quiz-item{display:grid;gap:.45rem}.quiz-question{font-weight:700}.quiz-options{display:grid;gap:.35rem}.quiz-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04)}.quiz-summary__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.quiz-summary__value{font-weight:800;color:var(--text)}.quiz-summary__hint{font-size:.85rem;color:var(--muted)}.quiz-option{display:flex;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer}.quiz-option input{margin:0}.quiz-option.is-selected{border-color:rgba(0,122,255,.4);background:rgba(0,122,255,.08)}.quiz-option.is-correct{border-color:rgba(0,122,255,.4);background:rgba(0,122,255,.06)}.quiz-option.is-incorrect{border-color:rgba(255,149,0,.4);background:rgba(255,149,0,.06)}.quiz-feedback{margin:0;padding:.35rem .5rem;border-radius:10px;border:1px solid var(--line)}.quiz-feedback.ok{border-color:rgba(0,122,255,.4);color:var(--accent)}.quiz-feedback.warn{border-color:rgba(255,149,0,.4);color:#ff9500}.quiz-feedback__answer{color:var(--text)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.cert-card{border:1px solid var(--line);border-radius:12px;padding:.75rem;background:rgba(255,255,255,.04)}.math-display{margin:2.5rem 0;text-align:center;padding:1.5rem 2rem;border-radius:16px;background:linear-gradient(135deg,rgba(10,37,64,.04),rgba(0,112,243,.08) 56%,rgba(20,184,166,.08));border:1px solid rgba(0,112,243,.16);box-shadow:0 4px 20px rgba(10,37,64,.08),inset 0 1px 0 rgba(255,255,255,.5);position:relative;overflow:hidden}.math-display:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0a2540,#0070f3 52%,#14b8a6)}.note-callout{border-left:4px solid #b4c8ff;background:rgba(180,200,255,.14);padding:.75rem .9rem;margin:1rem 0;border-radius:6px}.note-callout__title{font-size:.92rem;font-weight:600;margin-bottom:.25rem;color:var(--text-callout)}.note-callout__body{font-size:.95rem;line-height:1.6}.note-callout--memory{border-color:#9cc2f4;background:rgba(156,194,244,.16)}.note-callout--warning{border-color:#ffcf8a;background:rgba(255,207,138,.14)}.note-callout--tip{border-color:#9ad9c1;background:rgba(154,217,193,.16)}.notes-grid{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:1.25rem;align-items:start}.notes-nav{position:sticky;top:84px;background:transparent;padding:.25rem .25rem .5rem;width:100%}.notes-nav h4{margin:0 0 .4rem;font-size:.9rem;font-weight:600;color:var(--muted)}.notes-nav ul{list-style:none;padding:0;margin:0;display:grid;gap:.2rem}.notes-nav a{display:grid;gap:.1rem;text-decoration:none;color:var(--muted);padding:.35rem .4rem;border-radius:8px;border:1px solid transparent;font-size:.9rem}.notes-nav a.is-active{border-color:rgba(0,122,255,.18);background:rgba(0,122,255,.06);color:var(--text-heading)}.notes-nav .outcome{font-size:.9rem;color:var(--muted)}.note-article--wide{max-width:90ch}.note-article{font-size:18px;line-height:1.85;font-family:var(--font-body),var(--font-inter);color:var(--text-body);letter-spacing:-.01em}.note-article hr{border:0;border-top:2px solid rgba(10,37,64,.12);margin:3rem 0;position:relative}.note-article hr:after{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:60px;height:2px;background:linear-gradient(90deg,#0a2540,#0070f3 55%,#14b8a6)}.note-article h1{font-size:clamp(2rem,5vw,2.5rem);font-weight:600;margin:0 0 1rem;line-height:1.2;color:var(--text-heading);letter-spacing:-.02em}@media (min-width:768px){.note-article h1{font-size:clamp(2.5rem,6vw,3rem)}}.note-article h2{font-size:clamp(1.25rem,3.5vw,1.5rem);font-weight:600;margin:3rem 0 1rem;line-height:1.3;color:var(--text-heading);letter-spacing:-.01em;position:relative;padding-bottom:.75rem}.note-article h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background:linear-gradient(90deg,rgb(51 65 85),rgb(71 85 105));border-radius:1px}.note-article h3{font-size:1rem;margin:2.5rem 0 .75rem;letter-spacing:-.005em}.note-article h3,.note-article h4{font-weight:600;line-height:1.5;color:var(--text-heading)}.note-article h4{font-size:.875rem;margin:2rem 0 .5rem;letter-spacing:0;text-transform:uppercase;letter-spacing:.05em}.note-article p{margin:0 0 1.25rem;font-size:1rem;line-height:1.75;color:var(--text-muted)}@media (max-width:768px){.note-article h1{margin:0 0 1rem;line-height:1.2;font-size:clamp(1.875rem,5vw,2.25rem)}.note-article h2{margin:2.5rem 0 1rem;line-height:1.3;font-size:clamp(1.125rem,3vw,1.375rem)}.note-article h3{margin:2rem 0 .75rem;line-height:1.5}.note-article h4{margin:1.5rem 0 .5rem}.note-article p{margin:0 0 1rem;line-height:1.7;font-size:.9375rem}}.note-article ol,.note-article ul{margin:0 0 1.25rem 1.5rem;padding:0;line-height:1.75;font-size:1rem}.note-article ol li,.note-article ul li{margin:.5rem 0;color:var(--text-muted);padding-left:.5rem}.note-article ul li::marker{color:#0070f3}.note-article ol li::marker{color:#0070f3;font-weight:600}.toc-button{display:none;position:fixed;bottom:18px;right:18px;z-index:9;padding:.65rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 28px rgba(0,0,0,.08);font-weight:600}.notes-nav--drawer{position:fixed;inset:0;background:rgba(0,0,0,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:none}.notes-nav__panel{width:78%;max-width:280px;background:var(--surface);height:100%;padding:1rem;box-shadow:0 18px 40px rgba(0,0,0,.12)}@media (max-width:1024px){.defend-grid,.design-grid,.note-layout,.tiny-grid{grid-template-columns:1fr}.note-sidebar{position:static}}@media (max-width:960px){.notes-grid{grid-template-columns:1fr}.notes-nav{display:none}.toc-button{display:inline-flex;align-items:center;gap:.35rem}.notes-nav--drawer{display:flex;align-items:flex-start}.hero,.lesson-layout{grid-template-columns:1fr}.lesson-nav{position:static}}@media (max-width:640px){.page-shell{padding:1.75rem 1.25rem 3rem}.actions{gap:.5rem}.nav-links{flex-wrap:wrap;justify-content:flex-end}.note-layout{grid-template-columns:1fr}.note-sidebar{position:static}}hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:1.5rem 0}.prose h1,.prose h2,.prose h3,.prose h4{border:none;padding-bottom:0}.prose a{text-decoration:none;border:0}article{background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.85),rgba(239,243,250,.9)),radial-gradient(circle at 80% 0,rgba(213,223,245,.5),transparent 45%);border-radius:18px;padding:1.5rem;box-shadow:0 18px 50px rgba(0,0,0,.06)}.prose>:first-child,article>:first-child{margin-top:0}.rn-section{margin:2.5rem 0;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rn-h1{font-size:clamp(2rem,5vw,2.5rem);font-weight:600;line-height:1.2;margin:0 0 1rem;color:var(--text-heading);letter-spacing:-.02em}@media (min-width:768px){.rn-h1{font-size:clamp(2.5rem,6vw,3rem)}}.rn-h2{font-size:clamp(1.25rem,3.5vw,1.5rem);font-weight:600;margin:3rem 0 1rem;line-height:1.3;color:var(--text-heading);letter-spacing:-.01em;position:relative;padding-bottom:.75rem}.rn-h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background:linear-gradient(90deg,rgb(51 65 85),rgb(71 85 105));border-radius:1px}@media (prefers-reduced-motion:reduce){.rn-h2:after{animation:none}}@keyframes slideInLeft{0%{width:0;opacity:0}to{width:60px;opacity:1}}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}.animate-pulse-subtle{animation:pulse-subtle 3s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.animate-pulse-subtle{animation:none}}.rn-body{margin:0 0 1.25rem;font-size:1rem;line-height:1.75;color:var(--text-muted)}@media (prefers-reduced-motion:no-preference){html:not(.rn-no-smooth-scroll){scroll-behavior:smooth}.rn-section{scroll-margin-top:2rem}}section[class*=ToolCard],section[class*=tool-card]{animation:fadeInUp .6s ease-out;animation-fill-mode:both}section[class*=ToolCard]:first-child{animation-delay:.1s}section[class*=ToolCard]:nth-child(2){animation-delay:.2s}section[class*=ToolCard]:nth-child(3){animation-delay:.3s}section[class*=ToolCard]:nth-child(4){animation-delay:.4s}@keyframes hoverLift{0%{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.1)}to{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}}@keyframes gentlePulse{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}@keyframes scalePress{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-hover-lift{transition:transform .3s ease,box-shadow .3s ease}.animate-hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.animate-scale-press:active{animation:scalePress .2s ease-out}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-slide-in-right{animation:slideInRight .4s ease-out}.animate-bounce-in{animation:bounceIn .5s ease-out}.animate-gentle-pulse{animation:gentlePulse 2s infinite}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.spring-hover{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.spring-hover:hover{transform:scale(1.02)}.glass{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2)}.glass,.glass-dark{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-dark{background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.1)}.card-premium{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card-premium:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(0,0,0,.1);border-color:rgba(59,130,246,.3)}.glow-accent{box-shadow:0 0 20px rgba(59,130,246,.2)}.glow-success{box-shadow:0 0 20px rgba(34,197,94,.2)}.glow-warning{box-shadow:0 0 20px rgba(245,158,11,.2)}@media (prefers-reduced-motion:reduce){.animate-bounce-in,.animate-gentle-pulse,.animate-hover-lift,.animate-scale-press,.animate-shimmer,.animate-slide-in-right,.card-premium,.spring-hover{animation:none!important;transition:opacity .2s ease!important}.animate-hover-lift:hover,.card-premium:hover,.spring-hover:hover{transform:none!important}}@media print{.actions,.print-hidden,.site-footer,.site-header,button,nav{display:none!important}.page-shell,main{padding:0!important;margin:0!important}.evidence-container{max-width:none!important}.card,.course-card,textarea{box-shadow:none!important}textarea{border:1px solid #ccc!important}}html.high-contrast{--bg:#ffffff;--bg-soft:#ffffff;--surface:#ffffff;--surface-2:#f0f0f0;--card:#ffffff;--text-body:#000000;--text-muted:#333333;--text-heading:#000000;--text-callout:#000000;--line:#000000;--accent:#0066cc;--accent-2:#006600;--accent-mint:#006666;--accent-amber:#cc6600;--shadow:0 2px 4px rgba(0,0,0,0.3)}html.dark.high-contrast,html.high-contrast.dark{--bg:#000000;--bg-soft:#000000;--surface:#000000;--surface-2:#1a1a1a;--card:#000000;--text-body:#ffffff;--text-muted:#cccccc;--text-heading:#ffffff;--text-callout:#ffffff;--line:#ffffff;--accent:#66ccff;--accent-2:#66ff66;--accent-mint:#66ffff;--accent-amber:#ffcc66;--shadow:0 2px 4px rgba(255,255,255,0.3)}html.high-contrast *{border-color:var(--line)!important}html.high-contrast .text-black,html.high-contrast .text-neutral-800,html.high-contrast .text-neutral-900{color:var(--text-body)!important}html.high-contrast .text-neutral-600,html.high-contrast .text-neutral-700,html.high-contrast .text-neutral-800{color:var(--text-muted)!important}html.high-contrast .bg-white,html.high-contrast [class*="bg-white/"]{background-color:var(--surface)!important}html.high-contrast .bg-black,html.high-contrast .bg-neutral-800,html.high-contrast .bg-neutral-900,html.high-contrast :is(.bg-neutral-900,.bg-neutral-950){background-color:#000000!important}html.high-contrast a{text-decoration:underline;text-decoration-thickness:2px}html.high-contrast [role=button],html.high-contrast button{border:2px solid var(--line)!important}html.rn-text-default{font-size:100%}html.rn-text-large{font-size:112.5%}html.rn-text-xlarge{font-size:125%}html.rn-lineheight-default{--rn-lineheight:1.55}html.rn-lineheight-loose{--rn-lineheight:1.8}body{line-height:var(--rn-lineheight,1.55)}html.rn-spacing-default{--rn-letter-spacing:0;--rn-word-spacing:0}html.rn-spacing-wide{--rn-letter-spacing:0.02em;--rn-word-spacing:0.12em}body{letter-spacing:var(--rn-letter-spacing,0);word-spacing:var(--rn-word-spacing,0)}html.rn-highlight-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}html.rn-highlight-links a:focus-visible,html.rn-highlight-links a:hover{outline:2px solid var(--accent)!important;outline-offset:2px!important}html.rn-dyslexia-friendly{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Atkinson Hyperlegible,Arial,sans-serif}html.rn-hide-images :where(img,picture,video){display:none!important}html.rn-sat-default{--rn-saturation:1}html.rn-sat-low{--rn-saturation:0.8}html.rn-sat-high{--rn-saturation:1.25}body{filter:saturate(var(--rn-saturation,1))}html.reduced-motion *,html.reduced-motion :after,html.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.read-aloud-highlight{background-color:rgba(255,255,0,.3)!important;outline:2px solid rgba(255,200,0,.8)!important;outline-offset:1px!important;border-radius:2px!important;box-shadow:none!important;transform:none!important;margin:0!important;padding:0!important}html.high-contrast .read-aloud-highlight{background-color:rgba(255,255,0,.5)!important;outline:3px solid #ff0000!important;outline-offset:2px!important}:where(a,button,input,textarea,select,summary,[role=button],[tabindex]):focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px!important;border-radius:2px!important}html.high-contrast :where(a,button,input,textarea,select,summary,[role=button],[tabindex]):focus-visible{outline:4px solid var(--accent)!important;outline-offset:4px!important;box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--accent)!important}.skip-link:focus{top:1rem!important;outline:3px solid var(--accent)!important;outline-offset:2px!important;z-index:10000!important}html.high-contrast .skip-link{background:var(--accent)!important;color:var(--bg)!important;border:2px solid var(--text-body)!important}html.high-contrast .skip-link:focus{outline:4px solid var(--text-body)!important;outline-offset:3px!important}html.rn-wordspacing-default{--rn-word-spacing:0}html.rn-wordspacing-wide{--rn-word-spacing:0.12em}html.rn-wordspacing-wider{--rn-word-spacing:0.2em}html.rn-big-cursor,html.rn-big-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 8L8 40L18 30L26 44L32 40L24 26L36 26Z' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 8 8,auto!important}html.rn-big-cursor [role=button],html.rn-big-cursor [tabindex],html.rn-big-cursor a,html.rn-big-cursor button,html.rn-big-cursor input,html.rn-big-cursor select,html.rn-big-cursor textarea{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M10 6C10 4.9 10.9 4 12 4H36C37.1 4 38 4.9 38 6V8C38 9.1 37.1 10 36 10H12C10.9 10 10 9.1 10 8V6ZM22 10V38M22 38L14 30M22 38L30 30' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M22 10V38M22 38L14 30M22 38L30 30' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 24 24,pointer!important}html.rn-focus-highlight :focus,html.rn-focus-highlight :focus-visible{outline:4px solid #ff6600!important;outline-offset:4px!important;box-shadow:0 0 0 8px rgba(255,102,0,.25)!important}html.rn-pause-animations *,html.rn-pause-animations :after,html.rn-pause-animations :before{animation-play-state:paused!important;transition:none!important}html.rn-simplify-layout .ads,html.rn-simplify-layout .recommendations,html.rn-simplify-layout .related,html.rn-simplify-layout .sidebar,html.rn-simplify-layout [role=complementary],html.rn-simplify-layout aside{display:none!important}html.rn-simplify-layout [role=main],html.rn-simplify-layout article,html.rn-simplify-layout main{max-width:65ch!important;margin-inline:auto!important}html.rn-cb-none{filter:saturate(var(--rn-saturation,1))}html.rn-cb-protanopia{filter:saturate(var(--rn-saturation,1)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='protanopia'%3E%3CfeColorMatrix type='matrix' values='0.567 0.433 0 0 0 0.558 0.442 0 0 0 0 0.242 0.758 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E#protanopia")}html.rn-cb-deuteranopia{filter:saturate(var(--rn-saturation,1)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='deuteranopia'%3E%3CfeColorMatrix type='matrix' values='0.625 0.375 0 0 0 0.7 0.3 0 0 0 0 0.3 0.7 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E#deuteranopia")}html.rn-cb-tritanopia{filter:saturate(var(--rn-saturation,1)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cfilter id='tritanopia'%3E%3CfeColorMatrix type='matrix' values='0.95 0.05 0 0 0 0 0.433 0.567 0 0 0 0.475 0.525 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E#tritanopia")}html.rn-cb-achromatopsia{filter:saturate(var(--rn-saturation,1)) grayscale(1)}.rn-game-hub{display:flex;flex-direction:column;gap:1.5rem}.rn-game-card{position:relative;overflow:hidden;border-radius:1rem;border:1px solid rgba(148,163,184,.2);background:linear-gradient(to bottom right,#ffffff,#f8fafc);padding:1.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s cubic-bezier(.4,0,.2,1)}.rn-game-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);border-color:rgba(59,130,246,.3)}.rn-card-title{font-size:1.125rem;font-weight:700;color:var(--text-heading);margin-bottom:.75rem;letter-spacing:-.01em}.rn-card-body{color:var(--text-muted)}.rn-game-area{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.15)}.rn-game-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;margin-bottom:.5rem;border-radius:.5rem;background:rgba(248,250,252,.6);border:1px solid rgba(148,163,184,.1);transition:all .2s ease}.rn-game-row:hover{background:rgba(241,245,249,.8);border-color:rgba(59,130,246,.2)}.rn-game-row label{display:flex;align-items:center;gap:.5rem;flex:1}.rn-game-row label,.rn-game-row select{cursor:pointer;font-size:.875rem;color:rgb(51,65,85)}.rn-game-row select{padding:.5rem .75rem;border-radius:.375rem;border:1px solid rgba(148,163,184,.3);background:white;transition:all .2s ease}.rn-game-row select:hover{border-color:rgba(59,130,246,.5)}.rn-game-row select:focus{outline:none;border-color:rgb(59,130,246);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.rn-tool{display:flex;flex-direction:column;gap:1rem}.rn-tool-head,.rn-tool-title{margin-bottom:.5rem}.rn-tool-title{font-size:1.125rem;font-weight:700;color:var(--text-heading)}.rn-tool-sub{font-size:.875rem;color:var(--text-muted);line-height:1.5}.rn-mini{margin-top:1rem;padding:1rem;border-radius:.5rem;background:linear-gradient(to bottom right,rgba(59,130,246,.05),rgba(147,51,234,.05));border:1px solid rgba(59,130,246,.15)}.rn-mini-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgb(59,130,246);margin-bottom:.5rem}.rn-mini-body{font-size:.875rem;line-height:1.6;color:var(--text-muted)}.rn-choice{display:block;width:100%;padding:.875rem 1rem;text-align:left;border:1px solid rgba(148,163,184,.3);border-radius:.5rem;background:white;color:rgb(51,65,85);font-size:.875rem;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem}.rn-choice:hover{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.05);transform:translateX(2px)}.rn-choice-active{border-color:rgb(59,130,246);background:linear-gradient(90deg,rgba(59,130,246,.1),rgba(147,51,234,.1));color:var(--text-heading);font-weight:600;box-shadow:0 2px 4px rgba(59,130,246,.2)}.rn-label{display:flex;flex-direction:column;gap:.5rem;font-weight:600}.rn-input,.rn-label{font-size:.875rem;color:var(--text)}.rn-input{padding:.5rem .75rem;border-radius:.375rem;border:1px solid rgba(148,163,184,.3);background:var(--surface);transition:all .2s ease}.rn-input:hover{border-color:rgba(59,130,246,.5)}.rn-input:focus{outline:none;border-color:rgb(59,130,246);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.rn-range{width:100%;height:.5rem;border-radius:.25rem;background:rgba(148,163,184,.2);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.rn-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.25rem;height:1.25rem;border-radius:50%;background:rgb(59,130,246);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:all .2s ease}.rn-range::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(59,130,246,.4)}.rn-range::-moz-range-thumb{width:1.25rem;height:1.25rem;border-radius:50%;background:rgb(59,130,246);cursor:pointer;border:none;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:all .2s ease}.rn-range::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(59,130,246,.4)}.rn-grid{display:grid;gap:1rem}.rn-grid-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.rn-grid-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rn-mt{margin-top:1rem}.rn-flex{display:flex}.rn-items-center{align-items:center}.rn-justify-between{justify-content:space-between}html.dark .rn-game-card{background:linear-gradient(to bottom right,rgb(15,23,42),rgb(30,41,59));border-color:rgba(148,163,184,.2)}html.dark .rn-card-title{color:rgb(241,245,249)}html.dark .rn-body,html.dark .rn-card-body{color:rgb(203,213,225)}html.dark .rn-game-row{background:rgba(30,41,59,.6);border-color:rgba(148,163,184,.15)}html.dark .rn-game-row:hover{background:rgba(51,65,85,.8);border-color:rgba(59,130,246,.3)}html.dark .rn-choice{background:rgb(30,41,59);border-color:rgba(148,163,184,.3);color:rgb(203,213,225)}html.dark .rn-choice:hover{background:rgba(59,130,246,.15)}html.dark .rn-game-row select,html.dark .rn-input{background:rgb(30,41,59);border-color:rgba(148,163,184,.3);color:rgb(203,213,225)}.course-section-header{font-size:1.75rem;font-weight:700;line-height:1.3}.course-subsection-header{font-size:1.25rem;font-weight:600;line-height:1.4;margin-top:1.5rem}.course-body-text{font-size:1rem;line-height:1.7}h3+.mdx-paragraph{font-size:clamp(1.0625rem,1rem + .25vw,1.15rem);color:rgb(30,41,59)}html.dark h3+.mdx-paragraph{color:rgb(226,232,240)}.prose-content>span.relative.inline-flex{display:inline-flex;margin-top:1.5rem;margin-bottom:.5rem;margin-right:.5rem}.prose-content>span.relative.inline-flex+span.relative.inline-flex{margin-top:0}.prose-content>span.relative.inline-flex+.mdx-paragraph{margin-top:.125rem}.course-card{position:relative}.course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,rgb(59,130,246),rgb(99,102,241));border-radius:16px 16px 0 0;opacity:0;transition:opacity .2s ease}.course-card:hover:before{opacity:1}.course-section-spacing{margin-bottom:3rem}.course-section-spacing:last-child{margin-bottom:0}:root{--typography-h1-size:2rem;--typography-h1-weight:700;--typography-h1-line-height:1.2;--typography-h2-size:1.75rem;--typography-h2-weight:600;--typography-h2-line-height:1.3;--typography-h3-size:1.25rem;--typography-h3-weight:600;--typography-h3-line-height:1.4;--typography-body-size:1rem;--typography-body-line-height:1.7;--typography-body-letter-spacing:0.01em}html.dark{--typography-body-text-shadow:0 1px 2px rgba(0,0,0,0.1)}.course-section-header{font-size:var(--typography-h2-size);font-weight:var(--typography-h2-weight);line-height:var(--typography-h2-line-height);color:rgb(15,23,42);margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid rgb(226,232,240)}.course-section-header--guide{font-weight:600;border-bottom-color:rgb(199,210,254)}.course-section-header--practice{font-weight:700;border-bottom-color:rgb(253,230,138)}.course-section-header--content{font-weight:600;border-bottom-color:rgb(226,232,240)}html.dark .course-section-header{color:rgb(241,245,249);border-bottom-color:rgb(51,65,85)}html.dark .course-section-header--guide{border-bottom-color:rgb(67,56,202)}html.dark .course-section-header--practice{border-bottom-color:rgb(217,119,6)}html.dark .course-section-header--content{border-bottom-color:rgb(51,65,85)}.course-subsection-header{font-size:var(--typography-h3-size);font-weight:var(--typography-h3-weight);line-height:var(--typography-h3-line-height);color:rgb(30,41,59);margin-top:1.25rem;margin-bottom:.75rem}html.dark .course-subsection-header{color:rgb(226,232,240)}.course-body-text{font-size:var(--typography-body-size);line-height:var(--typography-body-line-height);letter-spacing:var(--typography-body-letter-spacing);color:rgb(51,65,85);margin-bottom:1rem}html.dark .course-body-text{color:rgb(203,213,225);text-shadow:var(--typography-body-text-shadow)}.course-lead-text{font-size:1.125rem;line-height:1.75;color:rgb(51,65,85);margin-bottom:1.25rem}html.dark .course-lead-text{color:rgb(203,213,225)}.course-emoji{display:inline-block;vertical-align:middle;line-height:1;user-select:none}.course-emoji--sm{font-size:1.125rem}.course-emoji--md{font-size:1.25rem}.course-emoji--lg{font-size:1.5rem}@media (max-width:768px){.course-section-header{font-size:1.5rem}.course-subsection-header{font-size:1.125rem}.course-lead-text{font-size:1rem}:root{--typography-h2-size:1.5rem;--typography-h3-size:1.125rem}}:where(input[type=search],input[placeholder*=search i],input[aria-label*=search i],textarea[placeholder*=search i],textarea[aria-label*=search i],input[data-search=true],.search-input,[role=search] input,[role=search]):not([type=hidden]):not([data-search-keep=true]){display:none!important}:where(button[aria-label*=search i],button[title*=search i],a[aria-label*=search i],.lucide-search,[data-lucide=search]):not([data-search-keep=true]){display:none!important}.react-flow__attribution{background:var(--color-ui-react-flow-bg)!important;border:1px solid var(--color-ui-react-flow-border)!important;border-radius:9999px!important;box-shadow:var(--shadow-ui-react-flow)!important;padding:2px 8px!important}.react-flow__attribution a{color:var(--color-ui-react-flow-link)!important;font-weight:600!important;text-decoration:none!important}.react-flow__attribution a:focus-visible,.react-flow__attribution a:hover{text-decoration:underline!important}html.dark .react-flow__attribution{background:var(--color-ui-react-flow-bg-dark)!important;border-color:var(--color-ui-react-flow-border-dark)!important}html.dark .react-flow__attribution a{color:var(--color-ui-react-flow-link-dark)!important}:where(.studio-route,.studio-a11y-premium){--studio-surface:var(--color-ui-studio-surface);--studio-surface-soft:var(--color-ui-studio-surface-soft);--studio-border:var(--color-ui-studio-border);--studio-text:var(--color-ui-studio-text);--studio-muted:var(--color-ui-studio-muted);--studio-shadow:var(--shadow-ui-studio-panel);color:var(--studio-text);background-image:none}html.dark :where(.studio-route,.studio-a11y-premium){--studio-surface:var(--color-ui-studio-surface);--studio-surface-soft:var(--color-ui-studio-surface-soft);--studio-border:var(--color-ui-studio-border);--studio-text:var(--color-ui-studio-text);--studio-muted:var(--color-ui-studio-muted);--studio-shadow:var(--shadow-ui-studio-panel);color:var(--studio-text);background-image:radial-gradient(1200px 600px at 100% -20%,rgba(59,130,246,.06),transparent 52%),radial-gradient(900px 500px at -10% 100%,rgba(16,185,129,.05),transparent 50%)}:where(.studio-route,.studio-a11y-premium) :where(p,span,li,label){color:var(--studio-muted)}:where(.studio-route,.studio-a11y-premium) :where(h1,h2,h3,h4,h5,h6){color:var(--studio-text);letter-spacing:-.02em}:where(.studio-route,.studio-a11y-premium) :where(.bg-white,.bg-neutral-50,.bg-neutral-100){background-color:var(--studio-surface)!important;border-color:var(--studio-border)!important;box-shadow:var(--studio-shadow)}html:not(.dark) :where(.studio-route,.studio-a11y-premium){& :where([class~=text-neutral-100]){color:var(--color-text-heading)!important}& :where([class~=text-neutral-200]){color:var(--color-text-primary)!important}& :where([class~=text-neutral-300]){color:var(--color-text-secondary)!important}& :where([class~=text-white]:not([class*=bg-emerald],[class*=bg-teal],[class*=bg-sky],[class*=bg-blue],[class*=bg-indigo],[class*=bg-violet],[class*=bg-gradient])){color:var(--color-text-heading)!important}& :where([class~=bg-neutral-800],[class*="bg-neutral-800/"]){background-color:var(--color-ui-studio-surface)!important;border-color:var(--color-border-primary)!important}& :where([class~=bg-neutral-900],[class*="bg-neutral-900/"]):not([class~=min-h-screen]){background-color:var(--color-bg-tertiary)!important}& :where([class~=border-neutral-700],[class*="border-neutral-700/"]){border-color:var(--color-border-primary)!important}& :where([class~=border-neutral-600],[class*="border-neutral-600/"]){border-color:var(--color-border-secondary)!important}& :where([class~=border-neutral-800],[class*="border-neutral-800/"]){border-color:var(--color-border-primary)!important}& :where([class~=bg-neutral-700],[class*="bg-neutral-700/"]){background-color:var(--color-bg-tertiary)!important}& :where([class*="bg-emerald-900/"]){background-color:rgba(5,150,105,.08)!important}& :where([class*="bg-sky-900/"]){background-color:rgba(2,132,199,.08)!important}& :where([class*="bg-indigo-900/"]){background-color:rgba(79,70,229,.08)!important}& :where([class*="bg-violet-900/"]){background-color:rgba(124,58,237,.08)!important}& :where([class*="bg-fuchsia-900/"]){background-color:rgba(192,38,211,.08)!important}& :where([class*="bg-amber-900/"]){background-color:rgba(217,119,6,.08)!important}& :where([class*="bg-teal-900/"]){background-color:rgba(15,118,110,.08)!important}& :where([class*="bg-cyan-900/"]){background-color:rgba(8,145,178,.08)!important}& :where([class*="bg-red-900/"]){background-color:rgba(185,28,28,.08)!important}& :where([class~=border-emerald-800]){border-color:rgba(5,150,105,.2)!important}& :where([class~=border-sky-800]){border-color:rgba(2,132,199,.2)!important}& :where([class~=border-indigo-800]){border-color:rgba(79,70,229,.2)!important}& :where([class~=border-violet-800]){border-color:rgba(124,58,237,.2)!important}& :where([class~=border-fuchsia-800]){border-color:rgba(192,38,211,.2)!important}& :where([class~=border-amber-800]){border-color:rgba(217,119,6,.2)!important}& :where([class*=shadow-]:not([class*=shadow-none])){--tw-shadow-color:rgba(15,23,42,0.06)}& :where([class~=from-white][class*=bg-clip-text]){--tw-gradient-from:#0a2540!important}& :where([class~=via-neutral-200][class*=bg-clip-text]){--tw-gradient-via:#334155!important}& :where([class~=to-neutral-400][class*=bg-clip-text]){--tw-gradient-to:#64748b!important}}main{contain:layout style}.site-footer{content-visibility:auto;contain-intrinsic-size:auto 300px}svg:not(.mermaid-diagram svg){shape-rendering:geometricPrecision}img[src$=".svg"]{image-rendering:-webkit-optimize-contrast}:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}