*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #e6e2ed;border-radius:7px;padding:8px 11px;background:white;color:#686171;font-size:11px;transition:background .15s}button:disabled{opacity:.4;cursor:default}input,select{min-width:0;width:100%;border:1px solid #e7e3ee;border-radius:6px;padding:8px;background:#faf9fc;color:#453e50;font-size:12px}input[type=checkbox]{width:auto;accent-color:#7b6cff}input[type=range]{accent-color:#7b6cff;padding:0;cursor:pointer}input[type=color]{padding:3px;height:29px;width:38px;cursor:pointer}h1,h2,p{margin:0}h2{font-size:12px;font-weight:600}.eyebrow{letter-spacing:1.7px;font-size:9px;color:#9a90ad}.pv-top{display:flex;align-items:center;justify-content:space-between;padding:23px 28px;background:#fff;border-bottom:1px solid #e9e7ef;gap:16px}.pv-brand{display:flex;align-items:center;gap:12px}.pv-brand img{width:36px;height:40px}.pv-brand h1{font-size:24px;font-weight:400;letter-spacing:-1px;margin-top:4px;white-space:nowrap}.pv-brand b{font-weight:600}.pv-brand small{font-size:8px;border:1px solid #e3ddef;border-radius:4px;letter-spacing:1px;color:#9d90b3;padding:3px 4px;vertical-align:middle;margin-left:4px}.pv-actions{display:flex;align-items:center;gap:7px}.pv-actions>span{font-size:10px;color:#9e98a7;margin-right:8px}.pv-actions .primary{padding:11px 20px}body.previz-page main.pv-layout{padding:22px 24px;max-width:1900px;margin:auto;display:grid;grid-template-columns:206px minmax(360px,1fr) 244px;gap:18px;align-items:start}.pv-panel{background:white;border:1px solid #e8e4ef;border-radius:10px;padding:17px 14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px}.panel-heading>span{font-size:8px;letter-spacing:1.3px;color:#aca4b7}.hint{font-size:10px;line-height:1.8;color:#9b93a6;margin:8px 0 13px}#asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:15px}.asset-button{height:78px;text-align:left;padding:10px;background:linear-gradient(145deg,#faf9fc,#f1eef7);border-color:#eeeaf4;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.asset-button .asset-icon{font-size:23px;line-height:24px;color:#9c90b0;margin-bottom:3px}.asset-button small{font-size:7px;letter-spacing:.7px;color:#aaa1b7}.scene-head{margin-top:25px}.object-row{width:100%;text-align:left;border:0;border-radius:6px;display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;padding:10px 8px}.object-row small{margin-left:auto;font-size:7px;color:#aea5b8}.object-row.selected{background:#f1edff;color:#6e56cf}.object-row .dot{height:9px;width:9px;flex:none;border-radius:50%}#object-list{max-height:230px;overflow:auto}.object-actions{display:flex;gap:6px;margin-top:10px}.object-actions button{flex:1}.bottom-note{border-top:1px solid #efecf3;margin:20px 0 0;padding-top:14px}.pv-center{min-width:0}.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.segmented{display:flex;background:#eeebf4;padding:3px;border-radius:7px}.segmented button{border:0;background:none;font-size:10px;padding:7px 10px}.segmented button.active{background:white;color:#6652c4;box-shadow:0 1px 4px #34264d0c}.view-tools{display:flex;align-items:center;gap:5px}.view-tools button{padding:6px 8px}.view-tools label{font-size:10px;color:#90869e;display:flex;align-items:center;gap:3px}#viewport{position:relative;background:#e9e5e1;border:1px solid #e2ddea;border-radius:12px;overflow:hidden;min-height:320px;height:clamp(360px,48vw,520px)}#stage-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#stage-canvas:active{cursor:grabbing}.viewport-label{position:absolute;top:17px;left:17px;right:17px;display:flex;justify-content:space-between;pointer-events:none;color:#817889;font-size:8px;letter-spacing:1.6px}.viewport-bottom{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#ece8e5e8);padding:22px 14px 12px;pointer-events:none;font-size:9px;color:#8c8294;text-align:center;line-height:1.5}#camera-inset{position:absolute;right:14px;bottom:48px;width:162px;border:3px solid #fff;border-radius:6px;box-shadow:0 4px 16px #33294519;overflow:hidden;background:#fff}#inset-canvas{width:100%;display:block}#camera-inset span{font-size:7px;color:#a098ae;letter-spacing:1.5px;display:block;padding:5px 7px}#record-badge{position:absolute;left:16px;top:40px;color:#bc596f;background:#fff9;padding:7px;border-radius:5px;font-size:10px}.shot-bar{display:flex;align-items:center;gap:7px;padding:17px 0}.shot-bar>div{flex:1}.shot-bar p{font-size:11px;color:#80748d;margin-top:4px}.shot-bar button{font-size:9px}.shot-bar button.recording{color:#c24865;background:#fff0f3;border-color:#e9b4c0}.timeline{border:1px solid #e5e0ec;background:#fff;border-radius:10px;padding:14px 17px}.timeline-top,.play-controls,.timeline-options{display:flex;align-items:center;gap:8px}.timeline-top{justify-content:space-between;margin-bottom:17px}.play-controls button{width:31px;height:29px;padding:0}.play-controls output{font-size:11px;font-variant-numeric:tabular-nums;color:#8b8197;margin-left:5px}.timeline-options{font-size:9px;color:#9d92a8}.timeline-options label{display:flex;align-items:center;gap:4px}#duration{width:42px;padding:5px;font-size:10px}#scrub{width:100%;height:6px;margin:0;display:block}#ruler{display:flex;justify-content:space-between;font-size:8px;color:#b0a6bb;margin:8px 0 14px}#key-track{position:relative;height:28px;border-top:1px solid #eee9f4;border-bottom:1px solid #eee9f4;background:#fcfbfe}.key-dot{position:absolute;top:4px;transform:translateX(-50%);padding:0;border:0;background:none;color:#9d8cd5;font-size:14px;width:20px;height:20px}.key-dot.current{color:#6c4bea}.playhead{position:absolute;height:28px;top:0;width:1px;background:#ad99dc;pointer-events:none}.key-actions{display:flex;align-items:center;gap:5px;margin-top:13px}.key-actions span{margin-right:auto;font-size:10px;color:#8d809d;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-actions button{font-size:9px;padding:6px}.timeline>.hint{margin:10px 0 0}.field{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#91859f;margin:13px 0}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.triple .field{margin:7px 0}.triple input{padding:7px 5px;font-size:11px}.inspector-subtitle{font-size:9px;color:#a194af;letter-spacing:.6px;margin:18px 0 6px}.inspector-subtitle:first-child{margin-top:0}.color-row{display:flex;gap:15px;align-items:center;justify-content:space-between}.color-row label{display:flex;align-items:center;gap:8px;font-size:10px;color:#968aa3}.full{width:100%;margin:6px 0}.scene-settings{margin-top:24px;padding-top:20px;border-top:1px solid #eee9f4}.inspector .hint{font-size:9px}.status-note{padding:8px 10px;background:#f6f3fc;border-radius:6px;font-size:10px;line-height:1.7;color:#9b8bad}dialog{width:min(520px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #e4deed;border-radius:15px;padding:26px;color:#45394f;box-shadow:0 20px 80px #31204225}dialog::backdrop{background:#2e223a50;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-heading h2{font-size:21px;letter-spacing:-.6px;margin:9px 0}.close{border:0;font-size:24px;line-height:1;padding:0;background:none}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog-actions .primary{padding:11px 22px}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}#export-status{font-size:11px;color:#7a65b0;line-height:1.8}#export-dialog>label{font-size:11px}progress{width:100%;accent-color:#7b6cff}.guide-list{padding-left:20px;font-size:12px;line-height:1.8}.guide-list li{margin:18px 0;padding-left:5px}.guide-list li::marker{color:#8f78c9}.guide-list p{font-size:11px;color:#9a8ea7;margin-top:4px}#new-dialog p{font-size:12px;line-height:1.8;margin-top:14px;color:#95889f}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#32273f;color:white;padding:12px 20px;border-radius:9px;box-shadow:0 5px 20px #0002;font-size:12px;max-width:90vw;z-index:150;line-height:1.7}[hidden]{display:none!important}@media(min-width:1550px){body.previz-page main.pv-layout{grid-template-columns:230px minmax(400px,1fr) 270px;gap:22px}#viewport{height:580px}}@media(max-width:1100px){body.previz-page main.pv-layout{grid-template-columns:170px minmax(300px,1fr) 206px;padding:16px 14px;gap:12px}.pv-top{padding:18px}.pv-brand h1{font-size:21px}.pv-actions>span{display:none}.shot-bar{flex-wrap:wrap}.shot-bar>div{flex-basis:100%}.timeline-options>span{display:none}.timeline{padding:12px}.view-tools label{display:none}.pv-panel{padding:14px 10px}}@media(max-width:800px){body.previz-page main.pv-layout{grid-template-columns:1fr;gap:14px}.pv-top{flex-wrap:wrap}.pv-actions{width:100%;justify-content:flex-end}.pv-actions button{font-size:10px}.assets{order:2}.pv-center{order:1}.inspector{order:3}.assets #asset-grid{grid-template-columns:repeat(4,1fr)}#viewport{height:420px}.inspector #inspector{max-width:500px}.scene-head{margin-top:15px}.bottom-note{display:none}#camera-inset{width:130px}.view-tools button{padding:6px}.pv-actions .primary{padding:10px 12px}}

