.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root,[data-theme=catppuccin]{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;color-scheme:dark;--bg-page:#1e1e2e;--bg-sidebar:#181825;--bg-topbar:#181825;--bg-card:#313244;--bg-code:#1e1e2e;--bg-input:#313244;--bg-hover:#45475a;--bg-active:#585b70;--fg-primary:#cdd6f4;--fg-secondary:#bac2de;--fg-muted:#a6adc8;--border-subtle:#313244;--border-strong:#45475a;--accent-primary:#cba6f7;--accent-primary-hover:#dcb8ff;--accent-primary-bg:#cba6f71f;--accent-secondary:#89b4fa;--accent-secondary-bg:#89b4fa1f;--mdn-blue:#89b4fa;--mdn-blue-hover:#a6c8ff;--mdn-blue-bg:#89b4fa1f;--mdn-green:#a6e3a1;--mdn-green-bg:#a6e3a11f;--mdn-amber:#f9e2af;--mdn-amber-bg:#f9e2af1f;--mdn-red:#f38ba8;--mdn-red-bg:#f38ba81f;--syn-keyword:#cba6f7;--syn-builtin:#89dceb;--syn-string:#a6e3a1;--syn-number:#fab387;--syn-comment:#6c7086;--syn-function:#89b4fa;--syn-operator:#89dceb;--syn-ident:#cdd6f4}[data-theme=dracula]{color-scheme:dark;--bg-page:#282a36;--bg-sidebar:#21222c;--bg-topbar:#21222c;--bg-card:#44475a;--bg-code:#282a36;--bg-input:#44475a;--bg-hover:#6272a4;--bg-active:#6272a4;--fg-primary:#f8f8f2;--fg-secondary:#e2e2dc;--fg-muted:#6272a4;--border-subtle:#44475a;--border-strong:#6272a4;--accent-primary:#ff79c6;--accent-primary-hover:#ff92d0;--accent-primary-bg:#ff79c61f;--accent-secondary:#8be9fd;--accent-secondary-bg:#8be9fd1f;--mdn-blue:#8be9fd;--mdn-blue-hover:#a4ffff;--mdn-blue-bg:#8be9fd1f;--mdn-green:#50fa7b;--mdn-green-bg:#50fa7b1f;--mdn-amber:#f1fa8c;--mdn-amber-bg:#f1fa8c1f;--mdn-red:#f55;--mdn-red-bg:#ff55551f;--syn-keyword:#ff79c6;--syn-builtin:#8be9fd;--syn-string:#f1fa8c;--syn-number:#bd93f9;--syn-comment:#6272a4;--syn-function:#50fa7b;--syn-operator:#ff79c6;--syn-ident:#f8f8f2}[data-theme=onedarkpro]{color-scheme:dark;--bg-page:#282c34;--bg-sidebar:#21252b;--bg-topbar:#21252b;--bg-card:#3e4451;--bg-code:#282c34;--bg-input:#3e4451;--bg-hover:#4b5363;--bg-active:#5c6370;--fg-primary:#abb2bf;--fg-secondary:#828997;--fg-muted:#5c6370;--border-subtle:#3e4451;--border-strong:#4b5363;--accent-primary:#c678dd;--accent-primary-hover:#d191e4;--accent-primary-bg:#c678dd1f;--accent-secondary:#61afef;--accent-secondary-bg:#61afef1f;--mdn-blue:#61afef;--mdn-blue-hover:#7bc0f3;--mdn-blue-bg:#61afef1f;--mdn-green:#98c379;--mdn-green-bg:#98c3791f;--mdn-amber:#e5c07b;--mdn-amber-bg:#e5c07b1f;--mdn-red:#e06c75;--mdn-red-bg:#e06c751f;--syn-keyword:#c678dd;--syn-builtin:#56b6c2;--syn-string:#98c379;--syn-number:#d19a66;--syn-comment:#7f848e;--syn-function:#61afef;--syn-operator:#56b6c2;--syn-ident:#abb2bf}[data-theme=monokaipro]{color-scheme:dark;--bg-page:#2d2a2e;--bg-sidebar:#221f22;--bg-topbar:#221f22;--bg-card:#403e41;--bg-code:#2d2a2e;--bg-input:#403e41;--bg-hover:#5b595c;--bg-active:#727072;--fg-primary:#fcfcfa;--fg-secondary:#d7d7d7;--fg-muted:#727072;--border-subtle:#403e41;--border-strong:#5b595c;--accent-primary:#ff6188;--accent-primary-hover:#ff87a5;--accent-primary-bg:#ff61881f;--accent-secondary:#fc9867;--accent-secondary-bg:#fc98671f;--mdn-blue:#78dce8;--mdn-blue-hover:#98e5ef;--mdn-blue-bg:#78dce81f;--mdn-green:#a9dc76;--mdn-green-bg:#a9dc761f;--mdn-amber:#ffd866;--mdn-amber-bg:#ffd8661f;--mdn-red:#ff6188;--mdn-red-bg:#ff61881f;--syn-keyword:#ff6188;--syn-builtin:#78dce8;--syn-string:#ffd866;--syn-number:#ab9df2;--syn-comment:#727072;--syn-function:#a9dc76;--syn-operator:#ff6188;--syn-ident:#fcfcfa}[data-theme=githubdark]{color-scheme:dark;--bg-page:#0d1117;--bg-sidebar:#010409;--bg-topbar:#010409;--bg-card:#21262d;--bg-code:#0d1117;--bg-input:#21262d;--bg-hover:#30363d;--bg-active:#484f58;--fg-primary:#c9d1d9;--fg-secondary:#8b949e;--fg-muted:#484f58;--border-subtle:#30363d;--border-strong:#484f58;--accent-primary:#58a6ff;--accent-primary-hover:#79b8ff;--accent-primary-bg:#58a6ff1f;--accent-secondary:#a5d6ff;--accent-secondary-bg:#a5d6ff1f;--mdn-blue:#58a6ff;--mdn-blue-hover:#79b8ff;--mdn-blue-bg:#58a6ff1f;--mdn-green:#3fb950;--mdn-green-bg:#3fb9501f;--mdn-amber:#d29922;--mdn-amber-bg:#d299221f;--mdn-red:#f85149;--mdn-red-bg:#f851491f;--syn-keyword:#ff7b72;--syn-builtin:#79c0ff;--syn-string:#a5d6ff;--syn-number:#79c0ff;--syn-comment:#8b949e;--syn-function:#d2a8ff;--syn-operator:#79c0ff;--syn-ident:#c9d1d9}[data-theme=materialdark]{color-scheme:dark;--bg-page:#263238;--bg-sidebar:#1e272c;--bg-topbar:#1e272c;--bg-card:#37474f;--bg-code:#263238;--bg-input:#37474f;--bg-hover:#455a64;--bg-active:#546e7a;--fg-primary:#eff;--fg-secondary:#b0bec5;--fg-muted:#546e7a;--border-subtle:#37474f;--border-strong:#455a64;--accent-primary:#80cbc4;--accent-primary-hover:#b2dfdb;--accent-primary-bg:#80cbc41f;--accent-secondary:#82aaff;--accent-secondary-bg:#82aaff1f;--mdn-blue:#82aaff;--mdn-blue-hover:#a6c4ff;--mdn-blue-bg:#82aaff1f;--mdn-green:#c3e88d;--mdn-green-bg:#c3e88d1f;--mdn-amber:#ffcb6b;--mdn-amber-bg:#ffcb6b1f;--mdn-red:#f07178;--mdn-red-bg:#f071781f;--syn-keyword:#c792ea;--syn-builtin:#82aaff;--syn-string:#c3e88d;--syn-number:#f78c6c;--syn-comment:#546e7a;--syn-function:#82aaff;--syn-operator:#89ddff;--syn-ident:#eff}[data-theme=nightowl]{color-scheme:dark;--bg-page:#011627;--bg-sidebar:#01111d;--bg-topbar:#01111d;--bg-card:#112630;--bg-code:#011627;--bg-input:#112630;--bg-hover:#1d3b53;--bg-active:#2b5375;--fg-primary:#d6deeb;--fg-secondary:#a2aabc;--fg-muted:#5f7e97;--border-subtle:#112630;--border-strong:#1d3b53;--accent-primary:#c792ea;--accent-primary-hover:#dfbbf1;--accent-primary-bg:#c792ea1f;--accent-secondary:#82aaff;--accent-secondary-bg:#82aaff1f;--mdn-blue:#82aaff;--mdn-blue-hover:#a6c4ff;--mdn-blue-bg:#82aaff1f;--mdn-green:#ecc48d;--mdn-green-bg:#ecc48d1f;--mdn-amber:#addb67;--mdn-amber-bg:#addb671f;--mdn-red:#ef5350;--mdn-red-bg:#ef53501f;--syn-keyword:#c792ea;--syn-builtin:#82aaff;--syn-string:#ecc48d;--syn-number:#f78c6c;--syn-comment:#637777;--syn-function:#82aaff;--syn-operator:#c792ea;--syn-ident:#d6deeb}[data-theme=nord]{color-scheme:dark;--bg-page:#2e3440;--bg-sidebar:#242933;--bg-topbar:#242933;--bg-card:#3b4252;--bg-code:#2e3440;--bg-input:#3b4252;--bg-hover:#434c5e;--bg-active:#4c566a;--fg-primary:#d8dee9;--fg-secondary:#e5e9f0;--fg-muted:#4c566a;--border-subtle:#3b4252;--border-strong:#434c5e;--accent-primary:#81a1c1;--accent-primary-hover:#94b1ce;--accent-primary-bg:#81a1c11f;--accent-secondary:#88c0d0;--accent-secondary-bg:#88c0d01f;--mdn-blue:#81a1c1;--mdn-blue-hover:#94b1ce;--mdn-blue-bg:#81a1c11f;--mdn-green:#a3be8c;--mdn-green-bg:#a3be8c1f;--mdn-amber:#ebcb8b;--mdn-amber-bg:#ebcb8b1f;--mdn-red:#bf616a;--mdn-red-bg:#bf616a1f;--syn-keyword:#81a1c1;--syn-builtin:#88c0d0;--syn-string:#a3be8c;--syn-number:#b48ead;--syn-comment:#4c566a;--syn-function:#88c0d0;--syn-operator:#81a1c1;--syn-ident:#d8dee9}[data-theme=solarizeddark]{color-scheme:dark;--bg-page:#002b36;--bg-sidebar:#00212b;--bg-topbar:#00212b;--bg-card:#073642;--bg-code:#002b36;--bg-input:#073642;--bg-hover:#586e75;--bg-active:#657b83;--fg-primary:#839496;--fg-secondary:#93a1a1;--fg-muted:#586e75;--border-subtle:#073642;--border-strong:#586e75;--accent-primary:#268bd2;--accent-primary-hover:#369be2;--accent-primary-bg:#268bd21f;--accent-secondary:#2aa198;--accent-secondary-bg:#2aa1981f;--mdn-blue:#268bd2;--mdn-blue-hover:#369be2;--mdn-blue-bg:#268bd21f;--mdn-green:#859900;--mdn-green-bg:#8599001f;--mdn-amber:#b58900;--mdn-amber-bg:#b589001f;--mdn-red:#dc322f;--mdn-red-bg:#dc322f1f;--syn-keyword:#859900;--syn-builtin:#268bd2;--syn-string:#2aa198;--syn-number:#d33682;--syn-comment:#586e75;--syn-function:#268bd2;--syn-operator:#cb4b16;--syn-ident:#839496}[data-theme=tokyonight]{color-scheme:dark;--bg-page:#1a1b26;--bg-sidebar:#16161e;--bg-topbar:#16161e;--bg-card:#24283b;--bg-code:#1a1b26;--bg-input:#24283b;--bg-hover:#414868;--bg-active:#565f89;--fg-primary:#c0caf5;--fg-secondary:#a9b1d6;--fg-muted:#565f89;--border-subtle:#24283b;--border-strong:#414868;--accent-primary:#bb9af7;--accent-primary-hover:#cbaefa;--accent-primary-bg:#bb9af71f;--accent-secondary:#7aa2f7;--accent-secondary-bg:#7aa2f71f;--mdn-blue:#7aa2f7;--mdn-blue-hover:#93b3f9;--mdn-blue-bg:#7aa2f71f;--mdn-green:#9ece6a;--mdn-green-bg:#9ece6a1f;--mdn-amber:#e0af68;--mdn-amber-bg:#e0af681f;--mdn-red:#f7768e;--mdn-red-bg:#f7768e1f;--syn-keyword:#bb9af7;--syn-builtin:#7dcfff;--syn-string:#9ece6a;--syn-number:#ff9e64;--syn-comment:#565f89;--syn-function:#7aa2f7;--syn-operator:#89ddff;--syn-ident:#c0caf5}[data-theme=ayudark]{color-scheme:dark;--bg-page:#0a0e14;--bg-sidebar:#06090d;--bg-topbar:#06090d;--bg-card:#0f1419;--bg-code:#0a0e14;--bg-input:#0f1419;--bg-hover:#1d242c;--bg-active:#2f3a47;--fg-primary:#b3b1ad;--fg-secondary:#8a9199;--fg-muted:#4d5566;--border-subtle:#1d242c;--border-strong:#2f3a47;--accent-primary:#ffb454;--accent-primary-hover:#ffc476;--accent-primary-bg:#ffb4541f;--accent-secondary:#59c2ff;--accent-secondary-bg:#59c2ff1f;--mdn-blue:#59c2ff;--mdn-blue-hover:#7ed2ff;--mdn-blue-bg:#59c2ff1f;--mdn-green:#91b362;--mdn-green-bg:#91b3621f;--mdn-amber:#e6b450;--mdn-amber-bg:#e6b4501f;--mdn-red:#d0679d;--mdn-red-bg:#d0679d1f;--syn-keyword:#ff8f40;--syn-builtin:#59c2ff;--syn-string:#aad94c;--syn-number:#e6b450;--syn-comment:#626a73;--syn-function:#ffb454;--syn-operator:#f29668;--syn-ident:#b3b1ad}[data-theme=cobalt2]{color-scheme:dark;--bg-page:#193549;--bg-sidebar:#112433;--bg-topbar:#112433;--bg-card:#1e4059;--bg-code:#193549;--bg-input:#1e4059;--bg-hover:#265171;--bg-active:#316489;--fg-primary:#e1efff;--fg-secondary:#b4d5ff;--fg-muted:#84a9cc;--border-subtle:#1e4059;--border-strong:#265171;--accent-primary:#ffc600;--accent-primary-hover:#ffda47;--accent-primary-bg:#ffc6001f;--accent-secondary:#15c60c;--accent-secondary-bg:#15c60c1f;--mdn-blue:#08f;--mdn-blue-hover:#3fa5ff;--mdn-blue-bg:#0088ff1f;--mdn-green:#3ad900;--mdn-green-bg:#3ad9001f;--mdn-amber:#ffc600;--mdn-amber-bg:#ffc6001f;--mdn-red:#ff628c;--mdn-red-bg:#ff628c1f;--syn-keyword:#ff9d00;--syn-builtin:#80ffbb;--syn-string:#a5ff90;--syn-number:#ff628c;--syn-comment:#08f;--syn-function:#ffc600;--syn-operator:#ff9d00;--syn-ident:#e1efff}[data-theme=shadesofpurple]{color-scheme:dark;--bg-page:#2d2b55;--bg-sidebar:#1e1e3f;--bg-topbar:#1e1e3f;--bg-card:#39366a;--bg-code:#2d2b55;--bg-input:#39366a;--bg-hover:#4a4687;--bg-active:#5b57a3;--fg-primary:#fff;--fg-secondary:#a599e9;--fg-muted:#b362ff;--border-subtle:#39366a;--border-strong:#4a4687;--accent-primary:#fad000;--accent-primary-hover:#fce152;--accent-primary-bg:#fad0001f;--accent-secondary:#9effff;--accent-secondary-bg:#9effff1f;--mdn-blue:#9effff;--mdn-blue-hover:#b8ffff;--mdn-blue-bg:#9effff1f;--mdn-green:#a5ff90;--mdn-green-bg:#a5ff901f;--mdn-amber:#fad000;--mdn-amber-bg:#fad0001f;--mdn-red:#ec3a37;--mdn-red-bg:#ec3a371f;--syn-keyword:#ff9d00;--syn-builtin:#9effff;--syn-string:#a5ff90;--syn-number:#ff628c;--syn-comment:#b362ff;--syn-function:#fad000;--syn-operator:#ff9d00;--syn-ident:#fff}[data-theme=winteriscomingdark]{color-scheme:dark;--bg-page:#011627;--bg-sidebar:#000d1a;--bg-topbar:#000d1a;--bg-card:#082944;--bg-code:#011627;--bg-input:#082944;--bg-hover:#0c3b63;--bg-active:#104e84;--fg-primary:#d6deeb;--fg-secondary:#93a8c3;--fg-muted:#5f7e97;--border-subtle:#082944;--border-strong:#0c3b63;--accent-primary:#c792ea;--accent-primary-hover:#dfbbf1;--accent-primary-bg:#c792ea1f;--accent-secondary:#82aaff;--accent-secondary-bg:#82aaff1f;--mdn-blue:#82aaff;--mdn-blue-hover:#a6c4ff;--mdn-blue-bg:#82aaff1f;--mdn-green:#addb67;--mdn-green-bg:#addb671f;--mdn-amber:#f78c6c;--mdn-amber-bg:#f78c6c1f;--mdn-red:#ef5350;--mdn-red-bg:#ef53501f;--syn-keyword:#00bff9;--syn-builtin:#82aaff;--syn-string:#bce679;--syn-number:#f78c6c;--syn-comment:#999;--syn-function:#87bce2;--syn-operator:#c792ea;--syn-ident:#d6deeb}[data-theme=synthwave84]{color-scheme:dark;--bg-page:#2b213a;--bg-sidebar:#20182b;--bg-topbar:#20182b;--bg-card:#362a49;--bg-code:#2b213a;--bg-input:#362a49;--bg-hover:#4a3c61;--bg-active:#62507f;--fg-primary:#f92aad;--fg-secondary:#c6b4e0;--fg-muted:#695380;--border-subtle:#362a49;--border-strong:#4a3c61;--accent-primary:#fdfdfd;--accent-primary-hover:#fff;--accent-primary-bg:#fdfdfd1f;--accent-secondary:#36f9f6;--accent-secondary-bg:#36f9f61f;--mdn-blue:#36f9f6;--mdn-blue-hover:#7dfbf9;--mdn-blue-bg:#36f9f61f;--mdn-green:#72f1b8;--mdn-green-bg:#72f1b81f;--mdn-amber:#f4eee4;--mdn-amber-bg:#f4eee41f;--mdn-red:#fe4450;--mdn-red-bg:#fe44501f;--syn-keyword:#f92aad;--syn-builtin:#36f9f6;--syn-string:#ff8b39;--syn-number:#f97e72;--syn-comment:#695380;--syn-function:#36f9f6;--syn-operator:#f92aad;--syn-ident:#fff}[data-theme=githublight]{color-scheme:light;--bg-page:#fff;--bg-sidebar:#f6f8fa;--bg-topbar:#f6f8fa;--bg-card:#f3f4f6;--bg-code:#fff;--bg-input:#f3f4f6;--bg-hover:#eaeef2;--bg-active:#dfe3e7;--fg-primary:#24292e;--fg-secondary:#586069;--fg-muted:#6a737d;--border-subtle:#e1e4e8;--border-strong:#d1d5da;--accent-primary:#0366d6;--accent-primary-hover:#005cc5;--accent-primary-bg:#0366d61f;--accent-secondary:#6f42c1;--accent-secondary-bg:#6f42c11f;--mdn-blue:#0366d6;--mdn-blue-hover:#005cc5;--mdn-blue-bg:#0366d61f;--mdn-green:#28a745;--mdn-green-bg:#28a7451f;--mdn-amber:#b08800;--mdn-amber-bg:#b088001f;--mdn-red:#d73a49;--mdn-red-bg:#d73a491f;--syn-keyword:#d73a49;--syn-builtin:#005cc5;--syn-string:#032f62;--syn-number:#005cc5;--syn-comment:#6a737d;--syn-function:#6f42c1;--syn-operator:#d73a49;--syn-ident:#24292e}[data-theme=materiallighter]{color-scheme:light;--bg-page:#fafafa;--bg-sidebar:#f0f0f0;--bg-topbar:#f0f0f0;--bg-card:#f5f5f5;--bg-code:#fafafa;--bg-input:#f5f5f5;--bg-hover:#e6e6e6;--bg-active:#dcdcdc;--fg-primary:#546e7a;--fg-secondary:#90a4ae;--fg-muted:#b0bec5;--border-subtle:#e6e6e6;--border-strong:#dcdcdc;--accent-primary:#00bcd4;--accent-primary-hover:#00acc1;--accent-primary-bg:#00bcd41f;--accent-secondary:#39adb5;--accent-secondary-bg:#39adb51f;--mdn-blue:#39adb5;--mdn-blue-hover:#31969d;--mdn-blue-bg:#39adb51f;--mdn-green:#91b859;--mdn-green-bg:#91b8591f;--mdn-amber:#f6a434;--mdn-amber-bg:#f6a4341f;--mdn-red:#e53935;--mdn-red-bg:#e539351f;--syn-keyword:#7c4dff;--syn-builtin:#39adb5;--syn-string:#91b859;--syn-number:#f76d47;--syn-comment:#aabfc9;--syn-function:#6182b8;--syn-operator:#39adb5;--syn-ident:#546e7a}[data-theme=nightowllight]{color-scheme:light;--bg-page:#fbfbfb;--bg-sidebar:#f0f0f0;--bg-topbar:#f0f0f0;--bg-card:#f6f6f6;--bg-code:#fbfbfb;--bg-input:#f6f6f6;--bg-hover:#ececec;--bg-active:#e0e0e0;--fg-primary:#403f53;--fg-secondary:#90a4ae;--fg-muted:#989fb1;--border-subtle:#d3e1e8;--border-strong:#b5c9d5;--accent-primary:#994cc3;--accent-primary-hover:#863fb0;--accent-primary-bg:#994cc31f;--accent-secondary:#0c969b;--accent-secondary-bg:#0c969b1f;--mdn-blue:#4876d6;--mdn-blue-hover:#3b63b8;--mdn-blue-bg:#4876d61f;--mdn-green:#48b685;--mdn-green-bg:#48b6851f;--mdn-amber:#c96765;--mdn-amber-bg:#c967651f;--mdn-red:#de3d3b;--mdn-red-bg:#de3d3b1f;--syn-keyword:#994cc3;--syn-builtin:#0c969b;--syn-string:#c96765;--syn-number:#aa0982;--syn-comment:#989fb1;--syn-function:#4876d6;--syn-operator:#994cc3;--syn-ident:#403f53}[data-theme=solarizedlight]{color-scheme:light;--bg-page:#fdf6e3;--bg-sidebar:#eee8d5;--bg-topbar:#eee8d5;--bg-card:#e7e0cc;--bg-code:#fdf6e3;--bg-input:#e7e0cc;--bg-hover:#dfd8c2;--bg-active:#d4ccb4;--fg-primary:#657b83;--fg-secondary:#586e75;--fg-muted:#93a1a1;--border-subtle:#ccc2a8;--border-strong:#b3a687;--accent-primary:#268bd2;--accent-primary-hover:#2179b8;--accent-primary-bg:#268bd21f;--accent-secondary:#2aa198;--accent-secondary-bg:#2aa1981f;--mdn-blue:#268bd2;--mdn-blue-hover:#2179b8;--mdn-blue-bg:#268bd21f;--mdn-green:#859900;--mdn-green-bg:#8599001f;--mdn-amber:#b58900;--mdn-amber-bg:#b589001f;--mdn-red:#dc322f;--mdn-red-bg:#dc322f1f;--syn-keyword:#859900;--syn-builtin:#268bd2;--syn-string:#2aa198;--syn-number:#d33682;--syn-comment:#93a1a1;--syn-function:#268bd2;--syn-operator:#cb4b16;--syn-ident:#657b83}[data-theme=ayulight]{color-scheme:light;--bg-page:#fafafa;--bg-sidebar:#f0f0f0;--bg-topbar:#f0f0f0;--bg-card:#f5f5f5;--bg-code:#fafafa;--bg-input:#f5f5f5;--bg-hover:#e6e6e6;--bg-active:#dcdcdc;--fg-primary:#5c6773;--fg-secondary:#828c99;--fg-muted:#abb0b6;--border-subtle:#e1e4e8;--border-strong:#d1d5da;--accent-primary:#ff9940;--accent-primary-hover:#f28b33;--accent-primary-bg:#ff99401f;--accent-secondary:#399ee6;--accent-secondary-bg:#399ee61f;--mdn-blue:#399ee6;--mdn-blue-hover:#3189c9;--mdn-blue-bg:#399ee61f;--mdn-green:#86b300;--mdn-green-bg:#86b3001f;--mdn-amber:#fa8d3e;--mdn-amber-bg:#fa8d3e1f;--mdn-red:#f07178;--mdn-red-bg:#f071781f;--syn-keyword:#fa8d3e;--syn-builtin:#399ee6;--syn-string:#86b300;--syn-number:#ff9940;--syn-comment:#abb0b6;--syn-function:#f2ae49;--syn-operator:#ed9366;--syn-ident:#5c6773}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--bg-hover) var(--bg-sidebar)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-sidebar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border:1px solid var(--bg-sidebar);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}::-webkit-scrollbar-corner{background:var(--bg-sidebar)}html,body,#root{background-color:var(--bg-page);height:100%;min-height:100%;color:var(--fg-primary);font-family:var(--font-sans);font-synthesis:none;margin:0;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.app{background:var(--bg-page);flex-direction:column;height:100vh;display:flex;overflow:hidden}.mdn-header{background:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);z-index:10;justify-content:space-between;align-items:center;height:52px;min-height:52px;padding:0 16px;display:flex}.mdn-header-left{align-items:center;gap:14px;min-width:0;display:flex;overflow:hidden}.sidebar-toggle-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--fg-secondary);border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.sidebar-toggle-btn:hover{background:var(--bg-hover);color:var(--fg-primary);border-color:var(--border-strong)}.mdn-logo{color:var(--fg-primary);letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.mdn-logo-badge{background:var(--accent-primary);color:var(--bg-page);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.mdn-breadcrumbs{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:400;display:flex;overflow:hidden}.mdn-breadcrumbs span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mdn-breadcrumbs span.active{color:var(--fg-primary);font-weight:500}.mdn-header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.stats-pill{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--fg-secondary);border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.stats-pill.xp{color:var(--mdn-amber);background:var(--mdn-amber-bg);border-color:#fbbf2440}.topbar-next-btn{background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--bg-page);font-family:var(--font-sans);cursor:pointer;box-shadow:0 2px 8px var(--accent-primary-bg);border-radius:7px;align-items:center;gap:6px;padding:5px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.topbar-next-btn:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);box-shadow:0 4px 12px var(--accent-primary-bg);transform:translateY(-1px)}.topbar-next-btn:active{transform:translateY(0)}.overall-progress-container{background:var(--bg-card);border:1px solid var(--border-subtle);font-size:12px;font-family:var(--font-sans);user-select:none;border-radius:14px;align-items:center;gap:10px;padding:4px 12px;display:flex}.overall-progress-text{white-space:nowrap;align-items:center;gap:5px;display:flex}.progress-fraction{color:var(--fg-primary);font-size:11.5px;font-weight:600}.progress-percentage{color:var(--accent-primary);font-size:11.5px;font-weight:600;font-family:var(--font-mono)}.overall-progress-track{background:var(--bg-hover);border-radius:3px;width:76px;height:6px;position:relative;overflow:hidden}.overall-progress-fill{background:linear-gradient(90deg, var(--mdn-green), var(--accent-primary));border-radius:3px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.stats-pill.settings-btn{cursor:pointer;color:var(--fg-secondary);justify-content:center;align-items:center;padding:5px 8px;transition:all .15s;display:flex}.stats-pill.settings-btn:hover{background:var(--bg-hover);color:var(--mdn-blue);border-color:var(--border-strong)}.app-body{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-sidebar);flex-direction:column;width:310px;min-width:310px;transition:margin-left .25s cubic-bezier(.16,1,.3,1),width .25s cubic-bezier(.16,1,.3,1);display:flex}.sidebar.collapsed{margin-left:-310px}.search-wrap{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--fg-muted);border-radius:6px;align-items:center;gap:8px;margin:14px 14px 10px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.search-wrap:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-bg)}.search-wrap input{width:100%;color:var(--fg-primary);background:0 0;border:0;outline:0;font-size:13px}.search-wrap input::placeholder{color:var(--fg-muted)}.search-shortcut{font-family:var(--font-mono);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--fg-muted);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:500}.sidebar-scroll{flex:1;padding:6px 10px 20px;overflow-y:auto}.level-group{margin-bottom:8px}.level-accordion-btn{width:100%;color:var(--fg-primary);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.level-accordion-btn:hover{background:var(--bg-hover)}.level-accordion-left{align-items:center;gap:8px;display:flex}.level-progress-pill{font-size:11px;font-weight:500;font-family:var(--font-mono);color:var(--fg-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:1px 6px}.level-challenges-list{border-left:1px solid var(--border-subtle);flex-direction:column;gap:2px;margin-top:2px;margin-left:14px;padding-left:12px;display:flex}.challenge-link{width:100%;color:var(--fg-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;transition:all .15s;display:flex}.challenge-link:hover{background:var(--bg-hover);color:var(--fg-primary)}.challenge-link.active{background:var(--accent-primary-bg);color:var(--accent-primary);border-left:2px solid var(--accent-primary);font-weight:500}.challenge-link-left{align-items:center;gap:8px;min-width:0;display:flex}.challenge-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.challenge-status-icon{color:var(--mdn-green);min-width:14px}.workspace{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex}.desktop-grid{flex:1;grid-template-columns:minmax(360px,45%) minmax(0,55%);min-height:0;display:grid}.problem-pane{border-right:1px solid var(--border-subtle);background:var(--bg-page);min-height:0;overflow-y:auto}.problem-card{max-width:820px;font-family:var(--font-sans);padding:32px 36px 80px}.doc-tag-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.doc-tag{font-family:var(--font-sans);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--fg-secondary);letter-spacing:.04em;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.doc-tag.level-pill{background:var(--accent-primary-bg);color:var(--accent-primary);border-color:#cba6f740}.doc-tag.exercise-pill{background:var(--bg-card);border-color:var(--border-subtle);color:var(--fg-muted)}.doc-tag.concept-pill{background:var(--accent-secondary-bg);color:var(--accent-secondary);text-transform:none;border-color:#89b4fa40}.problem-card h1{letter-spacing:-.02em;color:var(--fg-primary);margin:0 0 16px;font-size:28px;font-weight:700;line-height:1.25}.doc-description{color:var(--fg-secondary);margin-top:14px;font-size:15px;line-height:1.7}.problem-section{border-top:1px solid var(--border-subtle);margin-top:32px;padding-top:24px}.problem-section h2{color:var(--fg-primary);letter-spacing:-.01em;margin:0 0 14px;font-size:18px;font-weight:600}.problem-section details{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px}.problem-section details summary{cursor:pointer;color:var(--mdn-blue);user-select:none;font-size:14px;font-weight:500}.problem-section details .python-highlight-block{margin-top:12px}.hint{background:var(--mdn-amber-bg);color:var(--fg-primary);border:1px solid #fbbf244d;border-radius:8px;gap:12px;margin:20px 0;padding:14px 16px;font-size:14px;line-height:1.6;display:flex}.oa-banner{color:var(--fg-primary);border-left:4px solid var(--mdn-amber);margin-top:20px}.testcase-container{flex-direction:column;gap:12px;margin-top:12px;display:flex}.testcase-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .15s;overflow:hidden}.testcase-card:hover{border-color:var(--border-strong)}.testcase-card-header{background:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);align-items:center;padding:8px 14px;display:flex}.testcase-badge{font-family:var(--font-mono);color:var(--accent-secondary);background:var(--accent-secondary-bg);border:1px solid var(--border-subtle);text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.testcase-card-body{background:var(--bg-code);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.testcase-line{font-family:var(--font-mono);align-items:flex-start;gap:10px;font-size:13px;display:flex}.testcase-label{min-width:55px;color:var(--fg-muted);padding-top:2px;font-size:12px;font-weight:500}.testcase-code{font-family:var(--font-mono);color:var(--fg-primary);background:var(--bg-card);border:1px solid var(--border-subtle);word-break:break-all;border-radius:6px;padding:4px 10px;font-size:13px;line-height:1.45}.testcase-code.output-code{color:var(--mdn-green);background:var(--mdn-green-bg);border-color:#a6e3a140;font-weight:600}.syn-keyword{color:var(--syn-keyword)}.syn-builtin{color:var(--syn-builtin)}.syn-string{color:var(--syn-string)}.syn-number{color:var(--syn-number)}.syn-comment{color:var(--syn-comment);font-style:italic}.syn-function{color:var(--syn-function)}.syn-operator{color:var(--syn-operator)}.syn-ident{color:var(--syn-ident)}.python-highlight-block{background:var(--bg-code);border:1px solid var(--border-subtle);font-family:var(--font-mono);border-radius:8px;margin:0;padding:16px;font-size:13.5px;line-height:1.65;overflow-x:auto}.code-line{min-height:1.65em}.editor-highlight code{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;background:0 0;border:0;margin:0;padding:0}.editor-input::selection{color:#0000;background:#cba6f738}.quick-pick-overlay{backdrop-filter:blur(2px);z-index:200;background:#00000073;justify-content:center;align-items:flex-start;padding-top:50px;animation:.15s ease-out settingsFadeIn;display:flex;position:fixed;inset:0}.quick-pick-box{background:var(--bg-topbar);border:1px solid var(--border-strong);width:100%;max-width:580px;font-family:var(--font-sans);border-radius:6px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 36px #0009}.quick-pick-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-input);align-items:center;gap:10px;padding:8px 12px;display:flex}.quick-pick-input{width:100%;color:var(--fg-primary);font-size:13.5px;font-family:var(--font-sans);background:0 0;border:none;outline:none}.quick-pick-input::placeholder{color:var(--fg-muted)}.quick-pick-list{max-height:320px;padding:4px 0;overflow-y:auto}.quick-pick-item{color:var(--fg-primary);cursor:pointer;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;transition:background .1s;display:flex}.quick-pick-item.focused,.quick-pick-item:hover{background:var(--bg-hover);border-left-color:var(--accent-primary);color:var(--fg-primary)}.quick-pick-item.active-theme{color:var(--accent-primary);font-weight:600}.quick-pick-badge{font-size:11px;font-family:var(--font-mono);color:var(--fg-muted);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px}.pro-tips-section{border-top:1px solid var(--border-subtle);margin-top:32px;padding-top:24px}.pro-tips-summary{color:var(--fg-primary);cursor:pointer;user-select:none;font-size:15px;font-weight:600}.pro-tips-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.pro-tip-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .15s;display:flex}.pro-tip-card:hover{border-color:var(--border-strong)}.pro-tip-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.pro-tip-title{color:var(--fg-primary);font-size:13px;font-weight:600}.pro-tip-kbd{font-family:var(--font-mono);background:var(--bg-topbar);border:1px solid var(--border-strong);color:var(--accent-primary);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;box-shadow:0 1px 2px #0003}.pro-tip-then{color:var(--fg-muted);font-size:11px;font-style:italic}.pro-tip-desc{color:var(--fg-secondary);margin:0;font-size:12px;line-height:1.45}@keyframes settingsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes settingsSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-topbar);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-overlay{backdrop-filter:blur(4px);z-index:100;background:#0006;justify-content:flex-end;animation:.2s cubic-bezier(.16,1,.3,1) settingsFadeIn;display:flex;position:fixed;inset:0}.settings-drawer{background:var(--bg-sidebar);border-left:1px solid var(--border-subtle);width:100%;max-width:440px;height:100%;font-family:var(--font-sans);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) settingsSlideIn;display:flex;overflow-y:auto;box-shadow:-12px 0 32px #00000073}.settings-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-topbar);z-index:10;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.settings-modal-title{color:var(--fg-primary);letter-spacing:-.01em;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.settings-icon{color:var(--accent-primary)}.settings-close-btn{width:26px;height:26px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;transition:all .15s;display:grid}.settings-close-btn:hover{background:var(--bg-hover);color:var(--fg-primary)}.settings-modal-body{flex-direction:column;gap:20px;padding:20px;display:flex}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-section-heading{color:var(--fg-secondary);letter-spacing:-.01em;padding:0 4px;font-size:12px;font-weight:600}.settings-group-panel{background:var(--bg-code);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.setting-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;transition:background .12s;display:flex}.setting-row:last-child{border-bottom:none}.setting-row:hover{background:#ffffff05}.setting-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.setting-label{color:var(--fg-primary);font-size:13px;font-weight:500}.setting-desc{color:var(--fg-muted);font-size:11.5px;line-height:1.4}.toggle-switch{width:38px;min-width:38px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--bg-card);border:1px solid var(--border-strong);border-radius:22px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.slider:before{content:"";background-color:var(--fg-muted);border-radius:50%;width:14px;height:14px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}input:checked+.slider:before{background-color:var(--bg-page);transform:translate(16px)}.font-size-picker{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;gap:3px;padding:3px;display:flex}.font-size-btn{font-family:var(--font-mono);color:var(--fg-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 8px;font-size:11.5px;font-weight:500;transition:all .15s}.font-size-btn:hover:not(.active){color:var(--fg-primary)}.font-size-btn.active{background:var(--accent-primary-bg);color:var(--accent-primary);font-weight:600}.theme-select{background:var(--bg-card);color:var(--fg-primary);border:1px solid var(--border-subtle);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:6px;outline:none;min-width:140px;padding:5px 10px;transition:border-color .15s}.theme-select:hover{border-color:var(--border-strong)}.theme-select:focus{border-color:var(--accent-primary)}.settings-modal-footer{background:var(--bg-card);border-top:1px solid var(--border-subtle);justify-content:flex-end;padding:14px 20px;display:flex}.code-pane{background:var(--bg-code);flex-direction:column;min-height:0;display:flex}.editor-region,.result-region{min-height:0}.editor-shell{background:var(--bg-code);flex-direction:column;height:100%;transition:box-shadow .25s;display:flex}.editor-shell.focused-flash{box-shadow:inset 0 0 0 2px var(--accent-primary), 0 0 24px var(--accent-primary-bg)}.editor-topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-topbar);white-space:nowrap;justify-content:space-between;align-items:center;height:42px;min-height:42px;padding:0 16px;display:flex;overflow:hidden}.editor-topbar-left{align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.editor-file-title{font-family:var(--font-mono);color:var(--fg-primary);flex-shrink:0;font-size:13px;font-weight:600}.editor-file-meta{font-family:var(--font-mono);color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.editor-topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mdn-btn{border:1px solid var(--border-strong);background:var(--bg-card);color:var(--fg-primary);border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.mdn-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--fg-muted)}.mdn-btn-primary{background:var(--accent-primary);color:var(--bg-page);border-color:var(--accent-primary);font-weight:600}.mdn-btn-primary:hover:not(:disabled){color:var(--bg-page);background:#dcb8ff;border-color:#dcb8ff}.editor-footer{background:var(--bg-topbar);border-top:1px solid var(--border-subtle);height:26px;min-height:26px;max-height:26px;font-family:var(--font-mono);color:var(--fg-muted);white-space:nowrap;justify-content:space-between;align-items:center;padding:0 12px;font-size:11px;display:flex;overflow:hidden}.editor-footer-left{white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.editor-footer-right{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;align-items:center;gap:8px;display:flex;overflow:hidden}.footer-filename{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:100px;overflow:hidden}.active-settings-bar{align-items:center;gap:5px;display:flex}.active-setting-badge{background:var(--bg-card);border:1px solid var(--border-subtle);width:21px;height:21px;color:var(--accent-secondary);cursor:help;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.active-setting-badge:hover{background:var(--bg-hover);color:var(--fg-primary);border-color:var(--border-strong)}.footer-sep{flex-shrink:0}@media (width<=540px){.footer-tag,.footer-hide-narrow{display:none}}.drag-divider{cursor:row-resize;background:var(--bg-topbar);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);outline:none;place-items:center;height:8px;min-height:8px;transition:background-color .2s;display:grid}.drag-divider:hover{background:var(--bg-hover)}.drag-divider span{background:var(--border-strong);border-radius:2px;width:44px;height:3px}.test-console{background:var(--bg-code);height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.test-console-header{background:var(--bg-topbar);border-bottom:1px solid var(--border-subtle);user-select:none;justify-content:space-between;align-items:center;height:38px;min-height:38px;padding:0 12px;display:flex}.test-console-tabs{align-items:center;gap:4px;height:100%;display:flex}.console-tab-btn{height:100%;color:var(--fg-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.console-tab-btn:hover{color:var(--fg-primary)}.console-tab-btn.active{color:var(--fg-primary);border-bottom-color:var(--accent-primary);background:0 0;font-weight:600}.console-tab-btn .tab-icon{color:var(--fg-muted);transition:color .15s}.console-tab-btn.active .tab-icon{color:var(--accent-primary)}.status-dot{border-radius:50%;width:7px;height:7px;margin-left:2px}.status-dot.pass{background:var(--mdn-green);box-shadow:0 0 6px var(--mdn-green-bg)}.status-dot.fail{background:var(--mdn-red);box-shadow:0 0 6px var(--mdn-red-bg)}.console-case-bar{background:var(--bg-code);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 8px;display:flex}.case-tabs-list{align-items:center;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.case-tab-item{color:var(--fg-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.case-tab-item:hover{color:var(--fg-primary)}.case-tab-item.active{background:var(--bg-card);color:var(--fg-primary);border-color:var(--border-subtle);box-shadow:none;font-weight:600}.console-icon-btn{border:1px solid var(--border-subtle);color:var(--fg-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;transition:all .15s;display:inline-flex}.console-icon-btn:hover{color:var(--fg-primary);border-color:var(--border-strong);background:var(--bg-hover)}.testcase-pane,.testresult-pane{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.testcase-body{flex-direction:column;flex:1;align-items:stretch;gap:14px;width:100%;padding:12px 18px 20px;display:flex;overflow-y:auto}.param-field-group{flex-direction:column;align-items:flex-start;gap:6px;width:100%;display:flex}.param-label{font-family:var(--font-mono);align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:flex}.param-name{color:var(--fg-secondary);font-weight:500}.param-eq{color:var(--fg-muted)}.param-input-wrap{width:100%;position:relative}.param-input{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;color:var(--fg-primary);font-family:var(--font-mono);resize:vertical;box-sizing:border-box;border-radius:6px;outline:none;min-height:38px;padding:8px 12px;font-size:13px;line-height:1.5;transition:border-color .15s}.param-input:focus{border-color:var(--border-strong);box-shadow:none}.test-result-empty{color:var(--fg-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.empty-terminal-icon{opacity:.35;color:var(--fg-muted);margin-bottom:4px}.empty-title{color:var(--fg-secondary);font-size:14px;font-weight:500}.empty-sub{color:var(--fg-muted);font-size:12px}.test-result-running{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.spinner-ring{border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.running-msg-group{flex-direction:column;align-items:center;gap:4px;display:flex}.running-title{color:var(--accent-secondary);font-size:13.5px;font-weight:600}.running-sub{color:var(--fg-muted);font-size:12px}.test-result-content{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.verdict-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:4px 0 6px;display:flex}.verdict-badge{letter-spacing:-.01em;align-items:center;gap:8px;font-size:18px;font-weight:700;display:inline-flex}.verdict-badge.pass{color:var(--mdn-green)}.verdict-badge.fail{color:var(--mdn-red)}.verdict-right{align-items:center;gap:10px;display:flex}.metric-tag{color:var(--fg-secondary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 10px;font-size:12px}.metric-tag strong{color:var(--accent-secondary);font-weight:600}.case-indicator{border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;display:inline-flex}.case-indicator.pass{background:var(--mdn-green-bg);color:var(--mdn-green)}.case-indicator.fail{background:var(--mdn-red-bg);color:var(--mdn-red)}.result-case-details{flex-direction:column;gap:12px;display:flex}.result-detail-group{flex-direction:column;gap:5px;display:flex}.detail-label{text-transform:none;letter-spacing:normal;color:var(--fg-muted);font-size:12px;font-weight:500}.detail-label.error-text{color:var(--mdn-red)}.detail-value-box{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--fg-primary);white-space:pre-wrap;word-break:break-word;border-radius:6px;padding:8px 12px;font-size:13px;line-height:1.5}.detail-value-box.code-font{font-family:var(--font-mono)}.detail-value-box.pass-text{color:var(--mdn-green);background:var(--mdn-green-bg);border-color:#a6e3a140}.detail-value-box.fail-text{color:var(--mdn-red);background:var(--mdn-red-bg);border-color:#ef535040}.detail-value-box.expected-text{color:var(--fg-primary)}.global-error-box,.mini-error-box,.stdout-box{background:var(--bg-page);border:1px solid var(--border-subtle);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:10px 14px;font-size:12px;line-height:1.5}.global-error-box,.mini-error-box{color:var(--mdn-red);border-color:#f871714d}.error-box-title{text-transform:uppercase;color:var(--mdn-red);margin-bottom:6px;font-size:11px;font-weight:600}.next-challenge-bar{justify-content:flex-end;padding-top:8px;display:flex}@media (width<=900px){.sidebar{z-index:20;position:absolute;top:52px;bottom:0;box-shadow:4px 0 24px #00000080}.desktop-grid{grid-template-columns:1fr}.problem-pane{border-right:0;border-bottom:1px solid var(--border-subtle);height:42vh}.code-pane{height:calc(58vh - 52px)}}.docs-link-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.docs-link-item{align-items:center;display:flex}.docs-link{color:var(--mdn-blue);border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:13.5px;text-decoration:none;transition:all .15s;display:inline-flex}.docs-link:before{content:"↗";opacity:.7;font-size:11px}.docs-link:hover{background:var(--mdn-blue-bg);border-color:#89b4fa4d;text-decoration:underline}.next-challenge-row{justify-content:flex-end;padding:14px 0 4px;display:flex}.next-challenge-btn{background:var(--mdn-green-bg);color:var(--mdn-green);font-family:var(--font-sans);cursor:pointer;border:1px solid #a6e3a173;border-radius:8px;align-items:center;gap:7px;padding:9px 20px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.next-challenge-btn:hover{background:#a6e3a12e;border-color:#a6e3a1b3;transform:translate(2px)}.next-challenge-btn:active{transform:translate(4px)}.completion-pill{font-family:var(--font-sans);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--fg-muted);user-select:none;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.completion-pill.inactive:hover,.completion-pill.completed{background:var(--mdn-green-bg);color:var(--mdn-green);border-color:#a6e3a166}.completion-pill.completed:hover{border-color:var(--mdn-green);background:#a6e3a138}.challenge-status-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex}.challenge-status-btn.completed .challenge-status-icon{color:var(--mdn-green)}.challenge-status-btn.completed:hover{background:var(--mdn-red-bg);transform:scale(1.15)}.challenge-status-btn.completed:hover .challenge-status-icon{color:var(--mdn-red)}.challenge-status-btn.inactive{opacity:.4}.challenge-status-btn.inactive .challenge-status-icon{color:var(--fg-muted)}.challenge-status-btn.inactive:hover{opacity:1;background:var(--mdn-green-bg);transform:scale(1.15)}.challenge-status-btn.inactive:hover .challenge-status-icon{color:var(--mdn-green)}.reset-progress-btn{background:var(--mdn-red-bg);color:var(--mdn-red);cursor:pointer;border:1px solid #f38ba866;border-radius:6px;padding:8px 16px;font-size:12.5px;font-weight:600;transition:all .15s}.reset-progress-btn:hover{border-color:var(--mdn-red);background:#f38ba838;transform:translateY(-1px)}.editor-wrapper{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.editor-gutter{background:var(--bg-topbar);border-right:1px solid var(--border-subtle);user-select:none;flex-direction:column;flex-shrink:0;min-width:48px;padding:10px 0;display:flex;overflow:hidden}.gutter-line-number{font-family:var(--font-mono);text-align:right;min-height:1.94118em;color:var(--fg-muted);box-sizing:border-box;padding-right:12px;font-size:.85em;line-height:1.94118;transition:color .1s}.gutter-line-number.active{color:var(--accent-primary);font-weight:600}.editor-code-area{flex:1;min-width:0;position:relative;overflow:hidden}.editor-highlight{font-family:var(--font-mono);white-space:pre;pointer-events:none;color:var(--fg-primary);-moz-tab-size:4;tab-size:4;box-sizing:border-box;background:0 0;border:none;margin:0;padding:10px 16px;line-height:1.65;position:absolute;inset:0;overflow:hidden}.editor-highlight.word-wrap{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.editor-input{font-family:var(--font-mono);white-space:pre;resize:none;color:#0000;caret-color:var(--fg-primary);line-height:1.65;font-size:inherit;-moz-tab-size:4;tab-size:4;box-sizing:border-box;z-index:2;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;background:0 0;border:none;outline:none;margin:0;padding:10px 16px;position:absolute;inset:0;overflow:auto}.editor-input.word-wrap{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.editor-input.vim-normal-cursor{caret-color:var(--accent-primary)}.editor-input::-webkit-scrollbar{width:8px;height:8px}.editor-input::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.code-line{min-height:1.65em;line-height:1.65;display:block;position:relative}.syn-bracket-match{background:var(--accent-secondary-bg);outline:1px solid var(--accent-secondary);outline-offset:-1px;border-radius:2px;font-weight:700;color:var(--accent-secondary)!important}.code-line.editor-active-line{background:#ffffff0a;border-radius:3px}.indent-guide{background:var(--border-subtle);opacity:.5;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.vim-mode-badge{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.vim-mode-badge.normal{color:var(--mdn-amber);background:var(--mdn-amber-bg);border-color:#f9e2af4d}.vim-mode-badge.insert{color:var(--mdn-green);background:var(--mdn-green-bg);border-color:#a6e3a14d}.vscode-suggest-widget{z-index:100;background:var(--bg-sidebar);border:1px solid var(--border-strong);min-width:180px;max-width:280px;font-family:var(--font-mono);border-radius:6px;font-size:12.5px;position:absolute;overflow:hidden;box-shadow:0 8px 24px #00000080}.vscode-suggest-list{flex-direction:column;display:flex}.vscode-suggest-item{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;transition:background .1s;display:flex}.vscode-suggest-item:hover,.vscode-suggest-item.active{background:var(--bg-hover)}.vscode-suggest-item-left{align-items:center;gap:7px;min-width:0;display:flex}.vscode-suggest-icon{font-family:var(--font-mono);letter-spacing:0;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:10px;font-weight:700}.vscode-suggest-icon.keyword{background:var(--accent-primary-bg);color:var(--accent-primary);border:1px solid #cba6f733}.vscode-suggest-icon.builtin{background:var(--mdn-blue-bg);color:var(--mdn-blue);border:1px solid #89b4fa33}.vscode-suggest-label{color:var(--fg-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vscode-suggest-type{color:var(--fg-muted);flex-shrink:0;font-size:11px}.segmented-control{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;gap:2px;padding:3px;display:flex}.segmented-btn{font-family:var(--font-sans);color:var(--fg-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-size:11.5px;font-weight:500;transition:all .15s}.segmented-btn:hover:not(.active){color:var(--fg-primary)}.segmented-btn.active{background:var(--accent-primary-bg);color:var(--accent-primary);font-weight:600}.danger-heading{color:var(--fg-muted)}.danger-panel{border-color:#f38ba833}.danger-row:hover{background:var(--mdn-red-bg)}.reset-progress-btn{color:var(--mdn-red);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #f38ba859;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.reset-progress-btn:hover{background:var(--mdn-red-bg);border-color:var(--mdn-red)}html{background:#1e1e2e}
