:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#f6f7f9;--color-surface:#fff;--color-text:#1b1f24;--color-text-muted:#59616b;--color-border:#d9dde3;--color-primary:#1f5fd6;--color-primary-hover:#194eb0;--color-primary-contrast:#fff;--color-primary-soft:#e6eefc;--color-success:#1d7a46;--color-danger:#c22a2a;--color-warning:#9a5b00;--color-focus-ring:#1f5fd6;--color-accent:#7a3fc4;--color-overlay:#0006;--color-code-bg:#f3f4f6;--color-code-text:#1b1f24;--color-code-comment:#5c6670;--color-code-keyword:#b3164f;--color-code-string:#0b6b38;--color-code-constant:#0b5aa8;--color-code-function:#6f42c1;--color-code-parameter:#8a4b00;--color-code-punctuation:#3d444d;--color-code-inserted-bg:#dcf5e3;--color-code-deleted-bg:#fde2e2;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.25;--line-height-body:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-bar:0 -1px 0 var(--color-border);--shadow-header:0 1px 0 var(--color-border);--layout-content-max-width:72rem;--layout-header-height:4.5rem;--layout-bottom-nav-height:3.5rem;--layout-touch-target:2.75rem;--layout-admin-sidebar-width:16rem;--layout-admin-search-width:28rem;--z-header:10;--z-nav:10;--z-skip:20;--z-dropdown:30;--z-toast:35;--z-dialog:40}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#121417;--color-surface:#1b1e23;--color-text:#e8eaed;--color-text-muted:#a2a9b3;--color-border:#31363e;--color-primary:#7aa7ff;--color-primary-hover:#9cbdff;--color-primary-contrast:#0d1830;--color-primary-soft:#1d2a45;--color-success:#5cc98b;--color-danger:#ff8a80;--color-warning:#f0b45a;--color-focus-ring:#7aa7ff;--color-accent:#c39bff;--color-overlay:#0009;--color-code-bg:#0f1114;--color-code-text:#e8eaed;--color-code-comment:#9aa3ad;--color-code-keyword:#ff7b9c;--color-code-string:#7ee2a8;--color-code-constant:#79c0ff;--color-code-function:#d2a8ff;--color-code-parameter:#ffb86b;--color-code-punctuation:#c9d1d9;--color-code-inserted-bg:#12361f;--color-code-deleted-bg:#43181b}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--layout-header-height);scroll-padding-bottom:calc(var(--layout-bottom-nav-height) + env(safe-area-inset-bottom))}@media (width>=48rem){html{scroll-padding-bottom:0}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-body);margin:0}h1,h2,h3{line-height:var(--line-height-tight)}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}code,pre{font-family:var(--font-mono)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--layout-touch-target);min-height:var(--layout-touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-primary-hover)}.button:disabled{opacity:.6;cursor:progress}.button--quiet{background:var(--color-surface);color:var(--color-primary)}.button--quiet:hover{background:var(--color-primary-soft)}.loading{color:var(--color-text-muted);margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}h1[tabindex="-1"]:focus{outline:none}.lesson-body{overflow-wrap:anywhere;min-width:0}.lesson-body>:first-child{margin-top:0}.lesson-body h1,.lesson-body h2,.lesson-body h3,.lesson-body h4,.lesson-body h5,.lesson-body h6{margin:var(--space-6) 0 var(--space-3)}.lesson-body h2{font-size:var(--font-size-xl)}.lesson-body h3{font-size:var(--font-size-lg)}.lesson-body blockquote,.lesson-body ol,.lesson-body p,.lesson-body pre,.lesson-body table,.lesson-body ul{margin:0 0 var(--space-4)}.lesson-body ol,.lesson-body ul{padding-left:var(--space-5)}.lesson-body img{max-width:100%;height:auto}.lesson-body blockquote{padding:var(--space-2) var(--space-4);border-left:3px solid var(--color-border);color:var(--color-text-muted)}.lesson-body :not(pre)>code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-code-bg);font-size:.9em}.lesson-body pre{max-width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-code-bg);color:var(--color-code-text);font-size:var(--font-size-sm);line-height:var(--line-height-body);overflow-x:auto}.lesson-body pre code{overflow-wrap:normal;white-space:pre}.lesson-body .tok-comment{color:var(--color-code-comment)}.lesson-body .tok-keyword{color:var(--color-code-keyword)}.lesson-body .tok-string,.lesson-body .tok-string-expression{color:var(--color-code-string)}.lesson-body .tok-constant{color:var(--color-code-constant)}.lesson-body .tok-function{color:var(--color-code-function)}.lesson-body .tok-parameter{color:var(--color-code-parameter)}.lesson-body .tok-punctuation{color:var(--color-code-punctuation)}.lesson-body .tok-link{color:var(--color-primary)}.lesson-body .tok-token-inserted{background:var(--color-code-inserted-bg)}.lesson-body .tok-token-deleted{background:var(--color-code-deleted-bg)}.lesson-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.lesson-body td,.lesson-body th{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left}.lesson-body .callout{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface)}.lesson-body .callout>:last-child{margin-bottom:0}.lesson-body .callout-title{margin-bottom:var(--space-2);font-weight:var(--font-weight-bold)}.lesson-body .callout-tip{border-left-color:var(--color-success)}.lesson-body .callout-important{border-left-color:var(--color-accent)}.lesson-body .callout-warning{border-left-color:var(--color-warning)}.lesson-body .callout-caution{border-left-color:var(--color-danger)}.lesson-body .video{aspect-ratio:16/9;margin:0 0 var(--space-4);border-radius:var(--radius-md);background:var(--color-code-bg)}.lesson-body .footnotes{margin-top:var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-update[data-v-c2272f69]{right:var(--space-4);bottom:calc(var(--layout-bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-3));left:var(--space-4);z-index:var(--z-toast);position:fixed}.app-update__offer[data-v-c2272f69]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-header);flex-wrap:wrap;display:flex}@media (width>=48rem){.app-update[data-v-c2272f69]{bottom:var(--space-5);max-width:28rem;left:auto}}.app-update__text[data-v-c2272f69]{margin:0}.app-update__overlay[data-v-c2272f69]{z-index:var(--z-dialog);background:var(--color-overlay);position:fixed;inset:0}.app-update__dialog[data-v-c2272f69]{z-index:var(--z-dialog);gap:var(--space-3);width:min(28rem,calc(100vw - var(--space-4)*2));padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-header);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.app-update__title[data-v-c2272f69]{font-size:var(--font-size-lg);margin:0}.app-update__buttons[data-v-c2272f69]{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.error-page[data-v-0f7eed93]{justify-items:start;gap:var(--space-4);display:grid}.error-page p[data-v-0f7eed93]{margin:0}.error-page__text[data-v-0f7eed93]{font-size:var(--font-size-xl);margin:0}.error-page__actions[data-v-0f7eed93]{gap:var(--space-2);flex-wrap:wrap;display:flex}
