
:root{color-scheme:light;--bg:#fafafa;--surface:#fff;--line:#e8e8eb;--muted:#77777f;--ink:#19191c;--accent:#18181b;--radius:9px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}button{border:1px solid #dedee3;border-radius:6px;padding:8px 13px;color:#37373d;background:#fff;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-weight:500;box-shadow:0 1px 2px #00000004}button:hover{background:#f4f4f5;border-color:#c9c9d0}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #aaa;outline-offset:3px}button:disabled{opacity:.35;cursor:default}button.primary{background:#202023;color:white;border-color:#202023}button.primary:hover{background:#36363a}button.quiet{background:transparent;border-color:transparent;box-shadow:none;color:#66666f}.danger{color:#b24a4a}input{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;box-shadow:0 1px 2px #00000003}input:focus{border-color:#aaa}h1,h2,p{margin:0}h1{font-size:27px;letter-spacing:-.9px;font-weight:600;line-height:1.3}p{color:var(--muted)}header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4%;gap:20px;background:#fff}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:650;letter-spacing:-.4px}.mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#1c1c1f;color:white;font-size:16px;font-weight:600;border-radius:6px;letter-spacing:-1px}.brand small{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}.slash{font-weight:300;color:#d1d1d6;padding:0 7px}.environment{font-size:11px;color:#686873;border:1px solid var(--line);border-radius:5px;padding:3px 7px;letter-spacing:.2px}header #logout{margin-left:auto;font-size:12px}main{max-width:1560px;margin:auto;padding:35px 4% 24px}.overview{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.overview h1{margin:7px 0}.overview p{font-size:12px}.eyebrow{font-size:10px;font-weight:550;letter-spacing:1.4px;color:#91919a}.actions{display:flex;gap:7px}.actions button{font-size:12px}.metrics{display:grid;grid-template-columns:1.1fr 1fr 1fr;border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:26px}.metrics>div{padding:16px 21px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metric-label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.metrics strong{font-size:12px;font-weight:500}.muted{color:var(--muted);font-weight:400}.connection{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#a1a1aa;flex-shrink:0}.status-dot.online{background:#37956d;box-shadow:0 0 0 3px #37956d12}nav{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);margin-bottom:20px}nav button{border:0;background:transparent;border-radius:0;padding:0 0 11px;color:#81818a;font-size:12px;box-shadow:none}nav button:hover{background:none}nav button.selected{color:#202023;border-bottom:2px solid #202023}.nav-note{margin-left:auto;color:#9a9aa2;font-size:11px;padding-bottom:11px}.file-layout{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}aside{border-right:1px solid var(--line);padding:16px 12px;background:#fdfdfd;max-height:720px;overflow:auto}.aside-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.aside-head strong{font-size:12px;font-weight:550}.icon-button{font-size:17px;padding:0 7px;height:28px}#search{width:100%;margin:12px 0 16px;padding:8px 10px;font-size:12px;background:#fafafa}details{margin:3px 0}summary{padding:9px 6px;cursor:pointer;font-size:12px;color:#53535e;font-weight:500;overflow-wrap:anywhere}summary::marker{font-size:10px;color:#aaa}.group-count{float:right;color:#a0a0aa;font-size:11px;font-weight:400}.file{display:block;text-align:left;width:calc(100% - 12px);font-size:11px;padding:8px 10px;margin:2px 0 2px 12px;background:transparent;border-color:transparent;box-shadow:none;color:#81818a;overflow-wrap:anywhere;white-space:normal}.file.active{background:#ededf0;color:#222228;border-color:transparent}.footnote{border-top:1px solid var(--line);padding:16px 4px 0;margin-top:22px;font-size:11px;color:#9a9aa3;line-height:1.8}article{min-width:0}.editor-head{padding:18px 21px;display:flex;gap:15px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);height:76px}#filename{display:block;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:400;margin-top:6px;overflow-wrap:anywhere}.badge{font-size:10px;color:#81818b;white-space:nowrap;padding:3px 7px;border:1px solid var(--line);border-radius:5px}.badge.unsaved{color:#9a722c;background:#fcf8ef;border-color:#f1e7d5}.editor-wrap{display:flex;background:#fff;height:420px;overflow:hidden}#lineNumbers{margin:0;padding:23px 12px 23px 18px;text-align:right;background:#fcfcfd;border-right:1px solid #f3f3f5;color:#b2b2bd;font:13px/1.9 "SFMono-Regular",Consolas,monospace;overflow:hidden;user-select:none;min-width:48px}textarea{display:block;flex:1;min-width:0;height:100%;background:#fff;color:#434352;border:0;outline:0;resize:none;padding:23px 21px;font:13px/1.9 "SFMono-Regular",Consolas,monospace;tab-size:2;white-space:pre;overflow:auto}#empty{text-align:center;height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.empty-icon{font:25px monospace;width:45px;height:45px;line-height:42px;background:#fafafa;border:1px solid var(--line);border-radius:9px;color:#9b9ba6;margin-bottom:15px;transform:rotate(90deg)}#empty h2{font-size:14px;font-weight:500;color:#52525c;margin-bottom:5px}#empty p{font-size:12px;color:#9d9da6}.editor-meta{padding:9px 20px;border-top:1px solid #f3f3f5;display:flex;justify-content:space-between;font-size:10px;color:#a0a0aa;gap:10px}.editor-meta #applyStatus.pending{color:#a47935}.editor-meta #applyStatus.applied{color:#438367}.editor-footer{padding:13px 17px;display:flex;align-items:center;gap:10px;justify-content:space-between;border-top:1px solid var(--line);background:#fdfdfd}.editor-footer>div{display:flex;gap:7px}.editor-footer button{padding:7px 10px;font-size:11px}.hint{padding:0 19px 13px;font-size:10px;color:#9b9ba5;background:#fdfdfd;min-height:29px}footer{display:flex;justify-content:space-between;color:#aaaab2;font-size:10px;margin-top:22px}.log-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.logs-head{display:flex;align-items:center;gap:20px;padding:20px}.logs-head div{margin-right:auto}.logs-head h2{font-size:13px;font-weight:550;margin-bottom:4px}.logs-head p,.logs-head label{font-size:11px}.logs-head button{font-size:11px}#logs{height:470px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#151518;margin:0;padding:22px;font:13px/1.9 "SFMono-Regular",Consolas,monospace;color:#b6b6c0;border-top:1px solid var(--line)}.login{max-width:390px;margin:12vh auto;padding:20px}.login>.brand{justify-content:center;margin-bottom:35px}.login-card{border:1px solid var(--line);border-radius:10px;background:white;padding:28px}.login h1{margin:10px 0 7px;font-size:23px}.login p{font-size:12px}.login form{margin-top:25px}.login label{display:block;color:#595963;font-size:12px;margin:16px 0}.login input{display:block;width:100%;margin-top:7px}.login button{width:100%;margin-top:9px}.login-note{text-align:center;margin-top:22px;color:#aaa!important}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#202023;color:#fff;box-shadow:0 6px 30px #0002;padding:12px 19px;border-radius:8px;z-index:20;max-width:90%;font-size:12px;white-space:pre-wrap}#notice.error{background:#7f3036}dialog{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;max-width:480px;width:90%;padding:26px;box-shadow:0 20px 80px #0002}dialog::backdrop{background:#16161b55;backdrop-filter:blur(2px)}dialog h2{font-size:17px;font-weight:600;letter-spacing:-.3px;margin-bottom:8px}dialog p{font-size:12px;line-height:1.8}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}#versions{max-height:320px;overflow:auto;margin:20px 0}#versions button{display:block;width:100%;margin:6px 0;text-align:left;font-size:12px}[hidden]{display:none!important}
@media(min-width:1700px){main{padding-top:45px}.editor-wrap,#empty{height:500px}}
@media(max-width:1000px){.file-layout{grid-template-columns:220px minmax(0,1fr)}.editor-footer{align-items:start;flex-direction:column}.save-actions{align-self:flex-end}.metrics>div{padding:14px}.overview{align-items:start;flex-direction:column}.actions{align-self:flex-end}}
@media(max-width:650px){main{padding:25px 16px}.environment,.nav-note{display:none}header{padding:0 18px;height:60px}.overview{gap:16px}.overview h1{font-size:24px}.actions{align-self:flex-start}.actions button{font-size:11px}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border-right:0}.metrics>div:last-child{grid-column:span 2;border-top:1px solid var(--line)}.metrics strong{font-size:11px}nav{gap:16px}nav button{font-size:12px}.file-layout{display:block}aside{max-height:250px;border-right:0;border-bottom:1px solid var(--line)}.editor-wrap,#empty{height:350px}.editor-head{padding:15px;min-height:76px;height:auto}#filename{font-size:11px}.editor-meta{flex-wrap:wrap}.editor-footer{padding:12px}.editor-footer button{font-size:11px}footer>span:last-child{display:none}.logs-head{flex-wrap:wrap;padding:15px}.logs-head div{width:100%}textarea{font-size:12px}#lineNumbers{font-size:12px}.brand{font-size:14px}.brand .slash{padding:0 2px}}

/* Dark is the initial theme; a light preference is restored before styles are painted. */
.theme-button{font-size:11px;padding:6px 10px;background:transparent;box-shadow:none}header .theme-button{margin-left:auto}header #logout{margin-left:0}.login-theme{position:absolute;top:20px;right:4%}
html[data-theme="dark"]{color-scheme:dark;--bg:#0c0c0e;--surface:#141416;--line:#28282d;--muted:#95959e;--ink:#e7e7eb;--accent:#ededf0}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] header,html[data-theme="dark"] .metrics,html[data-theme="dark"] .file-layout,html[data-theme="dark"] .login-card,html[data-theme="dark"] .log-panel,html[data-theme="dark"] dialog{background:#141416}
html[data-theme="dark"] button{background:#1a1a1e;color:#d2d2d9;border-color:#333339;box-shadow:none}
html[data-theme="dark"] button:hover{background:#242429;border-color:#4b4b54}
html[data-theme="dark"] button.primary{background:#e6e6eb;color:#17171b;border-color:#e6e6eb}
html[data-theme="dark"] button.primary:hover{background:#fff;border-color:#fff}
html[data-theme="dark"] button.quiet,html[data-theme="dark"] .theme-button{background:transparent;color:#a5a5b0}
html[data-theme="dark"] button.quiet{border-color:transparent}
html[data-theme="dark"] button.danger{color:#df8e91}
html[data-theme="dark"] .mark{background:#e4e4e9;color:#17171a}
html[data-theme="dark"] .slash{color:#55555f}
html[data-theme="dark"] .environment,html[data-theme="dark"] .login label{color:#a0a0aa}
html[data-theme="dark"] input,html[data-theme="dark"] #search{background:#101013;color:#dedee5;border-color:#303037}
html[data-theme="dark"] input::placeholder{color:#777782}
html[data-theme="dark"] aside,html[data-theme="dark"] .editor-footer,html[data-theme="dark"] .hint{background:#121215}
html[data-theme="dark"] nav button{background:transparent;color:#90909c;border-color:transparent}
html[data-theme="dark"] nav button.selected{color:#eeeef3;border-bottom-color:#d9d9e0}
html[data-theme="dark"] summary{color:#b2b2bd}
html[data-theme="dark"] .file{background:transparent;color:#9696a3;border-color:transparent}
html[data-theme="dark"] .file:hover{background:#1b1b20}
html[data-theme="dark"] .file.active{background:#27272e;color:#eeeeF4;border-color:transparent}
html[data-theme="dark"] textarea,html[data-theme="dark"] .editor-wrap{background:#141416;color:#ccccd7}
html[data-theme="dark"] #lineNumbers{background:#121215;color:#62626f;border-color:#222228}
html[data-theme="dark"] .editor-meta{border-color:#25252b}
html[data-theme="dark"] .empty-icon{background:#1b1b20;color:#8e8e9a}
html[data-theme="dark"] #empty h2{color:#bcbcc8}
html[data-theme="dark"] .badge{color:#a7a7b3}
html[data-theme="dark"] .badge.unsaved{color:#dfbd7e;background:#2c2416;border-color:#4a3c25}
html[data-theme="dark"] .editor-meta #applyStatus.pending{color:#d1b477}
html[data-theme="dark"] .editor-meta #applyStatus.applied{color:#8cc1a8}
html[data-theme="dark"] #logs{background:#0c0c0f;color:#bcbcc8}
html[data-theme="dark"] #notice{background:#e4e4ea;color:#19191e;box-shadow:0 8px 35px #0006}
html[data-theme="dark"] #notice.error{background:#592a32;color:#ffe1e5}
html[data-theme="dark"] dialog::backdrop{background:#0009}
@media(max-width:650px){header{gap:10px}.theme-button{font-size:10px;padding:6px 8px}}
