@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/iosevka-latin-400-normal-7stTb90X.woff2)format("woff2"),url(/assets/iosevka-latin-400-normal-BVqCxfc4.woff)format("woff")}@font-face{font-family:Iosevka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/iosevka-latin-500-normal-CQO8XnuS.woff2)format("woff2"),url(/assets/iosevka-latin-500-normal-6hm74U-t.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dm-sans-latin-ext-300-normal-WGwOtXxi.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-300-normal-COYJju1g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/dm-sans-latin-300-normal-C46oWILc.woff2)format("woff2"),url(/assets/dm-sans-latin-300-normal-CsNfKS1n.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-base:#0c0a08;--bg-surface:#131109;--bg-panel:#181512;--bg-hover:#1f1c18;--border:#252119;--border-mid:#302b24;--border-str:#3e3830;--gold:#d48b1c;--gold-bright:#efa030;--gold-dim:#7a5010;--gold-glow:#d48b1c1f;--text-primary:#eae0d2;--text-sec:#88796c;--text-dim:#453f39;--bg-primary:var(--bg-base);--bg-secondary:var(--bg-surface);--bg-tertiary:var(--bg-panel);--text-secondary:var(--text-sec);--text-muted:var(--text-dim);--border-color:var(--border);--accent-color:var(--gold);--accent-hover:var(--gold-bright);--success-color:#a8c98a;--error-color:#d9735a;--warning-color:#efa030;--info-color:#7ac4b8;--editor-bg:var(--bg-base);--editor-text:var(--text-primary);--editor-line-numbers:var(--text-dim);--editor-cursor:var(--gold);--editor-selection:#d48b1c26;--console-bg:var(--bg-base);--console-pre-bg:var(--bg-surface);--console-text:var(--text-primary);--console-prompt:var(--gold);--console-result:#a8c98a;--console-error:#d9735a;--console-warning:#efa030;--syn-kw:#efa030;--syn-str:#d9735a;--syn-cmt:#48433d;--syn-type:#7ac4b8;--syn-num:#a8c98a;--syn-fn:#c4a0e8;--syn-punc:#6a5f58;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 6px #00000080;--shadow-lg:0 4px 16px #0009;--shadow-ink:#00000059;--backdrop:#000000bf;--backdrop-docs:#000000d1;--backdrop-loading:#000000eb;--bg-input:#ffffff0f;--ansi-7:#d4d4d4;--ansi-9:#ff8870;--ansi-10:#b8e0a0;--ansi-11:#ffd43b;--ansi-12:#339af0;--ansi-13:#e59ef0;--ansi-14:#39c5cf;--ansi-15:#fff;--font-family:"DM Sans", sans-serif;--font-serif:"Cormorant Garamond", Georgia, serif;--font-mono:"Iosevka", "SF Mono", "Fira Code", monospace;--font-size-sm:12px;--font-size-md:13px;--font-size-lg:15px;--safe-top:0px;--safe-right:0px;--safe-bottom:0px;--safe-left:0px}:root[data-theme=light]{--gold-glow:#9456021f;--success-color:#456f20;--error-color:#ae3c26;--warning-color:#965500;--info-color:#127065;--editor-selection:#94560229;--console-result:#456f20;--console-error:#ae3c26;--console-warning:#965500;--shadow-sm:0 1px 2px #3c280f1a;--shadow-md:0 2px 6px #3c280f1f;--shadow-lg:0 4px 16px #3c280f29;--shadow-ink:#3c280f24;--backdrop:#2a201666;--backdrop-docs:#2a201673;--backdrop-loading:#fbf8f2eb;--bg-input:#fff;--ansi-7:#6e604f;--ansi-9:#be3e28;--ansi-10:#3b7619;--ansi-11:#8a5f00;--ansi-12:#1f63b0;--ansi-13:#923799;--ansi-14:#0b7480;--ansi-15:#2a2016}html.pwa{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.5}a{color:var(--gold-bright);text-decoration:none}a:hover{color:var(--text-primary)}kbd{font-family:var(--font-mono);background:var(--bg-panel);border:1px solid var(--border-str);color:var(--text-sec);border-radius:3px;padding:1px 6px;font-size:10px}code{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--bg-panel);border-radius:var(--radius-sm);color:var(--text-primary);padding:2px 5px}pre{font-family:var(--font-mono);font-size:var(--font-size-md);background:var(--bg-surface);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--text-primary);overflow-x:auto}.header{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;height:54px;position:sticky;top:0}.header-content{align-items:center;gap:16px;height:100%;padding:0 20px;display:flex}.logo a{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-mark{background:var(--gold-fill);width:30px;height:30px;font-family:var(--font-serif);color:var(--on-gold);letter-spacing:-.02em;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:600;display:flex}.logo-text{font-family:var(--font-serif);color:var(--gold-bright);letter-spacing:.01em;font-size:23px;font-weight:500;line-height:1}.logo-sub{color:var(--text-dim);letter-spacing:.07em;text-transform:uppercase;align-self:flex-end;margin-bottom:2px;margin-left:2px;font-size:10px;font-weight:400}.nav-sep{background:var(--border-mid);width:1px;height:22px;margin:0 4px}.nav{gap:2px;display:flex}.nav-link{color:var(--text-sec);border-radius:5px;padding:5px 10px;font-size:13px;font-weight:400;text-decoration:none}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-link.active{color:var(--gold-bright);font-weight:500}.nav-link.external:after{content:"↗";opacity:.6;margin-left:3px;font-size:.75em}.header-right{align-items:center;gap:6px;margin-left:auto;display:flex}#app{flex-direction:column;height:100vh;padding-top:60px;display:flex;overflow:hidden}.main{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.repl-container{flex:1;gap:0;min-width:0;min-height:0;display:flex}.split-handle{background:var(--border-mid);cursor:col-resize;z-index:5;touch-action:none;-webkit-user-select:none;user-select:none;flex:0 0 6px;width:6px;position:relative}.split-handle:hover,.split-handle.is-dragging,.split-handle:focus-visible{background:var(--gold,#d4a83b);outline:none}.split-handle:before{content:"";position:absolute;inset:0 -6px}body.split-dragging,body.split-dragging *{-webkit-user-select:none!important;user-select:none!important;cursor:inherit!important}#ios-a2hs-hint{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:1000;background:var(--bg-panel);color:var(--text);border:1px solid var(--border-mid);box-shadow:0 4px 16px var(--shadow-ink);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex;position:fixed}.editor-pane{flex:0 1 calc(var(--split-h,.56) * 100%);border-right:1px solid var(--border-mid);background:var(--bg-base);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.editor-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-direction:column-reverse;flex-shrink:0;display:flex}.editor-tabs,.editor-actions{scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex-shrink:0;align-items:stretch;height:36px;min-height:36px;display:flex;overflow:auto hidden}.editor-actions{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:0 8px}.editor-actions>.editor-brand{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:23px;height:20px;margin-inline:2px auto}.editor-actions>*{flex:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-actions::-webkit-scrollbar{display:none}.editor-tabs.has-overflow,.editor-actions.has-overflow{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%)}.editor-tabs[data-dragging="1"],.editor-actions[data-dragging="1"]{cursor:grabbing}.editor-tabs[data-dragging="1"] *,.editor-actions[data-dragging="1"] *{pointer-events:none}.tutorial-bar{background:color-mix(in srgb, var(--gold) 10%, var(--bg-panel));border-bottom:1px solid color-mix(in srgb, var(--gold) 30%, var(--border));flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.tutorial-bar-step{font-family:var(--font-mono);color:var(--gold);white-space:nowrap;font-weight:600}.tutorial-bar-desc{color:var(--text-sec);flex:1}.tab-button{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:1.5px solid #0000;align-items:center;height:100%;padding:0 12px;font-size:12px;display:flex}.tab-button:hover{color:var(--text-sec)}.tab-button.active{color:var(--text-primary);border-bottom-color:var(--gold);background:0 0}.tab-label{pointer-events:none}.tab-lock{opacity:.75;pointer-events:none;flex-shrink:0;margin-right:6px;font-size:9px;line-height:1}.tab-button.read-only .tab-label{font-style:italic}.tab-close{text-align:center;width:14px;height:14px;color:var(--text-dim);opacity:0;border-radius:3px;flex-shrink:0;margin-left:8px;font-size:14px;line-height:14px}.tab-button:hover .tab-close,.tab-button.active .tab-close{opacity:1}.tab-close:hover{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 18%, transparent)}.tab-rename{font-family:var(--font-mono);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;outline:none;width:9em;height:20px;padding:0 4px;font-size:12px}.tab-new{color:var(--text-dim)}.tab-new:hover{color:var(--text-sec)}.tab-button[data-dragging="1"]{opacity:.55;background:color-mix(in srgb, var(--gold) 8%, transparent);cursor:grabbing}.tab-button[data-drop-before="1"]{box-shadow:inset 2px 0 0 var(--gold)}.drop-overlay{pointer-events:none;background:color-mix(in srgb, var(--bg-panel) 85%, transparent);-webkit-backdrop-filter:blur(4px);border:2px dashed var(--gold);z-index:40;border-radius:6px;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.editor-pane.drag-over .drop-overlay{display:flex}.drop-overlay-message{color:var(--text-primary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.drop-overlay-message svg{color:var(--gold)}.drop-overlay-message code{font-family:var(--font-mono);color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);border-radius:3px;padding:1px 6px;font-size:13px}.editor-wrapper{flex:1;position:relative;overflow:hidden}.monaco-editor{width:100%;height:100%}#editor-loading{background:var(--bg-base);color:var(--text-sec);font-size:var(--font-size-md);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex;position:absolute;inset:0}.editor-footer{height:24px;padding:0 var(--spacing-md);background:var(--bg-panel);border-top:1px solid var(--border);color:var(--text-dim);font-size:11px;font-family:var(--font-family);letter-spacing:.02em;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.status-indicator{align-items:center;gap:5px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot.online{background:var(--success-color)}.dot.offline{background:var(--error-color)}.dot.loading{background:var(--gold-fill);animation:.8s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.lsp-status{margin-left:auto;margin-right:var(--spacing-md);color:var(--text-dim)}.lsp-status[hidden]{display:none}.cursor-position{color:var(--text-dim);letter-spacing:.02em;font-size:11px}.console-pane{background:var(--bg-base);flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;overflow:hidden}.console-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 16px;display:flex}.console-title{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.console-actions{gap:4px;display:flex}.console-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.console-output{font-family:var(--font-mono);color:var(--console-text);flex:1;padding:10px 16px;font-size:12.5px;line-height:1.6;overflow-y:auto}.console-output::-webkit-scrollbar{width:4px}.console-output::-webkit-scrollbar-track{background:0 0}.console-output::-webkit-scrollbar-thumb{background:var(--border-str);border-radius:2px}.console-welcome{padding:4px 0 8px}.console-welcome p{margin-bottom:4px}.console-welcome pre{background:var(--bg-surface);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-top:var(--spacing-sm);color:var(--console-text);border-left:2px solid var(--border-str)}.console-output pre{background:var(--bg-surface);color:var(--console-text);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin:var(--spacing-xs) 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono);font-size:var(--font-size-md);border-left:2px solid var(--border-str);line-height:1.65}.console-output pre.console-flush{margin:0}.console-line{gap:var(--spacing-sm);margin-bottom:1px;display:flex}.console-prompt{color:var(--gold);-webkit-user-select:none;user-select:none}.console-result{color:var(--console-result)}.console-error{color:var(--console-error)}.console-warning{color:var(--console-warning)}#console-loading{background:color-mix(in srgb, var(--bg-base) 85%, transparent);color:var(--text-sec);font-size:var(--font-size-md);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex;position:absolute;inset:0}.repl-input-row{border-top:1px solid var(--border-mid);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 16px;display:flex;position:relative}.repl-input-row:focus-within{border-top-color:var(--gold-dim);box-shadow:0 -2px 12px color-mix(in srgb, var(--gold) 8%, transparent)}.repl-input-row.waiting{border-top-color:var(--gold);box-shadow:0 -2px 16px color-mix(in srgb, var(--gold) 18%, transparent);animation:1.8s ease-in-out infinite replWait}@keyframes replWait{0%,to{box-shadow:0 -2px 16px color-mix(in srgb, var(--gold) 18%, transparent)}50%{box-shadow:0 -2px 24px color-mix(in srgb, var(--gold) 35%, transparent)}}.repl-prompt{color:var(--gold);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:.9;font-size:12.5px}.repl-input-row:focus-within .repl-prompt{opacity:1}.console-hover-card{z-index:70;border:1px solid var(--border-mid);background:var(--bg-surface);max-width:420px;max-height:240px;color:var(--text-primary);font-family:var(--font-mono);white-space:pre-wrap;box-shadow:0 6px 24px var(--shadow-ink);pointer-events:none;border-radius:6px;padding:8px 10px;font-size:11.5px;line-height:1.5;position:fixed;overflow:auto}.repl-input{flex:1;min-width:0;height:22px;position:relative;overflow:hidden}.repl-input .monaco-editor,.repl-input .monaco-editor .overflow-guard,.repl-input .monaco-editor .margin,.repl-input .monaco-editor-background{background:0 0}#repl-suggest-overlay{z-index:60;background:0 0;width:0;height:0;position:absolute;top:0;left:0}.repl-input.repl-input-empty:after{content:attr(data-placeholder);pointer-events:none;color:var(--text-dim);font-family:var(--font-mono);font-size:12.5px;line-height:1.6;position:absolute;top:1px;left:0}.repl-input-disabled{opacity:.35;cursor:not-allowed}.console-footer{height:24px;padding:0 var(--spacing-md);background:var(--bg-panel);border-top:1px solid var(--border);color:var(--text-dim);font-size:11px;font-family:var(--font-family);letter-spacing:.02em;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.execution-time{color:var(--text-dim)}.doc-pane{border-left:1px solid var(--border-mid);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:300px;min-height:0;display:flex;overflow:hidden}.doc-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 12px 0 16px;display:flex}.doc-title{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.doc-actions{flex-shrink:0;gap:4px;display:flex}.doc-search-row{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.doc-search-icon{color:var(--text-dim);flex-shrink:0}.doc-search-input{color:var(--text-primary);font-family:var(--font-mono);caret-color:var(--gold);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px}.doc-search-input::placeholder{color:var(--text-dim)}.doc-search-results{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;max-height:220px;display:none;overflow-y:auto}.doc-search-results::-webkit-scrollbar{width:4px}.doc-search-results::-webkit-scrollbar-track{background:0 0}.doc-search-results::-webkit-scrollbar-thumb{background:var(--border-str);border-radius:2px}.doc-result-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:6px 14px;display:flex}.doc-result-item:last-child{border-bottom:none}.doc-result-item:hover,.doc-result-item.active{background:var(--bg-hover)}.doc-result-name{font-family:var(--font-mono);color:var(--gold-bright);flex-shrink:0;font-size:12px}.doc-result-kind{color:var(--text-dim);background:var(--bg-panel);letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:10px}.doc-result-spice{font-family:var(--font-mono);color:var(--info-color);background:var(--bg-panel);letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:10px}.doc-summary{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}.doc-result-summary{color:var(--text-sec);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.doc-no-results{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);padding:10px 14px}.doc-body{font-family:var(--font-mono);color:var(--text-sec);white-space:pre-wrap;word-break:break-word;flex:1;padding:12px 16px;font-size:12px;line-height:1.65;overflow-y:auto}.doc-body::-webkit-scrollbar{width:4px}.doc-body::-webkit-scrollbar-track{background:0 0}.doc-body::-webkit-scrollbar-thumb{background:var(--border-str);border-radius:2px}.doc-placeholder{color:var(--text-dim);font-family:var(--font-family);white-space:normal;font-size:12px;font-style:italic}.doc-placeholder code{font-family:var(--font-mono);color:var(--gold-dim);background:var(--bg-hover);border-radius:3px;padding:1px 4px}.doc-footer{border-top:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;padding:8px 16px}.doc-open-link{color:var(--text-dim);letter-spacing:.02em;font-size:11px;text-decoration:none}.doc-open-link:hover{color:var(--gold-bright)}@media (width<=1200px){.doc-pane{width:260px}}.btn[hidden]{display:none}.btn{font-family:var(--font-family);border:1px solid var(--border-str);border-radius:var(--radius-md);color:var(--text-sec);cursor:pointer;letter-spacing:.01em;background:0 0;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:400;line-height:1;display:inline-flex}.btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-str)}.btn:active{transform:scale(.97)}.btn-icon{padding:5px 10px}.btn-sm{padding:3px 8px;font-size:11px}.btn-primary,.btn-run{background:var(--gold-fill);border-color:var(--gold-fill);color:var(--on-gold);gap:7px;font-weight:500}.btn-primary:hover,.btn-run:hover{background:var(--gold-fill-hover);border-color:var(--gold-fill-hover);color:var(--on-gold)}.run-tri{border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--on-gold);flex-shrink:0;width:0;height:0}.select{font-family:var(--font-family);background:var(--bg-panel);border:1px solid var(--border-mid);color:var(--text-sec);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%2388796C'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-radius:5px;outline:none;padding:4px 24px 4px 8px;font-size:12px}.select:hover{border-color:var(--border-str);color:var(--text-primary)}.select option{background:var(--bg-panel)}.btn-close{width:28px;height:28px;color:var(--text-sec);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:flex}.btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.overlay{background:var(--backdrop);z-index:1000;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay.loading{background:var(--backdrop-loading)}.overlay-content{background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:800px;max-height:min(90vh,100%);animation:.18s ease-out slideIn;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.overlay-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.overlay-header h2{font-family:var(--font-serif);color:var(--gold-bright);letter-spacing:.01em;font-size:20px;font-weight:500}.tutorial-list{padding:var(--spacing-lg);gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tutorial-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md)}.tutorial-card:hover{border-color:var(--border-str)}.tutorial-card h3{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:13px;font-weight:500}.tutorial-card p{color:var(--text-sec);margin-bottom:var(--spacing-md);font-size:12px;line-height:1.5}.tutorial-card .btn{justify-content:center;width:100%}.loading-content{padding:var(--spacing-xl);text-align:center;justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.loading-content p{color:var(--text-sec);font-size:var(--font-size-md)}.loading-content progress{width:200px;accent-color:var(--gold)}.spinner{border:2px solid var(--border-mid);border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.spinner.large{border-width:3px;width:44px;height:44px}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{padding:var(--spacing-xl);justify-content:center;align-items:center;gap:var(--spacing-md);color:var(--text-sec);font-size:var(--font-size-md);flex-direction:column;display:flex}.footer{background:var(--bg-panel);border-top:1px solid var(--border);padding:10px var(--spacing-lg);flex-shrink:0}.footer-content{text-align:center;color:var(--text-dim);letter-spacing:.02em;font-size:11px}.footer-content a{color:var(--text-sec)}.footer-content a:hover{color:var(--gold-bright)}.tutorial-panel{border-bottom:1px solid var(--border-mid);background:var(--bg-panel);font-size:12px;font-family:var(--font-family);flex-direction:column;flex-shrink:0}.tp-header{justify-content:space-between;align-items:center;padding:8px 14px 0;display:flex}.tp-meta{align-items:center;gap:6px;display:flex}.tp-category{color:var(--gold-bright);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.tp-sep{color:var(--text-dim)}.tp-progress-label{color:var(--text-dim);font-size:11px}.tp-body{padding:6px 14px 8px}.tp-step-title{color:var(--text-primary);margin-bottom:3px;font-size:12.5px;font-weight:500}.tp-instruction{color:var(--text-sec);line-height:1.5}.tp-hint{background:var(--gold-glow);border-left:2px solid var(--gold-dim);color:var(--gold-bright);font-family:var(--font-mono);white-space:pre;border-radius:0 3px 3px 0;margin-top:5px;padding:4px 8px;font-size:11px}.tp-feedback{min-height:16px;margin-top:5px;font-size:11.5px}.tp-feedback-success{color:var(--success-color)}.tp-feedback-error{color:var(--text-sec)}.tp-footer{align-items:center;gap:10px;padding:0 14px 8px;display:flex}.tp-progress-track{background:var(--border-mid);border-radius:2px;flex:1;height:3px;overflow:hidden}.tp-progress-bar{background:var(--gold-fill);border-radius:2px;width:0%;height:100%}.tp-actions{flex-shrink:0;gap:4px;display:flex}.console-line-comment{color:var(--text-dim);font-style:italic}.tp-badge{color:var(--success-color);min-height:14px;margin-top:4px;font-size:10px}.ansi-0{color:var(--console-text)}.ansi-1{color:var(--console-error)}.ansi-2{color:var(--success-color)}.ansi-3{color:var(--warning-color)}.ansi-4{color:var(--info-color)}.ansi-5{color:var(--syn-fn)}.ansi-6{color:var(--syn-type)}.ansi-7{color:var(--ansi-7)}.ansi-8{color:var(--text-dim)}.ansi-9{color:var(--ansi-9)}.ansi-10{color:var(--ansi-10)}.ansi-11{color:var(--ansi-11)}.ansi-12{color:var(--ansi-12)}.ansi-13{color:var(--ansi-13)}.ansi-14{color:var(--ansi-14)}.ansi-15{color:var(--ansi-15)}.ansi-bold{font-weight:700}.ansi-dim{opacity:.5}.ansi-italic{font-style:italic}.ansi-underline{text-decoration:underline}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-str);border-radius:2px}@media (width<=1024px){html,body{height:100dvh;min-height:0;overflow:hidden}#app{height:100dvh}.main{flex:auto;min-height:0}.repl-container{grid-template-rows:calc(var(--split-v,.5) * 100%) 6px 1fr;flex:auto;grid-template-columns:1fr;gap:0;height:100%;min-height:0;display:grid}.split-handle{cursor:row-resize;width:100%;height:6px}.split-handle:before{width:auto;height:auto;inset:-10px 0}.editor-pane{border-right:none;border-bottom:1px solid var(--border-mid);min-width:0;min-height:0;overflow:hidden}.console-pane{width:100%;min-width:0;min-height:0;overflow:hidden}.doc-pane{display:none!important}.footer,html.pwa site-nav,html.pwa .footer{display:none}html.pwa #app{height:auto;padding-top:var(--safe-top);padding-bottom:0;padding-left:var(--safe-left);padding-right:var(--safe-right);position:fixed;inset:0}html.pwa .console-footer{height:calc(24px + var(--safe-bottom));padding-bottom:var(--safe-bottom)}}html.pwa{min-height:min(100lvh, calc(100% + env(safe-area-inset-top,0px)))}.status-bar-fill{display:none}@supports (-webkit-touch-callout:none){html.pwa{--safe-top:max(11px, env(safe-area-inset-top,0px))}html.pwa .status-bar-fill{height:var(--safe-top);background:var(--bg-base);z-index:2147483647;pointer-events:none;display:block;position:fixed;top:0;left:0;right:0}}.more-wrap,.examples-wrap{display:inline-flex;position:relative}.more-menu{background:var(--bg-panel);border:1px solid var(--border);min-width:180px;box-shadow:0 8px 24px var(--shadow-ink);z-index:9999;border-radius:6px;flex-direction:column;max-height:calc(100dvh - 72px);padding:4px;display:flex;position:fixed;overflow-y:auto}.more-menu[hidden]{display:none}.more-item{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:13px}.more-item:hover,.more-item:focus{background:var(--bg-hover);outline:none}.more-sep{background:var(--border);height:1px;margin:4px 0}.more-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:6px 12px 2px;font-size:11px}.symbols-wrap{display:inline-flex;position:relative}.symbols-menu{min-width:260px;max-width:380px}.symbols-list{flex-direction:column;max-height:min(50vh,360px);display:flex;overflow-y:auto}.symbol-item{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:baseline;gap:10px;padding:5px 12px;font-size:13px;display:flex}.symbol-item:hover,.symbol-item:focus{background:var(--bg-hover);outline:none}.symbol-item-name{font-family:var(--font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.symbol-item-kind{color:var(--text-dim);white-space:nowrap;flex:none;font-size:11px}.symbol-item.is-current{box-shadow:inset 2px 0 0 var(--gold)}.symbol-item.is-current .symbol-item-name{color:var(--gold-bright)}.symbols-empty{color:var(--text-dim);padding:6px 12px;font-size:12px;font-style:italic}.symbols-filter{border-top:1px solid var(--border);border-radius:0 0 4px 4px;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;display:flex}.symbols-filter-key{color:var(--text-dim);white-space:nowrap;font-size:11px}.lang-wrap{flex:none;display:inline-flex;position:relative}.btn-lang{font-size:12px;font-family:var(--font-mono,monospace);color:var(--text-primary);white-space:nowrap;flex:none;min-width:58px;padding:5px 10px;line-height:16px}#lang-btn-label{white-space:nowrap;overflow:visible}.lang-menu{min-width:260px;max-width:380px}.lang-group+.lang-group{margin-top:6px}.lang-group-name{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);padding:4px 12px 2px;font-size:10px}.lang-group .lang-row{padding-left:22px}.lang-row{color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:baseline;gap:6px;padding:5px 12px;font-size:13px;display:flex}.lang-row:hover{background:var(--bg-hover)}.lang-row input{accent-color:var(--gold);flex:none;align-self:center;margin:0}.lang-row-name{white-space:nowrap;font-family:var(--font-mono);font-size:12px}.lang-chip{text-transform:uppercase;letter-spacing:.5px;color:var(--gold);border:1px solid var(--gold);white-space:nowrap;border-radius:3px;align-self:center;padding:0 4px;font-size:9px}.lang-menu-footer{color:var(--text-dim);border-top:1px solid var(--border);margin-top:4px;padding:6px 12px 2px;font-size:11px}@media (width<=600px){.editor-actions>#solve-btn,.editor-actions>#clear-btn,.editor-actions>#format-btn,.editor-actions>#share-btn,.editor-actions>#download-btn,.editor-actions>#open-btn,.editor-actions>.lang-wrap,.editor-actions>.symbols-wrap,.editor-actions>.examples-wrap{display:none}}.more-item[role=menuitemcheckbox]{display:block}.monaco-editor .iPadShowKeyboard{display:none!important}@media (pointer:coarse),(width<=1024px){.monaco-editor .inputarea,#doc-search{font-size:16px!important}}@media (pointer:coarse){#repl-input .monaco-editor,#repl-input .monaco-editor .view-line,#repl-input.repl-input-empty:after{font-size:16px!important}#repl-input{height:26px}}@media (width<=768px){.header-content{gap:10px;padding:0 14px}.nav-sep{display:none}.nav{gap:0}.logo-sub,.btn-label{display:none}}.docs-overlay{background:var(--backdrop-docs);justify-content:stretch;align-items:stretch;padding:2vh 2vw}.docs-shell{background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-lg);flex-direction:column;flex:1;animation:.18s ease-out slideIn;display:flex;overflow:hidden}.docs-topbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 10px 0 8px;display:flex}.docs-brand{font-family:var(--font-serif,serif);color:var(--gold);letter-spacing:.04em;flex-shrink:0;font-size:14px}.docs-search-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.docs-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:9px}.docs-search-input{width:100%;height:28px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-mid);border-radius:var(--radius-md);outline:none;padding:0 10px 0 28px;font-size:12px}.docs-search-input:focus{border-color:var(--gold-line)}.docs-search-input::placeholder{color:var(--text-dim)}.docs-status{color:var(--text-sec);white-space:nowrap;flex-shrink:0;font-size:11px}.docs-status.partial{color:var(--amber)}.docs-close-return{display:none}.docs-shell :where(nav){z-index:auto;gap:0;align-items:initial;-webkit-backdrop-filter:none;background:0 0;border-bottom:none;height:auto;padding:0;display:block;position:static;top:auto;left:auto;right:auto}.docs-body{flex:1;min-height:0;display:flex}.docs-nav{border-right:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;width:260px;padding:12px 8px 24px;overflow-y:auto}.docs-overlay.nav-collapsed .docs-nav{display:none}.docs-nav-section{margin-bottom:16px}.docs-nav-section h4{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0 0 6px 8px;font-size:10px}.docs-nav-group>summary{cursor:pointer;color:var(--text-sec);border-radius:var(--radius-md);padding:3px 8px;font-size:12px;list-style:none}.docs-nav-group>summary::-webkit-details-marker{display:none}.docs-nav-group>summary:before{content:"▸ ";color:var(--text-dim)}.docs-nav-group[open]>summary:before{content:"▾ "}.docs-nav-group>summary:hover{background:var(--bg-hover);color:var(--text-primary)}.docs-nav ul{margin:2px 0 6px;padding:0 0 0 14px;list-style:none}.docs-nav li a{color:var(--text-primary);border-radius:var(--radius-md);text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;font-size:12px;text-decoration:none;display:block;overflow:hidden}.docs-nav li a:hover{background:var(--bg-hover);color:var(--gold-bright)}.docs-nav li a.active{background:var(--gold-subtle);color:var(--gold-bright);box-shadow:inset 2px 0 0 var(--gold)}.docs-nav-pinned{margin-bottom:10px}.docs-nav-pinned ul{margin:0;padding-left:0}.docs-nav-pinned li a{font-weight:600}.docs-nav-datelist>summary{cursor:pointer;padding:1px 0;list-style:none}.docs-nav-datelist>summary::-webkit-details-marker{display:none}.docs-nav-datelist>summary h4{display:inline}.docs-nav-datelist>summary h4:before{content:"▸ ";color:var(--text-dim)}.docs-nav-datelist[open]>summary h4:before{content:"▾ "}.docs-nav-datelist>summary:hover h4{color:var(--text-primary)}.docs-nav-datelist li a{align-items:baseline;gap:8px;display:flex}.docs-nav-datelist .docs-recent-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docs-nav-datelist .docs-recent-date{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:10px}.docs-results li a{white-space:normal;border-bottom:1px solid var(--border);padding:5px 8px}.docs-result-title{font-family:var(--font-mono);display:inline}.docs-result-kind{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-left:6px;font-size:10px;display:inline}.docs-result-desc{color:var(--text-sec);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.docs-empty{color:var(--text-sec);padding:16px;font-size:12px}.docs-article{flex:1;min-width:0;max-width:none;padding:24px 32px 64px;overflow-y:auto}.docs-article>*{max-width:74ch}.docs-article pre,.docs-article table,.docs-article .table-scroll,.docs-article .code-card{max-width:none}.docs-article .table-scroll{max-width:100%}.docs-article pre{position:relative}.docs-load-btn{font-family:var(--font-mono);color:var(--text-sec);background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);cursor:pointer;opacity:0;padding:2px 8px;font-size:10px;position:absolute;top:6px;right:6px}.docs-article pre:hover .docs-load-btn,.docs-load-btn:focus{opacity:1}.docs-load-btn:hover{color:var(--gold-bright);border-color:var(--gold-line)}.docs-footer{border-top:1px solid var(--border);background:var(--bg-surface);height:30px;color:var(--text-dim);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:11px;display:flex}.docs-site-link{color:var(--text-sec);text-decoration:none}.docs-site-link:hover{color:var(--gold-bright)}@media (width<=768px){.docs-overlay{padding:0}.docs-shell{border:none;border-radius:0;position:relative}.docs-topbar{height:auto;min-height:calc(48px + var(--safe-top));padding-top:var(--safe-top)}.docs-footer{height:auto;min-height:calc(30px + var(--safe-bottom));padding-bottom:var(--safe-bottom)}.docs-body{position:relative}.docs-nav{z-index:2;width:82%;max-width:320px;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;left:0}.docs-article{padding:16px 18px 48px}.docs-brand,.docs-status{display:none}.docs-load-btn{opacity:1}.docs-topbar .btn-close{border:1px solid var(--border-str);width:36px;height:36px;color:var(--gold);flex-shrink:0}.docs-close-return{display:block}.docs-close-x{display:none}.docs-topbar .docs-nav-toggle{justify-content:center;width:36px;height:36px;padding:0}}@media (width>=769px){.docs-nav-toggle{display:none}}@media print{.header,.footer,.editor-actions,.console-actions{display:none}.repl-container{display:block}.editor-pane,.console-pane{break-inside:avoid}}.trace-panel{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex:none;font-size:12px}.trace-controls{align-items:center;gap:6px;padding:6px 10px;display:flex}.trace-slider{min-width:80px;accent-color:var(--accent-color);cursor:pointer;flex:auto}.trace-pos{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.trace-site{color:var(--accent-color);white-space:nowrap;text-overflow:ellipsis;max-width:40%;overflow:hidden}.trace-banner{color:var(--text-secondary);border-top:1px solid var(--border-color);padding:4px 10px 6px}.trace-frames-row{background:var(--border-color);border-top:1px solid var(--border-color);gap:1px;max-height:140px;display:flex}.trace-frames,.trace-locals{background:var(--bg-secondary);padding:4px 0;overflow-y:auto}.trace-frames{flex:0 0 40%}.trace-locals{flex:60%}.trace-frame{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:8px;padding:3px 10px;display:flex}.trace-frame:hover{background:var(--bg-tertiary)}.trace-frame.active{background:var(--bg-tertiary);color:var(--accent-color)}.trace-frame-fn{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-frame-line{color:var(--text-muted);white-space:nowrap}.trace-local{gap:8px;padding:3px 10px;display:flex}.trace-local-name{color:var(--accent-color);flex:none}.trace-local-val{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-empty{color:var(--text-muted);padding:3px 10px;font-style:italic}.trace-current-line{background:var(--gold-glow)}.trace-current-marker{background:var(--accent-color);margin-left:2px;width:3px!important}.trace-current-expr{background:var(--gold-glow);border-bottom:1px solid var(--accent-color)}
