*,:after,:before{box-sizing:border-box}.tool-range-slider{-webkit-appearance:none;appearance:none;height:6px;border-radius:9999px;background:#e2e8f0;outline:none;cursor:pointer}.tool-range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:9999px;background:#0f172a;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.tool-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 6px rgba(0,0,0,.2)}.tool-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:9999px;background:#0f172a;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer}body,html{width:100%;overflow-x:hidden}:root{--shadow:0 20px 50px rgba(0,0,0,0.08);--font-display:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Inter",sans-serif;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Inter",sans-serif;--font-mono:ui-monospace,"SFMono-Regular","Menlo","Monaco","Consolas","Liberation Mono",monospace;--font-inter:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Inter",sans-serif;background:var(--bg);color:var(--text-body)}html.dark .pill{background:rgba(255,255,255,.06)}html.dark .note-article h1,html.dark .rn-h1{background:linear-gradient(135deg,#ededed,#c7d2fe);-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 #2e2e2e;box-shadow:var(--shadow)}[class*=bg-gray-8] .text-black,[class*=bg-gray-8] .text-gray-900,[class*=bg-gray-9] .text-black,[class*=bg-gray-9] .text-gray-900,[class*=bg-neutral-8] .text-neutral-900,[class*=bg-neutral-9] .text-neutral-900,[class*=bg-slate-8] .text-black,[class*=bg-slate-9] .text-black{color:var(--text-body)!important}[class*=bg-gray-9] :where(.text-black,.text-gray-900,.text-slate-900,.text-neutral-900),[class*=bg-neutral-9] :where(.text-black,.text-gray-900,.text-slate-900,.text-neutral-900),[class*=bg-slate-9] :where(.text-black,.text-gray-900,.text-slate-900,.text-neutral-900){color:var(--text-body)!important}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fbfbfd,#f5f5f7);color:var(--text-body);font-family:var(--font-body),var(--font-inter),"Inter","Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility;letter-spacing:-.01em}: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-slate-400){color:#475569!important}:where(.studio-route,.studio-a11y-premium) :where(.text-slate-500){color:#334155!important}:where(.studio-route,.studio-a11y-premium) :where(.text-slate-600){color:#1e293b!important}:where(.studio-route,.studio-a11y-premium) :where(.text-blue-400){color:#1d4ed8!important}:where(.studio-route,.studio-a11y-premium) :where(.text-emerald-400){color:#047857!important}:where(.studio-route,.studio-a11y-premium) :where(.text-violet-400){color:#6d28d9!important}:where(.studio-route,.studio-a11y-premium) :where(.text-rose-400){color:#be123c!important}:where(.studio-route,.studio-a11y-premium) :where(.text-red-400){color:#b91c1c!important}:where(.studio-route,.studio-a11y-premium) :where(.text-amber-400){color:#92400e!important}:where(.studio-route,.studio-a11y-premium) :where(.text-sky-500){color:#0369a1!important}:where(.studio-route,.studio-a11y-premium) :where(.text-teal-500){color:#0f766e!important}:where(.studio-route,.studio-a11y-premium) :where(.text-indigo-500){color:#4338ca!important}:where(.studio-route,.studio-a11y-premium) :where(.text-emerald-600){color:#065f46!important}:where(.studio-route,.studio-a11y-premium) :where(.text-sky-600){color:#075985!important}:where(.studio-route,.studio-a11y-premium) :where(.text-teal-600){color:#115e59!important}:where(.studio-route,.studio-a11y-premium) :where(.text-violet-600){color:#5b21b6!important}:where(.studio-route,.studio-a11y-premium) :where(.text-indigo-600){color:#3730a3!important}:where(.studio-route,.studio-a11y-premium) :where(.text-amber-600){color:#78350f!important}:where(.studio-route,.studio-a11y-premium) :where(.text-rose-600){color:#9f1239!important}:where(.studio-route,.studio-a11y-premium) :where(.text-pink-600){color:#9d174d!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-blue-500.text-white){background-color:#1d4ed8!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-emerald-500.text-white){background-color:#047857!important}:where(.studio-route,.studio-a11y-premium) :where(.bg-violet-500.text-slate-900){background-color:#6d28d9!important;color:#ffffff!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-slate-400){color:#cbd5e1!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-slate-500){color:#e2e8f0!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-slate-600){color:#f1f5f9!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-blue-400){color:#93c5fd!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-emerald-400){color:#6ee7b7!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-violet-400){color:#c4b5fd!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-rose-400){color:#fda4af!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-red-400){color:#fca5a5!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-amber-400){color:#fbbf24!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-sky-500){color:#7dd3fc!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-teal-500){color:#5eead4!important}:where(.studio-route,.studio-a11y-premium) .studio-dark-surface :where(.text-indigo-500){color:#a5b4fc!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 rgba(148,163,184,.3)!important;background:linear-gradient(180deg,#0f172a,#020617)!important;color:#f8fafc!important;box-shadow:0 14px 28px rgba(2,6,23,.35),inset 0 1px 0 rgba(255,255,255,.05)}.studio-a11y-premium .studio-code-surface,.studio-route .studio-code-surface{border-radius:16px;border:1px solid rgba(148,163,184,.45)!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%),#040712!important;color:#f8fafc!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 30px rgba(2,6,23,.28)}.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:#f8fafc!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 rgba(148,163,184,.3)!important;background:#0b1220!important;color:#f8fafc!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 rgba(59,130,246,.2);background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(224,242,254,.95));padding:.85rem 1rem;box-shadow:0 10px 22px rgba(15,23,42,.08)}.studio-a11y-premium :where(.studio-explainer p),.studio-route :where(.studio-explainer p){margin:0;color:#0f172a!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 #0ea5e9;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,rgba(255,255,255,.92),rgba(255,255,255,.84));border-bottom:1px solid rgba(15,23,42,.08);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,#0ea5e9,#22c55e 45%,#a855f7);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:rgba(15,23,42,.02);border-color:rgba(15,23,42,.08)}.nav-links a[data-active=true],.site-header nav a[data-active=true]{background:linear-gradient(120deg,#0f172a,#1e293b);color:#ffffff}.nav-links a[data-active=true]:hover,.site-header nav a[data-active=true]:hover{background-color:#1e293b;color:#ffffff}.nav-links a:not([data-active=true]):hover,.site-header nav a:not([data-active=true]):hover{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.25);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,#0a84ff,#34c759);color:#ffffff;display:grid;place-items:center;font-size:.9rem;font-family:var(--font-display);box-shadow:0 8px 20px rgba(0,122,255,.25)}.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:rgba(255,255,255,.06)}.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:rgba(14,165,233,.1)}.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:0 12px 32px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.08);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:rgba(0,122,255,.08);color:var(--accent)}.nav-links__dropdown-item:focus-visible{outline:2px solid #0ea5e9;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;gap:.75rem;margin-bottom:2rem}.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(102,126,234,.15);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px rgba(102,126,234,.08),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,#667eea,#764ba2 50%,#f093fb)}.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(102,126,234,.08),rgba(118,75,162,.08));border:1px solid rgba(102,126,234,.2);box-shadow:0 4px 20px rgba(102,126,234,.1),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,#667eea,#764ba2 50%,#f093fb)}.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(102,126,234,.1);padding:.15em .4em;border-radius:6px;font-size:1.05em;border:1px solid rgba(102,126,234,.15);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(102,126,234,.08),rgba(118,75,162,.08));border:1px solid rgba(102,126,234,.2);box-shadow:0 4px 20px rgba(102,126,234,.1),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,#667eea,#764ba2 50%,#f093fb)}.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:#c6b4ff;background:rgba(198,180,255,.14)}.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(102,126,234,.15);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,#667eea,#764ba2)}.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:#667eea}.note-article ol li::marker{color:#667eea;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)}}.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-gray-900,html.high-contrast .text-slate-800,html.high-contrast .text-slate-900{color:var(--text-body)!important}html.high-contrast .text-gray-700,html.high-contrast .text-gray-800,html.high-contrast .text-slate-600,html.high-contrast .text-slate-700{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-slate-800,html.high-contrast .bg-slate-900,html.high-contrast [class*=bg-gray-9],html.high-contrast [class*=bg-neutral-9],html.high-contrast [class*=bg-slate-9]{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(.utilities-chatbot-input):not([type=hidden]){display:none!important}:where(button[aria-label*=search i],button[title*=search i],a[aria-label*=search i],.lucide-search,[data-lucide=search]):not([aria-label*=assistant i]):not([title*=assistant i]){display:none!important}