:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:#172642;background:#f4f7fc;--border:#dce5f2;--blue:#2e78e5;--ink:#192947;--muted:#71819a;--shade:#f5f8fd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}.viewport:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.9px;line-height:1.13;margin:10px 0 12px}h2{font-size:17px;letter-spacing:-.3px}h3{font-size:14px}p{line-height:1.55}.shell{height:100dvh;min-height:540px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:66px;flex:0 0 auto;display:flex;align-items:center;padding:0 19px;gap:17px;border-bottom:1px solid var(--border);background:#fff;z-index:5}.brand{display:flex;align-items:center;gap:8px;font-weight:750;letter-spacing:-.6px;font-size:17px;white-space:nowrap}.brandmark{width:29px;height:29px;border-radius:9px;background:linear-gradient(140deg,#92c5ff,#347de6);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:850;box-shadow:0 4px 12px #377dcd30}.top-sep{height:24px;width:1px;background:var(--border)}.product{font-weight:690;white-space:nowrap;font-size:14px}.product em{color:var(--blue);font-style:normal}.save-status{margin-left:auto;color:#6c809b;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-actions,.footer-group,.left-tools,.right-tools,.row-actions,.top-actions{display:flex;align-items:center;gap:7px}.btn{border:1px solid transparent;border-radius:11px;padding:10px 14px;white-space:nowrap;font-size:12px;font-weight:680;transition:background .15s,transform .15s}.btn:hover:not(:disabled){filter:brightness(.97)}.btn:active:not(:disabled){transform:translateY(1px)}.primary{background:linear-gradient(120deg,#408cf3,#2469d6);color:#fff;box-shadow:0 5px 12px #2979dd24}.secondary{background:#ecf4ff;color:#2868bb;border-color:#d4e3f8}.subtle{background:#fff;color:#3e587b;border-color:var(--border)}.quiet{background:0 0;color:#507199}.full{width:100%;margin:4px 0}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) 288px;overflow:hidden}.panel{background:#fff;overflow:hidden}.side{border-right:1px solid var(--border);display:flex;flex-direction:column}.details{border-left:1px solid var(--border)}.details-scroll,.side-scroll{overflow:auto;height:100%;padding:20px 18px}.side-scroll{padding-bottom:70px}.intro{margin-bottom:27px}.intro p{color:var(--muted);font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#5489cc;font-weight:800}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 12px}.section-head h2,.section-head h3{margin:0}.chip{font-size:10px;font-weight:720;color:#4d79ac;background:#edf5ff;padding:6px 9px;border-radius:8px}.scene-list{display:grid;gap:7px;margin-bottom:10px}.scene-item{width:100%;display:flex;align-items:center;text-align:left;gap:11px;padding:8px;background:#f9fbff;border:1px solid #e5ecf7;border-radius:13px}.scene-item.active{border-color:#7fb4fa;background:#edf5ff;box-shadow:0 0 0 2px #3f93eb12}.scene-thumb{width:56px;height:43px;object-fit:cover;border-radius:8px;background:#dce9f6;flex:0 0 auto}.scene-caption{min-width:0}.scene-caption strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.scene-caption small{display:block;color:#8092ac;font-size:10px;margin-top:5px}.side-hint{font-size:11px;color:#7c8da4;margin:8px 2px 24px}.hotspot-list{display:grid;gap:6px}.hotspot-item{border:1px solid #e5ecf7;background:#fff;border-radius:9px;padding:8px 10px;font-size:11px;display:flex;text-align:left;align-items:center;gap:8px;color:#4f6585}.hotspot-item.active{background:#edf5ff;border-color:#91c0fb}.hotspot-item strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotspot-item small{color:#8698af}.empty-inline{background:var(--shade);padding:15px;border-radius:10px;color:#7e8ba0;font-size:12px}.aside-foot{padding:13px 17px;background:#f7faff;border-top:1px solid var(--border);font-size:10px;color:#697e9b;line-height:1.6}.viewer-area{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f2f6fd}.viewer-toolbar{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 17px;background:#fbfdff;border-bottom:1px solid var(--border)}.scene-subtitle{font-size:11px;color:#7b8aa1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.icon-btn{width:32px;height:32px;border:1px solid #e0e8f3;background:#fff;color:#4c6b93;border-radius:10px;font-size:19px;display:inline-grid;place-items:center;line-height:1}.fov-label{font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;color:#6d809b;min-width:34px;text-align:center}.viewport{position:relative;flex:1;min-height:150px;overflow:hidden;background:radial-gradient(ellipse at 55% 28%,#e7f0fc,#e4ecf9 56%,#dce6f5);touch-action:none;cursor:grab;isolation:isolate}.viewport.dragging{cursor:grabbing}.viewport.placing{cursor:crosshair}.viewport:fullscreen{background:#0c1727}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport canvas[hidden]{display:none}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 18px;gap:13px}.empty-state[hidden]{display:none}.empty-state h2{font-size:28px;line-height:1.1;letter-spacing:-.9px;margin:0}.empty-state p{font-size:12px;color:#71819a;max-width:300px;margin:0}.empty-state small{font-size:10px;color:#8999af}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.orb{width:126px;height:126px;background:linear-gradient(150deg,#c2e3ff,#6399e3 66%,#2a65b7);border-radius:50%;position:relative;overflow:hidden;box-shadow:0 20px 45px #4881cc30,inset -10px -6px 26px #1c4f9130;display:grid;place-items:center;margin-bottom:4px;color:#fff;font-size:30px;font-weight:800}.orb-ring{position:absolute;inset:15px;border:2px solid #ffffff77;border-radius:50%;transform:rotate(-18deg) scaleX(.46)}.orb-land{position:absolute;bottom:-24px;width:130px;height:75px;left:5px;border-radius:48% 60% 0 0;background:linear-gradient(120deg,#66d6bb,#178ca4);transform:rotate(-9deg);opacity:.85}.orb span{position:relative;text-shadow:0 2px 11px #175b9b70}.hotspot-overlay{position:absolute;inset:0;pointer-events:none}.hotspot-overlay:empty{display:none}.hotspot-pin{position:absolute;z-index:2;pointer-events:auto;transform:translate(-50%,-50%);border:none;background:#fff;color:#215a9f;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:16px;box-shadow:0 4px 14px #102c4a70;border:2px solid #fff}.hotspot-pin span{display:none}.hotspot-pin::after{content:attr(data-title);position:absolute;left:50%;top:42px;transform:translateX(-50%);background:#11273cda;color:#fff;padding:6px 9px;border-radius:7px;white-space:nowrap;font-size:10px;pointer-events:none;max-width:170px;text-overflow:ellipsis;overflow:hidden;opacity:0;transition:opacity .15s}.hotspot-pin.selected::after,.hotspot-pin:focus-visible::after,.hotspot-pin:hover::after{opacity:1}.hotspot-pin.selected{box-shadow:0 0 0 4px #4d98ff99,0 4px 14px #102c4a70}.hotspot-pin.scene{background:#dff5ff;color:#166bba}.hotspot-pin.link{background:#e9e8ff;color:#5148ae}.add-mode-msg{position:absolute;z-index:4;top:14px;left:50%;transform:translateX(-50%);background:#143453ed;color:#fff;padding:10px 13px;border-radius:10px;font-size:12px;pointer-events:auto;display:flex;gap:10px;align-items:center;white-space:nowrap}.add-mode-msg[hidden]{display:none}.add-mode-msg button{background:0 0;color:#d1edff;border:0;text-decoration:underline}.drop-overlay{position:absolute;inset:12px;background:#eaf4fff2;z-index:8;display:grid;place-items:center;font-size:20px;font-weight:750;color:#2b72ce;border:3px dashed #83b6f3;border-radius:16px}.drop-overlay[hidden]{display:none}.viewer-notice{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);background:#122943e6;color:#fff;padding:9px 12px;border-radius:8px;font-size:11px;z-index:4;text-align:center;max-width:90%}.viewer-notice[hidden]{display:none}.scene-tag{position:absolute;bottom:20px;left:20px;background:#142d46d9;color:#fff;padding:9px 12px;border-radius:10px;font-size:11px;pointer-events:none;display:flex;gap:8px;align-items:center}.scene-tag[hidden]{display:none}.tiny-dot{width:7px;height:7px;background:#73cbfa;border-radius:50%}.viewer-footer{min-height:52px;border-top:1px solid #dce6f3;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:9px 15px;gap:8px}.footer-group{font-size:10px;color:#7b8aa2;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.footer-dot{color:#c3cedc}.footer-actions{flex-wrap:wrap;justify-content:flex-end}.switch{display:flex;align-items:center;gap:5px;color:#627795;font-size:10px;white-space:nowrap}.switch input{accent-color:#2f83e9}.text-btn{border:0;background:0 0;color:#347acb;font-size:11px;font-weight:690;padding:6px;white-space:nowrap}.text-btn:hover:not(:disabled){text-decoration:underline}.details-scroll{padding:21px 18px;overflow:auto;height:100%}.details-scroll>h2{font-size:19px;letter-spacing:-.5px;margin:12px 0 8px}.muted{color:#8593a8;font-size:12px}.detail-card{border:1px solid var(--border);border-radius:14px;background:#fff;padding:14px;margin:14px 0;box-shadow:0 4px 16px #1b5da008}.detail-card h3{margin:0 0 8px}.detail-card p{font-size:11px}.form-label{display:block;font-size:11px;font-weight:720;color:#61728b;margin-bottom:13px}.form-label input,.form-label select{display:block;width:100%;margin-top:7px;border-radius:9px;background:#f9fbff;border:1px solid #dce5f1;padding:10px 9px;color:#263e5f;min-width:0;font-size:12px}.meta{display:grid;gap:9px;margin:16px 0 8px}.meta div{display:flex;justify-content:space-between;align-items:center;gap:10px}.meta dt{color:#8697ab;font-size:11px}.meta dd{margin:0;font-weight:700;color:#50698c;font-size:11px;overflow-wrap:anywhere;text-align:right}.position-readout{display:flex;align-items:center;justify-content:space-between;color:#8191a5;font-size:10px;gap:5px}.row-actions{flex-wrap:wrap;margin-top:12px}.danger{color:#bb4b60!important}.note{background:#f5f9ff;border-color:#e1ecfb}.mobile-dock{display:none}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:20;background:#153354;color:#fff;padding:11px 16px;border-radius:12px;font-size:12px;box-shadow:0 8px 25px #192f5260;max-width:90%;text-align:center}.toast[hidden]{display:none}.dialog{border:1px solid var(--border);border-radius:20px;width:min(560px,calc(100vw - 26px));max-height:82vh;overflow:auto;box-shadow:0 16px 70px #17304c40;padding:24px}.dialog::backdrop{background:#14284288}.dialog-title{display:flex;align-items:center;justify-content:space-between}.dialog p{font-size:12px;color:#5d7393}.dialog h2{font-size:19px}.dialog code{background:#ecf4ff;padding:2px 4px;border-radius:4px}@media (max-width:1100px){.workspace{grid-template-columns:245px minmax(0,1fr) 255px}.topbar{gap:11px;padding:0 12px}.details-scroll,.side-scroll{padding:18px 13px}.scene-subtitle{max-width:130px}}@media (max-width:900px){.workspace{grid-template-columns:235px minmax(0,1fr)}.details{position:absolute;right:0;top:66px;bottom:0;width:min(320px,90vw);z-index:8;box-shadow:-8px 0 30px #18355626;display:none}.shell.show-details .details{display:block}.product{font-size:12px}.save-status{display:none}}@media (max-width:680px){.shell{height:100dvh;min-height:390px}.topbar{height:57px;gap:7px}.brand{font-size:14px}.brandmark{height:25px;width:25px;font-size:17px}.top-sep{display:none}.product{font-size:11px}.desktop-only{display:none}.top-actions{margin-left:auto}.top-actions .btn{padding:8px 9px;font-size:10px}.workspace{display:block;position:relative;min-height:0;flex:1}.details,.side{position:absolute;top:0;bottom:0;left:0;right:0;width:auto;box-shadow:none;border:0;display:none;z-index:4}.side{background:#fff}.details{top:0;width:100%}.viewer-area{position:absolute;inset:0}.shell.show-details .details,.shell.show-scenes .side{display:flex}.details-scroll{width:100%;padding:20px;max-width:700px;margin:auto}.viewer-toolbar{padding:8px 8px;min-height:52px;gap:3px}.right-tools{gap:4px}.left-tools .eyebrow{display:none}.scene-subtitle{font-size:11px;max-width:100px}.icon-btn{width:29px;height:29px;border-radius:8px}.fov-label{min-width:30px}.viewer-footer{min-height:60px;flex-wrap:wrap;padding:7px 9px;gap:4px}.footer-group{font-size:9px}.footer-actions{gap:6px}.footer-actions .text-btn{font-size:10px;padding:4px}.mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);height:57px;padding:7px 8px calc(7px + env(safe-area-inset-bottom)/ 2);background:#fff;border-top:1px solid var(--border);gap:7px}.mobile-dock button{border:0;border-radius:11px;background:#f1f6ff;color:#617897;font-weight:750;font-size:11px}.mobile-dock button.active{background:#e1efff;color:#256cc5}.aside-foot{display:none}.side-scroll{padding-bottom:20px}.viewport{min-height:140px}.empty-state h2{font-size:24px}.empty-state{gap:10px}.orb{width:95px;height:95px;font-size:23px}.details-scroll>h2{margin-top:6px}}@media (max-width:360px){.product{max-width:90px;overflow:hidden;text-overflow:ellipsis}.top-actions .btn{padding:8px 7px;font-size:9px}.right-tools{gap:2px}.icon-btn{width:26px;height:27px}.footer-group{max-width:48%}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}[hidden]{display:none!important}.preview-exit{position:absolute;right:16px;top:16px;z-index:9}.hotspot-pin{touch-action:none;cursor:grab;user-select:none}.hotspot-pin:active{cursor:grabbing}.shell.presentation .details,.shell.presentation .mobile-dock,.shell.presentation .side,.shell.presentation .topbar,.shell.presentation .viewer-toolbar{display:none!important}.shell.presentation .workspace{display:block;flex:1;position:relative;min-height:0}.shell.presentation .viewer-area{position:absolute;inset:0}.shell.presentation .viewer-footer{background:#fff}.shell.presentation .viewport{min-height:180px}@media(max-width:680px){#previewTour{display:none}.preview-exit{top:12px;right:12px}#nextScene,#prevScene{font-size:10px}}.details #previewMobile{display:none}.footer-actions #nextScene,.footer-actions #prevScene{display:none}.shell.presentation .footer-actions #nextScene,.shell.presentation .footer-actions #prevScene{display:inline-flex}@media(max-width:680px){.details #previewMobile{display:block}}