:root{--color-background: #f3f7fc;--color-foreground: #15263d;--color-card: #ffffff;--color-card-foreground: #15263d;--color-primary: #101828;--color-primary-foreground: #ffffff;--color-secondary: #eef1f5;--color-secondary-foreground: #101828;--color-muted: #f4f6f8;--color-muted-foreground: #667085;--color-accent: #f2f4f7;--color-accent-foreground: #111111;--color-border: rgba(16, 24, 40, .1);--color-ring: rgba(16, 24, 40, .16);--font-sans: "Inter", "Segoe UI", sans-serif;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--shadow-card: 0 10px 30px rgba(16, 24, 40, .06);--shadow-card-hover: 0 18px 40px rgba(16, 24, 40, .1);--container-width: 1200px}:root{--color-cyan: #067c90;--color-violet: #7150c5;--color-green: #087e50;--color-amber: #9b5b14;--color-red: #b7354d;--color-code: #eaf2fa;--color-danger-bg: #fff1ef;--color-success-bg: #edf8f1;--color-danger-border: #edc9c5;--color-success-border: #bfdcc6;--color-line: #cbd5e1;--color-inverse: #fff}html[data-theme=dark]{color-scheme:dark;--color-background: #080e1b;--color-foreground: #eff7ff;--color-card: #111d31;--color-card-foreground: #eff7ff;--color-primary: #56d9e7;--color-primary-foreground: #071827;--color-secondary: #17263d;--color-secondary-foreground: #d8e6f4;--color-muted: #0d1527;--color-muted-foreground: #a0b2c8;--color-accent: #17263d;--color-accent-foreground: #eff7ff;--color-border: #283b54;--color-ring: #56d9e755;--color-cyan: #56d9e7;--color-violet: #b4a0ff;--color-green: #8be8ba;--color-amber: #ffca7a;--color-red: #ff8b9b;--color-code: #0a1424;--color-danger-bg: #301e2b;--color-success-bg: #122d2a;--color-danger-border: #743b4b;--color-success-border: #2f6658;--color-line: #405674;--shadow-card: 0 10px 30px #03071430;--shadow-card-hover: 0 18px 40px #03071465}:root{color-scheme:light;font-family:var(--font-sans)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans)}a{color:inherit}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}::selection{background:var(--color-border)}.article-prose pre::selection,.article-prose pre *::selection,.article-prose code::selection{background:#ffffff3d;color:#fff}.container{width:min(var(--container-width),calc(100% - 48px));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-muted),var(--color-background),var(--color-accent))}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 18px}.brand-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:14px;font-weight:600;text-decoration:none}.top-nav__links{display:flex;flex-wrap:wrap;gap:18px}.top-nav__link{color:var(--color-muted-foreground);text-decoration:none;transition:color .2s ease}.top-nav__link:hover,.top-nav__link.is-active{color:var(--color-foreground)}.hero-block{padding:48px 0 64px}.site-header.is-compact .hero-block{padding:28px 0 36px}.site-header.is-compact .hero-block h1{font-size:42px;letter-spacing:0}.site-header.is-compact .hero-block p{font-size:16px}.hero-block__inner{max-width:780px}.hero-block h1{margin:0 0 16px;font-size:clamp(2.5rem,6vw,4rem);font-weight:600;line-height:1.08;letter-spacing:-.04em}.hero-block p{margin:0;max-width:760px;font-size:18px;line-height:1.7;color:var(--color-muted-foreground)}.page-main{padding:48px 0 0}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.article-card{height:100%}.article-card.is-hidden{display:none}.article-card__link{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-card);text-decoration:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.article-card__link:hover{transform:translateY(-3px);border-color:var(--color-border);box-shadow:var(--shadow-card-hover)}.article-card__media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-accent)}.article-card__media img,.article-card__media-fallback{width:100%;height:100%;object-fit:cover}.article-card__media-fallback{background:linear-gradient(135deg,var(--color-accent),var(--color-muted))}.article-card__badge-wrap{position:absolute;top:16px;left:16px}.article-card__badge{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#101828e6;color:#fff;font-size:14px;font-weight:500;backdrop-filter:blur(8px)}.article-card__badge.is-secondary{background:#ffffffe6;color:var(--color-secondary-foreground);border:1px solid var(--color-border)}.article-card__body{display:flex;flex-direction:column;flex:1;padding:24px}.article-card__meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;color:var(--color-muted-foreground)}.article-card h3{margin:0 0 12px;font-size:24px;font-weight:600;line-height:1.35}.article-card p{margin:0;flex:1;font-size:16px;line-height:1.7;color:var(--color-muted-foreground)}.article-card__cta{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--color-primary);font-size:14px;font-weight:500}.category-filter{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.category-filter__button{padding:12px 20px;border:0;border-radius:12px;background:var(--color-accent);color:var(--color-accent-foreground);cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.category-filter__button span{margin-left:8px;opacity:.7}.category-filter__button.is-active{background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:0 10px 20px var(--color-border)}.site-footer{margin-top:80px;border-top:1px solid var(--color-border);background:var(--color-muted)}.footer-card{padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(2,minmax(0,1fr));gap:32px;margin-bottom:32px}.footer-grid h4{margin:0 0 12px;font-size:18px;font-weight:600}.footer-grid p,.footer-grid ul{margin:0;font-size:14px;line-height:1.75;color:var(--color-muted-foreground)}.footer-grid ul{padding-left:0;list-style:none}.footer-grid li+li{margin-top:8px}.footer-grid a{text-decoration:none;overflow-wrap:anywhere}.footer-bottom{padding-top:24px;border-top:1px solid var(--color-border)}.footer-bottom p{margin:0;text-align:center;font-size:14px;color:var(--color-muted-foreground)}.page-section{margin-bottom:48px}.page-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-card);padding:32px;box-shadow:var(--shadow-card)}.page-card h2{margin:0 0 12px;font-size:28px;font-weight:600;line-height:1.3}.page-card p,.page-card li{color:var(--color-muted-foreground);line-height:1.8}.about-list{margin:0;padding-left:20px}.about-list li+li{margin-top:14px}.about-list strong{color:var(--color-foreground);font-weight:600}.social-link{display:inline-flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-accent);color:var(--color-foreground);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.social-link:hover{background:var(--color-accent);border-color:var(--color-border);transform:translateY(-1px)}.social-link svg{width:20px;height:20px;flex:0 0 auto}.social-link__content{display:flex;flex-direction:column;gap:2px}.social-link__title{font-size:14px;font-weight:500}.social-link__meta{font-size:13px;line-height:1.5;color:var(--color-muted-foreground);overflow-wrap:anywhere}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.social-link--email{grid-column:1 / -1}.page-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.about-intro-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:24px;align-items:stretch}.about-portrait-card{padding:0;overflow:hidden;min-height:100%}.about-portrait-card img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center}.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;background:var(--color-accent);font-size:14px;color:var(--color-accent-foreground)}.article-page{padding-top:32px}.article-page__header{margin-bottom:32px}.article-page__back{display:inline-flex;align-items:center;margin-bottom:16px;color:var(--color-muted-foreground);text-decoration:none}.article-page__tag{display:inline-flex;margin-bottom:12px;padding:8px 14px;border-radius:999px;background:var(--color-accent);color:var(--color-accent-foreground);font-size:14px;font-weight:500}.article-page__title{margin:0 0 16px;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:600;line-height:1.1;letter-spacing:-.04em}.article-page__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--color-muted-foreground)}.article-page__hero{margin-bottom:32px;overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-accent);box-shadow:var(--shadow-card)}.article-page__hero img,.article-page__hero-fallback{width:100%;aspect-ratio:16 / 8;object-fit:cover}.article-page__hero-fallback{background:linear-gradient(135deg,var(--color-accent),var(--color-muted))}.article-prose{max-width:840px;user-select:text;-webkit-user-select:text}.article-with-toc-layout{display:grid;grid-template-columns:minmax(230px,270px) minmax(0,1fr);gap:32px;align-items:start}.article-toc{position:sticky;top:24px;max-height:calc(100vh - 48px)}.article-toc__inner{max-height:inherit;overflow-y:auto;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-card);box-shadow:var(--shadow-card)}.article-toc__header{padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--color-border)}.article-toc__eyebrow{margin-bottom:7px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground)}.article-toc__header h2{margin:0 0 5px;font-size:21px;line-height:1.25}.article-toc__header p{margin:0;font-size:12px;color:var(--color-muted-foreground)}.article-toc__nav{display:flex;flex-direction:column;gap:3px}.article-toc__link{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:8px;color:var(--color-muted-foreground);text-decoration:none;transition:background-color .2s ease,color .2s ease}.article-toc__link:hover{background:var(--color-muted);color:var(--color-foreground)}.article-toc__link.is-active{background:var(--color-accent);color:var(--color-foreground)}.article-toc__link span{padding-top:2px;font-size:10px;font-weight:700;color:var(--color-muted-foreground)}.article-toc__link strong{font-size:13px;font-weight:500;line-height:1.4}.article-with-toc__content{min-width:0;max-width:none}.article-with-toc__content h2,.article-with-toc__content h3{scroll-margin-top:24px}.article-with-toc__content .fsm-link-strip,.article-with-toc__content .fsm-anatomy,.article-with-toc__content .fsm-problem-comparison,.article-with-toc__content .fsm-switch-comparison,.article-with-toc__content .fsm-responsibility-map,.article-with-toc__content .fsm-state-map,.article-with-toc__content .fsm-implementation-guide,.article-with-toc__content .fsm-event-routing,.article-with-toc__content .fsm-scope-rule{width:100%}.tutorial-prose{margin-top:0}.tutorial-series-layout{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:32px;align-items:start}.series-sidebar{position:relative}.series-sidebar__inner{position:sticky;top:24px;padding:24px 20px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-muted),var(--color-card));box-shadow:var(--shadow-card)}.series-sidebar__intro{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--color-border)}.series-sidebar__eyebrow{margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-foreground)}.series-sidebar__intro h2{margin:0 0 10px;font-size:22px;font-weight:600;line-height:1.25}.series-sidebar__intro p{margin:0;font-size:14px;line-height:1.7;color:var(--color-muted-foreground)}.series-sidebar__nav{display:flex;flex-direction:column;gap:10px}.series-sidebar__link{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card);text-decoration:none;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}.series-sidebar__link:hover{transform:translateY(-1px);border-color:var(--color-border);box-shadow:0 10px 22px #1018280f}.series-sidebar__link.is-active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 12px 28px var(--color-border)}.series-sidebar__link.is-active .series-sidebar__step,.series-sidebar__link.is-active .series-sidebar__title{color:var(--color-primary-foreground)}.series-sidebar__step{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted-foreground)}.series-sidebar__title{font-size:15px;font-weight:500;line-height:1.5;color:var(--color-foreground)}.tutorial-series-content{min-width:0}.series-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}.series-pagination__link{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card);text-decoration:none}.series-pagination__link.is-next{text-align:right}.series-pagination__label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted-foreground)}.series-pagination__title{font-size:16px;font-weight:500;line-height:1.5;color:var(--color-foreground)}.article-prose h2,.article-prose h3{margin:40px 0 16px;font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-.03em}.article-prose h3{font-size:24px}.article-prose p,.article-prose li,.article-prose blockquote{font-size:18px;line-height:1.9;color:var(--color-muted-foreground)}.article-prose,.article-prose *{user-select:text!important;-webkit-user-select:text!important}.article-prose p{margin:0 0 20px}.article-prose ul,.article-prose ol{margin:0 0 20px 24px}.article-prose li{margin-bottom:10px}.article-prose a{color:var(--color-primary)}.article-prose pre{margin:24px 0;padding:20px;overflow-x:auto;border:1px solid var(--color-border);border-radius:16px;background:var(--color-muted);user-select:text;-webkit-user-select:text;cursor:text}.article-prose code{font-size:.95em;user-select:text;-webkit-user-select:text;cursor:text}.article-prose p code,.article-prose li code{overflow-wrap:anywhere;padding:2px 6px;border-radius:6px;background:var(--color-accent)}.code-block-shell{position:relative;margin:24px 0}.code-block-shell pre{margin:0;padding-top:54px}.code-block-copy{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card);color:var(--color-foreground);font-size:13px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 8px 20px #1018280f;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.code-block-copy:hover{background:var(--color-card);border-color:var(--color-border);transform:translateY(-1px)}.article-prose blockquote{margin:24px 0;padding:16px 20px;border-left:4px solid var(--color-border);background:var(--color-muted);border-radius:0 12px 12px 0}.article-layer-flows{display:grid;gap:14px;margin:24px 0}.article-layer-flow{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:16px;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card)}.article-layer-flow__label{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-foreground)}.article-layer-flow__steps{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}.article-layer-flow__steps strong{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:12px;background:var(--color-muted);font-size:15px;line-height:1.35;font-weight:600;color:var(--color-foreground)}.article-layer-flow__steps strong:not(:last-child):after{content:"→";position:absolute;right:-21px;color:var(--color-muted-foreground);font-weight:500}.article-problem-list{margin:24px 0;padding:20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card)}.article-problem-list h3{margin:0 0 14px;font-size:18px;letter-spacing:0}.article-problem-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.article-problem-list li{margin:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card);font-size:15px;line-height:1.45;color:var(--color-foreground)}.article-flow-diagram{display:grid;gap:44px;margin:24px 0}.article-flow-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px 14px;min-height:86px;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card)}.article-flow-step:not(:last-child):after{content:"↓";position:absolute;z-index:1;bottom:-36px;left:50%;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid #ffffff;border-radius:999px;background:#344054;color:#fff;font-size:20px;line-height:1;transform:translate(-50%)}.article-flow-step span{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#344054;color:#fff;font-size:13px;font-weight:600;line-height:1}.article-flow-step strong{font-size:17px;line-height:1.35;font-weight:600;color:var(--color-foreground)}.article-flow-step small{grid-column:2;font-size:13px;line-height:1.45;color:var(--color-muted-foreground)}.article-sdk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.article-sdk-card{padding:20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card)}.article-sdk-card h3{margin:0 0 14px;font-size:18px;letter-spacing:0}.article-sdk-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.article-sdk-card li{margin:0;padding:9px 11px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-muted);font-size:15px;line-height:1.45;color:var(--color-foreground)}.article-routing-map{display:grid;gap:10px;margin:24px 0;padding:16px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-card);box-shadow:var(--shadow-card)}.article-routing-map__header,.article-routing-map__row{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:12px}.article-routing-map__header{padding:0 12px 4px}.article-routing-map__header span{font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase;color:var(--color-muted-foreground);white-space:nowrap}.article-routing-map__header span:first-child{grid-column:1}.article-routing-map__header span:last-child{grid-column:3}.article-routing-map__header:before{content:"";grid-column:2;grid-row:1}.article-routing-map__row{grid-template-rows:auto;padding:0}.article-routing-map__row:before{content:"→";grid-column:2;grid-row:1;justify-self:center;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--color-card);color:var(--color-muted-foreground);font-size:18px;line-height:1}.article-routing-map__row span,.article-routing-map__row strong{grid-row:1;display:flex;align-items:center;min-height:54px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-muted)}.article-routing-map__row span{grid-column:1;font-size:16px;line-height:1.45;color:var(--color-muted-foreground)}.article-routing-map__row strong{grid-column:3;font-size:17px;line-height:1.35;font-weight:600;color:var(--color-foreground)}.fsm-link-strip,.fsm-anatomy,.fsm-problem-comparison,.fsm-switch-comparison,.fsm-responsibility-map,.fsm-state-map,.fsm-implementation-guide,.fsm-event-routing,.fsm-scope-rule{width:min(1040px,calc(100vw - 48px));margin:28px 0}.fsm-kicker{font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground)}.fsm-comparison-status{display:flex;align-items:center;gap:8px}.fsm-comparison-status__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:15px;font-weight:700;line-height:1}.is-scattered .fsm-comparison-status__icon,.is-direct .fsm-comparison-status__icon{background:var(--color-danger-bg);color:var(--color-red)}.is-defined .fsm-comparison-status__icon,.is-event .fsm-comparison-status__icon{background:var(--color-success-bg);color:var(--color-green)}.fsm-link-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-border);box-shadow:var(--shadow-card)}.fsm-link-strip a{display:flex;flex-direction:column;gap:4px;padding:17px 20px;background:var(--color-card);text-decoration:none;transition:background-color .2s ease}.fsm-link-strip a:hover{background:var(--color-muted)}.fsm-link-strip span{font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground)}.fsm-link-strip strong{font-size:14px;line-height:1.4;color:var(--color-foreground)}.fsm-anatomy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fsm-anatomy__item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 12px;align-items:center;min-height:118px;padding:18px;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card);box-shadow:0 10px 24px #1018280d}.fsm-anatomy__item:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:#667085}.fsm-anatomy__item.is-state:before{background:#54b570}.fsm-anatomy__item.is-event:before{background:#4c9be8}.fsm-anatomy__item.is-transition:before{background:#8b62d9}.fsm-anatomy__item.is-action:before{background:#e19a35}.fsm-anatomy__item>span{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#344054;color:#fff;font-size:11px;font-weight:700}.fsm-anatomy__item strong{font-size:17px;line-height:1.3;color:var(--color-foreground)}.fsm-anatomy__item small{grid-column:2;font-size:13px;line-height:1.5;color:var(--color-muted-foreground)}.fsm-problem-comparison{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch;gap:14px}.fsm-problem-comparison__side{display:flex;flex-direction:column;gap:14px;min-height:220px;padding:22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card);box-shadow:var(--shadow-card)}.fsm-problem-comparison__side.is-scattered{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.fsm-problem-comparison__side.is-defined{border-color:var(--color-success-border);background:var(--color-success-bg)}.fsm-problem-comparison__side>strong{font-size:20px;line-height:1.3;color:var(--color-foreground)}.fsm-problem-comparison__side>small{margin-top:auto;font-size:13px;line-height:1.55;color:var(--color-muted-foreground)}.fsm-problem-comparison__arrow{display:flex;align-items:center;justify-content:center;color:var(--color-muted-foreground);font-size:24px}.fsm-fragment-cloud{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fsm-fragment-cloud span,.fsm-mini-route span{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--color-secondary-foreground)}.fsm-mini-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fsm-mini-route i{font-style:normal;color:var(--color-muted-foreground)}.fsm-switch-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fsm-switch-comparison__path{display:flex;flex-direction:column;gap:16px;min-height:190px;padding:22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card);box-shadow:var(--shadow-card)}.fsm-switch-comparison__path.is-direct{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.fsm-switch-comparison__path.is-event{border-color:var(--color-success-border);background:var(--color-success-bg)}.fsm-switch-comparison__flow{display:flex;flex-wrap:nowrap;align-items:center;gap:7px}.fsm-switch-comparison__flow strong,.fsm-switch-comparison__flow code{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);font-size:12px;line-height:1.4;color:var(--color-secondary-foreground)}.fsm-switch-comparison__flow code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.fsm-switch-comparison__flow i{font-style:normal;color:var(--color-muted-foreground)}.fsm-switch-comparison__path>small{margin-top:auto;font-size:13px;line-height:1.55;color:var(--color-muted-foreground)}.fsm-source-link{display:inline-flex;align-items:center;gap:7px;margin:2px 0 8px;padding:7px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:0 6px 14px #1018280a}.fsm-source-link span{font-size:13px;color:var(--color-muted-foreground)}.fsm-source-link:hover{border-color:var(--color-border);background:var(--color-muted)}.fsm-responsibility-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fsm-responsibility-map>div{display:grid;gap:5px;min-height:112px;padding:17px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);box-shadow:0 8px 20px #1018280a}.fsm-responsibility-map span,.fsm-responsibility-map small,.fsm-state-node span,.fsm-state-node small{font-size:12px;line-height:1.45;color:var(--color-muted-foreground)}.fsm-responsibility-map span,.fsm-state-node span{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fsm-responsibility-map strong{font-size:18px;line-height:1.3;color:var(--color-foreground)}.fsm-state-map{padding:22px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-muted);box-shadow:var(--shadow-card)}.fsm-state-map__rail{display:flex;flex-direction:column;align-items:center}.fsm-state-node{display:flex;flex-direction:column;justify-content:center;gap:5px;width:min(640px,100%);min-height:96px;padding:15px;border:1px solid var(--color-border);border-top:4px solid #667085;border-radius:12px;background:var(--color-card)}.fsm-state-node.is-active{border-top-color:#54b570}.fsm-state-node.is-work{border-top-color:#8b62d9}.fsm-state-node.is-check{border-top-color:#4c9be8}.fsm-state-node.is-ended{border-top-color:#e46565}.fsm-state-node strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere;color:var(--color-foreground)}.fsm-state-edge{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:min(640px,100%);min-height:74px;padding:12px 8px 20px;text-align:center}.fsm-state-edge:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--color-line);transform:translate(-50%)}.fsm-state-edge:after{content:"↓";position:absolute;bottom:-2px;left:50%;color:var(--color-muted-foreground);font-size:20px;line-height:1;transform:translate(-50%)}.fsm-state-edge strong{position:relative;z-index:1;padding:3px 8px;background:var(--color-muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere;color:var(--color-secondary-foreground)}.fsm-state-edge small{position:relative;z-index:1;padding:0 6px;background:var(--color-muted);font-size:10px;line-height:1.35;color:var(--color-muted-foreground)}.fsm-state-map__returns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.fsm-state-map__returns>div{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:8px;background:var(--color-card)}.fsm-state-map__returns strong{font-size:12px;color:var(--color-secondary-foreground)}.fsm-state-map__returns span{font-size:11px;line-height:1.4;color:var(--color-muted-foreground)}.fsm-implementation-guide{margin-top:-12px;padding:20px 22px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-muted)}.fsm-implementation-guide>p{margin:7px 0 16px;font-size:14px;color:var(--color-muted-foreground)}.fsm-implementation-guide>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.fsm-implementation-guide a{display:flex;flex-direction:column;gap:4px;min-width:0;padding:13px 14px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-card);text-decoration:none}.fsm-implementation-guide a:hover{background:var(--color-muted)}.fsm-implementation-guide strong{font-size:13px;line-height:1.4;color:var(--color-foreground)}.fsm-implementation-guide small{font-size:11px;line-height:1.45;color:var(--color-muted-foreground)}.fsm-event-routing{display:grid;grid-template-columns:1fr;gap:0}.fsm-event-routing__sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fsm-event-routing__sources>div,.fsm-event-routing__machine{position:relative;display:flex;flex-direction:column;gap:5px;min-height:118px;padding:17px;border:1px solid var(--color-border);border-top:4px solid #667085;border-radius:12px;background:var(--color-card);box-shadow:0 8px 20px #1018280a}.fsm-event-routing__sources .is-component{border-top-color:#e19a35}.fsm-event-routing__sources .is-service{border-top-color:#8b62d9}.fsm-event-routing__sources .is-sdk{border-top-color:#4c9be8}.fsm-event-routing__sources span,.fsm-event-routing__machine span,.fsm-event-routing__sources small,.fsm-event-routing__machine small{font-size:11px;line-height:1.45;color:var(--color-muted-foreground)}.fsm-event-routing__sources span,.fsm-event-routing__machine span{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fsm-event-routing__sources strong,.fsm-event-routing__machine strong{font-size:15px;line-height:1.4;color:var(--color-foreground)}.fsm-event-routing__bus{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:72px}.fsm-event-routing__bus>i{position:relative;display:block;height:100%}.fsm-event-routing__bus>i:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--color-muted-foreground)}.fsm-event-routing__bus>i:after{content:"↓";position:absolute;bottom:-3px;left:50%;padding:0 5px;background:var(--color-card);color:var(--color-muted-foreground);font-size:19px;line-height:1;transform:translate(-50%)}.fsm-event-routing__bus span{position:absolute;top:50%;left:50%;z-index:1;display:inline-flex;padding:4px 9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card);color:var(--color-muted-foreground);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transform:translate(-50%,-50%)}.fsm-event-routing__machine{justify-content:center;min-height:108px;border-top-color:#54b570}.fsm-scope-rule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fsm-scope-rule>div{display:flex;flex-direction:column;gap:12px;min-height:150px;padding:20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card);box-shadow:0 8px 22px #1018280d}.fsm-scope-rule small{margin-top:auto;font-size:13px;line-height:1.55;color:var(--color-muted-foreground)}.fsm-scope-rule>div:first-child{border-top:4px solid #e19a35}.fsm-scope-rule>div:last-child{border-top:4px solid #4c9be8}.fsm-scope-rule span{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-foreground)}.fsm-scope-rule strong{font-size:17px;line-height:1.35;color:var(--color-foreground)}.article-prose iframe{width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;margin:24px 0;border:0;border-radius:18px}.article-prose details{margin:24px 0;padding:18px 20px;border:1px solid var(--color-border);border-radius:16px;background:#f2f4f759}.article-prose summary{cursor:pointer;font-weight:600}@media(max-width:960px){.cards-grid,.footer-grid,.page-grid-two{grid-template-columns:1fr 1fr}.about-intro-grid,.contact-links,.tutorial-series-layout,.series-pagination{grid-template-columns:1fr}.series-sidebar__inner{position:static}.article-with-toc-layout{grid-template-columns:1fr}.article-toc{position:static;max-height:none}.article-toc__inner{max-height:none}.article-toc__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fsm-anatomy,.fsm-responsibility-map{grid-template-columns:repeat(2,minmax(0,1fr))}.fsm-state-map__returns{grid-template-columns:1fr}}@media(max-width:720px){.container{width:min(var(--container-width),calc(100% - 32px))}.top-nav,.hero-block{padding-left:0;padding-right:0}.top-nav{flex-direction:column;align-items:flex-start}.cards-grid,.footer-grid,.page-grid-two,.article-toc__nav,.article-layer-flow,.article-problem-list ul,.article-sdk-grid{grid-template-columns:1fr}.article-layer-flow__steps{flex-direction:column;align-items:stretch;gap:24px}.article-layer-flow__steps strong:not(:last-child):after{content:"↓";right:auto;bottom:-22px;left:16px}.article-routing-map__header{display:none}.article-routing-map__row{grid-template-columns:1fr;gap:8px}.article-routing-map__row:before{content:"↓";grid-column:1;grid-row:2;justify-self:start}.article-routing-map__row span,.article-routing-map__row strong{grid-column:1}.fsm-link-strip,.fsm-anatomy,.fsm-problem-comparison,.fsm-switch-comparison,.fsm-responsibility-map,.fsm-state-map,.fsm-implementation-guide,.fsm-event-routing,.fsm-scope-rule{width:100%}.fsm-link-strip,.fsm-anatomy,.fsm-responsibility-map,.fsm-event-routing__sources,.fsm-scope-rule{grid-template-columns:1fr}.fsm-event-routing__bus>i:first-child,.fsm-event-routing__bus>i:last-child{display:none}.fsm-problem-comparison,.fsm-switch-comparison{grid-template-columns:1fr}.fsm-switch-comparison__flow{flex-wrap:wrap}.fsm-implementation-guide>div{grid-template-columns:1fr}.fsm-problem-comparison__arrow{min-height:24px;transform:rotate(90deg)}.hero-block{padding-top:36px;padding-bottom:48px}.site-header.is-compact .hero-block{padding-top:24px;padding-bottom:30px}.hero-block p,.article-prose p,.article-prose li,.article-prose blockquote{font-size:16px}}:focus-visible{outline:3px solid var(--color-cyan);outline-offset:4px}.top-nav__links{margin-left:auto;align-items:center}.theme-toggle{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);color:var(--color-foreground);cursor:pointer}.theme-icon-sun,html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=dark] .theme-icon-sun{display:block}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media(max-width:720px){.top-nav{display:grid;grid-template-columns:1fr auto}.top-nav__links{grid-row:2;grid-column:1 / -1;margin-left:0;gap:16px;font-size:14px}.theme-toggle{grid-column:2;grid-row:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.top-nav__controls{display:flex;align-items:center;gap:12px;flex:0 0 auto}.language-switcher{position:relative;flex:0 0 auto}.language-switcher>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;min-width:66px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);color:var(--color-foreground);font-size:12px;font-weight:600;list-style:none;cursor:pointer}.language-switcher>summary::-webkit-details-marker{display:none}.language-switcher>summary>svg{transition:transform .15s}.language-switcher[open]>summary{border-color:var(--color-cyan)}.language-switcher[open]>summary>svg{transform:rotate(180deg)}.language-switcher__menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;min-width:160px;display:grid;gap:3px;padding:6px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);box-shadow:var(--shadow-card)}.language-switcher:not([open]) .language-switcher__menu{display:none}.language-switcher__menu a{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border-radius:7px;color:var(--color-muted-foreground);font-size:12px;text-decoration:none;white-space:nowrap}.language-switcher__menu a>span:first-child{font-weight:600;font-size:11px}.language-switcher__menu a:hover,.language-switcher__menu a:focus-visible{background:var(--color-accent);color:var(--color-foreground)}.language-switcher__menu a[aria-current=page]{background:var(--color-accent);color:var(--color-cyan)}.language-switcher__check{margin-left:auto}.translation-anchor{display:block;height:0;scroll-margin-top:24px}@media(max-width:720px){.top-nav__controls{grid-column:2;grid-row:1}.top-nav__controls .theme-toggle{display:grid}.brand-pill{justify-self:start}}@media(max-width:420px){.top-nav{gap:12px}.top-nav__controls{gap:7px}.brand-pill{font-size:12px;padding:9px 12px}}.services-main[data-astro-cid-mjittxup]{padding-top:64px}.services-eyebrow[data-astro-cid-mjittxup]{margin:0 0 12px;color:var(--color-amber);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0}.services-intro[data-astro-cid-mjittxup]{margin-bottom:32px}.services-intro[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup],.experience-heading[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup],.services-cta[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup]{margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15;letter-spacing:0}.experience-heading[data-astro-cid-mjittxup]>p[data-astro-cid-mjittxup]:last-child,.services-cta[data-astro-cid-mjittxup] p[data-astro-cid-mjittxup]{margin:0;color:var(--color-muted-foreground);font-size:17px;line-height:1.75}.engagement-grid[data-astro-cid-mjittxup]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:80px}.engagement-card[data-astro-cid-mjittxup]{display:flex;min-height:500px;flex-direction:column;padding:36px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card)}.engagement-card--dark[data-astro-cid-mjittxup]{border-color:#101828;background:#101828;color:#fff}.engagement-card__topline[data-astro-cid-mjittxup]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:56px}.engagement-card__number[data-astro-cid-mjittxup]{color:var(--color-amber);font-size:14px;font-weight:600}.engagement-card--dark[data-astro-cid-mjittxup] .engagement-card__number[data-astro-cid-mjittxup]{color:#fdb022}.engagement-card__mode[data-astro-cid-mjittxup]{color:var(--color-muted-foreground);font-size:14px}.engagement-card--dark[data-astro-cid-mjittxup] .engagement-card__mode[data-astro-cid-mjittxup]{color:#fff}.engagement-card[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup]{margin:0 0 18px;max-width:520px;font-size:30px;font-weight:600;line-height:1.25;letter-spacing:0}.engagement-card[data-astro-cid-mjittxup] p[data-astro-cid-mjittxup]{margin:0;color:var(--color-muted-foreground);font-size:16px;line-height:1.75}.engagement-card[data-astro-cid-mjittxup] ul[data-astro-cid-mjittxup]{margin:auto 0 0;padding:32px 0 0;list-style:none}.engagement-card[data-astro-cid-mjittxup] li[data-astro-cid-mjittxup]{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--color-border);color:var(--color-secondary-foreground);font-size:14px;line-height:1.5}.engagement-card--dark[data-astro-cid-mjittxup] li[data-astro-cid-mjittxup]{border-color:#ffffff24}.engagement-card[data-astro-cid-mjittxup].engagement-card--dark p[data-astro-cid-mjittxup],.engagement-card[data-astro-cid-mjittxup].engagement-card--dark li[data-astro-cid-mjittxup]{color:#fff}.engagement-card[data-astro-cid-mjittxup] li[data-astro-cid-mjittxup]:before{position:absolute;top:18px;left:2px;width:6px;height:6px;border-radius:50%;background:#b54708;content:""}.engagement-card--dark[data-astro-cid-mjittxup] li[data-astro-cid-mjittxup]:before{background:#fdb022}.experience-band[data-astro-cid-mjittxup]{padding:80px 0;background:var(--color-muted)}.experience-layout[data-astro-cid-mjittxup]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:88px}.experience-heading[data-astro-cid-mjittxup]{align-self:start}.experience-heading[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup]{margin-bottom:24px}.experience-list[data-astro-cid-mjittxup] article[data-astro-cid-mjittxup]{padding:0 0 32px;border-bottom:1px solid var(--color-border)}.experience-list[data-astro-cid-mjittxup] article[data-astro-cid-mjittxup]+article[data-astro-cid-mjittxup]{padding-top:32px}.experience-list[data-astro-cid-mjittxup] span[data-astro-cid-mjittxup]{display:block;margin-bottom:10px;color:var(--color-amber);font-size:13px;font-weight:600}.experience-list[data-astro-cid-mjittxup] h3[data-astro-cid-mjittxup]{margin:0 0 10px;font-size:22px;font-weight:600;line-height:1.35;letter-spacing:0}.experience-list[data-astro-cid-mjittxup] p[data-astro-cid-mjittxup]{margin:0;color:var(--color-muted-foreground);line-height:1.7}.services-cta[data-astro-cid-mjittxup]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;padding-top:80px;padding-bottom:16px}.services-cta[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup]{max-width:780px;margin-bottom:20px}.services-cta[data-astro-cid-mjittxup] p[data-astro-cid-mjittxup]{max-width:720px}.services-cta__link[data-astro-cid-mjittxup]{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 22px;border:1px solid #101828;border-radius:var(--radius-sm);background:#101828;color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.services-cta__actions[data-astro-cid-mjittxup]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.services-cta__link--secondary[data-astro-cid-mjittxup]{background:#fff;color:#101828}.services-cta__link[data-astro-cid-mjittxup]:hover{background:#344054;transform:translateY(-1px)}.services-cta__link--secondary[data-astro-cid-mjittxup]:hover{background:var(--color-muted)}@media(max-width:900px){.experience-layout[data-astro-cid-mjittxup],.services-cta[data-astro-cid-mjittxup]{grid-template-columns:1fr;gap:28px}.engagement-grid[data-astro-cid-mjittxup]{grid-template-columns:1fr}.services-cta[data-astro-cid-mjittxup]{align-items:start}.services-cta__link[data-astro-cid-mjittxup]{justify-self:start}.services-cta__actions[data-astro-cid-mjittxup]{justify-content:flex-start}}@media(max-width:600px){.services-main[data-astro-cid-mjittxup]{padding-top:48px}.services-intro[data-astro-cid-mjittxup]{margin-bottom:24px}.engagement-grid[data-astro-cid-mjittxup]{margin-bottom:56px}.engagement-card[data-astro-cid-mjittxup]{min-height:0;padding:26px 22px}.engagement-card__topline[data-astro-cid-mjittxup]{margin-bottom:36px}.engagement-card[data-astro-cid-mjittxup] h2[data-astro-cid-mjittxup]{font-size:26px}.engagement-card[data-astro-cid-mjittxup] ul[data-astro-cid-mjittxup]{margin-top:32px}.experience-band[data-astro-cid-mjittxup]{padding:56px 0}.services-cta[data-astro-cid-mjittxup]{padding-top:56px}.services-cta__link[data-astro-cid-mjittxup],.services-cta__actions[data-astro-cid-mjittxup]{width:100%}}.game-card[data-astro-cid-2qa2wxph]{width:min(100%,360px)}.game-card__link[data-astro-cid-2qa2wxph]{display:block;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-card);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.game-card__link[data-astro-cid-2qa2wxph]:hover{transform:translateY(-3px);border-color:#1018282e;box-shadow:var(--shadow-card-hover)}.game-card__link[data-astro-cid-2qa2wxph]:focus-visible{outline:3px solid var(--color-ring);outline-offset:4px}.game-card__media[data-astro-cid-2qa2wxph]{aspect-ratio:1;overflow:hidden;background:var(--color-accent)}.game-card__media[data-astro-cid-2qa2wxph] img[data-astro-cid-2qa2wxph]{width:100%;height:100%;object-fit:cover}.game-card__body[data-astro-cid-2qa2wxph]{padding:24px}.game-card__meta[data-astro-cid-2qa2wxph]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;font-size:13px;color:var(--color-muted-foreground)}.game-card__status[data-astro-cid-2qa2wxph]{padding:6px 9px;border-radius:8px;background:var(--color-primary);color:var(--color-primary-foreground);font-weight:600}h2[data-astro-cid-2qa2wxph]{margin:0 0 10px;font-size:25px;line-height:1.25;letter-spacing:0}p[data-astro-cid-2qa2wxph]{margin:0;font-size:15px;line-height:1.7;color:var(--color-muted-foreground)}.game-card__stack[data-astro-cid-2qa2wxph]{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.game-card__stack[data-astro-cid-2qa2wxph] li[data-astro-cid-2qa2wxph]{padding:7px 9px;border-radius:8px;background:var(--color-accent);font-size:12px;font-weight:500}.game-card__cta[data-astro-cid-2qa2wxph]{display:inline-flex;gap:8px;margin-top:20px;font-size:14px;font-weight:600}@media(prefers-reduced-motion:reduce){.game-card__link[data-astro-cid-2qa2wxph]{transition:none}.game-card__link[data-astro-cid-2qa2wxph]:hover{transform:none}}.games-index[data-astro-cid-ka3kbtfu]{padding:40px 0 0}.games-index__grid[data-astro-cid-ka3kbtfu]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));gap:28px}@media(max-width:420px){.games-index__grid[data-astro-cid-ka3kbtfu]{grid-template-columns:minmax(0,1fr)}}.poki-badge-link[data-astro-cid-6qrswj4p]{display:inline-flex;width:136px;height:40px;border-radius:6px}.poki-badge-link[data-astro-cid-6qrswj4p]:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:4px}.poki-badge-link[data-astro-cid-6qrswj4p] img[data-astro-cid-6qrswj4p]{width:136px;height:40px}.game-embed[data-astro-cid-lhvvl4hu]{overflow:hidden;border:1px solid #263142;border-radius:8px;background:#0d1117;box-shadow:0 24px 56px #10182829}.game-embed[data-astro-cid-lhvvl4hu].is-viewport-fit{width:min(100%,calc((100svh - 132px)*.75),540px);margin-inline:auto}.game-embed__bar[data-astro-cid-lhvvl4hu]{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;padding:14px 18px;color:#fff}.game-embed__eyebrow[data-astro-cid-lhvvl4hu]{margin:0 0 4px;font-size:11px;font-weight:600;text-transform:uppercase;color:#a9b4c4}h2[data-astro-cid-lhvvl4hu]{margin:0;font-size:20px;line-height:1.3;letter-spacing:0}.game-embed__actions[data-astro-cid-lhvvl4hu]{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.game-embed__actions[data-astro-cid-lhvvl4hu]>a:not(.poki-badge-link){font-size:13px;font-weight:600;color:#fff;text-underline-offset:4px}.game-embed__actions[data-astro-cid-lhvvl4hu]>a:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:4px}.game-embed__frame[data-astro-cid-lhvvl4hu]{width:100%;aspect-ratio:var(--embed-aspect-ratio);background:#07090d}iframe[data-astro-cid-lhvvl4hu]{display:block;width:100%;height:100%;border:0}.game-embed__fallback[data-astro-cid-lhvvl4hu]{margin:0;padding:32px 18px;color:#a9b4c4}@media(max-width:680px){.game-embed__bar[data-astro-cid-lhvvl4hu]{align-items:flex-start;flex-direction:column}.game-embed__actions[data-astro-cid-lhvvl4hu]{justify-content:flex-start}}@media(max-width:900px)and (orientation:portrait){.game-embed__frame[data-astro-cid-lhvvl4hu].is-adaptive{aspect-ratio:9 / 16}}.media-showcase[data-astro-cid-n2vccje2]{padding:72px 0 0}.media-showcase__heading[data-astro-cid-n2vccje2]{margin-bottom:28px}.media-showcase__heading[data-astro-cid-n2vccje2] p[data-astro-cid-n2vccje2]{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-muted-foreground)}h2[data-astro-cid-n2vccje2],h3[data-astro-cid-n2vccje2]{margin:0;letter-spacing:0}h2[data-astro-cid-n2vccje2]{font-size:32px;line-height:1.25}.media-showcase__gallery[data-astro-cid-n2vccje2]{display:grid;gap:36px}figure[data-astro-cid-n2vccje2]{margin:0}.media-showcase__pair[data-astro-cid-n2vccje2]{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.32fr);gap:16px;align-items:stretch}.media-showcase__pair[data-astro-cid-n2vccje2] img[data-astro-cid-n2vccje2]{width:100%;height:100%;border:1px solid var(--color-border);border-radius:8px;background:var(--color-accent);object-fit:cover}.media-showcase__pair[data-astro-cid-n2vccje2] .is-landscape[data-astro-cid-n2vccje2]{aspect-ratio:16 / 9}.media-showcase__pair[data-astro-cid-n2vccje2] .is-portrait[data-astro-cid-n2vccje2]{aspect-ratio:9 / 16}figcaption[data-astro-cid-n2vccje2]{margin-top:10px;font-size:14px;color:var(--color-muted-foreground)}.media-showcase__video[data-astro-cid-n2vccje2]{margin-top:64px}.media-showcase__video[data-astro-cid-n2vccje2] h3[data-astro-cid-n2vccje2]{margin-bottom:18px;font-size:24px}video[data-astro-cid-n2vccje2]{display:block;width:100%;aspect-ratio:16 / 9;border-radius:8px;background:#0d1117;object-fit:contain}@media(max-width:720px){.media-showcase[data-astro-cid-n2vccje2]{padding-top:56px}.media-showcase__pair[data-astro-cid-n2vccje2]{grid-template-columns:1fr}.media-showcase__pair[data-astro-cid-n2vccje2] .is-portrait[data-astro-cid-n2vccje2]{width:min(100%,320px);justify-self:center}}.game-page[data-astro-cid-x5ncqsqj]{padding-top:32px}.game-hero__back[data-astro-cid-x5ncqsqj]{display:inline-flex;margin-bottom:24px;color:var(--color-muted-foreground);font-size:14px;text-decoration:none}.game-hero__back[data-astro-cid-x5ncqsqj]:hover{color:var(--color-foreground)}.game-hero__layout[data-astro-cid-x5ncqsqj]{display:grid;grid-template-columns:minmax(0,720px);gap:48px;align-items:center}.game-hero__layout[data-astro-cid-x5ncqsqj].has-cover{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}.game-hero__copy[data-astro-cid-x5ncqsqj]{min-width:0}.game-hero__logo[data-astro-cid-x5ncqsqj]{width:min(100%,280px);height:auto;max-height:112px;margin-bottom:24px;object-fit:contain;object-position:left center}.game-hero__title-row[data-astro-cid-x5ncqsqj]{display:flex;align-items:center;gap:16px}.game-hero__title-row[data-astro-cid-x5ncqsqj]>img[data-astro-cid-x5ncqsqj]{width:72px;height:72px;flex:0 0 auto;border-radius:8px;box-shadow:var(--shadow-card)}.game-hero__title-row[data-astro-cid-x5ncqsqj] p[data-astro-cid-x5ncqsqj]{margin:0 0 5px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-muted-foreground)}h1[data-astro-cid-x5ncqsqj]{margin:0;font-size:42px;line-height:1.1;letter-spacing:0}.game-hero__facts[data-astro-cid-x5ncqsqj]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:28px 0 0}.game-hero__facts[data-astro-cid-x5ncqsqj] div[data-astro-cid-x5ncqsqj]:last-child{grid-column:1 / -1}dt[data-astro-cid-x5ncqsqj]{margin-bottom:4px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--color-muted-foreground)}dd[data-astro-cid-x5ncqsqj]{margin:0;font-size:14px;line-height:1.55}.game-hero__cover[data-astro-cid-x5ncqsqj]{overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-accent);box-shadow:var(--shadow-card)}.game-hero__cover[data-astro-cid-x5ncqsqj] img[data-astro-cid-x5ncqsqj]{width:100%;height:auto;aspect-ratio:800 / 470;object-fit:cover}.game-page__playable[data-astro-cid-x5ncqsqj]{margin-top:64px}.game-page__story[data-astro-cid-x5ncqsqj]{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:start;padding-top:64px}.game-prose[data-astro-cid-x5ncqsqj]{max-width:780px}.game-prose[data-astro-cid-x5ncqsqj] h2{margin:40px 0 14px;font-size:28px;line-height:1.25;letter-spacing:0}.game-prose[data-astro-cid-x5ncqsqj] h2:first-child{margin-top:0}.game-prose[data-astro-cid-x5ncqsqj] p,.game-prose[data-astro-cid-x5ncqsqj] li{font-size:17px;line-height:1.85;color:var(--color-muted-foreground)}.game-prose[data-astro-cid-x5ncqsqj] p{margin:0 0 18px}.game-profile[data-astro-cid-x5ncqsqj]{padding-left:28px;border-left:1px solid var(--color-border)}.game-profile[data-astro-cid-x5ncqsqj] section[data-astro-cid-x5ncqsqj]+section[data-astro-cid-x5ncqsqj]{margin-top:32px}.game-profile[data-astro-cid-x5ncqsqj] h2[data-astro-cid-x5ncqsqj]{margin:0 0 12px;font-size:16px;line-height:1.4;letter-spacing:0}.game-profile[data-astro-cid-x5ncqsqj] ul[data-astro-cid-x5ncqsqj]{display:grid;gap:9px;margin:0;padding:0;list-style:none}.game-profile[data-astro-cid-x5ncqsqj] li[data-astro-cid-x5ncqsqj]{font-size:14px;line-height:1.55;color:var(--color-muted-foreground)}.game-profile__technologies[data-astro-cid-x5ncqsqj]{grid-template-columns:repeat(2,minmax(0,1fr))}.game-profile__technologies[data-astro-cid-x5ncqsqj] li[data-astro-cid-x5ncqsqj]{padding:8px 9px;border-radius:8px;background:var(--color-accent);color:var(--color-foreground);font-size:12px}.game-page__workshop[data-astro-cid-x5ncqsqj]{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:64px;padding:28px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.game-page__workshop[data-astro-cid-x5ncqsqj] p[data-astro-cid-x5ncqsqj]{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;color:var(--color-muted-foreground)}.game-page__workshop[data-astro-cid-x5ncqsqj] a[data-astro-cid-x5ncqsqj]{font-size:16px;font-weight:600;text-align:right;text-underline-offset:4px}@media(max-width:900px){.game-hero__layout[data-astro-cid-x5ncqsqj],.game-hero__layout[data-astro-cid-x5ncqsqj].has-cover,.game-page__story[data-astro-cid-x5ncqsqj]{grid-template-columns:1fr}.game-hero__layout[data-astro-cid-x5ncqsqj]{gap:32px}.game-page__story[data-astro-cid-x5ncqsqj]{gap:40px}.game-profile[data-astro-cid-x5ncqsqj]{padding:28px 0 0;border-top:1px solid var(--color-border);border-left:0}}@media(max-width:560px){h1[data-astro-cid-x5ncqsqj]{font-size:34px}.game-hero__title-row[data-astro-cid-x5ncqsqj]>img[data-astro-cid-x5ncqsqj]{width:60px;height:60px}.game-page__playable[data-astro-cid-x5ncqsqj],.game-page__story[data-astro-cid-x5ncqsqj]{margin-top:48px;padding-top:0}.game-profile__technologies[data-astro-cid-x5ncqsqj]{grid-template-columns:1fr 1fr}.game-page__workshop[data-astro-cid-x5ncqsqj]{align-items:flex-start;flex-direction:column}.game-page__workshop[data-astro-cid-x5ncqsqj] a[data-astro-cid-x5ncqsqj]{text-align:left}}.academy-page,.lesson-shell{--academy-gradient: linear-gradient(120deg, #51d8d9, #80a9fa)}.academy-page{padding-top:36px}.academy-eyebrow{display:block;color:var(--color-cyan);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1.6}.academy-page h1{margin:20px 0;font-size:clamp(2.6rem,5.6vw,4.4rem);font-weight:600;letter-spacing:-.055em;line-height:1.08}.academy-page h1>span{color:var(--color-cyan)}.academy-page__intro{padding:42px 0 58px;max-width:850px}.academy-page__intro>p,.course-hero>div>p,.lesson-intro>div>p{max-width:630px;font-size:18px;line-height:1.8;color:var(--color-muted-foreground)}.academy-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px}.academy-section-heading h2{font-size:22px;font-weight:600;margin:0;letter-spacing:-.03em}.academy-section-heading>span{font-size:12px;color:var(--color-muted-foreground)}.course-card{display:grid;grid-template-columns:1fr 1.05fr;overflow:hidden;max-width:100%;border:1px solid var(--color-border);border-radius:24px;background:var(--color-card);text-decoration:none;box-shadow:var(--shadow-card);transition:border-color .2s,transform .2s}.course-card:hover{border-color:var(--color-cyan);transform:translateY(-3px)}.course-card__art{position:relative;display:grid;place-items:center;min-height:365px;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#28c1ce1f,transparent 65%),var(--color-code);border-right:1px solid var(--color-border)}.course-card__series{position:absolute;bottom:24px;left:28px;color:var(--color-muted-foreground);font:11px ui-monospace,monospace;letter-spacing:.15em}.course-card__body{padding:38px;display:flex;flex-direction:column}.course-card__body h2{font-size:clamp(1.7rem,3vw,2.25rem);font-weight:600;line-height:1.2;letter-spacing:-.045em;margin:24px 0 16px}.course-card__body p{margin:0;color:var(--color-muted-foreground);line-height:1.8;font-size:15px}.course-card__meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;font-size:12px;color:var(--color-muted-foreground)}.course-card__cta{display:flex;justify-content:space-between;align-items:center;padding-top:24px;margin-top:auto;color:var(--color-cyan);font-weight:600;font-size:14px}.course-card__cta span{font-size:24px}.academy-chips{display:flex;flex-wrap:wrap;gap:8px}.academy-chip{display:inline-flex;padding:6px 10px;border:1px solid var(--color-border);border-radius:7px;color:var(--color-muted-foreground);background:var(--color-muted);font-size:11px;line-height:1.5}.academy-chip.is-green{color:var(--color-green);border-color:color-mix(in srgb,var(--color-green) 25%,var(--color-border));background:color-mix(in srgb,var(--color-green) 7%,var(--color-card))}.academy-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:64px 0 0;border-top:1px solid var(--color-border);padding-top:32px}.academy-principles>div>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-cyan)}.academy-principles h3{font-size:17px;font-weight:600;margin:16px 0 10px}.academy-principles p{color:var(--color-muted-foreground);line-height:1.75;font-size:14px;margin:0}.engine-mark{position:relative;display:grid;place-items:center;width:310px;height:300px;max-width:100%;margin:auto}.engine-mark__chip{z-index:1;width:172px;height:184px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--color-cyan) 50%,var(--color-border));border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--color-cyan) 12%,var(--color-card)),var(--color-card));box-shadow:0 0 70px #36aebf15,inset 0 0 30px #44c4cf08;transform:rotate(-7deg)}.engine-mark__chip strong{font-size:75px;letter-spacing:-.09em;line-height:1.2;color:var(--color-cyan);font-weight:600}.chip-label{color:var(--color-muted-foreground);font-size:7px;letter-spacing:.2em}.chip-code{color:var(--color-muted-foreground);font:8px ui-monospace,monospace;margin-top:10px}.engine-mark__orbit{position:absolute;border:1px solid color-mix(in srgb,var(--color-cyan) 12%,transparent);width:260px;height:260px;border-radius:50%}.engine-mark__orbit.orbit-two{width:310px;height:160px;transform:rotate(-34deg);border-style:dashed}.engine-mark__tag{position:absolute;z-index:2;font:12px ui-monospace,monospace;border:1px solid var(--color-border);background:var(--color-card);border-radius:9px;padding:10px 14px;box-shadow:var(--shadow-card)}.engine-mark__tag i{font-style:normal;margin-left:12px}.tag-ast{left:0;top:55px;color:var(--color-violet);transform:rotate(-5deg)}.tag-jit{right:0;top:155px;color:var(--color-amber);transform:rotate(6deg)}.tag-v8{bottom:19px;left:57px;color:var(--color-green);transform:rotate(-3deg)}.academy-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--color-muted-foreground);font-size:12px;align-items:center;line-height:1.6}.academy-breadcrumb a{text-decoration:none}.academy-breadcrumb a:hover{color:var(--color-cyan)}.course-hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:32px;padding:48px 0 64px}.course-hero .academy-button,.lesson-intro .academy-button{margin-top:26px}.academy-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:10px;padding:11px 17px;font-size:13px;line-height:1.4;font-weight:600;color:#071827;background:var(--academy-gradient, linear-gradient(120deg,#51d8d9,#80a9fa));cursor:pointer;text-decoration:none;transition:filter .2s}.academy-button:hover{filter:brightness(1.08)}.academy-button.is-secondary{background:var(--color-card);border-color:var(--color-border);color:var(--color-foreground)}.academy-button:disabled{opacity:.4;cursor:default}.curriculum{list-style:none;padding:0;margin:0;border-top:1px solid var(--color-border)}.curriculum>li{border-bottom:1px solid var(--color-border)}.curriculum>li>a,.curriculum__row{display:flex;align-items:center;gap:22px;padding:24px 12px;text-decoration:none}.curriculum>li>a{background:color-mix(in srgb,var(--color-cyan) 4%,var(--color-background))}.curriculum>li>a:hover{background:var(--color-accent)}.curriculum__number{align-self:flex-start;padding-top:4px;font:14px ui-monospace,monospace;color:var(--color-muted-foreground)}.curriculum h3{margin:7px 0;font-size:17px;font-weight:600;line-height:1.4}.curriculum p{color:var(--color-muted-foreground);font-size:13px;margin:0;line-height:1.7}.curriculum .is-planned .academy-eyebrow{color:var(--color-muted-foreground);font-size:9px}.curriculum__arrow,.planned-dot{margin-left:auto;color:var(--color-cyan);flex:0 0 auto}.planned-dot{color:var(--color-muted-foreground)}.lesson-progress{margin:24px 0 0}.lesson-progress>div{display:flex;justify-content:space-between;font-size:11px;gap:12px;color:var(--color-muted-foreground)}.lesson-progress strong{font-size:11px;color:var(--color-cyan);font-weight:500}.lesson-progress progress{appearance:none;display:block;width:100%;border:0;height:4px;border-radius:4px;overflow:hidden;background:var(--color-accent);margin:10px 0}.lesson-progress progress::-webkit-progress-bar{background:var(--color-accent)}.lesson-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#51d8d9,#80a9fa);border-radius:4px}.lesson-progress progress::-moz-progress-bar{background:#51d8d9}.lesson-progress small{color:var(--color-muted-foreground);font-size:10px;line-height:1.5;display:block}.lesson-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center;padding:48px 0 64px}.lesson-intro h1{font-size:clamp(2.6rem,5vw,3.8rem)}.lesson-intro__map{border:1px solid var(--color-border);border-radius:20px;padding:30px;background:radial-gradient(ellipse at top right,#35aeb71a,transparent),var(--color-card)}.lesson-intro__map>div:not(.lesson-progress){font:13px ui-monospace,monospace;padding:16px 0;border-bottom:1px solid var(--color-border)}.lesson-intro__map>div>span{color:var(--color-cyan)}.lesson-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none;margin:0}.lesson-step-grid a{display:flex;align-items:center;height:100%;gap:18px;border:1px solid var(--color-border);border-radius:12px;padding:20px;background:var(--color-card);text-decoration:none}.lesson-step-grid a:hover{border-color:var(--color-cyan)}.step-grid__number{color:var(--color-cyan);font:13px ui-monospace,monospace}.lesson-step-grid small{display:block;color:var(--color-muted-foreground);font-size:10px;margin-bottom:6px}.lesson-step-grid strong{font-size:14px;line-height:1.4;font-weight:500}.step-done{visibility:hidden;color:var(--color-green);font-size:12px;margin-left:auto}.is-done .step-done{visibility:visible}.lesson-shell{display:grid;grid-template-columns:258px minmax(0,1fr);gap:48px;align-items:start}.lesson-sidebar{position:sticky;top:0;max-height:100dvh;overflow-y:auto;padding:26px 20px 30px 0;border-right:1px solid var(--color-border);scrollbar-width:thin}.lesson-sidebar__back{font-size:11px;color:var(--color-muted-foreground);text-decoration:none}.lesson-sidebar__heading{padding-top:28px;padding-bottom:26px}.lesson-sidebar__heading>a{display:block;font-size:18px;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin-top:10px;text-decoration:none}.lesson-toc summary{font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:14px;cursor:pointer;color:var(--color-muted-foreground)}.lesson-toc summary>span{float:right;font-weight:400;font-size:10px}.lesson-toc__link{display:grid;grid-template-columns:22px minmax(0,1fr) 12px;gap:7px;padding:9px 8px;margin-bottom:3px;border:1px solid transparent;border-radius:8px;text-decoration:none;color:var(--color-muted-foreground);align-items:center}.lesson-toc__link>span:first-child{font:10px ui-monospace,monospace}.lesson-toc__link strong{font-size:11px;font-weight:500;line-height:1.4}.lesson-toc__link.is-current{background:color-mix(in srgb,var(--color-cyan) 8%,var(--color-background));border-color:color-mix(in srgb,var(--color-cyan) 35%,var(--color-border));color:var(--color-cyan)}.lesson-toc__link:hover{background:var(--color-accent)}.lesson-content{padding:28px 0 10px;min-width:0}.step-topline{margin-top:36px;display:flex;justify-content:space-between;align-items:center;gap:12px}.step-position{font:13px ui-monospace,monospace;color:var(--color-cyan);flex:0 0 auto}.step-position>span{color:var(--color-muted-foreground)}.lesson-article h1{font-size:clamp(1.9rem,3.2vw,2.8rem);letter-spacing:-.045em;font-weight:600;line-height:1.12;margin:14px 0}.step-description{color:var(--color-muted-foreground);font-size:15px;font-style:italic;line-height:1.7;margin:18px 0 28px;padding:14px 18px;border-left:2px solid var(--color-cyan);border-radius:0 8px 8px 0;background:var(--color-muted)}.lesson-prose{max-width:none}.lesson-prose p,.lesson-prose li{font-size:15px;line-height:1.85;color:var(--color-muted-foreground)}.lesson-prose strong{color:var(--color-foreground);font-weight:600}.lesson-prose pre{font-size:12px;padding:18px;line-height:1.8}.lesson-prose pre code{font-size:12px}.lesson-prose ol{padding-left:20px;margin-left:0}.simulation{padding:24px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-card);box-shadow:var(--shadow-card);margin:30px 0 24px;overflow:hidden}.simulation h2{font-size:18px;margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.3}.simulation__hint{color:var(--color-muted-foreground);font-size:12px;line-height:1.7;margin:14px 0}.simulation__tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.simulation__tabs button{font-size:10px;line-height:1.5;padding:7px 10px;border:1px solid var(--color-border);color:var(--color-muted-foreground);border-radius:7px;background:var(--color-code);cursor:pointer}.simulation__tabs button[aria-pressed=true]{color:var(--color-cyan);border-color:var(--color-cyan);background:color-mix(in srgb,var(--color-cyan) 7%,var(--color-card))}.simulation__workspace{min-height:180px;display:grid;align-items:stretch}.simulation__workspace.has-code{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}.simulation__code{display:flex;align-items:center;overflow-x:auto;border:1px solid var(--color-border);background:var(--color-code);border-radius:10px;padding:14px 0;margin:0;font:10px/2.4 ui-monospace,monospace}.simulation__code code{min-width:100%}.simulation__line{display:block;padding:0 12px;white-space:pre}.simulation__line.is-current{background:color-mix(in srgb,var(--color-cyan) 14%,var(--color-code));color:var(--color-cyan)}.line-number{display:inline-block;width:20px;color:var(--color-muted-foreground)}.diagram{display:flex;gap:12px;align-items:stretch;min-width:0}.diagram__column{flex:1;min-width:0;position:relative}.diagram__label{font-size:8px;line-height:1.6;color:var(--color-muted-foreground);letter-spacing:.08em;margin:0 0 12px;text-align:center}.diagram__items{display:flex;flex-direction:column;gap:8px}.diagram__node{padding:18px 12px;border:1px solid color-mix(in srgb,currentColor 35%,var(--color-border));border-radius:10px;background:color-mix(in srgb,currentColor 5%,var(--color-code));min-height:92px;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative}.diagram__node strong{font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.diagram__node span{font-size:10px;line-height:1.65;color:var(--color-muted-foreground);margin-top:7px;overflow-wrap:anywhere}.tone-cyan{color:var(--color-cyan)}.tone-violet{color:var(--color-violet)}.tone-green{color:var(--color-green)}.tone-amber{color:var(--color-amber)}.tone-red{color:var(--color-red)}.tone-muted{color:var(--color-muted-foreground)}.diagram--stack .is-stack{flex-direction:column-reverse;min-height:225px;justify-content:flex-start;padding:10px;background:var(--color-code);border-bottom:2px solid var(--color-cyan);border-radius:8px}.diagram--stack .diagram__node{padding:8px 12px;min-height:auto}.diagram--stack .diagram__node strong{font:12px ui-monospace,monospace}.diagram--stack .diagram__node span{margin-top:4px;font-size:9px}.diagram--tree{display:grid;grid-template-columns:1fr 1fr;gap:24px 12px}.diagram--tree>.diagram__column:first-child{grid-column:1/-1;width:45%;margin:auto}.diagram--tree>.diagram__column:first-child:after{position:absolute;content:"";width:115%;height:16px;border:1px solid var(--color-line);border-bottom:0;bottom:-24px;left:-7.5%}.diagram--tree>.diagram__column:not(:first-child) .diagram__label{margin-top:7px}.diagram--tree .diagram__node{min-height:65px;padding:10px}.diagram--flow{gap:20px;align-items:center}.diagram--flow .diagram__node{padding:14px 9px}.diagram--flow .diagram__node strong{font-size:12px}.diagram__arrow{position:absolute;right:-17px;top:56%;font-size:14px;color:var(--color-cyan)}.simulation__output{display:flex;align-items:center;gap:18px;background:var(--color-code);padding:13px;border-radius:8px;border:1px solid var(--color-border);margin-top:14px}.simulation__output>span{color:var(--color-muted-foreground);font-size:8px;letter-spacing:.1em}.simulation__output code{font-size:13px;color:var(--color-green)}.simulation__note{padding:14px 0 0;margin:8px 0 16px;color:var(--color-muted-foreground);font-size:12px;line-height:1.75;min-height:65px}.simulation__controls{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--color-border);padding-top:18px}.simulation__controls .academy-button{font-size:11px;padding:10px 12px;min-height:40px}.simulation__count{font:10px ui-monospace,monospace;color:var(--color-muted-foreground)}.lesson-takeaway{padding:18px 22px;border:1px solid color-mix(in srgb,var(--color-cyan) 25%,var(--color-border));background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-background));border-radius:12px;margin:24px 0}.lesson-takeaway>span{color:var(--color-cyan);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.lesson-takeaway p{font-size:13px;color:var(--color-foreground);line-height:1.8;margin:7px 0 0}.lesson-sources{padding:22px 0 0}.lesson-sources h2{font-size:12px;margin:0 0 10px;font-weight:500;color:var(--color-muted-foreground)}.lesson-sources h2>span{color:var(--color-cyan);margin-left:5px}.lesson-sources>a{text-decoration:none;border-bottom:1px solid var(--color-border);padding:12px 0;display:block}.lesson-sources>a>strong{font-size:11px;font-weight:500;color:var(--color-cyan);display:flex;gap:10px}.lesson-sources>a>span{font-size:10px;line-height:1.7;margin-top:5px;color:var(--color-muted-foreground);display:block}.step-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px;padding-top:24px;border-top:1px solid var(--color-border)}.step-pagination>span{font-size:11px;color:var(--color-muted-foreground)}.completion-message{font-size:13px;line-height:1.75;color:var(--color-green)}.academy-quiz fieldset{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin:26px 0;padding:20px;min-width:0}.academy-quiz legend{padding:0 8px;font-size:14px;line-height:1.65;font-weight:500}.academy-quiz legend>span{color:var(--color-cyan);margin-right:10px;font:11px ui-monospace,monospace}.quiz-choice{display:flex;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:8px;margin:10px 0;font-size:13px;line-height:1.7;color:var(--color-muted-foreground);cursor:pointer}.quiz-choice input{accent-color:var(--color-cyan);flex:0 0 auto}.quiz-choice:has(input:checked){border-color:var(--color-cyan);color:var(--color-foreground);background:color-mix(in srgb,var(--color-cyan) 7%,var(--color-card))}.quiz-explanation{padding:14px;margin-top:16px;border-radius:8px;background:var(--color-muted);font-size:12px;line-height:1.75}.quiz-explanation p{color:var(--color-muted-foreground)}.quiz-explanation a{color:var(--color-cyan)}.assessment-status{min-height:20px;color:var(--color-cyan);font-size:12px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1050px){.lesson-shell{grid-template-columns:220px minmax(0,1fr);gap:28px}.simulation__workspace.has-code{grid-template-columns:1fr}.course-card__body{padding:28px}.diagram--flow{flex-wrap:wrap}.diagram--flow>.diagram__column{flex-basis:25%}}@media(max-width:800px){.lesson-shell{display:block}.lesson-sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--color-border);padding:24px 0 12px}.lesson-sidebar__heading{padding:16px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.lesson-sidebar__heading>.academy-eyebrow{grid-column:1}.lesson-sidebar__heading>a{font-size:16px;grid-column:1}.lesson-sidebar__heading .lesson-progress{grid-column:2;grid-row:1/3;align-self:center;margin:0}.lesson-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px;overflow:auto}.lesson-toc summary{padding:10px 0}.course-hero{grid-template-columns:1.5fr 1fr}.course-hero .engine-mark{transform:scale(.8);width:250px}.lesson-intro{grid-template-columns:1fr;gap:28px}.academy-principles{gap:24px}}@media(max-width:600px){.academy-page{padding-top:24px}.academy-page__intro{padding:24px 0 36px}.academy-page h1{font-size:37px}.academy-page__intro>p,.course-hero>div>p,.lesson-intro>div>p{font-size:15px}.academy-section-heading{align-items:flex-start}.academy-section-heading>span{font-size:10px;text-align:right;max-width:140px;line-height:1.6}.course-card{grid-template-columns:1fr}.course-card__art{min-height:280px;border-right:0;border-bottom:1px solid var(--color-border)}.course-card__art .engine-mark{transform:scale(.85)}.course-card__body{padding:24px}.course-card__body h2{font-size:28px}.course-card__series{left:20px;bottom:14px;font-size:9px}.academy-principles{grid-template-columns:1fr;margin-top:36px;gap:28px}.academy-principles h3{margin-top:10px}.course-hero{display:block;padding:32px 0 42px}.course-hero>.engine-mark{display:none}.curriculum>li>a,.curriculum__row{gap:14px;padding:20px 4px}.curriculum h3{font-size:15px}.curriculum p{font-size:12px}.lesson-intro{padding:28px 0 36px}.lesson-intro h1{font-size:36px}.lesson-step-grid{grid-template-columns:1fr}.lesson-step-grid a{padding:17px}.lesson-sidebar__heading{column-gap:18px}.lesson-sidebar__heading>.academy-eyebrow{font-size:9px}.lesson-sidebar__heading>a{font-size:14px}.lesson-toc nav{grid-template-columns:1fr;max-height:260px}.lesson-content{padding-top:20px}.step-topline{margin-top:25px}.step-topline>.academy-eyebrow{font-size:10px}.lesson-article h1{font-size:31px}.step-description{font-size:14px}.lesson-prose p,.lesson-prose li{font-size:14px;line-height:1.85}.simulation{padding:18px 14px;border-radius:14px}.simulation h2{font-size:17px}.diagram{gap:8px;flex-wrap:wrap}.diagram__column{flex-basis:40%}.diagram__node{padding:12px 8px;min-height:88px}.diagram__node strong{font-size:12px}.diagram--flow{display:grid;grid-template-columns:1fr;gap:26px}.diagram__arrow{right:50%;top:auto;bottom:-23px;transform:rotate(90deg)}.simulation__controls .academy-button{font-size:10px;padding:9px 10px}.simulation__count{font-size:9px}.step-pagination{flex-wrap:wrap}.step-pagination>span{display:none}.step-pagination .academy-button{font-size:12px;padding:12px}.academy-quiz fieldset{padding:14px}}@media(max-width:720px){.brand-pill{justify-self:start}}.progress-reset{display:block;margin:-25px 0 30px;padding:0;background:transparent;color:var(--color-muted-foreground);border:0;border-bottom:1px dashed var(--color-border);font-size:11px;cursor:pointer}.academy-quiz>button{margin-right:8px;margin-bottom:8px}.diagram__children{display:flex;gap:18px;position:relative;padding-top:18px;margin-top:12px}.diagram__children:before{content:"";position:absolute;top:5px;left:25%;right:25%;height:13px;border:1px solid var(--color-line);border-bottom:0}.diagram__children:after{content:"";position:absolute;height:7px;top:-1px;left:50%;border-left:1px solid var(--color-line)}.diagram__children strong{flex:1;color:var(--color-green);border:1px solid color-mix(in srgb,var(--color-green) 35%,var(--color-border));padding:12px;border-radius:7px;background:var(--color-code)}.simulation{position:relative;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--color-cyan) 6%,transparent),transparent 60%),var(--color-card)}.simulation:before{content:"";position:absolute;inset:0 24px auto;height:1px;background:linear-gradient(90deg,transparent,var(--color-cyan),transparent);opacity:.65}.simulation__tabs button{transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.simulation__tabs button:hover{transform:translateY(-2px);border-color:var(--color-cyan);color:var(--color-foreground)}.simulation [data-simulation-state]:not([hidden]){animation:diagram-enter .28s ease-out both}.diagram__node{box-shadow:inset 0 1px color-mix(in srgb,currentColor 10%,transparent)}.lesson-prose a[href^=http]{text-decoration-thickness:1px;text-underline-offset:4px}.lesson-prose a[href^=http]:after{content:" ↗";display:inline;font-size:.7em;color:var(--color-cyan)}.runtime-map{width:100%;display:grid;gap:0}.runtime-map__node{display:flex;gap:16px;align-items:center;padding:22px;border:1px solid color-mix(in srgb,currentColor 40%,var(--color-border));border-radius:13px;background:linear-gradient(120deg,color-mix(in srgb,currentColor 7%,var(--color-card)),var(--color-code));box-shadow:var(--shadow-card)}.runtime-map__index{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:10px;font:11px ui-monospace,monospace;background:color-mix(in srgb,currentColor 8%,transparent)}.runtime-map small{display:block;color:var(--color-muted-foreground);font-size:9px;letter-spacing:.12em;line-height:1.6}.runtime-map strong{display:block;font-size:clamp(18px,2.2vw,25px);line-height:1.3;letter-spacing:-.035em;font-weight:600;margin-top:4px}.runtime-map p{font-size:12px;line-height:1.75;margin:7px 0 0;color:var(--color-muted-foreground);overflow-wrap:anywhere}.runtime-map__symbol{margin-left:auto;font:24px ui-monospace,monospace;opacity:.4;flex-shrink:0}.runtime-map__connector{display:flex;align-items:center;gap:12px;color:var(--color-muted-foreground);font-size:10px;padding:12px 0 12px 31px}.runtime-map__connector>span{font-size:24px;color:var(--color-cyan)}.runtime-map__host{padding:20px;border:1px dashed color-mix(in srgb,currentColor 50%,var(--color-border));border-radius:16px;background:radial-gradient(ellipse at top right,color-mix(in srgb,currentColor 6%,transparent),transparent 70%),var(--color-code)}.runtime-map__host-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.runtime-map__engine{margin-left:48px}.runtime-map p.runtime-map__caption{text-align:center;font-size:10px;margin-top:16px}@keyframes diagram-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.runtime-map__node{gap:12px;padding:16px 12px}.runtime-map__host{padding:14px 12px}.runtime-map__engine{margin-left:12px}.runtime-map__host-heading{gap:12px}.runtime-map__symbol{display:none}.runtime-map__connector{padding-left:21px}}@media(prefers-reduced-motion:reduce){.simulation [data-simulation-state]:not([hidden]){animation:none}.simulation__tabs button{transition:none}.simulation__tabs button:hover{transform:none}}.lesson-prose .machine-code-example{margin:26px 0;padding:24px;border:1px solid var(--color-border);border-radius:16px;background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--color-cyan) 7%,transparent),transparent 65%),var(--color-card);box-shadow:var(--shadow-card)}.machine-code-example figcaption{display:grid;gap:8px}.machine-code-example figcaption>strong{font-size:18px;line-height:1.5;letter-spacing:-.025em}.machine-code-example__eyebrow{color:var(--color-cyan);font-size:9px;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}.machine-code-example__legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin:22px 0 12px;color:var(--color-muted-foreground);font-size:10px;line-height:1.6}.machine-code-example__bytes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.machine-code-example__bytes>div{min-width:0;display:grid;justify-items:center;gap:10px;padding:16px 4px;border:1px solid color-mix(in srgb,var(--color-green) 25%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--color-green) 4%,var(--color-code))}.machine-code-example__bytes>div.is-opcode{border-color:color-mix(in srgb,var(--color-cyan) 45%,var(--color-border));background:color-mix(in srgb,var(--color-cyan) 8%,var(--color-code))}.machine-code-example__bytes code{color:var(--color-green);font:500 clamp(22px,3vw,34px)/1.2 ui-monospace,monospace}.machine-code-example__bytes .is-opcode code{color:var(--color-cyan)}.machine-code-example__bytes small{font:10px/1.4 ui-monospace,monospace;color:var(--color-muted-foreground)}.machine-code-example__meaning{display:grid;gap:9px;border-top:1px solid var(--color-border);margin-top:22px;padding-top:18px}.machine-code-example__meaning>span{color:var(--color-muted-foreground);font-size:10px;line-height:1.6}.machine-code-example__meaning>code{color:var(--color-foreground);font:14px/1.8 ui-monospace,monospace}.lesson-prose .machine-code-example__meaning>p{font-size:13px;margin:0;line-height:1.8}.lesson-prose .machine-code-example__note{font-size:10px;line-height:1.8;margin:18px 0 0}.lesson-prose .lesson-note{--note-color: var(--color-cyan);margin:26px 0;padding:20px 24px;border:1px solid color-mix(in srgb,var(--note-color) 25%,var(--color-border));border-left:3px solid var(--note-color);border-radius:0 12px 12px 0;background:linear-gradient(115deg,color-mix(in srgb,var(--note-color) 7%,var(--color-card)),var(--color-card))}.lesson-note.is-green{--note-color: var(--color-green)}.lesson-note__label{color:var(--note-color);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.lesson-prose .lesson-note h3{font-size:17px;line-height:1.5;margin:8px 0 12px;color:var(--color-foreground)}.lesson-prose .lesson-note p{margin:10px 0 0;font-size:13px;line-height:1.85}@media(max-width:600px){.lesson-prose .machine-code-example{padding:18px 14px}.machine-code-example__bytes{gap:5px}.machine-code-example__bytes>div{padding:14px 2px}.lesson-prose .lesson-note{padding:18px}}@media(max-width:420px){.machine-code-example__bytes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}.runtime-map--static{margin:24px 0;padding:24px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card)}.runtime-map--static>figcaption{margin-top:16px;color:var(--color-muted-foreground);font-size:12px;line-height:1.8}.runtime-map--static .runtime-map__connector{padding:10px 0 10px 30px;color:var(--color-cyan);font-size:24px;line-height:1}@media(max-width:600px){.runtime-map--static{padding:18px 14px}}.lesson-takeaway ol{margin:12px 0 0;padding-left:20px}.lesson-takeaway li{color:var(--color-foreground);font-size:13px;line-height:1.8;padding-left:4px;margin-top:8px}.jit-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.jit-comparison__card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid color-mix(in srgb,currentColor 35%,var(--color-border));border-radius:12px;background:linear-gradient(125deg,color-mix(in srgb,currentColor 6%,var(--color-card)),var(--color-card))}.jit-comparison dt>span{display:block;color:var(--color-muted-foreground);font-size:10px;line-height:1.7}.lesson-prose .jit-comparison dt>a{display:inline-block;margin:6px 0 12px;color:inherit;font-size:22px;font-weight:600;line-height:1.3;letter-spacing:-.025em}.jit-comparison dd{margin:0;color:var(--color-muted-foreground);font-size:13px;line-height:1.85}.jit-comparison dd.jit-comparison__purpose{margin-top:auto;padding-top:16px;color:var(--color-foreground);font-size:12px}@media(max-width:600px){.jit-comparison{grid-template-columns:minmax(0,1fr);gap:12px}.jit-comparison__card{padding:18px}}.deopt-map{margin:26px 0}.deopt-map__assumption{padding:20px;border:1px solid color-mix(in srgb,var(--color-violet) 40%,var(--color-border));border-radius:12px;text-align:center;background:color-mix(in srgb,var(--color-violet) 6%,var(--color-card))}.deopt-map__assumption>span{display:block;color:var(--color-muted-foreground);font-size:11px;line-height:1.7;margin-bottom:8px}.deopt-map__assumption>strong{font-size:16px;line-height:1.6}.lesson-prose .deopt-map p{font-size:12px;line-height:1.8;margin:8px 0 0}.deopt-map__branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:28px;position:relative}.deopt-map__branches:before{content:"";position:absolute;top:14px;left:25%;right:25%;height:14px;border:1px solid var(--color-border);border-bottom:0}.deopt-map__branches:after{content:"";position:absolute;top:0;left:50%;height:14px;border-left:1px solid var(--color-border)}.deopt-map__branch{min-width:0;display:flex;flex-direction:column;align-items:center;padding:22px;border:1px solid color-mix(in srgb,currentColor 40%,var(--color-border));border-radius:12px;background:linear-gradient(140deg,color-mix(in srgb,currentColor 5%,var(--color-card)),var(--color-card));text-align:center}.deopt-map__branch>code.deopt-map__call{font:15px/1.8 ui-monospace,monospace;color:var(--color-foreground)}.deopt-map__branch>strong{color:inherit;font-size:14px;line-height:1.7}.deopt-map__arrow{display:block;font-size:22px;line-height:1;margin:14px 0}.deopt-map__execution{width:100%;border-top:1px solid color-mix(in srgb,currentColor 25%,var(--color-border));padding-top:14px}.deopt-map__execution strong{font-size:14px;line-height:1.7}.deopt-map__result{width:100%;margin-top:auto;padding-top:22px}.deopt-map__result>span{display:block;color:var(--color-muted-foreground);font-size:10px;line-height:1.7}.deopt-map__result>code{display:block;color:inherit;font:500 28px/1.5 ui-monospace,monospace;margin-top:6px}.deopt-map>figcaption{color:var(--color-muted-foreground);font-size:11px;line-height:1.8;margin-top:14px}@media(max-width:600px){.deopt-map__branches{grid-template-columns:minmax(0,1fr);padding-top:16px;gap:12px}.deopt-map__branches:before,.deopt-map__branches:after{display:none}.deopt-map__assumption,.deopt-map__branch{padding:18px}}.heap-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px 42px;align-items:center;margin:26px 0}.heap-map__references{display:grid;gap:22px}.heap-map__reference{position:relative;padding:16px;border:1px solid color-mix(in srgb,var(--color-cyan) 40%,var(--color-border));border-radius:9px;background:color-mix(in srgb,var(--color-cyan) 6%,var(--color-card));text-align:center}.heap-map__reference>code{font:500 16px/1.7 ui-monospace,monospace;color:var(--color-cyan)}.heap-map__reference>span{position:absolute;right:-33px;top:50%;transform:translateY(-50%);font-size:26px;line-height:1;color:var(--color-cyan)}.heap-map__storage{min-width:0;padding:20px;border:1px dashed color-mix(in srgb,var(--color-violet) 50%,var(--color-border));border-radius:14px;background:color-mix(in srgb,var(--color-violet) 4%,var(--color-card))}.heap-map__storage>span{display:block;color:var(--color-muted-foreground);font-size:11px;line-height:1.7;margin-bottom:14px}.heap-map__object{display:grid;justify-items:center;gap:14px;padding:22px 14px;border:1px solid var(--color-violet);border-radius:10px;background:var(--color-code)}.heap-map__object>strong{font-size:14px;line-height:1.7}.heap-map__object>code{color:var(--color-foreground);font:19px/1.7 ui-monospace,monospace}.heap-map__object b{color:var(--color-green);font-weight:600}.heap-map>figcaption{grid-column:1 / -1;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}@media(max-width:600px){.heap-map{grid-template-columns:minmax(0,1fr);gap:28px}.heap-map__references{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.heap-map__reference>span{top:auto;right:50%;bottom:-27px;transform:translate(50%) rotate(90deg)}.heap-map__storage{padding:16px}}.references-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.references-map__snapshot{min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card)}.references-map__snapshot>span{display:block;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}.references-map__operation{display:block;margin:8px 0 22px;color:var(--color-foreground);font:500 15px/1.8 ui-monospace,monospace}.references-map__connections{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1.4fr);gap:14px 6px;align-items:center}.references-map__variable{padding:10px 4px;border:1px solid color-mix(in srgb,var(--color-cyan) 40%,var(--color-border));border-radius:8px;background:color-mix(in srgb,var(--color-cyan) 6%,var(--color-card));color:var(--color-cyan);text-align:center;font:500 13px/1.7 ui-monospace,monospace}.references-map__variable--null{color:var(--color-muted-foreground);border-style:dashed;border-color:var(--color-border);background:var(--color-code)}.references-map__variable small{color:var(--color-foreground);font-size:12px}.references-map__arrow{color:var(--color-cyan);font-size:24px;text-align:center}.references-map__object{grid-column:3;grid-row:1 / 3;display:grid;gap:12px;justify-items:center;padding:18px 4px;border:1px solid var(--color-violet);border-radius:10px;background:color-mix(in srgb,var(--color-violet) 5%,var(--color-card))}.references-map__object strong{color:var(--color-foreground);font-size:11px;line-height:1.7;text-align:center}.references-map__object code{color:var(--color-foreground);white-space:nowrap;font:14px/1.7 ui-monospace,monospace}.references-map__object b{color:var(--color-green);font-weight:600}.references-map__snapshot>p{margin:18px 0 0;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}.references-map>figcaption{grid-column:1 / -1;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}@media(max-width:700px){.references-map{grid-template-columns:minmax(0,1fr)}}.thread-map{margin:26px 0}.thread-map__browser{padding:20px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-card)}.thread-map__label{display:block;margin-bottom:16px;color:var(--color-muted-foreground);font-size:11px}.thread-map__lanes{display:grid;grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr);align-items:stretch;gap:12px}.thread-map__lane{min-width:0;padding:18px;border:1px solid color-mix(in srgb,var(--color-cyan) 45%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-code))}.thread-map__lane>strong{color:var(--color-cyan);font-size:16px;line-height:1.7}.lesson-prose .thread-map__lane>p{margin:6px 0 16px;color:var(--color-muted-foreground);font-size:11px;line-height:1.7}.thread-map__task{padding:12px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-code);text-align:center;font-size:12px;line-height:1.7}.thread-map__down{display:block;text-align:center;padding:6px;color:var(--color-cyan)}.thread-map__lane.is-worker{border-color:color-mix(in srgb,var(--color-green) 45%,var(--color-border));background:color-mix(in srgb,var(--color-green) 5%,var(--color-code))}.thread-map__lane.is-worker>strong{color:var(--color-green)}.thread-map__task--long{min-height:125px;display:flex;flex-direction:column;justify-content:center;gap:10px}.thread-map__task--long code{color:var(--color-green);font-size:14px}.thread-map__messages{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:11px;line-height:1.7;color:var(--color-foreground)}.thread-map__messages small{color:var(--color-muted-foreground);font-size:10px}.thread-map__engine{margin-top:16px;padding:16px 18px;border:1px dashed color-mix(in srgb,var(--color-violet) 45%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--color-violet) 5%,var(--color-code))}.thread-map__engine>strong{color:var(--color-violet);font-size:13px;line-height:1.7}.lesson-prose .thread-map__engine>p{margin:6px 0 0;font-size:12px;line-height:1.7;color:var(--color-muted-foreground)}.thread-map>figcaption{margin-top:12px;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}@media(max-width:650px){.thread-map__browser,.thread-map__lane{padding:14px}.thread-map__lanes{grid-template-columns:minmax(0,1fr)}.thread-map__messages{flex-direction:row;flex-wrap:wrap;gap:10px 18px}.thread-map__messages>span:first-child:after{content:" к Worker"}.thread-map__messages>span:nth-child(2):after{content:" к странице"}.thread-map__messages small{flex-basis:100%;text-align:center}}.bytecode-origin{display:grid;grid-template-columns:1fr auto 1.3fr auto 1fr;gap:12px;align-items:center;margin:24px 0}.bytecode-origin>div{min-width:0;padding:16px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-code);text-align:center}.bytecode-origin strong,.bytecode-origin span{display:block;font-size:12px;line-height:1.8}.bytecode-origin span{color:var(--color-muted-foreground);margin-top:6px}.bytecode-origin>b{color:var(--color-cyan);font-size:24px;font-weight:400}.bytecode-origin>.is-generator{border-color:var(--color-cyan)}.lesson-prose ol.engine-summary{list-style:none;counter-reset:engine-stage;margin:24px 0;padding:0;display:grid;gap:12px}.engine-summary>li{counter-increment:engine-stage;position:relative;margin:0;padding:18px 20px 18px 64px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card)}.engine-summary>li:before{content:counter(engine-stage);position:absolute;left:18px;top:19px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--color-cyan);border-radius:8px;color:var(--color-cyan);font:12px ui-monospace,monospace}.engine-summary>li>strong{font-size:16px;line-height:1.7}.lesson-prose .engine-summary p{margin:8px 0 12px;font-size:13px;line-height:1.8}.engine-summary>li>.engine-stage__flow{display:inline-block;padding:5px 10px;border-radius:6px;background:var(--color-code);color:var(--color-cyan);font-size:11px;line-height:1.8}.engine-summary>li.is-generator{border-color:color-mix(in srgb,var(--color-cyan) 50%,var(--color-border))}.lesson-prose .engine-pipeline__hint{font-size:12px;color:var(--color-muted-foreground)}.engine-summary>li.is-ready{border-color:var(--color-cyan);box-shadow:inset 3px 0 var(--color-cyan)}.engine-summary>li.is-complete:before{color:var(--color-green);border-color:var(--color-green)}.lesson-prose .engine-stage__pending{color:var(--color-muted-foreground);font-size:12px;margin:14px 0 10px}.engine-summary .academy-button{display:flex;width:fit-content;max-width:100%;margin-top:14px;font-size:12px}.engine-stage__result{padding:18px;margin-top:16px;border:1px solid color-mix(in srgb,var(--color-cyan) 35%,var(--color-border));border-radius:10px;background:var(--color-code)}.engine-stage__result:focus-visible{outline:2px solid var(--color-cyan);outline-offset:3px}.engine-stage__label{display:block;color:var(--color-cyan);font-size:11px;margin-bottom:14px}.engine-stage__tokens{display:flex;flex-wrap:wrap;gap:6px}.lesson-prose .engine-stage__tokens code{padding:5px 8px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-card);color:var(--color-foreground);font-size:13px}.lesson-prose .engine-stage__tree,.lesson-prose .engine-stage__tree ul{list-style:none;padding:0;margin:0}.lesson-prose .engine-stage__tree ul{margin:8px 0 0 8px;padding-left:16px;border-left:1px solid var(--color-violet)}.lesson-prose .engine-stage__tree li{margin:0;padding:0;font-size:13px}.engine-stage__tree li>span{display:inline-block;padding:4px 8px;border:1px solid color-mix(in srgb,var(--color-violet) 30%,var(--color-border));border-radius:6px;background:var(--color-card)}.engine-stage__instructions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.lesson-prose .engine-stage__instructions code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--color-foreground)}.engine-stage__instructions>span{font-size:11px;color:var(--color-muted-foreground)}.lesson-prose .engine-stage__result p{font-size:12px;color:var(--color-muted-foreground);margin:14px 0 0}.engine-stage__result.is-executed{border-color:var(--color-green)}.engine-stage__result.is-executed .engine-stage__label{color:var(--color-green)}.lesson-prose code.engine-stage__object{font:600 22px/1.8 ui-monospace,monospace;color:var(--color-green)}.engine-pipeline__controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:28px}.engine-pipeline__controls>span{font-size:12px;color:var(--color-muted-foreground)}.engine-pipeline [hidden]{display:none}@media(max-width:650px){.engine-stage__result{padding:12px;margin-left:-38px}.engine-stage__instructions{grid-template-columns:minmax(0,1fr);gap:6px}.engine-stage__instructions>span{margin-bottom:8px}.engine-pipeline__controls{flex-wrap:wrap}}.engine-memory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.engine-memory>div{min-width:0;padding:18px;border:1px solid color-mix(in srgb,var(--color-violet) 40%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--color-violet) 4%,var(--color-card))}.engine-memory span{display:block;margin-bottom:10px;color:var(--color-muted-foreground);font-size:11px;line-height:1.7}.engine-memory strong{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.lesson-prose .engine-memory p{margin:10px 0 0;font-size:12px;line-height:1.8;color:var(--color-muted-foreground)}@media(max-width:650px){.bytecode-origin{grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:8px}.bytecode-origin>b{justify-self:center;transform:rotate(90deg)}.engine-summary>li{padding:16px 14px 16px 54px}.engine-summary>li:before{left:12px;top:17px}.engine-memory{grid-template-columns:minmax(0,1fr)}}.frame-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.frame-map__snapshot{min-width:0}.frame-map__snapshot>span{display:block;color:var(--color-muted-foreground);font-size:11px;line-height:1.8;margin-bottom:12px}.frame-map__frame{padding:20px;border:1px solid color-mix(in srgb,var(--color-cyan) 40%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-card))}.frame-map__frame>strong{font-size:16px;line-height:1.6}.frame-map__frame dl{margin:16px 0 0;display:grid;gap:14px}.frame-map__frame dt{color:var(--color-muted-foreground);font-size:10px;line-height:1.8}.frame-map__frame dd{margin:4px 0 0;color:var(--color-foreground);font-size:12px;line-height:1.8}.frame-map__return{display:grid;justify-items:center;gap:9px;padding-top:12px}.frame-map__return>span:first-child{color:var(--color-cyan);font-size:24px;line-height:1}.frame-map__return>code{color:var(--color-green);font-size:15px;line-height:1.7}.frame-map__return>span:last-child{color:var(--color-muted-foreground);font-size:11px;line-height:1.8}.frame-map>figcaption{grid-column:1 / -1;color:var(--color-muted-foreground);font-size:11px;line-height:1.8}@media(max-width:600px){.frame-map{grid-template-columns:minmax(0,1fr);gap:24px}}.sdk-course .lesson-note{margin:0 0 42px}.sdk-course .lesson-note h2{font-size:18px;margin:8px 0}.sdk-course .lesson-note p{font-size:14px;line-height:1.8}.course-card__art.is-sdk{padding:32px 24px 64px}.sdk-mark{width:min(100%,360px);min-width:0;margin:auto}.sdk-mark__games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sdk-mark__game{--game-color: var(--color-violet);min-width:0;border:1px solid color-mix(in srgb,var(--game-color) 35%,var(--color-border));border-radius:10px;background:var(--color-card);text-align:center;overflow:hidden}.sdk-mark__game.is-platformer{--game-color: var(--color-green)}.sdk-mark__game.is-racing{--game-color: var(--color-amber)}.sdk-mark__game>span{display:block;padding:10px 2px;border-top:1px solid var(--color-border);font-size:11px;font-weight:500}.sdk-mark__scene{position:relative;height:82px;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--game-color) 12%,var(--color-card)),var(--color-card))}.sdk-mark__scene i{position:absolute;display:block;color:var(--game-color)}.is-puzzle .sdk-mark__scene i{width:22px;height:22px;border:1px solid currentColor;border-radius:4px;background:color-mix(in srgb,var(--game-color) 30%,var(--color-card));transform:rotate(45deg)}.is-puzzle .sdk-mark__scene i:nth-child(1){left:calc(50% - 11px);top:14px}.is-puzzle .sdk-mark__scene i:nth-child(2){left:calc(50% - 28px);top:39px}.is-puzzle .sdk-mark__scene i:nth-child(3){left:calc(50% + 6px);top:39px}.sdk-mark__player{left:25%;bottom:21px;width:15px;height:22px;border:1px solid currentColor;border-radius:6px 6px 2px 2px;background:color-mix(in srgb,var(--game-color) 40%,var(--color-card))}.sdk-mark__platform{left:12%;bottom:15px;width:42%;height:6px;border-radius:2px;background:var(--game-color)}.sdk-mark__platform:last-child{left:65%;bottom:36px;width:28%}.sdk-mark__road{inset:0 20%;border-inline:1px solid color-mix(in srgb,var(--game-color) 50%,var(--color-border))}.sdk-mark__road:before{content:"";position:absolute;inset:0 auto 0 50%;border-left:2px dashed color-mix(in srgb,var(--game-color) 40%,var(--color-border))}.sdk-mark__car{top:28px;left:29%;width:18px;height:30px;border:1px solid currentColor;border-radius:5px;background:color-mix(in srgb,var(--game-color) 35%,var(--color-card));box-shadow:inset 0 7px var(--color-card),inset 0 -5px var(--color-card)}.sdk-mark__connections{display:grid;grid-template-columns:repeat(3,1fr);height:42px;margin-inline:calc((100% - 20px) / 6);color:var(--color-cyan)}.sdk-mark__connections i{position:relative;height:22px;border-bottom:1px solid currentColor}.sdk-mark__connections i:first-child{border-left:1px solid currentColor;border-radius:0 0 0 7px}.sdk-mark__connections i:last-child{border-right:1px solid currentColor;border-radius:0 0 7px}.sdk-mark__connections i:nth-child(2):before{content:"";position:absolute;top:0;left:50%;height:41px;border-left:1px solid currentColor}.sdk-mark__connections i:nth-child(2):after{content:"";position:absolute;top:35px;left:calc(50% - 3px);width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.sdk-mark__base{padding:22px 12px;border:1px solid color-mix(in srgb,var(--color-cyan) 50%,var(--color-border));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-cyan) 12%,var(--color-card)),var(--color-card));text-align:center}.sdk-mark__base strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.03em}.sdk-mark__base span{display:block;margin-top:6px;font-size:12px;color:var(--color-foreground)}.sdk-mark__base small{display:block;margin-top:14px;font-size:10px;color:var(--color-muted-foreground)}.sdk-reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:48px}.sdk-reading-grid h2,.lesson-intro__map h2{font-size:19px;letter-spacing:-.02em}.sdk-reading-grid p,.lesson-intro__map p{color:var(--color-muted-foreground);font-size:14px;line-height:1.8}.sdk-links{padding-left:18px;font-size:14px;line-height:2.1}.sdk-links a,.sdk-reading-grid p a{color:var(--color-cyan)}.sdk-api-shortcut,.sdk-next-section{display:inline-block;margin-top:24px;font-size:13px;color:var(--color-cyan)}.sdk-next-section{margin-bottom:24px}.course-card+.course-card{margin-top:24px}.sdk-boundary{margin:26px 0}.sdk-boundary__columns{display:grid;gap:14px}.sdk-boundary__side{--boundary-color: var(--color-violet);min-width:0;border:1px solid color-mix(in srgb,var(--boundary-color) 40%,var(--color-border));border-radius:12px;padding:22px;background:linear-gradient(140deg,color-mix(in srgb,var(--boundary-color) 6%,var(--color-card)),var(--color-card))}.sdk-boundary__side.is-engine{--boundary-color: var(--color-cyan)}.sdk-boundary__side>header{padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--boundary-color) 25%,var(--color-border))}.sdk-boundary__kind{display:inline-block;padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--boundary-color) 13%,var(--color-card));color:var(--boundary-color);font-size:10px;font-weight:500;line-height:1.6}.lesson-prose .sdk-boundary h3{margin:8px 0 0;color:var(--boundary-color);font-size:clamp(19px,2vw,23px);font-weight:600;letter-spacing:-.035em;line-height:1.3}.sdk-boundary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0}.sdk-boundary dl>div{padding:14px;border:1px solid color-mix(in srgb,var(--boundary-color) 18%,var(--color-border));border-radius:9px;background:linear-gradient(110deg,color-mix(in srgb,var(--boundary-color) 10%,var(--color-card)),color-mix(in srgb,var(--boundary-color) 4%,var(--color-card)))}.sdk-boundary dt{display:flex;align-items:center;gap:12px;color:var(--color-foreground);font-size:14px;font-weight:600;line-height:1.5}.sdk-boundary dd{margin:4px 0 0 44px;color:var(--color-muted-foreground);font-size:12px;line-height:1.6}.sdk-boundary__icon{display:grid;place-items:center;position:relative;width:32px;height:32px;flex:0 0 32px;border:1px solid color-mix(in srgb,var(--boundary-color) 30%,var(--color-border));border-radius:7px;background:color-mix(in srgb,var(--boundary-color) 16%,var(--color-card));color:var(--boundary-color)}.sdk-boundary__icon.is-symbol{font:500 21px/1 ui-monospace,monospace}.sdk-boundary__icon.is-layout{grid-template-columns:repeat(2,7px);grid-template-rows:5px 8px;align-content:center;justify-content:center;gap:3px}.sdk-boundary__icon.is-layout i{width:100%;height:100%;border:1px solid currentColor;border-radius:1px}.sdk-boundary__icon.is-layout i:first-child{grid-column:1 / -1;background:currentColor}.sdk-boundary__connection{display:grid;justify-items:center;gap:4px;color:var(--color-cyan);font-size:26px;line-height:1}.sdk-boundary__connection>span:first-child{color:var(--color-muted-foreground);font-size:12px;line-height:1.6}.sdk-boundary__api{position:relative;display:grid;gap:6px;margin-top:18px;padding:16px;border:1px solid var(--color-cyan);border-radius:9px;background:color-mix(in srgb,var(--color-cyan) 14%,var(--color-card))}.sdk-boundary__api strong{color:var(--color-cyan);font-size:15px;font-weight:600}.sdk-boundary__api>span{color:var(--color-muted-foreground);font-size:12px;line-height:1.6}.sdk-boundary__modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.sdk-boundary__module-group{--module-color: var(--color-violet);min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--module-color) 30%,var(--color-border));border-top:3px solid var(--module-color);border-radius:9px;background:color-mix(in srgb,var(--module-color) 6%,var(--color-card))}.sdk-boundary__module-group.is-cyan{--module-color: var(--color-cyan)}.sdk-boundary__module-group.is-green{--module-color: var(--color-green)}.sdk-boundary__module-group.is-amber{--module-color: var(--color-amber)}.lesson-prose .sdk-boundary__module-group h4{margin:0 0 14px;color:var(--module-color);font-size:15px;line-height:1.5;font-weight:600}.lesson-prose .sdk-boundary__module-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.lesson-prose .sdk-boundary__module-group li{display:grid;align-content:start;gap:4px;margin:0;padding:10px;border:1px solid color-mix(in srgb,var(--module-color) 18%,var(--color-border));border-radius:6px;background:color-mix(in srgb,var(--module-color) 9%,var(--color-card))}.lesson-prose .sdk-boundary__module-group code{padding:0;background:transparent;color:var(--module-color);font:500 12px/1.5 ui-monospace,monospace;overflow-wrap:anywhere}.sdk-boundary__module-group li>span{color:var(--color-muted-foreground);font-size:12px;line-height:1.6}.sdk-boundary>figcaption{margin-top:14px;color:var(--color-muted-foreground);font-size:12px;line-height:1.75}@media(max-width:600px){.sdk-boundary dl,.sdk-boundary__modules{grid-template-columns:1fr}.sdk-boundary__side{padding:18px}}.sdk-figure{--sdk-tone: var(--color-cyan);container-type:inline-size;margin:26px 0}.sdk-figure .tone-cyan,.sdk-fsm-map .tone-cyan{--sdk-tone: var(--color-cyan)}.sdk-figure .tone-violet,.sdk-fsm-map .tone-violet{--sdk-tone: var(--color-violet)}.sdk-figure .tone-green,.sdk-fsm-map .tone-green{--sdk-tone: var(--color-green)}.sdk-figure .tone-amber{--sdk-tone: var(--color-amber)}.sdk-figure__body{display:grid;gap:14px}.sdk-figure__item{min-width:0}.sdk-figure .sdk-figure__item strong{display:block;font-size:16px;font-weight:600;line-height:1.5;color:var(--sdk-tone);overflow-wrap:anywhere}.sdk-figure__item>div>span{display:block;font-size:13px;line-height:1.7;margin-top:8px;color:var(--color-muted-foreground);overflow-wrap:anywhere}.lesson-prose .sdk-figure p{margin:8px 0 0;font-size:13px;line-height:1.7}.sdk-figure.is-flow .sdk-figure__body{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px}.sdk-figure.is-flow .sdk-figure__item{position:relative;padding:18px 14px;border:1px solid color-mix(in srgb,var(--sdk-tone) 35%,var(--color-border));border-top:3px solid var(--sdk-tone);border-radius:10px;background:color-mix(in srgb,var(--sdk-tone) 5%,var(--color-background))}.sdk-figure__index{display:grid;place-items:center;width:28px;height:28px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--sdk-tone) 35%,var(--color-border));border-radius:7px;background:color-mix(in srgb,var(--sdk-tone) 13%,var(--color-card));color:var(--sdk-tone);font:500 11px ui-monospace,monospace}.sdk-figure.is-flow .sdk-figure__item+.sdk-figure__item:before{content:"→";position:absolute;left:-20px;top:38px;color:var(--color-muted-foreground);font-size:17px}.sdk-figure.is-scene-lifecycle .sdk-figure__body{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1fr);align-items:start}.lesson-prose .sdk-scene-enter-steps{display:grid;gap:6px;list-style:none;margin:10px 0 0;padding:0}.lesson-prose .sdk-scene-enter-steps li{margin:0;padding:6px 10px;border-left:2px solid color-mix(in srgb,var(--sdk-tone) 55%,var(--color-border));border-radius:0 5px 5px 0;background:color-mix(in srgb,var(--sdk-tone) 8%,var(--color-card));font-size:13px;line-height:1.65;overflow-wrap:anywhere}.sdk-figure.is-flow.is-long .sdk-figure__body{grid-template-columns:1fr;gap:0}.sdk-figure.is-flow.is-long .sdk-figure__item{display:grid;grid-template-columns:36px 1fr;padding:16px 0;border:0;border-radius:0;background:none}.sdk-figure.is-flow.is-long .sdk-figure__item+.sdk-figure__item:before{content:"";top:-15px;left:12px;width:1px;height:30px;background:var(--color-border)}.sdk-figure.is-flow.is-long .sdk-figure__index{position:relative;z-index:1;margin-bottom:0}.sdk-figure.is-flow.is-long .sdk-figure__item>div>span{margin-top:3px}.sdk-figure.is-compare .sdk-figure__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sdk-figure.is-compare .sdk-figure__item{padding:20px;background:color-mix(in srgb,var(--sdk-tone) 6%,var(--color-background));border:1px solid color-mix(in srgb,var(--sdk-tone) 35%,var(--color-border));border-radius:12px}.sdk-figure.is-compare .sdk-figure__item strong{margin-bottom:14px;font-size:16px}.sdk-figure.is-matrix .sdk-figure__body,.sdk-figure.is-layers .sdk-figure__body{gap:12px}.sdk-figure.is-matrix .sdk-figure__item,.sdk-figure.is-layers .sdk-figure__item{padding:16px;border:1px solid color-mix(in srgb,var(--sdk-tone) 25%,var(--color-border));border-radius:9px;background:color-mix(in srgb,var(--sdk-tone) 6%,var(--color-card))}.sdk-figure.is-matrix .sdk-figure__item>div,.sdk-figure.is-layers .sdk-figure__item>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:20px;align-items:center}.sdk-figure.is-matrix .sdk-figure__item strong{justify-self:start;padding:7px 11px;border-radius:6px;background:color-mix(in srgb,var(--sdk-tone) 12%,var(--color-card));font-size:14px}.sdk-figure.is-matrix .sdk-figure__item>div>span,.sdk-figure.is-layers .sdk-figure__item>div>span{margin:0}.sdk-figure.is-layers .sdk-figure__item{border-left:4px solid var(--sdk-tone);padding:18px}.sdk-figure.is-layers .sdk-figure__item strong{font-size:15px}.sdk-figure.is-tree .sdk-figure__body{gap:0;margin-left:10px;border-left:2px solid var(--color-border)}.sdk-figure.is-tree .sdk-figure__item{padding:6px 0 6px 22px;position:relative}.sdk-figure.is-tree .sdk-figure__item:before{content:"";position:absolute;left:0;top:50%;width:22px;border-top:2px solid color-mix(in srgb,var(--sdk-tone) 50%,var(--color-border))}.sdk-figure.is-tree .sdk-figure__item>div{padding:16px;border:1px solid color-mix(in srgb,var(--sdk-tone) 25%,var(--color-border));border-left:3px solid var(--sdk-tone);border-radius:8px;background:color-mix(in srgb,var(--sdk-tone) 7%,var(--color-card))}.sdk-figure figcaption{color:var(--color-muted-foreground);font-size:12px;line-height:1.75;margin-top:14px}.sdk-layout-tree{font-size:13px}.sdk-layout-tree ul{padding-left:24px;margin:8px 0 0;list-style:none;border-left:1px solid var(--color-border)}.sdk-layout-tree li{position:relative;margin:8px 0}.sdk-layout-tree li:before{content:"";position:absolute;top:13px;left:-24px;width:18px;border-top:1px solid var(--color-border)}.sdk-layout-tree code,.sdk-tree-root{display:inline-block;padding:5px 10px;border:1px solid color-mix(in srgb,var(--color-cyan) 28%,var(--color-border));border-radius:6px;background:color-mix(in srgb,var(--color-cyan) 10%,var(--color-card));color:var(--color-cyan)}.sdk-layout-tree ul ul code{border-color:color-mix(in srgb,var(--color-green) 28%,var(--color-border));background:color-mix(in srgb,var(--color-green) 10%,var(--color-card));color:var(--color-green)}.sdk-tree-root small{font-size:11px;font-weight:400;color:var(--color-muted-foreground);margin-left:8px}.sdk-scope__global{padding:20px;border:1px solid var(--color-cyan);border-radius:12px;background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-background))}.sdk-scope__global>span,.sdk-scope__scenes span{display:block;color:var(--color-muted-foreground);font-size:11px;margin-bottom:8px}.sdk-scope__global strong{color:var(--color-cyan);font-size:17px}.sdk-scope__global p{margin:8px 0 0;font-size:12px;color:var(--color-muted-foreground)}.sdk-scope__scenes{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:24px}.sdk-scope__scenes>div{position:relative;padding:16px;border:1px solid var(--color-border);border-left:3px solid var(--color-violet);border-radius:8px;background:var(--color-background)}.sdk-scope__scenes>div:last-child{border-left-color:var(--color-green)}.sdk-scope__scenes>div:before{content:"";position:absolute;top:-25px;left:50%;height:24px;border-left:1px solid var(--color-border)}.sdk-scope__scenes strong{font-size:13px;line-height:1.6}.sdk-screens{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:16px;max-width:440px;margin-inline:auto}.sdk-screen{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;padding:14px;min-width:0}.sdk-screen__label{display:block;color:var(--color-muted-foreground);font-size:10px;text-align:center;margin-bottom:14px}.sdk-screen__score{color:var(--color-cyan);text-align:center;font:500 22px/1.3 ui-monospace,monospace}.sdk-screen__score small{display:block;color:var(--color-muted-foreground);font:10px Inter,sans-serif;margin-top:4px}.sdk-screen__area{margin-top:16px;padding:12px;border:1px dashed var(--color-border);border-radius:9px}.sdk-screen__board{display:grid;place-items:center;width:68%;aspect-ratio:1;margin:auto;border-radius:6px;border:1px solid color-mix(in srgb,var(--color-violet) 50%,var(--color-border));color:var(--color-violet);font-size:12px;background:repeating-linear-gradient(0deg,transparent 0 12px,color-mix(in srgb,var(--color-violet) 12%,transparent) 12px 13px),repeating-linear-gradient(90deg,transparent 0 12px,color-mix(in srgb,var(--color-violet) 12%,transparent) 12px 13px)}.sdk-screen__slots{display:flex;justify-content:center;gap:12px;margin:14px 0 4px}.sdk-screen__slots i{width:18px;height:18px;border-radius:3px;background:color-mix(in srgb,var(--color-green) 25%,var(--color-background));border:1px solid var(--color-green)}.sdk-screen.is-port .sdk-screen__area{padding-top:30px;padding-bottom:30px}.sdk-screen.is-port .sdk-screen__board{width:100%}.sdk-prefab-map{display:grid;grid-template-columns:1fr 28px 1.6fr;align-items:center;gap:14px}.sdk-prefab-map__source{text-align:center}.sdk-prefab-map__cell{width:54px;height:54px;margin:0 auto 16px;border:1px solid var(--color-cyan);border-radius:7px;box-shadow:inset 0 2px color-mix(in srgb,var(--color-cyan) 30%,transparent);background:color-mix(in srgb,var(--color-cyan) 12%,var(--color-background))}.sdk-prefab-map__source strong{display:block;font-size:13px}.sdk-prefab-map__source code{display:block;margin-top:5px;font-size:10px;color:var(--color-muted-foreground);overflow-wrap:anywhere}.sdk-prefab-map__arrow{color:var(--color-cyan);font-size:24px}.sdk-prefab-map__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-width:240px;margin:auto}.sdk-prefab-map__grid i{aspect-ratio:1;border:1px solid var(--color-border);border-radius:3px;background:var(--color-background)}.sdk-prefab-map__grid .is-filled{border-color:var(--color-violet);background:color-mix(in srgb,var(--color-violet) 25%,var(--color-background))}.sdk-prefab-map__count{display:block;text-align:center;font-size:10px;color:var(--color-muted-foreground);margin-top:14px}.sdk-placement{border:1px solid var(--color-border);border-radius:18px;padding:24px;margin:28px 0;background:var(--color-card)}.sdk-placement h2,.sdk-api h2{font-size:21px;letter-spacing:-.03em;line-height:1.4}.sdk-placement p,.sdk-api>p{font-size:14px;color:var(--color-muted-foreground);line-height:1.8}.sdk-placement__path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.sdk-placement__node{position:relative;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--sdk-tone) 35%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--sdk-tone) 5%,var(--color-background))}.sdk-placement__node+.sdk-placement__node:before{content:"→";position:absolute;left:-14px;top:22px;color:var(--color-muted-foreground)}.sdk-placement__node strong,.sdk-placement__node span{display:block;overflow-wrap:anywhere}.sdk-placement__node strong{color:var(--sdk-tone);font:600 13px/1.5 ui-monospace,monospace}.sdk-placement__node span{margin-top:5px;color:var(--color-muted-foreground);font-size:12px}.sdk-placement__node.is-current{border-color:var(--sdk-tone);outline:2px solid color-mix(in srgb,var(--sdk-tone) 20%,transparent);background:color-mix(in srgb,var(--sdk-tone) 10%,var(--color-background))}.sdk-placement__current{visibility:hidden}.sdk-placement__node.is-current .sdk-placement__current{visibility:visible;color:var(--sdk-tone);font-weight:700}.sdk-placement__rule{display:grid;gap:3px;margin:10px -6px 0;padding:8px 6px;border-radius:6px;border:1px solid transparent}.sdk-placement__rule small{color:var(--color-muted-foreground);font-size:10px}.sdk-placement__rule code{font-size:11px;overflow-wrap:anywhere}.sdk-placement__rule.is-active{border-color:var(--sdk-tone);background:color-mix(in srgb,var(--sdk-tone) 15%,var(--color-background))}.sdk-placement__queue{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:10px 14px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:8px;font-size:12px}.sdk-placement__queue span{color:var(--color-muted-foreground)}.sdk-placement__queue code{overflow-wrap:anywhere}.sdk-placement__explanation{margin:0 0 20px;padding:16px;border-radius:10px;background:var(--color-muted)}.sdk-placement__explanation strong{font-size:14px}.sdk-placement .sdk-placement__explanation p{margin:6px 0 0}.sdk-api{margin:30px 0}.sdk-api__module{border:1px solid var(--color-border);border-radius:10px;margin:10px 0;background:var(--color-card);overflow:hidden}.sdk-api__module summary{cursor:pointer;padding:16px;font-size:12px;overflow-wrap:anywhere}.sdk-api__module summary>span{float:right;color:var(--color-muted-foreground)}.sdk-api__guide{display:inline-block;margin:0 16px 16px;font-size:13px;color:var(--color-cyan)}.sdk-api__module ul{list-style:none;padding:0 16px 16px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}.sdk-api__module li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid var(--color-border);padding:9px 0;font-size:11px}.sdk-api__module li>code{min-width:0;overflow-wrap:anywhere}.sdk-api__module small{font-size:10px;color:var(--color-muted-foreground)}.sdk-api__module code{font-family:ui-monospace,monospace}@container (max-width: 680px){.sdk-figure.is-flow:not(.is-long) .sdk-figure__body{grid-template-columns:1fr;gap:22px}.sdk-figure.is-flow:not(.is-long) .sdk-figure__item+.sdk-figure__item:before{content:"↓";top:-22px;left:calc(50% - 6px)}}@media(max-width:600px){.sdk-reading-grid{grid-template-columns:1fr;gap:18px}.sdk-placement{padding:16px;border-radius:12px}.sdk-figure.is-compare .sdk-figure__body,.sdk-api__module ul{grid-template-columns:1fr}.sdk-figure.is-matrix .sdk-figure__item{grid-template-columns:1fr;gap:4px}.sdk-figure.is-matrix .sdk-figure__item>div,.sdk-figure.is-layers .sdk-figure__item>div{grid-template-columns:1fr;gap:6px}.sdk-scope__scenes{grid-template-columns:1fr}.sdk-scope__scenes>div+div:before{display:none}.sdk-screens{grid-template-columns:1fr}.sdk-screen.is-port{width:65%;margin:auto}.sdk-placement__path{grid-template-columns:1fr;gap:16px}.sdk-placement__node+.sdk-placement__node:before{content:"↓";left:50%;top:-17px}.sdk-prefab-map{grid-template-columns:1fr}.sdk-prefab-map__arrow{text-align:center;transform:rotate(90deg)}.sdk-mark{max-width:280px}.course-hero>.sdk-mark{margin-top:36px}.sdk-api__module summary{font-size:11px}}.sdk-section-locked{cursor:not-allowed;background:color-mix(in srgb,var(--color-muted) 45%,var(--color-background))}.sdk-section-locked>div{min-width:0;flex:1}.curriculum .sdk-section-locked h3{color:var(--color-muted-foreground)}.sdk-section-status{display:inline-block;padding:4px 9px;border:1px dashed var(--color-border);border-radius:5px;color:var(--color-muted-foreground);background:var(--color-background);font-size:11px;line-height:1.5}.sdk-progress [data-progress-count]{white-space:nowrap;flex-shrink:0}.interpreter-trace__source[data-astro-cid-twad2vdj]{margin:18px 0;padding:14px 16px;border-radius:8px;background:var(--color-code);color:var(--color-foreground);white-space:pre-wrap;font:12px/1.8 ui-monospace,monospace}.interpreter-trace__source[data-astro-cid-twad2vdj] code[data-astro-cid-twad2vdj]{font:inherit}.interpreter-trace__instructions[data-astro-cid-twad2vdj]{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}.interpreter-trace__instructions[data-astro-cid-twad2vdj] li[data-astro-cid-twad2vdj]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;color:var(--color-muted-foreground)}.interpreter-trace__instructions[data-astro-cid-twad2vdj] code[data-astro-cid-twad2vdj]{font:600 13px/1.7 ui-monospace,monospace}.interpreter-trace__instructions[data-astro-cid-twad2vdj] small[data-astro-cid-twad2vdj]{display:block;margin-top:3px;font-size:10px;line-height:1.7}.interpreter-trace__instructions[data-astro-cid-twad2vdj] li[data-astro-cid-twad2vdj]>span[data-astro-cid-twad2vdj]{font-size:13px;line-height:1.7}.interpreter-trace__instructions[data-astro-cid-twad2vdj] .is-next[data-astro-cid-twad2vdj]{border-style:dashed;border-color:var(--color-cyan)}.interpreter-trace__instructions[data-astro-cid-twad2vdj] .is-next[data-astro-cid-twad2vdj] code[data-astro-cid-twad2vdj]{color:var(--color-cyan)}.interpreter-trace__instructions[data-astro-cid-twad2vdj] .is-executed[data-astro-cid-twad2vdj]{color:var(--color-foreground)}.interpreter-trace__instructions[data-astro-cid-twad2vdj] .is-latest[data-astro-cid-twad2vdj]{border-color:var(--color-green);background:color-mix(in srgb,var(--color-green) 7%,var(--color-card))}.interpreter-trace__instructions[data-astro-cid-twad2vdj] .is-latest[data-astro-cid-twad2vdj]>span[data-astro-cid-twad2vdj]{color:var(--color-green);font-weight:600}.interpreter-trace__value[data-astro-cid-twad2vdj]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;margin-top:12px;border-bottom:1px solid var(--color-border)}.interpreter-trace__value[data-astro-cid-twad2vdj]>span[data-astro-cid-twad2vdj]{font-size:12px;color:var(--color-muted-foreground)}.interpreter-trace__value[data-astro-cid-twad2vdj]>div[data-astro-cid-twad2vdj]{display:flex;align-items:center;gap:12px;font:24px/1.4 ui-monospace,monospace}.interpreter-trace__value[data-astro-cid-twad2vdj] strong[data-astro-cid-twad2vdj]{font-weight:600;color:var(--color-green)}.interpreter-trace__value[data-astro-cid-twad2vdj] div[data-astro-cid-twad2vdj]>span[data-astro-cid-twad2vdj]{color:var(--color-muted-foreground);font-size:18px}.interpreter-trace[data-astro-cid-twad2vdj] .simulation__note[data-astro-cid-twad2vdj]{margin:14px 0 20px;padding:0;min-height:44px}.interpreter-trace__controls[data-astro-cid-twad2vdj]{flex-wrap:wrap}@media(max-width:600px){.interpreter-trace__instructions[data-astro-cid-twad2vdj] li[data-astro-cid-twad2vdj]{padding:10px 12px}.interpreter-trace__controls[data-astro-cid-twad2vdj]{display:grid;grid-template-columns:1fr auto}.interpreter-trace__controls[data-astro-cid-twad2vdj] [data-astro-cid-twad2vdj][data-simulation-next]{grid-column:1 / -1;width:100%}}.token-scanner[data-astro-cid-2xmn6zh6] h3[data-astro-cid-2xmn6zh6]{font-size:11px;line-height:1.7;margin:0 0 12px;color:var(--color-muted-foreground);font-weight:500}.token-scanner__source[data-astro-cid-2xmn6zh6]{padding:18px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-code);margin:20px 0}.token-scanner__source[data-astro-cid-2xmn6zh6]>code[data-astro-cid-2xmn6zh6]{display:block;font:500 clamp(18px,2.6vw,28px)/1.8 ui-monospace,monospace;white-space:pre-wrap;color:var(--color-muted-foreground)}.token-scanner__source[data-astro-cid-2xmn6zh6] code[data-astro-cid-2xmn6zh6]>span[data-astro-cid-2xmn6zh6]{padding:2px;border-bottom:2px solid transparent;border-radius:4px}.token-scanner__source[data-astro-cid-2xmn6zh6] .is-recognized[data-astro-cid-2xmn6zh6]{color:var(--color-foreground)}.token-scanner__source[data-astro-cid-2xmn6zh6] code[data-astro-cid-2xmn6zh6]>.is-current[data-astro-cid-2xmn6zh6]{color:var(--color-cyan);border-bottom-color:var(--color-cyan);background:color-mix(in srgb,var(--color-cyan) 15%,var(--color-code))}.token-scanner__output[data-astro-cid-2xmn6zh6]{min-height:112px}.token-scanner__output[data-astro-cid-2xmn6zh6] ol[data-astro-cid-2xmn6zh6]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6]{min-width:0;display:flex;flex-direction:column;gap:9px;padding:14px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-code)}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6].is-current{border-color:var(--color-cyan);background:color-mix(in srgb,var(--color-cyan) 7%,var(--color-code))}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6]>code[data-astro-cid-2xmn6zh6]{font:500 18px/1.6 ui-monospace,monospace;color:var(--color-foreground)}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6].is-current>code[data-astro-cid-2xmn6zh6]{color:var(--color-cyan)}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6]>span[data-astro-cid-2xmn6zh6],.token-scanner__empty[data-astro-cid-2xmn6zh6]{color:var(--color-muted-foreground);font-size:11px;line-height:1.7}.token-scanner__empty[data-astro-cid-2xmn6zh6]{padding:18px;border:1px dashed var(--color-border);border-radius:8px;margin:0}.token-scanner[data-astro-cid-2xmn6zh6] .simulation__note[data-astro-cid-2xmn6zh6]{min-height:42px;margin:18px 0;padding:0}.token-scanner__controls[data-astro-cid-2xmn6zh6]{flex-wrap:wrap}@media(max-width:600px){.token-scanner__source[data-astro-cid-2xmn6zh6]{padding:14px}.token-scanner__output[data-astro-cid-2xmn6zh6] ol[data-astro-cid-2xmn6zh6]{grid-template-columns:minmax(0,1fr);gap:6px}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6]{flex-direction:row;align-items:center;gap:12px;padding:8px 12px}.token-scanner__output[data-astro-cid-2xmn6zh6] li[data-astro-cid-2xmn6zh6]>code[data-astro-cid-2xmn6zh6]{flex:0 0 60px;font-size:15px}.token-scanner__controls[data-astro-cid-2xmn6zh6]{display:grid;grid-template-columns:1fr auto}.token-scanner__controls[data-astro-cid-2xmn6zh6] [data-astro-cid-2xmn6zh6][data-simulation-next]{grid-column:1 / -1;width:100%}}.heap-trace__source[data-astro-cid-pyadl673]{list-style:none;margin:20px 0;padding:10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-code)}.heap-trace__source[data-astro-cid-pyadl673] li[data-astro-cid-pyadl673]{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid transparent;border-radius:6px;color:var(--color-muted-foreground)}.heap-trace__source[data-astro-cid-pyadl673] code[data-astro-cid-pyadl673]{font:12px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.heap-trace__line-number[data-astro-cid-pyadl673],.heap-trace__line-status[data-astro-cid-pyadl673]{font-size:10px;line-height:1.8}.heap-trace__source[data-astro-cid-pyadl673] .is-executed[data-astro-cid-pyadl673]{color:var(--color-foreground)}.heap-trace__source[data-astro-cid-pyadl673] .is-next[data-astro-cid-pyadl673]{border-style:dashed;border-color:var(--color-border)}.heap-trace__source[data-astro-cid-pyadl673] .is-current[data-astro-cid-pyadl673]{border-color:var(--color-green);background:color-mix(in srgb,var(--color-green) 9%,var(--color-code))}.heap-trace__source[data-astro-cid-pyadl673] .is-current[data-astro-cid-pyadl673] .heap-trace__line-status[data-astro-cid-pyadl673]{color:var(--color-green)}.heap-trace__memory[data-astro-cid-pyadl673]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:stretch;gap:44px}.heap-trace[data-astro-cid-pyadl673] h3[data-astro-cid-pyadl673]{margin:0 0 12px;font-size:12px;line-height:1.7;font-weight:500;color:var(--color-muted-foreground)}.heap-trace__variables[data-astro-cid-pyadl673]{display:grid;grid-template-rows:auto 1fr 1fr;gap:12px}.heap-trace__variables[data-astro-cid-pyadl673] h3[data-astro-cid-pyadl673]{margin:0}.heap-trace__variable[data-astro-cid-pyadl673]{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px;border:1px solid color-mix(in srgb,var(--color-cyan) 45%,var(--color-border));border-radius:9px;background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-code))}.heap-trace__variable[data-astro-cid-pyadl673] code[data-astro-cid-pyadl673]{font:500 17px/1.6 ui-monospace,monospace;color:var(--color-cyan)}.heap-trace__variable[data-astro-cid-pyadl673]>span[data-astro-cid-pyadl673],.heap-trace__variable[data-astro-cid-pyadl673] small[data-astro-cid-pyadl673]{color:var(--color-muted-foreground);font-size:11px;line-height:1.7}.heap-trace__variable[data-astro-cid-pyadl673] small[data-astro-cid-pyadl673]{text-decoration:line-through}.heap-trace__variable[data-astro-cid-pyadl673].is-pending,.heap-trace__variable[data-astro-cid-pyadl673].is-null{background:var(--color-code);border-color:var(--color-border);border-style:dashed}.heap-trace__variable[data-astro-cid-pyadl673].is-pending code[data-astro-cid-pyadl673],.heap-trace__variable[data-astro-cid-pyadl673].is-null code[data-astro-cid-pyadl673]{color:var(--color-muted-foreground)}.heap-trace__arrow[data-astro-cid-pyadl673]{position:absolute;top:50%;right:-35px;transform:translateY(-50%);font-size:27px;line-height:1;color:var(--color-cyan);font-weight:400}.heap-trace__variable[data-astro-cid-pyadl673].is-accessed,.heap-trace__variable[data-astro-cid-pyadl673].is-changed{border-style:solid;border-color:var(--color-green)}.heap-trace__variable[data-astro-cid-pyadl673].is-accessed .heap-trace__arrow[data-astro-cid-pyadl673]{color:var(--color-green)}.heap-trace__heap[data-astro-cid-pyadl673]{padding:16px;border:1px dashed color-mix(in srgb,var(--color-violet) 50%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-violet) 4%,var(--color-code))}.heap-trace__object[data-astro-cid-pyadl673],.heap-trace__empty[data-astro-cid-pyadl673]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:166px;padding:16px 12px;border:1px solid var(--color-violet);border-radius:9px;background:var(--color-code)}.heap-trace__object[data-astro-cid-pyadl673]>strong[data-astro-cid-pyadl673]{font-size:16px;line-height:1.7;color:var(--color-violet)}.heap-trace__object[data-astro-cid-pyadl673]>span[data-astro-cid-pyadl673],.heap-trace__empty[data-astro-cid-pyadl673]{font-size:11px;line-height:1.7;text-align:center;color:var(--color-muted-foreground)}.heap-trace__empty[data-astro-cid-pyadl673]{border-color:var(--color-border);border-style:dashed}.heap-trace__object[data-astro-cid-pyadl673].is-created{border-color:var(--color-green)}.heap-trace__property[data-astro-cid-pyadl673]{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:7px;font:22px/1.5 ui-monospace,monospace;color:var(--color-foreground)}.heap-trace__property[data-astro-cid-pyadl673] b[data-astro-cid-pyadl673]{font-weight:500}.heap-trace__property[data-astro-cid-pyadl673] del[data-astro-cid-pyadl673],.heap-trace__property[data-astro-cid-pyadl673]>span[data-astro-cid-pyadl673]{font-size:16px;color:var(--color-muted-foreground)}.heap-trace__property[data-astro-cid-pyadl673].is-changed{border-color:var(--color-green);background:color-mix(in srgb,var(--color-green) 8%,var(--color-code))}.heap-trace__property[data-astro-cid-pyadl673].is-changed b[data-astro-cid-pyadl673]{color:var(--color-green)}.heap-trace__readings[data-astro-cid-pyadl673]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.heap-trace__readings[data-astro-cid-pyadl673]>div[data-astro-cid-pyadl673]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding:10px 14px;background:var(--color-code);border:1px solid var(--color-border);border-radius:8px}.heap-trace__readings[data-astro-cid-pyadl673] dt[data-astro-cid-pyadl673]{font-size:12px;line-height:1.7;color:var(--color-muted-foreground)}.heap-trace__readings[data-astro-cid-pyadl673] dd[data-astro-cid-pyadl673]{margin:0;color:var(--color-foreground);font-size:13px;line-height:1.7}.heap-trace[data-astro-cid-pyadl673] .simulation__note[data-astro-cid-pyadl673]{min-height:64px;margin:16px 0;padding:0}.heap-trace__controls[data-astro-cid-pyadl673]{flex-wrap:wrap}.heap-trace__controls[data-astro-cid-pyadl673]>div[data-astro-cid-pyadl673]{display:flex;gap:6px}@media(max-width:600px){.heap-trace[data-astro-cid-pyadl673]{padding:16px}.heap-trace__source[data-astro-cid-pyadl673]{padding:6px}.heap-trace__source[data-astro-cid-pyadl673] li[data-astro-cid-pyadl673]{grid-template-columns:12px minmax(0,1fr);gap:2px 6px;padding:8px 6px}.heap-trace__source[data-astro-cid-pyadl673] code[data-astro-cid-pyadl673]{font-size:11px}.heap-trace__line-status[data-astro-cid-pyadl673]{grid-column:2;min-height:18px}.heap-trace__memory[data-astro-cid-pyadl673]{gap:27px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.heap-trace__variable[data-astro-cid-pyadl673]{padding:10px 6px}.heap-trace__variable[data-astro-cid-pyadl673] code[data-astro-cid-pyadl673]{font-size:14px}.heap-trace__variable[data-astro-cid-pyadl673]>span[data-astro-cid-pyadl673],.heap-trace__variable[data-astro-cid-pyadl673] small[data-astro-cid-pyadl673]{font-size:10px}.heap-trace__arrow[data-astro-cid-pyadl673]{right:-24px;font-size:22px}.heap-trace__heap[data-astro-cid-pyadl673]{padding:10px 6px}.heap-trace__object[data-astro-cid-pyadl673],.heap-trace__empty[data-astro-cid-pyadl673]{padding:12px 4px}.heap-trace__object[data-astro-cid-pyadl673]>strong[data-astro-cid-pyadl673]{font-size:13px}.heap-trace__object[data-astro-cid-pyadl673]>span[data-astro-cid-pyadl673]{font-size:10px}.heap-trace__property[data-astro-cid-pyadl673]{gap:4px;padding:6px 2px;font-size:19px}.heap-trace__readings[data-astro-cid-pyadl673]{grid-template-columns:minmax(0,1fr);gap:6px}.heap-trace__controls[data-astro-cid-pyadl673]{display:grid;grid-template-columns:1fr auto}.heap-trace__controls[data-astro-cid-pyadl673] [data-astro-cid-pyadl673][data-simulation-next]{grid-column:1 / -1;width:100%}}.reachability-graph__initial[data-astro-cid-wn53gjmq],.reachability-graph__operations[data-astro-cid-wn53gjmq] pre[data-astro-cid-wn53gjmq]{margin:12px 0 0;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-code);color:var(--color-foreground);font:11px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.reachability-graph__layout[data-astro-cid-wn53gjmq]{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.9fr) minmax(0,2.2fr);gap:12px;align-items:start;margin-top:22px}.reachability-graph__root[data-astro-cid-wn53gjmq]{padding:16px 12px;margin-top:48px;border:1px solid var(--color-cyan);border-radius:12px;background:color-mix(in srgb,var(--color-cyan) 5%,var(--color-code))}.reachability-graph__root[data-astro-cid-wn53gjmq]>span[data-astro-cid-wn53gjmq]{display:block;font-size:10px;line-height:1.7;color:var(--color-muted-foreground)}.reachability-graph__root[data-astro-cid-wn53gjmq]>strong[data-astro-cid-wn53gjmq]{display:block;color:var(--color-cyan);font:500 17px/1.7 ui-monospace,monospace;margin-top:5px}.reachability-graph__root[data-astro-cid-wn53gjmq]>code[data-astro-cid-wn53gjmq]{display:block;margin-top:8px;color:var(--color-foreground);font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.reachability-graph__edge[data-astro-cid-wn53gjmq]{display:grid;justify-items:center;gap:5px;color:var(--color-cyan)}.reachability-graph__edge--root[data-astro-cid-wn53gjmq]{margin-top:54px}.reachability-graph__arrow[data-astro-cid-wn53gjmq]{font:30px/1.1 ui-monospace,monospace}.reachability-graph__edge[data-astro-cid-wn53gjmq] .academy-button[data-astro-cid-wn53gjmq]{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:9px 7px;border-color:color-mix(in srgb,var(--color-cyan) 55%,var(--color-border));font-size:10px}.reachability-graph__edge[data-astro-cid-wn53gjmq] button[data-astro-cid-wn53gjmq] code[data-astro-cid-wn53gjmq]{font:10px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.reachability-graph__edge[data-astro-cid-wn53gjmq].is-broken{color:var(--color-amber)}.reachability-graph__edge[data-astro-cid-wn53gjmq].is-broken .academy-button[data-astro-cid-wn53gjmq]{border-color:var(--color-amber)}.reachability-graph__edge--player[data-astro-cid-wn53gjmq]{padding:8px 0}.reachability-graph__edge--player[data-astro-cid-wn53gjmq] .academy-button[data-astro-cid-wn53gjmq]{width:auto;max-width:100%}.reachability-graph__heap[data-astro-cid-wn53gjmq]{min-width:0;padding:16px;border:1px dashed color-mix(in srgb,var(--color-violet) 50%,var(--color-border));border-radius:14px;background:color-mix(in srgb,var(--color-violet) 4%,var(--color-code))}.reachability-graph__heap[data-astro-cid-wn53gjmq] h3[data-astro-cid-wn53gjmq]{margin:0 0 12px;color:var(--color-muted-foreground);font-size:12px;line-height:1.7;font-weight:500}.reachability-graph__object[data-astro-cid-wn53gjmq]{padding:12px;border:1px solid currentColor;border-radius:10px}.reachability-graph__object[data-astro-cid-wn53gjmq]>div[data-astro-cid-wn53gjmq]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px}.reachability-graph__object[data-astro-cid-wn53gjmq] strong[data-astro-cid-wn53gjmq]{font:500 19px/1.6 ui-monospace,monospace}.reachability-graph__object[data-astro-cid-wn53gjmq] code[data-astro-cid-wn53gjmq]{display:block;margin-top:8px;color:var(--color-foreground);font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.reachability-graph__status[data-astro-cid-wn53gjmq]{font-size:10px;line-height:1.8}.reachability-graph__object[data-astro-cid-wn53gjmq].is-reachable{color:var(--color-green);background:color-mix(in srgb,var(--color-green) 5%,var(--color-code))}.reachability-graph__object[data-astro-cid-wn53gjmq].is-unreachable{color:var(--color-amber);background:color-mix(in srgb,var(--color-amber) 6%,var(--color-code));border-style:dashed}.reachability-graph__operations[data-astro-cid-wn53gjmq]{margin-top:18px}.reachability-graph__operations[data-astro-cid-wn53gjmq]>span[data-astro-cid-wn53gjmq]{font-size:10px;line-height:1.7;color:var(--color-muted-foreground)}.reachability-graph__operations[data-astro-cid-wn53gjmq] pre[data-astro-cid-wn53gjmq]{min-height:66px;margin-top:6px}.reachability-graph[data-astro-cid-wn53gjmq] .simulation__note[data-astro-cid-wn53gjmq]{min-height:66px;padding:0;margin:14px 0}.reachability-graph__controls[data-astro-cid-wn53gjmq]{flex-wrap:wrap}.reachability-graph__caption[data-astro-cid-wn53gjmq]{margin:14px 0 0;font-size:11px;line-height:1.8;color:var(--color-muted-foreground)}@media(max-width:800px){.reachability-graph[data-astro-cid-wn53gjmq]{padding:16px}.reachability-graph__layout[data-astro-cid-wn53gjmq]{grid-template-columns:minmax(0,1fr);gap:12px}.reachability-graph__root[data-astro-cid-wn53gjmq],.reachability-graph__edge--root[data-astro-cid-wn53gjmq]{margin:0}.reachability-graph__edge--root[data-astro-cid-wn53gjmq] .reachability-graph__arrow[data-astro-cid-wn53gjmq]{transform:rotate(90deg)}.reachability-graph__edge--root[data-astro-cid-wn53gjmq] .academy-button[data-astro-cid-wn53gjmq]{width:auto;max-width:100%}.reachability-graph__heap[data-astro-cid-wn53gjmq]{padding:14px}.reachability-graph[data-astro-cid-wn53gjmq] .simulation__note[data-astro-cid-wn53gjmq]{min-height:110px}}.listener-cleanup__chain[data-astro-cid-4vu6mvq2]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:22px 0}.listener-cleanup__node[data-astro-cid-4vu6mvq2]{min-width:0;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px;border:1px solid color-mix(in srgb,var(--color-cyan) 40%,var(--color-border));border-radius:10px;background:var(--color-code)}.listener-cleanup__node[data-astro-cid-4vu6mvq2] strong[data-astro-cid-4vu6mvq2]{color:var(--color-cyan);font:500 17px/1.6 ui-monospace,monospace}.listener-cleanup__node[data-astro-cid-4vu6mvq2] span[data-astro-cid-4vu6mvq2]{color:var(--color-muted-foreground);font-size:11px;line-height:1.7}.listener-cleanup__node[data-astro-cid-4vu6mvq2] code[data-astro-cid-4vu6mvq2]{color:var(--color-foreground);font:11px/1.7 ui-monospace,monospace;overflow-wrap:anywhere}.listener-cleanup__node[data-astro-cid-4vu6mvq2].is-detached{border-style:dashed;border-color:var(--color-border)}.listener-cleanup__node[data-astro-cid-4vu6mvq2].is-detached strong[data-astro-cid-4vu6mvq2]{color:var(--color-muted-foreground)}.listener-cleanup__arrow[data-astro-cid-4vu6mvq2]{color:var(--color-cyan);font-size:28px;line-height:1}.listener-cleanup__arrow[data-astro-cid-4vu6mvq2].is-broken{color:var(--color-amber)}.listener-cleanup__result[data-astro-cid-4vu6mvq2]{padding:16px;border:1px solid color-mix(in srgb,var(--color-amber) 45%,var(--color-border));border-radius:10px;background:color-mix(in srgb,var(--color-amber) 6%,var(--color-code))}.listener-cleanup__result[data-astro-cid-4vu6mvq2].is-clean{border-color:color-mix(in srgb,var(--color-green) 45%,var(--color-border));background:color-mix(in srgb,var(--color-green) 6%,var(--color-code))}.listener-cleanup__result[data-astro-cid-4vu6mvq2] strong[data-astro-cid-4vu6mvq2]{font-size:14px;line-height:1.6}.listener-cleanup__result[data-astro-cid-4vu6mvq2] p[data-astro-cid-4vu6mvq2],.listener-cleanup__caption[data-astro-cid-4vu6mvq2]{margin:8px 0 0;color:var(--color-muted-foreground);font-size:12px;line-height:1.8}.listener-cleanup__controls[data-astro-cid-4vu6mvq2]{margin-top:20px;flex-wrap:wrap}.listener-cleanup__caption[data-astro-cid-4vu6mvq2]{font-size:11px;margin-top:16px}@media(max-width:650px){.listener-cleanup[data-astro-cid-4vu6mvq2]{padding:16px}.listener-cleanup__chain[data-astro-cid-4vu6mvq2]{grid-template-columns:minmax(0,1fr);gap:7px}.listener-cleanup__node[data-astro-cid-4vu6mvq2]{min-height:0;padding:12px}.listener-cleanup__arrow[data-astro-cid-4vu6mvq2]{justify-self:center;transform:rotate(90deg)}.listener-cleanup__controls[data-astro-cid-4vu6mvq2]{display:grid;grid-template-columns:1fr auto}.listener-cleanup__controls[data-astro-cid-4vu6mvq2] [data-astro-cid-4vu6mvq2][data-simulation-next]{grid-column:1 / -1;width:100%}}
