:root{--theme-default-surface-editor:#11161d;--theme-default-surface-sidebar:#171d26;--theme-default-surface-activity:#0b0f14;--theme-default-surface-tabs:#151b22;--theme-default-surface-hover:#242c36;--theme-default-surface-selected:rgba(88,166,255,0.16);--theme-default-surface-control:#151b22;--theme-default-scrollbar-track:#151b22;--theme-default-scrollbar-thumb:#3a4654;--theme-default-scrollbar-thumb-hover:#526477;--theme-default-button-bg:#202833;--theme-default-button-bg-active:#525252;--theme-default-button-bg-hover:#848383;--theme-default-button-border:#3a4654;--theme-default-button-border-active:#526477;--theme-default-surface-panel-translucent:rgba(23,29,38,0.96);--theme-default-surface-key:#202833;--theme-default-surface-key-helper:#2b3542;--theme-default-text-main:#c9d4df;--theme-default-text-muted:#8f9baa;--theme-default-text-subtle:#66717f;--theme-default-text-active:#f2f7fc;--theme-default-text-on-accent-muted:rgba(242,247,252,0.78);--theme-default-empty-editor-illustration:#c9d4df;--theme-default-accent:#58a6ff;--theme-default-accent-strong:#1f6feb;--theme-default-accent-soft:rgba(88,166,255,0.18);--theme-default-accent-hover:#79b8ff;--theme-default-accent-ring:rgba(88,166,255,0.32);--theme-default-focus-border:#79b8ff;--theme-default-status-bg:#1f6feb;--theme-default-status-text:#f2f7fc;--theme-default-error:#ff7b72;--theme-default-error-bg:rgba(255,123,114,0.14);--theme-default-warning-bg:#f2cc60;--theme-default-warning-border:#d6a934;--theme-default-warning-text:#1b1f24;--theme-default-course-cta-bg:#f2cc60;--theme-default-course-cta-bg-hover:#ffe07a;--theme-default-course-cta-border:#d6a934;--theme-default-course-cta-text:#1b1f24;--theme-default-shadow-panel:rgba(1,4,9,0.5);--theme-default-border-default:#303a46;--theme-default-border-strong:#6e7b8a;--theme-default-opacity-disabled:0.5;--theme-default-caret-hidden:transparent;--theme-midnight-surface-editor:#0f1220;--theme-midnight-surface-sidebar:#161a2b;--theme-midnight-surface-panel-translucent:rgba(22,26,43,0.96);--theme-midnight-surface-activity:#0f1220;--theme-midnight-surface-tabs:#161a2b;--theme-midnight-surface-hover:#20263a;--theme-midnight-surface-key:#20263a;--theme-midnight-surface-key-helper:#2b3a66;--theme-midnight-surface-selected:rgba(79,124,255,0.15);--theme-midnight-surface-control:#20263a;--theme-midnight-scrollbar-track:#161a2b;--theme-midnight-scrollbar-thumb:#2a2f45;--theme-midnight-scrollbar-thumb-hover:#4f7cff;--theme-midnight-button-bg:#20263a;--theme-midnight-button-bg-active:#2b3a66;--theme-midnight-button-bg-hover:#2b3a66;--theme-midnight-button-border:#2a2f45;--theme-midnight-button-border-active:#4f7cff;--theme-midnight-text-main:#e6e6eb;--theme-midnight-text-muted:#9aa0b4;--theme-midnight-text-subtle:#6b6f85;--theme-midnight-text-active:#ffffff;--theme-midnight-text-on-accent:#ffffff;--theme-midnight-text-on-accent-muted:rgba(255,255,255,0.75);--theme-midnight-empty-editor-illustration:#e6e6eb;--theme-midnight-accent:#4f7cff;--theme-midnight-accent-strong:#4f7cff;--theme-midnight-accent-soft:rgba(79,124,255,0.15);--theme-midnight-accent-hover:#6a92ff;--theme-midnight-accent-ring:rgba(79,124,255,0.28);--theme-midnight-focus-border:#4f7cff;--theme-midnight-status-bg:#4f7cff;--theme-midnight-status-text:#ffffff;--theme-midnight-error:#ff5a5a;--theme-midnight-error-bg:rgba(255,90,90,0.15);--theme-midnight-warning-bg:#f2cc60;--theme-midnight-warning-border:#d6a934;--theme-midnight-warning-text:#171a22;--theme-midnight-course-cta-bg:#f2cc60;--theme-midnight-course-cta-bg-hover:#ffe07a;--theme-midnight-course-cta-border:#d6a934;--theme-midnight-course-cta-text:#171a22;--theme-midnight-shadow-panel:rgba(0,0,0,0.35);--theme-midnight-border-default:#2a2f45;--theme-midnight-border-strong:#2b3a66;--theme-midnight-opacity-disabled:0.5;--theme-midnight-caret-hidden:transparent;--theme-monokai-surface-editor:#272822;--theme-monokai-surface-sidebar:#1f201b;--theme-monokai-surface-panel-translucent:rgba(31,32,27,0.96);--theme-monokai-surface-activity:#1b1c18;--theme-monokai-surface-tabs:#20211c;--theme-monokai-surface-hover:#34352f;--theme-monokai-surface-key:#34352f;--theme-monokai-surface-key-helper:#3e3d32;--theme-monokai-surface-selected:rgba(166,226,46,0.14);--theme-monokai-surface-control:#2f302a;--theme-monokai-scrollbar-track:#20211c;--theme-monokai-scrollbar-thumb:#49483e;--theme-monokai-scrollbar-thumb-hover:#75715e;--theme-monokai-button-bg:#2f302a;--theme-monokai-button-bg-active:#3e3d32;--theme-monokai-button-bg-hover:#49483e;--theme-monokai-button-border:#49483e;--theme-monokai-button-border-active:#a6e22e;--theme-monokai-text-main:#f8f8f2;--theme-monokai-text-muted:#c2c2b8;--theme-monokai-text-subtle:#75715e;--theme-monokai-text-active:#ffffff;--theme-monokai-text-on-accent:#272822;--theme-monokai-text-on-accent-muted:rgba(39,40,34,0.78);--theme-monokai-empty-editor-illustration:#f8f8f2;--theme-monokai-accent:#a6e22e;--theme-monokai-accent-strong:#a6e22e;--theme-monokai-accent-soft:rgba(166,226,46,0.16);--theme-monokai-accent-hover:#c7f464;--theme-monokai-accent-ring:rgba(166,226,46,0.3);--theme-monokai-focus-border:#a6e22e;--theme-monokai-status-bg:#49483e;--theme-monokai-status-text:#f8f8f2;--theme-monokai-error:#f92672;--theme-monokai-error-bg:rgba(249,38,114,0.16);--theme-monokai-warning-bg:#e6db74;--theme-monokai-warning-border:#cfc45f;--theme-monokai-warning-text:#272822;--theme-monokai-course-cta-bg:#e6db74;--theme-monokai-course-cta-bg-hover:#fff08a;--theme-monokai-course-cta-border:#cfc45f;--theme-monokai-course-cta-text:#272822;--theme-monokai-shadow-panel:rgba(0,0,0,0.42);--theme-monokai-border-default:#3e3d32;--theme-monokai-border-strong:#75715e;--theme-monokai-opacity-disabled:0.5;--theme-monokai-caret-hidden:transparent;--theme-light-surface-editor:#f8fafc;--theme-light-surface-sidebar:#eef3f8;--theme-light-surface-activity:#e2e8f0;--theme-light-surface-tabs:#e8eef5;--theme-light-surface-hover:#dbe5ef;--theme-light-surface-selected:rgba(37,99,235,0.12);--theme-light-surface-control:#ffffff;--theme-light-scrollbar-track:#eef3f8;--theme-light-scrollbar-thumb:#b7c4d1;--theme-light-scrollbar-thumb-hover:#8799aa;--theme-light-button-bg:#e2e8f0;--theme-light-button-bg-active:#cbd5e1;--theme-light-button-bg-hover:#d6e0ea;--theme-light-button-border:#b7c4d1;--theme-light-button-border-active:#8799aa;--theme-light-surface-panel-translucent:rgba(238,243,248,0.96);--theme-light-surface-key:#ffffff;--theme-light-surface-key-helper:#d8e1eb;--theme-light-text-main:#1e293b;--theme-light-text-muted:#475569;--theme-light-text-subtle:#64748b;--theme-light-text-active:#0f172a;--theme-light-text-on-accent:#ffffff;--theme-light-text-on-accent-muted:rgba(255,255,255,0.8);--theme-light-empty-editor-illustration:#1e293b;--theme-light-accent:#2563eb;--theme-light-accent-strong:#1d4ed8;--theme-light-accent-soft:rgba(37,99,235,0.12);--theme-light-accent-hover:#1e40af;--theme-light-accent-ring:rgba(37,99,235,0.24);--theme-light-focus-border:#2563eb;--theme-light-status-bg:#1d4ed8;--theme-light-status-text:#ffffff;--theme-light-error:#dc2626;--theme-light-error-bg:rgba(220,38,38,0.1);--theme-light-warning-bg:#eab308;--theme-light-warning-border:#ca8a04;--theme-light-warning-text:#111827;--theme-light-course-cta-bg:#d6a934;--theme-light-course-cta-bg-hover:#ca8a04;--theme-light-course-cta-border:#a16207;--theme-light-course-cta-text:#111827;--theme-light-shadow-panel:rgba(15,23,42,0.16);--theme-light-border-default:#c3ceda;--theme-light-border-strong:#7b8da1;--theme-light-opacity-disabled:0.5;--theme-light-caret-hidden:transparent;--surface-editor:var(--theme-default-surface-editor);--surface-sidebar:var(--theme-default-surface-sidebar);--surface-activity:var(--theme-default-surface-activity);--surface-tabs:var(--theme-default-surface-tabs);--surface-hover:var(--theme-default-surface-hover);--surface-selected:var(--theme-default-surface-selected);--surface-transparent:transparent;--surface-tooltip:var(--surface-hover);--surface-drop-target:var(--accent-soft);--surface-control:var(--theme-default-surface-control);--scrollbar-track:var(--theme-default-scrollbar-track);--scrollbar-thumb:var(--theme-default-scrollbar-thumb);--scrollbar-thumb-hover:var(--theme-default-scrollbar-thumb-hover);--button-bg:var(--theme-default-button-bg);--button-bg-active:var(--theme-default-button-bg-active);--button-bg-hover:var(--theme-default-button-bg-hover);--button-border:var(--theme-default-button-border);--button-border-active:var(--theme-default-button-border-active);--button-text:var(--text-active);--surface-panel-translucent:var(--theme-default-surface-panel-translucent);--surface-key:var(--theme-default-surface-key);--surface-key-helper:var(--theme-default-surface-key-helper);--text-main:var(--theme-default-text-main);--text-muted:var(--theme-default-text-muted);--text-subtle:var(--theme-default-text-subtle);--text-active:var(--theme-default-text-active);--text-on-accent:var(--text-active);--text-on-accent-muted:var(--theme-default-text-on-accent-muted);--text-placeholder:var(--text-subtle);--empty-editor-illustration:var(--theme-default-empty-editor-illustration);--sidebar-illustration:var(--empty-editor-illustration);--accent:var(--theme-default-accent);--accent-strong:var(--theme-default-accent-strong);--accent-soft:var(--theme-default-accent-soft);--accent-hover:var(--theme-default-accent-hover);--accent-ring:var(--theme-default-accent-ring);--status-bg:var(--theme-default-status-bg);--status-text:var(--theme-default-status-text);--focus-border:var(--theme-default-focus-border);--error:var(--theme-default-error);--error-bg:var(--theme-default-error-bg);--warning-bg:var(--theme-default-warning-bg);--warning-border:var(--theme-default-warning-border);--warning-text:var(--theme-default-warning-text);--course-cta-bg:var(--theme-default-course-cta-bg);--course-cta-bg-hover:var(--theme-default-course-cta-bg-hover);--course-cta-border:var(--theme-default-course-cta-border);--course-cta-text:var(--theme-default-course-cta-text);--shadow-panel:var(--theme-default-shadow-panel);--opacity-disabled:var(--theme-default-opacity-disabled);--caret-hidden:var(--theme-default-caret-hidden);--border-default:var(--theme-default-border-default);--border-strong:var(--theme-default-border-strong);--border-transparent:transparent;--border-focus:var(--focus-border);--activity:var(--text-muted);--activity-active:var(--text-active);--bg-main:var(--surface-editor);--bg-sidebar:var(--surface-sidebar);--bg-tab:var(--surface-tabs);--bg-activity:var(--surface-activity);--bg-activity-hover:var(--surface-hover)}:root[data-theme="midnight-blue"]{--surface-editor:var(--theme-midnight-surface-editor);--surface-sidebar:var(--theme-midnight-surface-sidebar);--surface-activity:var(--theme-midnight-surface-activity);--surface-tabs:var(--theme-midnight-surface-tabs);--surface-hover:var(--theme-midnight-surface-hover);--surface-selected:var(--theme-midnight-surface-selected);--surface-control:var(--theme-midnight-surface-control);--scrollbar-track:var(--theme-midnight-scrollbar-track);--scrollbar-thumb:var(--theme-midnight-scrollbar-thumb);--scrollbar-thumb-hover:var(--theme-midnight-scrollbar-thumb-hover);--button-bg:var(--theme-midnight-button-bg);--button-bg-active:var(--theme-midnight-button-bg-active);--button-bg-hover:var(--theme-midnight-button-bg-hover);--button-border:var(--theme-midnight-button-border);--button-border-active:var(--theme-midnight-button-border-active);--button-text:var(--text-active);--surface-panel-translucent:var(--theme-midnight-surface-panel-translucent);--surface-key:var(--theme-midnight-surface-key);--surface-key-helper:var(--theme-midnight-surface-key-helper);--text-main:var(--theme-midnight-text-main);--text-muted:var(--theme-midnight-text-muted);--text-subtle:var(--theme-midnight-text-subtle);--text-active:var(--theme-midnight-text-active);--text-on-accent:var(--theme-midnight-text-on-accent);--text-on-accent-muted:var(--theme-midnight-text-on-accent-muted);--text-placeholder:var(--theme-midnight-text-subtle);--empty-editor-illustration:var(--theme-midnight-empty-editor-illustration);--accent:var(--theme-midnight-accent);--accent-strong:var(--theme-midnight-accent-strong);--accent-soft:var(--theme-midnight-accent-soft);--accent-hover:var(--theme-midnight-accent-hover);--accent-ring:var(--theme-midnight-accent-ring);--status-bg:var(--theme-midnight-status-bg);--status-text:var(--theme-midnight-status-text);--focus-border:var(--theme-midnight-focus-border);--error:var(--theme-midnight-error);--error-bg:var(--theme-midnight-error-bg);--warning-bg:var(--theme-midnight-warning-bg);--warning-border:var(--theme-midnight-warning-border);--warning-text:var(--theme-midnight-warning-text);--course-cta-bg:var(--theme-midnight-course-cta-bg);--course-cta-bg-hover:var(--theme-midnight-course-cta-bg-hover);--course-cta-border:var(--theme-midnight-course-cta-border);--course-cta-text:var(--theme-midnight-course-cta-text);--shadow-panel:var(--theme-midnight-shadow-panel);--opacity-disabled:var(--theme-midnight-opacity-disabled);--caret-hidden:var(--theme-midnight-caret-hidden);--border-default:var(--theme-midnight-border-default);--border-strong:var(--theme-midnight-border-strong)}:root[data-theme="monokai"]{--surface-editor:var(--theme-monokai-surface-editor);--surface-sidebar:var(--theme-monokai-surface-sidebar);--surface-activity:var(--theme-monokai-surface-activity);--surface-tabs:var(--theme-monokai-surface-tabs);--surface-hover:var(--theme-monokai-surface-hover);--surface-selected:var(--theme-monokai-surface-selected);--surface-control:var(--theme-monokai-surface-control);--scrollbar-track:var(--theme-monokai-scrollbar-track);--scrollbar-thumb:var(--theme-monokai-scrollbar-thumb);--scrollbar-thumb-hover:var(--theme-monokai-scrollbar-thumb-hover);--button-bg:var(--theme-monokai-button-bg);--button-bg-active:var(--theme-monokai-button-bg-active);--button-bg-hover:var(--theme-monokai-button-bg-hover);--button-border:var(--theme-monokai-button-border);--button-border-active:var(--theme-monokai-button-border-active);--button-text:var(--text-active);--surface-panel-translucent:var(--theme-monokai-surface-panel-translucent);--surface-key:var(--theme-monokai-surface-key);--surface-key-helper:var(--theme-monokai-surface-key-helper);--text-main:var(--theme-monokai-text-main);--text-muted:var(--theme-monokai-text-muted);--text-subtle:var(--theme-monokai-text-subtle);--text-active:var(--theme-monokai-text-active);--text-on-accent:var(--theme-monokai-text-on-accent);--text-on-accent-muted:var(--theme-monokai-text-on-accent-muted);--text-placeholder:var(--theme-monokai-text-subtle);--empty-editor-illustration:var(--theme-monokai-empty-editor-illustration);--accent:var(--theme-monokai-accent);--accent-strong:var(--theme-monokai-accent-strong);--accent-soft:var(--theme-monokai-accent-soft);--accent-hover:var(--theme-monokai-accent-hover);--accent-ring:var(--theme-monokai-accent-ring);--status-bg:var(--theme-monokai-status-bg);--status-text:var(--theme-monokai-status-text);--focus-border:var(--theme-monokai-focus-border);--error:var(--theme-monokai-error);--error-bg:var(--theme-monokai-error-bg);--warning-bg:var(--theme-monokai-warning-bg);--warning-border:var(--theme-monokai-warning-border);--warning-text:var(--theme-monokai-warning-text);--course-cta-bg:var(--theme-monokai-course-cta-bg);--course-cta-bg-hover:var(--theme-monokai-course-cta-bg-hover);--course-cta-border:var(--theme-monokai-course-cta-border);--course-cta-text:var(--theme-monokai-course-cta-text);--shadow-panel:var(--theme-monokai-shadow-panel);--opacity-disabled:var(--theme-monokai-opacity-disabled);--caret-hidden:var(--theme-monokai-caret-hidden);--border-default:var(--theme-monokai-border-default);--border-strong:var(--theme-monokai-border-strong)}:root[data-theme="light"]{--surface-editor:var(--theme-light-surface-editor);--surface-sidebar:var(--theme-light-surface-sidebar);--surface-activity:var(--theme-light-surface-activity);--surface-tabs:var(--theme-light-surface-tabs);--surface-hover:var(--theme-light-surface-hover);--surface-selected:var(--theme-light-surface-selected);--surface-control:var(--theme-light-surface-control);--scrollbar-track:var(--theme-light-scrollbar-track);--scrollbar-thumb:var(--theme-light-scrollbar-thumb);--scrollbar-thumb-hover:var(--theme-light-scrollbar-thumb-hover);--button-bg:var(--theme-light-button-bg);--button-bg-active:var(--theme-light-button-bg-active);--button-bg-hover:var(--theme-light-button-bg-hover);--button-border:var(--theme-light-button-border);--button-border-active:var(--theme-light-button-border-active);--button-text:var(--theme-light-text-active);--surface-panel-translucent:var(--theme-light-surface-panel-translucent);--surface-key:var(--theme-light-surface-key);--surface-key-helper:var(--theme-light-surface-key-helper);--text-main:var(--theme-light-text-main);--text-muted:var(--theme-light-text-muted);--text-subtle:var(--theme-light-text-subtle);--text-active:var(--theme-light-text-active);--text-on-accent:var(--theme-light-text-on-accent);--text-on-accent-muted:var(--theme-light-text-on-accent-muted);--text-placeholder:var(--theme-light-text-subtle);--empty-editor-illustration:var(--theme-light-empty-editor-illustration);--accent:var(--theme-light-accent);--accent-strong:var(--theme-light-accent-strong);--accent-soft:var(--theme-light-accent-soft);--accent-hover:var(--theme-light-accent-hover);--accent-ring:var(--theme-light-accent-ring);--status-bg:var(--theme-light-status-bg);--status-text:var(--theme-light-status-text);--focus-border:var(--theme-light-focus-border);--error:var(--theme-light-error);--error-bg:var(--theme-light-error-bg);--warning-bg:var(--theme-light-warning-bg);--warning-border:var(--theme-light-warning-border);--warning-text:var(--theme-light-warning-text);--course-cta-bg:var(--theme-light-course-cta-bg);--course-cta-bg-hover:var(--theme-light-course-cta-bg-hover);--course-cta-border:var(--theme-light-course-cta-border);--course-cta-text:var(--theme-light-course-cta-text);--shadow-panel:var(--theme-light-shadow-panel);--opacity-disabled:var(--theme-light-opacity-disabled);--caret-hidden:var(--theme-light-caret-hidden);--border-default:var(--theme-light-border-default);--border-strong:var(--theme-light-border-strong)}:root{--activity-bar-width:60px;--activity-bar-gap:2px;--activity-item-padding-y:14px;--activity-item-mobile-min-height:55px;--activity-item-mobile-padding-y:7px;--activity-item-mobile-gap:4px;--activity-tooltip-offset:10px;--activity-tooltip-padding-y:6px;--activity-tooltip-padding-x:10px;--activity-tooltip-font-size:14px;--activity-label-font-size:11px;--sidebar-width:220px;--sidebar-width-tablet:190px;--sidebar-width-mobile:176px;--sidebar-width-resizable-min:220px;--sidebar-width-resizable-max:420px;--sidebar-padding:10px;--sidebar-panel-gap:3px;--sidebar-item-gap:2px;--editor-padding:20px;--status-bar-height:26px;--tab-min-width:88px;--tab-max-width:220px;--tab-actions-width:78px;--scrollbar-size:8px;--scrollbar-radius:8px;--icon-size:22px;--icon-size-small:19px;--settings-group-gap:14px;--settings-field-gap:6px;--settings-row-gap:8px;--settings-control-height:34px;--settings-control-padding-x:8px;--settings-value-width:36px;--promo-course-gap:8px;--promo-course-radius:6px;--promo-course-padding:8px;--promo-course-list-gap:7px;--button-radius:6px;--keyboard-key-radius:5px;--font-family-ui:"Cascadia Code","Fira Code",Consolas,monospace;--ui-font-size:16px;--ui-font-size-compact:var(--ui-font-size);--ui-font-size-small:var(--ui-font-size);--ui-font-size-label:var(--ui-font-size);--ui-font-size-heading:24px;--control-font-size:var(--ui-font-size);--control-font-weight:400;--transition-fast:160ms;--transition-panel:180ms;--transition-easing:ease;--z-activity-bar:20;--z-sidebar:10;--z-consent-overlay:240}@media (max-width:640px){:root{--activity-bar-width:55px;--activity-item-mobile-gap:2px;--activity-label-font-size:9px;--sidebar-width-mobile:178px;--sidebar-padding:8px;--editor-padding:12px}}@media (max-width:900px){:root{--sidebar-width-resizable-min:180px;--sidebar-width-resizable-max:760px;--activity-tooltip-font-size:12px;--ui-font-size-compact:14px;--ui-font-size-small:14px;--ui-font-size-label:14px;--ui-font-size-heading:20px}}@media (max-width:640px){:root{--sidebar-width-resizable-min:168px;--sidebar-width-resizable-max:640px}}.activity-bar{width:var(--activity-bar-width);flex:0 0 var(--activity-bar-width);background:var(--surface-activity);display:flex;flex-direction:column;align-items:center;gap:var(--activity-bar-gap);padding-top:var(--sidebar-padding);border-right:1px solid var(--border-default);overflow:visible;z-index:var(--z-activity-bar)}.activity-bar-toggle{display:none}.sidebar{position:relative;width:var(--sidebar-width);min-width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--surface-sidebar);padding:var(--sidebar-padding);overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-default);transition:width var(--transition-panel) var(--transition-easing),min-width var(--transition-panel) var(--transition-easing),flex-basis var(--transition-panel) var(--transition-easing),padding var(--transition-panel) var(--transition-easing),border-color var(--transition-panel) var(--transition-easing),opacity var(--transition-fast) var(--transition-easing),visibility 0s ease;opacity:1;visibility:visible}.sidebar.is-resizable{width:var(--sidebar-active-width,var(--sidebar-width));min-width:var(--sidebar-active-width,var(--sidebar-width));flex-basis:var(--sidebar-active-width,var(--sidebar-width))}.sidebar.is-resizing{transition:none;-webkit-user-select:none;user-select:none}.sidebar-resize-handle{position:sticky;top:50%;float:right;right:2px;z-index:calc(var(--z-sidebar) + 1);display:none;width:20px;height:42px;margin:-21px 2px -21px 0;padding:0;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--accent);cursor:ew-resize;touch-action:none}.sidebar-resize-handle::before{content:"";display:block;width:21px;height:21px;margin:auto;background:currentColor;mask:url("../images/icons/not_specific/unfold-horizontal.svg") center / contain no-repeat;-webkit-mask:url("../images/icons/not_specific/unfold-horizontal.svg") center / contain no-repeat}.sidebar.is-resizable .sidebar-resize-handle{display:grid;place-items:center}.sidebar.is-resizing .sidebar-resize-handle,.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible{border-color:var(--border-focus);outline:0}.sidebar.is-closed{width:0;min-width:0;flex-basis:0;padding-right:0;padding-left:0;border-right-color:var(--border-transparent);opacity:0;visibility:hidden;transition:width var(--transition-panel) var(--transition-easing),min-width var(--transition-panel) var(--transition-easing),flex-basis var(--transition-panel) var(--transition-easing),padding var(--transition-panel) var(--transition-easing),border-color var(--transition-panel) var(--transition-easing),opacity var(--transition-fast) var(--transition-easing),visibility 0s ease var(--transition-panel)}.sidebar.is-closed .sidebar-resize-handle{display:none}.sidebar-panel{display:none}.sidebar-panel.active{display:flex;flex-direction:column;gap:var(--sidebar-panel-gap)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.tabs-bar{position:relative;display:flex;min-height:35px;background:var(--surface-tabs);border-bottom:1px solid var(--border-default)}.tabs{display:flex;flex-wrap:nowrap;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--accent) var(--surface-tabs);scrollbar-width:thin}.tabs-scroll-slot{display:flex;align-items:center;justify-content:center;width:30px;flex:0 0 30px;border-right:1px solid var(--border-default)}.tabs-scroll-slot[hidden]{display:none}.tabs-actions{width:var(--tab-actions-width);flex:0 0 var(--tab-actions-width);display:flex;align-items:center;justify-content:center;gap:3px;border-left:1px solid var(--border-default)}.editor-layout{flex:1;min-width:0;min-height:0;display:flex}.editor{position:relative;flex:1;min-width:0;padding:var(--editor-padding);overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere}.editor.is-empty{overflow:hidden}.editor.is-empty::before{content:"";position:absolute;inset:0;background:var(--empty-editor-illustration);mask-image:url("../images/bg/no-tab.svg");mask-position:center;mask-repeat:no-repeat;mask-size:min(840px,92%);opacity:0.28;pointer-events:none;-webkit-mask-image:url("../images/bg/no-tab.svg");-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:min(840px,92%)}.editor-split{display:none;border-left:1px solid var(--border-default)}.editor-layout.is-split .editor{flex-basis:50%}.editor-layout.is-split .editor-split{display:block}.status-bar{gap:0;height:var(--status-bar-height);min-height:var(--status-bar-height);background:var(--status-bg);color:var(--status-text);display:flex;align-items:center;padding:0 var(--sidebar-padding);font-size:var(--ui-font-size-small);overflow:hidden;white-space:nowrap}.status-bar__item{min-width:0;overflow:hidden;text-overflow:ellipsis}.status-bar__item + .status-bar__item::before{content:"·";display:inline-block;padding:0 8px;opacity:0.72}@media (max-width:640px){.status-bar[data-status-bar-owner="interactiveCode"]{font-size:calc(var(--ui-font-size-small) - 4px)}}@media (max-width:900px){.status-bar__item[data-priority="low"]{display:none}.tabs-actions{width:auto;flex:0 0 auto;padding:0 6px}.tabs-scroll-slot,.tabs-scroll-button{display:none}.sidebar{width:var(--sidebar-width-tablet);min-width:var(--sidebar-width-tablet);flex-basis:var(--sidebar-width-tablet)}.sidebar.is-resizable{width:var(--sidebar-active-width,var(--sidebar-width-tablet));min-width:var(--sidebar-active-width,var(--sidebar-width-tablet));flex-basis:var(--sidebar-active-width,var(--sidebar-width-tablet))}.sidebar-resize-handle{width:28px;height:58px;margin:-29px 0 -29px 0}.sidebar-resize-handle::before{width:28px;height:28px}.split-button{display:none}.editor-split,.editor-layout.is-split .editor-split{display:none}}@media (max-width:640px){.activity-bar{width:var(--activity-bar-width);flex-basis:var(--activity-bar-width)}body.is-activity-bar-collapsed .activity-bar{width:0;flex-basis:0;padding-top:0;border-right-color:var(--border-transparent)}body.is-activity-bar-collapsed .sidebar{display:none}.sidebar{width:var(--sidebar-width-mobile);min-width:var(--sidebar-width-mobile);flex-basis:var(--sidebar-width-mobile)}.sidebar.is-resizable{width:var(--sidebar-active-width,var(--sidebar-width-mobile));min-width:var(--sidebar-active-width,var(--sidebar-width-mobile));flex-basis:var(--sidebar-active-width,var(--sidebar-width-mobile))}.editor{padding:var(--sidebar-padding)}}@media (max-width:640px){.sidebar{position:fixed;top:0;bottom:0;left:var(--activity-bar-width);z-index:var(--z-sidebar);transform:translateX(0);transition:transform var(--transition-panel) var(--transition-easing),opacity var(--transition-panel) var(--transition-easing),visibility 0s ease;will-change:transform}.sidebar.is-closed{width:var(--sidebar-active-width,var(--sidebar-width-mobile));min-width:var(--sidebar-active-width,var(--sidebar-width-mobile));flex-basis:var(--sidebar-active-width,var(--sidebar-width-mobile));padding-right:var(--sidebar-padding);padding-left:var(--sidebar-padding);border-right-color:var(--border-default);opacity:0;visibility:hidden;transform:translateX(-100%);transition:transform var(--transition-panel) var(--transition-easing),opacity var(--transition-panel) var(--transition-easing),visibility 0s ease var(--transition-panel)}}.activity-item{position:relative;display:flex;align-items:center;justify-content:center;width:100%;text-align:center;padding:var(--activity-item-padding-y) 0;border:0;background:var(--surface-transparent);cursor:pointer;color:var(--activity);font:inherit;font-size:var(--ui-font-size);line-height:1;border-radius:var(--button-radius)}.activity-item::before{content:attr(aria-label);display:none}.activity-item::after{content:attr(aria-label);position:absolute;top:50%;left:calc(100% + var(--activity-tooltip-offset));z-index:var(--z-activity-bar);padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);border:1px solid var(--border-default);background:var(--surface-tooltip);color:var(--text-active);font-size:var(--activity-tooltip-font-size);line-height:1;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(-50%);transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease var(--transition-fast);pointer-events:none}.activity-item:hover{background:var(--surface-hover);color:var(--text-active)}.activity-item:hover::after,.activity-item:focus-visible::after{opacity:1;visibility:visible;transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease}.ui-tooltip{position:fixed;top:var(--ui-tooltip-top,0);left:var(--ui-tooltip-left,0);z-index:var(--z-activity-bar);max-width:min(520px,calc(100vw - 24px));padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-tooltip);color:var(--text-active);font-size:var(--activity-tooltip-font-size);line-height:1.25;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.ui-tooltip[hidden]{display:none}.mobile-sidebar-hint{position:fixed;top:var(--mobile-hint-top,0);left:var(--mobile-hint-left,0);z-index:calc(var(--z-activity-bar) + 2);display:none;width:var(--mobile-hint-width,220px);max-width:calc(100vw - var(--activity-bar-width) - 18px);padding:8px 9px;border:1px solid var(--accent);border-radius:8px;background:var(--surface-tooltip);color:var(--text-active);box-shadow:0 10px 26px rgb(0 0 0 / 34%);font-size:var(--ui-font-size-compact);line-height:1.25;pointer-events:none}.mobile-sidebar-hint::before{content:"";position:absolute;top:var(--mobile-hint-arrow-top,18px);left:-6px;width:10px;height:10px;border-bottom:1px solid var(--accent);border-left:1px solid var(--accent);background:var(--surface-tooltip);transform:rotate(45deg)}.mobile-sidebar-hint[hidden]{display:none}.sidebar-return-hint{position:fixed;top:var(--sidebar-return-hint-top,0);left:var(--sidebar-return-hint-left,0);z-index:calc(var(--z-activity-bar) + 3);display:none;align-items:center;gap:7px;width:max-content;max-width:calc(100vw - var(--activity-bar-width) - 18px);padding:8px 9px;border:1px solid color-mix(in srgb,var(--accent) 78%,var(--border-default));border-radius:8px;background:color-mix(in srgb,var(--surface-tooltip) 88%,var(--accent-soft));color:var(--text-active);box-shadow:0 10px 26px rgb(0 0 0 / 34%);font-size:var(--ui-font-size-compact);line-height:1.25;pointer-events:none;animation:sidebar-return-hint-nudge 820ms var(--transition-easing) infinite}.sidebar-return-hint::before{content:"";flex:0 0 18px;width:18px;height:18px;background:var(--accent);mask:url("../images/icons/not_specific/arrow-left-move.svg") center / contain no-repeat;-webkit-mask:url("../images/icons/not_specific/arrow-left-move.svg") center / contain no-repeat}.sidebar-return-hint::after{content:"";position:absolute;top:var(--sidebar-return-hint-arrow-top,18px);left:-6px;width:10px;height:10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 78%,var(--border-default));border-left:1px solid color-mix(in srgb,var(--accent) 78%,var(--border-default));background:color-mix(in srgb,var(--surface-tooltip) 88%,var(--accent-soft));transform:rotate(45deg)}.sidebar-return-hint[hidden]{display:none}.activity-item.active{background:var(--surface-selected);color:var(--activity-active);box-shadow:inset 3px 0 0 var(--accent)}.activity-item.is-collapsed-active{background:color-mix(in srgb,var(--surface-selected) 58%,transparent);color:var(--activity-active);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--accent) 70%,transparent)}.activity-item--bottom{margin-top:auto}.activity-bar-toggle{align-items:center;justify-content:center;width:30px;height:30px;margin-top:auto;margin-bottom:6px;border:1px solid var(--accent);border-radius:var(--button-radius);background:var(--surface-transparent);color:var(--accent);cursor:pointer}.activity-bar-toggle:hover,.activity-bar-toggle:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}.activity-bar-toggle-icon{display:block;width:22px;height:22px}.activity-bar-toggle-icon--show{display:none}svg.activity-bar-toggle-icon,svg.icon,svg.tabs-scroll-icon{fill:none;stroke:currentColor}.icon{display:inline-flex;width:var(--icon-size);height:var(--icon-size);align-items:center;justify-content:center;flex:0 0 var(--icon-size)}.icon:not(svg){background-color:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.icon-admin-metrics{width:22px;height:22px}.admin-metrics-trigger[aria-expanded="true"]{background:var(--surface-selected);color:var(--activity-active)}.share-button{display:inline-flex;min-height:28px;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-control);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);line-height:1.2;white-space:nowrap}.share-button:hover,.share-button:focus-visible,.share-button[aria-expanded="true"]{border-color:var(--border-focus);color:var(--text-active);outline:0}.info-page{display:grid;gap:16px;max-width:780px;padding:18px}.info-page__header{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border-default)}.info-page__eyebrow{margin:0;color:var(--accent);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);text-transform:uppercase}.info-page__header h1{margin:0;color:var(--text-active);font-size:28px;line-height:1.15}.info-page__header p{margin:0;color:var(--text-muted);font-size:var(--ui-font-size);line-height:1.55}.info-page__body{display:grid;gap:12px}.info-page__content{display:flow-root;min-width:0}.info-page__content--with-portrait .info-page__body{display:block}.info-page__content--with-portrait .info-page__body>* + *{margin-top:12px}.info-page__portrait{float:inline-end;width:min(42%,240px);min-width:168px;margin-block:0 12px;margin-inline:20px 6px}.info-page__portrait img{display:block;width:100%;height:auto}@media (max-width:640px){.info-page__portrait{float:none;width:min(260px,72%);margin-block:0 14px;margin-inline:auto 6px}}.error-page{display:grid;gap:18px;max-width:760px;padding:18px;color:var(--text-main)}.error-page__header{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border-default)}.error-page__eyebrow{margin:0;color:var(--accent);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);text-transform:uppercase}.error-page__header h1{margin:0;color:var(--text-active);font-size:28px;line-height:1.15}.error-page__header p,.error-page__body p{margin:0;color:var(--text-muted);font-size:var(--ui-font-size);line-height:1.55}.error-page__body{display:grid;gap:10px}.error-page__body .error-page__code{width:fit-content;padding:4px 8px;border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-control);color:var(--accent-hover);font-size:var(--ui-font-size-heading);font-weight:var(--control-font-weight);line-height:1.1}.error-page__actions{display:flex;flex-wrap:wrap;gap:8px}.error-page__button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--settings-control-height);padding:0 var(--settings-control-padding-x);border:1px solid var(--button-border);border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-decoration:none;cursor:pointer}.error-page__button:hover,.error-page__button:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);outline:0}.error-page__button--muted{background:var(--surface-control);color:var(--text-main)}.share-popup{position:fixed;top:var(--share-popup-top,12px);left:var(--share-popup-left,12px);z-index:var(--z-activity-bar);display:grid;width:min(380px,calc(100vw - 24px));gap:10px;padding:11px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-tooltip);color:var(--text-main);box-shadow:0 8px 24px rgb(0 0 0 / 28%)}.share-popup[hidden]{display:none}.share-popup__header{display:flex;align-items:center;gap:8px}.share-popup__title{flex:1;margin:0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.share-popup__close{width:26px;height:26px;padding:0;border:0;border-radius:var(--button-radius);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:20px;line-height:1}.share-popup__close:hover,.share-popup__close:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}.share-popup__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.share-popup__url{min-width:0;padding:6px 7px;border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-editor);color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small)}.share-popup__url:focus{border-color:var(--border-focus);outline:0}.share-popup__copy,.share-popup__native{min-width:62px;padding:5px 9px;border:1px solid var(--accent);border-radius:var(--button-radius);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small)}.share-popup__copy{background:var(--accent);color:#000}.share-popup__native{background:var(--surface-control);color:var(--text-active)}.share-popup__native[hidden]{display:none}.share-popup__copy:hover,.share-popup__copy:focus-visible,.share-popup__native:hover,.share-popup__native:focus-visible{filter:brightness(1.08);outline:1px solid var(--border-focus);outline-offset:1px}.share-popup__status{min-height:1.25em;margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.25}.share-popup__clipboard-fallback{position:fixed;left:-10000px;width:1px;height:1px}.sidebar h3{font-size:var(--ui-font-size-small);margin-bottom:10px;color:var(--text-muted);white-space:nowrap}.sidebar-item{display:block;width:100%;margin-block:var(--sidebar-item-gap);padding:5px 10px;border:0;background:var(--surface-transparent);cursor:pointer;color:var(--text-main);font:inherit;font-size:var(--ui-font-size);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item:hover{background:var(--surface-hover)}.sidebar-note{margin-block:var(--sidebar-item-gap);padding:5px 10px;color:var(--text-muted);font-size:var(--ui-font-size);white-space:nowrap}.about-sidebar-links{display:grid;gap:6px}.about-sidebar-link{display:flex;align-items:center;min-height:32px;padding:7px 9px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-main);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1.25;text-decoration:none}.about-sidebar-link:hover,.about-sidebar-link:focus-visible{border-color:var(--accent);color:var(--text-active);outline:0}.home-help{position:relative;width:100%;aspect-ratio:274 / 782;margin-top:8px}.home-help::before{content:"";position:absolute;inset:0;background:var(--sidebar-illustration);mask-image:var(--home-help-image);mask-position:top center;mask-repeat:no-repeat;mask-size:contain;opacity:0.78;pointer-events:none;-webkit-mask-image:var(--home-help-image);-webkit-mask-position:top center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.promo-courses{display:grid;gap:var(--promo-course-list-gap);margin-top:14px;min-width:0}.promo-courses__list{display:grid;gap:var(--promo-course-list-gap);min-width:0}.promo-courses__intro{margin:0 0 5px 4px;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.promo-courses__intro-link{color:var(--accent);text-decoration:none}.promo-courses__intro-link:hover,.promo-courses__intro-link:focus-visible{color:var(--accent-hover);text-decoration:underline;outline:0}.promo-courses__empty{padding:5px 10px;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.promo-course{display:grid;gap:var(--promo-course-gap);min-width:0;padding:var(--promo-course-padding);border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:var(--surface-control)}.promo-course:hover{border-color:var(--border-focus)}.promo-course__title{margin:0;min-width:0;overflow:hidden;color:var(--text-active);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.promo-course__media{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:var(--surface-editor)}.promo-course__image{display:block;width:100%;height:auto}.promo-course__image--empty{display:block;aspect-ratio:16 / 9}.promo-course__badge{position:absolute;top:0;left:0;width:fit-content;max-width:100%;padding:1px 4px;border:1px solid var(--warning-border);border-radius:var(--promo-course-radius) 0 var(--promo-course-radius) 0;background:var(--warning-bg);color:var(--warning-text);font-size:var(--ui-font-size-small);line-height:1.15;white-space:nowrap}.promo-course__button{display:flex;align-items:center;justify-content:center;min-height:var(--settings-control-height);padding:0 var(--settings-control-padding-x);border:1px solid color-mix(in srgb,var(--accent) 62%,var(--button-border));border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-align:center;text-decoration:none}.promo-course__button:hover,.promo-course__button:focus-visible{border-color:var(--accent);background:var(--button-bg-hover);outline:0}.internal-promo-banner-slot{container-type:inline-size;width:min(100%,820px);margin:18px auto}.internal-promo-banner{display:grid;grid-template-columns:minmax(150px,0.34fr) minmax(0,1fr);gap:14px;align-items:stretch;width:100%;margin:0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border-default));border-radius:var(--promo-course-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--surface-panel) 96%,transparent)),var(--surface-panel)}.internal-promo-banner__media{position:relative;display:block;align-self:center;aspect-ratio:16 / 9;min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:var(--surface-editor);text-decoration:none}.internal-promo-banner__media:hover,.internal-promo-banner__media:focus-visible{border-color:var(--accent);outline:0}.internal-promo-banner__image{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.internal-promo-banner__image--empty{aspect-ratio:16 / 9}.internal-promo-banner__content{display:grid;gap:7px;align-content:center;min-width:0}.internal-promo-banner__eyebrow{margin:0;color:var(--accent);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1.2}.internal-promo-banner__title{margin:0;color:var(--text-active);font-size:calc(var(--ui-font-size) + 2px);line-height:1.25}.internal-promo-banner__body{margin:0;color:var(--text-muted);font-size:var(--ui-font-size);line-height:1.45}.internal-promo-banner__button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:var(--settings-control-height);margin-top:2px;padding:0 14px;border:2px solid color-mix(in srgb,var(--accent) 70%,var(--button-border));border-radius:var(--button-radius);background:color-mix(in srgb,var(--accent) 12%,var(--button-bg));color:var(--button-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-align:center;text-decoration:none}.internal-promo-banner__button:hover,.internal-promo-banner__button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--button-bg-hover));outline:0}@container (max-width:430px){.internal-promo-banner{grid-template-columns:1fr}.internal-promo-banner__content{display:contents}.internal-promo-banner__eyebrow{order:1}.internal-promo-banner__media{order:2;justify-self:center;width:min(100%,180px)}.internal-promo-banner__title{order:3}.internal-promo-banner__body{order:4}.internal-promo-banner__button{order:5;justify-self:stretch}.internal-promo-banner__image{height:auto;min-height:0;aspect-ratio:16 / 9}}@media (max-width:700px){.internal-promo-banner-slot{width:100%;margin:14px 0}}.course-detail{display:grid;gap:20px;width:100%;max-width:86ch;min-width:0;color:var(--text-main)}.course-detail__section{animation:course-detail-appear 420ms var(--transition-easing) both}.course-detail__section:nth-child(2){animation-delay:70ms}.course-detail__section:nth-child(3){animation-delay:140ms}.course-detail__section:nth-child(4){animation-delay:210ms}.course-detail__section:nth-child(5){animation-delay:280ms}.course-detail__header{display:grid;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.course-detail__eyebrow{margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.course-detail__title{margin:0;color:var(--text-active);font-size:var(--ui-font-size-heading);font-weight:var(--control-font-weight);line-height:1.2}.course-detail__summary{margin:0;color:var(--text-main);font-size:var(--ui-font-size);line-height:1.5}.course-detail__discount{margin:0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1.45}.course-detail__language-notice{margin:0;padding:9px 11px;border:1px solid var(--border-default);border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border-default));border-left-width:3px;border-radius:var(--promo-course-radius);background:color-mix(in srgb,var(--surface-control) 82%,var(--accent-soft));color:var(--text-main);font-size:var(--ui-font-size);line-height:1.45}.course-detail__brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-detail__note,.course-detail__features{display:grid;align-content:start;gap:8px;min-width:0;padding:12px;border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:var(--surface-control)}.course-detail__label{margin:0;color:var(--accent-hover);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1.25;text-transform:uppercase}.course-detail__text{display:grid;gap:8px;min-width:0;color:var(--text-main);font-size:var(--ui-font-size);line-height:1.55}.course-detail__text p{margin:0}.course-detail__showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.course-detail__media-stack{display:grid;min-width:0}.course-detail__media{position:relative;margin:0;min-width:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:var(--surface-control)}.course-detail__image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.course-detail__price-badge{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid color-mix(in srgb,var(--accent) 68%,var(--border-default));border-radius:var(--button-radius);background:color-mix(in srgb,var(--surface-panel) 86%,var(--accent-soft));color:var(--text-active);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1;text-transform:uppercase}:root[data-theme="light"] .course-detail__price-badge{color:var(--text-on-accent)}.course-detail__offer{position:relative;z-index:2;display:grid;justify-self:center;gap:10px;width:min(100%,62ch);min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border-default));border-left-width:3px;border-radius:var(--promo-course-radius);background:color-mix(in srgb,var(--surface-control) 84%,var(--accent-soft))}.course-detail__reviews{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--border-default);border-radius:var(--promo-course-radius);background:color-mix(in srgb,var(--surface-control) 92%,var(--surface-editor))}.course-detail__reviews-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px;min-width:0}.course-detail__reviews-title{margin:4px 0 0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1.3}.course-detail__rating{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:8px;max-width:100%;min-width:0;margin:0;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border-default));border-radius:var(--button-radius);background:color-mix(in srgb,var(--surface-control) 84%,var(--accent-soft));color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1;white-space:nowrap}.course-detail__rating--summary{justify-self:start}.course-detail__rating-label{min-width:0;overflow:hidden;color:var(--text-muted);font-size:var(--ui-font-size-small);text-overflow:ellipsis}.course-detail__rating-stars{flex:0 0 auto;color:var(--course-cta-bg,var(--warning-bg));font-size:calc(var(--ui-font-size) + 5px);letter-spacing:0;line-height:0.9}.course-detail__reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.course-detail__review{display:grid;align-content:start;gap:7px;min-width:0;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-default));border-radius:var(--promo-course-radius);background:var(--surface-control);transition:border-color 140ms ease,background-color 140ms ease,transform 140ms ease}.course-detail__review:hover,.course-detail__review:focus-within{border-color:color-mix(in srgb,var(--accent) 48%,var(--border-default));background:color-mix(in srgb,var(--surface-control) 92%,var(--accent-soft));transform:translateY(-1px)}.course-detail__review[hidden]{display:none}.course-detail__review-meta{display:flex;flex-wrap:wrap;gap:6px 8px;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.25}.course-detail__review-rating{color:var(--accent-hover);font-weight:var(--control-font-weight)}.course-detail__review-text{margin:0;color:var(--text-main);font-size:var(--ui-font-size);line-height:1.5}.course-detail__review-expand{justify-self:start;min-height:0;padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1.3}.course-detail__review-expand:hover,.course-detail__review-expand:focus-visible{color:var(--accent-hover);text-decoration:underline;outline:0}.course-detail__reviews-more{display:flex;justify-content:center;min-height:var(--settings-control-height)}.course-detail__reviews-more-button{min-height:var(--settings-control-height);padding:0 var(--settings-control-padding-x);border:1px solid color-mix(in srgb,var(--accent) 54%,var(--border-default));border-radius:var(--button-radius);background:color-mix(in srgb,var(--surface-control) 88%,var(--accent-soft));color:var(--text-active);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1.2}.course-detail__reviews-more-button:hover,.course-detail__reviews-more-button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--surface-control) 72%,var(--accent-soft));outline:0}.course-detail__reviews-summary{align-self:center;margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35;text-align:center}.course-detail__reviews-summary[hidden]{display:none}.course-detail__body{display:grid;gap:10px;color:var(--text-main);line-height:1.55}.course-detail__body p{margin:0}.course-detail__bottom-cta{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;justify-content:stretch}.course-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.course-detail__actions .course-detail__title{flex:1 1 min(100%,420px)}.course-detail__share{min-height:30px;margin-left:auto}.course-detail__share .icon{width:14px;height:14px}.course-detail__code{margin:0;padding:6px 8px;border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-control);color:var(--text-main);font-size:var(--ui-font-size);line-height:1.35}.course-detail__button{display:inline-flex;align-items:center;justify-content:center;gap:4px 6px;min-height:var(--settings-control-height);padding:0 var(--settings-control-padding-x);border:1px solid var(--button-border);border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-align:center;text-decoration:none}.course-detail__button:hover,.course-detail__button:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);outline:0}.course-detail__button--udemy{position:relative;overflow:hidden;width:100%;border-width:2px;border-color:color-mix(in srgb,var(--accent) 76%,var(--border-default));background:color-mix(in srgb,var(--surface-control) 70%,var(--accent-soft));color:var(--text-active);transition:border-color 140ms ease,background-color 140ms ease,box-shadow 140ms ease}.course-detail__button--udemy::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,color-mix(in srgb,var(--accent) 18%,transparent) 42%,color-mix(in srgb,var(--accent) 28%,transparent) 50%,color-mix(in srgb,var(--accent) 18%,transparent) 58%,transparent 100%);opacity:0;pointer-events:none;transform:translateX(-120%)}.course-detail__button--udemy:hover,.course-detail__button--udemy:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--surface-control) 60%,var(--accent-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text-active)}.course-detail__button--udemy:hover::before,.course-detail__button--udemy:focus-visible::before{animation:course-detail-button-wave 900ms ease;opacity:1}.course-detail__button--offer{flex-direction:column;min-height:50px;padding-block:8px}.course-detail__bottom-cta .course-detail__button--udemy{flex-wrap:wrap}.course-detail__button-line{display:inline-block;position:relative;z-index:1}.course-detail__terms{position:relative;display:grid;justify-items:center;min-width:0}.course-detail__offer .course-detail__terms{margin-top:4px}.course-detail__bottom-cta .course-detail__terms{margin-block:8px 10px}.course-detail__terms-trigger{min-height:0;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:var(--ui-font-size-small);font-weight:400;line-height:1.3;text-align:center;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-thickness:1px}.course-detail__terms-trigger:hover,.course-detail__terms-trigger:focus-visible{color:var(--accent-hover);text-decoration-style:solid;outline:0}.course-detail__terms-popover{position:fixed;z-index:calc(var(--z-activity-bar) + 100);top:0;left:0;width:min(46ch,var(--course-terms-max-width,calc(100vw - 24px)));min-width:min(280px,var(--course-terms-max-width,calc(100vw - 24px)));max-height:var(--course-terms-max-height,calc(100vh - 24px));padding:10px 11px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border-default));border-radius:var(--promo-course-radius);background:var(--surface-tooltip);color:var(--text-main);box-shadow:0 10px 26px var(--shadow-panel)}.course-detail__terms-popover[hidden]{display:none}.course-detail__terms-popover[data-course-terms-placement="top"]{bottom:auto}.course-detail__terms-text{display:grid;gap:8px;font-size:var(--ui-font-size-small);line-height:1.45}.course-detail__terms-text p{margin:0}@keyframes course-detail-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes course-detail-button-wave{from{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes sidebar-return-hint-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-4px)}}@media (prefers-reduced-motion:reduce){.course-detail__button--udemy:hover::before,.course-detail__button--udemy:focus-visible::before{animation:none;opacity:0}.sidebar-return-hint{animation:none}.course-detail__section{animation:none}}@media (max-width:1040px){.course-detail__brief,.course-detail__showcase,.course-detail__reviews-list{grid-template-columns:1fr}.course-detail__image{min-height:0}}.settings-group{display:grid;gap:var(--settings-group-gap)}.settings-field{display:grid;gap:var(--settings-field-gap)}.settings-label{color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.2}.settings-row{display:flex;align-items:center;gap:var(--settings-row-gap);min-width:0}.settings-language-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.settings-language-link{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:28px;padding:0 8px;border:1px solid var(--button-border);border-radius:var(--button-radius);background:var(--button-bg);color:var(--text-main);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1;text-decoration:none}.settings-language-link:hover,.settings-language-link:focus-visible{border-color:var(--accent);background:var(--button-bg-hover);color:var(--text-active);outline:0}.settings-language-link.is-active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.settings-control{width:100%;min-width:0;height:var(--settings-control-height);border:1px solid var(--border-default);background:var(--surface-control);color:var(--text-main);font:inherit;font-size:var(--ui-font-size);padding:0 var(--settings-control-padding-x)}.settings-control:hover,.settings-control:focus{border-color:var(--border-focus);outline:0}@supports (appearance:base-select){select,select::picker(select){appearance:base-select}select{align-items:center}select::picker(select){border:1px solid var(--border-focus);border-radius:4px;background:var(--surface-control);color:var(--text-main)}select option{padding:5px 10px;background:var(--surface-control);color:var(--text-main);font-size:var(--ui-font-size)}select option:hover,select option:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}select option:checked{background:var(--surface-selected);color:var(--text-active)}select option::checkmark{color:var(--accent)}}.settings-range{flex:1 1 auto;min-width:0;accent-color:var(--accent)}.settings-value{width:var(--settings-value-width);flex:0 0 var(--settings-value-width);color:var(--text-muted);font-size:var(--ui-font-size-small);text-align:right}.settings-group--privacy{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-default)}.settings-group--install{margin-top:14px;padding:12px;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-sidebar)}.settings-install-button{min-height:30px;padding:5px 10px;border:1px solid var(--accent);border-radius:var(--button-radius);background:var(--accent);color:var(--text-on-accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight)}.settings-install-button:hover,.settings-install-button:focus-visible{filter:brightness(1.08);outline:1px solid var(--border-focus);outline-offset:1px}.settings-install-button[hidden]{display:none}.settings-note{margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.admin-metrics{position:fixed;top:var(--admin-metrics-top,0);left:var(--admin-metrics-left,var(--activity-bar-width));z-index:calc(var(--z-activity-bar) + 1);display:grid;width:172px;gap:4px;padding:7px 9px;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-tooltip);background:color-mix(in srgb,var(--surface-tooltip) 92%,transparent);color:var(--text-main);box-shadow:0 10px 26px rgb(0 0 0 / 30%);pointer-events:none}.admin-metrics::before{content:"";position:absolute;top:var(--admin-metrics-arrow-top,18px);left:-6px;width:10px;height:10px;border-bottom:1px solid var(--border-default);border-left:1px solid var(--border-default);background:var(--surface-tooltip);transform:rotate(45deg)}.admin-metrics[hidden]{display:none}.admin-metrics[data-state="stale"]{border-color:var(--warning-border);opacity:0.72}.admin-metrics__header{color:var(--text-active);font-size:11px;font-weight:var(--control-font-weight);line-height:1.1}.admin-metrics__body{display:grid;gap:2px}.admin-metrics__item{display:flex;min-width:0;align-items:center;gap:6px;font-size:11px;line-height:1.25}.admin-metrics__item[hidden]{display:none}.admin-metrics__dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--text-muted)}.admin-metrics__dot[data-state="ok"]{background:#22c55e}.admin-metrics__dot[data-state="warning"]{background:var(--warning-text)}.admin-metrics__dot[data-state="critical"]{background:#ef4444}.admin-metrics__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consent-banner{position:fixed;right:12px;bottom:calc(var(--status-bar-height) + 12px);z-index:var(--z-consent-overlay);display:grid;width:min(560px,calc(100vw - 24px));gap:12px;padding:13px;border:1px solid var(--border-focus);border-radius:8px;background:var(--surface-panel-translucent);color:var(--text-main);box-shadow:0 12px 32px rgb(0 0 0 / 34%)}.consent-banner[hidden],.consent-panel[hidden]{display:none}.consent-banner__content{display:grid;gap:5px}.consent-banner__title,.consent-panel__header p{margin:0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.consent-banner__text{margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.4}.consent-banner.is-customizing .consent-banner__text{display:none}.consent-banner__policy,.consent-banner__policy a,.settings-note a{color:var(--accent);font-size:var(--ui-font-size-small);line-height:1.35}.consent-banner__policy{margin:0}.consent-banner__note{margin:0;color:var(--text-muted);font-size:calc(var(--ui-font-size-small) - 1px);line-height:1.35}.consent-banner__policy a:hover,.consent-banner__policy a:focus-visible,.settings-note a:hover,.settings-note a:focus-visible{color:var(--text-active);outline:0}.consent-banner__actions,.consent-settings-actions{display:flex;flex-wrap:wrap;gap:7px}.consent-button{min-height:28px;padding:4px 9px;border:1px solid var(--button-border);border-radius:var(--button-radius);background:var(--button-bg);color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);line-height:1.2}.consent-button:hover,.consent-button:focus-visible{border-color:var(--accent);background:var(--button-bg-hover);color:var(--text-active);outline:0}.consent-button--primary{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.consent-button--muted{color:var(--text-muted)}.consent-button:disabled,.consent-button:disabled:hover,.consent-button:disabled:focus-visible{border-color:var(--border-default);background:var(--surface-control);color:var(--text-muted);cursor:default;opacity:0.72;outline:0}.consent-panel{display:grid;gap:9px;padding-top:10px;border-top:1px solid var(--border-default)}.consent-panel__header{display:flex;align-items:center;gap:8px}.consent-panel__header p{flex:1}.consent-panel__close{width:26px;height:26px;padding:0;border:0;border-radius:var(--button-radius);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:20px;line-height:1}.consent-panel__close:hover,.consent-panel__close:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}.consent-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;min-width:0;padding:8px;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-control);color:var(--text-main)}.consent-toggle--settings{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:1px;padding:1px 1px 1px 7px}.consent-toggle input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--accent)}.consent-banner .consent-toggle span{display:grid;gap:3px;min-width:0}.consent-toggle__main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-width:0;min-height:32px;cursor:pointer}.consent-toggle strong{color:var(--text-active);font-size:var(--ui-font-size-small);line-height:1.2}.consent-toggle small,.consent-toggle__description{color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.consent-toggle__details{display:grid;align-self:stretch;place-items:center;width:32px;min-height:32px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer}.consent-toggle__details:hover,.consent-toggle__details:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--text-active);outline:0}.consent-toggle__details span{display:block;line-height:1;transition:transform 160ms ease}.consent-toggle__details[aria-expanded="true"] span{transform:rotate(180deg)}.consent-toggle__description{grid-column:1 / -1;padding:2px 3px 1px 24px}.consent-toggle__description[hidden]{display:none}.consent-revoke-modal{position:fixed;inset:0;z-index:calc(var(--z-consent-overlay) + 1);display:grid;place-items:center;padding:16px;background:rgb(0 0 0 / 54%)}.consent-revoke-modal[hidden]{display:none}.consent-revoke-modal__panel{display:grid;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);gap:11px;padding:14px;border:1px solid var(--accent);border-radius:7px;overflow:auto;background:var(--surface-panel-translucent);color:var(--text-main);box-shadow:0 14px 36px rgb(0 0 0 / 36%)}.consent-revoke-modal__panel h3{margin:0;color:var(--text-active);font-size:var(--ui-font-size);line-height:1.25}.consent-revoke-modal__panel p{margin:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.4}.consent-revoke-modal__status{padding:7px 8px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control)}.consent-revoke-modal__status[hidden]{display:none}.consent-revoke-modal__actions{display:grid;grid-template-columns:1fr;gap:10px}.consent-revoke-modal__actions .consent-button{width:100%;border-color:var(--accent);background:var(--surface-control);color:var(--text-main)}.consent-revoke-modal__actions .consent-button:hover,.consent-revoke-modal__actions .consent-button:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--text-active)}@media (max-width:640px){.consent-banner{left:8px;right:8px;bottom:calc(var(--status-bar-height) + 8px);width:auto;max-height:calc(100vh - var(--status-bar-height) - 20px);max-height:calc(100dvh - var(--status-bar-height) - 20px);overflow:auto}.consent-banner__actions,.consent-settings-actions{display:grid;grid-template-columns:1fr}.consent-banner.is-customizing{overflow:hidden}.consent-banner.is-customizing .consent-banner__actions{display:none}.consent-banner.is-customizing .consent-panel{min-height:0;max-height:calc(100vh - var(--status-bar-height) - 146px);max-height:calc(100dvh - var(--status-bar-height) - 146px);overflow:auto;padding-bottom:0}.consent-banner.is-customizing .consent-panel>.consent-button{position:sticky;bottom:0;margin-top:2px;box-shadow:0 -8px 16px var(--surface-panel-translucent)}}.home-page{display:grid;gap:18px;max-width:980px;color:var(--text-main)}.home-page__hero{display:grid;gap:10px;padding:18px 0 4px;animation:home-page-appear 420ms var(--transition-easing) both}.home-page__eyebrow{margin:0;color:var(--accent);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);text-transform:uppercase;letter-spacing:0}.home-page__hero h1{margin:0;color:var(--text-active);font-size:34px;font-weight:var(--control-font-weight);line-height:1.12}.home-page__hero p{margin:0;color:var(--text-muted);line-height:1.5;max-width:720px}.home-page__actions,.home-page__link-row{display:flex;flex-wrap:wrap;gap:8px}.home-page__actions{margin-top:6px}.home-page__button,.home-page__panel a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-main);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-decoration:none;white-space:nowrap;transition:border-color var(--transition-fast) var(--transition-easing),background var(--transition-fast) var(--transition-easing),color var(--transition-fast) var(--transition-easing),transform var(--transition-fast) var(--transition-easing)}.home-page__button:hover,.home-page__button:focus-visible,.home-page__panel a:hover,.home-page__panel a:focus-visible{border-color:var(--accent);color:var(--text-active);outline:0;transform:translateY(-1px)}.home-page__button--primary{border-color:var(--accent);background:var(--accent);color:#0e1116}.home-page__button--primary:hover,.home-page__button--primary:focus-visible{color:#0e1116;filter:brightness(1.04)}.home-page__ide-menu{display:inline-flex;align-self:start}.home-page__ide-menu [data-home-ide-menu-trigger]{cursor:pointer}.home-page__ide-menu [data-home-ide-menu-trigger]::after{content:"";width:0;height:0;margin-left:8px;border-inline:4px solid transparent;border-top:5px solid currentColor;opacity:0.8;transition:transform var(--transition-fast) var(--transition-easing)}.home-page__ide-menu.is-open [data-home-ide-menu-trigger]::after{transform:rotate(180deg)}.home-page__ide-menu-panel{position:fixed;z-index:calc(var(--z-activity-bar) + 5);display:grid;gap:4px;min-width:210px;padding:6px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-sidebar);box-shadow:0 14px 32px rgb(0 0 0 / 0.32)}.home-page__ide-menu-panel[hidden]{display:none}.home-page__ide-menu-panel a{display:flex;align-items:center;min-height:30px;padding:6px 8px;border-radius:4px;color:var(--text-main);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1.2;text-decoration:none;white-space:nowrap}.home-page__ide-menu-panel a:hover,.home-page__ide-menu-panel a:focus-visible{background:var(--surface-control);color:var(--text-active);outline:0}.home-page__share{min-height:32px;padding:6px 10px;border-radius:6px;background:var(--surface-control);color:var(--text-main);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.home-page__share .icon{width:14px;height:14px}.home-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-page__panel{display:grid;align-content:start;gap:8px;min-width:0;padding:12px;border:1px solid var(--border-default);border:1px solid color-mix(in srgb,var(--accent) 62%,var(--border-default));border-radius:8px;background:var(--surface-sidebar);animation:home-page-appear 420ms var(--transition-easing) both;transition:border-color var(--transition-fast) var(--transition-easing),background var(--transition-fast) var(--transition-easing),box-shadow var(--transition-fast) var(--transition-easing),transform var(--transition-fast) var(--transition-easing)}.home-page__panel:hover,.home-page__panel:focus-within{border-color:var(--accent);background:color-mix(in srgb,var(--surface-control) 82%,var(--accent-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-2px)}.home-page__panel:nth-child(1){animation-delay:80ms}.home-page__panel:nth-child(2){animation-delay:140ms}.home-page__panel:nth-child(3){animation-delay:200ms}.home-page__panel:nth-child(4){animation-delay:260ms}.home-page__panel h2{margin:0;color:var(--text-active);font-size:calc(var(--ui-font-size) + 2px);font-weight:var(--control-font-weight);line-height:1.3;transition:color var(--transition-fast) var(--transition-easing)}.home-page__panel:hover h2,.home-page__panel:focus-within h2{color:var(--accent)}.home-page__panel p{margin:0;color:var(--text-muted);font-size:var(--ui-font-size);line-height:1.45}.home-page__panel a{justify-self:start;margin-top:2px;background:var(--surface-control)}.home-page__guide{display:grid;grid-template-columns:minmax(260px,0.88fr) minmax(0,1.12fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--border-default);border-radius:8px;background:color-mix(in srgb,var(--surface-sidebar) 86%,var(--surface-control));animation:home-page-appear 420ms var(--transition-easing) both;animation-delay:330ms;transition:border-color var(--transition-fast) var(--transition-easing),background var(--transition-fast) var(--transition-easing),transform var(--transition-fast) var(--transition-easing)}.home-page__guide:hover,.home-page__guide:focus-within{border-color:color-mix(in srgb,var(--accent) 64%,var(--border-default));background:color-mix(in srgb,var(--surface-control) 78%,var(--accent-soft));transform:translateY(-1px)}.home-page__guide--runtime{animation-delay:390ms}.home-page__guide--split{animation-delay:450ms}.home-page__guide-preview{display:grid;grid-template-columns:38px minmax(0,1fr);min-height:150px;overflow:hidden;border:1px solid var(--border-default);border:1px solid color-mix(in srgb,var(--accent) 54%,var(--border-default));border-radius:7px;background:var(--surface-tabs);box-shadow:inset 0 0 0 1px transparent;transition:border-color var(--transition-fast) var(--transition-easing),box-shadow var(--transition-fast) var(--transition-easing)}.home-page__guide:hover .home-page__guide-preview,.home-page__guide:focus-within .home-page__guide-preview{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.home-page__guide-activity{display:grid;align-content:start;gap:10px;padding:12px 9px;border-right:1px solid var(--border-default);background:var(--activity-bar-bg)}.home-page__guide-activity span{display:block;width:20px;aspect-ratio:1;border-radius:5px;border:1px solid var(--border-default);background:var(--surface-control)}.home-page__guide-activity span:first-child{border-color:var(--accent);background:var(--accent-soft)}.home-page__guide:hover .home-page__guide-activity span,.home-page__guide:focus-within .home-page__guide-activity span{animation:home-guide-dot-pulse 900ms var(--transition-easing) both}.home-page__guide:hover .home-page__guide-activity span:nth-child(2),.home-page__guide:focus-within .home-page__guide-activity span:nth-child(2){animation-delay:90ms}.home-page__guide:hover .home-page__guide-activity span:nth-child(3),.home-page__guide:focus-within .home-page__guide-activity span:nth-child(3){animation-delay:180ms}.home-page__guide-shell{display:grid;grid-template-rows:auto 1fr;min-width:0}.home-page__guide-tabs{display:flex;min-width:0;border-bottom:1px solid var(--border-default);background:var(--surface-tabs)}.home-page__guide-tabs span{min-width:0;max-width:34%;padding:8px 10px;border-right:1px solid var(--border-default);color:var(--text-muted);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__guide-tabs span:first-child{color:var(--text-active);box-shadow:inset 0 -2px 0 var(--accent)}.home-page__guide:hover .home-page__guide-tabs span,.home-page__guide:focus-within .home-page__guide-tabs span{animation:home-guide-tab-scan 1500ms var(--transition-easing) both}.home-page__guide:hover .home-page__guide-tabs span:nth-child(2),.home-page__guide:focus-within .home-page__guide-tabs span:nth-child(2){animation-delay:120ms}.home-page__guide:hover .home-page__guide-tabs span:nth-child(3),.home-page__guide:focus-within .home-page__guide-tabs span:nth-child(3){animation-delay:240ms}.home-page__guide-window{display:grid;gap:9px;align-content:center;padding:18px;background:var(--editor-bg)}.home-page__guide-window span{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 24%,transparent);transform-origin:left center}.home-page__guide-window span:nth-child(1){width:78%}.home-page__guide-window span:nth-child(2){width:56%}.home-page__guide-window span:nth-child(3){width:68%}.home-page__guide:hover .home-page__guide-window span,.home-page__guide:focus-within .home-page__guide-window span{animation:home-guide-line-type 1100ms var(--transition-easing) both}.home-page__guide:hover .home-page__guide-window span:nth-child(2),.home-page__guide:focus-within .home-page__guide-window span:nth-child(2){animation-delay:100ms}.home-page__guide:hover .home-page__guide-window span:nth-child(3),.home-page__guide:focus-within .home-page__guide-window span:nth-child(3){animation-delay:200ms}.home-page__guide-copy{display:grid;gap:10px;min-width:0}.home-page__guide-copy h2{margin:0;color:var(--text-active);font-size:calc(var(--ui-font-size) + 4px);font-weight:var(--control-font-weight);line-height:1.25}.home-page__guide-copy ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.home-page__guide-copy li{display:grid;gap:3px;padding-left:12px;border-left:2px solid var(--border-default);border-left:2px solid color-mix(in srgb,var(--accent) 62%,var(--border-default));transition:border-color var(--transition-fast) var(--transition-easing),transform var(--transition-fast) var(--transition-easing)}.home-page__guide-copy li:hover{border-left-color:var(--accent);transform:translateX(2px)}.home-page__guide-copy strong{color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.home-page__guide-copy span{color:var(--text-muted);font-size:var(--ui-font-size);line-height:1.45}.home-page__runtime-preview,.home-page__split-preview{display:grid;grid-template-rows:auto 1fr;min-height:150px;overflow:hidden;border:1px solid var(--border-default);border:1px solid color-mix(in srgb,var(--accent) 54%,var(--border-default));border-radius:7px;background:var(--editor-bg);transition:border-color var(--transition-fast) var(--transition-easing),box-shadow var(--transition-fast) var(--transition-easing)}.home-page__guide:hover .home-page__runtime-preview,.home-page__guide:focus-within .home-page__runtime-preview,.home-page__guide:hover .home-page__split-preview,.home-page__guide:focus-within .home-page__split-preview{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.home-page__runtime-toolbar{display:flex;gap:8px;padding:11px;border-bottom:1px solid var(--border-default);background:var(--surface-tabs)}.home-page__runtime-toolbar span{min-width:0;padding:6px 9px;border:1px solid var(--border-default);border-radius:7px;color:var(--text-muted);background:var(--surface-control);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__runtime-toolbar span:first-child{color:var(--text-active);border-color:var(--accent);background:var(--accent-soft)}.home-page__guide:hover .home-page__runtime-toolbar span,.home-page__guide:focus-within .home-page__runtime-toolbar span{animation:home-guide-runtime-select 1500ms var(--transition-easing) both}.home-page__guide:hover .home-page__runtime-toolbar span:nth-child(2),.home-page__guide:focus-within .home-page__runtime-toolbar span:nth-child(2){animation-delay:120ms}.home-page__guide:hover .home-page__runtime-toolbar span:nth-child(3),.home-page__guide:focus-within .home-page__runtime-toolbar span:nth-child(3){animation-delay:240ms}.home-page__runtime-window{display:grid;gap:9px;align-content:center;padding:18px}.home-page__runtime-window span{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 34%,transparent);transform-origin:left center}.home-page__runtime-window span:nth-child(1){width:34%}.home-page__runtime-window span:nth-child(2){width:72%}.home-page__runtime-window span:nth-child(3){width:58%}.home-page__runtime-window span:nth-child(4){width:46%}.home-page__guide:hover .home-page__runtime-window span,.home-page__guide:focus-within .home-page__runtime-window span{animation:home-guide-line-type 1100ms var(--transition-easing) both}.home-page__guide:hover .home-page__runtime-window span:nth-child(2),.home-page__guide:focus-within .home-page__runtime-window span:nth-child(2){animation-delay:90ms}.home-page__guide:hover .home-page__runtime-window span:nth-child(3),.home-page__guide:focus-within .home-page__runtime-window span:nth-child(3){animation-delay:180ms}.home-page__guide:hover .home-page__runtime-window span:nth-child(4),.home-page__guide:focus-within .home-page__runtime-window span:nth-child(4){animation-delay:270ms}.home-page__split-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-default);background:var(--surface-tabs)}.home-page__split-tabs span{padding:9px 11px;color:var(--text-muted);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__split-tabs span:first-child{border-right:1px solid var(--border-default);color:var(--text-active);box-shadow:inset 0 -2px 0 var(--accent)}.home-page__split-windows{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--border-default)}.home-page__split-windows div{display:grid;gap:9px;align-content:center;min-width:0;padding:18px 14px;background:var(--editor-bg)}.home-page__split-windows div:last-child{background:color-mix(in srgb,var(--editor-bg) 88%,var(--surface-control))}.home-page__split-windows span{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 24%,transparent);transform-origin:left center}.home-page__split-windows div:first-child span:nth-child(1),.home-page__split-windows div:last-child span:nth-child(2){width:80%}.home-page__split-windows div:first-child span:nth-child(2),.home-page__split-windows div:last-child span:nth-child(1){width:56%}.home-page__split-windows div:first-child span:nth-child(3),.home-page__split-windows div:last-child span:nth-child(3){width:68%}.home-page__guide:hover .home-page__split-windows span,.home-page__guide:focus-within .home-page__split-windows span{animation:home-guide-line-type 1100ms var(--transition-easing) both}.home-page__guide:hover .home-page__split-windows div:last-child span,.home-page__guide:focus-within .home-page__split-windows div:last-child span{animation-delay:140ms}@keyframes home-page-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes home-guide-dot-pulse{0%,100%{border-color:var(--border-default);background:var(--surface-control)}45%{border-color:var(--accent);background:var(--accent-soft)}}@keyframes home-guide-tab-scan{0%,100%{color:var(--text-muted);box-shadow:inset 0 -2px 0 transparent}45%{color:var(--text-active);box-shadow:inset 0 -2px 0 var(--accent)}}@keyframes home-guide-runtime-select{0%,100%{color:var(--text-muted);border-color:var(--border-default);background:var(--surface-control)}45%{color:var(--text-active);border-color:var(--accent);background:var(--accent-soft)}}@keyframes home-guide-line-type{0%{opacity:0.45;transform:scaleX(0.62)}55%{opacity:1;transform:scaleX(1.04)}100%{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.home-page__hero,.home-page__panel,.home-page__guide{animation:none}.home-page__guide,.home-page__guide-preview,.home-page__button,.home-page__panel,.home-page__panel h2,.home-page__panel a,.home-page__guide-activity span,.home-page__guide-tabs span,.home-page__guide-window span,.home-page__runtime-preview,.home-page__runtime-toolbar span,.home-page__runtime-window span,.home-page__split-preview,.home-page__split-windows span,.home-page__guide-copy li{transition:none}.home-page__guide:hover .home-page__guide-activity span,.home-page__guide:focus-within .home-page__guide-activity span,.home-page__guide:hover .home-page__guide-tabs span,.home-page__guide:focus-within .home-page__guide-tabs span,.home-page__guide:hover .home-page__guide-window span,.home-page__guide:focus-within .home-page__guide-window span,.home-page__guide:hover .home-page__runtime-toolbar span,.home-page__guide:focus-within .home-page__runtime-toolbar span,.home-page__guide:hover .home-page__runtime-window span,.home-page__guide:focus-within .home-page__runtime-window span,.home-page__guide:hover .home-page__split-windows span,.home-page__guide:focus-within .home-page__split-windows span{animation:none}}@media (max-width:720px){.home-page{gap:14px}.home-page__hero{padding-top:8px}.home-page__hero h1{font-size:26px}.home-page__grid{grid-template-columns:1fr}.home-page__guide{grid-template-columns:1fr}}@media (max-width:420px){.home-page__actions,.home-page__link-row{flex-direction:column;align-items:stretch}.home-page__button,.home-page__panel a{width:100%;white-space:normal}.home-page__ide-menu{width:100%}.home-page__ide-menu-panel a{white-space:normal}.home-page__guide{padding:10px}.home-page__guide-preview{grid-template-columns:32px minmax(0,1fr);min-height:128px}.home-page__guide-activity{padding-inline:6px}.home-page__guide-activity span{width:18px}.home-page__guide-tabs span{padding-inline:7px}}.tab{position:relative;display:flex;align-items:center;gap:6px;padding:8px 15px;min-width:var(--tab-min-width);max-width:var(--tab-max-width);flex:0 0 clamp(var(--tab-min-width),22vw,var(--tab-max-width));cursor:pointer;border-right:1px solid var(--border-default);color:var(--activity);overflow:hidden;-webkit-user-select:none;user-select:none}.tab::after{content:attr(data-tab-tooltip);position:fixed;top:var(--tab-tooltip-top,38px);left:var(--tab-tooltip-left,var(--activity-bar-width));z-index:var(--z-activity-bar);max-width:min(520px,calc(100vw - var(--activity-bar-width) - 24px));padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-tooltip);color:var(--text-active);font-size:var(--activity-tooltip-font-size);line-height:1.25;opacity:0;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease var(--transition-fast);visibility:hidden;white-space:nowrap}.tab:hover::after,.tab:focus-visible::after{opacity:1;transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease;visibility:visible}.tab-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.active{background:var(--surface-editor);border-bottom:1px solid var(--surface-editor);color:var(--text-active);box-shadow:inset 0 2px 0 var(--accent)}.tab.split-active{color:var(--text-active);box-shadow:inset 0 -2px 0 var(--accent)}.tab.active.split-active{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.tab.dragging{opacity:0.55}.tab.drag-before,.tab.active.drag-before,.tab.split-active.drag-before,.tab.active.split-active.drag-before{box-shadow:inset 2px 0 0 var(--accent)}.tab.drag-after,.tab.active.drag-after,.tab.split-active.drag-after,.tab.active.split-active.drag-after{box-shadow:inset -2px 0 0 var(--accent)}.close{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;border:0;background:var(--surface-transparent);color:var(--text-muted);cursor:pointer;font:inherit;width:var(--icon-size-small);height:var(--icon-size-small);flex:0 0 var(--icon-size-small);min-width:var(--icon-size-small);border-radius:var(--button-radius)}.close .icon{width:var(--icon-size-small);height:var(--icon-size-small);flex:0 0 var(--icon-size-small);pointer-events:none}.close:hover{background:var(--surface-hover);color:var(--text-active)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;background:var(--surface-transparent);color:var(--activity);cursor:pointer;font:inherit;font-size:var(--ui-font-size);line-height:1;border-radius:var(--button-radius)}.icon-button:hover,.icon-button.active{background:var(--surface-hover);color:var(--text-active)}.icon-button:disabled{cursor:default;color:var(--text-subtle)}.icon-button:disabled:hover{background:var(--surface-transparent);color:var(--text-subtle)}.tabs-scroll-button{width:30px;height:30px;flex:0 0 30px;padding:0;border:0;border-radius:0;background:var(--surface-transparent);color:var(--accent)}.tabs-scroll-button:not(:disabled){background:var(--surface-transparent);color:var(--accent)}.tabs-scroll-button:not(:disabled):hover,.tabs-scroll-button:not(:disabled):focus-visible{color:var(--text-active);outline:0}.tabs-scroll-button[hidden]{display:none}.tabs-scroll-icon{display:block;width:26px;height:26px}.tabs::-webkit-scrollbar-thumb{background:var(--accent)}.tabs::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 76%,var(--text-active))}.tabs-notice{position:absolute;top:38px;right:8px;z-index:var(--z-activity-bar);max-width:min(360px,calc(100vw - 24px));padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-tooltip);color:var(--text-active);font-size:var(--activity-tooltip-font-size);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs-notice.is-alert{border-color:var(--accent);border-color:color-mix(in srgb,var(--accent) 72%,var(--border-default));background:var(--surface-tooltip);background:color-mix(in srgb,var(--accent) 28%,var(--surface-tooltip));box-shadow:0 0 0 1px var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text-active);font-weight:var(--control-font-weight)}.tabs-notice[hidden]{display:none}.opened-tabs-menu{position:relative;display:none;align-items:center;gap:6px}.opened-tabs-menu[hidden],.opened-tabs-list[hidden],.opened-tabs-hint[hidden]{display:none}.opened-tabs-button{min-width:0;max-width:116px;height:26px;padding:0 8px;border:1px solid color-mix(in srgb,var(--accent) 68%,var(--border-default));border-radius:var(--button-radius);background:var(--surface-transparent);color:var(--activity);cursor:pointer;font:inherit;font-size:var(--ui-font-size-compact);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opened-tabs-button:hover,.opened-tabs-button:focus-visible,.opened-tabs-button[aria-expanded="true"]{background:var(--surface-hover);color:var(--text-active);outline:0}.opened-tabs-hint,.opened-tabs-list{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-activity-bar);border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-tooltip);color:var(--text-active);box-shadow:0 10px 28px rgb(0 0 0 / 0.28)}.opened-tabs-hint{width:max-content;max-width:min(260px,calc(100vw - var(--activity-bar-width) - 24px));padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);font-size:var(--activity-tooltip-font-size);line-height:1.25}.opened-tabs-list{display:grid;width:min(280px,calc(100vw - var(--activity-bar-width) - 16px));max-height:min(360px,calc(100vh - 72px));max-height:min(360px,calc(100dvh - 72px));overflow-y:auto;padding:4px}.opened-tabs-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;border:1px solid var(--accent);border-radius:var(--button-radius)}.opened-tabs-item + .opened-tabs-item{margin-top:4px}.opened-tabs-item-title{min-width:0;padding:7px 8px;border:0;border-radius:var(--button-radius);background:transparent;color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--ui-font-size-compact);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.opened-tabs-item-title:hover,.opened-tabs-item-title:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}.opened-tabs-item-close{margin-left:2px}.editor-split.split-drop-target{background:var(--surface-drop-target);box-shadow:inset 0 0 0 1px var(--accent)}@media (max-width:380px){.course-detail__rating{gap:5px;padding:5px 6px;font-size:var(--ui-font-size-small)}.course-detail__rating-label{font-size:var(--ui-font-size-compact)}.course-detail__rating-stars{font-size:calc(var(--ui-font-size) + 2px)}}@media (max-width:640px){.mobile-sidebar-hint{display:block}.sidebar-return-hint{display:flex}.activity-bar-toggle{display:inline-flex;margin-top:0}.activity-item--bottom{margin-bottom:10px}body.is-activity-bar-collapsed .activity-bar .activity-item{display:none}body.is-activity-bar-collapsed .activity-bar-toggle{position:fixed;bottom:8px;bottom:max(8px,calc(env(safe-area-inset-bottom) + 8px));left:6px;z-index:calc(var(--z-activity-bar) + 1);margin:0;background:var(--surface-activity)}body.is-activity-bar-collapsed .activity-bar-toggle-icon--hide{display:none}body.is-activity-bar-collapsed .activity-bar-toggle-icon--show{display:block}body.is-activity-bar-collapsed .tab::after{left:var(--tab-tooltip-left,12px);max-width:min(520px,calc(100vw - 24px))}body.is-activity-bar-collapsed .opened-tabs-hint{max-width:min(260px,calc(100vw - 24px))}body.is-activity-bar-collapsed .opened-tabs-list{width:min(280px,calc(100vw - 16px))}.activity-item{flex-direction:column;gap:var(--activity-item-mobile-gap);min-height:var(--activity-item-mobile-min-height);padding:var(--activity-item-mobile-padding-y) 0;font-size:var(--ui-font-size-compact)}.activity-item .icon{order:1;width:var(--icon-size-small);height:var(--icon-size-small);flex-basis:var(--icon-size-small)}.activity-item::before{display:block;order:2;max-width:100%;overflow:hidden;color:var(--text-muted);font-size:var(--activity-label-font-size);line-height:1.05;text-overflow:ellipsis;white-space:normal}.activity-item.is-collapsed-active::before{color:var(--text-active)}.activity-item::after{display:none}.sidebar-item,.sidebar-note,.settings-control,.tab{font-size:var(--ui-font-size-compact)}}@media (max-width:900px){.tabs-actions .split-button{display:none}.tabs-notice{right:8px;left:8px;max-width:none;white-space:normal;overflow-wrap:anywhere}.tabs .tab:not(.active){display:none}.tab.active{flex:1 1 auto;min-width:min(172px,calc(100vw - var(--activity-bar-width) - 150px));max-width:none}.opened-tabs-menu{display:inline-flex}.tab{cursor:pointer}}button,input,select,.activity-item,.activity-item::after,.activity-item::before,.sidebar h3,.sidebar-item,.sidebar-note,.settings-label,.settings-control,.settings-value,.tab,.status-bar,.typing-trainer__button,.typing-trainer__label,.typing-trainer__metrics,.typing-keyboard-panel__title,.typing-keyboard-panel__next,.typing-keyboard-panel__close,.typing-keyboard__key,.typing-keyboard__key-label{font-family:var(--font-family-ui);font-size:var(--control-font-size);font-weight:var(--control-font-weight)}.typing-keyboard__key-label + .typing-keyboard__key-label{font-size:var(--control-font-size)}@media (max-width:720px){.typing-keyboard__key{font-size:var(--control-font-size)}}@media (max-width:640px){.activity-item,.activity-item::before,.sidebar-item,.sidebar-note,.settings-control,.tab{font-size:var(--control-font-size)}.activity-item::before{font-size:var(--activity-label-font-size)}}*{margin:0;padding:0;box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{border:2px solid var(--scrollbar-track);border-radius:var(--scrollbar-radius);background:var(--scrollbar-thumb)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-button{display:none;width:0;height:0}body{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--surface-editor);color:var(--text-main);font-family:var(--font-family-ui);font-size:var(--ui-font-size)}.typing-trainer{display:grid;gap:var(--sidebar-padding);min-height:100%;color:var(--text-main)}.typing-trainer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.typing-trainer__header h1{margin-bottom:4px;color:var(--text-active);font-size:18px;line-height:1.25}.typing-trainer__share{flex:0 0 auto}.typing-trainer__share .icon{width:14px;height:14px}.typing-trainer__header p,.typing-trainer__hint{color:var(--text-muted);font-size:var(--ui-font-size-small)}.typing-trainer__mobile-notice{display:none}.typing-trainer__panel,.typing-trainer__quick-actions,.typing-trainer__metrics,.typing-trainer__surface{border:1px solid var(--border-default);background:var(--surface-sidebar)}.typing-trainer__panel,.typing-trainer__quick-actions,.typing-trainer__metrics{padding:12px}.typing-trainer__panel--sidebar{margin-top:12px}.typing-trainer__quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.typing-trainer__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.typing-trainer__row + .typing-trainer__row{margin-top:10px}.typing-trainer__label{color:var(--text-muted);font-size:var(--ui-font-size-small)}.typing-trainer__button{border:1px solid transparent;background:var(--button-bg-active);color:var(--button-text);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);line-height:1;padding:7px 10px;border-radius:var(--button-radius)}.typing-trainer__button--wide{flex:1 1 100%}.typing-trainer__button:hover:not(:disabled),.typing-trainer__button:focus-visible{background:var(--button-bg-hover);outline:0}.typing-trainer__button:disabled{cursor:default;opacity:var(--opacity-disabled)}.typing-trainer__button--toggle{background:var(--button-bg);color:var(--button-text)}.typing-trainer__button--toggle.is-active{border-color:var(--accent);background:var(--button-bg-active);color:var(--button-text)}.typing-trainer__metrics{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--text-muted);font-size:var(--ui-font-size-small)}.typing-trainer__metrics span{color:var(--text-active)}.typing-trainer__metric{display:inline-flex;align-items:center;gap:4px;min-height:36px}.typing-trainer__reset-best{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:2px;padding:0;border:1px solid var(--button-border);border-radius:var(--button-radius);background:var(--button-bg);color:var(--button-text);cursor:pointer;font:inherit;font-size:24px;line-height:1}.typing-trainer__reset-best:hover,.typing-trainer__reset-best:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);outline:0}.typing-trainer__surface{min-height:230px;padding:12px;outline:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;line-height:1.55;font-size:var(--ui-font-size);caret-color:var(--caret-hidden)}.typing-trainer__surface:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.typing-trainer__placeholder{color:var(--text-placeholder)}.typing-trainer__char{color:var(--text-placeholder)}.typing-trainer__char.is-correct{color:var(--text-main)}.typing-trainer__char.is-wrong{background:var(--error-bg);color:var(--error)}.typing-trainer__char.is-current{background:var(--accent-soft);outline:1px solid var(--accent)}.typing-keyboard-panel{position:fixed;right:20px;bottom:32px;z-index:var(--z-activity-bar);width:min(760px,calc(100vw - 24px));padding:10px;border:1px solid var(--border-default);background:var(--surface-panel-translucent);box-shadow:0 16px 40px var(--shadow-panel);touch-action:none;-webkit-user-select:none;user-select:none}.typing-keyboard-panel[hidden]{display:none}.typing-keyboard-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 8px;cursor:move}.typing-keyboard-panel__title{color:var(--text-active);font-size:var(--ui-font-size-small);font-weight:700}.typing-keyboard-panel__actions{display:flex;align-items:center;gap:8px}.typing-keyboard-panel__next{min-width:120px;color:var(--text-muted);font-size:var(--ui-font-size-small);text-align:right}.typing-keyboard-panel__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:var(--button-bg);color:var(--button-text);cursor:pointer;font:inherit;font-size:18px;line-height:1;border-radius:var(--button-radius)}.typing-keyboard-panel__close:hover,.typing-keyboard-panel__close:focus-visible{background:var(--button-bg-hover);color:var(--button-text);outline:0}.typing-keyboard-panel.is-dragging{cursor:grabbing}.typing-keyboard{display:grid;gap:6px}.typing-keyboard__row{display:flex;gap:6px}.typing-keyboard__key{display:flex;flex:var(--key-width) 1 0;align-items:center;justify-content:center;min-width:0;height:34px;padding:0 6px;overflow:hidden;border:1px solid var(--border-default);background:var(--surface-key);color:var(--text-main);font-size:var(--ui-font-size-small);line-height:1;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--keyboard-key-radius)}.typing-keyboard__key-label + .typing-keyboard__key-label{margin-left:3px;color:var(--text-muted);font-size:11px}.typing-keyboard__key.is-active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent);box-shadow:0 0 0 2px var(--accent-ring)}.typing-keyboard__key.is-active .typing-keyboard__key-label + .typing-keyboard__key-label{color:var(--text-on-accent-muted)}.typing-keyboard__key.is-helper{border-color:var(--accent-hover);background:var(--surface-key-helper);color:var(--text-on-accent)}@media (max-width:900px){.typing-trainer{align-content:start}.typing-trainer__mobile-notice{display:grid;gap:6px;padding:14px;border:1px solid var(--accent-ring);background:var(--accent-soft);color:var(--text-main);font-size:var(--ui-font-size);line-height:1.45}.typing-trainer__mobile-notice strong{color:var(--text-active)}.typing-trainer__mobile-notice--sidebar{margin:8px 0 0;font-size:var(--ui-font-size-small)}.typing-trainer__quick-actions,.typing-trainer__metrics,.typing-trainer__surface,.typing-trainer__hint,.typing-trainer__panel--sidebar,.typing-keyboard-panel{display:none!important}}.code-playground{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:100%;color:var(--text-main)}.code-playground-intro{display:grid;max-width:760px;gap:10px;color:var(--text-main)}.code-playground-intro h1{margin:0;color:var(--text-active);font-size:var(--ui-font-size-heading);font-weight:var(--control-font-weight)}.code-playground-intro p,.code-playground-intro noscript{color:var(--text-muted);line-height:1.5}.code-playground__sidebar-heading{margin-bottom:8px}.code-playground__panel{display:grid;gap:6px;margin-top:8px;background:var(--surface-sidebar)}.code-playground__sidebar-tabs{display:grid;gap:5px;min-width:0;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.code-playground__sidebar-tab{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:34px;padding:0 10px 0 12px;overflow:hidden;border:1px solid transparent;border-radius:4px;background:var(--surface-transparent);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);text-align:left}.code-playground__sidebar-tab:hover,.code-playground__sidebar-tab:focus-visible,.code-playground__sidebar-tab.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--border-default));background:var(--surface-hover);color:var(--text-active);outline:0}.code-playground__sidebar-tab::before{content:"";position:absolute;inset:-1px auto -1px -8px;width:14px;background:color-mix(in srgb,var(--accent) 76%,var(--surface-hover));opacity:0;transform:skewX(-18deg);transition:opacity var(--transition-fast) var(--transition-easing)}.code-playground__sidebar-tab.is-active::before{opacity:1}.code-playground__sidebar-tab-icon,.code-playground__button-icon,.code-playground__node-icon{display:inline-block;flex:0 0 auto;width:var(--icon-size-small);height:var(--icon-size-small);fill:none;stroke:currentColor}.code-playground__sidebar-tab-label{position:relative;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__sidebar-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0}.code-playground__sidebar-page[data-code-playground-files-page]{position:relative;grid-template-rows:auto auto minmax(0,1fr) auto auto}.code-playground__sidebar-page[hidden]{display:none}.code-playground__section{display:grid;gap:7px;min-width:0}.code-playground__section--collapsible{padding:0 0 9px;border-bottom:1px solid var(--border-default)}.code-playground__section--collapsible:last-child{padding-bottom:0;border-bottom:0}.code-playground__section-title{display:flex;align-items:center;gap:7px;min-height:28px;padding:3px 2px;color:var(--text-muted);cursor:pointer;font-size:var(--ui-font-size-small);line-height:1.2;text-transform:uppercase;-webkit-user-select:none;user-select:none}.code-playground__section-title span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__section-title:hover,.code-playground__section-title:focus-visible{color:var(--text-active);outline:0}.code-playground__section-title::-webkit-details-marker{display:none}.code-playground__section-title::before{content:"";flex:0 0 auto;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transform:rotate(90deg);transition:transform var(--transition-fast) var(--transition-easing)}.code-playground__section-meta{margin-left:auto;overflow:hidden;color:var(--text-subtle);font-size:calc(var(--ui-font-size-small) - 2px);font-weight:var(--control-font-weight);text-transform:none;text-overflow:ellipsis;white-space:nowrap}.code-playground__section--collapsible:not([open])>.code-playground__section-title::before{transform:rotate(0deg)}.code-playground__files{display:grid;min-width:0}.code-playground__project-root-label{display:flex;align-items:center;min-height:20px;margin:7px 0 4px;padding:0 6px;color:var(--accent);font-family:var(--font-mono);font-size:calc(var(--ui-font-size-small) - 1px);font-weight:var(--control-font-weight);letter-spacing:0;border-left:2px solid currentColor;cursor:pointer;-webkit-user-select:none;user-select:none}.code-playground__project-root-label:hover,.code-playground__project-root-label:focus-visible,.code-playground__project-root-label.is-active{color:var(--text-active);background:color-mix(in srgb,var(--accent) 14%,transparent);outline:0}.code-playground__drop-zone{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:5px;min-width:0;min-height:220px;padding:4px;overflow:hidden;border:1px dashed var(--border-default);border-radius:4px;background:var(--surface-control)}.code-playground__drop-zone.is-drag-over{border-color:var(--border-focus);background:var(--surface-hover)}.code-playground__drop-zone.is-root-drop-target,.code-playground__drop-zone.is-import-drop-target{border-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 32%),var(--surface-hover);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 54%,transparent),inset 3px 0 0 var(--accent)}body.is-code-playground-dragging .code-playground__drop-zone{border-color:var(--border-focus)}body.is-code-playground-dragging .code-playground__drop-zone .code-playground__drop-hint::after{content:" to root"}.code-playground__drop-hint{margin:0;color:var(--text-subtle);font-size:calc(var(--ui-font-size-small) - 2px);text-align:center}.code-playground__project-limits{position:sticky;bottom:0;z-index:2;display:grid;justify-items:end;min-width:0;margin-top:-2px;pointer-events:none}.code-playground__project-limits-button{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:20px;padding:0 8px 0 15px;overflow:hidden;border:0;background:color-mix(in srgb,var(--accent) 72%,var(--surface-control));color:#000;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%);cursor:pointer;font:inherit;font-size:calc(var(--ui-font-size-small) - 4px);font-weight:700;line-height:1;pointer-events:auto;text-overflow:ellipsis;white-space:nowrap}.code-playground__project-limits-button:hover,.code-playground__project-limits-button:focus-visible,.code-playground__project-limits-button[aria-expanded="true"]{filter:brightness(1.12);outline:0}.code-playground__project-limits-popup{position:fixed;top:var(--code-playground-project-limits-top,0);left:var(--code-playground-project-limits-left,0);z-index:1000;width:min(260px,calc(100vw - var(--activity-bar-width) - 24px));max-height:min(70vh,340px);overflow:auto;padding:8px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-tooltip);box-shadow:0 10px 28px rgb(0 0 0 / 0.28);color:var(--text-active);font-size:calc(var(--ui-font-size-small) - 2px);line-height:1.3;pointer-events:auto}.code-playground__project-limits-popup[hidden]{display:none}.code-playground__project-limits-popup h4{margin:0 0 6px;color:var(--accent);font-size:calc(var(--ui-font-size-small) - 1px);font-weight:700}.code-playground__project-limits-popup dl{display:grid;gap:5px;margin:0}.code-playground__project-limits-popup dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.code-playground__project-limits-popup dt{min-width:0;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.code-playground__project-limits-popup dd{margin:0;color:var(--text-active);white-space:nowrap}.code-playground__project-libraries{display:grid;gap:5px;min-width:0;margin-top:8px;padding:7px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.3}.code-playground__project-libraries[hidden]{display:none}.code-playground__project-libraries-title{color:var(--text-main);font-size:10px;font-weight:700;text-transform:uppercase}.code-playground__project-libraries-rows{display:grid;gap:3px;min-width:0}.code-playground__project-libraries-row{display:grid;gap:2px;min-width:0}.code-playground__project-libraries-runtime{color:var(--accent);font-family:var(--font-mono);font-size:10px}.code-playground__project-libraries-list{display:grid;gap:2px;min-width:0;margin:0;padding:0;list-style:none}.code-playground__project-libraries-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0;color:var(--text-main);font-size:10px}.code-playground__project-libraries-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__project-libraries-status{justify-self:end;max-width:94px;overflow:hidden;padding:0 4px;border:1px solid var(--border-default);border-radius:3px;color:var(--text-muted);font-size:9px;font-weight:700;line-height:1.35;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.code-playground__project-libraries-status[data-status="verified"]{border-color:var(--accent-ring);color:var(--accent)}.code-playground__project-libraries-status[data-status="adapted"]{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__project-libraries-status[data-status="limited"]{border-color:var(--button-border-active);color:var(--text-muted)}.code-playground__project-libraries-status[data-status="blocked"]{border-color:var(--danger,#e55353);color:var(--danger,#e55353)}.code-playground__project-libraries-notices{display:grid;gap:3px;margin:0;padding-left:14px;color:var(--text-muted);font-size:10px}.code-playground__project-libraries-notice[data-level="warning"]{color:var(--warning,#d9a441)}.code-playground__tree-list{display:grid;gap:2px;min-width:0;align-content:start}.code-playground__files{overflow:auto}.code-playground__tree-list--children{margin-left:13px}.code-playground__file,.code-playground__folder{position:relative;display:flex;align-items:center;gap:5px;width:100%;min-width:0;min-height:28px;padding:5px 7px;overflow:hidden;border:1px solid transparent;border-radius:4px;background:var(--surface-transparent);color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap}.code-playground__folder-toggle{flex:0 0 auto;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transform:rotate(0deg);transition:transform var(--transition-fast) var(--transition-easing)}.code-playground__folder.is-open .code-playground__folder-toggle{transform:rotate(90deg)}.code-playground__node-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__file:hover,.code-playground__folder:hover,.code-playground__folder.is-active,.code-playground__file.is-active{border-color:var(--border-default);background:var(--surface-hover);color:var(--text-active)}.code-playground__file.is-active{box-shadow:inset 2px 0 0 var(--accent)}.code-playground__folder.is-drop-target{border-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent 46%),var(--surface-hover);color:var(--text-active);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 62%,transparent),inset 3px 0 0 var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.code-playground__folder.is-drop-target .code-playground__node-icon,.code-playground__folder.is-drop-target .code-playground__folder-toggle{color:var(--accent)}.code-playground__folder{color:var(--text-muted)}.code-playground__tree-draft{display:flex;align-items:center;gap:5px;min-width:0;min-height:28px;padding:3px 7px;border:1px solid var(--border-focus);border-radius:4px;background:var(--surface-hover)}.code-playground__tree-input{width:100%;min-width:0;border:0;background:var(--surface-transparent);color:var(--text-active);font:inherit;font-size:var(--ui-font-size-small);outline:0}.code-playground__field{display:grid;gap:5px;min-width:0}.code-playground__label{color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__notices{display:grid;gap:3px;min-width:0}.code-playground__security-note{margin:0;padding:6px 10px;border:1px solid var(--border-default);background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.4}.code-playground__security-help-trigger{display:inline;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:var(--ui-font-size-small);line-height:inherit;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}.code-playground__security-help-trigger:hover,.code-playground__security-help-trigger:focus-visible,.code-playground__security-help-trigger[aria-expanded="true"]{color:var(--accent-hover);text-decoration-style:solid;outline:0}.code-playground__security-help-popover{position:fixed;top:var(--code-playground-security-help-top,0);left:var(--code-playground-security-help-left,0);z-index:1000;width:min(38ch,var(--code-playground-security-help-max-width,calc(100vw - 20px)));min-width:min(220px,var(--code-playground-security-help-max-width,calc(100vw - 20px)));max-height:var(--code-playground-security-help-max-height,min(70vh,340px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:9px 10px;border:1px solid var(--accent-ring);border-radius:6px;background:var(--surface-panel-translucent,var(--surface-sidebar));color:var(--text-muted);box-shadow:0 14px 32px rgba(0,0,0,0.36);font-size:var(--ui-font-size-small);line-height:1.4;white-space:pre-line}.code-playground__security-help-popover[hidden]{display:none}.code-playground__unsaved-notice{margin:0;padding:3px 10px;border:1px solid var(--border-default);border:1px solid color-mix(in srgb,var(--warning-border) 45%,var(--border-default));background:color-mix(in srgb,var(--warning-bg) 24%,var(--surface-control));color:color-mix(in srgb,var(--warning-text) 55%,var(--text-muted));font-size:calc((var(--ui-font-size-small) - 2px) * 0.7);line-height:1.25}:root:not([data-theme="light"]) .code-playground__unsaved-notice{color:color-mix(in srgb,var(--text-active) 82%,var(--warning-bg))}.code-playground__unsaved-notice[hidden]{display:none}.code-playground__row{display:flex;flex-wrap:wrap;gap:6px}.code-playground__row--tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.code-playground__row--primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.code-playground__run-note{margin:-2px 0 2px;color:var(--text-muted);font-size:calc(var(--ui-font-size-small) - 1px);line-height:1.25}.code-playground__select{width:100%;min-width:0;min-height:var(--settings-control-height);border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);font:inherit;font-size:var(--control-font-size);padding:0 var(--settings-control-padding-x)}.code-playground__select:focus{border-color:var(--border-focus);outline:0}.code-playground__textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);font:inherit;font-size:var(--control-font-size);line-height:1.4;padding:7px var(--settings-control-padding-x)}.code-playground__textarea:focus{border-color:var(--border-focus);outline:0}.code-playground__textarea::placeholder{color:var(--text-subtle)}.code-playground__range-row{display:flex;align-items:center;gap:var(--settings-row-gap);min-width:0}.code-playground__range{flex:1 1 auto;min-width:0;accent-color:var(--accent)}.code-playground__range-value{width:var(--settings-value-width);flex:0 0 var(--settings-value-width);color:var(--text-muted);font-size:var(--ui-font-size-small);text-align:right}.code-playground__button{flex:1 1 auto;min-height:var(--settings-control-height);padding:0 10px;border:1px solid var(--button-border);border-radius:4px;background:var(--button-bg-active);color:var(--button-text);cursor:pointer;font:inherit;font-size:var(--control-font-size);line-height:1;white-space:nowrap}.code-playground__button:hover:not(:disabled),.code-playground__button:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);outline:0}.code-playground__button:disabled{cursor:default;opacity:var(--opacity-disabled)}.code-playground__button--secondary{background:var(--button-bg)}.code-playground__button--compact{min-height:28px;padding:0 8px;font-size:var(--ui-font-size-small)}.code-playground__button--tool{min-height:28px;padding:0 6px;background:var(--button-bg);color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__button--tool:hover:not(:disabled),.code-playground__button--tool:focus-visible{color:var(--text-active)}.code-playground__button--sql{color:color-mix(in srgb,var(--accent) 82%,var(--text-active));font-weight:var(--control-font-weight)}.code-playground__button--icon{display:inline-flex;align-items:center;justify-content:center}.code-playground__upload-input{display:none}.code-playground__language-panel[hidden]{display:none}.code-playground__runtime{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto;align-items:center;gap:6px;min-width:0;min-height:30px;padding:5px 7px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.code-playground__status-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.code-playground__runtime-name{min-width:0;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.code-playground__runtime-state{min-width:0;overflow:hidden;color:var(--text-active);text-align:right;text-overflow:ellipsis;white-space:nowrap}.code-playground__runtime-help{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:1px solid var(--button-border);border-radius:50%;background:var(--button-bg);color:var(--button-text);text-decoration:none;font-size:var(--ui-font-size-small);line-height:1}.code-playground__runtime-help:hover,.code-playground__runtime-help:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);outline:0}.code-playground__dependencies{display:grid;gap:6px;min-width:0;margin:8px 0 0;padding:0;border:0}.code-playground__dependencies-title{padding:0;color:var(--text-muted);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight)}.code-playground__dependencies-heading{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;max-width:100%;min-width:0}.code-playground__dependencies-toggle{display:inline-grid;grid-template-columns:12px minmax(0,1fr);gap:5px;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.code-playground__dependencies-heading>.code-playground__dependencies-toggle{grid-column:1;grid-row:1}.code-playground__dependencies-heading>.code-playground__help-button{grid-column:2;grid-row:1;justify-self:end}.code-playground__dependencies-toggle:hover,.code-playground__dependencies-toggle:focus-visible{color:var(--text-main);outline:0}.code-playground__dependencies-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transform-origin:center;transition:transform 0.12s ease}.code-playground__dependencies-toggle[aria-expanded="true"] .code-playground__dependencies-chevron{transform:rotate(45deg)}.code-playground__help-button{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid var(--accent);border-radius:50%;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:11px;font-weight:700;line-height:1;box-shadow:0 0 0 1px var(--accent-ring);cursor:pointer}.code-playground__help-button:hover,.code-playground__help-button:focus-visible,.code-playground__help-button[aria-expanded="true"]{border-color:var(--accent-hover);background:var(--accent);color:var(--text-on-accent);outline:0}.code-playground__help-popover{position:fixed;top:var(--code-playground-help-top,0);left:var(--code-playground-help-left,0);z-index:1000;width:min(340px,calc(100vw - 20px));max-height:min(70vh,360px);overflow:auto;padding:8px 9px;border:1px solid var(--accent-ring);border-radius:6px;background:var(--surface-panel-translucent,var(--surface-sidebar));color:var(--text-muted);box-shadow:0 14px 32px rgba(0,0,0,0.36);font-size:var(--ui-font-size-small);line-height:1.35}.code-playground__help-popover[hidden]{display:none}.code-playground__help-popover ul{display:grid;gap:5px;margin:0;padding-left:16px}.code-playground__help-popover p{margin:0 0 6px}.code-playground__help-popover p:last-child{margin-bottom:0}.code-playground__dependency-filter{width:100%;min-width:0;height:28px;padding:0 7px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small)}.code-playground__dependency-filter:focus{border-color:var(--button-border-active);outline:0}.code-playground__dependency-filter[hidden]{display:none}.code-playground__dependency-tested-filter{display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;min-width:0;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.3}.code-playground__dependency-tested-filter[hidden]{display:none}.code-playground__dependency-tested-filter input{margin:0;accent-color:var(--accent)}.code-playground__extra-dependencies{display:grid;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border-default)}.code-playground__dependencies-toggle--extra{color:var(--text-muted)}.code-playground__micropip-form{display:grid;gap:5px;min-width:0}.code-playground__micropip-form[hidden]{display:none}.code-playground__micropip-field{display:grid;gap:4px;min-width:0}.code-playground__micropip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;min-width:0}.code-playground__dependency-list{display:grid;gap:4px;min-width:0}.code-playground__dependency-list[hidden]{display:none}.code-playground__dependency-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;min-width:0;padding:5px 7px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.3}.code-playground__dependency-item:hover{color:var(--text-main)}.code-playground__dependency-item.is-selected{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__dependency-item input{margin:1px 0 0;accent-color:var(--accent)}.code-playground__dependency-copy{display:grid;gap:1px;min-width:0}.code-playground__dependency-name{overflow:hidden;color:var(--text-main);font-weight:var(--control-font-weight);text-overflow:ellipsis;white-space:nowrap}.code-playground__dependency-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__dependency-adapters{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.code-playground__dependency-adapter{max-width:100%;padding:1px 5px;border:1px solid var(--border-default);border-radius:4px;overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}button.code-playground__dependency-adapter{appearance:none;background:transparent;cursor:pointer}button.code-playground__dependency-adapter:hover,button.code-playground__dependency-adapter:focus-visible,button.code-playground__dependency-adapter[aria-expanded="true"]{border-color:var(--accent);color:var(--text-main);outline:0}.code-playground__dependency-status{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__dependency-status[data-status="verified"]{border-color:var(--accent-ring);color:var(--accent)}.code-playground__dependency-status[data-status="adapted"]{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__dependency-status[data-status="limited"]{border-color:var(--button-border-active);color:var(--text-muted)}.code-playground__dependency-status[data-status="custom"]{border-color:var(--button-border-active);color:var(--text-muted)}.code-playground__dependency-adapter[data-status="planned"]{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__dependency-adapter[data-status="available"]{color:var(--text-muted)}.code-playground__support-popover{position:fixed;top:var(--code-playground-support-top,0);left:var(--code-playground-support-left,0);z-index:1000;display:grid;gap:7px;width:min(320px,calc(100vw - 20px));max-height:min(70vh,340px);overflow:auto;padding:9px 10px;border:1px solid var(--accent-ring);border-radius:6px;background:var(--surface-panel-translucent,var(--surface-sidebar));color:var(--text-muted);box-shadow:0 14px 32px rgba(0,0,0,0.36);font-size:var(--ui-font-size-small);line-height:1.35}.code-playground__support-popover[hidden]{display:none}.code-playground__support-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}.code-playground__support-title{overflow:hidden;color:var(--text-main);font-size:var(--ui-font-size-small);text-overflow:ellipsis;white-space:nowrap}.code-playground__support-status{padding:1px 5px;border:1px solid var(--border-default);border-radius:4px;color:var(--text-muted);font-size:10px;font-weight:700;line-height:1.35;text-transform:uppercase}.code-playground__support-status[data-status="verified"]{border-color:var(--accent-ring);color:var(--accent)}.code-playground__support-status[data-status="adapted"]{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__support-status[data-status="limited"]{border-color:var(--button-border-active);color:var(--text-muted)}.code-playground__support-status[data-status="blocked"]{border-color:var(--danger,#e55353);color:var(--danger,#e55353)}.code-playground__support-text{margin:0}.code-playground__support-summary{margin:0;color:var(--text-main)}.code-playground__support-meta{margin:0;padding:5px 6px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:10px}.code-playground__support-meta--network{border-color:var(--button-border-active);color:var(--text-main)}.code-playground__support-origin{overflow-wrap:anywhere}.code-playground__support-origin code{color:var(--text-main);font-family:var(--font-code)}.code-playground__support-kicker{color:var(--text-main);font-size:10px;font-weight:700;text-transform:uppercase}.code-playground__support-list{display:grid;gap:3px;margin:0;padding-left:16px}.code-playground__sandbox-display{display:grid;min-height:280px;border:1px solid var(--border-default);border-radius:4px;overflow:hidden;background:#ffffff}.code-playground__sandbox-frame{display:block;width:100%;min-height:280px;border:0;background:#ffffff}.code-playground__sandbox-frame[hidden]{display:none}.code-playground__file-tabs-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;max-height:90px;background:var(--surface-tabs)}.code-playground__file-tabs{display:flex;grid-column:1;grid-row:1;flex:1 1 auto;flex-wrap:wrap;min-width:0;overflow-y:auto;border:1px solid var(--border-default);border-bottom:0}.code-playground__file-tab{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:stretch;min-width:86px;max-width:190px;border:0;border-right:1px solid var(--border-default);background:var(--surface-transparent);color:var(--text-muted);font:inherit;font-size:var(--ui-font-size-small);line-height:1.2}.code-playground__file-tab:hover,.code-playground__file-tab.is-active{background:var(--surface-editor);color:var(--text-active)}.code-playground__file-tab-label,.code-playground__file-tab-close{min-width:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.code-playground__file-tab-label{position:relative;padding:7px 4px 7px 10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.code-playground__file-tab-label::after{content:attr(data-file-tooltip);position:fixed;top:var(--code-playground-file-tooltip-top,74px);left:var(--code-playground-file-tooltip-left,var(--activity-bar-width));z-index:var(--z-activity-bar);max-width:min(560px,calc(100vw - var(--activity-bar-width) - 24px));padding:var(--activity-tooltip-padding-y) var(--activity-tooltip-padding-x);border:1px solid var(--border-default);border-radius:var(--button-radius);background:var(--surface-tooltip);color:var(--text-active);font-size:var(--activity-tooltip-font-size);line-height:1.25;opacity:0;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease var(--transition-fast);visibility:hidden;white-space:nowrap}.code-playground__file-tab-label:hover::after,.code-playground__file-tab-label:focus-visible::after{opacity:1;transition:opacity var(--transition-fast) var(--transition-easing),visibility 0s ease;visibility:visible}.code-playground__file-tab-close{display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:0.7}.code-playground__file-tab-close:hover,.code-playground__file-tab-close:focus-visible{color:var(--text-active);opacity:1;outline:0}.code-playground__terminal-actions{display:inline-flex;align-items:center;gap:6px;min-width:0}.code-playground__terminal-actions-label{min-width:0;overflow:hidden;color:var(--text-subtle);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight);text-overflow:ellipsis;white-space:nowrap}.code-playground__terminal-actions .code-playground__button{align-self:center;flex:0 0 auto}.code-playground__file-actions{display:inline-flex;grid-column:2;grid-row:1;justify-self:end;align-self:stretch}.code-playground__icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;border:0;border-left:1px solid var(--border-default);background:var(--button-bg);color:var(--button-text);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);line-height:1}.code-playground__terminal-restore-button{width:auto;min-width:0;padding:0 9px;white-space:nowrap}.code-playground__terminal-restore-button[hidden]{display:none}.code-playground__icon-button:hover:not(:disabled),.code-playground__icon-button:focus-visible{background:var(--button-bg-hover);outline:0}.code-playground__icon-button:disabled{cursor:default;opacity:var(--opacity-disabled)}.code-playground__body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,0.65fr);gap:10px;min-height:0}.code-playground__page-scroll-handle{display:none}.code-playground__page-scroll-icon{width:22px;height:22px;color:currentColor;pointer-events:none}.code-playground__page-scroll-icon--up{transform:rotate(90deg)}.code-playground__page-scroll-icon--down{transform:rotate(90deg);margin-top:-7px}.code-playground.is-terminal-collapsed .code-playground__body,.code-playground.is-terminal-detached .code-playground__body{grid-template-columns:minmax(0,1fr)}.code-playground.is-terminal-collapsed .code-playground__output,.code-playground.is-terminal-detached .code-playground__output{display:none}.code-playground__output[hidden]{display:none}.code-playground__editor,.code-playground__output{min-width:0;min-height:0;border:1px solid var(--border-default);background:var(--surface-sidebar)}.code-playground__editor{position:relative;z-index:1;overflow:visible}.code-playground__monaco-host,.code-playground__preview{position:absolute;inset:0;min-width:0;min-height:0}.code-playground__monaco-host[hidden],.code-playground__preview[hidden]{display:none}.code-playground__monaco-host .monaco-editor{font-family:"Consolas","Courier New",monospace}.code-playground__preview{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;color:var(--text-main)}.code-playground__preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border-bottom:1px solid var(--border-default)}.code-playground__preview-meta{display:grid;gap:2px;min-width:0}.code-playground__preview-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.code-playground__preview-title,.code-playground__preview-details{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__preview-title{color:var(--text-main);font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight)}.code-playground__preview-details,.code-playground__preview-empty{color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__preview-media,.code-playground__preview-empty{display:grid;place-items:center;min-width:0;min-height:0;overflow:auto;padding:12px}.code-playground__sqlite-start{align-content:center;gap:10px;text-align:center}.code-playground__sqlite-start-title{color:var(--text-main);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.code-playground__sqlite-start-text{max-width:54ch;margin:0;line-height:1.5}.code-playground__sqlite-start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.code-playground__sqlite-picker{display:grid;gap:6px;width:min(100%,460px)}.code-playground__sqlite-picker-item{justify-content:flex-start;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.code-playground__preview-media img,.code-playground__preview-media video{display:block;max-width:100%;max-height:100%}.code-playground__preview-media audio{width:min(100%,520px)}.code-playground__preview-media iframe{width:100%;height:100%;min-height:360px;border:0}.code-playground__table-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;padding:0;background:var(--editor-bg);color:var(--text-main);font-family:"Consolas","Courier New",monospace;font-size:var(--code-playground-sql-font-size,14px)}.code-playground__table-preview-summary{padding:6px 8px;border-bottom:1px solid var(--border-default);color:var(--text-muted)}.code-playground__table-preview-scroll{width:100%;height:100%;overflow:auto}.code-playground__table-preview table{width:100%;min-width:max-content;border-collapse:collapse}.code-playground__table-preview th,.code-playground__table-preview td{max-width:360px;padding:6px 8px;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.code-playground__table-preview th{position:sticky;top:0;z-index:1;background:var(--panel-bg);color:var(--text-main);font-weight:var(--control-font-weight)}.code-playground__sqlite{--code-playground-sql-font-size:14px;display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.code-playground__sqlite-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;border-right:1px solid var(--border-default);background:var(--panel-bg)}.code-playground__sqlite-section-title,.code-playground__sqlite-status{padding:8px 10px;color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__sqlite-section-title{border-bottom:1px solid var(--border-default);color:var(--text-main);font-weight:var(--control-font-weight)}.code-playground__sqlite-table-list{min-width:0;min-height:0;overflow:auto;padding:6px;color:var(--text-muted);font-size:var(--code-playground-sql-font-size)}.code-playground__sqlite-table-item{display:grid;gap:4px;padding:2px 0 6px;border-bottom:1px solid var(--border-default)}.code-playground__sqlite-table{display:block;width:100%;min-width:0;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-main);font:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.code-playground__sqlite-table:hover,.code-playground__sqlite-table:focus-visible,.code-playground__sqlite-table.is-active{border-color:var(--button-border-active);background:var(--button-bg-hover)}.code-playground__sqlite-table.is-refreshed{border-color:color-mix(in srgb,var(--accent) 72%,var(--button-border-active));background:color-mix(in srgb,var(--accent) 16%,var(--button-bg-hover))}.code-playground__sqlite-table-actions{display:flex;flex-wrap:wrap;gap:4px;padding:0 2px}.code-playground__sqlite-table-action{padding:3px 6px;border:1px solid var(--button-border);border-radius:4px;background:var(--button-bg);color:var(--text-muted);font:inherit;cursor:pointer}.code-playground__sqlite-table-action:hover,.code-playground__sqlite-table-action:focus-visible{border-color:var(--button-border-active);background:var(--button-bg-hover);color:var(--text-main)}.code-playground__sqlite-table-action:disabled{opacity:0.55;cursor:default}.code-playground__sqlite-toolbar .code-playground__button:disabled{opacity:0.55}.code-playground__sqlite-columns{display:grid;gap:3px;padding:2px 4px 0 10px;color:var(--text-muted)}.code-playground__sqlite-column{display:grid;gap:1px;min-width:0}.code-playground__sqlite-column-name,.code-playground__sqlite-column-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-playground__sqlite-column-name{color:var(--text-main)}.code-playground__sqlite-column-type{font-size:max(11px,calc(var(--code-playground-sql-font-size) - 2px))}.code-playground__sqlite-main{display:grid;grid-template-rows:auto auto minmax(120px,32%) auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.code-playground__sqlite-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-default)}.code-playground__sqlite-database-notice{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 34%,var(--border-default));background:color-mix(in srgb,var(--accent) 12%,var(--surface-control));color:color-mix(in srgb,var(--accent) 72%,var(--text-main));font-size:var(--ui-font-size-small)}.code-playground__sqlite-database-notice[hidden]{display:none}.code-playground__sqlite-limit{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__sqlite-limit-select{height:26px;min-width:64px;border:1px solid var(--button-border);border-radius:4px;background:var(--button-bg);color:var(--text-main);font:inherit}.code-playground__sqlite-editor{min-width:0;min-height:120px;border-bottom:1px solid var(--border-default)}.code-playground__sqlite-textarea{width:100%;height:100%;resize:none;border:0;outline:0;padding:10px;background:var(--editor-bg);color:var(--text-main);font-family:"Consolas","Courier New",monospace;font-size:var(--code-playground-sql-font-size)}.code-playground__sqlite-status{border-bottom:1px solid var(--border-default)}.code-playground__sqlite-results{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.code-playground__sqlite-result-summary{padding:6px 8px;border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:var(--code-playground-sql-font-size)}.code-playground__sqlite-grid-scroll{width:100%;height:100%;overflow:auto}.code-playground__sqlite-results table{width:100%;min-width:max-content;border-collapse:collapse;font-size:var(--code-playground-sql-font-size)}.code-playground__sqlite-results th,.code-playground__sqlite-results td{max-width:360px;padding:6px 8px;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.code-playground__sqlite-results th{position:sticky;top:0;z-index:1;background:var(--panel-bg);color:var(--text-main);font-weight:var(--control-font-weight)}.code-playground__sqlite-empty,.code-playground__sqlite-error{padding:12px;color:var(--text-muted);font-size:var(--code-playground-sql-font-size)}.code-playground__sqlite-error{color:var(--error)}.code-playground__detached-viewer{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100%;color:var(--text-main)}@media (max-width:820px){.code-playground__sqlite{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.code-playground__sqlite-sidebar{max-height:140px;border-right:0;border-bottom:1px solid var(--border-default)}}.suggest-widget .monaco-list-row .contents .main{align-items:center!important;flex-direction:row!important;height:20px!important}.suggest-widget .monaco-list-row .contents .main .suggest-icon.codicon{flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important}.suggest-widget .monaco-list-row .contents .main .left{min-width:0!important}.code-playground__output{display:grid;grid-template-rows:auto minmax(0,1fr)}.code-playground__output-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:var(--ui-font-size-small)}.code-playground__output-body{margin:0;padding:10px;overflow:auto;color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small);line-height:1.45;white-space:pre-wrap}.code-playground__output-body.has-error{color:var(--error)}.code-playground__terminal{min-width:0;min-height:0;overflow:hidden}.code-playground__terminal[hidden]{display:none}.code-playground__terminal--detached{height:100%}.code-playground__terminal .xterm{height:100%;padding:8px}@media (min-width:901px) and (max-width:1100px){.code-playground__terminal-actions-label{display:none}}@media (max-width:900px){.code-playground__file-tabs-bar{grid-template-columns:minmax(0,1fr) auto}.code-playground__file-actions{grid-column:2}.code-playground__body{grid-template-columns:1fr;grid-template-rows:minmax(320px,1fr) minmax(180px,0.6fr)}}@media (max-width:640px){.code-playground__page-scroll-handle{position:fixed;top:50%;right:8px;right:max(8px,calc(env(safe-area-inset-right) + 8px));z-index:calc(var(--z-sidebar) - 1);display:flex;flex-direction:column;align-items:center;justify-content:center;width:36px;height:72px;border:2px solid color-mix(in srgb,var(--accent) 72%,var(--border-default));border-radius:18px;background:color-mix(in srgb,var(--accent) 16%,var(--surface-control));color:var(--accent);box-shadow:0 8px 20px rgb(0 0 0 / 0.28);opacity:0.9;transform:translateY(calc(-50% + var(--code-playground-page-scroll-offset,0px)));transition:background var(--transition-fast) var(--transition-easing),border-color var(--transition-fast) var(--transition-easing),opacity var(--transition-fast) var(--transition-easing),transform var(--transition-panel) var(--transition-easing);touch-action:none;-webkit-user-select:none;user-select:none}.code-playground__page-scroll-handle.is-dragging{border-color:var(--border-focus);background:color-mix(in srgb,var(--accent) 26%,var(--surface-control));opacity:1;transition:background var(--transition-fast) var(--transition-easing),border-color var(--transition-fast) var(--transition-easing),opacity var(--transition-fast) var(--transition-easing)}.code-playground.is-terminal-collapsed .code-playground__page-scroll-handle,.code-playground.is-terminal-detached .code-playground__page-scroll-handle{display:none}.code-playground__body{grid-template-rows:minmax(80vh,1fr) minmax(180px,0.6fr);grid-template-rows:minmax(80dvh,1fr) minmax(180px,0.6fr)}.code-playground.is-terminal-collapsed .code-playground__body,.code-playground.is-terminal-detached .code-playground__body{grid-template-rows:minmax(80vh,1fr);grid-template-rows:minmax(80dvh,1fr)}.code-playground:not(.is-terminal-collapsed):not(.is-terminal-detached) .code-playground__body{grid-template-rows:minmax(80vh,auto) minmax(90vh,auto) minmax(50vh,auto);grid-template-rows:minmax(80dvh,auto) minmax(90dvh,auto) minmax(50dvh,auto)}.code-playground:not(.is-terminal-collapsed):not(.is-terminal-detached) .code-playground__output{min-height:90vh;min-height:90dvh}.code-playground:not(.is-terminal-collapsed):not(.is-terminal-detached) .code-playground__body::after{content:"";min-height:50vh;min-height:50dvh}.code-playground__terminal-actions-label{display:inline}.code-playground__output-title,.code-playground__terminal-actions{min-width:0}.code-playground__terminal-actions .code-playground__button{display:none}}.exercises-sidebar__heading{margin-bottom:8px}.exercises-sidebar{display:grid;gap:10px;min-width:0;max-width:100%;color:var(--text-main)}.exercises-sidebar__field{display:grid;gap:5px;min-width:0}.exercises-sidebar__label{color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-sidebar__select{width:100%;min-height:var(--settings-control-height);border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);font:inherit;font-size:var(--control-font-size);padding:0 var(--settings-control-padding-x)}.exercises-sidebar__select:focus{border-color:var(--border-focus);outline:0}.exercises-sidebar__overview-button{min-height:var(--settings-control-height);border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--control-font-size)}.exercises-sidebar__overview-button:hover,.exercises-sidebar__overview-button:focus-visible{border-color:var(--border-focus);background:var(--surface-hover);color:var(--text-active);outline:0}.exercises-sidebar__topics{display:grid;gap:8px;min-width:0}.exercises-sidebar__language-panel{display:grid;gap:8px;min-width:0}.exercises-sidebar__language-panel[hidden]{display:none}.exercises-sidebar__group{display:grid;gap:4px;min-width:0;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.exercises-sidebar__group:last-child{padding-bottom:0;border-bottom:0}.exercises-sidebar__group[hidden]{display:none}.exercises-sidebar__group-title{display:flex;align-items:center;gap:7px;min-width:0;min-height:28px;padding:3px 2px;color:var(--text-muted);cursor:pointer;font-size:var(--ui-font-size-small);line-height:1.2;text-transform:uppercase;-webkit-user-select:none;user-select:none}.exercises-sidebar__group-title:hover,.exercises-sidebar__group-title:focus-visible{color:var(--text-active);outline:0}.exercises-sidebar__group-title::-webkit-details-marker{display:none}.exercises-sidebar__group-title::before{content:"";flex:0 0 auto;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transform:rotate(90deg);transition:transform var(--transition-fast) var(--transition-easing)}.exercises-sidebar__group:not([open])>.exercises-sidebar__group-title::before{transform:rotate(0deg)}.exercises-sidebar__track{padding-bottom:10px}.exercises-sidebar__section{margin-left:10px;padding:2px 0 6px 10px;border-bottom:0;border-left:1px solid var(--border-default)}.exercises-sidebar__section:last-child{padding-bottom:0}.exercises-sidebar__section-title{min-height:24px}.exercises-sidebar__section-title::before{border-top-width:3px;border-bottom-width:3px;border-left-width:4px}.exercises-sidebar__group-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercises-sidebar__group-meta{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;margin-left:auto}.exercises-sidebar__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-control);color:var(--text-subtle);font-size:calc(var(--ui-font-size-small) - 2px)}.exercises-sidebar__topic{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:7px;row-gap:2px;width:100%;min-width:0;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:var(--surface-transparent);color:var(--text-main);cursor:pointer;font:inherit;text-decoration:none;text-align:left}.exercises-sidebar__section .exercises-sidebar__topic{margin-left:-2px}.exercises-sidebar__topic-icon{grid-row:1 / span 2;width:13px;height:13px;margin-top:3px;color:var(--text-muted);fill:none;stroke:currentColor}.exercises-sidebar__topic:hover,.exercises-sidebar__topic:focus-visible,.exercises-sidebar__topic.is-active{border-color:var(--border-default);background:var(--surface-hover);color:var(--text-active);outline:0}.exercises-sidebar__topic.is-active{box-shadow:inset 2px 0 0 var(--accent)}.exercises-sidebar__topic-title,.exercises-sidebar__topic-meta{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercises-overview{display:grid;gap:24px;max-width:1040px;margin:0 auto;padding:30px}.exercises-overview__hero{position:relative;display:grid;gap:8px;padding-right:106px;padding-bottom:18px;border-bottom:1px solid var(--border-default)}.exercises-overview__hero--language{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:16px;padding-right:0}.exercises-overview__hero h1,.exercises-overview__hero p,.exercises-roadmap__track h2,.exercises-roadmap__track p,.exercises-roadmap__section h3{margin:0}.exercises-overview__hero h1{color:var(--text-active);font-size:calc(var(--ui-font-size) + 8px)}.exercises-overview__hero>p,.exercises-overview__hero>div>p:not(.exercises-topic__eyebrow),.exercises-roadmap__track-header>div>p:not(.exercises-topic__eyebrow){color:var(--text-muted);line-height:1.5}.exercises-overview__monogram,.exercises-catalog__monogram{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--border-focus);border-radius:4px;background:var(--surface-control);color:var(--accent);font-size:calc(var(--ui-font-size) + 4px);font-weight:var(--control-font-weight)}.exercises-overview__stats{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-overview__stats strong{color:var(--text-active);font-weight:var(--control-font-weight)}.exercises-overview__stats--hero{grid-column:2;margin-top:5px;padding-top:12px;border-top:1px solid var(--border-default)}.exercises-overview__share{position:absolute;top:0;right:0}.exercises-overview__hero--language .exercises-overview__share{position:static;grid-column:3;grid-row:1}.exercises-roadmap,.exercises-roadmap__sections{display:grid;gap:18px}.exercises-roadmap__track{display:grid;gap:18px}.exercises-roadmap__track + .exercises-roadmap__track{padding-top:24px;border-top:1px solid var(--border-default)}.exercises-roadmap__track-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 2px}.exercises-roadmap__track h2{color:var(--text-active);font-size:calc(var(--ui-font-size) + 4px)}.exercises-roadmap__track-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.exercises-roadmap__track-detail{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--accent);font-size:var(--ui-font-size-small);line-height:1.2;text-decoration:none}.exercises-roadmap__track-detail:hover,.exercises-roadmap__track-detail:focus-visible{border-color:var(--border-focus);color:var(--accent-hover);outline:0}.exercises-roadmap__track-count{flex:0 0 auto;padding:4px 8px;border:1px solid var(--border-default);border-radius:4px;color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-roadmap__sections{position:relative;padding-left:18px}.exercises-roadmap__sections::before{content:"";position:absolute;top:24px;bottom:24px;left:35px;width:1px;background:var(--border-default)}.exercises-roadmap__section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px 14px;position:relative}.exercises-roadmap__section-header{display:contents}.exercises-roadmap__step{position:relative;z-index:1;display:grid;place-items:center;align-self:start;width:34px;height:34px;border:1px solid var(--border-default);border-radius:50%;background:var(--surface-editor);color:var(--accent);font-size:var(--ui-font-size-small)}.exercises-roadmap__section h3{color:var(--text-active);font-size:calc(var(--ui-font-size) + 1px)}.exercises-roadmap__section-header p{margin-top:3px;color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-roadmap__topics{display:grid;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-default)}.exercises-roadmap__topics a{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;min-height:38px;padding:7px 8px;border-bottom:1px solid var(--border-default);color:var(--text-main);text-decoration:none}.exercises-roadmap__topics a:nth-child(odd){border-right:1px solid var(--border-default)}.exercises-roadmap__topics a:hover,.exercises-roadmap__topics a:focus-visible{background:var(--surface-control);color:var(--text-active);outline:0}.exercises-roadmap__topic-order{grid-column:1;grid-row:1;color:var(--accent);font-size:calc(var(--ui-font-size-small) - 1px);font-variant-numeric:tabular-nums}.exercises-roadmap__topic-title{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere;font-size:var(--ui-font-size-small);font-weight:var(--control-font-weight)}.exercises-roadmap__topic-description{grid-column:2 / -1;grid-row:2;min-width:0;margin-top:-4px;color:var(--text-muted);font-size:calc(var(--ui-font-size-small) - 1px);line-height:1.35;overflow-wrap:anywhere}.exercises-roadmap__topic-count{grid-column:3;grid-row:1;color:var(--text-subtle);font-size:var(--ui-font-size-small);white-space:nowrap}.exercises-roadmap__topic-arrow{grid-column:4;grid-row:1;color:var(--accent);opacity:0;transform:translateX(-3px);transition:opacity var(--transition-fast) var(--transition-easing),transform var(--transition-fast) var(--transition-easing)}.exercises-roadmap__topics a:hover .exercises-roadmap__topic-arrow,.exercises-roadmap__topics a:focus-visible .exercises-roadmap__topic-arrow{opacity:1;transform:translateX(0)}.exercises-catalog{display:grid;gap:8px}.exercises-catalog__language{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;min-height:104px;padding:16px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-transparent);color:var(--text-main);text-decoration:none}.exercises-catalog__language:hover,.exercises-catalog__language:focus-visible{border-color:var(--border-focus);background:var(--surface-control);outline:0}.exercises-catalog__content,.exercises-catalog__heading{display:grid;gap:4px;min-width:0}.exercises-catalog__heading strong{color:var(--text-active);font-size:calc(var(--ui-font-size) + 2px);font-weight:var(--control-font-weight)}.exercises-catalog__heading span,.exercises-catalog__tracks{color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-catalog__tracks{display:flex;flex-wrap:wrap;gap:4px}.exercises-catalog__action{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:var(--ui-font-size-small);white-space:nowrap}@media (max-width:760px){.exercises-overview{gap:18px;padding:18px}.exercises-overview__hero--language{grid-template-columns:auto minmax(0,1fr) auto}.exercises-overview__stats--hero{grid-column:1 / -1}.exercises-catalog__language{grid-template-columns:auto minmax(0,1fr)}.exercises-catalog__action{grid-column:2}.exercises-roadmap__track-header{display:grid}.exercises-roadmap__track-count{justify-self:start}.exercises-roadmap__topics{grid-template-columns:minmax(0,1fr)}.exercises-roadmap__topics a:nth-child(odd){border-right:0}}@media (max-width:640px){.exercises-roadmap__topics a{grid-template-columns:24px minmax(0,1fr);gap:3px 10px;padding:9px 8px}.exercises-roadmap__topic-title{grid-row:auto;overflow-wrap:break-word}.exercises-roadmap__topic-description{grid-column:2;grid-row:auto;margin-top:0}.exercises-roadmap__topic-count{grid-column:2;grid-row:auto;white-space:normal;font-size:calc(var(--ui-font-size-small) - 1px)}.exercises-roadmap__topic-arrow{display:none}}@media (max-width:480px){.exercises-overview{padding:14px}.exercises-overview__hero,.exercises-overview__hero--language{padding-right:0}.exercises-overview__hero:not(.exercises-overview__hero--language) .exercises-overview__share{position:static;justify-self:start}.exercises-overview__hero--language{grid-template-columns:auto minmax(0,1fr)}.exercises-overview__hero--language .exercises-overview__share{grid-column:1 / -1;grid-row:auto;justify-self:start}.exercises-overview__monogram,.exercises-catalog__monogram{width:42px;height:42px;font-size:var(--ui-font-size)}.exercises-catalog__language{gap:12px;padding:12px}.exercises-overview__stats{gap:5px 12px}.exercises-roadmap__sections{padding-left:0}.exercises-roadmap__sections::before{left:17px}}.exercises-sidebar__topic-title{line-height:1.2}.exercises-sidebar__topic-meta{color:var(--text-muted);font-size:calc(var(--ui-font-size-small) - 2px);line-height:1.2}.exercises-sidebar__note{margin:0;padding:7px 8px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.exercises-sidebar__empty{margin:0;padding:7px 8px;color:var(--text-muted);font-size:var(--ui-font-size-small);line-height:1.35}.exercises-topic{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:920px;color:var(--text-main)}.exercises-back-to-top-layer{position:sticky;top:calc(100% - 48px);z-index:8;display:flex;justify-content:flex-end;height:0;pointer-events:none}.exercises-back-to-top{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:5px 9px;border:1px solid var(--border-focus);border-radius:4px;background:var(--surface-control);color:var(--accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-small);pointer-events:auto;box-shadow:0 4px 14px rgb(0 0 0 / 28%)}.exercises-back-to-top[hidden]{display:none}.exercises-back-to-top:hover,.exercises-back-to-top:focus-visible{background:var(--surface-hover);color:var(--text-active);outline:0}.exercises-back-to-top__icon{width:14px;height:14px;fill:none;stroke:currentColor;transform:rotate(90deg)}.exercises-topic__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.exercises-topic__eyebrow{margin:0 0 5px;color:var(--text-muted);font-size:var(--ui-font-size-small);text-transform:uppercase}.exercises-topic h1{margin:0;color:var(--text-active);font-size:var(--ui-font-size-heading);font-weight:var(--control-font-weight)}.exercises-topic__actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.exercises-topic__badge{flex:0 0 auto;padding:4px 8px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-topic__intro{max-width:720px;margin:0;color:var(--text-muted);line-height:1.5}.exercises-topic__tasks{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.exercises-topic__section-label{margin:0;color:var(--text-active);font-size:calc(var(--ui-font-size) + 2px);font-weight:var(--control-font-weight);letter-spacing:0;line-height:1.4}.exercises-topic__section-label[hidden]{display:none}.exercises-topic__materials{display:grid;gap:10px}.exercises-material{display:grid;gap:9px;padding:11px 12px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-main);scroll-margin-top:12px}.exercises-material.is-anchor-active,.exercises-task.is-anchor-active{border-color:var(--accent)}.exercises-material--example{border-left:2px solid var(--accent)}.exercises-material--reference{background:var(--surface-sidebar)}.exercises-material__header{display:flex;align-items:center;gap:8px}.exercises-material__title{flex:1;margin:0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.exercises-material__body{display:grid;gap:9px;min-width:0}.exercises-task{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;padding:10px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-sidebar);scroll-margin-top:12px}.exercises-task__header{display:flex;align-items:center;gap:8px}.exercises-task__index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control);color:var(--text-muted);font-size:var(--ui-font-size-small)}.exercises-task h2{flex:1;margin:0;color:var(--text-active);font-size:var(--ui-font-size);font-weight:var(--control-font-weight)}.exercises-anchor-link{display:inline-grid;width:24px;height:24px;flex:0 0 24px;place-items:center;color:var(--text-subtle);font-size:var(--ui-font-size);font-weight:var(--control-font-weight);line-height:1;text-decoration:none}.exercises-anchor-link:hover,.exercises-anchor-link:focus-visible{color:var(--accent);outline:1px solid var(--border-focus);outline-offset:-1px}.exercises-item-share{min-height:24px;padding:2px 6px}.exercises-item-share .icon{width:13px;height:13px}.exercises-task p{margin:0;color:var(--text-muted);line-height:1.45}.exercises-task__sample{margin:0;padding:8px;overflow:auto;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-editor);color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small);line-height:1.45;white-space:pre}.exercises-rich-text__paragraph{margin:0;color:var(--text-muted);line-height:1.5}.exercises-rich-text__heading{margin:0;color:var(--text-active);font-weight:var(--control-font-weight);line-height:1.25}.exercises-rich-text__heading--h2{font-size:calc(var(--ui-font-size) + 4px)}.exercises-rich-text__heading--h3{font-size:calc(var(--ui-font-size) + 2px)}.exercises-rich-text__list{display:grid;gap:5px;margin:0;padding-left:20px;color:var(--text-muted);line-height:1.5}.exercises-rich-text__inline-code{padding:1px 4px;border:1px solid var(--border-default);border-radius:3px;background:var(--surface-editor);color:var(--text-active);font:inherit;font-size:0.92em}.exercises-rich-text__strong{color:var(--text-active);font-weight:700}.exercises-rich-text__link{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}.exercises-rich-text__link:hover,.exercises-rich-text__link:focus-visible{color:var(--accent-hover);outline:0}.exercises-rich-text__table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border-default);border-radius:4px}.exercises-rich-text__table{width:100%;min-width:520px;border-collapse:collapse;color:var(--text-main);font-size:var(--ui-font-size-small);line-height:1.4}.exercises-rich-text__table th,.exercises-rich-text__table td{padding:7px 9px;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);text-align:left;vertical-align:top}.exercises-rich-text__table th:last-child,.exercises-rich-text__table td:last-child{border-right:0}.exercises-rich-text__table tbody tr:last-child td{border-bottom:0}.exercises-rich-text__table th{background:var(--surface-control);color:var(--text-active);font-weight:var(--control-font-weight)}.exercises-rich-text__table tbody tr:nth-child(even){background:var(--surface-transparent)}.exercises-rich-text__table tbody tr:hover{background:var(--surface-hover)}.exercises-rich-text__table [data-align="center"]{text-align:center}.exercises-rich-text__table [data-align="right"]{text-align:right}.exercises-code-block{margin:0;padding:8px;overflow:auto;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-editor);color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small);line-height:1.45;white-space:pre}.exercises-code-block code{font:inherit;white-space:inherit}.exercises-task__solution{border:1px solid var(--border-default);border-radius:4px;background:var(--surface-control)}.exercises-task__solution-title{min-height:30px;padding:7px 9px;color:var(--text-muted);cursor:pointer;font-size:var(--ui-font-size-small);line-height:1.2;text-transform:uppercase;-webkit-user-select:none;user-select:none}.exercises-task__solution-title:hover,.exercises-task__solution-title:focus-visible{color:var(--text-active);outline:0}.exercises-task__solution-code{margin:0;padding:8px;overflow:auto;border-top:1px solid var(--border-default);background:var(--surface-editor);color:var(--text-main);font:inherit;font-size:var(--ui-font-size-small);line-height:1.45;white-space:pre}.exercises-note{display:grid;gap:5px;padding:9px 10px;border:1px solid var(--border-default);border-left:2px solid var(--accent);border-radius:4px;background:var(--surface-control);color:var(--text-muted)}.exercises-note__label{color:var(--text-active);font-size:var(--ui-font-size-small);line-height:1.2;text-transform:uppercase}.exercises-note__text{margin:0;line-height:1.45}.exercises-task__solution-code .token.keyword,.exercises-task__solution-code .token.builtin,.exercises-code-block .token.keyword,.exercises-code-block .token.builtin{color:#c084fc}.exercises-task__solution-code .token.string,.exercises-task__solution-code .token.string-interpolation,.exercises-code-block .token.string,.exercises-code-block .token.string-interpolation{color:#4ade80}.exercises-task__solution-code .token.comment,.exercises-code-block .token.comment{color:var(--text-subtle);font-style:italic}.exercises-task__solution-code .token.function,.exercises-code-block .token.function{color:#60a5fa}.exercises-task__solution-code .token.number,.exercises-task__solution-code .token.boolean,.exercises-task__solution-code .token.constant,.exercises-code-block .token.number,.exercises-code-block .token.boolean,.exercises-code-block .token.constant{color:#fb923c}.exercises-task__solution-code .token.class-name,.exercises-code-block .token.class-name{color:#38bdf8}.exercises-task__solution-code .token.decorator,.exercises-code-block .token.decorator{color:#f472b6}.exercises-task__solution-code .token.operator,.exercises-code-block .token.operator{color:#94a3b8}.exercises-task__solution-code .token.punctuation,.exercises-code-block .token.punctuation{color:#64748b}:root[data-theme="light"] .exercises-task__solution-code .token.keyword,:root[data-theme="light"] .exercises-task__solution-code .token.builtin,:root[data-theme="light"] .exercises-code-block .token.keyword,:root[data-theme="light"] .exercises-code-block .token.builtin{color:#7c3aed}:root[data-theme="light"] .exercises-task__solution-code .token.string,:root[data-theme="light"] .exercises-task__solution-code .token.string-interpolation,:root[data-theme="light"] .exercises-code-block .token.string,:root[data-theme="light"] .exercises-code-block .token.string-interpolation{color:#15803d}:root[data-theme="light"] .exercises-task__solution-code .token.comment,:root[data-theme="light"] .exercises-code-block .token.comment{color:#6b7280}:root[data-theme="light"] .exercises-task__solution-code .token.function,:root[data-theme="light"] .exercises-code-block .token.function{color:#1d4ed8}:root[data-theme="light"] .exercises-task__solution-code .token.number,:root[data-theme="light"] .exercises-task__solution-code .token.boolean,:root[data-theme="light"] .exercises-task__solution-code .token.constant,:root[data-theme="light"] .exercises-code-block .token.number,:root[data-theme="light"] .exercises-code-block .token.boolean,:root[data-theme="light"] .exercises-code-block .token.constant{color:#c2410c}:root[data-theme="light"] .exercises-task__solution-code .token.class-name,:root[data-theme="light"] .exercises-code-block .token.class-name{color:#0369a1}:root[data-theme="light"] .exercises-task__solution-code .token.decorator,:root[data-theme="light"] .exercises-code-block .token.decorator{color:#be185d}:root[data-theme="light"] .exercises-task__solution-code .token.operator,:root[data-theme="light"] .exercises-code-block .token.operator{color:#374151}:root[data-theme="light"] .exercises-task__solution-code .token.punctuation,:root[data-theme="light"] .exercises-code-block .token.punctuation{color:#6b7280}@media (max-width:640px){.exercises-topic__header{display:grid}.exercises-topic__badge{align-self:center}.exercises-topic__actions{justify-self:start}}.regex-tester__sidebar{display:flex;flex-direction:column;gap:14px}.regex-tester__field{display:flex;flex-direction:column;gap:5px}.regex-tester__label{font-size:var(--ui-font-size-small);color:var(--text-muted);white-space:nowrap}.regex-tester__select{background:var(--surface-control);color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--button-radius);padding:4px 6px;font:inherit;font-size:var(--ui-font-size);cursor:pointer;width:100%}.regex-tester__select:focus-visible{outline:1px solid var(--focus-border);outline-offset:1px}.regex-tester__runtime{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-size-small);color:var(--text-muted)}.regex-tester__runtime-label{color:var(--text-muted)}.regex-tester__runtime-state{color:var(--text-subtle)}.regex-tester__status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-subtle);flex-shrink:0;transition:background 0.2s}.regex-tester__status-dot.is-ready{background:#4caf50}.regex-tester__status-dot.is-loading{background:var(--accent);animation:regex-dot-pulse 1s ease-in-out infinite}.regex-tester__status-dot.is-error{background:var(--error)}@keyframes regex-dot-pulse{0%,100%{opacity:1}50%{opacity:0.4}}.regex-tester__flags-group{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.regex-tester__flags-group legend{font-size:var(--ui-font-size-small);color:var(--text-muted);margin-bottom:4px;float:left;width:100%}.regex-tester__flag-label{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-size);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none}.regex-tester__flag-label code{font-family:inherit;color:var(--accent)}.regex-tester__flag-checkbox{accent-color:var(--accent);width:13px;height:13px;cursor:pointer;flex-shrink:0}.regex-tester{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface-editor);color:var(--text-main);font-size:var(--ui-font-size)}.regex-tester__pattern-panel{display:flex;flex-direction:column;flex-shrink:0}.regex-tester__pattern-bar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-default);background:var(--surface-editor)}.regex-tester__delimiter{color:var(--text-subtle);font-family:var(--font-mono,monospace);font-size:18px;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.regex-tester__pattern-wrap{position:relative;flex:1;min-width:0;overflow:hidden}.regex-tester__pattern-backdrop,.regex-tester__pattern-input{font-family:var(--font-mono,monospace);font-size:15px;line-height:1.5;white-space:pre;padding:0;margin:0;border:none}.regex-tester__pattern-input{position:relative;z-index:1;display:block;width:100%;height:1.5em;box-sizing:border-box;background:transparent;outline:none;color:transparent;caret-color:var(--text-active);resize:none;overflow:hidden}.regex-tester__pattern-input::placeholder{color:var(--text-subtle);font-style:italic}.regex-tester__pattern-input::selection{background:rgba(80,130,255,0.35);color:transparent}.regex-tester__pattern-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;color:transparent;background:transparent}.regex-tester__flags-display{font-family:var(--font-mono,monospace);font-size:14px;color:var(--accent);min-width:24px;flex-shrink:0}.regex-tester__pattern-info{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:4px}.regex-tester__error{font-size:var(--ui-font-size-small);color:var(--error);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regex-tester__match-count{font-size:var(--ui-font-size-small);color:var(--text-muted);white-space:nowrap}@media (max-width:640px){.regex-tester__pattern-bar{flex-wrap:wrap;row-gap:6px}.regex-tester__pattern-info{order:2;flex:0 0 100%;margin-left:0;min-width:0}.regex-tester__error{max-width:none;min-width:0;white-space:normal}.regex-tester__pattern-wrap{max-height:40vh;max-height:40dvh}.regex-tester__pattern-backdrop,.regex-tester__pattern-input{white-space:pre-wrap;overflow-wrap:anywhere}.regex-tester__pattern-input{max-height:40vh;max-height:40dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}.regex-tester__workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.regex-tester__text-panel{display:flex;flex-direction:column;flex:2;min-height:0;border-bottom:1px solid var(--border-default)}.regex-tester__results-panel{display:flex;flex-direction:column;flex:1;min-height:0}.regex-tester__panel-label{padding:5px 12px 5px 9px;font-size:var(--ui-font-size-small);color:var(--text-muted);border-left:3px solid var(--accent);border-bottom:1px solid var(--border-default);flex-shrink:0;display:flex;align-items:center;gap:6px;background:var(--surface-editor)}.regex-tester__panel-label--with-actions{justify-content:space-between}.regex-tester__share{min-height:24px;padding:2px 7px}.regex-tester__share .icon{width:14px;height:14px}.regex-tester__results-count{color:var(--text-subtle)}.regex-tester__text-container{position:relative;flex:1;min-height:0;overflow:hidden}.regex-tester__backdrop,.regex-tester__textarea{position:absolute;inset:0;margin:0;padding:10px 12px;border:none;outline:none;font-family:var(--font-mono,monospace);font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;overflow:auto;tab-size:4;box-sizing:border-box}.regex-tester__backdrop{background:var(--surface-editor);color:var(--text-main);pointer-events:none;z-index:0;overflow:hidden}.regex-tester__textarea{background:transparent;color:transparent;caret-color:var(--text-active);resize:none;z-index:1;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.regex-tester__textarea::placeholder{color:var(--text-subtle)}.regex-tester__textarea::selection{background:rgba(80,130,255,0.35);color:transparent}.regex-tester__textarea::-webkit-scrollbar{width:8px;height:8px}.regex-tester__textarea::-webkit-scrollbar-track{background:var(--scrollbar-track)}.regex-tester__textarea::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.regex-tester__textarea::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.regex-tester__match{background:rgba(255,213,0,0.32);border-radius:2px;outline:1px solid rgba(255,213,0,0.55);color:inherit}:root[data-theme="light"] .regex-tester__match{background:rgba(255,180,0,0.28);outline-color:rgba(255,160,0,0.6)}.regex-tester__results-list{flex:1;min-height:0;overflow-y:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.regex-tester__results-list::-webkit-scrollbar{width:8px}.regex-tester__results-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.regex-tester__results-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.regex-tester__result-empty,.regex-tester__result-error{padding:8px 12px;font-size:var(--ui-font-size-small)}.regex-tester__result-empty{color:var(--text-subtle)}.regex-tester__result-error{color:var(--error)}.regex-tester__result-item{padding:5px 12px;border-bottom:1px solid var(--border-default)}.regex-tester__result-item:last-child{border-bottom:none}.regex-tester__result-header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.regex-tester__result-num{font-size:var(--ui-font-size-small);color:var(--text-subtle);min-width:24px;flex-shrink:0}.regex-tester__result-pos{font-size:var(--ui-font-size-small);color:var(--text-muted);font-family:var(--font-mono,monospace)}.regex-tester__result-text{font-family:var(--font-mono,monospace);font-size:13px;color:var(--text-active);background:var(--accent-soft);border-radius:3px;padding:1px 5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regex-tester__result-groups{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding-left:32px}.regex-tester__result-group{font-size:var(--ui-font-size-small);background:var(--surface-control);border:1px solid var(--border-default);border-radius:3px;padding:1px 6px}.regex-tester__group-name{color:var(--accent);font-family:var(--font-mono,monospace)}.regex-tester__group-value{color:var(--text-main);font-family:var(--font-mono,monospace)}.regex-tester__group-null{color:var(--text-subtle);font-style:italic}.rx-seg--match{background:rgba(255,190,50,0.28);border-radius:2px;outline:1px solid rgba(255,190,50,0.5);color:inherit}.rx-seg--zero-width{outline:2px solid rgba(255,190,50,0.7);border-radius:1px}.rx-seg--g1{background:rgba(80,150,255,0.40);border-radius:2px}.rx-seg--g2{background:rgba(70,200,110,0.40);border-radius:2px}.rx-seg--g3{background:rgba(255,130,50,0.45);border-radius:2px}.rx-seg--g4{background:rgba(200,90,255,0.38);border-radius:2px}.rx-seg--g5{background:rgba(255,80,160,0.38);border-radius:2px}.rx-seg--g6{background:rgba(50,210,210,0.38);border-radius:2px}.rx-seg--g7{background:rgba(255,80,80,0.40);border-radius:2px}.rx-seg--g8{background:rgba(160,230,50,0.40);border-radius:2px}.rx-seg--focus{background:rgba(255,190,50,0.55);border-radius:2px;outline:2px solid rgba(255,190,50,0.85)}.rx-tok--group-cap{color:inherit}.rx-tok--group-noncap,.rx-tok--group-close-nc{color:var(--text-subtle)}.rx-tok--group-look{color:#a78bfa}.rx-tok--group-atomic{color:#f472b6}.rx-tok--char-class{color:#4ade80}.rx-tok--escape{color:#60a5fa}.rx-tok--anchor{color:#c084fc}.rx-tok--quantifier{color:#fb923c}.rx-tok--alternation{color:#f87171}.rx-tok--any-char{color:#94a3b8}.rx-tok--comment{color:var(--text-subtle);font-style:italic}.rx-tok--inline-flags{color:#a78bfa}.rx-tok--literal{color:var(--text-active)}.rx-tok--whitespace{color:rgba(128,128,128,0.25)}.rx-g1{color:rgba(80,150,255,0.9)}.rx-g2{color:rgba(70,200,110,0.9)}.rx-g3{color:rgba(255,130,50,0.9)}.rx-g4{color:rgba(200,90,255,0.9)}.rx-g5{color:rgba(255,80,160,0.9)}.rx-g6{color:rgba(50,210,210,0.9)}.rx-g7{color:rgba(255,80,80,0.9)}.rx-g8{color:rgba(160,230,50,0.9)}.rx-pat-hl{background:rgba(255,190,50,0.35);border-radius:2px;outline:1px solid rgba(255,190,50,0.65)}.rx-tooltip{position:fixed;z-index:9999;background:var(--surface-control,#2a2a2a);border:1px solid var(--border-default,#444);border-radius:6px;padding:8px 10px;font-size:12px;font-family:var(--font-mono,monospace);color:var(--text-main);pointer-events:none;max-width:320px;min-width:160px;box-shadow:0 4px 16px rgba(0,0,0,0.35);line-height:1.5}.rx-tooltip__header{font-size:11px;color:var(--text-muted);margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--border-default,#444)}.rx-tooltip__row{display:flex;gap:8px;align-items:baseline;white-space:nowrap}.rx-tooltip__row + .rx-tooltip__row{margin-top:2px}.rx-tooltip__divider{height:1px;background:var(--border-default,#444);margin:5px 0}.rx-tooltip__lbl{color:var(--text-muted);flex-shrink:0;font-size:11px}.rx-tooltip__name{color:var(--accent)}.rx-tooltip__val{color:var(--text-main)}.rx-tooltip__str{color:var(--text-active);max-width:200px;overflow:hidden;text-overflow:ellipsis;display:inline-block}.rx-tooltip__null{color:var(--text-subtle);font-style:italic}@media (forced-colors:active){.regex-tester__pattern-input,.regex-tester__textarea{color:FieldText;forced-color-adjust:auto}.regex-tester__pattern-backdrop,.regex-tester__backdrop{display:none}.regex-tester__pattern-input::selection,.regex-tester__textarea::selection{color:HighlightText;background:Highlight}}