/* Match the shared Lab breadcrumb toolbar. */
.frame-tool-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.frame-tool-toolbar .pv-actions,.frame-tool-toolbar .top-actions{margin-left:auto;display:flex;align-items:center;gap:7px}
.frame-tool-toolbar .pv-actions .primary,.frame-tool-toolbar .top-actions .primary{background:#7b6cff;color:#fff;border-color:#7b6cff;padding:6px 12px}
@media(max-width:800px){.lab-toolbar.frame-tool-toolbar{height:auto;min-height:48px;padding:10px 16px;flex-wrap:wrap;gap:10px}.frame-tool-toolbar .pv-actions,.frame-tool-toolbar .top-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:3px}.frame-tool-toolbar button{white-space:nowrap;flex:none}}

.key-actions{flex-wrap:wrap}.key-actions #track-name{min-width:80px}.key-actions #clear-keys{color:#9a647e}#clear-summary{font-size:12px;line-height:1.8;margin-top:15px}

.viewport-bottom{font-size:11px;line-height:1.8;color:#62566e;background:linear-gradient(transparent,#f2eef0f5);padding:22px 16px 10px}#camera-inset{bottom:86px}#key-track{height:auto;border:0;background:none}.track-heading{font-size:10px;font-weight:600;color:#82709a;margin:16px 0 6px}.camera-heading{color:#4e8384;border-top:1px solid #e6e4ec;padding-top:12px}#object-tracks{max-height:190px;overflow-y:auto;padding:0 10px}.track-row{border-radius:5px;margin-bottom:8px;padding:4px 0}.track-row.active{background:#f5f1ff}.track-label{display:flex;align-items:center;gap:8px;background:none;border:0;width:100%;padding:3px 6px;color:#837294;font-size:10px;text-align:left}.track-label small{font-size:9px;color:#a39aaf}.key-lane{position:relative;height:28px;border-top:1px solid #eee9f4;border-bottom:1px solid #eee9f4}.camera-row .key-dot{color:#5b9e9f}.camera-row.active{background:#edf7f6}.camera-row .key-dot.current{color:#23787b}.camera-row .playhead{background:#72a7a7}#camera-track{padding:0 10px}#scrub,#ruler{width:calc(100% - 20px);margin-left:10px;margin-right:10px}@media(max-width:800px){.viewport-bottom{font-size:10px}#camera-inset{bottom:100px}}
