:root{--bg:#070b13;--bg2:#0b111d;--panel:#101824;--panel2:#151f2d;--panel3:#192536;--text:#e7eefc;--muted:#8da0ba;--border:#26364b;--line:#1d2a3b;--accent:#5b8cff;--accent2:#7c5cff;--success:#2bd67b;--warning:#ffba4a;--danger:#ff5f6d;--shadow:0 18px 60px #0009;--radius:12px;--top:48px;--status:24px;--activity:46px;--sidebar:288px;--bottom:224px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans SC",Arial,sans-serif;color-scheme:dark}
html[data-theme="light"]{--bg:#eef3fa;--bg2:#f7f9fd;--panel:#fff;--panel2:#f5f7fb;--panel3:#eef3f9;--text:#182235;--muted:#64738a;--border:#ccd7e7;--line:#dde5ef;--shadow:0 20px 60px #27405c24;color-scheme:light}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}body{font-size:13px}.tech-grid{position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(#4370a00c 1px,transparent 1px),linear-gradient(90deg,#4370a00c 1px,transparent 1px),radial-gradient(circle at 20% 10%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 34%);background-size:28px 28px,28px 28px,100% 100%}.icon{width:17px;height:17px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.icon-btn{width:34px;height:34px;display:inline-grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:9px;cursor:pointer}.icon-btn:hover{background:var(--panel3);color:var(--text)}button,a,input,select,textarea{font:inherit}button{color:inherit}a{text-decoration:none;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,white);outline-offset:1px}.topbar{height:var(--top);display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--border);position:relative;z-index:20;padding:0 8px;backdrop-filter:blur(16px)}.top-left,.top-right,.menu{display:flex;align-items:center;min-width:0}.mini-brand{display:flex;align-items:center;gap:8px;min-width:190px;padding-right:12px}.mini-brand img{width:28px;height:28px;object-fit:contain}.brand-glyph{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:900;color:white;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 45%,transparent)}.mini-brand strong{white-space:nowrap;font-size:14px}.mini-brand small{color:var(--muted);font-size:10px;border:1px solid var(--border);padding:2px 5px;border-radius:5px}.menu{gap:2px}.menu button,.toolbar-actions button,.panel-toolbar button,.section-head button,.panel-tabs button,.welcome-actions button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:7px 9px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.menu button:hover,.toolbar-actions button:hover,.panel-toolbar button:hover,.section-head button:hover,.panel-tabs button:hover,.welcome-actions button:hover{background:var(--panel3);color:var(--text)}.top-right{gap:3px}.top-right form{margin:0}.sync-status{font-size:12px;color:var(--success);display:flex;align-items:center;gap:6px;margin-right:6px}.sync-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.user-chip{display:flex;align-items:center;gap:7px;padding:3px 8px 3px 3px;border-radius:20px}.user-chip:hover{background:var(--panel3)}.user-chip span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#2aa8ff);color:#fff;font-weight:800}.user-chip b{font-weight:600}.ide-shell{height:calc(100% - var(--top) - var(--status));display:grid;grid-template-columns:var(--activity) var(--sidebar) minmax(0,1fr);position:relative;z-index:2}.activitybar{background:color-mix(in srgb,var(--bg2) 92%,transparent);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:4px}.activitybar button{width:40px;height:40px;border:0;background:transparent;color:var(--muted);border-radius:9px;cursor:pointer;position:relative}.activitybar button:hover,.activitybar button.active{color:var(--text);background:var(--panel3)}.activitybar button.active:before{content:"";position:absolute;left:-3px;top:7px;bottom:7px;width:3px;background:var(--accent);border-radius:4px;box-shadow:0 0 10px var(--accent)}.activitybar em{position:absolute;right:2px;top:2px;background:var(--accent);color:white;border-radius:10px;font-style:normal;font-size:9px;padding:1px 4px}.activity-spacer{flex:1}.sidebar{min-width:0;background:color-mix(in srgb,var(--panel) 96%,transparent);border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.sidebar-title{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.side-panel{display:none;min-height:0;flex:1;overflow:auto}.side-panel.active{display:flex;flex-direction:column}.project-picker{padding:10px;border-bottom:1px solid var(--line)}.project-picker label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.project-picker>div:first-of-type{display:flex;gap:5px}.project-picker select{flex:1;min-width:0}.project-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding-top:7px}.section-head{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:var(--muted);font-size:11px}.section-head>div{display:flex}.section-head button{padding:5px}.file-tree{padding:2px 4px 15px;overflow:auto;flex:1}.tree-row{display:flex;align-items:center;height:27px;border-radius:5px;cursor:default;white-space:nowrap;user-select:none}.tree-row:hover{background:var(--panel3)}.tree-row.selected{background:color-mix(in srgb,var(--accent) 22%,var(--panel3));color:white}.tree-caret{width:14px;color:var(--muted)}.tree-icon{width:19px;display:inline-grid;place-items:center;color:#69a8ff}.tree-icon.folder{color:#e6b85c}.tree-name{overflow:hidden;text-overflow:ellipsis}.panel-form,.commit-box{padding:10px;border-bottom:1px solid var(--line)}.search-input{display:flex;border:1px solid var(--border);border-radius:8px;background:var(--bg2);align-items:center;padding-left:8px}.search-input input{border:0;background:transparent;flex:1;padding:9px;color:var(--text);min-width:0}.search-input button{border:0;background:transparent;color:var(--muted);padding:7px}.check{display:flex;gap:6px;color:var(--muted);font-size:11px;margin-top:8px}.panel-toolbar{display:flex;gap:5px;padding:9px;border-bottom:1px solid var(--line)}.panel-toolbar button{background:var(--panel2)}button.primary,.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#934dff))!important;color:#fff!important;border:1px solid color-mix(in srgb,var(--accent) 70%,white)!important;box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 20%,transparent)}button.secondary{background:var(--panel3)!important;border:1px solid var(--border)!important}.panel-note{padding:10px;color:var(--muted);font-size:11px;line-height:1.55;border-bottom:1px solid var(--line)}.result-list,.server-list{overflow:auto;min-height:0}.result-item,.server-card{padding:9px 10px;border-bottom:1px solid var(--line);cursor:pointer}.result-item:hover,.server-card:hover{background:var(--panel2)}.result-item strong,.server-card strong{display:block;color:var(--text);font-weight:600}.result-item small,.server-card small{color:var(--muted);display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.result-item .match{color:var(--warning)}.server-card{display:grid;grid-template-columns:1fr auto;gap:5px}.server-actions{display:flex;gap:3px;grid-column:1/-1}.server-actions button{font-size:11px;border:1px solid var(--border);background:var(--panel3);border-radius:6px;padding:4px 7px;cursor:pointer}.commit-box{margin-top:auto}.commit-box textarea{width:100%;min-height:62px;resize:vertical;margin-bottom:7px}.commit-box button{width:100%;justify-content:center;border:0;border-radius:8px;padding:8px}.workbench{min-width:0;display:grid;grid-template-rows:36px 34px minmax(0,1fr) var(--bottom);background:var(--bg)}.tabs{display:flex;overflow-x:auto;background:var(--bg2);border-bottom:1px solid var(--border);scrollbar-width:thin}.tab,.welcome-tab{min-width:120px;max-width:220px;height:35px;display:flex;align-items:center;gap:7px;padding:0 10px;border-right:1px solid var(--border);color:var(--muted);cursor:pointer}.tab.active{background:var(--bg);color:var(--text);border-top:2px solid var(--accent)}.tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tab .dirty{width:7px;height:7px;border-radius:50%;background:var(--warning)}.tab button{border:0;background:transparent;color:inherit;cursor:pointer}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-left:10px;background:var(--bg)}.breadcrumb{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-actions{display:flex}.toolbar-actions button{padding:6px 7px;font-size:11px}.danger-text{color:var(--danger)!important}.editor-area{min-height:0;display:flex}.editor-host{position:relative;min-width:0;flex:1}.monaco-editor-host,#fallback-editor{position:absolute;inset:0;width:100%;height:100%}.monaco-editor-host{z-index:2}#fallback-editor{background:#121824;color:#dce8ff;border:0;resize:none;padding:16px;font:13px/1.55 "Cascadia Code",Consolas,monospace;outline:0}.editor-welcome{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:radial-gradient(circle at center,rgba(91,140,255,.08),transparent 45%);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 8%,transparent),transparent 45%)}.editor-host.welcome-visible .monaco-editor-host{visibility:hidden!important;pointer-events:none!important}.brand-orbit{width:90px;height:90px;border:1px solid rgba(91,140,255,.55);border-color:color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 35px rgba(91,140,255,.15);box-shadow:inset 0 0 35px color-mix(in srgb,var(--accent) 15%,transparent)}.brand-orbit:before,.brand-orbit:after{content:"";position:absolute;inset:-10px;border:1px dashed rgba(91,140,255,.35);border-color:color-mix(in srgb,var(--accent) 30%,transparent);border-radius:50%;animation:spin 15s linear infinite;transform-origin:center;will-change:transform}.brand-orbit:after{inset:9px;animation-direction:reverse;animation-duration:9s}.brand-orbit span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:25px;font-weight:900;color:white;box-shadow:0 0 38px rgba(91,140,255,.55);box-shadow:0 0 38px color-mix(in srgb,var(--accent) 50%,transparent)}@keyframes spin{to{transform:rotate(360deg)}}.editor-welcome h1{margin:20px 0 6px;font-size:25px}.editor-welcome p{margin:0;color:var(--muted)}.welcome-actions{display:flex;gap:8px;margin-top:20px}.welcome-actions button{background:var(--panel2);border:1px solid var(--border);padding:9px 13px}.shortcut-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;color:var(--muted);margin-top:24px;font-size:11px}.shortcut-grid span{display:flex;align-items:center;gap:4px}kbd{background:var(--panel3);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:2px 5px;color:var(--text);font-size:10px}.preview-pane{width:44%;min-width:340px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column}.preview-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;border-bottom:1px solid var(--border);color:var(--muted)}.preview-head span{display:flex;gap:6px;align-items:center}.preview-head button{border:0;background:transparent;color:inherit;padding:5px;cursor:pointer}.preview-pane iframe{flex:1;border:0;background:white}.bottom-panel{min-height:0;background:#070c14;border-top:1px solid var(--border);display:flex;flex-direction:column}.bottom-panel.collapsed{height:35px}.bottom-panel.collapsed .bottom-content{display:none}.panel-tabs{height:35px;display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 5px}.panel-tabs button.active{color:var(--text);border-bottom:2px solid var(--accent);border-radius:0}.panel-tabs span{color:var(--muted);font-size:11px;margin-left:10px}.panel-tabs>button:last-child{margin-left:auto}.panel-tabs em{background:var(--danger);color:#fff;border-radius:9px;font-size:9px;padding:1px 4px;font-style:normal}.bottom-content{display:none;min-height:0;flex:1;overflow:auto}.bottom-content.active{display:block}.terminal-output{height:calc(100% - 35px);overflow:auto;padding:9px 11px;color:#a5f5b9;font:12px/1.5 "Cascadia Code",Consolas,monospace;white-space:pre-wrap}.terminal-banner{color:#66e3ff;font-weight:700}.terminal-input{height:35px;border-top:1px solid #1d2a3b;display:flex;align-items:center;color:#42f28a;padding:0 10px;gap:8px}.terminal-input input{flex:1;background:transparent;border:0;color:#d6fce1;font:12px Consolas,monospace;outline:0}.output-content{margin:0;padding:10px;color:#d9e4f5;font:12px/1.5 Consolas,monospace;white-space:pre-wrap}.problem-list .problem{padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;display:grid;grid-template-columns:18px 1fr auto;gap:7px}.problem.error{color:#ff8792}.problem.warning{color:#ffd173}.problem small{color:var(--muted)}#pty-terminal{height:100%;padding:6px}.xterm{height:100%}.statusbar{height:var(--status);position:relative;z-index:22;display:flex;align-items:center;gap:12px;padding:0 8px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,#075dc8),color-mix(in srgb,var(--accent) 65%,#6b49cc));color:#fff;font-size:11px;white-space:nowrap;overflow:hidden}.statusbar button{border:0;background:transparent;color:#fff;padding:0;cursor:pointer}.status-spacer{flex:1}.toast-region{position:fixed;right:16px;top:58px;z-index:1000;display:grid;gap:8px}.toast{min-width:260px;max-width:420px;background:var(--panel2);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);border-radius:9px;padding:11px 13px}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--success)}.modal-backdrop{position:fixed;inset:0;background:#02050bb8;backdrop-filter:blur(5px);z-index:900;display:grid;place-items:center;padding:16px}.modal{width:min(560px,96vw);max-height:90vh;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid color-mix(in srgb,var(--border) 75%,var(--accent));border-radius:14px;box-shadow:var(--shadow),0 0 60px color-mix(in srgb,var(--accent) 8%,transparent);overflow:hidden;display:flex;flex-direction:column}.modal.wide{width:min(950px,96vw)}.modal-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:15px;margin:0}.modal-head button{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.modal-body{padding:15px;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 15px;border-top:1px solid var(--border)}.modal-actions button{border:1px solid var(--border);background:var(--panel3);border-radius:8px;padding:8px 13px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .span-2{grid-column:1/-1}label{color:var(--muted);font-size:12px}input,select,textarea{border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:8px;padding:9px 10px;width:100%}label input,label select,label textarea{display:block;margin-top:6px}textarea{min-height:85px;resize:vertical}.list-table{width:100%;border-collapse:collapse}.list-table th,.list-table td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.list-table th{color:var(--muted);font-size:11px}.badge{display:inline-flex;border:1px solid var(--border);border-radius:12px;padding:2px 7px;color:var(--muted);font-size:10px}.empty-state{color:var(--muted);padding:25px 12px;text-align:center}.muted{color:var(--muted)}.context-menu{position:fixed;z-index:950;min-width:170px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:5px}.context-menu button{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:8px;border-radius:5px;cursor:pointer;display:flex;gap:8px}.context-menu button:hover{background:var(--panel3)}.mobile-only,.mobile-nav{display:none}
.auth-page,.admin-page,.install-page{min-height:100%;overflow:auto;background:var(--bg);color:var(--text)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:25px;position:relative}.auth-card{width:min(430px,94vw);background:color-mix(in srgb,var(--panel) 93%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,var(--accent));border-radius:18px;padding:26px;box-shadow:var(--shadow),0 0 80px color-mix(in srgb,var(--accent) 12%,transparent);backdrop-filter:blur(18px)}.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.auth-brand img{width:52px;height:52px;object-fit:contain}.auth-brand .brand-glyph{width:52px;height:52px;font-size:22px;border-radius:14px}.auth-brand h1{margin:0;font-size:20px}.auth-brand p{margin:4px 0 0;color:var(--muted)}.auth-card label{display:block;margin:13px 0}.auth-card .primary{width:100%;padding:11px;border-radius:9px}.auth-footer{text-align:center;color:var(--muted);font-size:11px;margin-top:20px}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.admin-nav{background:var(--panel);border-right:1px solid var(--border);padding:16px;position:sticky;top:0;height:100vh}.admin-nav .mini-brand{min-width:0;margin-bottom:22px}.admin-nav nav{display:grid;gap:5px}.admin-nav a,.admin-nav button{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--muted);padding:10px;border-radius:8px;text-align:left;cursor:pointer}.admin-nav a:hover,.admin-nav button:hover,.admin-nav .active{background:var(--panel3);color:var(--text)}.admin-main{padding:22px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.admin-card{grid-column:span 6;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.admin-card.full{grid-column:1/-1}.metric{font-size:26px;font-weight:800;margin-top:8px}.brand-preview{padding:18px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;gap:12px}.brand-preview img{width:52px;height:52px;object-fit:contain}.qr-box{background:#fff;padding:12px;border-radius:10px;display:inline-grid;place-items:center}.qr-box img,.qr-box canvas{display:block;max-width:230px}.mobile-nav{position:fixed}
@media(max-width:1100px){.desktop-wide,.mini-brand small{display:none}.menu button{padding:7px}.menu button .icon{margin:0}.menu button{font-size:0}.menu button .icon{font-size:13px}.preview-pane{width:50%}}
@media(max-width:780px){:root{--top:52px;--status:0px;--sidebar:min(86vw,340px);--bottom:200px}.mobile-only{display:inline-grid}.topbar{padding:0 5px}.mini-brand{min-width:0}.mini-brand strong{max-width:145px;overflow:hidden;text-overflow:ellipsis}.menu{display:none}.top-right .sync-status,.top-right .user-chip b{display:none}.ide-shell{grid-template-columns:1fr;height:calc(100% - var(--top) - 56px)}.activitybar{display:none}.sidebar{position:fixed;left:0;top:var(--top);bottom:56px;width:var(--sidebar);z-index:50;transform:translateX(-105%);transition:.2s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.workbench{grid-column:1;grid-template-rows:36px 32px minmax(0,1fr) min(var(--bottom),34vh)}.toolbar-actions button{font-size:0}.toolbar-actions .icon{font-size:13px}.preview-pane{position:absolute;inset:70px 0 0 0;width:auto;min-width:0;z-index:10}.statusbar{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);height:56px;bottom:0;left:0;right:0;z-index:60;background:var(--panel);border-top:1px solid var(--border)}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:5px}.mobile-nav button span{font-size:10px}.mobile-nav button .icon{width:19px;height:19px}.editor-welcome h1{font-size:20px}.welcome-actions{flex-wrap:wrap;justify-content:center}.shortcut-grid{display:none}.bottom-panel{font-size:12px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.modal-backdrop{padding:6px;place-items:end center}.modal{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.modal.wide{width:100%}.admin-shell{display:block}.admin-nav{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--border)}.admin-nav nav{display:flex;overflow:auto}.admin-nav nav a,.admin-nav nav button{white-space:nowrap}.admin-main{padding:12px}.admin-card{grid-column:1/-1}.toast-region{left:8px;right:8px;top:60px}.toast{min-width:0;max-width:none}}
@media(max-width:420px){.mini-brand strong{max-width:112px}.top-right>a.icon-btn{display:none}.tabs .tab{min-width:105px}.editor-toolbar{padding-left:6px}.panel-tabs span{display:none}.auth-card{padding:20px}.sidebar{width:92vw}}
.alert{padding:10px 12px;border-radius:8px;margin:10px 0;border:1px solid var(--border)}.alert.danger{color:#ff9aa4;background:#ff5f6d12;border-color:#ff5f6d55}.alert.success{color:#7df0aa;background:#2bd67b12;border-color:#2bd67b55}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.check{padding:9px;border:1px solid var(--border);border-radius:8px;color:var(--muted)}.check span{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:50%;margin-right:6px}.check.ok span{background:#2bd67b22;color:var(--success)}.check.bad span{background:#ff5f6d22;color:var(--danger)}.wide{width:100%}.locale-form select{margin-top:0}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.danger{background:var(--danger)!important;color:#fff!important;border:1px solid #ff8993!important;border-radius:8px;padding:8px 12px}.success{color:var(--success)}.preview-frame{width:100%;height:70vh;border:0;background:white}.auth-card form button{border-radius:8px;padding:10px 13px;cursor:pointer}.admin-card h2{font-size:16px;margin-top:0}.admin-header h1{margin:0;font-size:24px}.admin-header p{margin:5px 0 0}.admin-card form button{margin-top:10px;border-radius:8px;padding:9px 12px;cursor:pointer}.admin-card code{font-family:Consolas,monospace;color:color-mix(in srgb,var(--accent) 80%,white)}
@media(max-width:600px){.check-grid{grid-template-columns:1fr}}

/* V1.3 production interaction fixes */
[hidden]{display:none!important}
.editor-area{--preview-width:44%;position:relative}
.editor-host{min-width:240px;flex:1 1 auto}
.preview-splitter{flex:0 0 7px;width:7px;cursor:col-resize;background:linear-gradient(90deg,transparent 2px,color-mix(in srgb,var(--accent) 50%,var(--border)) 3px,color-mix(in srgb,var(--accent) 50%,var(--border)) 4px,transparent 5px);touch-action:none;position:relative;z-index:12}
.preview-splitter:hover,.preview-splitter.dragging{background:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 35%,transparent)}
.preview-pane{width:var(--preview-width);flex:0 0 var(--preview-width);min-width:280px}
.editor-area.resizing,.editor-area.resizing *{cursor:col-resize!important;user-select:none!important}
.preview-head button{display:inline-grid;place-items:center;border-radius:6px}
.preview-head button:hover{background:var(--panel3);color:var(--text)}
.git-network{padding-top:0}.git-network button{border:1px solid var(--border)}
.danger-zone{margin-top:18px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 55%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--danger) 5%,var(--panel))}.danger-zone h3{color:var(--danger);margin-top:0}.danger-zone .danger-actions{display:flex;gap:8px;flex-wrap:wrap}
.template-help{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);min-height:58px}.template-help strong{display:block;color:var(--text);margin-bottom:4px}
.color-control{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:end}.color-control input[type=color]{height:40px;padding:3px;cursor:pointer}.color-swatch{height:9px;border-radius:8px;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}
.runtime-diagnostic{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:11px;line-height:1.65}.runtime-diagnostic code{word-break:break-all}
.totp-setup-grid{display:grid;grid-template-columns:minmax(220px,260px) 1fr;gap:18px;align-items:center}.qr-box{width:min(260px,70vw);aspect-ratio:1/1;padding:12px}.qr-box img,.qr-box canvas,.qr-box svg{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;shape-rendering:crispEdges;image-rendering:pixelated}
.auth-fields{display:none}.auth-fields.active{display:block}
@media(max-width:780px){.preview-splitter{display:none!important}.preview-pane{width:auto;min-width:0;flex:auto}.totp-setup-grid{grid-template-columns:1fr}.qr-box{margin:auto;width:min(260px,82vw)}}
.preview-pane.loading iframe{opacity:.55}
.preview-pane.loading .preview-head:after{content:"加载中…";margin-left:auto;margin-right:8px;color:var(--accent);font-size:11px}
.terminal-diagnostic{height:100%;padding:18px;color:#d8e5f4;background:#070c14;font:12px/1.65 "Cascadia Code",Consolas,monospace;overflow:auto}
.terminal-diagnostic strong{display:block;color:#66e3ff;margin-bottom:10px;font-size:13px}
.terminal-diagnostic pre{white-space:pre-wrap;margin:0;color:#a5f5b9}
.terminal-diagnostic.error strong,.terminal-diagnostic.error pre{color:#ff8792}

/* V1.4 production intelligence and authentication UI */
.side-panel[data-side-panel="search"] .panel-form{display:grid;gap:9px}
.side-panel[data-side-panel="search"] .check{display:flex;align-items:center;gap:8px;padding:7px 9px;margin:0;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel2) 74%,transparent);line-height:1.2}
.side-panel[data-side-panel="search"] .check input{width:16px;height:16px;min-width:16px;margin:0;padding:0;accent-color:var(--accent);flex:0 0 auto}
.side-panel[data-side-panel="search"] .search-input button{width:34px;min-width:34px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.side-panel[data-side-panel="search"] .search-input button:hover{color:var(--text)}
.auth-page{background:#040812;overflow:auto}
.auth-space{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 17% 18%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 29%),radial-gradient(circle at 83% 75%,#1766ff1d,transparent 31%),linear-gradient(135deg,#030711,#081120 58%,#050914)}
.auth-space:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#62a2ff0b 1px,transparent 1px),linear-gradient(90deg,#62a2ff0b 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.auth-space i{position:absolute;width:3px;height:3px;border-radius:50%;background:#68c7ff;box-shadow:0 0 13px #44afff;animation:authPulse 3.4s infinite alternate}
.auth-space i:nth-child(1){left:12%;top:27%}.auth-space i:nth-child(2){left:61%;top:16%;animation-delay:1s}.auth-space i:nth-child(3){left:88%;top:67%;animation-delay:2s}
.auth-space span{position:absolute;width:520px;height:520px;left:-170px;bottom:-280px;border:1px solid #5d91ff20;border-radius:50%;box-shadow:0 0 100px #265bff15}
@keyframes authPulse{to{transform:scale(2.2);opacity:.3}}
.auth-shell{position:relative;z-index:2;min-height:100vh;width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,480px);align-items:center;gap:58px;padding:42px}
.auth-showcase{padding:34px 20px;color:#eaf4ff}.auth-kicker{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid #6b9cff33;background:#0c1729aa;border-radius:999px;color:#83b9f5;font-size:11px;letter-spacing:.16em}.auth-showcase h2{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:24px 0 14px;letter-spacing:-.04em;background:linear-gradient(100deg,#fff,#8ed7ff 52%,#6f87ff);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-showcase>p{max-width:620px;font-size:16px;line-height:1.8;color:#8fa8c5}
.auth-orbit{width:310px;height:190px;position:relative;margin:26px 0 20px}.auth-orbit:before,.auth-orbit:after,.auth-orbit>i{content:"";position:absolute;left:20px;right:20px;top:50%;height:92px;border:1px solid #5b9cff38;border-radius:50%;transform:translateY(-50%) rotate(-10deg)}.auth-orbit:after{transform:translateY(-50%) rotate(20deg);height:130px}.auth-orbit>i:nth-of-type(1){transform:translateY(-50%) rotate(55deg);height:110px}.auth-orbit>i:nth-of-type(2){width:9px;height:9px;left:49px;right:auto;top:50px;border:0;background:#55c9ff;border-radius:50%;box-shadow:0 0 18px #55c9ff;animation:authPulse 2s infinite alternate}.auth-orbit>i:nth-of-type(3){width:7px;height:7px;left:auto;right:53px;top:129px;border:0;background:#7b72ff;border-radius:50%;box-shadow:0 0 18px #7b72ff}.orbit-core{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 90%,#6d7cff),#1b4edb);box-shadow:0 0 0 9px #4f8cff12,0 0 48px color-mix(in srgb,var(--accent) 52%,transparent);font-size:36px;font-weight:900}.orbit-core img{width:62px;height:62px;object-fit:contain}.auth-capabilities{display:flex;flex-wrap:wrap;gap:9px}.auth-capabilities span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #5274a72e;background:#0b1525b8;border-radius:8px;color:#a7bad0;font-size:12px}.auth-trust{display:flex;gap:32px;margin-top:24px}.auth-trust div{display:grid}.auth-trust strong{font-size:21px;color:#fff}.auth-trust small{font-size:10px;color:#6f88a7;text-transform:uppercase;letter-spacing:.08em}
.auth-card-pro{width:100%;padding:28px;background:linear-gradient(155deg,#101a2bd9,#09111edb);border:1px solid #648dca42;box-shadow:0 28px 90px #0009,0 0 60px color-mix(in srgb,var(--accent) 12%,transparent);position:relative;overflow:hidden}.auth-card-pro:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--accent),#62d8ff,transparent)}.auth-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.auth-card-head .auth-brand{margin-bottom:17px}.auth-card-head .auth-brand h1{font-size:21px}.auth-status{display:inline-flex;align-items:center;gap:6px;color:#68eda1;font-size:9px;letter-spacing:.12em;border:1px solid #38ce7f38;padding:5px 7px;border-radius:999px}.auth-status i{width:6px;height:6px;border-radius:50%;background:#48e993;box-shadow:0 0 10px #48e993}.auth-input{display:flex!important;align-items:center;gap:8px;margin-top:7px;border:1px solid var(--border);background:#050b15c7;border-radius:10px;padding:0 11px;transition:.18s}.auth-input:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.auth-input .icon{color:#7192b6}.auth-input input{border:0!important;background:transparent!important;margin:0!important;padding:12px 2px!important;outline:0!important;box-shadow:none!important}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px!important;background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#6a68ff));border:1px solid #8db3ff55;color:#fff;font-weight:700;box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 25%,transparent)}.auth-divider{display:flex;align-items:center;gap:10px;color:#55708f;font-size:9px;letter-spacing:.13em;margin:18px 0 12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#31445c66;flex:1}.auth-locale select{background:#070e19}.auth-alert{position:static!important;min-width:0!important;max-width:none!important;margin:0 0 12px!important}.auth-footer{line-height:1.7}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;max-width:520px;padding:24px}.auth-showcase{display:none}.auth-card-pro{margin:auto}}
@media(max-width:480px){.auth-shell{padding:14px}.auth-card-pro{padding:21px;border-radius:15px}.auth-status{display:none}.auth-brand img,.auth-brand .brand-glyph{width:45px;height:45px}.auth-card-head .auth-brand h1{font-size:18px}}


/* V1.4.1 admin actions and audit pagination */
.form-actions{display:flex;align-items:center;gap:10px;margin-top:4px}
.action-button,.admin-card .action-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;min-width:112px;padding:9px 16px!important;border-radius:9px!important;cursor:pointer;font-weight:700;line-height:1.2}
.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.header-logout-form{margin:0}.header-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px!important;border-radius:9px;cursor:pointer;white-space:nowrap}
.table-scroll{overflow:auto;max-width:100%}
.pagination-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 2px;color:var(--muted);font-size:12px;flex-wrap:wrap}
.pagination{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pagination button{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel3);color:var(--text);cursor:pointer}
.pagination button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:color-mix(in srgb,var(--accent) 16%,var(--panel3))}
.pagination button.active{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#934dff));border-color:color-mix(in srgb,var(--accent) 75%,white);color:#fff;font-weight:800}
.pagination button:disabled{opacity:.38;cursor:not-allowed}
.pagination span{padding:0 2px}
@media(max-width:780px){.admin-header{align-items:flex-start;gap:12px}.admin-header-actions{justify-content:flex-start}.header-logout b{display:none}.pagination-wrap{align-items:flex-start}.pagination{width:100%}.action-button,.admin-card .action-button{width:100%}}

/* V1.4.2 cross-browser controls, explorer imports and legacy Chromium fallbacks */
button,input,select,textarea{-webkit-appearance:none;appearance:none}
input[type="checkbox"],input[type="radio"]{-webkit-appearance:auto;appearance:auto}
button{border:1px solid transparent;background-color:transparent}
button.primary,.primary,.action-button.primary{
 background-color:var(--accent)!important;
 background-image:linear-gradient(135deg,var(--accent),var(--accent2))!important;
 border:1px solid #8ca9ff!important;
 color:#fff!important;
 box-shadow:0 7px 20px rgba(52,96,220,.28)!important;
}
button.secondary,.secondary{background-color:var(--panel3)!important;border:1px solid var(--border)!important;color:var(--text)!important}
button.danger,.danger{background-color:var(--danger)!important;border:1px solid #ff8993!important;color:#fff!important}
.action-button,.admin-card .action-button{background-color:var(--panel3);border:1px solid var(--border)!important;color:var(--text)}
.action-button:hover:not(:disabled),.admin-card .action-button:hover:not(:disabled){filter:brightness(1.09);transform:translateY(-1px)}
.action-button:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
.topbar{background-color:rgba(16,24,36,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.activitybar{background-color:rgba(11,17,29,.98)}
.sidebar{background-color:rgba(16,24,36,.98)}
.tech-grid{background-image:linear-gradient(rgba(67,112,160,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(67,112,160,.045) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(91,140,255,.15),transparent 34%)}
.tree-row.selected{background-color:#263d63}
.editor-welcome{background-image:radial-gradient(circle at center,rgba(91,140,255,.08),transparent 45%)}
.auth-space:before{-webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%);mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.no-color-mix .topbar,.no-color-mix .sidebar,.no-color-mix .activitybar{background-image:none}
.no-color-mix .panel-toolbar button,.no-color-mix .welcome-actions button,.no-color-mix .pagination button{background-color:var(--panel3)}
.no-color-mix .pagination button.active{background-image:linear-gradient(135deg,var(--accent),var(--accent2));border-color:#8ca9ff}
.no-color-mix .preview-splitter{background-image:linear-gradient(90deg,transparent 2px,var(--accent) 3px,var(--accent) 4px,transparent 5px)}
.no-backdrop-filter .topbar,.no-backdrop-filter .auth-card{background-color:var(--panel)}
.explorer-tools{display:flex;align-items:center;gap:2px}
.section-head .explorer-action,.project-picker .explorer-action{
 display:inline-grid!important;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0!important;
 border:1px solid transparent!important;border-radius:7px;background-color:transparent;color:var(--muted);cursor:pointer;
}
.section-head .explorer-action:hover,.project-picker .explorer-action:hover,.section-head .explorer-action:focus-visible,.project-picker .explorer-action:focus-visible{
 color:var(--text);background-color:var(--panel3);border-color:var(--border)!important;
}
.section-head .explorer-action .icon,.project-picker .explorer-action .icon{width:16px;height:16px;pointer-events:none}
.import-check{display:flex!important;align-items:center;gap:8px}.import-check input{width:16px;height:16px;flex:0 0 auto}
.import-progress{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
.import-progress progress{width:100%;height:12px;accent-color:var(--accent)}
.import-progress span{white-space:nowrap;color:var(--muted);font-size:11px}
.import-summary{padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}
.import-errors{max-height:140px;overflow:auto;color:var(--danger);font:11px/1.55 Consolas,monospace}
@supports not (gap:1rem){.top-left>*,.top-right>*,.panel-toolbar>*{margin-right:5px}.top-left>*:last-child,.top-right>*:last-child,.panel-toolbar>*:last-child{margin-right:0}}
@media(max-width:780px){.explorer-tools{gap:4px}.section-head .explorer-action{width:32px;height:32px}.import-progress{align-items:flex-start;flex-direction:column}.import-progress span{white-space:normal}}
.no-color-mix button:focus-visible,.no-color-mix input:focus-visible,.no-color-mix select:focus-visible,.no-color-mix textarea:focus-visible{outline-color:#8ca9ff}
.no-color-mix .brand-glyph{box-shadow:0 0 24px rgba(91,140,255,.45)}
.no-color-mix .brand-orbit{background:radial-gradient(circle,rgba(91,140,255,.12),transparent 68%)}
.no-color-mix .brand-orbit:before,.no-color-mix .brand-orbit:after{border-color:rgba(91,140,255,.35)}
.no-color-mix .brand-orbit span{box-shadow:0 0 28px rgba(91,140,255,.55)}
.no-color-mix .statusbar{background:#315faa}
.no-color-mix .modal{box-shadow:0 24px 90px rgba(0,0,0,.72),0 0 45px rgba(91,140,255,.12)}
.no-color-mix .auth-card{background:rgba(16,24,36,.97);border-color:#405574;box-shadow:var(--shadow),0 0 80px rgba(91,140,255,.12)}
.no-color-mix .admin-card code{color:#92b0ff}
.no-color-mix .preview-splitter:hover,.no-color-mix .preview-splitter.dragging{background:rgba(91,140,255,.28);box-shadow:0 0 16px rgba(91,140,255,.35)}
.no-color-mix .danger-zone{border-color:#7d3d49;background:#18141d}
.no-color-mix .color-swatch{box-shadow:0 0 18px rgba(91,140,255,.55)}
.no-color-mix .side-panel[data-side-panel="search"] .check{background:var(--panel2)}
.no-color-mix .auth-space{background:radial-gradient(circle at 17% 18%,rgba(91,140,255,.22),transparent 29%),radial-gradient(circle at 83% 75%,rgba(23,102,255,.12),transparent 31%),linear-gradient(135deg,#030711,#081120 58%,#050914)}
.no-color-mix .orbit-core{background:linear-gradient(145deg,var(--accent),#1b4edb);box-shadow:0 0 0 9px rgba(79,140,255,.08),0 0 48px rgba(91,140,255,.52)}
.no-color-mix .auth-card-pro{box-shadow:0 28px 90px rgba(0,0,0,.6),0 0 60px rgba(91,140,255,.12)}
.no-color-mix .auth-input:focus-within{border-color:#8ca9ff;box-shadow:0 0 0 3px rgba(91,140,255,.12)}
.no-color-mix .auth-submit{background:linear-gradient(100deg,var(--accent),#6a68ff);box-shadow:0 12px 30px rgba(91,140,255,.25)}


/* V1.4.3 deterministic welcome state and legacy Chromium orbit fallback */
.editor-welcome[hidden]{display:none!important}
.editor-welcome{isolation:isolate}
.welcome-actions button{position:relative;z-index:1;pointer-events:auto}
.no-color-mix .brand-orbit{border:1px solid rgba(91,140,255,.55);box-shadow:inset 0 0 35px rgba(91,140,255,.15),0 0 26px rgba(91,140,255,.12)}
.no-color-mix .brand-orbit:before,.no-color-mix .brand-orbit:after{border:1px dashed rgba(91,140,255,.38)}
.no-color-mix .brand-orbit span{box-shadow:0 0 38px rgba(91,140,255,.55)}
@media (prefers-reduced-motion:no-preference){.brand-orbit:before,.brand-orbit:after{animation-play-state:running}}
@media (prefers-reduced-motion:reduce){.brand-orbit:before,.brand-orbit:after{animation-duration:45s}}
