:root{color-scheme:dark;--bg-0: #090c0f;--bg-1: #10151a;--bg-2: #171d23;--bg-3: #202832;--border: #303a45;--border-soft: #242c34;--text-0: #f4f7f8;--text-1: #c5ccd3;--text-2: #9ca6b1;--accent: #72a7ff;--accent-soft: #263c5f;--danger: #ff6b6b;--ok: #55c98a;--radius: 6px;--font: -apple-system, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg-0);color:var(--text-0);font-family:var(--font);font-size:13px}#app{display:grid;grid-template-rows:auto 1fr auto;height:100vh;width:100vw;overflow:hidden}#app-header{display:flex;align-items:center;gap:16px;min-width:0;min-height:52px;padding:6px 14px;background:var(--bg-1);border-bottom:1px solid var(--border)}.brand-lockup,#file-actions{display:flex;align-items:center;gap:6px}.alpha-badge{padding:2px 5px;border:1px solid #52606e;border-radius:999px;color:var(--text-1);font-size:9px;letter-spacing:.08em;text-transform:uppercase}#file-actions button,.viewport-hint button{min-height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text-0);font:inherit;cursor:pointer}#file-actions button{padding:5px 9px;white-space:nowrap}#file-actions button:first-child,.viewport-hint button{border-color:#4f82d4;background:#2b5fa8}#file-actions button:disabled{opacity:.45;cursor:not-allowed}#app-status{max-width:190px;color:var(--text-1);font-size:11px;line-height:1.25}#app-status[data-state=error]{color:#ffaaa5}#app-brand{font-weight:600;letter-spacing:.02em;color:var(--text-0);white-space:nowrap}#app-brand-dot{color:var(--accent);margin:0 2px}#toolbar{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}#toolbar .tb-group{display:flex;align-items:center;gap:4px;padding:0 8px;border-right:1px solid var(--border-soft);white-space:nowrap}#toolbar .tb-group:last-child{border-right:none}#toolbar button,#toolbar select{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);padding:5px 9px;font-size:12px;cursor:pointer;font-family:inherit}#toolbar button:hover,#toolbar select:hover{background:var(--bg-3)}#toolbar button:active{transform:translateY(1px)}#toolbar button:disabled{opacity:.4;cursor:default}#toolbar button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-0)}#export-status{font-size:11px;color:var(--text-1);min-width:90px}.export-note{color:var(--text-2);font-size:10px;max-width:180px;white-space:normal;line-height:1.2}#app-body{display:grid;grid-template-columns:minmax(250px,288px) minmax(0,1fr) minmax(240px,280px);min-width:0;min-height:0;overflow:hidden}.sidebar{display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--bg-1);scrollbar-width:thin}.sidebar-left{border-right:1px solid var(--border)}.sidebar-right{border-left:1px solid var(--border)}.panel{border-bottom:1px solid var(--border-soft);padding:10px 12px;flex-shrink:0}.panel:last-child{border-bottom:none}.panel h2,.panel-title{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-1)}.workflow-card{padding-top:16px}.workflow-card h1{margin:3px 0 12px;max-width:24ch;font-size:18px;line-height:1.2;letter-spacing:-.02em}.eyebrow{margin:0;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.workflow-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--text-1);font-size:11px}.workflow-steps li{display:flex;align-items:center;gap:8px}.workflow-steps span{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--accent-soft);color:#dbe9ff;font-weight:700}.viewport-wrap{position:relative;min-width:0;min-height:0;background:radial-gradient(ellipse at 50% 35%,#14181d,#0b0d10 75%)}#viewport{display:block;width:100%;height:100%}.viewport-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;min-width:min(360px,calc(100% - 40px));gap:8px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#10151ae0;box-shadow:0 18px 60px #00000059;color:var(--text-1);font-size:12px;text-align:center;pointer-events:auto;transition:opacity .2s ease}.viewport-hint strong{color:var(--text-0);font-size:17px}.viewport-hint button{justify-self:center;padding:6px 13px}.viewport-wrap.is-dragging:after{position:absolute;inset:12px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:12px;background:#142846b8;color:#fff;content:"Drop GLB to open";font-size:16px;pointer-events:none}#viewport-error{position:absolute;right:16px;bottom:16px;max-width:min(420px,calc(100% - 32px));padding:10px 12px;border:1px solid #8d4545;border-radius:var(--radius);background:#3d2022;color:#ffd5d2;font-size:12px}.viewport-hint[hidden]{display:none}#panel-timeline{border-top:1px solid var(--border);border-bottom:none;background:var(--bg-1);min-height:96px;padding:8px 12px}.row{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.row label{color:var(--text-1);font-size:11px;min-width:64px}.field-btn,button.field-btn{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:12px;cursor:pointer;font-family:inherit}.field-btn:hover{background:var(--bg-3)}input[type=range]{flex:1;accent-color:var(--accent)}input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:none}.library-panel__controls{display:flex;gap:4px;margin-bottom:6px}.library-panel__controls select,.library-panel__controls input{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);font-size:11px;padding:3px 4px;min-width:0;flex:1}.library-panel__status{font-size:11px;color:var(--text-2);margin-bottom:6px}.library-panel__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:260px;overflow-y:auto}.library-panel__tile{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px;cursor:pointer;color:var(--text-0);text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:3px}.library-panel__tile:hover{border-color:var(--accent);background:var(--bg-3)}.library-panel__thumb{width:100%;height:64px;object-fit:contain;background:var(--bg-0);border-radius:4px}.library-panel__label{font-size:10.5px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-panel__licence-badge{font-size:9px;color:var(--ok);align-self:flex-start}.outliner-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.outliner-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;color:var(--text-1);font-size:12px;width:100%;border:0;background:transparent;text-align:left}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b7d2ff;outline-offset:2px}.fatal-card{width:min(560px,calc(100% - 32px));margin:10vh auto;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--bg-1);box-shadow:0 20px 80px #00000073}.fatal-card h1{margin-top:0;font-size:24px}.fatal-detail{color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}@media (max-width: 1800px){#app-header{flex-wrap:wrap}#toolbar{order:3;flex-basis:100%}#app-body{grid-template-columns:220px 1fr 220px}}@media (max-width: 800px){html,body{height:auto;min-height:100%}#app{display:block;width:100%;height:auto;min-height:100dvh;overflow:visible}#app-header{position:sticky;top:0;z-index:10;gap:8px}#file-actions{order:2;width:100%;overflow-x:auto}#toolbar{order:3;flex-basis:100%}#app-status{order:4;max-width:none;width:100%}#app-body{display:flex;flex-direction:column;overflow:visible}.viewport-wrap{order:1;min-height:52vh}.sidebar-left{order:2}.sidebar-right{order:3}.sidebar{overflow:visible;border:0}.library-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:420px}#panel-timeline{min-height:112px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.outliner-row:hover{background:var(--bg-2)}.outliner-row.selected{background:var(--accent-soft);color:var(--text-0)}.outliner-row .type-badge{font-size:9px;color:var(--text-2);border:1px solid var(--border);border-radius:3px;padding:1px 4px}.empty-hint{color:var(--text-2);font-size:11px;font-style:italic}.timeline-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.timeline-track{position:relative;height:28px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);left:0}.timeline-key{position:absolute;top:50%;width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:var(--ok);border-radius:2px;transform:rotate(45deg)}.account-panel{display:flex;flex-direction:column;gap:6px}.account-panel button{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:12px;cursor:pointer;font-family:inherit;align-self:flex-start}.account-panel [data-testid=account-status]{font-size:11px;color:var(--text-1)}.ad-slot{margin-top:8px;border-radius:var(--radius)}.ai-generation-panel,.ai-avatar-panel{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.ai-generation-panel button,.ai-avatar-panel button{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:12px;cursor:pointer;font-family:inherit;align-self:flex-start}.ai-generation-panel [data-testid=gen-state]{font-size:11px;color:var(--text-1)}.ai-generation-panel [data-testid=gen-result][data-mock=true]{color:#ffb454;font-size:10.5px}textarea.ai-prompt{background:var(--bg-2);color:var(--text-0);border:1px solid var(--border);border-radius:var(--radius);padding:6px;font-family:inherit;font-size:12px;resize:vertical;min-height:44px}
