:root{color-scheme:dark;color:#dfdfe6;background:#1b1b32;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,a,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:-3px;outline:2px solid #ffbf40}.playground{border-left:5px solid #3b3b4f;grid-template-rows:56px minmax(0,1fr) 82px;height:100dvh;min-height:300px;padding:0 2px 2px;display:grid}.course-bar{grid-template-columns:3fr 2fr;padding:12px 10px 10px 5px;display:grid}.course-bar a,.course-bar h1{text-align:center;border:1px solid #3b3b4f;justify-content:center;align-items:center;min-width:0;margin:0;font-size:clamp(14px,1.4vw,21px);font-weight:400;display:flex}.course-bar a{color:inherit;background:#3b3b4f;gap:.3em;text-decoration:none;position:relative}.course-bar a:after{content:"";border-top:16px solid #0000;border-bottom:16px solid #0000;border-left:13px solid #3b3b4f;position:absolute;right:-13px}.panels{grid-template-rows:minmax(0,42fr) 8px minmax(0,58fr);min-height:0;display:grid}.editor-panel{background:#28283e;min-height:0;display:flex;overflow:hidden}.line-numbers{white-space:pre;text-align:right;color:#858599;flex:0 0 58px;padding:6px 15px 0 0;overflow:hidden}.code-area{flex:1;min-width:0;position:relative}#editor,#highlight,.line-numbers{tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(16px,1.65vw,25px);line-height:1.5}#editor,#highlight{white-space:pre;border:0;width:100%;height:100%;margin:0;padding:6px 12px 24px 4px;position:absolute;inset:0;overflow:auto}#highlight{pointer-events:none;color:#c5c5d2;scrollbar-width:none}#highlight::-webkit-scrollbar{display:none}#highlight code{font:inherit}#editor{resize:none;color:#0000;caret-color:#fff;-webkit-text-fill-color:transparent;background:0 0;outline:none}#editor::selection{background:#4279ab80}.editor-panel:focus-within{box-shadow:inset 0 0 0 1px #175a82}.token-keyword{color:#c79bf2}.token-string{color:#ce9178}.token-number{color:#b5cea8}.token-comment{color:#8d9a80}.token-function{color:#dcdcaa}.token-bracket{color:#efda4c}.divider{cursor:row-resize;touch-action:none;z-index:1;background:#3b3b4f;position:relative}.divider:after{content:"";background:#73738c;width:44px;height:2px;position:absolute;top:3px;left:calc(50% - 22px)}.divider:hover,.divider:focus-visible,.divider.dragging{background:#64647c}.console-panel{min-height:0;padding:4px 12px;overflow:auto}#console{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:clamp(16px,1.55vw,24px)/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.output-error{color:#ff9292}.output-warn{color:#ffcf72}.output-info{color:#a0a0b4}.controls{border:1px solid #3b3b4f;align-items:center;gap:18px;padding:12px 14px;display:flex}.run-button{color:#151522;background:#ffb832;border:3px solid #f1a827;padding:9px 16px;font-size:clamp(16px,1.55vw,23px)}.run-button:hover{background:#ffca63}.run-button:disabled{opacity:.65;cursor:wait}.selection-tools{align-items:center;gap:8px;display:flex}.selection-tools[hidden]{display:none}.selection-tools select,.format-button{font:inherit;color:#dfdfe6;background:#3b3b4f;border:1px solid #64647c;padding:9px;font-size:14px}.format-button{color:#151522;background:#ffb832;border-color:#f1a827}.format-button:disabled{opacity:.6;cursor:wait}.controls:has(.selection-tools:not([hidden])) .live-status{display:none}.live-status{color:#9696ab;font-size:13px}.secondary-controls{gap:12px;margin-left:auto;display:flex}.icon-button{color:#e1e1ea;background:#3b3b4f;border:0;place-items:center;width:46px;height:46px;display:grid}.icon-button:hover{background:#51516a}.icon-button svg{width:29px;height:29px}dialog{color:#dfdfe6;background:#28283e;border:1px solid #64647c;width:min(480px,100% - 32px);padding:28px;line-height:1.6}dialog h2{margin-top:0;font-size:23px;font-weight:400}dialog::backdrop{background:#080815b3}@media (width<=600px){.playground{grid-template-rows:60px minmax(0,1fr) 76px}.course-bar{grid-template-columns:1fr 1fr}.course-bar a span,.live-status{display:none}.line-numbers{flex-basis:38px;padding-right:10px}.controls{gap:8px;padding:10px}.selection-tools{gap:5px}.selection-tools select,.format-button{padding:8px 5px;font-size:12px}.run-button{padding:9px 10px}.secondary-controls{gap:8px}.icon-button{width:40px;height:40px}}
