:root{--bg-main: #efefef;--bg-elevated: #32343b;--panel-border: #1f2937;--panel-soft: #b9bdcb;--accent-primary: #22d3ee;--accent-secondary: #a855f7;--accent-soft: rgba(34, 211, 238, .12);--shadow-dark: rgba(15, 23, 42, .9);--text-main: #000000;--text-muted: #6c7589;--text-light: #e2e2e2;--button-main: #000000;--button-alt: #abd4ec;--button-primary: linear-gradient( to right, rgba(34, 211, 238, .12), rgba(168, 85, 247, .16) );--code-bg: #000000;--code-text: #ffffff;--hljs-keyword: #fb7185;--hljs-string: #22c55e;--hljs-number: #f97316;--hljs-comment: #6b7280;--hljs-function: #38bdf8;--hljs-variable: #eab308;--danger: #c7057c;--ok: #0c4dcd;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 0 20px rgba(34, 211, 238, .2);--font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}body{background:var(--bg-main);color:var(--text-main);font-family:var(--font-main)}.app-shell{height:100vh;display:flex;flex-direction:column}.app-header{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:6px 18px;border-bottom:1px solid var(--panel-border);background:var(--bg-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:8px;flex-wrap:wrap}.app-header-title{display:flex;align-items:baseline;gap:10px;flex:1 1 auto;min-width:0}.app-header-title h1{font-size:17px;letter-spacing:.18em;text-transform:uppercase;margin:0;color:var(--accent-primary)}.app-header-title span{font-size:12px;color:var(--text-light)}.app-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge-pill{font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid var(--accent-secondary);background:var(--button-alt);color:var(--button-main)}.badge-pill.ok{border-color:var(--ok);color:var(--accent-secondary)}.badge-pill.warn{border-color:var(--danger);color:var(--danger)}.app-main{flex:1;display:flex;min-height:0}.app-sidebar{width:260px;border-right:1px solid var(--panel-border);background:var(--bg-main);padding:14px 12px;display:flex;flex-direction:column;gap:10px}.sidebar-section{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:var(--bg-main);padding:10px;height:100%}.sidebar-section h2{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-main);margin:0 0 8px}.space-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.space-item{border-radius:8px;padding:7px 9px;border:1px solid transparent;background:var(--button-alt);cursor:pointer;display:flex;flex-direction:column;gap:3px}.space-item.active{border-color:var(--panel-border);box-shadow:var(--shadow-soft)}.space-item-name{font-size:13px}.space-item-meta{font-size:11px;color:var(--text-main)}.app-content{flex:1;display:flex;min-width:0;min-height:0}.editor-shell{display:flex;gap:10px;padding:12px;width:100%;height:100%;box-sizing:border-box}.editor-shell>.panel:not(.panel--files):only-child{flex:1 1 auto;min-width:0}.panel{border-radius:var(--radius-lg);border:1px solid var(--panel-border);background:var(--bg-main);padding:10px;display:flex;flex-direction:column;min-height:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.panel-header-left{display:flex;flex-direction:column}.panel-title{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-main)}.panel-subtitle{font-size:11px;color:var(--text-muted)}.panel-header-right{display:flex;align-items:center;gap:6px}.panel-toggle{border:none;background:var(--bg-main);border-radius:999px;border:1px solid var(--accent-secondary);color:var(--text-main);font-size:14px;padding:4px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.panel-toggle:hover{border-color:var(--danger);color:var(--panel-border)}.panel--files{flex:0 0 250px;min-width:220px;height:100%}.panel--editor{flex:1 1 auto;min-width:0;--editor-font-size: 12px;--editor-code-font-size: 12px}.panel--gpt{flex:0 0 32%;min-width:300px;--gpt-font-size: 12px;--gpt-code-font-size: 11px}.panel--gpt-full{flex:1 1 auto;min-width:0}.panel--editor-half,.panel--gpt-half{flex:1 1 0;min-width:0}.files-toggle{display:inline-flex;padding:2px;border-radius:999px;border:1px solid var(--panel-border);background:var(--bg-main)}.files-toggle-button{border:none;background:transparent;font-size:11px;padding:3px 10px;border-radius:999px;cursor:pointer;color:var(--text-muted);transition:background .12s ease,color .12s ease}.files-toggle-button.active{background:var(--button-alt);color:var(--button-main)}.files-toggle-button:not(.active):hover{color:var(--accent-secondary)}.file-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.file-item{font-size:12px;padding:5px 6px;border-radius:6px;cursor:pointer;color:var(--text-main);display:flex;align-items:center;justify-content:space-between;gap:6px}.file-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-item-delete,.file-item-rename{border:none;background:transparent;color:var(--accent-secondary);font-size:11px;padding:0 4px;cursor:pointer}.file-item-delete:hover{color:var(--danger)}.file-item-rename:hover{color:var(--accent-primary)}.asset-item{border-radius:6px;padding:4px;cursor:pointer}.asset-item.active{background:var(--accent-soft)}.files-assets{display:flex;flex-direction:column;flex:1;min-height:0}.files-assets-header{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.files-assets-list{flex:1;min-height:0;overflow-y:auto;margin-top:4px}.files-assets-footer{margin-top:8px}.asset-copy-btn,.asset-delete-btn,.asset-preview-btn{border:none;background:transparent;color:var(--accent-secondary);font-size:10px;padding:0 4px;cursor:pointer}.asset-copy-btn:hover{color:#22d3ee}.asset-delete-btn:hover{color:#f97373}.asset-preview-btn:hover{color:var(--accent-primary)}.panel-body-files{flex:1;min-height:0;overflow-y:auto}.file-row{border:1px solid rgba(31,41,55,.14);background:#ffffffb3;border-radius:10px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.file-row:hover{border-color:#1f293738;transform:translateY(-1px)}.file-row.is-active{border-color:#22d3ee73;box-shadow:0 10px 22px #22d3ee1a;background:#22d3ee14}.file-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.file-row-name{font-size:12px;font-weight:700;color:var(--text-main);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.file-meta-chip{font-size:10px;color:var(--text-muted);padding:3px 8px;border-radius:999px;border:1px solid rgba(31,41,55,.12);background:#0206170a;white-space:nowrap}.file-row-path{font-size:10px;color:var(--text-muted);padding:3px 8px;border-radius:999px;border:1px solid rgba(31,41,55,.12);background:#0206170a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-actions{display:flex;gap:6px;flex-wrap:wrap}.tree-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.tree-crumb{border:1px solid rgba(31,41,55,.14);background:#ffffffa6;color:var(--text-main);border-radius:999px;padding:3px 8px;font-size:11px;cursor:pointer;max-width:100%}.tree-crumb:hover{border-color:#22d3ee73;background:#22d3ee14}.tree-toolbar-spacer{margin-left:auto;font-size:11px;color:var(--text-muted);white-space:nowrap}.tree-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow-y:auto}.tree-row{position:relative;display:flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-main);border:1px solid transparent;background:transparent}.tree-row:hover{background:#0206170a}.tree-row.is-selected{background:#22d3ee1a;border-color:#22d3ee59;box-shadow:0 0 0 2px #22d3ee1a}.tree-row.is-selected:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:999px;background:#22d3eed9}.tree-row.is-active-dir{background:#a855f714;border-color:#a855f738}.tree-caret{width:18px;height:18px;border:none;background:transparent;color:#111827a6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px}.tree-caret:hover{background:#0206170f;color:#111827d9}.tree-caret-spacer{width:18px;height:18px}.tree-icon{width:12px;height:12px;border-radius:3px;border:1px solid rgba(31,41,55,.22);background:#0206170f}.tree-icon.folder{border-color:#a855f759;background:#a855f724}.tree-icon.file{border-color:#22d3ee47;background:#22d3ee1a}.tree-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.tree-dirty-dot{font-size:12px;line-height:1;color:#22d3eef2;margin-left:2px}.tree-kebab{width:22px;height:22px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#1118278c;opacity:0;pointer-events:none}.tree-row:hover .tree-kebab,.tree-row.is-selected .tree-kebab,.tree-row.is-active-dir .tree-kebab{opacity:1;pointer-events:auto}.tree-kebab:hover{background:#0206170f;color:#111827d9}.tree-menu{position:fixed;z-index:6000;min-width:210px;border-radius:12px;background:#ffffffeb;border:1px solid rgba(31,41,55,.14);box-shadow:0 20px 60px #0f172a59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px}.tree-menu-item{width:100%;border:none;background:transparent;color:#111827;text-align:left;font-size:12px;padding:8px 10px;border-radius:10px;cursor:pointer}.tree-menu-item:hover{background:#22d3ee1f}.tree-menu-item.danger:hover{background:#f973731f}.tree-menu-divider{height:1px;background:#1f29371f;margin:6px}.tree-caret,.tree-caret-spacer{width:18px;min-width:18px;display:inline-flex;align-items:center;justify-content:center}.tree-icon{width:16px;min-width:16px;margin-right:8px;display:inline-block}.tree-list{--tree-indent: 12px}.tree-pathbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px;border-radius:999px;border:1px solid rgba(31,41,55,.18);background:#ffffffb8;margin-bottom:8px}.tree-path-seg{border:none;background:transparent;cursor:pointer;font-size:12px;padding:3px 8px;border-radius:999px;color:var(--text-main)}.tree-path-seg:hover{background:#0206170d}.tree-path-seg.is-active{background:var(--accent-soft);box-shadow:0 0 0 1px #22d3ee59 inset}.tree-path-sep{opacity:.55;font-size:12px}.tree-pathbar-spacer{flex:1 1 auto}.tree-pathbar-meta{font-size:11px;color:var(--text-muted)}.tree-row-root{font-weight:700;opacity:.95}.editor-code-shell{position:relative;flex:1 1 auto;min-height:0;border:1px solid var(--panel-border);border-radius:8px;background:var(--code-bg);overflow:hidden}.editor-code-shell:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px #22d3ee80}.editor-highlight{position:absolute;inset:0;margin:0;padding:8px 8px calc(8px + 1.4em) 8px;box-sizing:border-box;background:transparent;color:var(--code-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--editor-code-font-size);line-height:1.4;white-space:pre;overflow:auto;pointer-events:none;z-index:0;tab-size:2;-moz-tab-size:2;font-variant-ligatures:none;scrollbar-width:none;border:1px solid transparent}.editor-highlight::-webkit-scrollbar{width:0;height:0}.editor-highlight .hljs,.editor-highlight code.hljs{display:block;padding:0!important;margin:0!important;background:transparent!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;white-space:inherit!important}.editor-textarea{position:absolute;inset:0;margin:0;padding:8px 8px calc(8px + 1.4em) 8px;box-sizing:border-box;z-index:1;width:100%;height:100%;resize:none;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--editor-code-font-size);line-height:1.4;tab-size:2;-moz-tab-size:2;font-variant-ligatures:none;color:transparent;caret-color:var(--text-main);background:transparent;border:none;outline:none}.editor-actions{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.editor-actions-left,.editor-actions-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.editor-actions-right{justify-content:flex-end}@keyframes savePulse{0%{box-shadow:0 0 #22d3ee00}35%{box-shadow:0 0 0 3px #22d3ee2e}70%{box-shadow:0 0 0 6px #22d3ee00}to{box-shadow:0 0 #22d3ee00}}.button.save-attn{animation:savePulse 1.8s ease-in-out infinite}.button{border-radius:999px;border:1px solid var(--panel-border);background:var(--button-alt);color:var(--button-main);font-size:12px;padding:6px 12px;cursor:pointer}.button.primary{border-color:#22d3eecc;background:var(--button-primary)}.button.small{padding:4px 9px;font-size:11px;background:var(--button-alt);color:var(--button-main)}.button.full-width{width:100%;justify-content:center}.button:disabled{opacity:.5;color:var(--text-muted);cursor:default}.gpt-messages{flex:1;overflow-y:auto;overflow-x:hidden;border-radius:8px;border:1px solid var(--panel-border);padding:8px;background:var(--code-bg);font-size:12px;color:var(--code-text);display:flex;flex-direction:column;gap:8px}.gpt-message{display:flex;align-items:flex-start;gap:8px;width:100%;max-width:100%;box-sizing:border-box}.gpt-message-avatar{flex:0 0 24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--bg-elevated);color:var(--accent-primary);box-shadow:0 0 0 1px #94a3b880}.gpt-message-bubble{flex:1 1 auto;min-width:0;max-width:100%;padding:6px 10px;border-radius:10px;background:var(--shadow-dark);border:1px solid var(--panel-border)}.gpt-message--user .gpt-message-bubble{background:#22d3ee29;border-color:#22d3eeb3;color:var(--text-light)}.gpt-message--assistant .gpt-message-bubble{background:transparent;border-color:var(--panel-border)}.gpt-message--error .gpt-message-avatar{background:var(--danger);color:#fff;box-shadow:none}.gpt-message--error .gpt-message-bubble{background:#f9737324;border-color:#f97373cc;color:var(--text-light)}.gpt-message-meta{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px}.gpt-message-content{font-size:var(--gpt-font-size);color:var(--code-text)}.gpt-message,.gpt-message-bubble,.gpt-message-content,.gpt-markdown{max-width:100%}.gpt-markdown{font-size:12px}.gpt-markdown p{margin:0 0 6px}.gpt-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.gpt-input{margin-top:8px;display:flex;flex-direction:column;gap:6px}.gpt-input textarea{width:100%;min-height:60px;max-height:120px;resize:vertical;border-radius:8px;border:1px solid var(--panel-border);background:var(--bg-main);color:var(--text-main);font-size:12px;padding:6px 8px;outline:none}.gpt-input textarea:focus{border-color:var(--accent-primary)}.gpt-input textarea::placeholder{color:var(--text-main)}.gpt-input textarea:disabled{opacity:.6;cursor:not-allowed}.gpt-code{margin:0;padding:6px 8px;border-radius:0 0 8px 8px;background:var(--code-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre;overflow-x:auto;overflow-y:hidden;font-size:var(--gpt-code-font-size);color:var(--text-light)}.gpt-code-block{margin:8px 0;border-radius:8px;border:1px solid var(--accent-primary);background:#000000e6;overflow:hidden;max-width:100%}.gpt-code-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;font-size:10px;background:var(--shadow-dark);border-bottom:1px solid rgba(148,163,184,.5)}.gpt-code-lang{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.gpt-code-copy-btn{border-radius:999px;border:1px solid var(--panel-border);background:var(--shadow-dark);color:var(--text-light);font-size:10px;padding:2px 8px;cursor:pointer}.gpt-code-copy-btn:hover{border-color:var(--accent-primary);background:#22d3ee3d}.gpt-inline-code{display:inline-block;padding:0 3px;border-radius:4px;background:var(--shadow-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.gpt-code .hljs-keyword,.editor-highlight .hljs-keyword,.gpt-code .hljs-selector-tag,.editor-highlight .hljs-selector-tag,.gpt-code .hljs-name,.editor-highlight .hljs-name,.gpt-code .hljs-attr,.editor-highlight .hljs-attr,.gpt-code .hljs-attribute,.editor-highlight .hljs-attribute,.gpt-code .hljs-built_in,.editor-highlight .hljs-built_in,.gpt-code .hljs-title,.editor-highlight .hljs-title{color:var(--hljs-keyword);font-weight:600}.gpt-code .hljs-string,.editor-highlight .hljs-string,.gpt-code .hljs-meta-string,.editor-highlight .hljs-meta-string,.gpt-code .hljs-template-variable,.editor-highlight .hljs-template-variable{color:var(--hljs-string)}.gpt-code .hljs-number,.editor-highlight .hljs-number,.gpt-code .hljs-literal,.editor-highlight .hljs-literal,.gpt-code .hljs-symbol,.editor-highlight .hljs-symbol{color:var(--hljs-number)}.gpt-code .hljs-comment,.editor-highlight .hljs-comment,.gpt-code .hljs-quote,.editor-highlight .hljs-quote{color:var(--hljs-comment);font-style:italic}.gpt-code .hljs-function .hljs-title,.editor-highlight .hljs-function .hljs-title,.gpt-code .hljs-function,.editor-highlight .hljs-function{color:var(--hljs-function)}.gpt-code .hljs-variable,.editor-highlight .hljs-variable,.gpt-code .hljs-params,.editor-highlight .hljs-params{color:var(--hljs-variable)}.gpt-code .hljs-number,.gpt-code .hljs-literal{color:var(--hljs-number)}.gpt-code .hljs-comment{color:var(--hljs-comment);font-style:italic}.gpt-code .hljs-function .hljs-title,.gpt-code .hljs-title{color:var(--hljs-function)}.gpt-code .hljs-variable,.gpt-code .hljs-params{color:var(--hljs-variable)}.gpt-code .hljs,.editor-highlight .hljs{display:block;color:var(--code-text)}.gpt-code .hljs-keyword,.editor-highlight .hljs-keyword,.gpt-code .hljs-selector-tag,.editor-highlight .hljs-selector-tag{color:var(--hljs-keyword);font-weight:600}.usage-chip{font-size:11px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--panel-border);padding:3px 8px;background:var(--button-alt);color:var(--button-main)}.usage-bar{position:relative;flex:1;height:4px;border-radius:999px;background:#020617;overflow:hidden}.usage-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary))}.login-shell{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);box-shadow:var(--shadow-soft)}.login-card{width:540px;border-radius:var(--radius-lg);border:1px solid var(--panel-border);background:var(--bg-main);box-shadow:var(--shadow-soft);padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px}.login-card h1{font-size:18px;margin:0;color:var(--text-main)}.login-card p{font-size:13px;margin:0;color:var(--text-main)}.login-card form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.login-card form input{background:var(--bg-main)}.login-card input[type=email]{border-radius:999px;border:1px solid var(--panel-border);background:var(--bg-main);color:var(--text-main);padding:8px 10px;font-size:13px;outline:none}.login-card input[type=email]:focus{border-color:var(--accent-primary)}.login-status{font-size:11px;color:var(--text-main);min-height:14px}.verify-card{width:min(480px,86vw);gap:14px;padding:20px 20px 16px}.verify-header{display:flex;align-items:center;gap:12px}.verify-avatar{width:38px;height:38px;border-radius:999px;object-fit:cover;box-shadow:0 0 0 1px #1f293738}.verify-avatar--fallback{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:#22d3ee2e;color:var(--text-main);box-shadow:0 0 0 1px #1f29372e}.verify-title{margin:0;font-size:18px;line-height:1.1}.verify-subtitle{font-size:12px;color:var(--text-muted);margin:2px 0 0}.verify-field{display:flex;flex-direction:column;gap:6px}.verify-label{font-size:12px;color:var(--text-muted)}.verify-actions{display:flex;flex-direction:column;gap:10px}.verify-actions-secondary{display:flex;justify-content:center;flex-direction:row;gap:10px}.verify-status{min-height:16px;font-size:12px;color:var(--text-muted)}.verify-status--error{color:var(--danger)}.verify-status--ok{color:var(--ok)}.login-shell{background:radial-gradient(1200px 600px at 50% 30%,rgba(34,211,238,.12),transparent 60%),radial-gradient(900px 520px at 65% 45%,rgba(168,85,247,.1),transparent 55%),var(--bg-elevated)}.login-hero{position:relative;height:80px;background:linear-gradient(to right,#22d3ee1a,#a855f71f);border-bottom:1px solid var(--panel-border)}.login-hero-glow{position:absolute;inset:0;background:radial-gradient(520px 220px at 40% 40%,rgba(34,211,238,.22),transparent 60%),radial-gradient(460px 210px at 70% 60%,rgba(168,85,247,.18),transparent 58%);pointer-events:none}.login-body{padding:10px;display:flex;flex-direction:column;gap:10px}.login-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.login-title-row h1{margin:0;font-size:18px;color:var(--text-main)}.login-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary)}.login-subtext{margin:0;font-size:13px;color:var(--text-main);opacity:.85}.login-cta{width:100%;padding:10px 12px;font-size:13px}.login-status{font-size:12px;color:var(--text-muted);min-height:16px}.login-status--error{color:var(--danger);font-weight:600}.login-fineprint{margin-top:2px;font-size:11px;color:var(--text-muted);opacity:.9}.preview-modal-backdrop{position:fixed;inset:0;background:var(--bg-main);display:flex;align-items:center;justify-content:center;z-index:9999}.preview-modal{width:min(960px,90vw);max-height:90vh;height:auto;background:#fff;border-radius:12px;border:1px solid var(--panel-border);box-shadow:0 30px 80px var(--shadow-dark);display:flex;flex-direction:column;overflow:hidden}.preview-modal-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--panel-border)}.preview-modal-title{font-size:13px;font-weight:600;color:var(--text-main)}.preview-modal-subtitle{font-size:11px;color:var(--text-muted)}.preview-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer}.preview-modal-close:hover{color:var(--text-main)}.preview-modal-body{flex:1 1 auto;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-main);overflow:hidden}.preview-modal-media{max-width:100%;width:auto;max-height:80vh;height:auto;object-fit:contain;display:block}.preview-modal-body--iframe{align-items:stretch;justify-content:stretch}.preview-modal-iframe{width:100%;height:100%;border:none;background:transparent;display:block;min-height:min(720px,70vh)}.preview-modal-backdrop{background:#02061773;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.preview-modal{background:#fff}.profile-section{border:1px solid rgba(31,41,55,.18);border-radius:12px;padding:12px;background:#ffffffbf}.profile-section+.profile-section{margin-top:10px}.profile-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:8px}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.profile-kv{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-kv strong{font-size:12px}.profile-kv .profile-value{font-size:13px;color:var(--text-main);word-break:break-word}.profile-actions{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-avatar-row{display:flex;align-items:center;gap:10px;min-width:0}.profile-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;box-shadow:0 0 0 1px #1f293740}.profile-avatar-fallback{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:#22d3ee2e;color:var(--text-main)}.profile-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 8px;font-size:11px;border:1px solid rgba(31,41,55,.22);background:#0206170a;color:var(--text-muted)}.profile-status-pill--ok{border-color:#0c4dcd59;color:var(--ok)}.profile-status-pill--warn{border-color:#f973738c;color:var(--danger)}.profile-footer{margin-top:12px;display:flex;justify-content:flex-end}.profile-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.profile-email-input{flex:1 1 240px;min-width:220px;border-radius:999px;border:1px solid rgba(31,41,55,.22);background:var(--bg-main);color:var(--text-main);padding:8px 10px;font-size:13px;outline:none}.profile-email-input:focus{border-color:var(--accent-primary)}.preview-modal--history{width:min(1100px,96vw);height:min(78vh,760px);max-height:90vh}.preview-modal-body--history{align-items:stretch;justify-content:stretch;padding:12px;gap:12px;overflow:hidden}.history-sidebar{flex:0 0 320px;min-width:280px;border-right:1px solid var(--panel-border);padding-right:12px;overflow-y:auto;min-height:0}.history-sidebar-actions{display:flex;gap:8px;margin-bottom:10px}.history-version-btn{width:100%;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--panel-border);background:var(--button-alt);color:var(--text-main);cursor:pointer}.history-version-btn:hover{border-color:var(--accent-primary)}.history-version-btn.active{border-color:var(--accent-primary);background:var(--accent-soft)}.history-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.history-main-toolbar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}.history-main-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.history-preview{margin-top:10px;flex:1 1 auto;min-height:0;border:1px solid var(--panel-border);border-radius:12px;overflow:auto;background:var(--code-bg);color:var(--code-text)}.history-preview pre{margin:0;padding:12px;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.4}.history-version-list{display:flex;flex-direction:column;gap:6px}.app-header-user{position:relative;display:flex;align-items:center}.badge-pill--clickable{cursor:pointer;display:inline-flex;align-items:center;gap:8px}.badge-pill--clickable:focus-visible{outline:2px solid var(--accent-primary, #3b82f6);outline-offset:2px}.badge-pill-caret{font-size:10px;opacity:.7}.user-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:120px;padding:4px;border-radius:8px;background:var(--button-alt);border:1px solid var(--panel-border, #1f2937);box-shadow:0 10px 30px var(--shadow-dark);z-index:100}.user-menu-item{width:100%;border:none;background:transparent;color:var(--text-main, #e5e7eb);text-align:left;font-size:12px;padding:6px 8px;border-radius:4px;cursor:pointer;z-index:100}.user-menu-item:hover{background:var(--accent-secondary);z-index:100}.theme-select{border-radius:999px;border:1px solid var(--panel-border);background:var(--bg-main);color:var(--text-main);font-size:11px;padding:3px 8px;outline:none}.theme-select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.user-pill{padding:5px 10px;border-radius:999px;border:1px solid var(--ok);background:var(--button-alt);color:var(--button-main);box-shadow:0 6px 18px #0f172a2e;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.user-pill:hover{border-color:var(--accent-primary);box-shadow:0 10px 26px #0f172a47;transform:translateY(-1px)}.user-pill:active{transform:translateY(0)}.user-pill-avatar{width:22px;height:22px;border-radius:999px;object-fit:cover;display:inline-block;box-shadow:0 0 0 1px #1f29378c}.user-pill-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-main);background:#22d3ee2e}.user-pill-label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1}.panel.theme-midnight{--bg-main: #020617;--code-bg: #020617;--code-text: #e5e7eb;--text-main: #e5e7eb;--text-muted: #9ca3af;--panel-border: #1f2937;--button-alt: #020617;--button-main: #e5e7eb;--hljs-keyword: #fb7185;--hljs-string: #4ade80;--hljs-number: #facc15;--hljs-comment: #6b7280;--hljs-function: #38bdf8;--hljs-variable: #eab308}.panel.theme-paper{--bg-main: #ffffff;--code-bg: #f9fafb;--code-text: #020617;--text-main: #020617;--text-muted: #6b7280;--panel-border: #d1d5db;--accent-primary: #22d3ee;--accent-secondary: #a855f7;--button-alt: #f3f4f6;--button-main: #111827;--hljs-keyword: #ec4899;--hljs-string: #16a34a;--hljs-number: #ea580c;--hljs-comment: #9ca3af;--hljs-function: #2563eb;--hljs-variable: #b45309}.panel.theme-ocean{--bg-main: #0e2073;--code-bg: #000814;--code-text: #f9fafb;--text-main: #e5e7eb;--text-muted: #9ca3af;--panel-border: #fb7185;--accent-primary: #fb7185;--accent-secondary: #22d3ee;--button-alt: #081427;--button-main: #f9fafb;--hljs-keyword: #fb7185;--hljs-string: #4ade80;--hljs-number: #facc15;--hljs-comment: #64748b;--hljs-function: #38bdf8;--hljs-variable: #eab308}.panel.theme-flower{--bg-main: #fff7fb;--code-bg: #fdf2ff;--code-text: #000000;--text-main: #4a044e;--text-muted: #a855f7;--panel-border: #f9a8d4;--accent-primary: #ec4899;--accent-secondary: #a855f7;--button-alt: #fee2f2;--button-main: #4a044e;--hljs-keyword: #ec4899;--hljs-string: #16a34a;--hljs-number: #ea580c;--hljs-comment: #a855f7;--hljs-function: #7c3aed;--hljs-variable: #b45309}.panel.theme-default{--bg-main: #ffffff;--code-bg: #f9fafb;--code-text: #020617;--text-main: #020617;--text-muted: #6b7280;--panel-border: #d1d5db;--accent-primary: #22d3ee;--accent-secondary: #a855f7;--button-alt: #f3f4f6;--button-main: #111827;--hljs-keyword: #0f766e;--hljs-string: #15803d;--hljs-number: #b45309;--hljs-comment: #9ca3af;--hljs-function: #2563eb;--hljs-variable: #7c2d12}.panel.theme-default .gpt-code-block{background:#f9fafb;border-color:#d1d5db}.panel.theme-default .gpt-code-header{background:#e5e7eb;border-bottom-color:#d1d5db}.panel.theme-default .gpt-code{background:#f9fafb;color:#020617}.panel.theme-default .gpt-code-lang{color:#6b7280}.panel.theme-default .gpt-code-copy-btn{background:#fff;color:#111827;border-color:#d1d5db}.panel.theme-default .gpt-code-copy-btn:hover{background:#e5e7eb;border-color:#22d3ee}.panel.theme-paper .gpt-code-block{background:#f9fafb;border-color:#cbd5e1}.panel.theme-paper .gpt-code-header{background:#e5e7eb;border-bottom-color:#cbd5e1}.panel.theme-paper .gpt-code{background:#f9fafb;color:#020617}.panel.theme-paper .gpt-code-lang{color:#6b7280}.panel.theme-paper .gpt-code-copy-btn{background:#fff;color:#111827;border-color:#cbd5e1}.panel.theme-paper .gpt-code-copy-btn:hover{background:#e5e7eb;border-color:#22d3ee}.panel.theme-flower .gpt-code-block{background:#fdf2ff;border-color:#f9a8d4}.panel.theme-flower .gpt-code-header{background:#fce7f3;border-bottom-color:#f9a8d4}.panel.theme-flower .gpt-code{background:#fdf2ff;color:#4a044e}.panel.theme-flower .gpt-code-lang{color:#a855f7}.panel.theme-flower .gpt-code-copy-btn{background:#fff7fb;color:#4a044e;border-color:#f9a8d4}.panel.theme-flower .gpt-code-copy-btn:hover{background:#fce7f3;border-color:#ec4899}.space-item--ghost{border:1px dashed var(--panel-border);background:transparent}.space-item--ghost:hover{background:var(--accent-secondary)}.admin-shell{min-height:100vh;width:100%;background:var(--bg-elevated);padding:0}.admin-page{height:100vh;width:100%;display:flex;flex-direction:column}.admin-header{padding:16px 18px 10px}.admin-content{flex:1;min-height:0;overflow:auto;padding:0 18px 18px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(31,41,55,.22);background:#ffffffb3;color:#111827db;padding:6px 10px;font-size:12px;line-height:1}.pill--tiny{padding:3px 8px;font-size:11px}.pill--ok{border-color:#0c4dcd73;background:#0c4dcd14;color:var(--ok)}.pill--warn{border-color:#f973738c;background:#f973731a;color:var(--danger)}.admin-card{width:min(1200px,96vw);max-width:1200px;min-height:calc(100vh - 36px);margin:0 auto;display:flex;flex-direction:column;gap:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffffeb;box-shadow:0 14px 46px #0f172a6b;overflow:hidden}.admin-card-header{padding:14px 16px 12px;border-bottom:1px solid rgba(31,41,55,.12);background:linear-gradient(to right,#22d3ee1f,#a855f71f),#fffffff0}.admin-card-body{padding:0 16px 16px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-tabs .button.small{box-shadow:none;border-color:#1f293733;background:#ffffffad}.admin-tabs .button.small.primary{border-color:#22d3eeb3;background:linear-gradient(to right,#22d3ee2e,#a855f733)}.admin-panel{background:#fffc;border:1px solid rgba(31,41,55,.16);box-shadow:0 10px 26px #0f172a33}.admin-block{border-radius:12px;border:1px solid rgba(31,41,55,.14);background:#ffffffb3;padding:10px}.admin-input,.admin-select,.admin-textarea{width:100%;border-radius:999px;border:1px solid rgba(31,41,55,.22);background:#ffffffe6;color:var(--text-main);padding:8px 12px;font-size:13px;outline:none}.admin-textarea{border-radius:12px;padding:10px 12px;resize:vertical}.admin-input:focus,.admin-textarea:focus,.admin-select:focus{border-color:#22d3ee8c;box-shadow:0 0 0 2px #22d3ee47}.button.danger{border-color:var(--danger);color:var(--danger)}.button.danger:hover{background:#f973731a}.admin-row--selected{outline:2px solid rgba(34,211,238,.75);box-shadow:0 0 0 4px #22d3ee24}.preview-modal .button.danger:hover{border-color:#f97373bf;background:#f973731f}.app-header{background:radial-gradient(900px 420px at 18% 25%,rgba(34,211,238,.16),transparent 60%),radial-gradient(760px 420px at 80% 40%,rgba(168,85,247,.14),transparent 62%),var(--bg-elevated);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px #0f172a40}.app-header-title span{opacity:.9}.app-header .badge-pill{background:#ffffff14;border-color:#ffffff24;color:var(--text-light);box-shadow:0 10px 26px #0f172a38}.app-header .badge-pill.ok{border-color:#0c4dcd8c;color:var(--text-light)}.app-header .user-pill{background:#ffffff1a;border-color:#ffffff24}.app-header .user-pill:hover{border-color:#22d3ee8c}.user-menu{background:#ffffffeb;border:1px solid rgba(31,41,55,.14);border-radius:12px;padding:6px;box-shadow:0 20px 60px #0f172a59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-menu-item{padding:8px 10px;border-radius:10px;font-size:12px;color:#111827}.user-menu-item:hover{background:#22d3ee1f;color:#111827}.user-menu-item:focus-visible{outline:2px solid rgba(34,211,238,.55);outline-offset:2px}.user-menu-divider{height:1px;background:#1f29371f;margin:6px}.preview-modal--profile{background:radial-gradient(700px 340px at 18% 12%,rgba(34,211,238,.1),transparent 60%),radial-gradient(640px 320px at 82% 22%,rgba(168,85,247,.1),transparent 62%),#fff}.preview-modal--profile .preview-modal-header{background:linear-gradient(to right,#22d3ee1a,#a855f71a),#fffffff2}.preview-modal-body--profile{background:#02061708}.profile-sidebar{overflow-y:auto;border-radius:12px}.profile-main{overflow:hidden;border-radius:12px}.preview-modal--profile .profile-section{background:#ffffffe0;border-color:#1f293724;box-shadow:0 10px 24px #0f172a1a}.preview-modal--profile .profile-section-title{color:#1118279e}.profile-status-pill{background:#0206170d}.preview-modal--profile{display:flex;flex-direction:column}.preview-modal--profile .preview-modal-body--profile{flex:1 1 auto;min-height:0;align-items:stretch;align-content:stretch;justify-items:stretch;justify-content:stretch}.preview-modal--profile .profile-sidebar,.preview-modal--profile .profile-main{height:100%;min-height:0}.preview-modal--profile .profile-sidebar{overflow:auto}.preview-modal--profile .profile-main{overflow:hidden;display:flex;flex-direction:column}.preview-modal--profile .profile-main .profile-section{min-height:0}.preview-modal--profile .preview-modal-body--profile{grid-template-columns:minmax(320px,360px) minmax(0,1fr)}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sidebar-card{border-radius:12px;border:1px solid rgba(31,41,55,.14);background:#ffffffb3;box-shadow:0 10px 24px #0f172a1a;overflow:hidden}.space-list--scroll{max-height:320px;overflow-y:auto;padding:8px}.space-empty{font-size:12px;color:var(--text-muted);padding:8px 10px}.sidebar-hint{margin-top:6px;font-size:11px;color:var(--text-muted)}.sidebar-mini{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.sidebar-empty{font-size:12px;color:var(--text-muted)}.sidebar-toggles{display:flex;flex-direction:column;gap:8px}.space-item.active{background:#22d3ee1f;border-color:#22d3ee73;box-shadow:0 10px 22px #22d3ee1f}.space-item{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.space-item:hover{transform:translateY(-1px);border-color:#1f293738}.space-item--ghost{border-style:dashed;background:#02061708}.space-item--ghost:hover{background:#a855f71a;border-color:#a855f759}.asset-row{border:1px solid rgba(31,41,55,.14);background:#ffffffb3;border-radius:10px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.asset-row:hover{border-color:#1f293738;transform:translateY(-1px);transition:transform .12s ease,border-color .12s ease}.asset-row.is-active{border-color:#22d3ee73;box-shadow:0 10px 22px #22d3ee1a}.asset-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.asset-row-name{font-size:12px;font-weight:700;color:var(--text-main);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-row-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.asset-meta-chip{font-size:10px;color:var(--text-muted);padding:3px 8px;border-radius:999px;border:1px solid rgba(31,41,55,.12);background:#0206170a;white-space:nowrap}.asset-row-path{font-size:10px;color:var(--text-muted);padding:3px 8px;border-radius:999px;border:1px solid rgba(31,41,55,.12);background:#0206170a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-row-actions{display:flex;gap:6px;flex-wrap:wrap}.toast-stack{position:fixed;left:50%;bottom:8%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;max-width:min(560px,calc(100vw - 28px));padding:10px 12px;border-radius:12px;border:1px solid var(--accent-primary);box-shadow:0 18px 60px var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-light);font-size:12px;line-height:1.2;display:flex;align-items:center;gap:8px;background:var(--bg-elevated);transform:translateY(6px);opacity:0;animation:toastIn .14s ease forwards}.toast .toast-badge{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 8px;border-radius:999px;border:1px solid var(--accent-primary);background:var(--accent-secondary);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.toast.toast--ok .toast-badge{border-color:var(--accent-primary);background:var(--bg-elevated)}.toast.toast--warn .toast-badge{border-color:var(--danger);background:var(--bg-elevated)}.toast{pointer-events:none}.toast.toast--actionable{pointer-events:auto}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none;opacity:1;transform:none}}.preview-modal--move{width:min(1100px,96vw);height:min(82vh,860px);max-width:1100px;overflow:hidden;--move-accent: var(--accent-secondary);--move-accent-soft: rgba(168, 85, 247, .12);--move-accent-border: rgba(168, 85, 247, .45)}.preview-modal-body--move{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:12px;align-items:stretch;justify-content:stretch;padding:12px;min-height:0;overflow:hidden}.move-left{min-height:0;display:flex;flex-direction:column;gap:10px}.move-search .admin-input:focus{border-color:var(--move-accent-border);box-shadow:0 0 0 2px #a855f72e}.move-folders{flex:1 1 auto;min-height:0;overflow:auto;border-radius:12px;border:1px solid rgba(31,41,55,.14);background:#ffffffb8;padding:8px}.move-folder-row{display:grid;grid-template-columns:18px 1fr;column-gap:10px;row-gap:2px;padding:10px;border-radius:12px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.move-folder-row:hover{border-color:#1f29372e;transform:translateY(-1px)}.move-folder-row:before{content:"";width:10px;height:10px;margin-top:4px;border-radius:4px;background:var(--move-accent);box-shadow:0 0 0 1px #1f29372e}.move-folder-row.is-selected{border-color:var(--move-accent-border);background:var(--move-accent-soft);box-shadow:0 10px 22px #a855f71a}.move-folder-path{grid-column:2 / 3;font-size:11px;color:var(--text-muted);opacity:.95}.move-folder-path code{color:#a855f7eb;background:#a855f714;border:1px solid rgba(168,85,247,.16);padding:1px 6px;border-radius:999px}.move-right{min-height:0;display:flex;flex-direction:column;gap:10px}.move-preview{flex:1 1 auto;min-height:0;border-radius:12px;border:1px solid rgba(31,41,55,.14);background:#ffffffb8;padding:12px;overflow:auto}.move-kv{display:grid;grid-template-columns:70px 1fr;gap:8px 10px;font-size:12px}.move-kv .k{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px;padding-top:2px}.move-kv .v code{color:var(--text-main);background:#0206170a;border:1px solid rgba(31,41,55,.12);padding:2px 8px;border-radius:999px}.move-kv .v code.move-to{border-color:var(--move-accent-border);background:var(--move-accent-soft)}.move-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:860px){.preview-modal-body--move{grid-template-columns:1fr}.move-folders{max-height:40vh}}@media(max-width:1024px){.editor-shell{flex-direction:column;height:auto}.panel--files,.panel--editor,.panel--gpt{flex:0 0 auto;width:100%}}@media(max-width:640px){.app-header{align-items:flex-start}.badge-pill{font-size:10px;padding:3px 8px}.sidebar-section code{max-width:100%}}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}@media(max-width:860px){.preview-modal-body--profile{display:flex!important;flex-direction:column!important;height:100%!important}.profile-sidebar{max-height:44%}}@media(max-width:520px){.verify-actions-secondary{grid-template-columns:1fr}}@media(max-width:640px){.login-hero{height:140px}.login-body{padding:16px}}
