:root{--blue:#087bff;--ink:#172033;--muted:#7b8799;--line:#e8edf4;--bg:#f6f8fb;--panel:#fff;--editor:#fbfcfe;--explorer:208px;--docs:280px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);font:13px Inter,ui-sans-serif,system-ui,sans-serif;background:var(--bg);overflow:hidden}header{height:52px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.brand{display:flex;align-items:center;gap:8px;font-size:16px;letter-spacing:-.02em}.berry{color:var(--blue);font-size:20px}.brand small{display:inline;color:var(--muted);font-size:10px;margin-left:8px;letter-spacing:.08em;text-transform:uppercase}.brand em{color:var(--blue);font-style:normal}.actions{display:flex;align-items:center;gap:6px}button{border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 9px;color:var(--ink);font:600 12px inherit;cursor:pointer}button:hover,button:focus-visible{background:#eef5ff;border-color:#c9ddfa;outline:0}.run{background:var(--blue);color:#fff;padding:7px 14px;box-shadow:0 2px 5px #087bff33}.run:hover{background:#006de5;border-color:#006de5}.actions #new,.actions #save{color:var(--muted);font-weight:500}.notice{display:none}main{height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(320px,1fr) 1px var(--docs);min-height:0}.splitter{background:var(--line);cursor:col-resize}.splitter:hover,.splitter:focus{background:var(--blue);outline:0}aside,.right{background:var(--panel);overflow:auto;min-width:0}.right{border-left:1px solid var(--line)}.side-title,.panel-head{height:38px;padding:13px 12px 8px;font-size:10px;letter-spacing:.11em;color:var(--muted);font-weight:700}.side-title button{float:right;padding:0 3px;color:var(--muted);font-size:15px}.modules-title{margin-top:10px;border-top:1px solid var(--line);padding-top:15px}#moduleSearch{margin:0 10px 8px;width:calc(100% - 20px);padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);outline:0}#moduleSearch:focus{border-color:#9bc4fb;background:var(--panel)}#files,#modules{padding:0 6px}.file,.module{padding:7px 8px;border-radius:5px;cursor:pointer}.file.active,.module:hover,.module:focus{background:#edf5ff;color:var(--blue)}.file i{color:var(--blue);font-style:normal}.module{font-size:12px;color:#52627a}.module small{display:block;color:#9aa7b8;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center{display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{height:36px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;overflow:auto}.tab{border:0;border-right:1px solid var(--line);border-radius:0;padding:0 12px;min-width:110px;color:var(--muted);font-weight:500}.tab.active{color:var(--ink);box-shadow:inset 0 -2px var(--blue)}.tab i{color:var(--blue);font-size:10px;font-style:normal}.close{margin-left:9px;color:#a4afbd}.editor-wrap{display:flex;flex:1;min-height:120px;background:var(--editor);overflow:auto}.editor-wrap #lineNums{padding:16px 11px 16px 14px;color:#aab5c4;text-align:right;font:12px/21px ui-monospace,monospace;user-select:none;white-space:pre}.codepane{position:relative;flex:1;min-width:0}.codepane pre,.codepane textarea{position:absolute;inset:0;margin:0;padding:16px 16px 16px 6px;border:0;outline:0;resize:none;overflow:auto;white-space:pre;font:13px/21px ui-monospace,monospace;tab-size:2}.codepane pre{color:#26364d;pointer-events:none}.codepane textarea{color:transparent;background:transparent;caret-color:var(--ink);z-index:1}.codepane textarea::selection{background:#087bff26}.tok-kw{color:#087bff;font-weight:700}.tok-str{color:#a15c00}.tok-num{color:#7241c9}.tok-com{color:#9aa7b8;font-style:italic}.status{height:26px;background:var(--panel);border-top:1px solid var(--line);padding:6px 12px;color:#94a0b1;font-size:10px;display:flex;justify-content:space-between}.terminal{height:0;min-height:0;overflow:hidden;background:var(--panel);border-top:0;transition:height .18s ease}.terminal.open{height:152px;border-top:1px solid var(--line)}.terminal-head{height:36px;padding:11px 12px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.terminal-head button{float:right;border:0;padding:0 6px;color:var(--muted);font-size:10px;font-weight:500}.terminal-head span{float:right;color:#2ca36b;text-transform:none;letter-spacing:0;margin-right:9px}.terminal pre{margin:0;padding:4px 14px;max-height:110px;overflow:auto;white-space:pre-wrap;color:#334155;font:12px ui-monospace,monospace}.panel-head{height:38px;border-bottom:1px solid var(--line);padding:13px 12px}.panel-head button{float:right;padding:0 3px;color:var(--muted);font-size:15px}article{padding:0 14px 18px;color:#58687d;font-size:12px;line-height:1.55}article h1{font-size:15px;color:var(--ink)}footer{height:30px;background:var(--panel);border-top:1px solid var(--line);padding:7px 12px;color:#94a0b1;font-size:10px;display:flex;gap:18px}kbd{font-size:9px;opacity:.65;margin-left:4px}.side-collapsed{--explorer:0px}.side-collapsed aside,.side-collapsed .split-left{display:none}.docs-collapsed{--docs:0px}.docs-collapsed .right,.docs-collapsed .split-right{display:none}.dark{--ink:#e8eef8;--muted:#9cadc5;--line:#26354a;--bg:#0f1725;--panel:#172235;--editor:#111c2c}.dark .codepane pre{color:#dbe7f7}.dark .module,.dark article{color:#a9b8ce}.dark .file.active,.dark .module:hover{background:#203a5f}.dark #moduleSearch{background:#111c2c;color:var(--ink)}.dark .terminal pre{color:#dbe7f7}@media(max-width:850px){:root{--explorer:180px;--docs:0px}.right,.split-right{display:none}}@media(max-width:600px){:root{--explorer:0px}aside,.split-left{display:none}header{padding:0 10px}.actions button:not(.run):not(#theme){display:none}.brand small{display:none}.status span:first-child{display:none}footer span:not(:last-child){display:none}}

.rename-input{width:90px;border:1px solid #087bff;border-radius:3px;padding:2px 4px;font:inherit;color:var(--ink);background:var(--panel)}

.palette{position:fixed;z-index:20;top:64px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 40px #1720332b;padding:8px}.palette.hidden{display:none}.palette input{width:100%;border:0;outline:0;background:var(--bg);color:var(--ink);padding:10px;border-radius:6px;font:13px inherit}.palette-item{padding:9px 10px;border-radius:6px;cursor:pointer;color:var(--ink)}.palette-item:hover,.palette-item.active{background:#edf5ff;color:var(--blue)}
