.code-editor{min-width:0;height:clamp(350px,50vh,600px)}.code-editor .cm-editor{color:#353535;background:#fff;height:100%;min-height:350px;font-family:JetBrains Mono,monospace;font-size:16.25px;position:relative}.code-editor .cm-scroller{z-index:1;background:0 0;font-family:inherit;line-height:1.8;position:relative;overflow:auto}.code-editor .cm-content{caret-color:#333;min-height:350px;padding:16px 0}.code-editor .cm-line{padding:0 16px}.code-editor .cm-gutters{color:#888;background:#fff;border-right:1px solid #eee}.code-editor .cm-lineNumbers{font-variant-numeric:tabular-nums;flex:0 0 6ch;width:6ch;min-width:6ch;max-width:6ch}.code-editor .cm-lineNumbers .cm-gutterElement{text-align:center;width:100%;padding:0}.code-editor .cm-activeLine,.code-editor .cm-activeLineGutter{background:#00000002}.code-editor .cm-focused,.code-playground .code-editor .cm-content:focus-visible{outline:none}.code-editor .cm-focused .cm-selectionBackground,.code-editor .cm-selectionBackground{background:#00000016!important}.code-editor .cm-cursor{border-left-color:#333}.code-editor .code-error-line{background:#b63a3a0b;box-shadow:inset 2px 0 #b63a3a}.code-ghosts{z-index:0;pointer-events:none;opacity:.09;transition:opacity 90ms;position:absolute;top:0;left:0}.code-editor:focus-within .code-ghosts{opacity:.07}.code-issue-timer{font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.code-issue-timer button{font:inherit;color:inherit;touch-action:manipulation}@media (prefers-reduced-motion:reduce){.code-ghosts{transition:none}}.code-editor .cm-tooltip:has(.code-error-tooltip){color:#963232;background:#fff;border:1px solid #d8d8d8;border-radius:6px}.code-error-tooltip{white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(420px,75vw);font:500 13.75px/1.6 var(--font-mono);padding:8px 12px}.code-editor{--syntax-keyword:navy;--syntax-string:green;--syntax-number:#00f;--syntax-comment:gray;--syntax-function:#00627a;--syntax-text:#000}.code-editor[data-syntax-theme=darcula]{--syntax-keyword:#cc7832;--syntax-string:#6a8759;--syntax-number:#6897bb;--syntax-comment:gray;--syntax-function:#ffc66d;--syntax-text:#a9b7c6}.code-editor[data-syntax-theme=darcula] .cm-editor,.code-editor[data-syntax-theme=darcula] .cm-gutters{color:#a9b7c6;background:#2b2b2b;border-color:#444}.code-editor[data-syntax-theme=darcula] .cm-content{caret-color:#a9b7c6}.code-editor[data-syntax-theme=darcula] .cm-cursor{border-color:#a9b7c6}.code-editor[data-syntax-theme=darcula] .code-ghosts{filter:invert()}.code-editor[data-syntax-theme=darcula] .cm-selectionBackground{background:#214283!important}.code-editor[data-syntax-theme=darcula] .cm-activeLine{background:#323232}.code-timer-display{text-align:right;vertical-align:middle;width:18ch;display:inline-grid}.code-timer-display>span{grid-area:1/1;justify-self:end;transition:opacity .32s,transform .32s,filter .32s}.code-timer-focus{opacity:0;filter:blur(2px);transform:translateY(8px)}[data-mode=focus] .code-timer-elapsed-display{opacity:0;filter:blur(2px);transform:translateY(-8px)}[data-mode=focus] .code-timer-focus{opacity:1;filter:blur();transform:translateY(0)}@media (prefers-reduced-motion:reduce){.code-timer-display>span{transition:none}}.code-issue-timer>button:first-child{position:relative}.code-timer-reset{flex:0 0 6ch;width:6ch}.code-timer-reset[data-visible=false]{visibility:hidden}.code-timer-mode{opacity:0;font-size:9px;transition:opacity .32s;position:absolute;top:-5px;right:7px}.code-timer-mode[data-visible=true]{opacity:1}.code-guide{border-left:2px solid var(--border,#d8d8d8);color:inherit;justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 18px;padding:10px 12px;font-size:13px;line-height:1.6;display:flex}.code-guide>div{flex:1;min-width:0}.code-guide strong{font-weight:500}.code-guide p{margin:3px 0 0}.code-guide button{white-space:nowrap;flex:none}.code-description .code-guide{margin:12px 0}.code-playground .code-settings-inner>.code-free-entry.code-guide-entry{font-weight:400}.code-guide-readable{clip-path:inset(50%);white-space:nowrap;-webkit-user-select:none;user-select:none;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.code-guide-word,.code-guide-letter{display:inline-block}.code-guide-word{white-space:nowrap}@media (prefers-reduced-motion:reduce){.code-guide-letter{opacity:1!important;transform:none!important}}.code-playground{--code-purple:#ab27c4;--code-success:#397c16;--code-warning:#956500;--code-orange:#b45309;--code-error:#c52f32;font-family:var(--font-mono);color:#353535;font-size:16.25px}.code-window{background:#fff;border:1px solid #d8d8d8;border-radius:14px;min-width:0;position:relative;overflow:hidden}.code-playground button,.code-playground select,.code-playground input,.code-playground a{font:inherit}.code-playground button,.code-playground a{cursor:pointer}.code-playground button{text-align:left;background:0 0;border:0;min-height:40px;padding:5px 7px}.code-playground button:disabled{opacity:.5;cursor:wait}.code-playground :focus-visible{outline-offset:2px;outline:2px solid #666}.code-toolbar{--brace-duration:.62s;--brace-easing:cubic-bezier(.22, 1, .36, 1);--brace-row-height:48px;border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-start;gap:2px 16px;padding:12px 15px;display:flex;position:relative;overflow:hidden}.code-brace{flex:0 auto;align-items:flex-start;min-width:0;display:flex}.code-brace.is-open{flex-grow:1;flex-basis:100%}.code-brace-settings{width:0;height:var(--brace-row-height);opacity:0;min-width:0;transition:width var(--brace-duration) var(--brace-easing), height var(--brace-duration) var(--brace-easing), opacity .42s ease;flex:none;overflow:hidden}.is-open .code-brace-settings{width:var(--settings-width,0px);height:max(var(--brace-row-height), var(--settings-height,0px));opacity:1}.code-settings-inner{min-width:0;min-height:0;width:var(--settings-width,0px);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:end;gap:16px 24px;padding:8px 14px;display:grid;overflow:hidden}.code-settings-inner>:is(label,.code-free-entry){opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility 0s linear .22s;transform:translateY(5px)}.code-settings-inner>:nth-child(2){--reveal-order:1}.code-settings-inner>:nth-child(3){--reveal-order:2}.code-settings-inner>:nth-child(4){--reveal-order:3}.code-settings-inner>:nth-child(5){--reveal-order:4}.code-settings-inner>:nth-child(6){--reveal-order:5}.code-settings-inner>:nth-child(7){--reveal-order:6}.code-settings-inner>:nth-child(8){--reveal-order:7}.code-settings-inner>:nth-child(9){--reveal-order:8}.is-open .code-settings-inner>:is(label,.code-free-entry){opacity:1;visibility:visible;transition-delay:calc(.32s + var(--reveal-order,0) * 55ms);transform:translateY(0)}.code-settings-inner>label{grid-template-rows:auto 40px;align-items:center;gap:4px;min-width:0;font-size:13.75px;display:grid}.code-settings-inner>label:first-of-type{grid-column:1}.code-settings-inner>.code-free-entry{place-self:center start;padding-left:0;padding-right:0}.code-settings-inner>label>:is(select,input,button){width:100%;min-width:0;max-width:none;height:40px}.code-settings-inner select,.code-settings-inner input{color:#444;background:#fff;border:0;border-bottom:1px solid #ddd;border-radius:0;min-width:0;max-width:150px;padding:7px 4px}.code-meta{color:#666;transition:transform var(--brace-duration) var(--brace-easing), opacity var(--brace-duration) var(--brace-easing);flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:13.75px;display:flex}.code-tags{flex-wrap:wrap;gap:4px 8px;min-width:0;max-width:100%;display:inline-flex}.code-tags>span{overflow-wrap:anywhere;max-width:100%}.code-window-controls{color:#777;height:var(--brace-row-height);align-items:center;gap:7px;margin-left:auto;display:flex}.code-window-controls a{padding:10px;text-decoration:none}.code-issue-search{border-bottom:1px solid #eee;gap:3px;max-height:200px;padding:12px 20px;display:grid;overflow-y:auto}.code-issue-search button{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.code-issue-search button:hover{background:#f7f7f7}.code-issue-search small{color:#777;margin-left:auto}.code-editor-area{min-height:420px;position:relative}.code-run-row{color:#666;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 17px 0;display:flex}.code-run-row>span{font-size:13.75px}.code-run-row>button{white-space:nowrap;margin-left:auto}.code-workspace-nav{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px 8px;max-width:100%;font-size:13.75px;display:flex}.code-run-row:has(.code-workspace-nav){flex-wrap:wrap}.code-run-row>span:empty{display:none}.code-workspace-nav button:hover{text-underline-offset:4px;text-decoration:underline}.code-share{flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;max-width:100%;display:inline-flex}.code-share [role=status]{overflow-wrap:anywhere;min-width:0}.code-share a{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;text-decoration:underline}.code-status-row{color:#666;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:5px 17px 12px;display:flex}.code-status-row>div{flex-wrap:wrap;display:flex}.code-output{border-top:1px solid #eee;max-height:280px;padding:18px 24px;font-size:15px;overflow:auto}.code-output p{margin-bottom:14px}.code-output summary{cursor:pointer;padding:10px 0}.code-output pre,.code-example pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#333;margin-top:8px}.code-sample-columns{color:#777;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:10px 0;display:grid}.code-description-backdrop{background:var(--color-background,#fff);opacity:0;visibility:hidden;z-index:5;padding:30px;transition:opacity .29s,visibility .29s;position:absolute;inset:0;overflow:auto}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.code-description-backdrop{background:color-mix(in oklch, var(--color-background,#fff) 88%, transparent);-webkit-backdrop-filter:blur(28px)saturate(70%);backdrop-filter:blur(28px)saturate(70%)}}.code-description-backdrop.is-visible{opacity:1;visibility:visible}.code-description{outline:none;max-width:660px;margin:0 auto;padding:12px 18px 28px;line-height:1.8}.code-description-heading{color:#777;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13.75px;display:flex}.code-description h1{letter-spacing:-.05em;margin:14px 0 5px;font-size:clamp(26.25px,5vw,37.5px);line-height:1.3}.code-description h2{text-transform:uppercase;letter-spacing:.08em;margin:20px 0 5px;font-size:15px;font-weight:500}.code-issue-labels{color:#777;margin-bottom:22px;font-size:13.75px}.code-example{color:#777;border-bottom:1px solid #eee;grid-template-columns:1fr 1fr;gap:18px;padding:12px 0;display:grid}.code-description ul{padding-left:20px;list-style:outside}.code-description-hint{color:#777;margin-top:24px;font-size:13.75px}.code-footnote{color:#777;margin:14px 0 0;font-size:12.5px;line-height:1.8}.code-feedback{animation:.26s code-giggle,2.1s forwards code-neutral;display:inline-block}.code-feedback-pass{--feedback-color:var(--code-success)}.code-feedback-wrong{--feedback-color:var(--code-orange)}.code-feedback-error{--feedback-color:var(--code-error)}@keyframes code-giggle{20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}@keyframes code-neutral{0%,65%{color:var(--feedback-color)}to{color:var(--code-neutral,#666)}}@media (width<=600px){.code-toolbar{gap:0 5px;padding:8px 10px}.code-meta{order:3;gap:0 5px;width:100%}.code-description-backdrop{padding:12px}.code-description{padding:8px 10px 22px}.code-settings-inner{flex-direction:column;align-items:stretch}.code-settings-inner label{justify-content:space-between}.code-editor-area{min-height:390px}.code-sample-columns{grid-template-columns:1fr}.code-playground{font-size:15px}}@media (prefers-reduced-motion:reduce){.code-playground *,.code-playground :before,.code-playground :after{transition:none!important;animation:none!important}.code-feedback{color:var(--feedback-color)}}.code-playground .code-difficulty[data-difficulty=easy],.code-playground .code-done{color:var(--code-success)}.code-playground .code-difficulty[data-difficulty=medium]{color:var(--code-warning)}.code-playground .code-difficulty[data-difficulty=hard]{color:var(--code-error)}.code-stack-label{color:var(--code-orange)}.code-home-guides{white-space:pre;color:#3535351a;height:clamp(350px,50vh,600px);font:inherit;-webkit-user-select:none;user-select:none;pointer-events:none;margin:0 30px 25px;line-height:1.8;overflow:hidden}.code-brace>span{flex-shrink:0;font-size:40px;line-height:1.2}.code-playground .code-menu-trigger{height:var(--brace-row-height);flex:none;font-size:22px;font-weight:700}.code-toolbar>button{height:var(--brace-row-height)}.is-home .code-menu-trigger[aria-expanded=false]{animation:4s ease-in-out infinite code-menu-invite}.is-home .code-menu-trigger:is(:hover,:focus-visible){animation:none}@keyframes code-menu-invite{0%,12%,to{transform:translate(0)}3%,9%{transform:translate(3px)}6%{transform:translate(-2px)}}.code-input-reference{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;font-weight:500;transition:background-color .1s,box-shadow .1s}.code-input-reference[data-color=copper]{color:#914b20}.code-input-reference[data-color=indigo]{color:#514799}.code-input-reference[data-color=teal]{color:#146b63}.code-input-reference[data-color=rose]{color:#993653}.code-input-reference[data-color=olive]{color:#536c18}.code-input-reference[data-color=blue]{color:#235e9b}.code-input-reference[data-color=violet]{color:#773e91}.code-input-reference[data-color=ochre]{color:#7a6000}.code-input-reference[data-active=true]{background-color:color-mix(in srgb, currentColor 14%, transparent);box-shadow:inset 0 -1px}.code-running-status{align-items:center;gap:10px;display:inline-flex}.code-runtime-motion{border:2px solid;flex:0 0 10px;width:10px;height:10px;display:inline-block}.code-runtime-motion-initializing{border-right-color:#0000;border-radius:50%;animation:.9s linear infinite code-runtime-spin}.code-runtime-motion-running{animation:.85s ease-in-out infinite code-runtime-pulse}.code-run-active{color:var(--code-purple);animation:.85s ease-in-out infinite code-runtime-pulse;display:inline-block}.code-test-progress{flex-wrap:wrap;gap:8px;margin:4px 24px 12px;font-size:11px;list-style:none;display:flex}.code-test-progress li{color:#777;border:1px solid #e5e5e5;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.code-sample-motion{border:1px solid;border-radius:50%;width:6px;height:6px;display:inline-block}.code-test-progress [data-state=initializing],.code-test-progress [data-state=running]{color:var(--code-purple)}.code-test-progress [data-state=initializing] .code-sample-motion{border-right-color:#0000;animation:.9s linear infinite code-runtime-spin}.code-test-progress [data-state=running] .code-sample-motion{background:currentColor;animation:.85s ease-in-out infinite code-runtime-pulse}.code-test-progress [data-state=passed]{color:var(--code-success)}.code-test-progress [data-state=wrong-answer]{color:var(--code-orange)}.code-test-progress [data-state=runtime-error]{color:var(--code-error)}.code-test-progress :is([data-state=passed],[data-state=wrong-answer],[data-state=runtime-error]){border-color:currentColor;animation:.28s ease-out code-sample-reveal}.code-test-progress :is([data-state=passed],[data-state=wrong-answer],[data-state=runtime-error]) .code-sample-motion{background:currentColor}@keyframes code-runtime-spin{to{transform:rotate(360deg)}}@keyframes code-runtime-pulse{50%{opacity:.35;transform:scale(.85)}}@keyframes code-sample-reveal{0%{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.code-settings-inner .code-setting-toggle{font:inherit;color:#444;border-bottom:1px solid #ddd;min-height:0;padding:7px 4px}:root[data-code-theme=darcula]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#2b2b2b;--foreground:#a9b7c6;--card:#313335;--card-foreground:#a9b7c6;--popover:#313335;--popover-foreground:#a9b7c6;--primary:#a9b7c6;--primary-foreground:#2b2b2b;--secondary:#383b3e;--secondary-foreground:#a9b7c6;--muted:#383b3e;--muted-foreground:#a0a5ad;--accent:#383b3e;--accent-foreground:#a9b7c6;--border:#515151;--input:#515151;--ring:#a9b7c6}[data-code-theme=darcula] .code-playground{color:var(--foreground);--code-purple:#c792ea;--code-success:#90bb75;--code-warning:#deb265;--code-orange:#e3a568;--code-error:#ed8585}[data-code-theme=darcula] .code-window{background:var(--background);border-color:var(--border)}[data-code-theme=darcula] :is(.code-toolbar,.code-issue-search,.code-output,.code-example,.code-test-progress li){border-color:var(--border)}[data-code-theme=darcula] :is(.code-meta,.code-window-controls,.code-run-row,.code-status-row,.code-description-heading,.code-issue-labels,.code-description-hint,.code-footnote,.code-sample-columns,.code-example){color:var(--muted-foreground)}[data-code-theme=darcula] :is(.code-output pre,.code-example pre){color:var(--foreground)}[data-code-theme=darcula] .code-settings-inner :is(select,input,.code-setting-toggle){color:var(--foreground);background:var(--background);border-color:var(--border)}[data-code-theme=darcula] .code-issue-search button:hover{background:var(--accent)}[data-code-theme=darcula] .code-home-guides{color:#a9b7c61f}[data-code-theme=darcula] .code-playground :focus-visible{outline-color:var(--foreground)}[data-code-theme=darcula] .code-editor .cm-tooltip:has(.code-error-tooltip){background:var(--card);border-color:var(--border);color:var(--code-error)}[data-code-theme=darcula] .code-input-reference[data-color=copper]{color:#e0aa78}[data-code-theme=darcula] .code-input-reference[data-color=indigo]{color:#b6a6ee}[data-code-theme=darcula] .code-input-reference[data-color=teal]{color:#79c6ba}[data-code-theme=darcula] .code-input-reference[data-color=rose]{color:#f0a0b8}[data-code-theme=darcula] .code-input-reference[data-color=olive]{color:#bbc881}[data-code-theme=darcula] .code-input-reference[data-color=blue]{color:#86bbef}[data-code-theme=darcula] .code-input-reference[data-color=violet]{color:#d6a0e8}[data-code-theme=darcula] .code-input-reference[data-color=ochre]{color:#e3c16b}[data-code-theme=darcula] .code-playground{--code-neutral:#a0a5ad}[data-code-theme=darcula] .code-test-progress :is([data-state=queued],[data-state=skipped]){color:var(--muted-foreground)}.code-meta .code-done{text-transform:uppercase;letter-spacing:.04em;transform-origin:50%;font-size:18px;font-weight:500;animation:.38s cubic-bezier(.22,1,.36,1) both code-badge-appear;display:inline-block}@keyframes code-badge-appear{0%{opacity:0;transform:translateY(4px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.code-issue-search>button{animation:.24s ease-out both code-settings-result}@keyframes code-settings-result{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.code-playground .code-settings-inner>.code-free-entry{font-size:13.75px;font-weight:700}@media (width>=601px){.code-brace.is-open{flex-basis:auto}}.code-toolbar[data-menu-returning] .code-meta{left:var(--meta-left,0px);top:var(--meta-top,0px);width:var(--meta-width);position:absolute}.code-toolbar:has(.code-brace.is-open) .code-meta{left:var(--meta-left,0px);top:var(--meta-top,0px);width:var(--meta-width);position:absolute}.code-toolbar:has(.code-brace.is-open) .code-meta{opacity:0;pointer-events:none;transform:translate(3rem)}.code-menu-spectrum{color:var(--ink-2,#c93b82);animation:10s linear infinite code-menu-spectrum;display:inline-block}@keyframes code-menu-spectrum{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion:reduce){.code-menu-spectrum{filter:none;color:currentColor;animation:none}}.code-playground .code-sample-verdict[data-result=passed],.code-playground .code-actual-output[data-result=passed] :is(pre,td,.code-sql-null){color:var(--code-success)}.code-playground .code-sample-verdict:is([data-result=wrong-answer],[data-result=runtime-error]),.code-playground .code-actual-output:is([data-result=wrong-answer],[data-result=runtime-error]) :is(pre,td,.code-sql-null){color:var(--code-error)}
