:root{color-scheme:dark;--bg:#0b0d13;--chrome:#0e1017;--surface:#141822;--surface-raised:#171b27;--surface-hover:#202235;--surface-active:#292e3b;--input-bg:#10141e;--input-line:#3c4358;--code:#10141e;--text:#f0f1f6;--text-body:#d4d7e0;--muted:#9ea5b5;--accent:#8c7bff;--accent-hover:#a496ff;--accent-active:#7867eb;--on-accent:#0b0d13;--button-bg:#f0f1f6;--button-text:#0b0d13;--button-hover:#d9d8ec;--button-active:#bdb4f6;--link:#b2a5ff;--link-visited:#c4a4e0;--line:#292e3b;--line-raised:#34394e;--line-strong:#3c4358;--line-hover:#535c76;--soft:#25213e;--selection:#49406d;--disabled-bg:#292e3b;--disabled-text:#7b8394;--success:#91ceb9;--success-bg:#16362c;--warning:#e8c78e;--warning-bg:#392f1b;--error:#ffb1b8;--error-bg:#3f1c25;--info:#acc1d6;--info-bg:#1d2c40;--member:#9ed8e6;--member-bg:#1c3540;--overlay:#0009;--shadow:0 12px 36px #0006;--shadow-card:0 16px 48px #0003;--prose-bold:#ead3a2;--prose-h2:#c4b5fd;--prose-h3:#a9cbed;--prose-h4:#b6d8cd;--prose-quote:#beb4e2;--code-text:#c3caeb;--table-bg:#11141d;--table-head:#211f34;--table-head-text:#d0c4ff;--table-stripe:#171b26;--member-card:#f0f1f6;--member-card-text:#0b0d13;--radius:12px}:root[data-theme=light]{color-scheme:light;--bg:#e9edf3;--chrome:#e3e9f1;--surface:#e4ebf5;--surface-raised:#edf2f8;--surface-hover:#e3eaf4;--surface-active:#d8e1ee;--input-bg:#e4ebf5;--input-line:#77859b;--code:#eaf0f7;--text:#202837;--text-body:#3d4757;--muted:#586579;--accent:#5556da;--accent-hover:#4e4fd0;--accent-active:#4141ba;--on-accent:#fff;--button-bg:var(--accent);--button-text:var(--on-accent);--button-hover:var(--accent-hover);--button-active:var(--accent-active);--link:#5556da;--link-visited:#7057a0;--line:#cfd7e3;--line-raised:#bcc9db;--line-strong:#77859b;--line-hover:#586579;--soft:#e5e7fc;--selection:#d8defd;--disabled-bg:#dde4ee;--disabled-text:#8591a3;--success:#247453;--success-bg:#e6f3ed;--warning:#8a5b16;--warning-bg:#fbf0d9;--error:#b53f51;--error-bg:#fbe9ed;--info:#326cb4;--info-bg:#e8f0fc;--member:#24748a;--member-bg:#e2f3f7;--overlay:rgba(32,40,55,0.28);--shadow:0 12px 36px rgba(50,73,116,0.1);--shadow-card:0 8px 26px rgba(67,83,137,0.065);--prose-bold:#4338a6;--prose-h2:var(--text);--prose-h3:var(--text);--prose-h4:var(--text);--prose-quote:var(--text-body);--code-text:var(--text-body);--table-bg:var(--surface);--table-head:var(--chrome);--table-head-text:var(--text);--table-stripe:#eaf0f7;--member-card:linear-gradient(115deg,#ddebf8,#e6e5fc);--member-card-text:#303e70}::selection{background:var(--selection);color:var(--text)}.theme-switch{display:inline-flex;align-self:flex-start;width:fit-content;gap:2px}.theme-switch button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.theme-switch button:hover{background:var(--surface-hover);color:var(--text)}.theme-switch button[aria-pressed=true]{background:var(--surface-raised);color:var(--accent);box-shadow:0 3px 10px color-mix(in srgb,var(--text) 8%,transparent)}.theme-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.brand .brand-light,.studio-brand .brand-light{display:none}[data-theme=light] .brand .brand-light,[data-theme=light] .studio-brand .brand-light{display:block}[data-theme=light] .brand .brand-dark,[data-theme=light] .studio-brand .brand-dark{display:none}[data-theme=light] .icon{filter:brightness(0) saturate(100%) opacity(.8)}[data-theme=light] .button:not(.secondary) .icon{filter:brightness(0) invert(1)}:is(.prose,:where(.draft-richtext) .ContentEditable__root){--prose-cell-padding:20px;font-family:Noto Sans SC,sans-serif;font-weight:400;font-size:18px;line-height:32px;color:var(--text-body);overflow-wrap:anywhere}:is(.prose,.draft-richtext .ContentEditable__root) :is(strong,b,.LexicalEditorTheme__textBold){font-weight:700;color:var(--prose-bold)}:is(.prose,.draft-richtext .ContentEditable__root) p{font-size:inherit;line-height:inherit;color:inherit}:is(.prose,:where(.draft-richtext) .ContentEditable__root) p{margin:0 0 24px;white-space:pre-wrap}:is(.prose,:where(.draft-richtext) .ContentEditable__root) h1,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h2,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h3,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h4,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h5,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h6{font-family:inherit;font-weight:700;line-height:1.5}:is(.prose,:where(.draft-richtext) .ContentEditable__root) h1{font-size:32px;color:var(--text);margin:48px 0 24px}.draft-richtext .LexicalEditorTheme__h2,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h2{font-size:28px;margin:48px 0 24px;padding-top:24px;border-top:1px solid var(--line);color:var(--prose-h2)}.draft-richtext .LexicalEditorTheme__h3,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h3{font-size:22px;margin:36px 0 18px;color:var(--prose-h3)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) h4,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h5,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h6{font-size:18px;color:var(--prose-h4);margin:28px 0 16px}:is(.prose,.draft-richtext .ContentEditable__root) :is(h1,h2,h3,h4,h5,h6) :is(strong,b,.LexicalEditorTheme__textBold){color:inherit}@media (max-width:700px){:is(.prose,:where(.draft-richtext) .ContentEditable__root){--prose-cell-padding:16px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) h1{font-size:28px}.draft-richtext .LexicalEditorTheme__h2,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h2{font-size:24px;margin-top:36px;padding-top:20px}.draft-richtext .LexicalEditorTheme__h3,:is(.prose,:where(.draft-richtext) .ContentEditable__root) h3{font-size:21px;margin-top:28px}}.selected-quote,:is(.prose,:where(.draft-richtext) .ContentEditable__root) blockquote{margin:24px 0;padding:18px 24px;background:var(--soft);border-radius:6px;color:var(--prose-quote);font-size:16px;line-height:28px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) blockquote p:last-child{margin:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) ol,:is(.prose,:where(.draft-richtext) .ContentEditable__root) ul{padding-left:26px;margin:20px 0 28px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) a{color:var(--link);text-decoration:underline;text-underline-offset:4px}.prose a:visited{color:var(--link-visited)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) :not(pre)>code{font-size:14px;background:var(--code);color:var(--code-text);border-radius:4px;padding:3px 6px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .code-block{margin:24px 0 30px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) table{border-collapse:separate;border-spacing:0;font-size:16px;line-height:1.75;width:100%;background:var(--table-bg)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) td,:is(.prose,:where(.draft-richtext) .ContentEditable__root) th{border:0;border-bottom:1px solid var(--line);padding:18px var(--prose-cell-padding);text-align:left;vertical-align:top;min-width:140px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) td p,:is(.prose,:where(.draft-richtext) .ContentEditable__root) th p{margin:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) th{background:var(--table-head);color:var(--table-head-text);font-weight:700;border-bottom-color:var(--line-raised)}:is(.prose,.draft-richtext .ContentEditable__root) th :is(strong,b,.LexicalEditorTheme__textBold){color:inherit}:is(.prose,:where(.draft-richtext) .ContentEditable__root) tr:nth-child(odd) td{background:var(--table-stripe)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) tr:last-child td,:is(.prose,:where(.draft-richtext) .ContentEditable__root) tr:last-child th{border-bottom:0}@media (hover:hover){:is(.prose,:where(.draft-richtext) .ContentEditable__root) tr:hover td{background:var(--surface-hover)}}.draft-richtext .LexicalEditorTheme__tableScrollableWrapper,.table-scroll{overflow:auto;margin:28px 0 32px;border:1px solid var(--line-raised);border-radius:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width:700px){:is(.prose,:where(.draft-richtext) .ContentEditable__root) table{font-size:15px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) td,:is(.prose,:where(.draft-richtext) .ContentEditable__root) th{padding:14px var(--prose-cell-padding)}}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .asset-link,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .video-link{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;margin:24px 0;text-decoration:none;font-size:16px}.asset-link span,.video-link small{font-size:12px;color:var(--muted)}.member-break{background:var(--soft);padding:16px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;margin:24px 0;font-size:14px}.code-block,.code-preview{background:var(--code);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--code-text)}.code-title{padding:8px 14px 0;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-family:IBM Plex Mono,monospace}.code-title,.code-title button{color:var(--muted);font-size:12px}.code-title .code-copy{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer}.code-title .code-copy:hover{color:var(--text);background:var(--surface-hover)}.code-block pre:focus-visible,.code-title .code-copy:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.code-block pre{margin:0;max-height:min(400px,60vh);padding:12px 24px 24px;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:16px;line-height:1.85;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;tab-size:2}.code-block pre code{font:inherit}.code-preview pre{margin:0;padding:24px;overflow:auto;font-size:14px;line-height:24px;tab-size:2}.content-asset{margin:28px 0}.content-asset img{display:block;max-width:100%;width:auto;height:auto;border-radius:8px;border:1px solid var(--line)}.content-asset .content-image-window,.content-asset>a>img{margin-inline:auto}.content-asset figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center}.content-image-window{display:block;position:relative;overflow:hidden;max-width:100%;border-radius:8px;border:1px solid var(--line)}.content-image-window>img{display:block;position:absolute;max-width:none;border:0;border-radius:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-exercise,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tabs{margin:24px 0;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:16px;line-height:1.8;min-width:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure summary{padding:14px 20px;cursor:pointer;color:var(--text);font-weight:500}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure summary::marker{color:var(--accent);font-size:.8em}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure summary:hover,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tab-list button:hover{color:var(--accent)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure[open]>summary{border-bottom:1px solid var(--line)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body{padding:18px var(--prose-cell-padding);min-width:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body>[data-block-id]:first-child>:first-child{margin-top:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body>[data-block-id]:last-child>:last-child{margin-bottom:0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body[hidden]{display:none}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-title{display:block;padding:16px 20px 0;color:var(--text);font-weight:600}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout{border-left:3px solid var(--info)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-tip{border-left-color:var(--success)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-important{border-left-color:var(--accent)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-warning{border-left-color:var(--warning)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout .content-block-title{color:var(--info)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-tip .content-block-title{color:var(--success)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-important .content-block-title{color:var(--link)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-callout-warning .content-block-title{color:var(--warning)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-exercise>.content-disclosure{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tab-list{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 12px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tab-list button{flex-shrink:0;padding:14px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;cursor:pointer}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tab-list button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure summary:focus-visible,:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-tab-list button:focus-visible,:is(.prose,:where(.draft-richtext) .ContentEditable__root) [role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:4px}@media (max-width:640px){:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body{padding:16px}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-title{padding:14px 16px 0}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure summary{padding:12px 16px}}@media print{:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-block-body[hidden],:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure>.content-block-body{display:block}:is(.prose,:where(.draft-richtext) .ContentEditable__root) .content-disclosure::details-content{content-visibility:visible}}