/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#191820;--muted:#625e69;--faint:#89838f;--forest:#6857d9;--forest-dark:#5544c1;--forest-deep:#f7f6fa;--mint:#26727d;--lime:#6857d9;--paper:#fff;--canvas:#f7f7f8;--soft:#f0eff3;--panel-2:#fbfafc;--line:#e5e3e8;--line-strong:#cbc7d1;--code:#f6f5f8;--blue:#347a91;--yellow:#9a6c14;--python:#ffd34e;--java:#f28c55;--radius:2px;--shadow:0 14px 38px #1c192414;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ink:#f7f4ff;--muted:#aaa5b8;--faint:#7c7689;--forest:lab(72.3955% 27.6737 -53.4261);--forest-dark:lab(61.6597% 28.215 -62.1377);--forest-deep:#090811;--mint:lab(81.2421% -32.7788 -17.4431);--lime:lab(72.3955% 27.6737 -53.4261);--paper:#100f18;--canvas:#090811;--soft:#161420;--panel-2:#1b1827;--line:#242031;--line-strong:#3a344c;--code:#08070d;--blue:lab(79.8688% -27.6658 -19.2372);--yellow:lab(80.3249% 12.6656 50.2614);--shadow:0 24px 70px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-color:var(--line-strong) var(--canvas);scrollbar-width:thin}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{border:2px solid var(--canvas);background:var(--line-strong);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--forest)}html{scroll-behavior:smooth;max-width:100%;scroll-padding-top:88px;overflow-x:clip}body{background:var(--canvas);max-width:100%;color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}body.menu-is-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}code,pre,kbd{font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--lime);color:var(--forest-deep);border-radius:8px;padding:10px 14px;font-weight:750;transition:top .18s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.topbar{z-index:80;color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07362df5;border-bottom:1px solid #ffffff1a;align-items:center;gap:34px;width:100%;min-width:0;max-width:100%;height:68px;padding:0 clamp(18px,4vw,60px);display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:10px;display:inline-flex}.brand>span:last-child{flex-direction:column;gap:2px;line-height:1.05;display:flex}.brand strong{letter-spacing:-.02em;font-size:14px}.brand small{color:#a9c9be;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:8px}.brand-mark{background:var(--lime);width:34px;height:34px;color:var(--forest-deep);font-family:var(--font-geist-mono), monospace;border-radius:10px 4px;place-items:center;font-size:18px;font-weight:900;display:grid}.topnav{color:#c9ddd6;align-items:center;gap:26px;min-width:0;font-size:12px;font-weight:650;display:flex}.topnav a{transition:color .16s}.search-button{color:#bcd2ca;cursor:pointer;text-align:left;background:#ffffff12;border:1px solid #ffffff24;border-radius:9px;align-items:center;gap:8px;width:min(260px,24vw);height:38px;margin-left:auto;padding:0 7px 0 11px;font-size:11px;transition:background .16s,border-color .16s;display:flex}.search-button:hover{background:#ffffff1c;border-color:#dcff7273}.search-button span{flex:1}kbd{color:#fff;background:#00000024;border:1px solid #ffffff29;border-radius:5px;place-items:center;min-width:23px;height:23px;font-size:10px;display:grid}.menu-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:9px;place-items:center;width:38px;height:38px;display:none}.hero{background:radial-gradient(circle at 79% 48%, #62cf9b30, transparent 27%), linear-gradient(135deg, var(--forest), var(--forest-deep) 72%);color:#fff;grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);align-items:center;gap:clamp(52px,7vw,110px);min-height:610px;padding:88px clamp(24px,7vw,110px) 96px;display:grid;overflow:hidden}.hero-copy{max-width:760px;animation:.56s cubic-bezier(.2,.8,.2,1) both hero-enter}.hero-kicker{color:var(--mint);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:22px;font-size:11px;font-weight:700;display:inline-flex}.hero h1{letter-spacing:-.065em;max-width:780px;margin:0;font-size:clamp(44px,5.4vw,76px);font-weight:760;line-height:.98}.hero-copy>p{color:#c9ddd6;max-width:650px;margin:26px 0 0;font-size:clamp(16px,1.45vw,19px);line-height:1.68}.hero-actions{flex-wrap:wrap;gap:11px;margin-top:34px;display:flex}.primary-button,.secondary-button{border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 17px;font-size:12px;font-weight:750;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.primary-button{background:var(--lime);color:var(--forest-deep)}.secondary-button{color:#fff;background:#ffffff12;border:1px solid #ffffff2e}.secondary-button:hover{background:#ffffff1f;border-color:#ffffff47}.coverage-line{color:#a9c9be;font-family:var(--font-geist-mono), monospace;flex-wrap:wrap;gap:12px 22px;margin-top:35px;font-size:10px;display:flex}.coverage-line strong{color:#fff;font-size:11px}.docs-layout{grid-template-columns:232px minmax(0,1fr);width:min(1920px,100%);margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--line);background:#f6f7f3eb;height:calc(100vh - 68px);padding:42px 25px 60px 28px;position:sticky;top:68px;overflow-y:auto}.sidebar-mobile-head{display:none}.nav-group>span{color:#91a09a;font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:8px;font-weight:750;display:block}.nav-group a{color:var(--muted);border-radius:7px;margin:1px 0;padding:7px 9px;font-size:12px;transition:color .14s,background .14s,transform .14s;display:block}:is(.nav-group a:hover,.nav-group a:focus-visible){background:var(--soft);color:var(--forest);transform:translate(2px)}.nav-group a[aria-current=page]{background:var(--soft);color:var(--ink);font-weight:600}main{background:var(--paper);min-width:0}.doc-section{border-bottom:1px solid var(--line);width:min(1060px,100% - 80px);margin:0 auto;padding:92px 0}.section-heading>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px;font-size:9px;font-weight:800;display:block}.section-heading h2{letter-spacing:-.052em;margin:0;font-size:clamp(34px,4vw,52px);line-height:1.03}.section-heading p,.body-copy{color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.75}.section-heading code,.body-copy code,.plain-callout code{color:var(--forest);font-size:.92em;font-weight:650}.decision-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.decision-list.two{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-list>div{padding:26px 28px 26px 0}.decision-list>div+div{border-left:1px solid var(--line);padding-left:28px}.decision-list strong{font-size:13px}.decision-list p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.simple-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 32px;padding:0;list-style:none;display:grid}.simple-steps li{gap:12px;padding:22px 18px;display:flex}.simple-steps li+li{border-left:1px solid var(--line)}.simple-steps li>span{background:var(--soft);width:24px;height:24px;color:var(--forest);font-family:var(--font-geist-mono), monospace;border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:800;display:grid}.simple-steps strong{font-size:12px;display:block}.simple-steps p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.simple-steps code{color:var(--forest)}.language-tabs{border:1px solid var(--line);background:var(--soft);border-radius:9px;gap:3px;width:fit-content;margin:0 0 14px;padding:3px;display:flex}.language-tabs button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:10px;font-weight:700;transition:background .14s,color .14s,box-shadow .14s}.language-tabs button.is-active{background:var(--paper);color:var(--forest);box-shadow:0 1px 4px #07362d14}.language-tabs.is-compact{margin:0}.language-tabs.is-compact button{min-width:38px;padding:0 8px}.language-tabs.has-java button:last-child{color:#92502f;min-width:52px}.language-tabs.has-java button:last-child.is-active{color:#71391f}.two-code-columns{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:14px;display:grid}.guide-stack{gap:24px;display:grid}.guide-stack .note-line{margin-top:0}.code-block{background:var(--code);border:1px solid #17382f;border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 12px 35px #07191414}.code-toolbar{color:#92aaa1;min-height:42px;font-family:var(--font-geist-mono), monospace;border-bottom:1px solid #ffffff17;align-items:center;gap:8px;padding:0 10px 0 14px;font-size:9px;display:flex}.code-dot{background:#779087;border-radius:2px;width:7px;height:7px}.code-dot-ts{background:var(--blue)}.code-dot-js{background:var(--yellow)}.code-dot-py{background:var(--python)}.code-dot-java{background:var(--java)}.code-dot-yaml{background:#dc7f83}.copy-button{color:#92aaa1;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:6px 8px;font-size:9px;display:inline-flex}.copy-button:hover{color:#fff;background:#ffffff12}.code-block pre{color:#d4e4de;tab-size:2;margin:0;padding:24px;font-size:11px;line-height:1.75;overflow:auto}.code-block pre code,.code-block pre code[class*=shj-lang-]{min-width:max-content;box-shadow:none;color:#d4e4de;font:inherit;white-space:pre;background:0 0;border-radius:0;margin:0;padding:0;display:block}.code-block pre code[class*=shj-lang-]>div{display:block;overflow:visible}.code-block .shj-numbers{display:none}.code-block .shj-syn-cmnt{color:#708d82;font-style:italic}.code-block .shj-syn-kwd,.code-block .shj-syn-err{color:#ff8a9a}.code-block .shj-syn-class,.code-block .shj-syn-type{color:#ffd176}.code-block .shj-syn-str,.code-block .shj-syn-insert{color:#9fe3bd}.code-block .shj-syn-func,.code-block .shj-syn-section{color:#a9c7ff}.code-block .shj-syn-num,.code-block .shj-syn-bool,.code-block .shj-syn-var{color:#e0b7ff}.code-block .shj-syn-oper{color:#8fd6cf}.code-helper-note{color:#9db2aa;background:#0a211b;border-top:1px solid #ffffff17;padding:11px 14px;font-size:9px;line-height:1.55}.code-helper-note code{color:#d7efe5;font-size:inherit}.note-line{border-bottom:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:10px;margin-top:16px;padding:14px 0;font-size:11px;line-height:1.55;display:flex}.note-line svg{color:var(--forest);flex:none}.note-line.warning{color:#725a2c;border-bottom-color:#ead8ad}.learn-section{width:min(1160px,100% - 64px)}.learning-guide{min-width:0}.runtime-boundary{border:1px solid var(--line);background:#fbfcfa;border-radius:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-bottom:14px;display:grid}.runtime-boundary>div{min-width:0;padding:20px}.runtime-boundary>svg{color:#87a096}.runtime-boundary span,.learning-toolbar>div>span,.official-reading>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.runtime-boundary strong,.learning-toolbar strong{font-size:12px;display:block}.runtime-boundary p,.learning-toolbar p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.55}.dom-note{background:#fffaf0;border:1px solid #e9d9ad;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:17px 19px;display:flex}.dom-note strong{font-size:12px}.dom-note p{color:#705f3c;margin:6px 0 0;font-size:10px;line-height:1.6}.dom-note code{color:#725725}.dom-note a,.official-reading a{color:var(--forest);flex:none;align-items:center;gap:5px;font-size:9px;font-weight:750;display:inline-flex}.dom-note a:hover,.official-reading a:hover{text-underline-offset:3px;text-decoration:underline}.learning-toolbar{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:24px;margin-bottom:18px;display:grid}.learning-toolbar .language-tabs{margin:0}.learning-toolbar>div:last-child{max-width:720px}.learning-layout{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;animation:.18s both detail-enter;display:grid}.keyword-grid{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:610px;display:grid;overflow-y:auto}.keyword-grid button{border:0;border-bottom:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;padding:18px;transition:background .14s,box-shadow .14s;position:relative}.keyword-grid button:nth-child(odd){border-right:1px solid var(--line)}:is(.keyword-grid button:hover,.keyword-grid button:focus-visible){background:var(--soft)}.keyword-grid button[aria-selected=true]{z-index:1;background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.keyword-grid button[aria-selected=true]{background:color-mix(in oklab, var(--forest) 8%, var(--paper))}}.keyword-grid button[aria-selected=true]{box-shadow:inset 3px 0 0 var(--forest)}.keyword-grid button>span{color:var(--faint);font-family:var(--font-geist-mono), monospace;font-size:8px;position:absolute;top:18px;right:16px}.keyword-grid code{max-width:calc(100% - 28px);color:var(--forest);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:750;display:block;overflow:hidden}.keyword-grid strong{margin-top:11px;font-size:11px;display:block}.keyword-grid p{color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.concept-example-heading{padding:0 2px 14px}.concept-example-heading>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:9px;font-weight:650;display:block}.concept-example-heading>strong{margin-top:7px;font-size:14px;display:block}.concept-example-heading>p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.learning-example{min-width:0;position:sticky;top:84px}.learning-example .code-block pre{max-height:520px;overflow:auto}.language-recipes{border:1px solid var(--line);background:#fbfcfa;border-radius:10px;margin-top:12px}.language-recipes summary{min-height:42px;color:var(--forest);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:10px;font-weight:750;list-style:none;display:flex}.language-recipes summary::-webkit-details-marker{display:none}.language-recipes summary svg{transition:transform .16s}.language-recipes[open] summary svg{transform:rotate(180deg)}.language-recipes .code-block{margin:0 8px 8px}.official-reading{border-top:1px solid var(--line);margin-top:12px;padding:14px 2px 0}.official-reading>div{flex-wrap:wrap;gap:8px 16px;display:flex}.event-mental-model{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:26px;display:grid}.event-mental-model>div{padding:23px 24px 23px 42px;position:relative}.event-mental-model>div+div{border-left:1px solid var(--line)}.event-mental-model>div>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:800;position:absolute;top:24px;left:16px}.event-mental-model strong{font-size:12px;display:block}.event-mental-model p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.event-browser,.api-browser{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);overflow:hidden}.api-browser{width:100%;min-width:0;max-width:100%}.catalog-loader{min-height:260px;color:var(--muted);text-align:left;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.catalog-loader>span{border:2px solid var(--line-strong);border-top-color:var(--forest);border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite catalog-spin}.catalog-loader strong,.catalog-loader small{display:block}.catalog-loader strong{color:var(--ink);font-size:12px}.catalog-loader small{max-width:440px;margin-top:4px;font-size:9px;line-height:1.5}@keyframes catalog-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.catalog-loader>span{animation:none}}.event-browser-toolbar,.api-browser-toolbar{border-bottom:1px solid var(--line);background:#fafbf8;align-items:center;gap:12px;padding:12px;display:flex}.inline-search{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:39px;color:var(--faint);border-radius:8px;flex:1;align-items:center;gap:9px;padding:0 12px;display:flex}.inline-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.inline-search input::placeholder{color:#99a59f}.event-category-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;padding:10px 12px;display:flex;overflow-x:visible}.event-category-strip button,.catalog-tabs button{border:1px solid var(--line);background:var(--paper);min-height:31px;color:var(--muted);cursor:pointer;border-radius:7px;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:9px;font-weight:650;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.event-category-strip button span,.catalog-tabs button span{color:var(--faint);font-family:var(--font-geist-mono), monospace;font-size:8px}.event-category-strip button.is-active,.catalog-tabs button.is-active{background:var(--soft);color:var(--forest);border-color:#91b7a6}.event-browser-grid{grid-template-columns:310px minmax(0,1fr);min-height:720px;display:grid}.event-index,.api-index{border-right:1px solid var(--line);scrollbar-gutter:stable;scrollbar-color:#7f9f92 #f0f4f0;background:#fbfcfa;max-height:780px;overflow-y:auto}.event-index::-webkit-scrollbar{width:8px}.api-index::-webkit-scrollbar{width:8px}.event-index::-webkit-scrollbar-thumb{background:#7f9f92;border:2px solid #f0f4f0}.api-index::-webkit-scrollbar-thumb{background:#7f9f92;border:2px solid #f0f4f0}.result-count{border-bottom:1px solid var(--line);color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:12px 14px;font-size:8px}.event-index>button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:13px 14px;transition:background .14s,box-shadow .14s;display:flex}.event-index>button>span{flex:1;min-width:0}.event-index strong{color:#24433a;font-family:var(--font-geist-mono), monospace;font-size:10px;display:block}.event-index small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.event-index svg{color:#a4b0ab;flex:none;transition:transform .16s,color .16s;transform:rotate(-90deg)}.event-index>button:hover{background:#f2f6f2}.event-index>button.is-selected{box-shadow:inset 3px 0 0 var(--forest);background:#ecf4ee}.event-index>button.is-selected svg{color:var(--forest);transform:rotate(-90deg)translateY(2px)}.guide-browser-grid{min-height:650px}.guide-index{max-height:720px}.guide-index .guide-index-group{color:#6f9284;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;-webkit-line-clamp:unset;margin:0 0 4px;font-size:7px;font-weight:750;display:block}.guide-index strong{font-family:var(--font-geist-sans), sans-serif;font-size:11px}.event-detail{min-width:0;padding:30px;animation:.22s both detail-enter}.event-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:22px;display:flex}.event-detail-heading>div:first-child>span,.api-detail>header>div>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:750}.event-detail h3,.api-detail h3{letter-spacing:-.04em;margin:7px 0 0;font-size:clamp(24px,3vw,36px)}.event-flags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.event-flags span{background:var(--soft);color:var(--muted);border-radius:999px;padding:6px 8px;font-size:8px;font-weight:700}.event-flags span.is-cancellable{color:#845d19;background:#fff1d6}.event-flags span.is-java-map{color:#86472a;background:#fff0e7}.event-explanation{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.event-explanation>div{padding:22px 22px 22px 0}.event-explanation>div+div{border-left:1px solid var(--line);padding-left:22px}.event-explanation span,.property-summary span,.api-import span{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;margin-bottom:7px;font-size:7px;font-weight:750;display:block}.event-explanation p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.property-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;display:grid}.property-summary p{color:var(--ink);font-family:var(--font-geist-mono), monospace;margin:0;font-size:9px;line-height:1.55}.event-properties{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.event-properties code{border:1px solid var(--line);background:#fbfcfa;border-radius:7px;align-items:center;gap:6px;padding:7px 8px;font-size:8px;display:inline-flex}.event-properties code>span{color:var(--forest);font-weight:700}.event-properties small{color:var(--faint);font-size:7px}.event-properties b{background:var(--mint);color:var(--forest-deep);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:3px 5px;font-size:6px}.guide-operations code{overflow-wrap:anywhere;max-width:100%}.java-correspondence{background:#fff8f3;border:1px solid #efd8c9;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px;padding:12px 14px;display:flex}.java-correspondence>div{min-width:0}.java-correspondence span{color:#a06345;font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;margin-bottom:5px;font-size:7px;font-weight:800;display:block}.java-correspondence code{color:#653822;overflow-wrap:anywhere;font-size:8px}.java-correspondence button,.guide-api-link{color:#86472a;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0;font-size:8px;font-weight:750;display:inline-flex}.guide-note{color:#745c2d;background:#fffaf0;border-left:2px solid #dfb452;margin:14px 0 0;padding:12px 14px;font-size:9px;line-height:1.6}.guide-api-link{color:var(--forest);margin-top:14px;font-size:9px}.java-correspondence button:hover,.guide-api-link:hover{text-decoration:underline}.advanced-mapping{color:var(--muted);margin-top:14px;padding:0 3px;font-size:9px}.advanced-mapping summary{cursor:pointer;font-weight:650}.advanced-mapping p{overflow-wrap:anywhere;font-family:var(--font-geist-mono), monospace}.advanced-mapping button,.text-link{color:var(--forest);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:9px;padding:0;font-size:10px;font-weight:750;display:inline-flex}.advanced-mapping button:hover,.text-link:hover{text-decoration:underline}.compact-api-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;display:grid}.compact-api-grid>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.8fr) minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.compact-api-grid>div:nth-child(odd){padding-right:22px}.compact-api-grid>div:nth-child(2n){border-left:1px solid var(--line);padding-left:22px}.compact-api-grid code{color:var(--forest);font-size:9px;font-weight:650}.compact-api-grid span{color:var(--muted);font-size:9px}.text-link{margin-top:22px}.subheading{letter-spacing:-.035em;margin:42px 0 0;font-size:22px}.attribute-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;display:grid}.attribute-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:13px 0;display:flex}.attribute-list>div:nth-child(odd){padding-right:22px}.attribute-list>div:nth-child(2n){border-left:1px solid var(--line);padding-left:22px}.attribute-list code{color:var(--forest);font-size:8px;font-weight:650}.attribute-list span{color:var(--muted);text-align:right;font-size:9px}.api-browser-toolbar{flex-direction:column;align-items:stretch}.catalog-tabs{scrollbar-gutter:stable;gap:5px;display:flex;overflow-x:auto}.api-browser-grid{grid-template-columns:260px minmax(0,1fr);height:clamp(580px,100vh - 104px,780px);min-height:0;display:grid;overflow:hidden}.api-browser-grid>*{min-width:0}.api-browser-grid .api-index{overscroll-behavior:contain;height:100%;max-height:none;overflow-y:scroll}.api-index>button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;width:100%;min-height:54px;padding:10px 13px;transition:background .13s,box-shadow .13s;display:flex}.api-index>button:hover{background:#f2f6f2}.api-index>button.is-selected{box-shadow:inset 3px 0 0 var(--forest);background:#ecf4ee}.api-index code{color:#24433a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;font-weight:700;overflow:hidden}.api-index small{color:var(--faint);font-size:8px}.api-index .show-more{min-height:44px;color:var(--forest);align-items:center;font-size:9px;font-weight:750}.api-detail{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;min-width:0;max-width:100%;height:100%;padding:28px;overflow:auto}.api-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;display:flex}.api-detail h3 code{color:var(--ink);font-family:var(--font-geist-sans), sans-serif}.api-detail>header p{overflow-wrap:anywhere;color:var(--faint);font-family:var(--font-geist-mono), monospace;margin:8px 0 0;font-size:8px}.api-import{border-bottom:1px solid var(--line);padding:17px 0}.api-import code{max-width:100%;color:var(--forest);font-size:9px;display:block;overflow-x:auto}.inherits{color:var(--muted);margin:15px 0;font-size:9px;line-height:1.6}.inherits strong{color:var(--ink)}.member-tools{align-items:center;gap:10px;margin-top:16px;display:flex}.member-filter{gap:3px;min-width:0;display:flex;overflow-x:auto}.catalog-tabs::-webkit-scrollbar{height:6px}.member-filter::-webkit-scrollbar{height:6px}.api-import code::-webkit-scrollbar{height:6px}.member-filter button{border:1px solid var(--line);background:var(--paper);min-height:32px;color:var(--muted);cursor:pointer;border-radius:6px;padding:0 9px;font-size:8px;font-weight:650}.member-filter button.is-active{background:var(--soft);color:var(--forest);border-color:#91b7a6}.member-count{color:var(--faint);font-family:var(--font-geist-mono), monospace;margin:12px 0;font-size:8px}.member-list{border-top:1px solid var(--line)}.member-list>div{border-bottom:1px solid var(--line);grid-template-columns:115px minmax(0,1fr);gap:14px;padding:11px 0;display:grid}.member-meta{flex-direction:column;gap:4px;display:flex}.member-meta strong{color:var(--forest);text-transform:uppercase;font-size:8px}.member-meta small{color:var(--faint);font-size:7px}.member-signatures{flex-direction:column;gap:5px;min-width:0;display:flex}.member-signatures code{overflow-wrap:anywhere;color:#4c5e57;background:#f5f7f4;border-radius:6px;grid-template-columns:26px minmax(0,1fr);gap:6px;min-width:0;padding:7px 8px;font-size:8px;line-height:1.45;display:grid}.member-signatures code.is-primary{color:#183c31;background:#eaf3ed}.member-signatures code.is-java-signature{color:#66402c;background:#fff8f3;border:1px solid #f0ddd1}.member-signatures b{color:var(--faint);font-size:7px}.constant-usage>p{color:var(--muted);font-size:11px;line-height:1.6}.packet-explanation{margin-bottom:15px}.empty-type>p{color:var(--muted);font-size:10px;line-height:1.6}.catalog-intro{border-top:1px solid var(--line);margin-top:52px;padding:28px 0 22px}.catalog-intro>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;font-size:8px;font-weight:800}.catalog-intro h3{letter-spacing:-.04em;max-width:760px;margin:8px 0 0;font-size:clamp(24px,3vw,34px)}.catalog-intro p{max-width:760px;color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.65}.empty-state{color:var(--muted);margin:0;padding:22px;font-size:10px;line-height:1.5}.plain-callout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);margin-top:24px;padding:18px 0;font-size:11px;line-height:1.65}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 3px;font-size:12px;font-weight:700;list-style:none;display:flex}.faq-list summary:after{content:"+";color:var(--forest);font-family:var(--font-geist-mono), monospace;font-size:18px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list p{max-width:760px;color:var(--muted);margin:-4px 0 20px;font-size:11px;line-height:1.65}footer{width:min(1060px,100% - 80px);color:var(--muted);align-items:center;gap:28px;margin:0 auto;padding:45px 0 60px;font-size:10px;display:flex}.footer-brand{color:var(--ink)}footer p{flex:1}footer>a{color:var(--forest);align-items:center;gap:5px;font-weight:700;display:inline-flex}.menu-backdrop{display:none}.search-overlay{z-index:150;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04191494;place-items:start center;padding:8vh 18px;animation:.15s both overlay-enter;display:grid;position:fixed;inset:0}.search-dialog{border:1px solid var(--line-strong);background:var(--paper);width:min(680px,100%);max-height:78vh;box-shadow:var(--shadow);border-radius:14px;animation:.19s both dialog-enter;overflow:hidden}.search-dialog>label{border-bottom:1px solid var(--line);min-height:58px;color:var(--faint);align-items:center;gap:11px;padding:0 13px 0 18px;display:flex}.search-dialog>label input{min-width:0;color:var(--ink);border:0;outline:0;flex:1;font-size:13px}.search-dialog>label button{background:var(--soft);cursor:pointer;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.search-dialog>p{border-bottom:1px solid var(--line);color:var(--faint);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin:0;padding:10px 16px;font-size:8px}.search-results{max-height:calc(78vh - 95px);overflow-y:auto}.search-results>a{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 16px;transition:background .13s;display:flex}.search-results>a:hover{background:var(--soft)}.search-results>a>span{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.search-results strong{font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.search-results small{color:var(--muted);font-size:8px}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.board-section{width:min(1160px,100% - 64px)}.board-guide{min-width:0}.board-flow{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-bottom:18px;display:grid;overflow:hidden}.board-flow>div{min-width:0;padding:21px}.board-flow>svg{color:#86a196}.board-flow span,.board-code-heading>span,.board-code-heading>div>span,.board-explanation span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.board-flow strong{font-size:12px;display:block}.board-flow p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.55}.board-demo-wrap{grid-template-columns:minmax(310px,.92fr) minmax(0,1.08fr);gap:14px;margin-bottom:18px;display:grid}.board-live-demo{color:#fff;background:radial-gradient(circle at 92% 8%,#dcff7226,#0000 30%),linear-gradient(145deg,#0a3d33,#061f1a 72%);border:1px solid #23594b;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0;padding:22px;display:grid;overflow:hidden;box-shadow:0 20px 50px #07362d29}.board-live-demo header{border-bottom:1px solid #ffffff1f;grid-column:1/-1;justify-content:space-between;align-items:center;padding-bottom:13px;display:flex}.board-live-demo header span{color:#a9cfc2;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:4px;font-size:7px;font-weight:800;display:block}.board-live-demo header strong{letter-spacing:-.025em;font-size:16px}.board-live-demo header i{background:var(--lime);border-radius:50%;width:9px;height:9px;animation:2.2s infinite board-online;box-shadow:0 0 #dcff728c}.board-live-demo label{color:#b9d0c8;gap:6px;min-width:0;font-size:9px;font-weight:650;display:grid}.board-live-demo input,.board-live-demo select{color:#fff;width:100%;min-width:0;height:37px;font:inherit;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;outline:0;padding:0 10px;font-size:10px;transition:border-color .15s,background .15s,box-shadow .15s}.board-live-demo input::placeholder{color:#78998e}.board-live-demo input:focus,.board-live-demo select:focus{border-color:var(--lime);background:#ffffff1f;box-shadow:0 0 0 3px #dcff721f}.board-live-demo select option{color:var(--ink)}.board-live-demo .board-demo-check{cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;display:flex}.board-live-demo .board-demo-check input{width:15px;height:15px;accent-color:var(--lime);padding:0}.board-demo-actions{grid-column:1/-1;gap:8px;display:flex}.board-demo-actions button{color:#d4e5df;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;flex:1;min-height:37px;font-size:10px;font-weight:750;transition:transform .14s,background .14s,color .14s}.board-demo-actions button:first-child{border-color:var(--lime);background:var(--lime);color:var(--forest-deep)}.board-demo-actions button:hover{transform:translateY(-1px)}.board-demo-actions button:active{transform:translateY(1px)}.board-live-demo output{color:#bff2d2;min-height:35px;font-family:var(--font-geist-mono), monospace;background:#bff2d212;border:1px solid #bff2d22e;border-radius:8px;grid-column:1/-1;align-items:center;padding:0 11px;font-size:8px;animation:.22s both board-status;display:flex}.board-control-list{border:1px solid var(--line);background:#fbfcfa;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.board-control-list article{border-bottom:1px solid var(--line);min-width:0;padding:16px}.board-control-list article:nth-child(odd){border-right:1px solid var(--line)}.board-control-list article:nth-last-child(-n+2){border-bottom:0}.board-control-list code{color:var(--forest);font-size:9px;font-weight:750}.board-control-list p{color:var(--muted);margin:7px 0 0;font-size:9px;line-height:1.5}.board-explanation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:38px;display:grid}.board-explanation>div{padding:24px 25px 24px 0}.board-explanation>div+div{border-left:1px solid var(--line);padding-left:25px;padding-right:0}.board-explanation h3,.board-code-heading h3{letter-spacing:-.025em;margin:0;font-size:18px}.board-explanation p,.board-code-heading p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.65}.board-explanation code,.board-code-heading code{color:var(--forest)}.board-code-heading{margin:38px 0 14px}.board-code-heading.has-tabs{justify-content:space-between;align-items:end;gap:22px;display:flex}.board-code-heading.has-tabs .language-tabs{flex:none}.board-code-pair{grid-template-columns:minmax(290px,.86fr) minmax(0,1.14fr)}.board-safety-strip{border:1px solid var(--line);background:var(--soft);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid;overflow:hidden}.board-safety-strip>div{padding:17px}.board-safety-strip>div+div{border-left:1px solid var(--line)}.board-safety-strip strong{color:var(--forest);font-size:10px;display:block}.board-safety-strip p{color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.react-ui-section{width:min(1160px,100% - 64px)}.react-stack-guide{min-width:0}.react-truth{color:var(--forest);background:linear-gradient(135deg,#f0faf3,#fbfcfa);border:1px solid #b9dfc7;border-radius:13px;align-items:flex-start;gap:14px;margin-bottom:18px;padding:20px;display:flex}.react-truth>svg{flex:none;margin-top:1px}.react-truth strong{font-size:13px;display:block}.react-truth p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.65}.react-truth code,.stack-boundary code,.autonomy-grid code,.surface-reference code,.request-flow code,.stack-install code{color:var(--forest);font-weight:700}.stack-flow{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin-bottom:18px;display:grid;overflow:hidden}.stack-flow>div{min-width:0;padding:18px}.stack-flow>svg{color:#86a196}.stack-flow span,.stack-boundary span,.autonomy-grid span,.surface-reference header>span,.stack-install>div>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.stack-flow strong,.stack-boundary strong,.autonomy-grid strong{font-size:11px;display:block}.stack-flow p,.stack-boundary p,.autonomy-grid p{color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.55}.stack-boundary{background:var(--forest-deep);color:#fff;border:1px solid #224f44;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.stack-boundary>div{padding:20px}.stack-boundary>div+div{border-left:1px solid #ffffff1f}.stack-boundary span{color:var(--mint)}.stack-boundary p{color:#b9d0c8}.stack-boundary>p{color:#d1e1dc;background:#ffffff0a;border-top:1px solid #ffffff1f;grid-column:1/-1;margin:0;padding:15px 20px}.autonomy-grid{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px;display:grid;overflow:hidden}.autonomy-grid article{min-width:0;padding:18px}.autonomy-grid article+article{border-left:1px solid var(--line)}.surface-reference{margin-bottom:30px}.surface-reference header{margin-bottom:13px}.surface-reference h3,.stack-install h3{letter-spacing:-.025em;margin:0;font-size:18px}.surface-reference>div{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.surface-reference article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:17px}.surface-reference article:nth-child(3n){border-right:0}.surface-reference article:nth-last-child(-n+3){border-bottom:0}.surface-reference article>code{font-size:10px}.surface-reference article p{color:var(--muted);margin:8px 0;font-size:9px;line-height:1.55}.surface-reference article small{color:var(--faint);font-family:var(--font-geist-mono), monospace;font-size:7px}.stack-code-area{margin-bottom:30px}.stack-code-tabs{border:1px solid var(--line);background:var(--soft);border-radius:10px;gap:4px;width:fit-content;max-width:100%;margin-bottom:10px;padding:4px;display:flex;overflow-x:auto}.stack-code-tabs button{min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:9px;font-weight:750}.stack-code-tabs button.is-active{color:var(--forest);background:#fff;box-shadow:0 3px 12px #07362d14}.request-flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:30px;display:grid;overflow:hidden}.request-flow>div{min-width:0;padding:18px 16px}.request-flow>div+div{border-left:1px solid var(--line)}.request-flow span{background:var(--soft);width:21px;height:21px;color:var(--forest);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;margin-bottom:9px;font-size:8px;font-weight:800;display:grid}.request-flow p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.stack-install{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:18px;margin-bottom:18px;display:grid}.stack-install>div:first-child{padding:20px 0}.stack-install>div:first-child p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.65}.stack-links{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.stack-links a{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-size:8px;font-weight:750;display:inline-flex}:is(.stack-links a:hover,.stack-links a:focus-visible){background:#f4faf5;border-color:#8fb8a0}.stack-production-note strong{color:var(--forest)}@media (max-width:900px){.stack-flow{grid-template-columns:1fr}.stack-flow>svg{margin:-5px auto;transform:rotate(90deg)}.surface-reference>div,.request-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-reference article,.surface-reference article:nth-child(3n),.surface-reference article:nth-last-child(-n+3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.surface-reference article:nth-child(2n){border-right:0}.surface-reference article:nth-last-child(-n+2){border-bottom:0}.request-flow>div{border-bottom:1px solid var(--line)}.stack-install{grid-template-columns:1fr}}@media (max-width:620px){.react-ui-section{width:calc(100% - 36px)}.stack-boundary,.autonomy-grid,.surface-reference>div,.request-flow{grid-template-columns:1fr}.stack-boundary>div+div,.autonomy-grid article+article,.surface-reference article,.surface-reference article:nth-child(2n),.request-flow>div+div{border-left:0;border-right:0;border-bottom:1px solid var(--line)}.surface-reference article:last-child,.request-flow>div:last-child{border-bottom:0}}@keyframes board-online{70%{box-shadow:0 0 0 7px #dcff7200}to{box-shadow:0 0 #dcff7200}}@keyframes board-status{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.board-demo-wrap{grid-template-columns:1fr}}@media (max-width:620px){.board-section{width:calc(100% - 36px)}.board-flow{grid-template-columns:1fr}.board-flow>svg{margin:-4px auto;transform:rotate(90deg)}.board-live-demo,.board-control-list,.board-explanation,.board-safety-strip{grid-template-columns:1fr}.board-live-demo label,.board-live-demo .board-demo-check,.board-demo-actions,.board-live-demo output{grid-column:1}.board-control-list article,.board-control-list article:nth-child(odd),.board-control-list article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.board-control-list article:last-child{border-bottom:0}.board-explanation>div,.board-explanation>div+div,.board-safety-strip>div{border-left:0;padding:19px 0}.board-explanation>div+div,.board-safety-strip>div+div{border-top:1px solid var(--line)}.board-safety-strip{padding:0 18px}.board-code-heading.has-tabs{flex-direction:column;align-items:flex-start}}@keyframes detail-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(-8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@supports (animation-timeline:view()){.doc-section>:not(.section-heading){animation:linear both section-reveal;animation-timeline:view();animation-range:entry 5% entry 22%}@keyframes section-reveal{0%{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:1180px){.topnav{gap:17px}.hero{grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);gap:45px}.docs-layout{display:block}.sidebar{z-index:120;background:var(--paper);border:0;width:min(310px,86vw);height:100vh;padding:18px 20px 50px;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:20px 0 60px #05271f29}.sidebar.is-open{transform:translate(0)}.sidebar-mobile-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:14px;display:flex}.sidebar-mobile-head button{background:var(--soft);cursor:pointer;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.menu-button{display:grid}.menu-backdrop{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04191473;border:0;display:block;position:fixed;inset:0}}@media (max-width:960px){.topnav{display:none}.search-button{width:210px}.hero{grid-template-columns:1fr;padding-top:72px}.hero-copy{max-width:800px}.event-browser-grid,.api-browser-grid{grid-template-columns:260px minmax(0,1fr)}.event-detail,.api-detail{padding:24px}.member-tools{flex-direction:column;align-items:stretch}.learning-layout{grid-template-columns:1fr}.learning-example{position:static}.keyword-grid{max-height:430px}}@media (max-width:760px){.topbar{gap:10px;height:62px;padding:0 14px}.brand small,.search-button span,.search-button kbd{display:none}.search-button{justify-content:center;width:38px;margin-left:auto;padding:0}.hero{min-height:auto;padding:66px 20px 72px}.hero h1{font-size:clamp(42px,13vw,62px)}.coverage-line{flex-direction:column;gap:7px}.doc-section,footer{width:calc(100% - 36px)}.doc-section{padding:70px 0}.section-heading h2{font-size:37px}.decision-list,.decision-list.two,.simple-steps,.event-mental-model,.two-code-columns,.runtime-boundary,.learning-toolbar,.keyword-grid{grid-template-columns:1fr}.runtime-boundary{padding:4px 0}.runtime-boundary>svg{margin:-3px auto;transform:rotate(90deg)}.dom-note{flex-direction:column;align-items:flex-start;gap:12px}.learning-toolbar{gap:14px}.keyword-grid{max-height:500px}.keyword-grid button,.keyword-grid button:nth-child(odd){border-right:0}.decision-list>div,.decision-list>div+div,.simple-steps li,.event-mental-model>div,.event-mental-model>div+div{border-left:0;padding-left:0}.simple-steps li+li,.event-mental-model>div+div{border-top:1px solid var(--line)}.simple-steps li>span,.event-mental-model>div>span{margin-right:1px;position:static}.event-mental-model>div{grid-template-columns:24px minmax(0,1fr);gap:4px 10px;display:grid}.event-mental-model p{grid-column:2}.event-browser-toolbar{flex-direction:column;align-items:stretch}.event-category-strip{scrollbar-color:#7f9f92 transparent;flex-wrap:nowrap;padding-bottom:12px;overflow-x:auto}.event-category-strip::-webkit-scrollbar{height:5px}.event-category-strip::-webkit-scrollbar-track{background:0 0}.event-category-strip::-webkit-scrollbar-thumb{background:#7f9f92;border:0}.event-browser-grid,.api-browser-grid{height:auto;min-height:0;display:block;overflow:visible}.event-index,.api-index{border-right:0;border-bottom:1px solid var(--line);max-height:320px}.event-detail,.api-detail{padding:20px}.api-browser-grid .api-index{height:320px;max-height:320px}.api-detail{height:min(680px,72vh);max-height:680px}.event-detail-heading,.api-detail>header{flex-direction:column;align-items:flex-start}.event-flags{justify-content:flex-start}.java-correspondence{flex-direction:column;align-items:flex-start}.event-explanation,.property-summary{grid-template-columns:1fr}.event-explanation>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.compact-api-grid,.attribute-list{grid-template-columns:1fr}.compact-api-grid>div,.compact-api-grid>div:nth-child(odd),.compact-api-grid>div:nth-child(2n),.attribute-list>div,.attribute-list>div:nth-child(odd),.attribute-list>div:nth-child(2n){border-left:0;padding-left:0;padding-right:0}.compact-api-grid>div{grid-template-columns:1fr;gap:5px}.attribute-list>div{flex-direction:column;align-items:flex-start;gap:5px}.attribute-list span{text-align:left}.catalog-tabs{padding-bottom:2px}.member-list>div{grid-template-columns:1fr;gap:8px}.member-meta{flex-direction:row}footer{flex-direction:column;align-items:flex-start;gap:12px}footer p{margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.compatibility-contract{border:1px solid var(--line-strong);background:var(--paper)}.compatibility-flow{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.compatibility-flow>div{flex-direction:column;justify-content:center;gap:9px;min-width:0;min-height:142px;padding:26px;display:flex}.compatibility-flow>svg{color:var(--forest)}.compatibility-flow span,.compatibility-rules strong,.capability-details summary{color:var(--forest);font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:750}.compatibility-flow strong{font-size:clamp(1rem,1.5vw,1.25rem)}.compatibility-flow code{color:var(--muted);font-size:.78rem}.compatibility-rules{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.compatibility-rules>div{border-right:1px solid var(--line-strong);padding:24px 26px}.compatibility-rules>div:last-child{border-right:0}.compatibility-rules p{color:var(--muted);margin:12px 0 0;line-height:1.65}.compatibility-proof{padding:26px}.compatibility-totals{color:var(--muted);font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;flex-wrap:wrap;gap:10px 24px;margin-bottom:22px;font-size:.78rem;display:flex}.compatibility-totals strong{color:var(--ink)}.capability-details{border-top:1px solid var(--line-strong)}.capability-details summary{cursor:pointer;padding:20px 26px;list-style-position:inside}.capability-list{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.capability-list>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:14px;padding:14px 18px;font-size:.78rem;display:flex}.capability-list code{color:var(--ink)}@media (max-width:900px){.compatibility-flow{grid-template-columns:1fr}.compatibility-flow>div{border-bottom:1px solid var(--line);min-height:0;padding:22px}.compatibility-flow>svg{display:none}.compatibility-rules,.capability-list{grid-template-columns:1fr}.compatibility-rules>div{border-right:0;border-bottom:1px solid var(--line)}}.academy-section{width:calc(100% - 32px);max-width:none}.academy{border:1px solid var(--line-strong);background:var(--paper);margin-top:52px}.academy-intro{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:clamp(28px,4vw,64px);padding:clamp(28px,4vw,52px);display:grid}.academy-intro>div:first-child>span,.academy-kicker{color:var(--forest);font:700 .7rem/1.2 var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase}.academy-intro h3{letter-spacing:-.055em;max-width:920px;margin:18px 0 20px;font-size:clamp(2rem,3.4vw,3.8rem);font-weight:500;line-height:1.04}.academy-intro p{max-width:780px;color:var(--muted);margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}.academy-downloads{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.academy-downloads a{border:1px solid var(--line-strong);background:var(--soft);color:var(--ink);padding:10px 13px;font-size:.72rem;font-weight:650}.academy-downloads a:first-child{border-color:var(--forest);color:var(--forest)}.academy-downloads a:hover{border-color:var(--forest)}.academy-progress-card{border:1px solid var(--line-strong);background:var(--soft);grid-template-columns:34px 1fr;align-items:center;gap:4px 12px;padding:22px;display:grid}.academy-progress-card svg{color:var(--forest);grid-row:span 2}.academy-progress-card strong{font:650 1.5rem/1 var(--font-geist-mono), monospace}.academy-progress-card span{color:var(--muted);font-size:.78rem}.academy-progress-card>i{background:var(--line);grid-column:1/-1;height:3px;margin-top:14px;overflow:hidden}.academy-progress-card>i>span{transform-origin:0;background:var(--forest);width:100%;height:100%;transition:transform .26s;display:block}.academy-syllabus{border-bottom:1px solid var(--line-strong)}.academy-syllabus summary{cursor:pointer;color:var(--ink);justify-content:space-between;gap:20px;padding:18px clamp(24px,5vw,70px);font-weight:650;list-style:none;display:flex}.academy-syllabus summary::-webkit-details-marker{display:none}.academy-syllabus summary:before{content:"+";color:var(--forest);font:700 1rem var(--font-geist-mono), monospace}.academy-syllabus[open] summary:before{content:"−"}.academy-syllabus summary span{color:var(--faint);font:500 .72rem var(--font-geist-mono), monospace;margin-left:auto}.academy-syllabus>div{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.academy-syllabus article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px;padding:24px}.academy-syllabus article:nth-child(3n){border-right:0}.academy-syllabus article strong{font-size:.88rem}.academy-syllabus article p{color:var(--muted);margin:10px 0 0;font-size:.8rem;line-height:1.65}.academy-shell{grid-template-columns:300px minmax(0,1fr);min-width:0;display:grid}.academy-lessons{border-right:1px solid var(--line-strong);background:var(--canvas);align-self:start;height:calc(100vh - 68px);min-height:620px;position:sticky;top:68px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.academy-lessons{background:color-mix(in oklab, var(--canvas) 93%, transparent)}}.academy-search{border-bottom:1px solid var(--line);height:56px;color:var(--faint);align-items:center;gap:9px;padding:0 16px;display:flex}.academy-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.78rem}.academy-mobile-picker{display:none}.academy-lesson-scroll{overscroll-behavior:contain;scrollbar-color:var(--forest) transparent;scrollbar-width:thin;height:calc(100% - 56px);overflow-y:auto}.academy-lesson-scroll::-webkit-scrollbar-track{background:0 0}.academy-lesson-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border:0}.academy-track{padding:18px 10px 8px}.academy-track>span{color:var(--faint);font:700 .62rem var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;padding:0 8px 10px;display:block}.academy-track button{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:29px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:10px 8px;transition:color .15s,background .15s,border-color .15s;display:grid}.academy-track button:hover{color:var(--ink);background:var(--soft)}.academy-track button.is-active{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-track button.is-active{border-color:color-mix(in oklab, var(--forest) 50%, var(--line))}}.academy-track button.is-active{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-track button.is-active{background:color-mix(in oklab, var(--forest) 10%, var(--soft))}}.academy-track button.is-active{color:var(--ink)}.academy-track button small{color:var(--forest);font:650 .67rem var(--font-geist-mono), monospace}.academy-track button span{text-overflow:ellipsis;font-size:.76rem;font-weight:590;line-height:1.35;overflow:hidden}.academy-track button svg{color:var(--forest)}.academy-content{min-width:0;overflow:clip;container:academy-content/inline-size}.academy-article{animation:.28s both academy-reveal}@keyframes academy-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.academy-lesson-header{border-bottom:1px solid var(--line);padding:clamp(30px,4vw,56px)}.academy-lesson-header>div{flex-wrap:wrap;gap:8px;display:flex}.academy-lesson-header>div span,.academy-concepts span{border:1px solid var(--line-strong);color:var(--muted);font:600 .64rem var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;padding:6px 9px}.academy-lesson-header>div span:first-child{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-lesson-header>div span:first-child{border-color:color-mix(in oklab, var(--forest) 60%, var(--line))}}.academy-lesson-header>div span:first-child{color:var(--forest)}.academy-lesson-header h3{letter-spacing:-.06em;max-width:1100px;margin:26px 0 22px;font-size:clamp(2.1rem,3.8vw,4.2rem);font-weight:470;line-height:1.03}.academy-lesson-header p{max-width:900px;color:var(--muted);margin:0;font-size:clamp(1rem,1.55vw,1.25rem);line-height:1.75}.academy-concepts{border-bottom:1px solid var(--line);background:var(--soft);flex-wrap:wrap;gap:7px;padding:18px clamp(28px,6vw,84px);display:flex}.academy-concepts span{border-color:var(--line);background:var(--paper);color:var(--ink);text-transform:none}.academy-reading-grid{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);display:grid}.academy-reading-grid>div{padding:clamp(28px,5vw,66px)}.academy-reading-grid>div+div{border-left:1px solid var(--line-strong)}.academy-reading-grid ul{gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.academy-reading-grid li{color:var(--ink);padding-left:22px;line-height:1.55;position:relative}.academy-reading-grid li:before{background:var(--forest);content:"";width:7px;height:7px;position:absolute;top:.52em;left:0}.academy-reading-grid p{color:var(--muted);margin:22px 0 0;line-height:1.75}.academy-boundaries{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.academy-boundaries>div{border-right:1px solid var(--line);min-height:170px;padding:clamp(25px,4vw,46px)}.academy-boundaries>div:last-child{border-right:0}.academy-boundaries span{color:var(--forest);font:700 .62rem var(--font-geist-mono), monospace;letter-spacing:.13em}.academy-boundaries p{color:var(--muted);margin:18px 0 0;font-size:.9rem;line-height:1.72}.academy-workbench,.academy-api-lab{border:1px solid var(--line-strong);background:var(--canvas);box-shadow:none;margin:clamp(20px,3vw,48px)}.academy-workbench-toolbar{border-bottom:1px solid var(--line-strong);background:var(--soft);justify-content:space-between;align-items:stretch;min-width:0;display:flex}.academy-workbench>header,.academy-api-lab>header{border-bottom:1px solid var(--line-strong);background:var(--soft);justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 14px 10px 18px;display:flex}.academy-workbench>header>div:first-child,.academy-api-lab>header>div:first-child{color:var(--ink);font:600 .77rem var(--font-geist-mono), monospace;align-items:center;gap:9px;display:flex}.academy-workbench>header svg,.academy-api-lab>header svg{color:var(--forest)}.academy-workbench>header small{color:var(--faint);font:500 .65rem var(--font-geist-sans), sans-serif}.academy-run-actions{gap:7px;display:flex}.academy-workbench-toolbar .academy-run-actions{border-left:1px solid var(--line-strong);flex:none;align-items:center;padding:8px}.academy-run-actions button,.academy-api-grid button{border:1px solid var(--line-strong);background:var(--paper);min-height:34px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.7rem;font-weight:650;transition:background .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s;display:inline-flex}.academy-run-actions button:hover:not(:disabled),.academy-api-grid button:hover{border-color:var(--forest);color:var(--ink)}.academy-run-actions button.is-primary,.academy-api-grid button{border-color:var(--forest);background:var(--forest);color:#fff}.academy-run-actions button.is-primary:hover:not(:disabled){border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-run-actions button.is-primary:hover:not(:disabled){border-color:color-mix(in oklab, var(--forest) 78%, white)}}.academy-run-actions button.is-primary:hover:not(:disabled){background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-run-actions button.is-primary:hover:not(:disabled){background:color-mix(in oklab, var(--forest) 88%, white)}}.academy-run-actions button.is-primary:hover:not(:disabled){box-shadow:0 0 0 3px var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-run-actions button.is-primary:hover:not(:disabled){box-shadow:0 0 0 3px color-mix(in oklab, var(--forest) 16%, transparent)}}.academy-run-actions button.is-primary:hover:not(:disabled){color:#fff;transform:translateY(-1px)}.academy-run-actions button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.academy-run-actions button:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.academy-run-actions button:disabled{cursor:not-allowed;opacity:.4}.academy-file-tabs{border-bottom:1px solid var(--line-strong);scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.academy-workbench-toolbar .academy-file-tabs{border-bottom:0;flex:auto}.academy-file-tabs button{border:0;border-right:1px solid var(--line);min-height:42px;color:var(--faint);cursor:pointer;font:520 .7rem var(--font-geist-mono), monospace;background:0 0;flex:none;align-items:center;gap:8px;padding:0 15px;display:inline-flex}.academy-file-tabs button.is-active{background:var(--paper);color:var(--ink)}.academy-file-tabs i{background:var(--blue);width:7px;height:7px}.academy-file-tabs i.is-python{background:var(--python)}.academy-file-tabs i.is-shell{background:var(--muted)}.academy-workbench-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);min-height:0;display:grid}.academy-workbench-grid.is-source-only{grid-template-columns:1fr}.academy-workbench-grid.is-source-only .academy-editor{border-right:0}.academy-editor{border-right:1px solid var(--line-strong);background:var(--code);min-width:0}.academy-editor-meta,.academy-preview-meta{border-bottom:1px solid var(--line);color:#85958e;height:36px;font:550 .62rem var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.academy-editor-layer{height:var(--academy-editor-height,420px);position:relative;overflow:hidden}.academy-editor-layer pre,.academy-editor-layer textarea{white-space:pre;tab-size:2;width:100%;height:100%;font:500 .78rem/1.72 var(--font-geist-mono), "SFMono-Regular", monospace;border:0;outline:0;margin:0;padding:24px;position:absolute;inset:0;overflow:auto}.academy-editor-layer pre{pointer-events:none;background:var(--code);color:#dbe4df}.academy-editor-layer .shj-syn-cmnt{color:#64736c;font-style:italic}.academy-editor-layer .shj-syn-kwd,.academy-editor-layer .shj-syn-err{color:#82e89a}.academy-editor-layer .shj-syn-class,.academy-editor-layer .shj-syn-type{color:#76c9ed}.academy-editor-layer .shj-syn-str,.academy-editor-layer .shj-syn-insert{color:#e5c875}.academy-editor-layer .shj-syn-func,.academy-editor-layer .shj-syn-section{color:#c7a6ee}.academy-editor-layer .shj-syn-num,.academy-editor-layer .shj-syn-bool,.academy-editor-layer .shj-syn-var{color:#f39479}.academy-editor-layer .shj-syn-oper{color:#9fb2aa}.academy-editor-layer textarea{z-index:1;resize:none;caret-color:var(--forest);color:#0000;-webkit-text-fill-color:transparent;background:0 0}.academy-editor-layer textarea[readonly]{cursor:default}.academy-editor-layer textarea::selection{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-editor-layer textarea::selection{background:color-mix(in oklab, var(--forest) 30%, transparent)}}.academy-editor-note,.academy-api-lab>p{border-top:1px solid var(--line);color:var(--faint);margin:0;padding:12px 16px;font-size:.7rem;line-height:1.5}.academy-preview{background:var(--panel-2);min-width:0}.academy-preview-stage{min-height:var(--academy-editor-height,420px);flex-direction:column;justify-content:center;gap:12px;padding:24px;display:flex;position:relative;overflow:auto}.academy-preview-error{max-width:360px;color:var(--faint);text-align:center;flex-direction:column;align-self:center;align-items:center;gap:8px;display:flex}.academy-preview-error strong{color:var(--ink)}.academy-preview-error span{font-size:.78rem;line-height:1.5}.academy-preview-error{border:1px solid #ff6767;flex-direction:row;align-items:flex-start;padding:16px}@supports (color:color-mix(in lab, red, red)){.academy-preview-error{border:1px solid color-mix(in oklab, #ff6767 50%, var(--line))}}.academy-preview-error{background:#ff6767}@supports (color:color-mix(in lab, red, red)){.academy-preview-error{background:color-mix(in oklab, #ff6767 8%, var(--paper))}}.academy-preview-error{color:#ff8b8b;text-align:left}.academy-preview-error div{gap:5px;display:grid}.academy-sim-chat{border-left:2px solid var(--forest);background:var(--canvas);align-items:baseline;gap:8px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.academy-sim-chat{background:color-mix(in oklab, var(--canvas) 84%, transparent)}}.academy-sim-chat{color:var(--ink);font-size:.75rem}.academy-sim-chat>span{color:var(--forest);font-weight:700}.academy-sim-inventory{color:#202327;background:#c7c7c7;border:1px solid #343a40;align-self:center;width:min(100%,490px);padding:14px;box-shadow:0 14px 40px #0000004d}.academy-sim-inventory-title{font:650 .78rem var(--font-geist-mono), monospace;padding:0 2px 11px}.academy-sim-slots{grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(var(--academy-rows), 44px);gap:3px;display:grid}.academy-sim-slots:before{grid-column:1/-1;grid-row:1 / calc(var(--academy-rows) + 1);content:"";background-image:linear-gradient(#9a9da0 1px,#0000 1px),linear-gradient(90deg,#9a9da0 1px,#0000 1px);background-size:11.1111% 44px;border:1px solid #85898d}.academy-sim-item{z-index:1;color:#16191c;cursor:pointer;background:linear-gradient(135deg,#ffffffbd,#bcbfc0e0);border:1px solid #878b8f;place-content:center;min-width:0;display:grid;position:relative}.academy-sim-item:hover{z-index:4;outline:2px solid #f6f0d4;transform:translateY(-1px);box-shadow:inset 0 0 0 2px #ffffffa3,0 6px 16px #00000038}.academy-sim-item:after{z-index:10;color:#f7f3ff;content:attr(data-label);max-width:210px;font:600 .62rem/1.25 var(--font-geist-mono), monospace;opacity:0;pointer-events:none;white-space:nowrap;background:#110d19;border:2px solid #34235a;padding:6px 8px;transition:opacity .1s,transform .1s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,4px);box-shadow:inset 0 0 0 1px #734da0,4px 4px #00000052}.academy-sim-item:hover:after{opacity:1;transform:translate(-50%)}.academy-sim-item:focus-visible:after{opacity:1;transform:translate(-50%)}.academy-item-sprite{filter:drop-shadow(2px 2px #16191b4d);width:32px;height:32px;image-rendering:pixelated;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);display:grid}.academy-item-sprite i{min-width:0;min-height:0;box-shadow:inset -1px -1px #0000001f}.academy-sim-item small{font-size:.54rem;position:absolute;bottom:1px;right:2px}.academy-sim-scoreboard{border-right:3px solid var(--forest);color:#fff;width:min(250px,80%);font:550 .72rem/1.3 var(--font-geist-mono), monospace;background:#050708d1;align-self:flex-end;gap:6px;padding:14px;display:grid}.academy-sim-scoreboard>strong{color:var(--forest);font-size:.84rem}.academy-sim-line{color:#d6dbd8}.academy-sim-bossbar{color:#fff;background:#23192f;border:1px solid #704ea2;align-self:center;place-items:center;width:min(440px,90%);min-height:28px;font-size:.68rem;display:grid;position:relative;overflow:hidden}.academy-sim-bossbar>span{transform-origin:0;background:#7650ac;position:absolute;inset:0}.academy-sim-bossbar strong{z-index:1}.academy-sim-tab{border:1px solid var(--line-strong);color:#fff;text-align:center;background:#050708d6;align-self:center;gap:10px;width:min(360px,90%);padding:14px;display:grid}.academy-sim-tab strong{color:var(--forest)}.academy-sim-tab span{color:#abb4af;font-size:.68rem}.academy-sim-input{border:1px solid var(--line-strong);background:var(--paper);align-self:center;gap:9px;width:min(440px,100%);padding:14px;display:grid}.academy-sim-input label{color:var(--ink);font-size:.76rem;font-weight:650}.academy-sim-input>div{grid-template-columns:1fr auto;display:grid}.academy-sim-input input,.academy-sim-input button{border:1px solid var(--line-strong);background:var(--canvas);min-width:0;color:var(--ink)}.academy-sim-input input{padding:9px}.academy-sim-input button{color:var(--forest);cursor:pointer;border-left:0;padding:0 13px;font-weight:700}.academy-sim-input small{color:var(--faint);font-size:.62rem}.academy-api-grid{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);min-height:340px;display:grid}.academy-api-grid>div{flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:clamp(24px,4vw,44px);display:flex}.academy-api-grid>div+div{border-left:1px solid var(--line-strong);background:var(--soft)}.academy-api-grid label{color:var(--faint);font:600 .62rem var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.academy-request-endpoint{gap:6px;display:grid}.academy-request-endpoint>span{color:var(--faint);font:600 .62rem var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.academy-request-endpoint>strong{color:var(--ink);font:650 .8rem var(--font-geist-mono), monospace}.academy-request-endpoint code{color:var(--forest-dark)}.academy-api-grid textarea{resize:vertical;border:1px solid var(--line-strong);background:var(--paper);min-height:160px;caret-color:var(--forest);color:var(--ink);-webkit-text-fill-color:currentColor;font:500 .72rem/1.65 var(--font-geist-mono), monospace;outline:0;padding:14px}.academy-api-grid textarea:focus{border-color:var(--forest)}.academy-api-grid button{align-self:flex-start;min-height:38px}.academy-api-grid button:hover{border-color:var(--forest-dark);background:var(--forest-dark);color:#fff}.academy-pipeline{gap:0;display:grid}.academy-pipeline>div{min-height:40px;color:var(--faint);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;font-size:.72rem;display:grid;position:relative}.academy-pipeline>div>div{gap:2px;display:grid}.academy-pipeline>div small{color:var(--faint);font-size:.62rem;font-weight:450;line-height:1.45}.academy-pipeline>div:not(:last-child):after{background:var(--line-strong);content:"";width:1px;position:absolute;top:29px;bottom:-11px;left:13px}.academy-pipeline>div>span{z-index:1;border:1px solid var(--line-strong);background:var(--paper);width:27px;height:27px;font:600 .62rem var(--font-geist-mono), monospace;place-items:center;display:grid}.academy-pipeline>div.is-active,.academy-pipeline>div.is-done{color:var(--ink)}.academy-pipeline>div.is-active>span{border-color:var(--forest);box-shadow:0 0 0 4px var(--forest)}@supports (color:color-mix(in lab, red, red)){.academy-pipeline>div.is-active>span{box-shadow:0 0 0 4px color-mix(in oklab, var(--forest) 12%, transparent)}}.academy-pipeline>div.is-active>span{color:var(--forest)}.academy-pipeline>div.is-done>span{border-color:var(--forest);background:var(--forest);color:#fff}.academy-pipeline>div.is-error{color:var(--ink)}.academy-pipeline>div.is-error>span{color:#fff;background:#c53f3f;border-color:#c53f3f}.academy-api-grid output{border-left:2px solid var(--line-strong);background:var(--paper);color:var(--muted);font:600 .72rem var(--font-geist-mono), monospace;padding:11px 13px}.academy-api-grid output.is-success{border-color:var(--forest);color:var(--forest)}.academy-api-grid output.is-error{color:#c53f3f;border-color:#c53f3f}@supports (color:color-mix(in lab, red, red)){.academy-api-grid output.is-error{color:color-mix(in oklab, #c53f3f 72%, var(--ink))}}.academy-challenge{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:linear-gradient(120deg, var(--forest), transparent 35%), var(--soft);grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:clamp(25px,5vw,70px);padding:clamp(34px,6vw,78px);display:grid}@supports (color:color-mix(in lab, red, red)){.academy-challenge{background:linear-gradient(120deg, color-mix(in oklab, var(--forest) 12%, transparent), transparent 35%), var(--soft)}}.academy-challenge>div{align-content:start;gap:8px;display:grid}.academy-challenge>div svg,.academy-challenge>div span{color:var(--forest)}.academy-challenge>div span{font:650 .68rem var(--font-geist-mono), monospace;text-transform:uppercase}.academy-challenge h4{letter-spacing:-.035em;max-width:580px;margin:10px 0 0;font-size:clamp(1.4rem,2.6vw,2.5rem);font-weight:520;line-height:1.12}.academy-challenge ol{color:var(--muted);gap:13px;margin:0;padding-left:22px;line-height:1.58;display:grid}.academy-challenge>p{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;align-items:flex-start;gap:10px;margin:0;padding-top:22px;line-height:1.6;display:flex}.academy-challenge>p svg,.academy-challenge>p strong{color:var(--forest);flex:none}.academy-pitfalls{border-bottom:1px solid var(--line);padding:clamp(30px,5vw,62px)}.academy-pitfalls>div{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.academy-pitfalls>div span{border:1px solid var(--line);background:var(--soft);color:var(--muted);align-items:center;gap:7px;padding:8px 10px;font-size:.73rem;display:inline-flex}.academy-pitfalls svg{color:#ff8b8b}.academy-lesson-footer{grid-template-columns:repeat(3,minmax(132px,180px));justify-content:center;gap:12px;padding:24px 20px;display:grid}.academy-lesson-footer button{border:1px solid var(--line-strong);background:var(--soft);min-height:42px;color:var(--muted);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;font-size:.75rem;font-weight:650;display:inline-flex}.academy-lesson-footer button:hover:not(:disabled){border-color:var(--forest);color:var(--ink)}.academy-lesson-footer button.is-complete{border-color:var(--forest);color:var(--forest);padding-inline:20px}.academy-lesson-footer button:disabled{cursor:not-allowed;opacity:.35}@container academy-content (width<=980px){.academy-workbench-grid,.academy-api-grid{grid-template-columns:1fr}.academy-editor{border-right:0;border-bottom:1px solid var(--line-strong)}.academy-api-grid>div+div{border-top:1px solid var(--line-strong);border-left:0}}@media (max-width:1180px){.academy-shell{grid-template-columns:250px minmax(0,1fr)}.academy-workbench-grid,.academy-api-grid{grid-template-columns:1fr}.academy-editor{border-right:0;border-bottom:1px solid var(--line-strong)}.academy-api-grid>div+div{border-top:1px solid var(--line-strong);border-left:0}}@media (max-width:900px){.academy-intro{grid-template-columns:1fr}.academy-progress-card{max-width:360px}.academy-syllabus>div{grid-template-columns:repeat(2,1fr)}.academy-syllabus article:nth-child(3n){border-right:1px solid var(--line)}.academy-syllabus article:nth-child(2n){border-right:0}.academy-shell{display:block}.academy-lessons{border-right:0;border-bottom:1px solid var(--line-strong);height:auto;min-height:0;position:static}.academy-search,.academy-lesson-scroll{display:none}.academy-mobile-picker{grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.academy-mobile-picker label{color:var(--faint);font:650 .65rem var(--font-geist-mono), monospace;text-transform:uppercase}.academy-mobile-picker select{border:1px solid var(--line-strong);background:var(--soft);width:100%;min-width:0;color:var(--ink);padding:10px}.academy-reading-grid,.academy-boundaries,.academy-challenge{grid-template-columns:1fr}.academy-reading-grid>div+div{border-top:1px solid var(--line-strong);border-left:0}.academy-boundaries>div{border-right:0;border-bottom:1px solid var(--line);min-height:0}.academy-boundaries>div:last-child{border-bottom:0}.academy-challenge>p{grid-column:1}}@media (max-width:620px){.academy-intro,.academy-lesson-header,.academy-reading-grid>div,.academy-challenge,.academy-pitfalls{padding:26px 20px}.academy-concepts{padding:14px 20px}.academy-syllabus>div{grid-template-columns:1fr}.academy-syllabus article,.academy-syllabus article:nth-child(3n){border-right:0}.academy-workbench,.academy-api-lab{margin:20px 10px}.academy-workbench-toolbar{flex-wrap:wrap}.academy-workbench-toolbar .academy-file-tabs{border-bottom:1px solid var(--line-strong);flex-basis:100%}.academy-workbench-toolbar .academy-run-actions{border-left:0;justify-content:flex-end;width:100%}.academy-workbench>header{align-items:flex-start}.academy-workbench>header>div:first-child{flex-wrap:wrap}.academy-workbench>header small{width:100%;padding-left:26px}.academy-run-actions button{padding-inline:9px}.academy-editor-layer{height:min(var(--academy-editor-height,420px), 430px)}.academy-editor-layer pre,.academy-editor-layer textarea{padding:16px;font-size:.7rem}.academy-preview-stage{min-height:min(var(--academy-editor-height,420px), 430px);padding:14px}.academy-sim-slots{grid-template-rows:repeat(var(--academy-rows), 36px)}.academy-api-grid>div{padding:22px 16px}.academy-lesson-footer{grid-template-columns:1fr 1fr}.academy-lesson-footer button.is-complete{grid-area:1/1/auto/-1}}@media (prefers-reduced-motion:reduce){.academy-article{animation:none}.academy-progress-card>i>span,.academy-track button,.academy-sim-item{transition:none}}.stack-pattern-lab{margin:0 0 34px}.pattern-lab-heading{grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);align-items:end;gap:28px;margin-bottom:14px;display:grid}.pattern-lab-heading span,.pattern-reading>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin-bottom:7px;font-size:9px;font-weight:700;display:block}.pattern-lab-heading h3{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(20px,2.6vw,30px);font-weight:620}.pattern-lab-heading>p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.pattern-lab-shell{border:1px solid var(--line-strong);background:var(--paper);border-radius:2px;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);min-height:700px;display:grid;overflow:hidden}.pattern-index{border-right:1px solid var(--line-strong);background:var(--canvas);scrollbar-color:var(--line-strong) var(--canvas);scrollbar-width:thin;max-height:820px;overflow-y:auto}.pattern-index::-webkit-scrollbar{width:8px}.pattern-index::-webkit-scrollbar-track{background:var(--canvas)}.pattern-index::-webkit-scrollbar-thumb{border:2px solid var(--canvas);background:var(--line-strong);border-radius:999px}.pattern-index>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:94px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;grid-template-columns:28px minmax(0,1fr) 14px;align-items:start;gap:11px;padding:17px 15px;transition:background .15s,color .15s,box-shadow .15s;display:grid}:is(.pattern-index>button:hover,.pattern-index>button:focus-visible){background:var(--soft);color:var(--ink)}.pattern-index>button.is-selected{background:var(--panel-2);color:var(--ink);box-shadow:inset 2px 0 0 var(--forest)}.pattern-index>button>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:700}.pattern-index strong,.pattern-index small{display:block}.pattern-index strong{color:inherit;font-size:11px;line-height:1.35}.pattern-index small{color:var(--faint);margin-top:7px;font-size:8px;line-height:1.45}.pattern-index svg{color:var(--faint);margin-top:1px;transition:transform .15s,color .15s}.pattern-index>button.is-selected svg{color:var(--forest);transform:translate(2px)}.pattern-detail{min-width:0;padding:clamp(22px,3vw,38px);animation:.18s both pattern-enter}.pattern-detail>header{border-bottom:1px solid var(--line);padding-bottom:22px}.pattern-kicker{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;display:flex}.pattern-kicker span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:700}.pattern-detail h4{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(25px,3.5vw,42px);font-weight:520;line-height:1.02}.pattern-detail>header p{max-width:740px;color:var(--muted);margin:13px 0 0;font-size:11px;line-height:1.65}.pattern-pair{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:13px;padding:18px 0;display:grid}.pattern-pair>div{min-width:0}.pattern-pair span{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;margin-bottom:4px;font-size:8px;display:block}.pattern-pair strong{color:var(--ink);font-size:10px;line-height:1.45;display:block}.pattern-pair svg{color:var(--forest)}.pattern-flow{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;padding:0;list-style:none;display:grid}.pattern-flow li{min-width:0;padding:16px 10px 16px 0}.pattern-flow li+li{border-left:1px solid var(--line);padding-left:10px}.pattern-flow span{border:1px solid var(--line-strong);width:19px;height:19px;color:var(--forest);font-family:var(--font-geist-mono), monospace;place-items:center;margin-bottom:7px;font-size:8px;display:grid}.pattern-flow p{color:var(--muted);margin:0;font-size:8px;line-height:1.5}.pattern-code-tabs{gap:4px;margin-bottom:8px;display:flex}.pattern-code-tabs button{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;padding:0 11px;font-size:8px;font-weight:700}:is(.pattern-code-tabs button:hover,.pattern-code-tabs button:focus-visible,.pattern-code-tabs button.is-active){border-color:var(--forest);background:var(--forest)}@supports (color:color-mix(in lab, red, red)){:is(.pattern-code-tabs button:hover,.pattern-code-tabs button:focus-visible,.pattern-code-tabs button.is-active){background:color-mix(in oklab, var(--forest) 8%, var(--paper))}}:is(.pattern-code-tabs button:hover,.pattern-code-tabs button:focus-visible,.pattern-code-tabs button.is-active){color:var(--forest)}.pattern-detail .code-block pre{max-height:420px}.pattern-avoid{border-left:2px solid var(--yellow);background:var(--yellow);grid-template-columns:auto minmax(0,1fr);gap:13px;margin-top:12px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.pattern-avoid{background:color-mix(in oklab, var(--yellow) 6%, var(--paper))}}.pattern-avoid strong{color:var(--yellow);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:8px}.pattern-avoid p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.pattern-reading{border-bottom:1px solid var(--line);grid-template-columns:230px minmax(0,1fr);gap:18px;margin-top:12px;padding:14px 0;display:grid}.pattern-reading>div{flex-wrap:wrap;gap:6px;display:flex}.pattern-reading a{border:1px solid var(--line);color:var(--muted);border-radius:2px;align-items:center;gap:5px;padding:7px 9px;font-size:8px;display:inline-flex}:is(.pattern-reading a:hover,.pattern-reading a:focus-visible){border-color:var(--forest);color:var(--forest)}@keyframes pattern-enter{0%{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:960px){.pattern-lab-heading,.pattern-reading{grid-template-columns:1fr;gap:12px}.pattern-lab-shell{grid-template-columns:1fr}.pattern-index{border-right:0;border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;display:grid}.pattern-index>button:nth-child(odd){border-right:1px solid var(--line)}}@media (max-width:620px){.pattern-index{grid-template-columns:1fr}.pattern-index>button:nth-child(odd){border-right:0}.pattern-detail{padding:20px 14px}.pattern-pair{grid-template-columns:1fr}.pattern-pair>svg{transform:rotate(90deg)}.pattern-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-flow li:nth-child(3){border-left:0}.pattern-flow li:nth-child(-n+2){border-bottom:1px solid var(--line)}.pattern-avoid{grid-template-columns:1fr;gap:5px}}@media (prefers-reduced-motion:reduce){.pattern-detail{animation:none!important}}.stack-studio{margin:0 0 48px}.studio-intro{grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);align-items:end;gap:34px;margin-bottom:17px;display:grid}.studio-intro span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:8px;font-size:9px;font-weight:600;display:block}.studio-intro h3{max-width:620px;color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(28px,4vw,48px);font-weight:520;line-height:1.02}.studio-intro>p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.studio-coursebar{border:1px solid var(--line-strong);background:var(--paper);border-bottom:0;grid-template-columns:auto minmax(90px,1fr) minmax(260px,390px);align-items:center;gap:18px;min-height:52px;padding:8px 11px 8px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.studio-coursebar{background:color-mix(in oklab, var(--paper) 86%, var(--canvas))}}.studio-course-position{white-space:nowrap;align-items:baseline;gap:10px;display:flex}.studio-course-position span,.studio-lesson-picker>span{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;font-size:7px;font-weight:600}.studio-course-position strong{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:650}.studio-course-meter{background:var(--line);border-radius:999px;height:2px;overflow:hidden}.studio-course-meter i{border-radius:inherit;background:var(--forest);transform-origin:0;width:100%;height:100%;transition:transform .24s;display:block}.studio-lesson-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.studio-lesson-picker select{border:1px solid var(--line);background:var(--canvas);width:100%;min-width:0;height:34px;color:var(--muted);cursor:pointer;text-overflow:ellipsis;border-radius:2px;outline:0;padding:0 9px;font-size:8px;font-weight:560;transition:border-color .15s,color .15s,background .15s;overflow:hidden}:is(.studio-lesson-picker select:hover,.studio-lesson-picker select:focus-visible){border-color:var(--forest);background:var(--paper);color:var(--ink)}.studio-stage{border:1px solid var(--line-strong);background:var(--paper);border-top:0;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:675px;animation:.21s both studio-stage-enter;display:grid;overflow:hidden}.studio-ide{border-right:1px solid var(--line-strong);background:#080b0d;grid-template-rows:39px minmax(0,1fr);min-width:0;display:grid}.studio-titlebar{color:#8f9aa2;font-family:var(--font-geist-mono), monospace;background:#101419;border-bottom:1px solid #242b31;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;padding:0 13px;display:grid}.studio-titlebar strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;overflow:hidden}.studio-titlebar>span{color:var(--forest);letter-spacing:.1em;font-size:7px}.studio-window-dots{gap:6px;display:flex}.studio-window-dots i{background:#ff6259;border-radius:50%;width:8px;height:8px}.studio-window-dots i:nth-child(2){background:#ffbd2e}.studio-window-dots i:nth-child(3){background:#28c840}.studio-workbench{grid-template-columns:176px minmax(0,1fr);min-height:0;display:grid}.studio-files{scrollbar-color:#39434b #0c1013;background:#0c1013;border-right:1px solid #242b31;min-width:0;padding:15px 0 20px;overflow-y:auto}.studio-files>div+div{margin-top:16px}.studio-files>div>span{color:#58636b;font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;margin:0 11px 6px;font-size:7px;font-weight:600;display:block}.studio-files button{color:#87929a;cursor:pointer;width:100%;min-height:27px;font-family:var(--font-geist-mono), monospace;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:7px;padding:0 10px 0 14px;font-size:8px;display:flex;overflow:hidden}:is(.studio-files button:hover,.studio-files button:focus-visible){color:#d7ded9;background:#151b20}.studio-files button.is-active{border-left-color:var(--forest);color:#edf3ed;background:#182018}.studio-files i,.studio-editor-tab>i{background:#65a5ff;border-radius:1px;flex:none;width:7px;height:7px}.studio-files i.is-python,.studio-editor-tab>i.is-python{background:var(--python)}.studio-files i.is-shell,.studio-editor-tab>i.is-shell{background:#73d891}.studio-editor{grid-template-rows:39px minmax(0,1fr) 25px;min-width:0;min-height:0;display:grid}.studio-editor-tab{color:#aab4ba;min-width:0;font-family:var(--font-geist-mono), monospace;background:#0c1013;border-bottom:1px solid #242b31;align-items:center;gap:8px;padding:0 12px;font-size:8px;display:flex}.studio-editor-tab>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.studio-editor-tab .copy-button{color:#8f9aa2;margin-left:auto}.studio-code-scroll{scrollbar-color:#39434b #080b0d;background:linear-gradient(90deg,#0000 0 47px,#ffffff06 47px 48px,#0000 48px),#080b0d;min-height:0;padding:18px 0 28px;overflow:auto}.studio-code-lines{counter-reset:studio-line;width:100%;min-width:max-content;font-family:var(--font-geist-mono), monospace;tab-size:2;font-size:10px;line-height:1.78}.studio-code-lines>div{opacity:0;border-left:2px solid #0000;grid-template-columns:47px minmax(520px,1fr);min-height:18px;padding-right:24px;display:grid;transform:translateY(3px)}.studio-code-lines>div.is-visible{opacity:1;transition:opacity .14s,transform .14s,background .14s;transform:translateY(0)}.studio-code-lines>div.is-visible.is-focused{border-left-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.studio-code-lines>div.is-visible.is-focused{border-left-color:color-mix(in oklab, var(--forest) 75%, transparent)}}.studio-code-lines>div.is-visible.is-focused{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.studio-code-lines>div.is-visible.is-focused{background:color-mix(in oklab, var(--forest) 7%, transparent)}}.studio-code-lines>div>span{color:#46515a;text-align:right;-webkit-user-select:none;user-select:none;padding-right:12px;font-size:8px}.studio-code-lines code,.studio-code-lines code[class*=shj-lang-]{color:#d8ded9;width:max-content;min-width:100%;font:inherit;white-space:pre;background:0 0;padding-left:13px}.studio-statusbar{color:#647078;font-family:var(--font-geist-mono), monospace;white-space:nowrap;background:#101419;border-top:1px solid #242b31;align-items:center;gap:15px;padding:0 11px;font-size:7px;display:flex;overflow:hidden}.studio-statusbar span:first-child{color:var(--forest)}.studio-statusbar span:last-child{margin-left:auto}.studio-explanation{background:radial-gradient(circle at 100% 0, var(--forest), transparent 36%), var(--paper);flex-direction:column;min-width:0;display:flex}@supports (color:color-mix(in lab, red, red)){.studio-explanation{background:radial-gradient(circle at 100% 0, color-mix(in oklab, var(--forest) 8%, transparent), transparent 36%), var(--paper)}}.studio-explanation>header{border-bottom:1px solid var(--line);padding:clamp(24px,3vw,36px)}.studio-explanation>header>div{justify-content:space-between;gap:10px;margin-bottom:15px;display:flex}.studio-explanation>header span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:600}.studio-explanation h4{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(24px,2.6vw,36px);font-weight:520;line-height:1.04}.studio-explanation>header p{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.68}.studio-reasoning{flex:1}.studio-reasoning section{border-bottom:1px solid var(--line);padding:18px clamp(24px,3vw,36px)}.studio-reasoning section.is-web-compare{background:var(--blue)}@supports (color:color-mix(in lab, red, red)){.studio-reasoning section.is-web-compare{background:color-mix(in oklab, var(--blue) 5%, var(--paper))}}.studio-reasoning span,.studio-memory>span{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:7px;font-size:7px;font-weight:600;display:block}.studio-reasoning section.is-web-compare span{color:var(--blue)}.studio-reasoning p{color:var(--muted);margin:0;font-size:9px;line-height:1.62}.studio-memory{border:1px solid var(--forest);margin:18px clamp(24px,3vw,36px) 24px;padding:14px}@supports (color:color-mix(in lab, red, red)){.studio-memory{border:1px solid color-mix(in oklab, var(--forest) 38%, var(--line))}}.studio-memory{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.studio-memory{background:color-mix(in oklab, var(--forest) 7%, var(--paper))}}.studio-memory>span{color:var(--forest)}.studio-memory strong{color:var(--ink);font-size:10px;font-weight:600;line-height:1.55;display:block}.studio-controls{border:1px solid var(--line-strong);background:var(--canvas);border-top:0;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:60px;padding:11px 14px 10px;display:grid;position:relative;overflow:hidden}.studio-controls>div:nth-child(2){gap:5px;display:flex}.studio-controls button{border:1px solid var(--line-strong);background:var(--paper);min-height:33px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:8px;font-weight:650;display:inline-flex}:is(.studio-controls button:hover:not(:disabled),.studio-controls button:focus-visible:not(:disabled)){border-color:var(--forest);color:var(--forest)}.studio-controls button:disabled{cursor:not-allowed;opacity:.35}.studio-controls button.studio-play{border-color:var(--forest);min-width:82px;color:var(--forest)}.studio-controls>p{color:var(--faint);grid-area:1/1;margin:0;font-size:8px}.studio-autoplay-progress{z-index:1;background:var(--line);height:2px;position:absolute;top:0;left:0;right:0;overflow:hidden}.studio-autoplay-progress i{background:var(--forest);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.studio-autoplay-progress i.is-running{animation:30s linear forwards studio-autoplay}@keyframes studio-stage-enter{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes studio-autoplay{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:1050px){.studio-stage{grid-template-columns:1fr}.studio-ide{border-right:0;border-bottom:1px solid var(--line-strong);min-height:620px}.studio-explanation{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}.studio-explanation>header{border-right:1px solid var(--line)}.studio-reasoning{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.studio-reasoning section{border-right:1px solid var(--line);padding:20px}.studio-reasoning section:last-child{border-right:0}.studio-memory{grid-column:1/-1}}@media (max-width:760px){.studio-intro{grid-template-columns:1fr;gap:14px}.studio-coursebar{grid-template-columns:auto minmax(0,1fr);gap:9px 14px;padding:10px}.studio-course-meter{grid-area:2/1/auto/-1}.studio-lesson-picker{justify-self:stretch}.studio-ide{min-height:540px}.studio-titlebar{grid-template-columns:60px minmax(0,1fr) auto}.studio-workbench{grid-template-columns:1fr}.studio-files{display:none}.studio-code-lines{font-size:9px}.studio-code-lines>div{grid-template-columns:38px minmax(480px,1fr)}.studio-code-lines>div>span{padding-right:8px}.studio-code-lines code,.studio-code-lines code[class*=shj-lang-]{padding-left:10px}.studio-explanation{grid-template-columns:1fr}.studio-explanation>header{border-right:0}.studio-reasoning{grid-template-columns:1fr}.studio-reasoning section{border-right:0}.studio-memory{grid-column:auto}.studio-controls{grid-template-columns:1fr;justify-items:center;padding:14px 8px 12px}.studio-controls>p{display:none}}@media (prefers-reduced-motion:reduce){.studio-stage,.studio-code-lines>div.is-visible,.studio-autoplay-progress i.is-running,.studio-course-meter i{transition:none!important;animation:none!important}.studio-autoplay-progress{display:none}}body{background:var(--canvas);color:var(--ink);font-weight:400}::selection{background:var(--forest);color:var(--canvas)}:focus-visible{outline-color:var(--forest)}.topbar{border-bottom-color:var(--line);background:var(--canvas);gap:clamp(14px,2vw,28px);height:64px;padding:0 clamp(16px,3vw,36px)}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in oklab, var(--canvas) 86%, transparent)}}.topbar{color:var(--ink)}.brand{gap:10px}.brand>span:last-child{display:inline-flex}.brand strong{letter-spacing:-.03em;font-size:19px;font-weight:700}.brand-mark{border:1px solid var(--blue);width:26px;height:26px;position:relative}@supports (color:color-mix(in lab, red, red)){.brand-mark{border:1px solid color-mix(in oklab, var(--blue) 55%, transparent)}}.brand-mark{color:var(--forest);isolation:isolate;background:0 0;border-radius:0;font-size:15px;font-weight:900}.brand-logo{object-fit:cover;border-radius:7px;flex:0 0 36px;width:36px;height:36px;display:block}.brand-mark:after{z-index:-1;border:1px solid var(--blue);position:absolute;inset:6px -6px -6px 6px}@supports (color:color-mix(in lab, red, red)){.brand-mark:after{border:1px solid color-mix(in oklab, var(--blue) 82%, transparent)}}.brand-mark:after{content:""}.docs-badge{border:1px solid var(--line-strong);color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;margin-left:4px;padding:3px 8px;font-size:10px;font-weight:500;line-height:1}.topnav{color:var(--muted);gap:clamp(12px,1.5vw,20px);margin-left:auto;font-size:13px;font-weight:400}:is(.topnav a:hover,.topnav a:focus-visible){color:var(--ink)}.search-button{border-color:var(--line-strong);background:var(--paper);width:min(244px,22vw);height:34px;color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:2px;margin-left:4px}.search-button:hover{border-color:var(--forest);background:var(--soft)}.search-button kbd{border-color:var(--line-strong);background:var(--canvas);color:var(--muted);border-radius:2px}.theme-button,.menu-button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;flex:none;place-items:center}.theme-button{display:grid}.theme-button:hover,.menu-button:hover{border-color:var(--forest);color:var(--ink)}.docs-meta-bar{z-index:70;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:64px}@supports (color:color-mix(in lab, red, red)){.docs-meta-bar{background:color-mix(in oklab, var(--paper) 94%, transparent)}}.docs-meta-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.docs-meta-bar>div{align-items:center;gap:12px 18px;width:min(1920px,100%);min-height:41px;margin:0 auto;padding:7px clamp(16px,3vw,36px);display:flex}.docs-meta-bar>div>span:first-child{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;font-size:10px}.global-language-tabs{border:1px solid var(--line);background:var(--line);border-radius:2px;gap:1px;display:flex}.global-language-tabs button{background:var(--paper);min-width:42px;min-height:25px;color:var(--muted);cursor:pointer;font-family:var(--font-geist-mono), monospace;border:0;padding:0 10px;font-size:10px}.global-language-tabs button.is-active{background:var(--forest);color:var(--canvas)}.catalog-count{color:var(--faint);font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:10px}.docs-layout{grid-template-columns:240px minmax(0,1fr);width:min(1920px,100%)}.sidebar{border-right-color:var(--line);background:var(--paper);scrollbar-color:var(--line-strong) var(--paper);height:calc(100vh - 105px);padding:28px 20px 44px;top:105px}.nav-group+.nav-group{margin-top:24px}.nav-group>span{color:var(--faint);letter-spacing:.2em;margin:0 0 10px;padding-left:12px;font-size:9px;font-weight:500}.nav-group a{color:var(--muted);border-left:2px solid #0000;border-radius:0;margin:0;padding:7px 12px;font-size:13px;font-weight:400}:is(.nav-group a:hover,.nav-group a:focus-visible){border-left-color:var(--forest);background:var(--soft);color:var(--ink);transform:none}.hero{border-bottom:1px solid var(--line);background:var(--canvas);min-height:auto;color:var(--ink);grid-template-columns:minmax(0,1fr);padding:clamp(52px,5vw,76px) clamp(28px,5vw,72px)}.hero-kicker{color:var(--forest);letter-spacing:.14em;margin-bottom:16px;font-size:10px;font-weight:600}.hero h1{letter-spacing:-.048em;max-width:900px;font-size:clamp(40px,4.2vw,64px);font-weight:500;line-height:1.03}.hero-copy>p{max-width:640px;color:var(--muted);margin-top:20px;font-size:clamp(15px,1.2vw,17px);line-height:1.62}.hero-actions{margin-top:26px}.primary-button,.secondary-button{border-radius:2px;min-height:42px;font-weight:500}.primary-button{border:1px solid var(--forest);background:var(--forest);color:var(--canvas)}.secondary-button{border-color:var(--line-strong);background:var(--paper);color:var(--ink)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.secondary-button:hover{border-color:var(--forest);background:var(--soft)}.coverage-line{color:var(--faint);margin-top:24px}.coverage-line strong{color:var(--ink)}.code-block{border-color:var(--line-strong);background:var(--code);box-shadow:none;border-radius:2px}.code-toolbar,.code-helper-note{border-color:var(--line);color:var(--faint)}.code-block pre,.code-block pre code,.code-block pre code[class*=shj-lang-]{color:#d8ded9}.doc-section{border-bottom-color:var(--line);width:min(1140px,100% - 72px);padding:68px 0}.learn-section,.react-ui-section,.board-section{width:min(1160px,100% - 64px)}.api-reference-section{width:min(1220px,100% - 48px)}.intro-section{padding-top:68px}.section-heading{max-width:850px;margin-bottom:32px}.section-heading>span,.catalog-intro>span,.board-flow span,.board-code-heading>span,.board-code-heading>div>span,.board-explanation span,.stack-flow span,.stack-boundary span,.autonomy-grid span,.surface-reference header>span,.stack-install>div>span{color:var(--forest);letter-spacing:.16em;font-weight:600}.section-heading h2{letter-spacing:-.045em;font-size:clamp(32px,3.4vw,48px);font-weight:400;line-height:1.08}.section-heading p,.body-copy{color:var(--muted);line-height:1.68}.doc-section.academy-section{width:calc(100% - 32px);max-width:none}.section-heading code,.body-copy code,.plain-callout code,.simple-steps code,.keyword-grid code,.api-import code,.compact-api-grid code,.attribute-list code,.board-explanation code,.board-code-heading code,.react-truth code,.stack-boundary code,.autonomy-grid code,.surface-reference code,.request-flow code,.stack-install code{color:var(--forest)}.decision-list,.simple-steps,.event-mental-model,.request-flow,.board-explanation,.faq-list,.member-list,.compact-api-grid,.attribute-list{border-color:var(--line)}.simple-steps li>span,.event-mental-model>div>span,.request-flow span{background:var(--soft);color:var(--forest);border-radius:2px}.language-tabs,.stack-code-tabs{border-color:var(--line);background:var(--line);border-radius:2px;gap:1px;padding:1px}.language-tabs button,.stack-code-tabs button{background:var(--paper);color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:1px;font-weight:500}.language-tabs button.is-active,.stack-code-tabs button.is-active,.language-tabs.has-java button:last-child.is-active{background:var(--forest);color:var(--canvas);box-shadow:none}.language-tabs.has-java button:last-child{color:var(--java)}.runtime-boundary,.language-recipes,.event-browser,.api-browser,.board-flow,.board-control-list,.react-truth,.stack-flow,.autonomy-grid,.surface-reference,.surface-reference>div,.search-dialog{border-color:var(--line-strong);background:var(--paper);border-radius:2px}.keyword-grid,.board-safety-strip{background:var(--paper);border-radius:2px}.dom-note,.guide-note{border-color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.dom-note,.guide-note{border-color:color-mix(in oklab, var(--yellow) 46%, var(--line))}}.dom-note,.guide-note{background:var(--yellow);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.dom-note,.guide-note{background:color-mix(in oklab, var(--yellow) 7%, var(--paper))}}.dom-note,.guide-note{color:var(--muted)}.dom-note p,.dom-note code,.guide-note,.note-line.warning{color:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.dom-note p,.dom-note code,.guide-note,.note-line.warning{color:color-mix(in oklab, var(--yellow) 72%, var(--ink))}}.event-browser-toolbar,.api-browser-toolbar{background:var(--soft)}.inline-search{border-color:var(--line-strong);background:var(--paper);border-radius:2px}.inline-search:focus-within{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest)}@supports (color:color-mix(in lab, red, red)){.inline-search:focus-within{box-shadow:0 0 0 2px color-mix(in oklab, var(--forest) 16%, transparent)}}.inline-search input,.search-dialog input{color:var(--ink);background:0 0}.event-category-strip button,.catalog-tabs button,.member-filter button{border-color:var(--line-strong);background:var(--paper);color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:2px;font-weight:500}.event-category-strip button.is-active,.catalog-tabs button.is-active,.member-filter button.is-active{border-color:var(--forest);background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.event-category-strip button.is-active,.catalog-tabs button.is-active,.member-filter button.is-active{background:color-mix(in oklab, var(--forest) 8%, var(--paper))}}.event-category-strip button.is-active,.catalog-tabs button.is-active,.member-filter button.is-active{color:var(--forest)}.event-index,.api-index{background:var(--paper);scrollbar-color:var(--line-strong) var(--paper)}.event-index::-webkit-scrollbar-track{background:var(--paper)}.api-index::-webkit-scrollbar-track{background:var(--paper)}.event-index::-webkit-scrollbar-thumb{border-color:var(--paper);background:var(--line-strong)}.api-index::-webkit-scrollbar-thumb{border-color:var(--paper);background:var(--line-strong)}.event-index strong,.api-index code{color:var(--ink)}.event-index>button:hover,.api-index>button:hover{background:var(--soft)}.event-index>button.is-selected,.api-index>button.is-selected{background:var(--panel-2);box-shadow:inset 2px 0 0 var(--forest)}.event-detail-heading>div:first-child>span,.api-detail>header>div>span,.event-mental-model>div>span,.runtime-boundary span,.learning-toolbar>div>span,.official-reading>span,.member-meta strong{color:var(--forest)}.event-flags span,.event-properties code,.member-signatures code{background:var(--soft);color:var(--muted);border-radius:2px}.event-flags span.is-cancellable{background:var(--yellow)}@supports (color:color-mix(in lab, red, red)){.event-flags span.is-cancellable{background:color-mix(in oklab, var(--yellow) 11%, var(--paper))}}.event-flags span.is-cancellable{color:var(--yellow)}.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{border-color:var(--java)}@supports (color:color-mix(in lab, red, red)){.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{border-color:color-mix(in oklab, var(--java) 40%, var(--line))}}.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{background:var(--java);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{background:color-mix(in oklab, var(--java) 7%, var(--paper))}}.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{color:var(--java)}@supports (color:color-mix(in lab, red, red)){.event-flags span.is-java-map,.member-signatures code.is-java-signature,.java-correspondence{color:color-mix(in oklab, var(--java) 78%, var(--ink))}}.event-properties b{background:var(--forest);border-radius:1px}@supports (color:color-mix(in lab, red, red)){.event-properties b{background:color-mix(in oklab, var(--forest) 24%, var(--paper))}}.event-properties b{color:var(--forest)}.java-correspondence span,.java-correspondence code,.java-correspondence button{color:var(--java)}@supports (color:color-mix(in lab, red, red)){.java-correspondence span,.java-correspondence code,.java-correspondence button{color:color-mix(in oklab, var(--java) 78%, var(--ink))}}.member-signatures code.is-primary{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.member-signatures code.is-primary{background:color-mix(in oklab, var(--forest) 8%, var(--paper))}}.member-signatures code.is-primary{color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.member-signatures code.is-primary{color:color-mix(in oklab, var(--forest) 64%, var(--ink))}}.api-detail h3 code{color:var(--ink)}.board-live-demo,.stack-boundary{border-color:var(--line-strong);background:var(--paper);box-shadow:none;color:var(--ink);border-radius:2px}.board-live-demo header,.stack-boundary>div+div,.stack-boundary>p{border-color:var(--line)}.board-live-demo header span,.board-live-demo label,.stack-boundary p,.stack-boundary>p{color:var(--muted)}.board-live-demo input,.board-live-demo select,.board-demo-actions button{border-color:var(--line-strong);background:var(--soft);color:var(--ink);border-radius:2px}.board-live-demo output{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.board-live-demo output{border-color:color-mix(in oklab, var(--forest) 30%, var(--line))}}.board-live-demo output{background:var(--forest);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.board-live-demo output{background:color-mix(in oklab, var(--forest) 7%, var(--paper))}}.board-live-demo output{color:var(--forest)}.react-truth{color:var(--forest);background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.react-truth{background:color-mix(in oklab, var(--forest) 6%, var(--paper))}}.autonomy-grid article:last-child{background:var(--forest)}@supports (color:color-mix(in lab, red, red)){.autonomy-grid article:last-child{background:color-mix(in oklab, var(--forest) 6%, var(--paper))}}.stack-links a{border-color:var(--line-strong);background:var(--paper);color:var(--forest);border-radius:2px}:is(.stack-links a:hover,.stack-links a:focus-visible){border-color:var(--forest);background:var(--soft)}.search-overlay{background:var(--canvas)}@supports (color:color-mix(in lab, red, red)){.search-overlay{background:color-mix(in oklab, var(--canvas) 72%, transparent)}}.search-dialog>label button,.sidebar-mobile-head button{background:var(--soft);color:var(--ink);border-radius:2px}footer{border-top:0}@media (max-width:1180px){.sidebar{background:var(--paper);height:100vh;top:0;box-shadow:20px 0 60px #00000052}}@media (max-width:960px){.hero{grid-template-columns:1fr}}@media (max-width:760px){.topbar{height:62px}.docs-badge,.catalog-count,.docs-meta-bar>div>span:first-child{display:none}.docs-meta-bar{top:62px}.docs-meta-bar>div{justify-content:center;min-height:39px;padding:6px 12px}.global-language-tabs{width:100%}.global-language-tabs button{flex:1}.hero{padding:42px 20px 48px}.hero h1{font-size:clamp(34px,9vw,46px);line-height:1.06}.hero-copy>p{margin-top:18px;font-size:15px}.hero-actions{margin-top:22px}.doc-section{width:calc(100% - 36px);padding:54px 0}.doc-section.academy-section{width:calc(100% - 20px)}.section-heading h2{font-size:32px}}@media (prefers-reduced-motion:reduce){.hero-copy,.event-detail,.api-detail{animation:none!important}}.conformance-downloads{flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:1rem;display:flex}body{background:var(--canvas)}.topbar{border-bottom-color:var(--line);background:var(--paper);height:72px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding-inline:clamp(18px,3.2vw,52px)}.brand-mark{border:1px solid var(--forest);background:var(--paper);width:34px;height:34px;box-shadow:none;color:var(--forest);border-radius:6px}.brand-mark:after{display:none}.docs-badge,.search-button,.theme-button,.menu-button,.global-language-tabs,.global-language-tabs button{border-radius:5px}.docs-badge{background:0 0}.search-button,.theme-button,.menu-button{background:var(--paper)}.docs-meta-bar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;top:72px}.global-language-tabs{border-color:var(--line);background:var(--soft);gap:3px;padding:3px}.global-language-tabs button{background:0 0}.global-language-tabs button.is-active{background:var(--forest);box-shadow:none}.docs-layout{grid-template-columns:258px minmax(0,1fr)}.sidebar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;height:calc(100vh - 113px);padding:32px 22px 48px;top:113px}.nav-group a{border-left:0;border-radius:9px;margin-block:2px;padding:8px 12px}:is(.nav-group a:hover,.nav-group a:focus-visible){background:var(--forest);border-left-color:#0000}@supports (color:color-mix(in lab, red, red)){:is(.nav-group a:hover,.nav-group a:focus-visible){background:color-mix(in oklab, var(--forest) 9%, var(--soft))}}:is(.nav-group a:hover,.nav-group a:focus-visible){color:var(--forest)}@supports (color:color-mix(in lab, red, red)){:is(.nav-group a:hover,.nav-group a:focus-visible){color:color-mix(in oklab, var(--forest) 62%, var(--ink))}}main{background:0 0}.hero{isolation:isolate;background:var(--canvas);grid-template-columns:minmax(0,1fr);align-items:center;gap:50px;min-height:auto;padding:clamp(68px,7vw,104px) clamp(36px,6vw,96px) clamp(54px,6vw,82px);position:relative;overflow:hidden}.hero:before{display:none}.hero-copy{max-width:780px}.hero-kicker{background:0 0;border:0;padding:0;display:block}.hero-kicker:before{display:none}.hero h1{letter-spacing:-.05em;max-width:920px;margin-top:18px;font-size:clamp(42px,4.4vw,68px);font-weight:520;line-height:1.02}.primary-button,.secondary-button{border-radius:6px;min-height:44px}.primary-button{border-color:var(--forest);background:var(--forest);box-shadow:none}.secondary-button{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.coverage-line{gap:10px 22px}.coverage-line span{border-right:1px solid var(--line);padding-right:22px}.coverage-line span:last-child{border-right:0;padding-right:0}.hero-facts{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.hero-facts div{min-width:0;padding:18px 22px 20px 0}.hero-facts div+div{border-left:1px solid var(--line);padding-left:22px}.hero-facts dt{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:9px}.hero-facts dd{color:var(--ink);margin:9px 0 0;font-size:14px;line-height:1.45}.runtime-map-head,.runtime-core,.runtime-languages,.runtime-versions{align-items:center;display:flex}.runtime-map-head{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:10px}.runtime-map-head strong{color:var(--mint);font-weight:500}.runtime-languages,.runtime-versions{flex-wrap:wrap;gap:8px;margin-top:22px}.runtime-languages span,.runtime-versions span{border:1px solid var(--line);background:var(--soft);border-radius:9px;flex:auto;padding:9px 10px}@supports (color:color-mix(in lab, red, red)){.runtime-languages span,.runtime-versions span{background:color-mix(in oklab, var(--soft) 74%, transparent)}}.runtime-languages span,.runtime-versions span{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-align:center;font-size:10px}.runtime-core{border:1px solid var(--forest);gap:14px;margin-top:16px;padding:18px}@supports (color:color-mix(in lab, red, red)){.runtime-core{border:1px solid color-mix(in oklab, var(--forest) 30%, var(--line))}}.runtime-core{background:var(--forest);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.runtime-core{background:color-mix(in oklab, var(--forest) 8%, var(--paper))}}.runtime-core>span{background:var(--forest);width:42px;height:42px;color:var(--canvas);font-family:var(--font-geist-mono), monospace;border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.runtime-core div{gap:3px;display:grid}.runtime-core strong{font-size:16px}.runtime-core small{color:var(--faint);font-family:var(--font-geist-mono), monospace;font-size:10px}.runtime-core i{color:var(--mint);font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:24px;font-style:normal}.hero-runtime-map>p{color:var(--muted);margin:18px 2px 0;font-size:12px;line-height:1.6}.doc-section{width:min(1180px,100% - 84px);padding-block:82px}.section-heading{margin-bottom:38px}.section-heading h2{letter-spacing:-.052em;font-size:clamp(36px,3.8vw,56px)}.prerequisite-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.prerequisite-grid article{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:0;padding:clamp(22px,3vw,32px);transition:border-color .18s}.prerequisite-grid article:hover{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.prerequisite-grid article:hover{border-color:color-mix(in oklab, var(--forest) 46%, var(--line))}}.prerequisite-grid article:hover{transform:none}.prerequisite-grid article>span{color:var(--mint);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.prerequisite-grid h3{letter-spacing:-.025em;margin:13px 0 16px;font-size:21px;font-weight:500}.prerequisite-grid ul{color:var(--muted);gap:10px;margin:0;padding-left:18px;font-size:14px;line-height:1.55;display:grid}.prerequisite-grid code,.prerequisite-install code{color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.prerequisite-grid code,.prerequisite-install code{color:color-mix(in oklab, var(--forest) 72%, var(--ink))}}.prerequisite-install{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.prerequisite-install{background:color-mix(in oklab, var(--paper) 88%, transparent)}}.prerequisite-install>div{grid-template-columns:auto 1fr;gap:12px;padding:22px;display:grid}.prerequisite-install>div+div{border-left:1px solid var(--line)}.prerequisite-install span{background:var(--forest);border-radius:9px;place-items:center;width:28px;height:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.prerequisite-install span{background:color-mix(in oklab, var(--forest) 13%, var(--soft))}}.prerequisite-install span{color:var(--forest);font-family:var(--font-geist-mono), monospace;font-size:11px}.prerequisite-install p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.55}.runtime-config-card{border:1px solid var(--forest);grid-template-columns:minmax(0,.78fr) minmax(460px,1.22fr);align-items:center;gap:32px;margin-top:18px;padding:clamp(24px,3.4vw,40px);display:grid}@supports (color:color-mix(in lab, red, red)){.runtime-config-card{border:1px solid color-mix(in oklab, var(--forest) 32%, var(--line))}}.runtime-config-card{background:var(--paper);border-radius:8px}.runtime-config-card h3{letter-spacing:-.035em;margin:12px 0 14px;font-size:clamp(22px,2.2vw,30px);font-weight:520}.runtime-config-card p,.runtime-config-card ul{color:var(--muted);font-size:14px;line-height:1.65}.runtime-config-card ul{gap:8px;margin:18px 0 0;padding-left:18px;display:grid}.runtime-config-card>.code-block{min-width:0;box-shadow:none;margin:0}.code-block,.event-browser,.api-browser,.board-live-demo,.stack-boundary,.studio-shell{box-shadow:none;border-radius:8px}.language-tabs,.stack-code-tabs{border-radius:6px}.language-tabs button,.stack-code-tabs button,.event-category-strip button,.catalog-tabs button,.member-filter button,.event-flags span,.event-properties code,.member-signatures code{border-radius:5px}@keyframes graaly-map-enter{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:1180px){.sidebar{height:100vh;top:0}.hero{grid-template-columns:minmax(0,1fr);gap:42px}}@media (max-width:960px){.hero{grid-template-columns:1fr;min-height:auto}.hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-facts div:nth-child(3){border-left:0;padding-left:0}.hero-facts div:nth-child(n+3){border-top:1px solid var(--line)}.prerequisite-install{grid-template-columns:1fr}.prerequisite-install>div+div{border-top:1px solid var(--line);border-left:0}.runtime-config-card{grid-template-columns:1fr}}@media (max-width:760px){.topbar{height:64px}.docs-meta-bar{top:64px}.hero{padding:54px 20px 62px}.hero h1{font-size:clamp(40px,12vw,58px)}.hero-facts{grid-template-columns:1fr}.hero-facts div,.hero-facts div+div,.hero-facts div:nth-child(3){border-top:1px solid var(--line);border-left:0;padding:15px 0}.hero-facts div:first-child{border-top:0}.prerequisite-grid{grid-template-columns:1fr}.runtime-config-card{padding:20px}.doc-section{width:calc(100% - 36px);padding-block:62px}.coverage-line span{border-right:0;padding-right:0}}@media (prefers-reduced-motion:reduce){.prerequisite-grid article{transition:none!important;animation:none!important}}.hero[hidden],.doc-section[hidden]{display:none}.availability-note{border-left:3px solid var(--forest);max-width:720px;color:var(--muted);margin:0;padding:16px 0 16px 18px;line-height:1.6}.availability-note strong{color:var(--ink)}.section-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(1060px,100% - 80px);margin:0 auto;padding:34px 0 74px;display:grid}.section-pager a{border:1px solid var(--line);background:var(--paper);flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:92px;padding:18px 20px;transition:border-color .15s,background .15s;display:flex}:is(.section-pager a:hover,.section-pager a:focus-visible){border-color:var(--forest);background:var(--soft)}.section-pager a>span{color:var(--faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;font-size:10px;display:inline-flex}.section-pager a>strong{color:var(--ink);font-size:15px;font-weight:600}.section-pager .is-next{text-align:right;align-items:flex-end}.academy-lessons{height:calc(100vh - 113px);top:113px}.academy-lesson-scroll{scrollbar-color:var(--line-strong) var(--paper)}.academy-lesson-scroll::-webkit-scrollbar{width:9px}.academy-lesson-scroll::-webkit-scrollbar-track{border-left:1px solid var(--line);background:var(--paper)}.academy-lesson-scroll::-webkit-scrollbar-thumb{border:2px solid var(--paper);background:var(--line-strong);background-clip:padding-box;border-radius:999px}:root:not([data-theme=dark]) .code-block,:root:not([data-theme=dark]) .academy-editor,:root:not([data-theme=dark]) .academy-editor-layer pre,:root:not([data-theme=dark]) .studio-ide,:root:not([data-theme=dark]) .studio-code-scroll{background:var(--code);color:#292630}:root:not([data-theme=dark]) .code-toolbar,:root:not([data-theme=dark]) .academy-editor-meta,:root:not([data-theme=dark]) .studio-titlebar,:root:not([data-theme=dark]) .studio-editor-tab,:root:not([data-theme=dark]) .studio-statusbar{border-color:var(--line);background:var(--soft);color:var(--muted)}:root:not([data-theme=dark]) .studio-files{border-color:var(--line);background:var(--panel-2);scrollbar-color:var(--line-strong) var(--panel-2)}:root:not([data-theme=dark]) .studio-files button{color:var(--muted)}:is(:root:not([data-theme=dark]) .studio-files button:hover,:root:not([data-theme=dark]) .studio-files button:focus-visible,:root:not([data-theme=dark]) .studio-files button.is-active){background:var(--soft);color:var(--ink)}:root:not([data-theme=dark]) .studio-code-scroll{background:linear-gradient(90deg, transparent 0, transparent 47px, var(--line) 47px, var(--line) 48px, transparent 48px), var(--code);scrollbar-color:var(--line-strong) var(--code)}:root:not([data-theme=dark]) .studio-code-lines>div>span{color:var(--faint)}:root:not([data-theme=dark]) .code-block pre,:root:not([data-theme=dark]) .code-block pre code,:root:not([data-theme=dark]) .code-block pre code[class*=shj-lang-],:root:not([data-theme=dark]) .academy-editor-layer pre,:root:not([data-theme=dark]) .studio-code-lines code,:root:not([data-theme=dark]) .studio-code-lines code[class*=shj-lang-]{color:#292630}:root:not([data-theme=dark]) .code-block .shj-syn-cmnt,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-cmnt,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-cmnt{color:#77717e}:root:not([data-theme=dark]) .code-block .shj-syn-kwd,:root:not([data-theme=dark]) .code-block .shj-syn-err,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-kwd,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-err,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-kwd,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-err{color:#9c2f61}:root:not([data-theme=dark]) .code-block .shj-syn-class,:root:not([data-theme=dark]) .code-block .shj-syn-type,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-class,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-type,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-class,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-type{color:#21668b}:root:not([data-theme=dark]) .code-block .shj-syn-str,:root:not([data-theme=dark]) .code-block .shj-syn-insert,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-str,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-insert,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-str,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-insert{color:#2f714d}:root:not([data-theme=dark]) .code-block .shj-syn-func,:root:not([data-theme=dark]) .code-block .shj-syn-section,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-func,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-section,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-func,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-section{color:#654ab0}:root:not([data-theme=dark]) .code-block .shj-syn-num,:root:not([data-theme=dark]) .code-block .shj-syn-bool,:root:not([data-theme=dark]) .code-block .shj-syn-var,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-num,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-bool,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-var,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-num,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-bool,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-var{color:#a05b1d}:root:not([data-theme=dark]) .code-block .shj-syn-oper,:root:not([data-theme=dark]) .academy-editor-layer .shj-syn-oper,:root:not([data-theme=dark]) .studio-code-lines .shj-syn-oper{color:#476a73}:root:not([data-theme=dark]) .code-helper-note{border-color:var(--line);background:var(--soft);color:var(--muted)}:root:not([data-theme=dark]) .copy-button:hover{background:var(--soft);color:var(--ink)}.quickstart-install-guide{margin-bottom:54px}.quickstart-guide-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);align-items:start;gap:28px;padding:22px 0;display:grid}.quickstart-guide-heading>span,.quickstart-verification>span,.quickstart-load-rule>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;font-size:9px;font-weight:650}.quickstart-guide-heading h3{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:600}.quickstart-guide-heading p{max-width:740px;color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.65}.quickstart-guide-heading code,.quickstart-path code,.quickstart-verification code,.quickstart-load-rule code{color:var(--forest)}.quickstart-language-heading{margin-bottom:18px}.quickstart-path{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;padding:0;list-style:none;display:grid}.quickstart-path.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.quickstart-path li{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:20px 18px 20px 0;display:grid}.quickstart-path li+li{border-left:1px solid var(--line);padding-left:18px}.quickstart-path li>span{color:var(--forest);font-family:var(--font-geist-mono), monospace;font-size:9px;line-height:1.45}.quickstart-path strong{font-size:12px;display:block}.quickstart-path p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.55}.quickstart-install-code,.quickstart-command-grid{margin-bottom:14px}.quickstart-verification,.quickstart-load-rule{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:28px;margin-top:14px;padding:18px 0;display:grid}.quickstart-verification code{overflow-wrap:anywhere;color:var(--ink);font-size:10px;display:block}.quickstart-verification p,.quickstart-load-rule p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.6}.quickstart-deploy-guide{margin-top:44px}.quickstart-deploy-guide>.code-block{margin-top:14px}.quickstart-load-rule{margin-top:18px}.quickstart-deploy-guide .note-line.warning{margin-top:14px}@media (max-width:960px){.academy-lessons{height:auto;top:auto}}@media (max-width:760px){.quickstart-guide-heading,.quickstart-verification,.quickstart-load-rule{grid-template-columns:1fr;gap:9px}.quickstart-path,.quickstart-path.is-three{grid-template-columns:1fr}.quickstart-path li,.quickstart-path li+li{border-left:0;padding:16px 0}.quickstart-path li+li{border-top:1px solid var(--line)}.section-pager{grid-template-columns:1fr;width:calc(100% - 36px);padding-bottom:54px}.section-pager>span[aria-hidden=true]{display:none}.section-pager .is-next{text-align:left;align-items:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
