html,body,#root{margin:0;padding:0;height:100%;width:100%;background:#1e1e1e;color:#ddd;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#2a2a2a;border-bottom:1px solid #3a3a3a;font-size:13px}.toolbar button,.toolbar label{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.toolbar button:hover,.toolbar label:hover{background:#4a4a4a}.toolbar button:disabled{opacity:.4;cursor:not-allowed;background:#3a3a3a}.toolbar button.toggle-on{background:#2a4070;border-color:#4a6090}.toolbar-sep{width:1px;height:22px;background:#444;margin:0 6px}.file-menu{position:relative}.file-menu-trigger{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.file-menu-trigger:hover,.file-menu-trigger.open{background:#4a4a4a}.file-menu-list{position:absolute;left:0;top:calc(100% + 4px);background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;min-width:140px;padding:4px 0;z-index:20;box-shadow:0 4px 12px #0006}.file-menu-item{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;text-align:left;background:none;border:none;color:#ddd;padding:6px 14px;font-size:13px;cursor:pointer}.file-menu-shortcut{color:#888;font-size:11px}.file-menu-sub{padding-left:28px}.file-menu-sep{height:1px;background:#3a3a3a;margin:4px 0}.block-card-wrap{position:relative}.block-card-edit{position:absolute;top:4px;right:4px;background:#4a9effb3;color:#fff;border:none;border-radius:3px;padding:2px 8px;font-size:10px;cursor:pointer;opacity:0;transition:opacity .1s ease}.block-card-wrap:hover .block-card-edit{opacity:1}.block-card-edit:hover{background:#4a9eff}.block-edit-banner{position:absolute;left:50%;top:12px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 16px;background:#502878d9;color:#fff;border-radius:6px;z-index:8;font-size:13px}.block-edit-banner button{border:none;border-radius:4px;padding:4px 12px;font-size:12px;cursor:pointer}.bk-save{background:#4ee08c;color:#111}.bk-cancel{background:#ff6b6b;color:#fff}.ai-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12px;color:#ddd}.ai-row>span:first-child{color:#888;min-width:160px}.ai-row input[type=text],.ai-row input[type=password],.ai-row input:not([type]){flex:1;background:#1a1a1a;color:#ddd;border:1px solid #3a3a3a;padding:4px 8px;border-radius:3px;font:inherit}.ai-row label{display:flex;align-items:center;gap:6px;margin-right:16px}.ai-warn{margin-top:8px;padding:8px 10px;background:#3a2a20;color:#f0c2a0;border-radius:4px;font-size:11px;line-height:1.4}.ai-warn code{background:#2a1c10;padding:1px 4px;border-radius:2px}.modal-footer{padding:8px 14px;border-top:1px solid #2a2a2a;display:flex;justify-content:flex-end}.modal-action{background:#4a9eff;color:#111;border:none;border-radius:4px;padding:5px 14px;font-weight:600;cursor:pointer}.modal-action:hover{background:#67b1ff}body.theme-light .ai-row>span:first-child{color:#555}body.theme-light .ai-row input{background:#fff;color:#222;border-color:#ccc}body.theme-light .ai-warn{background:#fff3e6;color:#742}body.theme-light .ai-warn code{background:#ffe1c2}body.theme-light .modal-footer{border-top-color:#d8d8d8}.details-row{display:flex;gap:8px;padding:2px 0;font-size:12px;color:#ddd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.details-row>span:first-child{color:#888;min-width:110px}.details-subhead{margin:12px 0 6px;color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid #2a2a2a;padding-top:8px}.docs-body h4{color:#4a9eff;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px}.docs-body ul{padding-left:18px;margin:4px 0 8px}.docs-body li{font-size:12px;line-height:1.5;color:#ddd;margin:2px 0}.docs-body code{background:#1a1a1a;color:#ffd44d;padding:1px 4px;border-radius:2px;font-size:11px}.block-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.block-card{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;padding:8px;cursor:pointer;color:#ddd;text-align:center;display:flex;flex-direction:column;gap:4px}.block-card:hover{border-color:#4a9eff;background:#2d3a4a}.block-preview{width:100%;height:110px;background:#0a1830;border-radius:3px;display:block}.block-preview.empty{display:flex;align-items:center;justify-content:center;color:#555;font-size:24px}.block-card-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-card-sub{color:#888;font-size:10px}.file-menu-item:hover:not(:disabled){background:#3a4a6a}.file-menu-item:disabled{color:#666;cursor:not-allowed}.layer-picker{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;padding:4px 6px;border-radius:4px;font-size:12px}.toolbar input[type=file]{display:none}.toolbar .status{margin-left:auto;color:#888;font-size:12px}.debug-panel{background:#222;border-bottom:1px solid #333;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#9c9;line-height:1.5}.debug-panel>summary{padding:4px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#888;list-style:none}.debug-panel>summary::-webkit-details-marker{display:none}.debug-panel>summary:before{content:"▸ ";display:inline-block;width:1em}.debug-panel[open]>summary:before{content:"▾ "}.debug-panel>div{padding:2px 12px 6px 28px}.viewport-wrap{flex:1;position:relative;overflow:hidden}.viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0a1830}.side-hotzone{position:absolute;top:0;right:0;width:12px;height:100%;z-index:5}.side-panel{position:absolute;top:0;right:240px;height:100%;width:260px;background:#232323;border-left:1px solid #3a3a3a;border-right:1px solid #3a3a3a;transform:translate(calc(100% + 240px));transition:transform .16s ease;z-index:6;display:flex;flex-direction:column;font-size:12px}.side-panel.open{transform:translate(0);box-shadow:-4px 0 12px #00000059}.layers-panel,.props-panel{display:flex;flex-direction:column;min-height:0}.layers-panel{height:50%;border-bottom:1px solid #3a3a3a}.props-panel{flex:1}.images-column{position:absolute;top:0;right:0;height:100%;width:240px;background:#232323;border-left:1px solid #3a3a3a;transform:translate(100%);transition:transform .16s ease;z-index:6;display:flex;flex-direction:column;font-size:12px}.images-column.open{transform:translate(0);box-shadow:-4px 0 12px #00000059}.images-toolbar{display:flex;gap:4px;padding:4px 8px;border-bottom:1px solid #2a2a2a}.images-toolbar button{flex:1;background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;border-radius:3px;padding:3px 6px;font-size:11px;cursor:pointer}.images-toolbar button:hover:not(:disabled){background:#4a4a4a}.images-toolbar button:disabled{opacity:.4;cursor:not-allowed}.images-progress{padding:4px 10px;color:#ffd44d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.4;border-bottom:1px solid #2a2a2a}.filter-body{flex:1;overflow-y:auto;padding:6px 8px 12px}.filter-subhead{color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin:8px 4px 4px}.filter-row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:3px}.filter-row:hover{background:#2c2c2c}.filter-swatch{display:inline-block;width:12px;height:12px;border:1px solid #555;border-radius:2px;flex-shrink:0}.filter-label{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-count{color:#888;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.filter-act{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;border-radius:3px;padding:1px 6px;font-size:10px;cursor:pointer}.filter-act:hover{background:#4a4a4a}.filter-act.subtract{color:#ff8080;border-color:#5a3030;padding:1px 5px}.filter-act.subtract:hover{background:#3a2020}.images-search{margin:6px 8px;padding:4px 8px;background:#1a1a1a;color:#ddd;border:1px solid #3a3a3a;border-radius:3px;font:inherit;font-size:11px}.images-search:focus{outline:1px solid #4a9eff;outline-offset:-1px}.images-list{flex:1;overflow-y:auto;padding:2px 0}.image-row{display:flex;align-items:center;gap:6px;padding:3px 8px}.image-row:hover{background:#2c2c2c}.image-meta{flex:1;display:flex;flex-direction:column;min-width:0}.image-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-sub{font-size:10px;color:#888}.image-delete{background:none;border:none;color:#888;font-size:14px;cursor:pointer;padding:0 2px;line-height:1}.image-delete:hover{color:#ff8080}.panel-title{padding:8px 12px;color:#aaa;border-bottom:1px solid #333;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:11px;display:flex;align-items:center;justify-content:space-between}.panel-action{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;border-radius:3px;padding:0 6px;font-size:12px;cursor:pointer}.panel-action:hover{background:#4a4a4a}.panel-action.on{background:#2a4070;border-color:#4a9eff;color:#fff}.panel-actions{display:inline-flex;gap:4px}.layers-list{flex:1;overflow-y:auto;padding:4px 0}.layer-row{display:flex;align-items:center;gap:8px;padding:4px 12px;cursor:pointer;color:#ddd}.layer-row:hover{background:#2c2c2c}.layer-row-picked{background:#2d3a4a;color:#cfe5ff}.layer-row-picked:hover{background:#34465a}.layer-row input[type=checkbox]{margin:0;cursor:pointer}.layer-swatch{display:inline-block;width:12px;height:12px;border:1px solid #555;border-radius:2px;flex-shrink:0}.layer-color{width:18px;height:14px;padding:0;border:1px solid #555;border-radius:2px;background:transparent;cursor:pointer;flex-shrink:0}.layer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-name-input{flex:1;min-width:0;background:transparent;color:#ddd;border:1px solid transparent;border-radius:2px;padding:1px 4px;font:inherit;font-size:12px}.layer-name-input:focus{background:#1a1a1a;border-color:#4a9eff;outline:none}.layer-delete{background:none;border:none;color:#888;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.layer-delete:hover{color:#ff8080}.props-body{flex:1;overflow-y:auto;padding:8px 0}.props-empty{padding:8px 12px;color:#777;font-style:italic}.props-subhead{padding:8px 12px 4px;color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #2c2c2c;margin-top:6px}.props-table{width:100%;border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.props-table tr:hover{background:#2a2a2a}.props-key{color:#888;padding:2px 12px;white-space:nowrap;vertical-align:top}.props-val{color:#ddd;padding:2px 12px 2px 0;word-break:break-all}.props-input{width:100%;box-sizing:border-box;background:#1a1a1a;color:#ddd;border:1px solid #3a3a3a;border-radius:3px;padding:2px 6px;font:inherit;font-size:11px}.props-input:focus{outline:1px solid #4a9eff;outline-offset:-1px}.props-color{width:36px;height:20px;padding:0;background:transparent;border:1px solid #3a3a3a;border-radius:3px;cursor:pointer}.viewport canvas{display:block}.dropzone{position:absolute;top:24px;right:24px;bottom:24px;left:24px;display:flex;align-items:center;justify-content:center;border:2px dashed #3a3a3a;border-radius:8px;color:#666;pointer-events:none;transition:border-color .12s ease,background .12s ease,color .12s ease}.dropzone-active{border-color:#4a9eff;background:#4a9eff14;color:#cfe5ff}.dropzone-inner{text-align:center}.dropzone-title{font-size:16px;margin-bottom:6px}.dropzone-sub{font-size:12px;color:#555}.dropzone-active .dropzone-sub{color:#8fbcff}.pick-badge{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;width:11px;height:11px;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;border-radius:50%;color:#111;z-index:10;line-height:1}.pick-add{background:#4ee08c}.pick-sub{background:#ff6b6b}.measure-banner{position:absolute;left:50%;top:12px;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:6px 14px;background:#000000bf;color:#ffd44d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;border-radius:6px;z-index:8}.measure-banner b{color:#fff}.measure-close{background:none;border:none;color:#aaa;font-size:16px;cursor:pointer;line-height:1;padding:0 0 0 4px}.measure-close:hover{color:#fff}.sidebar{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:2px;padding:4px;background:#0000008c;border:1px solid #2a3a5a;border-radius:5px;z-index:7}.sb-tool{width:30px;height:30px;background:transparent;color:#d8d8d8;border:1px solid transparent;border-radius:4px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.sb-tool:hover:not(:disabled){background:#283c64b3;color:#fff}.sb-tool.on{background:#4a9eff80;border-color:#4a9eff;color:#fff}.sb-tool:disabled{opacity:.35;cursor:not-allowed}.sidebar-sep{height:1px;background:#2a3a5a;margin:2px 1px}.cmd-bar{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:3px 10px;background:#000000a6;border:1px solid #2a3a5a;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-width:360px;max-width:min(640px,calc(100vw - 460px));z-index:7}.cmd-prompt{color:#ffd44d;white-space:nowrap;flex-shrink:0}.cmd-input-wrap{position:relative;flex:1}.cmd-input{width:100%;box-sizing:border-box;background:#0a1830;color:#ddd;border:1px solid #2a3a5a;border-radius:3px;padding:4px 8px;font-family:inherit;font-size:12px}.cmd-input:focus{outline:1px solid #4a9eff;outline-offset:-1px}.cmd-suggestions{position:absolute;bottom:calc(100% + 4px);left:0;display:flex;flex-wrap:wrap;gap:2px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;padding:4px;z-index:20;box-shadow:0 -4px 12px #0006}.cmd-suggestion{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;border-radius:3px;padding:3px 8px;font:inherit;font-size:11px;cursor:pointer}.cmd-suggestion:hover:not(:disabled){background:#4a6090;border-color:#4a9eff}.cmd-suggestion:disabled{opacity:.4;cursor:not-allowed}.hud-card{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:row;align-items:center;gap:10px;padding:4px 8px;background:#0000008c;border-radius:6px;z-index:9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#ddd;pointer-events:auto;white-space:nowrap}.hud-card .mem-readout,.hud-card .hud-coords{background:transparent;border:none;padding:0;position:static;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.hud-card .hud-coords{color:#ddd;min-width:14ch}.hud-card .mem-readout{color:#9c9}.hud-card .viewport-tools{display:flex;gap:2px;margin-left:auto}.vp-tool{width:24px;height:24px;background:#0000008c;color:#ccc;border:1px solid #2a3a5a;border-radius:4px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.vp-tool:hover{background:#283c64b3;color:#fff}.vp-tool.on{background:#4a9eff80;border-color:#4a9eff;color:#fff}.mem-readout{position:absolute;right:10px;bottom:38px;padding:3px 8px;background:#0000008c;color:#9c9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:9}.script-panel{position:fixed;left:16px;bottom:16px;width:420px;height:60vh;max-height:720px;background:#1f2126;border:1px solid #3a3a3a;border-radius:6px;display:flex;flex-direction:column;z-index:50;box-shadow:0 8px 24px #00000080;font-size:12px;color:#ddd}.script-editor{flex:1;background:#11151a;color:#e0e7ef;border:none;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;resize:none;outline:none;white-space:pre;overflow:auto}.script-row{display:flex;justify-content:flex-end;padding:8px 12px;border-top:1px solid #2a2a2a}.script-output{margin:0;padding:8px 12px;background:#181a1f;color:#d4dfeb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-height:30%;overflow:auto;border-top:1px solid #2a2a2a;white-space:pre-wrap}body.theme-light .script-panel{background:#fff;color:#222;border-color:#c8c8c8}body.theme-light .script-editor{background:#f7f8fa;color:#1a1a1a}body.theme-light .script-output{background:#f0f2f5;color:#222}.chat-panel{position:fixed;right:16px;top:60px;width:360px;height:70vh;max-height:720px;background:#232323;border:1px solid #3a3a3a;border-radius:6px;display:flex;flex-direction:column;z-index:50;box-shadow:0 8px 24px #00000080;font-size:12px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #333;font-weight:600;color:#ddd}.chat-close{background:none;border:none;color:#aaa;font-size:18px;cursor:pointer;line-height:1}.chat-close:hover{color:#fff}.chat-body{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.chat-empty{color:#888;font-style:italic;text-align:center;margin-top:32px}.chat-msg{display:flex;flex-direction:column;gap:2px}.chat-role{color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.chat-content{white-space:pre-wrap;color:#ddd;line-height:1.45}.chat-code-block{margin:4px 0;border:1px solid #333;border-radius:4px;background:#14171b;overflow:hidden;display:flex;flex-direction:column}.chat-code-block pre{margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#e0e7ef;white-space:pre;overflow-x:auto;max-height:260px}.chat-run{align-self:flex-end;background:#4ee08c;color:#111;border:none;padding:3px 12px;font-size:11px;font-weight:600;border-radius:0 0 4px;cursor:pointer}.chat-run:disabled{opacity:.4;cursor:not-allowed}.chat-run:hover:not(:disabled){background:#5ee893}body.theme-light .chat-code-block{background:#f4f6fa;border-color:#d0d5dd}body.theme-light .chat-code-block pre{color:#1a1a1a}.chat-user .chat-content{color:#cfe5ff}.chat-pending .chat-content{color:#888;font-style:italic}.chat-error{color:#ff8080;background:#3a2020;border-radius:3px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.chat-input-row{display:flex;gap:6px;padding:8px 12px;border-top:1px solid #2a2a2a}.chat-input{flex:1;background:#1a1a1a;color:#ddd;border:1px solid #3a3a3a;border-radius:4px;padding:6px 8px;font:inherit;font-size:12px;resize:none}.chat-input:focus{outline:1px solid #4a9eff;outline-offset:-1px}.chat-send{background:#4a9eff;color:#111;border:none;border-radius:4px;padding:0 14px;font-weight:600;cursor:pointer}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-foot{padding:4px 12px 8px;color:#666;font-size:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#232323;border:1px solid #3a3a3a;border-radius:6px;width:min(880px,90vw);max-height:80vh;display:flex;flex-direction:column;font-size:13px;color:#ddd}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #333;font-weight:600;letter-spacing:.04em}.modal-close{background:none;border:none;color:#aaa;font-size:20px;cursor:pointer;line-height:1}.modal-close:hover{color:#fff}.modal-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #2a2a2a}.modal-toolbar button{background:#3a3a3a;color:#ddd;border:1px solid #4a4a4a;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.modal-toolbar button:hover:not(:disabled){background:#4a4a4a}.modal-toolbar button:disabled{opacity:.5;cursor:not-allowed}.modal-progress{color:#ffd44d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.modal-body{flex:1;overflow-y:auto;padding:6px 14px 14px}.modal-empty{padding:24px 8px;color:#888;font-style:italic;text-align:center}.library-table{width:100%;border-collapse:collapse;font-size:12px}.library-table th{text-align:left;color:#888;font-weight:500;padding:4px 6px;border-bottom:1px solid #333}.library-table td{padding:4px 6px;border-bottom:1px solid #2a2a2a}.library-table tr:hover td{background:#2a2a2a}.lib-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-delete{background:none;border:1px solid #5a3030;color:#ff8080;padding:2px 8px;border-radius:3px;cursor:pointer;font-size:11px}.lib-delete:hover{background:#3a2020}.coords{position:absolute;right:10px;bottom:8px;padding:4px 10px;background:#0000008c;color:#ddd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:9}.landing{width:100%;height:100%;overflow-y:auto;background:radial-gradient(circle at 20% 0%,#1f2c4a,#0a1830 45%,#060c1c);color:#d0d5dd;font-family:system-ui,-apple-system,sans-serif}.landing-inner{max-width:880px;margin:0 auto;padding:64px 32px 80px;display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}.landing-hero h1{margin:0 0 8px;font-size:56px;letter-spacing:-1px;background:linear-gradient(90deg,#fff,#80b8ff 60%,#4a9eff);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-tagline{font-size:16px;line-height:1.55;color:#aab3c1}.landing-bullets{margin:18px 0 0;padding-left:18px;color:#c4cad6;font-size:14px;line-height:1.7}.landing-bullets li::marker{color:#4a9eff}.landing-auth{background:#1e2330d9;border:1px solid #2c3651;border-radius:10px;padding:22px;box-shadow:0 12px 32px #0006}.auth-tabs{display:flex;gap:4px;margin-bottom:14px}.auth-tab{flex:1;background:transparent;border:1px solid #2c3651;color:#aab3c1;padding:8px 10px;border-radius:6px;font-size:13px;cursor:pointer}.auth-tab.on{background:#1d3a73;border-color:#4a9eff;color:#fff}.auth-field{display:block;margin:10px 0}.auth-field span{display:block;font-size:11px;color:#8a93a3;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}.auth-field input{width:100%;background:#11151a;border:1px solid #2c3651;border-radius:6px;padding:9px 11px;color:#e0e7ef;font:inherit;font-size:14px;outline:none}.auth-field input:focus{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff40}.auth-help{font-size:11px;color:#7a8395;margin-top:4px}.auth-msg{margin:10px 0 6px;padding:8px 10px;background:#3a2e1a;border:1px solid #6a4f1f;color:#f7c570;border-radius:5px;font-size:12px}.auth-row{margin-top:14px}.auth-primary{width:100%;background:#4a9eff;color:#0a1424;border:none;padding:11px 14px;border-radius:6px;font-weight:700;font-size:14px;cursor:pointer}.auth-primary:hover:not(:disabled){background:#6ab1ff}.auth-primary:disabled{opacity:.5;cursor:not-allowed}.landing-foot{grid-column:1 / -1;color:#5d6679;font-size:11px;margin-top:16px}.landing-foot a{color:#80b8ff;text-decoration:none}.landing-marketing{display:block;max-width:960px;padding-top:96px;text-align:center}.landing-marketing .landing-hero h1{font-size:76px;margin-bottom:18px}.landing-marketing .landing-tagline{max-width:620px;margin:0 auto;font-size:18px;line-height:1.55;color:#b8c0cc}.landing-cta{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.landing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:72px 0 24px;text-align:left}.landing-card{background:#1e2330b3;border:1px solid #2c3651;border-radius:10px;padding:22px}.landing-card-icon{font-size:26px;margin-bottom:8px}.landing-card h3{margin:0 0 8px;font-size:16px;color:#fff;font-weight:600}.landing-card p{margin:0;font-size:14px;line-height:1.5;color:#aab3c1}.auth-primary-link{display:inline-block;width:auto;padding:11px 22px;text-decoration:none;text-align:center}.auth-secondary{background:transparent;color:#aab3c1;border:1px solid #2c3651}.auth-secondary:hover{background:#ffffff0a;color:#fff}.login-shell{max-width:420px;margin:80px auto;padding:24px 20px}.login-back{display:inline-block;color:#aab3c1;text-decoration:none;font-size:13px;margin-bottom:16px}.login-back:hover{color:#fff}@media (max-width: 760px){.landing-inner{grid-template-columns:1fr;padding:32px 20px 60px;gap:28px}.landing-marketing{padding-top:48px}.landing-marketing .landing-hero h1{font-size:48px}.landing-marketing .landing-tagline{font-size:16px}.landing-cards{grid-template-columns:1fr;margin:48px 0 16px}.login-shell{margin:40px auto}}@media (max-width: 800px),(pointer: coarse){html,body,#root{font-size:14px}.file-menu-trigger,.layer-picker,button.tool-button,.vp-tool,.panel-action{min-height:36px;min-width:36px;padding:6px 10px}.toolbar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.file-menu-list{min-width:220px}.file-menu-item{padding:10px 14px}.side-panel,.images-column{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;height:60vh;max-height:60vh;transform:translateY(100%);border-left:none;border-top:1px solid #3a3a3a;z-index:30}.side-panel.open,.images-column.open{transform:translateY(0)}.side-hotzone{display:none}.script-panel,.modal{width:calc(100vw - 16px)!important;left:8px!important;right:8px!important}.script-panel{height:70vh}.hud-card{bottom:max(8px,env(safe-area-inset-bottom,0));right:max(8px,env(safe-area-inset-right,0));font-size:12px;gap:8px;flex-wrap:wrap}.hud-card .viewport-tools{gap:6px}.vp-tool{width:38px;height:38px}.cmd-bar{width:calc(100vw - 16px);left:8px;right:8px;transform:none;bottom:max(8px,env(safe-area-inset-bottom,0))}.cmd-input{font-size:14px;padding:8px 10px}.props-table td{padding:6px 4px}}body.theme-light{background:#f2f2f2;color:#222}body.theme-light .toolbar{background:#eaeaea;border-bottom:1px solid #ccc;color:#222}body.theme-light .file-menu-trigger,body.theme-light .layer-picker,body.theme-light button.tool-button{background:#f7f7f7;border:1px solid #c0c0c0;color:#222}body.theme-light .file-menu-trigger.open,body.theme-light .file-menu-trigger:hover{background:#e3e8ef;border-color:#6c98d6;color:#1a3a73}body.theme-light .file-menu-list,body.theme-light .modal,body.theme-light .chat-panel,body.theme-light .side-panel,body.theme-light .images-column{background:#fff;color:#222;border-color:#c8c8c8}body.theme-light .file-menu-item,body.theme-light .file-menu-item:disabled{color:#222}body.theme-light .file-menu-item:hover{background:#eef3f9}body.theme-light .file-menu-item:disabled{color:#aaa}body.theme-light .file-menu-sep{background:#e0e0e0}body.theme-light .panel-title{background:#f0f0f0;color:#333;border-bottom:1px solid #d8d8d8}body.theme-light .panel-action{background:#f7f7f7;border-color:silver;color:#333}body.theme-light .panel-action:hover{background:#e3e8ef}body.theme-light .panel-action.on{background:#d1e0f6;border-color:#4a9eff;color:#1a3a73}body.theme-light .props-empty,body.theme-light .filter-subhead,body.theme-light .filter-count,body.theme-light .chat-foot,body.theme-light .file-menu-shortcut{color:#888}body.theme-light .filter-row:hover{background:#f1f1f1}body.theme-light .filter-act{background:#f0f0f0;border-color:#ccc;color:#222}body.theme-light .filter-act:hover{background:#e0e8f3}body.theme-light .filter-act.subtract{color:#c64040;border-color:#e6c0c0}body.theme-light .filter-act.subtract:hover{background:#f9e8e8}body.theme-light .images-toolbar button,body.theme-light .images-search,body.theme-light .cmd-input,body.theme-light .chat-input{background:#fff;border-color:#ccc;color:#222}body.theme-light .image-row:hover{background:#f3f3f3}body.theme-light .image-name{color:#222}body.theme-light .image-sub{color:#777}body.theme-light .cmd-bar{background:#ffffffeb;color:#222;border-top:1px solid #ccc}body.theme-light .cmd-prompt{color:#444}body.theme-light .cmd-suggestions{background:#fff;border-color:#ccc}body.theme-light .cmd-suggestion{background:#f0f0f0;border-color:#ccc;color:#222}body.theme-light .cmd-suggestion:hover:not(:disabled){background:#e0e8f3;border-color:#6c98d6;color:#1a3a73}body.theme-light .coords,body.theme-light .mem-readout{background:#ffffffd9;color:#222}body.theme-light .hud-card{background:#ffffffeb;color:#222}body.theme-light .hud-card .hud-coords{color:#222}body.theme-light .hud-card .mem-readout{color:#1a7a3a}body.theme-light .vp-tool{background:#0000000a;color:#444;border-color:silver}body.theme-light .vp-tool:hover{background:#00000014;color:#111}body.theme-light .vp-tool.on{background:#4a9eff40;border-color:#4a9eff;color:#1a3a73}body.theme-light .modal-header{border-bottom-color:#d8d8d8}body.theme-light .modal-close{color:#444}body.theme-light .modal-close:hover{color:#000}body.theme-light .docs-body h4{color:#1a73e8}body.theme-light .docs-body li,body.theme-light .details-row{color:#222}body.theme-light .docs-body code{background:#f2f2f2;color:#b8540a}body.theme-light .details-row>span:first-child,body.theme-light .details-subhead{color:#666}body.theme-light .block-card{background:#f7f7f7;border-color:#cfcfcf;color:#222}body.theme-light .block-card:hover{background:#e3edff;border-color:#4a9eff}body.theme-light .block-preview{background:#ebf0f7}body.theme-light .block-card-sub{color:#777}body.theme-light .layers-panel input[type=text],body.theme-light .props-panel input[type=text],body.theme-light .props-panel input[type=number]{background:#fff;border-color:#ccc;color:#222}body.theme-light .chat-content{color:#222}body.theme-light .chat-user .chat-content{color:#1a3a73}body.theme-light .chat-msg .chat-role{color:#777}body.theme-light .dropzone-inner{background:#ffffffe6;color:#444}
