:root{color:#15171a;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:18px;border-right:1px solid #d9dee5;background:#101318;padding:18px;color:#f8fafc}.brand-block{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#e9b44c;color:#15110a;font-size:.78rem;font-weight:800}.brand-block p,.brand-block strong{display:block;margin:0}.brand-block p{color:#aeb7c4;font-size:.78rem;font-weight:700;text-transform:uppercase}.project-create{display:grid;gap:10px}.workspace-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}label{display:grid;gap:6px}label span{color:#647084;font-size:.78rem;font-weight:800;text-transform:uppercase}.sidebar label span{color:#aeb7c4}input,select,textarea{width:100%;border:1px solid #cad2dc;border-radius:8px;background:#fff;color:#15171a}input,select{min-height:38px;padding:8px 10px}textarea{min-height:92px;padding:10px;resize:vertical;line-height:1.45}.sidebar input{border-color:#2c333e;background:#181d24;color:#f8fafc}.project-create button,.inline-form button,.upload-form button,.primary-action,.secondary-action{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:#2d6cdf;color:#fff;padding:8px 12px;font-weight:800}.secondary-action{border:1px solid #cad2dc;background:#fff;color:#2d405c}.project-list{display:grid;gap:6px;overflow:auto}.view-item,.project-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#dce4ee;padding:10px;text-align:left;text-decoration:none}.view-item{justify-content:center;background:#181d24;font-weight:800}.view-item.selected{border-color:#e9b44c;background:#2a2417;color:#fff}.project-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item.selected,.project-item:hover{border-color:#303946;background:#1b222d}.workspace{min-width:0;padding:28px}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.eyebrow{margin:0 0 8px;color:#667085;font-size:.78rem;font-weight:800;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:1.65rem;line-height:1.2}h2{font-size:1rem}.status-pill,.node-state{flex:0 0 auto;border:1px solid #d7dde5;border-radius:999px;background:#fff;color:#415066;padding:6px 10px;font-size:.78rem;font-weight:800;text-transform:capitalize}.error-banner{border:1px solid #f0b7ae;border-radius:8px;background:#fff0ee;color:#8f2b20;margin-bottom:16px;padding:12px;font-weight:700}.empty-state{display:grid;max-width:460px;gap:10px;border:1px dashed #b8c2cf;border-radius:8px;background:#fff;padding:24px}.empty-state p,.muted,.node-copy{color:#667085;line-height:1.5}.projects-page{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-width:1120px}.project-card{display:grid;gap:14px;min-height:172px;border:1px solid #d9dee5;border-radius:8px;background:#fff;color:#15171a;padding:16px;text-align:left}.project-card:hover{border-color:#2d6cdf;box-shadow:0 8px 22px #10182814}.project-card h2{overflow-wrap:anywhere;font-size:1.05rem}.project-card-meta{display:grid;gap:10px;margin:0}.workflow{display:grid;gap:14px;max-width:1120px}.workflow-node{border:1px solid #d9dee5;border-radius:8px;background:#fff;padding:16px}.node-header,.node-title,.room-tile-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.node-header{margin-bottom:14px}.node-title{justify-content:flex-start}.node-title p{color:#667085;font-size:.78rem;font-weight:800;text-transform:uppercase}.node-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#eef4ff;color:#2d6cdf}.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.setup-grid div{border-top:1px solid #e7ebf0;padding-top:10px}dt{color:#667085;font-size:.78rem;font-weight:800;text-transform:uppercase}dd{margin:4px 0 0;font-weight:800}.room-node-grid,.inline-form,.upload-form{display:grid;gap:10px}.room-node-grid{grid-template-columns:1fr;align-items:end;margin-bottom:16px}.inline-form{grid-template-columns:minmax(220px,1fr) 180px 132px;align-items:end}.upload-form{grid-template-columns:180px 150px minmax(220px,1fr) 116px;align-items:end}.file-picker input{padding-top:7px}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.room-tile{display:grid;gap:10px;min-height:150px;border:1px solid #d9dee5;border-radius:8px;background:#fbfcfe;padding:12px;text-align:left}.room-tile.selected{border-color:#2d6cdf;box-shadow:0 0 0 2px #2d6cdf1f}.room-tile-header{align-items:flex-start}.room-tile-header strong{overflow-wrap:anywhere}.room-tile-header span,.image-count{color:#667085;font-size:.8rem;font-weight:800}.thumb-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:68px}.thumb-strip img,.thumb-empty{width:100%;height:68px;border-radius:8px;object-fit:cover}.thumb-empty{display:grid;grid-column:1 / -1;place-items:center;border:1px dashed #c5ceda;color:#667085;font-size:.85rem;font-weight:800}.scene-editor{display:grid;gap:16px}.scene-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.script-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scene-room-list{display:grid;gap:12px}.scene-room-card{border:1px solid #d9dee5;border-radius:8px;background:#fbfcfe;padding:14px}.final-export-panel{display:grid;gap:12px;border:1px solid #d9dee5;border-radius:8px;background:#fbfcfe;padding:14px}.scene-room-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.scene-room-header p{color:#667085;font-size:.78rem;font-weight:800;text-transform:uppercase}.scene-room-header h3{margin:3px 0 0;font-size:1rem}.scene-room-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.scene-room-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wide-field{grid-column:1 / -1}.duration-field{max-width:220px}.build-empty{margin-top:12px;border-top:1px solid #e7ebf0;color:#667085;padding-top:12px;font-size:.86rem;font-weight:700}.build-list{display:grid;gap:8px;margin-top:12px;border-top:1px solid #e7ebf0;padding-top:12px}.build-take{display:grid;gap:8px;border:1px solid #d9dee5;border-radius:8px;background:#fff;padding:10px}.build-main,.build-meta,.build-links{display:flex;align-items:center;gap:8px}.build-main{justify-content:space-between}.build-main strong{display:block;overflow-wrap:anywhere;font-size:.88rem}.build-kicker{color:#667085;font-size:.72rem;font-weight:800;text-transform:uppercase}.build-status{flex:0 0 auto;border-radius:999px;background:#eef4ff;color:#2d6cdf;padding:4px 8px;font-size:.72rem;font-weight:900;text-transform:capitalize}.build-status.succeeded{background:#e8f7ef;color:#19764a}.build-status.failed,.build-status.expired,.build-status.cancelled{background:#fff0ee;color:#8f2b20}.build-meta{flex-wrap:wrap;color:#667085;font-size:.78rem;font-weight:700}.build-error{color:#8f2b20;font-size:.86rem;font-weight:700;line-height:1.4}.build-links{flex-wrap:wrap}.build-links a{display:inline-flex;align-items:center;gap:6px;color:#2d6cdf;font-size:.86rem;font-weight:800;text-decoration:none}.build-refresh{justify-self:start;min-height:32px;padding:6px 10px}.tasks-panel{display:grid;gap:14px;max-width:1280px}.tasks-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9dee5;border-radius:8px;background:#fff;padding:14px}.tasks-header h2{margin:0}.task-empty{border:1px dashed #b8c2cf;border-radius:8px;background:#fff;color:#667085;padding:18px;font-weight:700}.tasks-table{display:grid;gap:8px}.tasks-row{display:grid;grid-template-columns:110px minmax(180px,1.2fr) minmax(180px,1fr) minmax(160px,.9fr) minmax(170px,.9fr) minmax(120px,.7fr);gap:10px;align-items:start;border:1px solid #d9dee5;border-radius:8px;background:#fff;padding:12px}.tasks-row-head{background:#eef4ff;color:#415066;font-size:.78rem;font-weight:900;text-transform:uppercase}.task-title,.task-cell,.task-links{display:grid;gap:4px;min-width:0}.task-title strong,.task-cell span{overflow-wrap:anywhere}.task-title span,.task-cell small,.task-links span{color:#667085;font-size:.78rem;font-weight:700}.task-links a{display:inline-flex;align-items:center;gap:6px;color:#2d6cdf;font-size:.86rem;font-weight:800;text-decoration:none}.task-error{grid-column:1 / -1;color:#8f2b20;font-size:.86rem;font-weight:700;line-height:1.4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#101318b8;padding:20px}.preview-modal{display:grid;width:min(920px,100%);max-height:calc(100vh - 40px);gap:12px;border-radius:8px;background:#fff;padding:14px;box-shadow:0 20px 80px #0000004d}.preview-header,.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-modal video{width:100%;max-height:calc(100vh - 190px);border-radius:8px;background:#101318}.preview-meta{color:#667085;flex-wrap:wrap;font-size:.82rem;font-weight:700}.preview-meta span{overflow-wrap:anywhere}.icon-action{display:grid;width:38px;height:38px;place-items:center;border:1px solid #cad2dc;border-radius:8px;background:#fff;color:#2d405c}@media(max-width:980px){.app-shell,.room-node-grid,.inline-form,.upload-form,.setup-grid,.script-grid,.tasks-row,.scene-room-fields{grid-template-columns:1fr}.scene-actions,.scene-room-header,.scene-room-buttons{align-items:stretch;flex-direction:column}.sidebar{min-height:auto}.workspace{padding:20px}.preview-header,.preview-meta{align-items:flex-start;flex-direction:column}}
