@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-cyrillic-ext-wght-normal.CVcCQn0y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-cyrillic-wght-normal.BJ-nQEdz.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-greek-wght-normal.DeN4rzfy.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-vietnamese-wght-normal.AVFfiTln.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-latin-ext-wght-normal.gysdOMcS.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/roboto-flex-latin-wght-normal.n-dP9qr2.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-base-100: oklch(100% 0 0);--color-base-200: oklch(98% 0 0);--color-base-300: oklch(95% 0 0);--color-base-content: oklch(21% .006 285.885);--color-primary: oklch(45% .24 277.023);--color-primary-content: oklch(93% .034 272.788);--color-secondary: oklch(65% .241 354.308);--color-secondary-content: oklch(94% .028 342.258);--color-accent: oklch(77% .152 181.912);--color-accent-content: oklch(38% .063 188.416);--color-neutral: oklch(14% .005 285.823);--color-neutral-content: oklch(92% .004 286.32);--color-info: oklch(74% .16 232.661);--color-info-content: oklch(29% .066 243.157);--color-success: oklch(76% .177 163.223);--color-success-content: oklch(37% .077 168.94);--color-warning: oklch(82% .189 84.429);--color-warning-content: oklch(41% .112 45.904);--color-error: oklch(71% .194 13.428);--color-error-content: oklch(27% .105 12.094);--radius-selector: .5rem;--radius-field: .25rem;--radius-box: .5rem;--border: 1px;color-scheme:light;--text-wght: 400}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-base-100: oklch(25.33% .016 252.42);--color-base-200: oklch(23.26% .014 253.1);--color-base-300: oklch(21.15% .012 254.09);--color-base-content: oklch(97.807% .029 256.847);--color-primary: oklch(58% .233 277.117);--color-primary-content: oklch(96% .018 272.314);color-scheme:dark;--text-wght: 370}}:root[data-theme=dark]{--color-base-100: oklch(25.33% .016 252.42);--color-base-200: oklch(23.26% .014 253.1);--color-base-300: oklch(21.15% .012 254.09);--color-base-content: oklch(97.807% .029 256.847);--color-primary: oklch(58% .233 277.117);--color-primary-content: oklch(96% .018 272.314);color-scheme:dark;--text-wght: 370}:root{--display: "Figtree Variable", system-ui, sans-serif;--sans: "Roboto Flex Variable", system-ui, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, monospace;--shell: 1320px;--measure: 74ch;--page: var(--color-base-200);--bg: var(--color-base-100);--sunk: color-mix(in oklab, var(--color-base-200) 55%, var(--color-base-100));--panel: var(--color-base-200);--panel-2: var(--color-base-300);--fg: var(--color-base-content);--muted: color-mix(in oklab, var(--color-base-content) 72%, var(--color-base-100));--faint: color-mix(in oklab, var(--color-base-content) 52%, var(--color-base-100));--line: var(--color-base-300);--line-strong: color-mix(in oklab, var(--color-base-content) 20%, var(--color-base-100));--accent: var(--color-primary);--on-accent: var(--color-primary-content);--accent-soft: color-mix(in oklab, var(--color-primary) 12%, var(--color-base-100));--accent-soft-hover: color-mix(in oklab, var(--color-primary) 20%, var(--color-base-100));--accent-line: color-mix(in oklab, var(--color-primary) 35%, var(--color-base-100));--tint-accent: color-mix(in oklab, var(--color-accent) 15%, var(--color-base-100));--ink-accent: color-mix(in oklab, var(--color-accent) 60%, var(--color-base-content));--tint-secondary: color-mix(in oklab, var(--color-secondary) 13%, var(--color-base-100));--ink-secondary: color-mix(in oklab, var(--color-secondary) 65%, var(--color-base-content));--ok: var(--color-success);--on-ok: var(--color-success-content);--r: var(--radius-box);--r-lg: calc(var(--radius-box) * 2);--r-field: var(--radius-field);--r-sel: var(--radius-selector)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--page);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appbar{position:sticky;top:0;z-index:40;background:var(--page);border-bottom:var(--border) solid var(--line);display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r-field);background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--panel-2);color:var(--fg)}.icon-btn svg{width:20px;height:20px;fill:currentColor}.icon-btn .sun{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme]) .icon-btn .sun{display:block}:root:not([data-theme]) .icon-btn .moon{display:none}}:root[data-theme=dark] .icon-btn .sun{display:block}:root[data-theme=dark] .icon-btn .moon{display:none}.shell{max-width:var(--shell);margin:0 auto;padding:8px 24px 96px;display:grid;grid-template-columns:296px minmax(0,1fr);gap:24px;align-items:start}.shell.is-single{grid-template-columns:minmax(0,1fr);max-width:900px}.crumbs{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 4px 14px;font-size:13px;color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.crumbs span{color:var(--faint)}.col{display:grid;gap:20px;min-width:0}.sheet,.hero{background:var(--bg);border:var(--border) solid var(--line);border-radius:var(--r-lg);min-width:0}.sheet{padding:38px 46px 42px}.hero{padding:30px 46px 28px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.hero h1{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.16;text-wrap:balance}.hero .lede{color:var(--muted);font-size:16.5px;line-height:1.6;margin-top:12px;max-width:62ch}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.hero .chips:last-child{margin-bottom:4px}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-sel);border:var(--border) solid var(--line-strong);font-size:12.5px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}.chip.is-primary{border-color:transparent;background:var(--accent-soft);color:var(--accent);font-weight:600}.chip.is-secondary{border-color:transparent;background:var(--tint-secondary);color:var(--ink-secondary);font-weight:600}.chip.is-accent{border-color:transparent;background:var(--tint-accent);color:var(--ink-accent);font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 20px;border:var(--border) solid var(--accent);border-radius:var(--r-field);background:var(--accent);color:var(--on-accent);font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{background:color-mix(in oklab,var(--accent) 88%,var(--color-base-content));border-color:color-mix(in oklab,var(--accent) 88%,var(--color-base-content))}.btn.is-soft{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.btn.is-soft:hover{background:var(--accent-soft-hover);border-color:transparent}.btn.is-outline{background:transparent;border-color:var(--line-strong);color:var(--fg)}.btn.is-outline:hover{background:var(--panel);border-color:var(--accent)}.btn svg{fill:currentColor;flex:none}.rail{position:sticky;top:80px;background:var(--bg);border:var(--border) solid var(--line);border-radius:var(--r-lg);padding:22px 12px 14px}.rail h2{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.35;margin:0 12px 4px}.rail h2 a{text-decoration:none}.rail h2 a:hover{color:var(--accent)}.rail-meta{margin:0 12px 12px;font-size:12.5px;color:var(--muted)}.track{margin:0 12px 18px;height:8px;border-radius:var(--r-sel);background:var(--panel-2);overflow:hidden}.track i{display:block;height:100%;border-radius:var(--r-sel);background:var(--accent)}.mod{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:var(--r-field);text-decoration:none;color:var(--fg);font-size:14px;line-height:1.4}.mod:hover{background:var(--panel)}.mod[aria-current=page]{background:var(--accent);color:var(--on-accent);font-weight:600}.tick{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;font-size:11px;color:transparent}.mod.is-done .tick{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}.mod[aria-current=page] .tick{border-color:color-mix(in oklab,var(--on-accent) 60%,transparent)}.rail hr{border:0;border-top:var(--border) solid var(--line);margin:14px 12px}.rail .sub{display:block;padding:9px 14px;border-radius:var(--r-field);font-size:14px;color:var(--muted);text-decoration:none}.rail .sub:hover{background:var(--panel);color:var(--fg)}.prose>:first-child{margin-top:0}.prose h1{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.18;text-wrap:balance}.prose h2{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin:40px 0 12px}.prose h3{font-family:var(--display);font-size:17px;font-weight:600;margin:28px 0 6px}.prose p,.prose li{font-size:16px;font-weight:var(--text-wght);line-height:1.68;color:var(--muted);max-width:var(--measure);text-wrap:pretty}.prose p{margin:16px 0}.prose ul,.prose ol{margin:14px 0 14px 22px}.prose li{margin:6px 0}.prose a{color:var(--accent);font-weight:500;text-decoration:none}.prose a:hover{text-decoration:underline;text-underline-offset:2px}.prose strong{color:var(--fg);font-weight:600}.prose code{font-family:var(--mono);font-size:.86em;background:var(--panel-2);border-radius:var(--r-field);padding:2px 6px;color:var(--fg)}.prose pre{background:var(--panel);border:var(--border) solid var(--line);border-radius:var(--r);padding:18px 20px;overflow-x:auto;margin:18px 0}.prose pre code{background:none;padding:0}.prose table{border-collapse:collapse;margin:24px 0;font-size:14.5px;width:100%;display:block;overflow-x:auto}.prose thead th{text-align:left;font-family:var(--display);font-size:13.5px;font-weight:700;color:var(--fg);border-bottom:var(--border) solid var(--line-strong);padding:0 18px 8px 0;white-space:nowrap}.prose tbody td{padding:10px 18px 10px 0;border-bottom:var(--border) solid var(--line);vertical-align:top;line-height:1.55;color:var(--muted);font-weight:var(--text-wght)}.prose tbody tr:last-child td{border-bottom:none}.prose tbody td:first-child{color:var(--fg);font-weight:600;padding-right:24px}.prose thead th[style*=center],.prose tbody td[style*=center]{padding-left:10px;padding-right:10px;width:1%}.prose abbr[title]{text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--line-strong);cursor:help}.section-h{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin:0}.section-note{font-size:13.5px;color:var(--muted);margin:4px 0 20px}.scenario{border:0;border-left:3px solid var(--color-accent);border-radius:var(--r);background:var(--tint-accent);padding:18px 22px;margin:24px 0}.scenario .tag{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-accent);margin-bottom:6px}.scenario p{font-size:15.5px;line-height:1.65;color:var(--fg);max-width:var(--measure)}.terms{border:var(--border) solid var(--line);border-radius:var(--r);background:var(--sunk);padding:6px 22px 10px;margin:24px 0}.terms dt{font-family:var(--display);font-size:15px;font-weight:700;color:var(--fg);padding:16px 0 4px}.terms dd{padding:0 0 16px;font-size:15px;color:var(--muted);border-bottom:var(--border) solid var(--line)}.terms dd:last-child{border-bottom:0}.qz{border:var(--border) solid var(--line);background:var(--sunk);border-radius:var(--r);padding:20px 22px;margin:12px 0}.qz-q{font-family:var(--display);font-size:15.5px;font-weight:600;color:var(--fg);display:flex;gap:10px;align-items:center}.qz-n{flex:none;width:24px;height:24px;border-radius:var(--r-sel);background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700;display:grid;place-items:center}.qz-opts{display:grid;gap:8px;margin-top:14px}.qz-opt{text-align:left;font:inherit;font-size:14.5px;font-weight:500;padding:11px 16px;border:var(--border) solid var(--line-strong);border-radius:var(--r-field);background:var(--bg);color:var(--fg);cursor:pointer;transition:background .12s,border-color .12s}.qz-opt:hover:not(:disabled){background:var(--panel);border-color:var(--accent)}.qz-opt:disabled{cursor:default}.qz-opt.correct{background:var(--ok);border-color:var(--ok);color:var(--on-ok);font-weight:700}.qz-opt.correct:before{content:"✓ "}.qz-opt.wrong{background:var(--panel);border-color:var(--line);color:var(--faint);text-decoration:line-through}.qz-opt.wrong:before{content:"✗ ";text-decoration:none}.qz-exp{display:none;margin-top:12px;padding-top:12px;border-top:var(--border) solid var(--line);font-size:14px;color:var(--muted)}.qz.answered .qz-exp{display:block}.anki .head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.anki .dl{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:14px;font-weight:600;text-decoration:none;border:var(--border) solid transparent;border-radius:var(--r-field);background:var(--accent-soft);color:var(--accent);height:38px;padding:0 18px}.anki .dl:hover{background:var(--accent-soft-hover)}.cards{border:var(--border) solid var(--line);border-radius:var(--r);overflow:hidden}.card{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--border) solid var(--line)}.card:last-child{border-bottom:0}.card .q,.card .a{padding:14px 18px;font-size:14px;line-height:1.5}.card .q{font-weight:600;color:var(--fg);background:var(--sunk);border-right:var(--border) solid var(--line)}.card .a{color:var(--muted)}.lesson-nav{display:flex;justify-content:space-between;gap:12px}.lesson-nav a{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-field);padding:12px 20px;max-width:46%;text-decoration:none}.lesson-nav a:hover{background:var(--accent-soft-hover)}.lesson-nav a.next{text-align:right;margin-left:auto}.lesson-nav .dir{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.lesson-nav .t{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:-.01em;margin-top:2px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.course-card{display:flex;flex-direction:column;gap:10px;background:var(--bg);border:var(--border) solid var(--line);border-radius:var(--r-lg);padding:24px 26px 26px;text-decoration:none;color:inherit;transition:border-color .12s,background .12s}.course-card:hover{border-color:var(--accent)}.course-card h3{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.course-card p{font-size:14.5px;color:var(--muted);line-height:1.6;flex:1}.course-card .chips{margin:4px 0 0}.stat-row{display:flex;gap:10px;flex-wrap:wrap}.stat{flex:1;min-width:130px;background:var(--bg);border:var(--border) solid var(--line);border-radius:var(--r);padding:16px 18px}.stat .n{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat .k{font-size:12.5px;color:var(--muted);margin-top:2px}.resource{border-bottom:var(--border) solid var(--line);padding:16px 0}.resource:last-child{border-bottom:0}.resource a,.resource strong{font-family:var(--display);font-size:16px;font-weight:700;color:var(--fg);text-decoration:none}.resource a:hover{color:var(--accent);text-decoration:underline}.resource p{color:var(--muted);font-size:14px;line-height:1.6;margin-top:4px;max-width:var(--measure)}.empty{color:var(--faint);font-size:15px}footer.site{border-top:var(--border) solid var(--line);background:var(--page);padding:26px 24px}footer.site .inner{max-width:var(--shell);margin:0 auto;display:flex;flex-wrap:wrap;gap:20px;align-items:center;font-size:13px;color:var(--faint)}footer.site a{color:var(--faint);text-decoration:none}footer.site a:hover{color:var(--accent)}@media(max-width:1000px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:static}.sheet,.hero{padding:26px 22px 30px}.card{grid-template-columns:1fr}.card .q{border-right:0;border-bottom:var(--border) solid var(--line)}.lesson-nav{flex-direction:column}.lesson-nav a{max-width:none}.lesson-nav a.next{text-align:left}}.diagram{margin:26px 0}.diagram figcaption{font-size:13px;color:var(--faint);text-align:center;margin-top:12px;line-height:1.5;max-width:42em;margin-inline:auto}.diagram.graph{margin:30px 0}.graph-shell{position:relative;border:var(--border) solid var(--line);border-radius:var(--r);background:var(--sunk);overflow:hidden}.diagram.graph:fullscreen{margin:0;padding:20px;background:var(--page);display:flex;flex-direction:column}.diagram.graph:fullscreen .graph-shell{height:auto!important;flex:1;min-height:0}.graph-static{position:absolute;inset:0;display:grid;place-items:center;overflow:auto;padding:12px}.graph-static svg{max-width:100%;height:auto}.graph-shell:has(.react-flow) .graph-static{display:none}.graph-static--wide{place-items:center start}.graph-static--wide svg{max-width:none}.gnode,.graph-static svg text{font-family:var(--sans);font-size:14px;font-weight:460}.gnode{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;line-height:19px;text-align:center;color:var(--fg);background:var(--bg);border:var(--border) solid var(--line-strong);border-radius:var(--r-field)}.gnode-line{display:block}.gnode-handle{opacity:0;pointer-events:none}.gnode--store{border-left:3px solid var(--fg)}.gnode--external{border-style:dashed;color:var(--muted)}.gnode--accent{border-color:var(--accent);color:var(--accent)}.graph-static .gsvg-node rect{fill:var(--bg);stroke:var(--line-strong);stroke-width:1;rx:4}.graph-static .gsvg-node text{fill:var(--fg)}.graph-static .gsvg-node--store rect{stroke:var(--fg)}.graph-static .gsvg-node--external rect{stroke-dasharray:4 3}.graph-static .gsvg-node--accent rect{stroke:var(--accent)}.graph-static .gsvg-node--accent text{fill:var(--accent)}.graph-static .gedge{fill:none;stroke:var(--faint);stroke-width:1.25}.graph-static .gedge--dashed{stroke-dasharray:4 4}.graph-static marker path{fill:var(--faint)}.graph-static .gedge-label{fill:var(--muted);font-family:var(--mono);font-size:11px}.react-flow{--xy-background-color: var(--sunk);--xy-edge-stroke: var(--faint);--xy-edge-stroke-selected: var(--accent);--xy-controls-button-background-color: var(--bg);--xy-controls-button-background-color-hover: var(--panel-2);--xy-controls-button-color: var(--muted);--xy-controls-button-color-hover: var(--fg);--xy-controls-button-border-color: var(--line);--xy-minimap-background-color: var(--bg);--xy-attribution-background-color: transparent}.react-flow__edge-path{stroke:var(--faint);stroke-width:1.25}.react-flow__arrowhead *{fill:var(--faint);stroke:none}.react-flow__edge-text{fill:var(--muted);font-family:var(--mono);font-size:11px}.react-flow__edge-textbg{fill:var(--sunk)}.react-flow__controls{box-shadow:none;border:var(--border) solid var(--line);border-radius:var(--r-field);overflow:hidden;background:var(--bg)}.react-flow__controls-button{border-bottom:var(--border) solid var(--line)}.react-flow__controls-button svg{fill:currentColor}.react-flow__controls-button svg path{stroke:currentColor}.react-flow__minimap{border:var(--border) solid var(--line);border-radius:var(--r-field)}.react-flow__minimap-mask{fill:color-mix(in srgb,var(--fg) 12%,transparent)}.react-flow__minimap-node{fill:var(--line-strong);stroke:none}.react-flow__attribution{font-family:var(--mono);font-size:9px}.react-flow__attribution a{color:var(--faint)}.react-flow__node{cursor:grab}.react-flow__node:active{cursor:grabbing}.react-flow__node.dragging .gnode{border-color:var(--accent)}.graph-shell>astro-island{display:block;width:100%;height:100%}.graph-shell .react-flow{width:100%;height:100%}.gedge-label-html{position:absolute;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--sunk);padding:1px 4px;pointer-events:none;white-space:nowrap}
