:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:#edf5fb;background:#07121f;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #07121f;--bg-deep: #050e19;--surface: #0a1928;--surface-strong: #0d2032;--surface-soft: #0b1b2b;--border: #203950;--border-strong: #315777;--text: #edf5fb;--muted: #91a6b8;--muted-strong: #b7c7d3;--cyan: #50d6df;--cyan-deep: #2bb8ca;--yellow: #f8bd4a;--danger: #ff7b79;--success: #4dd6a5;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-panel: 0 18px 50px rgba(0, 0, 0, .22)}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{overflow:hidden}button,textarea,input{font:inherit}button{color:inherit}button:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid rgba(80,214,223,.85);outline-offset:2px}button:disabled,textarea:disabled{cursor:not-allowed;opacity:.48}.app-root{height:100vh;min-height:680px;overflow:hidden;background:radial-gradient(circle at 72% 0%,rgba(34,92,124,.14),transparent 31%),linear-gradient(135deg,#06111d,#081827 52%,#06111e)}.app-header{height:70px;display:flex;align-items:center;gap:22px;padding:0 28px;border-bottom:1px solid var(--border);background:#050f1ad6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;z-index:20}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:150px}.brand-lockup strong{font-size:22px;letter-spacing:.04em}.brand-mark{width:36px;height:36px;display:grid;place-items:center;color:var(--cyan);border:2px solid var(--cyan);border-radius:50%;box-shadow:0 0 24px #50d6df2e}.header-divider{width:1px;height:28px;background:var(--border)}.app-header h1{margin:0;font-size:19px;font-weight:650;letter-spacing:.02em}.provider-state{margin-left:auto;display:flex;align-items:center;gap:7px;min-width:160px;justify-content:flex-end;color:var(--muted);font-size:12px}.provider-state.is-ready{color:var(--success)}.provider-state.is-offline{color:var(--danger)}.workspace-grid{height:calc(100vh - 70px);min-height:610px;display:grid;grid-template-columns:244px minmax(620px,1fr) 320px}.history-sidebar,.ai-inspector{min-height:0;background:#05101ca6}.history-sidebar{padding:26px 18px 18px;border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sidebar-heading h2{margin:0;font-size:15px;font-weight:650}.sidebar-heading span{min-width:25px;height:20px;padding:0 7px;display:grid;place-items:center;border-radius:10px;background:#50d6df14;color:var(--cyan);font-size:11px}.history-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#24445d transparent;display:flex;flex-direction:column;gap:10px}.history-item{width:100%;min-height:76px;padding:13px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0a1b2ba3;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.history-item:hover{border-color:#315675;background:#0d2336e0;transform:translateY(-1px)}.history-item.is-active{border-color:#477da2;background:linear-gradient(135deg,#123049f2,#091f30e0);box-shadow:inset 3px 0 0 var(--cyan),0 0 22px #1d6d921a}.history-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #397397;border-radius:50%;color:var(--cyan);background:#2d84a617}.history-content{min-width:0;display:flex;flex-direction:column;gap:7px}.history-content strong{overflow:hidden;color:#e9f1f7;font-size:13px;font-weight:580;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.history-content small{display:flex;align-items:center;gap:4px;color:#6f899d;font-size:10px}.history-delete{width:25px;height:25px;display:grid;place-items:center;color:#668097;border-radius:6px;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.history-item:hover .history-delete,.history-delete:focus-visible{opacity:1}.history-delete:hover{color:var(--danger);background:#ff7b791a}.history-empty{margin-top:50px;padding:22px 16px;color:#5f7d92;text-align:center;border:1px dashed #1f3b51;border-radius:var(--radius-md)}.history-empty svg{color:#40728f}.history-empty p{margin:10px 0 0;font-size:12px;line-height:1.6}.new-animation-button{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #2b4d66;border-radius:var(--radius-sm);background:#081928db;color:#dce9f1;font-size:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.new-animation-button:hover{border-color:var(--cyan-deep);background:#153548b8}.main-workspace{min-width:0;min-height:0;padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.prompt-composer{flex:0 0 auto;padding:12px 16px 15px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg,#0c1f31f5,#081827eb);box-shadow:var(--shadow-panel)}.prompt-copy{display:flex;align-items:center;gap:10px;margin-bottom:9px;color:var(--muted);font-size:12px}.prompt-copy strong{font-weight:500;color:#66859c}.prompt-copy strong:before{content:"·";margin-right:10px}.prompt-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:12px}.prompt-row textarea{width:100%;height:60px;resize:none;padding:16px 68px 12px 15px;border:1px solid #2b4961;border-radius:var(--radius-sm);background:#0b1b2c;color:#f1f6fa;font-size:16px;line-height:1.45;transition:border-color .15s ease,box-shadow .15s ease}.prompt-row textarea::placeholder{color:#6f889b}.prompt-row textarea:focus{border-color:#3e8fae;box-shadow:0 0 0 3px #50d6df14;outline:none}.prompt-count{position:absolute;right:190px;bottom:11px;color:#6f8698;font-size:10px}.generate-button{height:60px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:var(--radius-sm);background:linear-gradient(135deg,#55d9e0,#35becd);color:#052131;font-size:16px;font-weight:720;cursor:pointer;box-shadow:0 12px 26px #2abfcf29;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.generate-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 15px 32px #2abfcf3d}.preview-section{min-height:0;flex:1;display:flex;flex-direction:column}.preview-toolbar{flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 7px}.preview-toolbar>div:first-child{min-width:0;display:flex;align-items:baseline;gap:12px}.preview-kicker{color:var(--cyan);font-size:11px;font-weight:650}.preview-toolbar h2{margin:0;overflow:hidden;color:#edf4f8;font-size:18px;font-weight:640;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:flex;align-items:center;gap:8px}.preview-actions button{height:34px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #28475e;border-radius:7px;background:#071725cc;color:#b9cad6;font-size:12px;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.preview-actions button:hover:not(:disabled){color:#eef7fa;border-color:#3b6d8d;background:#10283b}.preview-actions button:last-child{width:36px;padding:0}.preview-shell{position:relative;min-height:0;flex:1;overflow:hidden;border:1px solid #294960;border-radius:var(--radius-md);background:#071522;box-shadow:var(--shadow-panel)}.preview-shell:fullscreen{width:100vw;height:100vh;border:0;border-radius:0;background:#050d16}.preview-frame{width:100%;height:100%;display:block;border:0;background:#081522}.preview-empty-state{width:100%;height:100%;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;background:linear-gradient(rgba(34,66,88,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(34,66,88,.11) 1px,transparent 1px),radial-gradient(circle at center,rgba(34,126,158,.12),transparent 42%);background-size:32px 32px,32px 32px,auto}.empty-orbit{position:relative;width:82px;height:82px;display:grid;place-items:center;margin-bottom:22px;color:var(--cyan);border:1px solid rgba(80,214,223,.32);border-radius:50%;box-shadow:0 0 50px #50d6df14}.empty-orbit:before,.empty-orbit:after{content:"";position:absolute;inset:10px -11px;border:1px solid rgba(248,189,74,.25);border-radius:50%;transform:rotate(46deg)}.empty-orbit:after{transform:rotate(-46deg)}.empty-orbit span{position:absolute;top:8px;left:8px;width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 16px var(--yellow)}.preview-empty-state h3{margin:0;font-size:21px;font-weight:630}.preview-empty-state p{max-width:440px;margin:10px 0 22px;color:var(--muted);font-size:13px;line-height:1.7}.empty-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.empty-examples span{padding:7px 10px;color:#7995a8;border:1px solid #243f54;border-radius:6px;background:#091b2bb3;font-size:11px}.generation-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050e18e0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:4}.generation-loader{width:58px;height:58px;display:grid;place-items:center;margin-bottom:16px;color:var(--cyan);border:1px solid rgba(80,214,223,.28);border-radius:50%;box-shadow:0 0 34px #50d6df21}.generation-loader svg,.frame-booting svg{animation:spin 1s linear infinite}.generation-overlay strong{font-size:15px;font-weight:600}.generation-overlay span{margin-top:7px;color:var(--muted);font-size:11px}.frame-booting{position:absolute;left:50%;bottom:18px;display:flex;align-items:center;gap:7px;padding:7px 11px;color:#9eb3c2;border:1px solid #29465d;border-radius:7px;background:#06131fe6;font-size:11px;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}.ai-inspector{min-height:0;padding:16px 16px 18px 0;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:14px;overflow-y:auto}.inspector-panel{margin-left:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg,#0b1d2ef2,#071725eb);box-shadow:var(--shadow-panel)}.ai-panel{min-height:0;flex:1;padding:16px;display:flex;flex-direction:column}.runtime-panel{flex:0 0 auto;max-height:260px;padding:16px;overflow:hidden}.panel-title{display:flex;align-items:center;gap:8px;padding-bottom:13px;color:#dceaf2;border-bottom:1px solid rgba(39,67,88,.65)}.panel-title svg{color:var(--cyan)}.runtime-panel .panel-title svg{color:var(--yellow)}.panel-title h2{margin:0;font-size:15px;font-weight:650}.chat-stream{min-height:90px;flex:1;overflow-y:auto;padding:14px 1px 8px;scrollbar-width:thin;scrollbar-color:#24445d transparent}.chat-placeholder{padding:14px;color:#7894a8;border:1px dashed #28465b;border-radius:9px;text-align:center}.chat-placeholder svg{color:#43809d}.chat-placeholder p{margin:8px 0 0;font-size:11px;line-height:1.65}.chat-message{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;margin-bottom:10px}.chat-message>span{width:25px;height:25px;display:grid;place-items:center;color:#0b2534;border-radius:50%;background:var(--cyan);font-size:10px;font-weight:700}.chat-message.user>span{color:#3a2705;background:var(--yellow)}.chat-message p{margin:0;padding:9px 10px;color:#c7d5df;border:1px solid #28455b;border-radius:4px 9px 9px;background:#0e2436bf;font-size:11px;line-height:1.58}.chat-message.user p{border-color:#79633380;background:#4a381938}.suggestion-list{display:flex;flex-direction:column;gap:7px;margin:8px 0 12px}.suggestion-list button{height:34px;padding:0 11px;text-align:left;color:#b8c9d4;border:1px solid #34516a;border-radius:7px;background:#0c1f2fd6;font-size:11px;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.suggestion-list button:hover:not(:disabled){color:#eff9fb;border-color:#4893ac;background:#143849d1}.revision-composer{position:relative}.revision-composer textarea{width:100%;min-height:78px;resize:none;padding:11px 42px 11px 11px;color:#e9f2f7;border:1px solid #2d4b62;border-radius:9px;background:#0b1b2b;font-size:11px;line-height:1.55}.revision-composer textarea::placeholder{color:#6b8395}.revision-composer>button{position:absolute;right:8px;bottom:9px;width:30px;height:30px;display:grid;place-items:center;color:#06202d;border:0;border-radius:7px;background:var(--cyan);cursor:pointer}.issue-list{max-height:174px;overflow-y:auto;padding-top:10px}.issue-item,.runtime-ok{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px 0}.issue-item{color:var(--danger);border-bottom:1px solid rgba(49,73,90,.55)}.issue-item.console-error{color:var(--yellow)}.issue-item strong,.runtime-ok strong{display:block;margin-bottom:3px;color:#cddae3;font-size:11px;font-weight:600}.issue-item p,.runtime-ok p{margin:0;overflow-wrap:anywhere;color:#8299aa;font-size:10px;line-height:1.5}.runtime-ok{padding-top:14px;color:var(--success)}.code-drawer{position:fixed;left:244px;right:320px;bottom:0;height:min(48vh,450px);z-index:40;display:flex;flex-direction:column;border:1px solid #31516a;border-bottom:0;border-radius:14px 14px 0 0;background:#071522;box-shadow:0 -24px 70px #0000007a;transform:translateY(calc(100% + 20px));transition:transform .22s cubic-bezier(.22,1,.36,1)}.code-drawer.is-open{transform:translateY(0)}.code-drawer-header{height:54px;flex:0 0 54px;padding:0 14px 0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #253f53;background:#0b1c2c;border-radius:14px 14px 0 0}.code-drawer-header>div{display:flex;align-items:center;gap:12px}.code-drawer-header>div:first-child>span{color:#6d8799;font-size:10px}.code-label{display:flex;align-items:center;gap:8px;color:#dceaf2;font-size:13px}.code-label>span{color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-actions button{height:32px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#aebfca;border:1px solid #2b4a60;border-radius:6px;background:#0d2436;font-size:10px;cursor:pointer}.code-actions .run-code-button{color:#08222d;border-color:var(--cyan);background:var(--cyan);font-weight:650}.code-actions .icon-only{width:32px;padding:0;justify-content:center;color:#8097a8}.code-editor{width:100%;min-height:0;flex:1;resize:none;padding:18px 20px 28px;color:#c9d8e2;border:0;background:linear-gradient(90deg,rgba(40,68,88,.15) 1px,transparent 1px) 48px 0 / 1px 100%,#06131f;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;tab-size:2;outline:none}.drawer-grip{position:absolute;left:50%;bottom:7px;width:44px;height:18px;display:grid;place-items:center;color:#55748a;border:0;border-radius:9px;background:#0c2233;cursor:pointer;transform:translate(-50%)}@media(max-width:1180px){.workspace-grid{grid-template-columns:190px minmax(540px,1fr) 286px}.history-sidebar{padding-inline:12px}.history-item{grid-template-columns:30px minmax(0,1fr)}.history-delete{display:none}.code-drawer{left:190px;right:286px}.preview-actions button span{display:none}.preview-actions button{width:36px;padding:0}}@media(max-width:900px){body{overflow:auto}.app-root{height:auto;min-height:100vh;overflow:visible}.app-header{height:60px;padding:0 16px}.brand-lockup{min-width:auto}.brand-lockup strong{font-size:18px}.app-header h1,.header-divider,.provider-state span{display:none}.workspace-grid{height:auto;min-height:0;display:block}.history-sidebar{min-height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid var(--border)}.sidebar-heading{margin-bottom:10px}.history-list{max-height:130px;flex-direction:row;overflow-x:auto}.history-item{min-width:210px}.history-empty{width:100%;margin:0}.new-animation-button{margin-top:10px}.main-workspace{height:auto;padding:14px;overflow:visible}.prompt-row{grid-template-columns:1fr}.prompt-count{right:12px;bottom:82px}.generate-button{height:50px}.preview-section{min-height:560px}.preview-shell{min-height:500px}.ai-inspector{padding:0 14px 90px;border-left:0}.inspector-panel{margin-left:0}.ai-panel{min-height:400px}.code-drawer{left:0;right:0;height:62vh}.code-actions button:not(.run-code-button):not(.icon-only){display:none}}@media(max-width:560px){.app-root{min-width:320px}.prompt-copy{align-items:flex-start;flex-direction:column;gap:3px}.prompt-copy strong:before{display:none}.prompt-row textarea{height:82px;font-size:14px}.preview-toolbar{min-height:58px;align-items:center}.preview-kicker{display:none}.preview-toolbar h2{max-width:180px;font-size:15px}.preview-section{min-height:500px}.preview-shell{min-height:430px}.preview-empty-state{min-height:430px;padding:28px 20px}.empty-examples{align-items:stretch;flex-direction:column}.code-drawer-header{padding-left:12px}.code-drawer-header>div:first-child>span{display:none}.run-code-button{font-size:0!important}.run-code-button svg{margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
