:root{--bg: #0b0c0f;--panel: #151821;--ink: #e6e7ea;--muted: #99a1b3;--accent: #4aa3ff;--danger: #ff5d5d;--gap: 12px;--pad: 16px;--left-min: 360px;--square: 160px;--square-min: 90px;--square-max: 480px;--tile-header: 32px;--right-w: calc(2 * var(--square) + var(--gap) + 2 * var(--pad));--grid-h: calc(2 * (var(--square) + var(--tile-header)) + var(--gap))}:root{--header-h: 0px;--footer-h: 0px;--center-gap: 0px;--card-gap-v: 14px;--vqa-h: 150px}*{box-sizing:border-box}html,body{height:100%;overscroll-behavior:none;min-height:100dvh}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:var(--bg);color:var(--ink);overflow:hidden;position:fixed;width:100%;top:0;left:0}body.no-scroll{overflow:hidden!important}.hidden{display:none!important}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-8px)}60%{opacity:.75;transform:translateY(0)}to{opacity:.75;transform:translateY(0)}}@keyframes cardIntroUp{0%{opacity:0;transform:translateY(80px) scale(.94);filter:blur(12px)}55%{opacity:1;transform:translateY(0) scale(1.008);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes headerPulse{0%{box-shadow:0 0 #5a96ff8c}70%{box-shadow:0 0 0 6px #5a96ff00}to{box-shadow:0 0 #5a96ff00}}@keyframes vqaIntro{0%{opacity:0;transform:translateY(48px) scale(.9)}55%{opacity:1;transform:translateY(0) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vqaDockIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes connSlideIn{0%{opacity:0;transform:translateY(-10px)}55%{opacity:1;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-header{position:sticky;top:0;z-index:40;background:#0a0d13d1;backdrop-filter:blur(10px);border-bottom:1px solid #1f2531}.app-header-inner{max-width:1600px;margin:0 auto;padding:6px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.app-header .brand-slot{display:flex;align-items:center;gap:12px;flex-shrink:0}.app-header .brand-slot .header-start{margin-left:12px;white-space:nowrap;flex-shrink:0;min-width:100px}@media(max-width:1100px){.app-header .brand-slot .header-start{display:none}}.app-header .title-slot{display:flex;align-items:center;justify-content:center;text-align:center}.app-title{margin:0;font-size:18px;letter-spacing:.2px;color:#e6ecff;font-weight:600}.app-title strong{color:#8db3ff}.app-title .accent-letter{color:#5aa9ff;font-weight:700}.app-header .hud-slot{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:10px}@media(max-width:700px){.app-header-inner{flex-wrap:wrap;padding:6px 12px 4px;gap:12px}.app-header .hud-slot{width:100%}}.wrap{max-width:1600px;margin:40px auto 0;padding:16px;min-height:calc(100vh - 40px);box-sizing:border-box}.wrap.main-region{margin:0 auto;padding:0 16px;max-width:1600px;box-sizing:border-box;position:relative}body.card-centered .wrap.main-region .card{margin-top:var(--center-gap);margin-bottom:var(--center-gap)}body.layout-compact .wrap.main-region .card{margin:0!important;border-radius:0}body.layout-compact .wrap.main-region{padding:0 4px}.wrap.main-region .grid{width:100%;display:grid}.wrap.main-region .card{display:flex;flex-direction:column}.wrap.main-region .card>*:last-child{flex:1 1 auto;min-height:0;overflow:hidden}@media(max-width:900px){.wrap.main-region{padding:0 8px}}@media(max-width:600px){.wrap.main-region{padding:0 4px}}.grid{display:grid;grid-template-columns:1fr;gap:14px}@media(max-width:1100px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid #222636;border-radius:14px;box-shadow:0 6px 18px #00000040;overflow:hidden}.card h2{font-size:15px;margin:0;padding:12px 14px;border-bottom:1px solid #222636;background:#10131a;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.card h2 .header-controls{display:inline-flex;align-items:center;gap:6px;justify-self:start}.card h2 .title{justify-self:center;font-weight:600}.card h2 .title strong{font-size:clamp(18px,2.2vw,26px);font-weight:700;letter-spacing:.9px;background:linear-gradient(92deg,#4aa3ff,#6bc9ff 45%,#9fe8ff 85%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;line-height:1.05;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55)) drop-shadow(0 2px 6px rgba(0,120,255,.25));text-shadow:0 0 0 rgba(0,0,0,.4);white-space:nowrap}@media(max-width:640px){.card h2 .title strong{letter-spacing:.5px}}.card h2 .hright{justify-self:end;display:inline-flex;align-items:center;gap:8px}.card h2 .hleft{display:inline-flex;align-items:center;gap:6px}.card .body{padding:12px 14px}.wrap.main-region .card>.body{padding-bottom:12px}.card .body.no-header{padding-top:18px}body:not(.ready-cinematic) .card{opacity:0;transform:translateY(40px) scale(.97)}body.ready-cinematic .card{animation:cardIntroUp .7s cubic-bezier(.55,.1,.25,1.05) 1s both}@media(prefers-reduced-motion:reduce){.card{animation:none!important;transition:none!important}}@media(max-width:900px){.card{margin-top:8px}.card h2 .title{font-size:18px}.card h2 .title[data-short-title=true] strong{font-size:22px}body.small-title .card h2 .title{white-space:nowrap}}@media(max-width:740px){.card h2 .title[data-short-title=true] strong{font-size:20px}}@media(max-width:600px){.card{border-radius:0;margin-top:0!important}}.content-grid{display:flex;align-items:stretch;gap:8px}.wrap.main-region .card{margin-top:var(--card-gap-v);height:calc(100vh - var(--header-h) - var(--footer-h) - 8px - var(--card-gap-v));height:calc(100dvh - var(--header-h) - var(--footer-h) - 8px - var(--card-gap-v));max-height:calc(100vh - var(--header-h) - var(--footer-h) - 8px - var(--card-gap-v));max-height:calc(100dvh - var(--header-h) - var(--footer-h) - 8px - var(--card-gap-v))}.wrap.main-region .card>.body{overflow:hidden}.wrap.main-region .card>.body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.card .body{display:flex;flex-direction:column;min-height:0}.card .body>.content-grid{flex:1 1 auto;min-height:0;height:100%}.content-grid>.left-col{flex:1 1 var(--left-min);min-width:var(--left-min);min-height:0;display:flex;flex-direction:column}@media(max-width:1100px){.content-grid{flex-direction:column}#rightCol{width:100%;min-width:0;grid-template-rows:auto auto}:root{--left-min: 240px}}.right-col{display:flex;flex-direction:column;min-height:100%;width:100%}#rightCol{width:var(--right-w);min-width:var(--right-w);padding:0 var(--pad) 0;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--gap);align-items:stretch;max-height:100%;overflow:hidden}#modWrap{flex:1 1 auto;min-height:0;position:relative}.mobile-stop-btn{padding:6px 14px;font-size:13px;font-weight:600;border-radius:6px;white-space:nowrap;display:none;margin-left:auto;background:var(--danger);border:1px solid #d94a4a;color:#fff;cursor:pointer;transition:filter .15s ease}.mobile-stop-btn:hover{filter:brightness(1.1)}.mobile-stop-btn:active{filter:brightness(.95)}@media(min-width:1101px){.mobile-stop-btn{display:none!important}}.right-col .modality-grid{--mod-cell: 200px;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:row;gap:0;align-items:start;grid-auto-rows:auto;width:100%;border-radius:8px;overflow:hidden}.right-col .modality-grid .imgwrap{border:1px solid #222636}.right-col .modality-grid .imgwrap{background:#151821}.right-col .modality-grid .imgwrap .square-slot{background:#0d1016}.right-col .modality-grid .imgwrap:nth-child(odd){border-right:none}.right-col .modality-grid .imgwrap:nth-child(n+3){border-top:none}.right-col .modality-grid .imgwrap header{border-bottom:1px solid #222636;white-space:nowrap;margin:0;padding:4px 6px;position:relative;z-index:2}.right-col .modality-grid .imgwrap{position:relative;display:flex;flex-direction:column;margin:0;padding:0}.right-col .modality-grid .imgwrap .square-slot{position:relative;width:100%;flex:1 1 auto;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.right-col .modality-grid .imgwrap .square-slot>img,.right-col .modality-grid .imgwrap .square-slot>video,.right-col .modality-grid .imgwrap .square-slot>canvas{width:100%;height:100%;object-fit:contain;object-position:center}.right-col .modality-grid .imgwrap.modality-off .square-slot{filter:saturate(0) brightness(.45);transition:filter .3s ease}.right-col .modality-grid .imgwrap:not(.modality-off) .square-slot{filter:none;transition:filter .3s ease}.right-col .vqa-section{flex:0 0 var(--vqa-h);max-height:var(--vqa-h);margin-top:0!important;display:flex;flex-direction:column;overflow:hidden;padding-top:4px;padding-bottom:0;border-top:1px solid #222636}.right-col .vqa-section .vqa-row{flex:1 1 auto;display:flex;min-height:0}.right-col .vqa-section .vqa-input textarea{background:#0e1219;border:1px solid #222636;border-radius:8px;padding:10px 12px;font:13px/1.35 system-ui,sans-serif;color:var(--ink);resize:none;box-shadow:0 1px #0006 inset}.right-col .vqa-section .vqa-input textarea:focus{outline:none;border-color:#365a80;box-shadow:0 0 0 1px #365a80}.right-col .vqa-section .vqa-actions{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.right-col .vqa-section .vqa-actions button{flex:0 0 auto}.right-col .vqa-section .vqa-actions button.primary{min-height:44px}.right-col .vqa-section .vqa-actions button.primary.loading{opacity:.5;background-color:#495672;cursor:not-allowed;pointer-events:none}.right-col .vqa-section .vqa-actions button.secondary{min-height:28px}.right-col .vqa-section .row{margin-bottom:0!important}.right-col .vqa-section textarea{margin:0}.vqa-entry{margin:0 0 8px}.vqa-q{color:var(--muted)}.vqa-a{color:var(--ink);white-space:pre-wrap}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card .body>.row:first-of-type{margin-bottom:12px}.app-footer{position:fixed;left:0;right:0;bottom:0;padding:0;background:#080a0fd1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.05);font-family:ui-sans-serif,system-ui;z-index:9999}.app-footer-inner{max-width:1600px;margin:0 auto;padding:6px 16px 8px;display:flex;align-items:flex-start;gap:40px}.app-footer-inner .copy{font-size:19px;font-weight:600;letter-spacing:.2px;opacity:.88;white-space:nowrap}.app-footer-inner .legal{font-size:11px;color:#8a93a3;line-height:1.45;font-weight:400}.app-footer .legal a{color:#4aa3ff;text-decoration:none}.app-footer .legal a:hover{text-decoration:underline}@media(max-width:780px){.app-footer .legal{display:none}}@media(max-height:500px){.app-footer .legal{display:none}}.hero-logo{width:160px;height:auto;object-fit:contain;opacity:0;filter:brightness(1.08) contrast(1.05) drop-shadow(0 2px 6px rgba(0,0,0,.55));animation:logoFadeIn .9s ease forwards .15s;pointer-events:none}@media(max-width:900px){.hero-logo{width:140px;top:6px;left:10px}}@media(max-width:740px){.hero-logo{width:120px;opacity:.7}}@media(max-width:600px){.hero-logo{width:110px}}@media(prefers-reduced-motion:reduce){.hero-logo{animation:none!important;opacity:.3}}.preview3d{width:100%;background:#0a0e16;border:1px solid #2a3145;border-radius:12px;position:relative}.imgwrap{border:1px solid #2a3145;border-radius:10px;overflow:hidden;background:#0e1219;position:relative}.imgbox{display:grid;gap:8px}.imgbox-2col{grid-template-columns:repeat(2,1fr)}@media(max-width:1199px){.imgbox-2col{grid-template-columns:1fr!important}}.imgbox-2col.tab-mode{display:block}.imgbox-2col.tab-mode .imgwrap{width:100%}.mod-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mod-tabs .mod-tab{background:#1d2330;border:1px solid #2a3145;color:var(--ink);padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer;line-height:1.1}.mod-tabs .mod-tab.active{background:#2e3647;border-color:#3a4a62}.mod-panels-stage{display:block}.mod-panels-stage .imgwrap{margin-bottom:10px;width:100%}.mod-panels-stage .imgwrap .square-slot{position:relative;aspect-ratio:auto!important;min-height:clamp(200px,50vh,600px);max-height:70vh;width:100%;display:flex;align-items:center;justify-content:center}.mod-panels-stage .imgwrap .square-slot>img,.mod-panels-stage .imgwrap .square-slot>video,.mod-panels-stage .imgwrap .square-slot>canvas{width:100%;height:100%;object-fit:contain}#objdetView.objdet-view{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:4;background:#0a0e16}#objdetView.objdet-view[hidden]{display:none}.mod-panels-stage .vqa-tail-dock{position:static}.left-col>.imgwrap{display:flex;flex-direction:column}.left-col>.imgwrap>.preview3d{flex:0 0 auto}.imgwrap header{font-size:12px;color:var(--muted);padding:6px 8px;border-bottom:1px solid #222636;background:#10131a;display:flex;justify-content:flex-start;gap:6px;align-items:center;flex-wrap:nowrap;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.imgwrap>header.active{background:#162130;border-color:#2a3a52;color:var(--ink)}.imgwrap>header.pulse{animation:headerPulse .55s ease-out}.imgwrap header>.fps{margin-left:auto}.imgwrap header .hdrchk{display:inline-flex;align-items:center;margin-right:6px}.imgwrap header .hdrchk .chk{width:14px;height:14px}.meshes-toggle-mobile{display:none!important}@media(max-width:1100px){.meshes-toggle-mobile{display:inline-flex!important}}.imgwrap img{width:100%;height:200px;object-fit:contain;background:#0a0e16;display:block}.imgwrap video#vidPreview{width:100%;height:100%;object-fit:cover;background:#0a0e16;display:block}#imgMainRelay,#imgAnchor{object-fit:cover}.thumb{width:120px;height:68px;object-fit:cover;border:1px solid #2a3145;border-radius:8px;background:#0e1219}.imgwrap .preview3d,.imgwrap img,.imgwrap video{display:block;max-width:100%}#pcv{aspect-ratio:1/1}.viewer-overlay{position:absolute;inset:0;z-index:6;pointer-events:none}.overlay-slider{position:absolute;display:flex;align-items:center;gap:8px;background:#10131acc;border:1px solid #2a3145;color:var(--ink);border-radius:6px;padding:4px 6px;font-size:11px;backdrop-filter:blur(2px);pointer-events:auto;z-index:7}.overlay-btngroup{position:absolute;right:8px;bottom:8px;display:flex;gap:2px;background:#10131acc;border:1px solid #2a3145;color:var(--ink);border-radius:6px;padding:4px;font-size:12px;backdrop-filter:blur(2px);pointer-events:auto;z-index:7}.overlay-btngroup[hidden]{display:none}.overlay-btngroup button{background:transparent;color:var(--ink);border:1px solid transparent;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .15s,background .15s}.overlay-btngroup button:hover{opacity:1;background:#ffffff14}.overlay-btngroup button.active{opacity:1;background:#ffffff26;border-color:#4a5568}.overlay-slider label{opacity:.85}.overlay-slider input[type=range]{width:120px}.overlay-slider .val{min-width:28px;text-align:right;opacity:.9}.overlay-slider.bl{left:8px;bottom:8px}.overlay-slider.br{right:8px;bottom:8px}.overlay-slider.tl{left:8px;top:8px}.overlay-slider.tr{right:8px;top:8px}.overlay-slider.tc{left:50%;top:8px;transform:translate(-50%)}#mast3rConfOverlay.overlay-slider{left:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:#10131ad9;border:1px solid #2a3145;border-radius:6px;backdrop-filter:blur(2px);padding:8px 6px}#panst3rOverlayOpacityOverlay.overlay-slider{right:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:#10131ad9;border:1px solid #2a3145;border-radius:6px;backdrop-filter:blur(2px);padding:8px 6px}#panst3rOverlayOpacityOverlay.overlay-slider[hidden]{display:none}.overlay-slider[hidden]{display:none!important}#objdetConfOverlay.overlay-slider{left:8px;top:50%;transform:translateY(-50%);flex-direction:column;align-items:center;gap:8px;background:#10131ad9;border:1px solid #2a3145;border-radius:6px;backdrop-filter:blur(2px);padding:8px 6px}#objdetConfOverlay .objdet-labels-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap}#multihmrMeshScaleOverlay.overlay-slider{left:unset;right:60px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;gap:8px;background:#10131ad9;border:1px solid #2a3145;border-radius:6px;backdrop-filter:blur(2px);padding:8px 6px}#multihmrMeshZOffsetOverlay.overlay-slider{left:unset;right:8px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;gap:8px;background:#10131ad9;border:1px solid #2a3145;border-radius:6px;backdrop-filter:blur(2px);padding:8px 6px}@media(max-width:1100px){#mast3rConfOverlay.overlay-slider,#multihmrMeshScaleOverlay.overlay-slider,#multihmrMeshZOffsetOverlay.overlay-slider,#panst3rOverlayOpacityOverlay.overlay-slider,#objdetConfOverlay.overlay-slider{top:50%!important;transform:translateY(-50%)!important}}#mast3rConfOverlay.overlay-slider label,#multihmrMeshScaleOverlay.overlay-slider label,#multihmrMeshZOffsetOverlay.overlay-slider label,#panst3rOverlayOpacityOverlay.overlay-slider label,#objdetConfOverlay.overlay-slider label{font-size:10px;opacity:.75;text-transform:uppercase;letter-spacing:.5px;color:var(--ink)}#mast3rConfOverlay.overlay-slider input[type=range],#multihmrMeshScaleOverlay.overlay-slider input[type=range],#multihmrMeshZOffsetOverlay.overlay-slider input[type=range],#panst3rOverlayOpacityOverlay.overlay-slider input[type=range],#objdetConfOverlay.overlay-slider input[type=range]{writing-mode:bt-lr;-webkit-appearance:slider-vertical;appearance:slider-vertical;height:160px;width:4px;background:#2a314599;border-radius:2px;outline:none}#mast3rConfOverlay.overlay-slider input[type=range]::-webkit-slider-thumb,#multihmrMeshScaleOverlay.overlay-slider input[type=range]::-webkit-slider-thumb,#multihmrMeshZOffsetOverlay.overlay-slider input[type=range]::-webkit-slider-thumb,#panst3rOverlayOpacityOverlay.overlay-slider input[type=range]::-webkit-slider-thumb,#objdetConfOverlay.overlay-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#4aa3ff;cursor:pointer;box-shadow:0 2px 4px #0000004d}#mast3rConfOverlay.overlay-slider input[type=range]::-moz-range-thumb,#multihmrMeshScaleOverlay.overlay-slider input[type=range]::-moz-range-thumb,#multihmrMeshZOffsetOverlay.overlay-slider input[type=range]::-moz-range-thumb,#panst3rOverlayOpacityOverlay.overlay-slider input[type=range]::-moz-range-thumb,#objdetConfOverlay.overlay-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:#4aa3ff;cursor:pointer;box-shadow:0 2px 4px #0000004d}#mast3rConfOverlay.overlay-slider .val,#multihmrMeshScaleOverlay.overlay-slider .val,#multihmrMeshZOffsetOverlay.overlay-slider .val,#panst3rOverlayOpacityOverlay.overlay-slider .val{font-size:11px;font-weight:600;color:var(--ink);min-width:32px;text-align:center}.tile-info{position:absolute;top:8px;left:8px;z-index:4;background:#10131acc;border:1px solid #2a3145;color:var(--ink);font-size:11px;line-height:1;padding:4px 6px;border-radius:6px;pointer-events:none;white-space:nowrap}.tile-fps{position:absolute;top:8px;right:8px;z-index:4;background:#10131acc;border:1px solid #2a3145;color:var(--ink);font-size:11px;line-height:1;padding:4px 6px;border-radius:6px;pointer-events:none;white-space:nowrap}.tile-fps.br{top:auto;right:8px;bottom:8px}.tile-actions{position:absolute;left:8px;bottom:8px;z-index:5;display:inline-flex;align-items:center;gap:6px;background:#10131acc;border:1px solid #2a3145;border-radius:8px;padding:6px 8px}.tile-actions button{padding:4px 8px;font-size:12px;line-height:1.1}.viewer-gear{position:absolute;top:8px;right:8px;z-index:6;background:#192033d9;border:1px solid #2a3145;color:var(--ink);padding:6px 10px;line-height:1;border-radius:8px;cursor:pointer;font-size:15px;transition:background .2s ease,box-shadow .2s ease}.viewer-gear:hover{background:#283246e6;box-shadow:0 4px 12px #0000004d}.viewer-gear:active{background:#1e2636e6}.app-header .viewer-gear,.card h2 .viewer-gear{position:static;padding:4px 8px;font-size:13px}.viewer-profiles{position:absolute;top:8px;right:44px;display:flex;gap:6px}.app-header .viewer-profiles,.card h2 .viewer-profiles{position:static;display:inline-flex;gap:6px}.imgwrap>header .viewer-gear{position:static;padding:4px 8px;font-size:13px}.imgwrap>header .viewer-profiles{position:static;display:inline-flex;gap:6px}.imgwrap>header .viewer-profiles[hidden]{display:none}.viewer-profiles button{padding:4px 10px;font-size:12px;transition:all .15s ease;position:relative}.viewer-profiles button:hover:not(.active){opacity:.9;filter:brightness(1.2)}.viewer-profiles button.active{outline:2px solid #5aa9ff}.viewer-profiles button[data-role=off]{padding:2px 8px;font-size:11px;opacity:.7;border-radius:999px}.viewer-profiles button[data-role=off].active{opacity:.9;outline-style:dashed}.dropdown-wrap{position:relative;display:inline-flex}.dropdown-wrap[hidden]{display:none}.dropdown-wrap .semseg-dropdown-toggle{padding:4px 10px;font-size:12px;transition:all .15s ease}.dropdown-wrap .semseg-dropdown-toggle .caret{font-size:9px;margin-left:2px;opacity:.6}.dropdown-wrap .semseg-dropdown-toggle.active{outline:2px solid #5aa9ff}.dropdown-wrap .dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:110px;background:var(--panel, #1a2030);border:1px solid #2e3647;border-radius:8px;box-shadow:0 6px 20px #00000073;padding:4px;z-index:100;display:flex;flex-direction:column;gap:2px}.dropdown-wrap .dropdown-menu[hidden]{display:none}.dropdown-wrap .dropdown-menu button{display:block;width:100%;padding:6px 12px;font-size:12px;text-align:left;background:transparent;border:none;border-radius:5px;color:inherit;cursor:pointer;transition:background .12s ease;white-space:nowrap}.dropdown-wrap .dropdown-menu button:hover{background:#ffffff14}.dropdown-wrap .dropdown-menu button.active{background:#5aa9ff26;outline:1px solid rgba(90,169,255,.4)}.imgwrap[data-tab-label=Cameras] header{display:flex;align-items:center;gap:12px}.camera-mode-profiles{margin-left:auto}.viewer-overlay .overlay-btn{background:#192033d9;border:1px solid #2a3145;color:var(--ink);padding:6px 8px;border-radius:8px}.edge-toolbar{position:fixed;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:10001;pointer-events:auto}.top-overlay{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:10002;display:flex;gap:8px}.edge-toolbar .edge-btn{background:#192033d9;border:1px solid #2a3145;color:var(--ink);padding:8px 10px;border-radius:10px;display:block;min-width:120px;text-align:left}label{font-size:13px;color:var(--muted)}input[type=text],textarea,input[type=number],select{background:#0e1219;border:1px solid #2a3145;color:var(--ink);padding:8px 10px;border-radius:8px;outline:none;width:100%}textarea{resize:vertical;min-height:40px}input[type=range]{width:100%}button{background:#192033;border:1px solid #2a3145;color:var(--ink);padding:8px 12px;border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}button:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;filter:brightness(1.15)}button:active:not(:disabled){box-shadow:0 2px 6px #0003;filter:brightness(1.05)}button.primary{background:var(--accent);border-color:#2a76ff;color:#06080f;font-weight:600}button.primary:hover:not(:disabled){background:#5aa9ff;box-shadow:0 4px 16px #4aa3ff66}button.danger{background:var(--danger);border-color:#d94a4a;color:#100303}button.danger:hover:not(:disabled){background:#ff5c5c;box-shadow:0 4px 16px #ff4a4a66;filter:brightness(1.1)}button.danger:active:not(:disabled){filter:brightness(1)}button.secondary{background:#121826}button.secondary:hover:not(:disabled){background:#1a2338;border-color:#3a4a62}button:disabled{opacity:.5;cursor:not-allowed}.status{font-size:12px;color:var(--muted)}.log{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0a0e16;border:1px solid #2a3145;padding:10px;height:160px;overflow:auto;white-space:pre-wrap}.pill{align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#0e1219;border:1px solid #2a3145;font-size:12px}.badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:6px;background:#0e1219;border:1px solid #2a3145;font-size:10px;color:var(--muted);line-height:1;white-space:nowrap}@media(max-width:700px){#buildBadge{display:none!important}}.kbd{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0a0e16;border:1px solid #2a3145;border-radius:8px;padding:3px 6px;color:var(--ink)}.diag{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0a0e16;border:1px solid #2a3145;border-radius:10px;padding:10px;white-space:pre-wrap;color:var(--ink)}.copyable{cursor:pointer}details summary{cursor:pointer}.flyout-panel{position:fixed;right:14px;top:80px;width:360px;max-width:90vw;background:var(--panel);border:1px solid #2a3145;border-radius:10px;box-shadow:0 8px 30px #00000073;padding:10px;z-index:10010;pointer-events:auto}.mast3r-panel{position:fixed;top:90px;right:18px;background:linear-gradient(145deg,#171d2af0,#222b3feb);border:1px solid #2e3647;box-shadow:0 12px 32px -8px #0000008c,0 0 0 1px #ffffff0a inset;backdrop-filter:blur(8px) saturate(1.1);padding:14px 16px 18px;width:340px;max-width:calc(100vw - 32px);border-radius:14px;overflow:visible;max-height:none;opacity:0;transform:translateY(-6px) scale(.985);transition:opacity .18s ease,transform .24s cubic-bezier(.4,.1,.2,1)}.vqa-askbar.mobile{display:flex;gap:8px;align-items:center;background:#141a24;border:1px solid #2a3145;border-radius:10px;padding:8px 10px;margin:6px 0 12px;box-shadow:0 2px 8px #00000059}.vqa-askbar.mobile .vqa-ask-input{flex:1 1 auto;background:#0e1219;border:1px solid #243041;color:var(--ink);padding:6px 8px;border-radius:8px;font-size:13px}.vqa-askbar.mobile .vqa-ask-input:focus{outline:1px solid #3a7fff;outline-offset:2px}.vqa-askbar.mobile .vqa-ask-btn{background:var(--accent);color:#06080f;border:1px solid #2a76ff;padding:6px 14px;font-size:13px;border-radius:8px;font-weight:600;cursor:pointer}.vqa-askbar.mobile .vqa-ask-btn:hover{filter:brightness(1.08)}.vqa-askbar.mobile .vqa-ask-btn:active{filter:brightness(.96)}@media(min-width:1101px){.vqa-askbar.mobile{display:none}}@media(max-width:560px){.viewer-profiles.mast3r-mode-profiles .mode-opt{padding:4px 8px;font-size:11px}}.mast3r-panel.show{opacity:1;transform:translateY(0) scale(1)}.mast3r-panel.hiding{opacity:0;transform:translateY(-4px) scale(.985)}.mast3r-panel .hdr{display:flex;align-items:center;gap:8px;margin:-4px 0 10px;font-size:12px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;opacity:.85}.mast3r-panel .hdr .dot{width:8px;height:8px;border-radius:50%;background:#36d399;box-shadow:0 0 0 2px #0006}.mast3r-panel .section{margin:0;padding:0}.mast3r-panel input[type=range]{width:160px}.mast3r-panel label,.mast3r-panel strong{font-size:13px}.mast3r-panel .pill{background:#ffffff0f;padding:4px 8px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.3px}.mast3r-panel select,.mast3r-panel input[type=range]{background:#0f141ea6;border:1px solid #293244;color:var(--ink);border-radius:6px}.mast3r-panel select:focus,.mast3r-panel input[type=range]:focus{outline:1px solid #3a7fff;outline-offset:1px}.mast3r-panel .row{position:relative}.mast3r-panel .row:not(:last-child):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:linear-gradient(90deg,#ffffff05,#ffffff14,#ffffff05)}.mast3r-panel .row:last-child:after{display:none}.mast3r-panel .flyout-close{font-size:16px;position:absolute;top:8px;right:8px;background:#1f2634;border:1px solid #2f3a4d;color:var(--ink);border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mast3r-panel .flyout-close:hover{background:#263045}.mast3r-panel .section>.row{width:100%}.mast3r-panel .section>.row>div{width:100%;display:flex;flex-direction:column;align-items:flex-end}.mast3r-panel .section>.row label{align-self:stretch;text-align:right}.mast3r-panel .section>.row input[type=range]{width:240px;max-width:100%}.start-overlay{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#0a0d1399,#0a0d13cc);backdrop-filter:blur(4px) saturate(110%)}.start-overlay.hidden{display:none!important;pointer-events:none!important}.start-overlay .big-play{all:unset;width:120px;height:120px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0e1219;border:2px solid #2a3145;cursor:pointer;box-shadow:0 8px 30px #0006;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.start-overlay .big-play .play-icon{display:block;width:64px;height:64px}.start-overlay .big-play .play-icon path{fill:#e6ecff}.start-overlay .big-play:hover{transform:scale(1.04);box-shadow:0 10px 34px #00000075;background:#121827}.start-overlay .big-play:active{transform:scale(.98)}.start-overlay .start-hint{margin-top:14px;font-size:14px;color:#aab3c5;opacity:.9}.conn-status{background:#10131ae6;border:1px solid #222636;border-radius:10px;padding:8px 11px;min-width:240px;box-shadow:0 4px 14px #00000059;color:var(--ink);backdrop-filter:blur(4px);cursor:pointer;position:relative;opacity:0;animation:connSlideIn .55s cubic-bezier(.55,.1,.25,1.05) .08s forwards}.conn-status{min-width:0;padding:6px 10px}.conn-status .conn-details{display:none!important}.conn-status .conn-toggle{display:none}.conn-status .row{justify-content:space-between;gap:8px}.conn-status .row.head{align-items:center}.conn-status .kv{font-size:12px;color:var(--muted);margin-top:2px;display:flex;justify-content:space-between;gap:8px}.conn-status .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.conn-status .head>div{display:flex;align-items:center;gap:8px}.conn-status .dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#ff5d5d;box-shadow:0 0 0 2px #0000004d inset;margin-left:6px}.conn-status.connected .dot{background:#ffcf40}.conn-status.streaming .dot{background:#36d399}.conn-status.disconnected .dot{background:#ff5d5d}.conn-status.stalled .dot{background:#ff9f40;animation:stalled-pulse 1.2s ease-in-out infinite}@keyframes stalled-pulse{0%,to{opacity:1}50%{opacity:.35}}.conn-status.connecting{border-color:#3a3f55}.conn-status .spinner{display:none;width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite;margin-right:6px;vertical-align:middle}.conn-status.connecting .spinner{display:inline-block}.conn-status .conn-details{margin-top:6px}.conn-status.min .conn-details{display:none}.conn-status .conn-toggle{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0 4px;line-height:1;font-size:14px}.conn-status.min .conn-toggle{transform:rotate(-90deg)}.conn-status.pos-bl,.conn-status.pos-br,.conn-status.pos-tr{left:auto;bottom:auto}.conn-flyout-panel{position:fixed;top:70px;right:18px;background:linear-gradient(145deg,#171d2af0,#222b3feb);border:1px solid #2e3647;box-shadow:0 12px 32px -8px #0000008c,0 0 0 1px #ffffff0a inset;backdrop-filter:blur(8px) saturate(1.1);padding:14px 16px 18px;width:340px;max-width:calc(100vw - 36px);border-radius:14px;z-index:10010;opacity:0;transform:translateY(-6px) scale(.985);transition:opacity .18s ease,transform .24s cubic-bezier(.4,.1,.2,1);pointer-events:none}.conn-flyout-panel.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.conn-flyout-panel.hiding{opacity:0;transform:translateY(-4px) scale(.985)}.conn-flyout-panel .flyout-close{position:absolute;top:12px;right:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:all .15s ease}.conn-flyout-panel .flyout-close:hover{background:#ffffff1a;border-color:#ffffff26}.conn-flyout-panel .hdr{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;opacity:.85}.conn-flyout-panel .hdr .dot{width:10px;height:10px;border-radius:50%;background:#ff5d5d;box-shadow:0 0 0 2px #0006}.conn-flyout-panel .hdr.connected .dot{background:#ffcf40}.conn-flyout-panel .hdr.streaming .dot{background:#36d399}.conn-flyout-panel .kv{font-size:12px;color:var(--muted);margin-top:8px;display:flex;justify-content:space-between;gap:8px}.conn-flyout-panel .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}#annyTrackingSection.anny-section-disabled,#annySmoothingSection.anny-section-disabled{opacity:.45;filter:saturate(.5)}.capture-hud{position:fixed;right:14px;bottom:14px;z-index:10000;background:#10131ae6;border:1px solid #222636;border-radius:10px;padding:10px 12px;min-width:240px;box-shadow:0 6px 18px #00000059;color:var(--ink);backdrop-filter:blur(4px)}.capture-hud .row{justify-content:space-between;gap:8px}.capture-hud .row.head{align-items:center}.capture-hud .dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#36d399;box-shadow:0 0 0 2px #0000004d inset;margin-right:6px}.capture-hud .conn-details{margin-top:6px}.capture-hud.min .conn-details{display:none}.debug-overlay{position:fixed;left:0;right:0;top:0;height:48vh;max-height:600px;background:var(--panel);border-bottom:1px solid #222636;box-shadow:0 10px 28px #00000073;z-index:500;display:none;flex-direction:column;overflow:hidden}.debug-overlay.open{display:flex}.dbg-hdr{padding:10px 12px;background:#10131a;border-bottom:1px solid #222636;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;flex-shrink:0}.dbg-body{padding:10px 12px;flex:1 1 auto;display:grid;grid-template-rows:auto 1fr auto;gap:8px;min-height:0;overflow:hidden}.dbg-body .log-tab-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;overflow:visible}.log-tab-bar>div{overflow:visible}.log-tab-bar button.log-tab{background:#1d2330;border:1px solid #2a3145;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;line-height:1.2;flex-shrink:0}.log-tab-bar button.log-tab.active{background:#2e3647}.log-level-group .log-level-btn{background:#1d2330;border:1px solid #2a3145;padding:4px 6px;border-radius:4px;font-size:11px;cursor:pointer;line-height:1.1}.log-level-group .log-level-btn.active{background:#44506a;border-color:#4d5c78}#debugConsoleOverlay .log{margin:0;background:#0e131c;border:1px solid #2a3145;padding:6px 8px;font-size:12px;line-height:1.25;height:auto;min-height:0;max-height:100%;overflow:auto;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.debug-overlay .actions-row{overflow-x:auto;overflow-y:hidden;flex-shrink:0}.debug-overlay .actions-row>*{flex-shrink:0}.debug-overlay{height:48vh}.left-col>.imgwrap{position:relative}.vqa-subtitle{position:absolute;left:0;right:0;top:80%;transform:translateY(-50%);background:#10131aad;border:1px solid rgba(42,49,69,.75);box-shadow:0 8px 26px -8px #00000073;padding:20px 150px 20px 22px;border-radius:0;width:100%;max-width:none;min-height:110px;display:flex;align-items:center;justify-content:center;text-align:center;gap:18px;font-size:20px;line-height:1.18;font-weight:700;letter-spacing:.3px;color:var(--ink);backdrop-filter:blur(4px) saturate(1.05);z-index:7;pointer-events:auto;overflow-wrap:break-word;word-wrap:break-word;overflow:hidden;cursor:move;user-select:none}.vqa-textwrap{display:inline}.vqa-subtitle.dragging{cursor:grabbing;transition:none}#vqaAnswerText{display:inline;white-space:normal}#vqaAnswerText .lead{display:inline;font-weight:800;font-size:1.05em;margin:0 6px 0 0}#vqaAnswerText .rest{display:inline;font-size:.95em;line-height:1.35;font-weight:400}.vqa-subtitle::-webkit-scrollbar{width:10px}.vqa-subtitle::-webkit-scrollbar-track{background:transparent}.vqa-subtitle::-webkit-scrollbar-thumb{background:#2c3a52;border-radius:6px;border:2px solid rgba(0,0,0,.15)}.vqa-subtitle::-webkit-scrollbar-thumb:hover{background:#3a4d6a}.vqa-subtitle.sticky{background:linear-gradient(140deg,#19243af0,#162032f0)}.vqa-subtitle button{background:#223049;border:1px solid #34465f;font-size:18px;line-height:1;height:40px;padding:4px 14px;border-radius:14px;cursor:pointer;color:var(--ink);transition:background .2s ease,border-color .2s ease}.vqa-copy-inline{display:inline-block;margin-left:0;margin-top:6px;font-size:12px;font-weight:600;color:#c8d6ffd9;text-decoration:underline;cursor:pointer;user-select:none}.vqa-copy-inline:hover{color:#e6ecff;text-decoration-thickness:2px}#vqaAnswerClose:hover{background:#781e1e66;border-color:#c83c3ce6;color:#ffdada}.vqa-subtitle .vqa-ctrls{position:absolute;top:50%;right:14px;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;align-items:stretch;width:auto}.vqa-subtitle .vqa-ctrls .ctrl-btn{font-size:13px;line-height:1;height:28px;min-width:84px;padding:4px 10px;border-radius:10px;white-space:nowrap;text-align:center}.vqa-subtitle .vqa-ctrls .ctrl-btn[aria-pressed=true],.vqa-subtitle .vqa-ctrls .ctrl-btn.active{background:#33445f;border-color:#4d5f7a}.vqa-subtitle #vqaAnswerClose{white-space:nowrap}.vqa-subtitle button:hover{background:#2b3d58;border-color:#3d5372}.vqa-subtitle.hidden{display:none}.vqa-subtitle:not(.hidden),.vqa-subtitle.shown{opacity:1;transform:translateY(-50%) scale(1)}.vqa-subtitle.expandable{cursor:pointer}.vqa-subtitle.expanded{max-height:52vh!important;overflow:auto;flex-direction:column;align-items:stretch;gap:16px;font-size:20px}.vqa-subtitle.expandable:hover{filter:brightness(1.05)}.vqa-tail-dock{position:fixed;left:0;right:0;bottom:0;background:#0e1420f5;backdrop-filter:blur(10px);border-top:1px solid #2a3145;box-shadow:0 -4px 18px -4px #00000080;max-height:32vh;display:flex;flex-direction:column;z-index:3200;animation:vqaDockIn .35s ease}.vqa-tail-dock.hidden{display:none}.vqa-tail-dock header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:12px;font-weight:600;letter-spacing:.5px;background:#111722;border-bottom:1px solid #263044}.vqa-tail-dock header .actions{display:flex;gap:6px}.vqa-tail-dock header button{background:#1d2532;border:1px solid #2c394d;padding:4px 8px;font-size:12px;border-radius:6px;cursor:pointer;color:var(--ink)}.vqa-tail-dock header button:hover{background:#273244}.vqa-tail-dock .body{padding:12px 16px 18px;overflow:auto;font-size:14px;line-height:1.35;white-space:pre-wrap}.vqa-tail-dock.collapsed .body{display:none}.vqa-inline-card{background:#0e131c;border:1px solid #2a3145;border-radius:12px;padding:0;margin-top:12px;box-shadow:0 8px 24px -6px #00000073;display:flex;flex-direction:column;animation:vqaInlineIn .35s ease}.vqa-inline-card.hidden{display:none}.vqa-inline-card header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;font-weight:600;font-size:12px;letter-spacing:.5px;border-bottom:1px solid #1f2634}.vqa-inline-card header button{background:#1a2230;border:1px solid #2f3a4d;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:12px}.vqa-inline-card header button:hover{background:#243045}.vqa-inline-card .body{padding:12px 14px 14px;font-size:13px;line-height:1.35;max-height:240px;overflow:auto;white-space:pre-wrap}.modal-backdrop{position:fixed;inset:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:9999}.modal{width:min(780px,92vw);background:var(--panel);border:1px solid #222636;border-radius:16px;box-shadow:0 10px 28px #00000073;overflow:hidden;color:var(--ink)}.modal header{padding:14px 16px;background:#10131a;border-bottom:1px solid #222636;font-weight:600;font-size:16px}.modal .content{padding:14px 16px;font-size:14px;color:var(--ink)}.modal .content p{margin:0 0 10px;color:var(--muted)}.modal .content .section{margin:12px 0}.modal .actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #222636;background:#0e1219;justify-content:flex-end}#qsErrorOverlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.94);max-width:520px;width:calc(100% - 44px);background:#1b212d;color:var(--ink);padding:24px 26px 22px;border:1px solid #2a3145;border-radius:16px;box-shadow:0 8px 38px -6px #0009,0 0 0 1px #ffffff08 inset;z-index:4100;opacity:0;transition:opacity .25s ease,transform .32s cubic-bezier(.33,.9,.25,1);font:14px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;letter-spacing:.2px;backdrop-filter:blur(10px) saturate(1.1)}#qsErrorOverlay.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}#qsErrorOverlay .qs-head{margin:0 0 10px;font-size:20px;font-weight:600;letter-spacing:.4px;background:linear-gradient(92deg,#4aa3ff,#6bc9ff 60%,#9fe8ff);-webkit-background-clip:text;background-clip:text;color:transparent}#qsErrorOverlay .qs-msg{font-size:13px;opacity:.85;margin-bottom:6px}#qsErrorOverlay .qs-list{margin:0 0 8px 18px;padding:0;font-size:13px;line-height:1.4}#qsErrorOverlay .qs-list li{margin-bottom:3px}#qsErrorOverlay .qs-hint{font-size:12px;opacity:.6}.errdlg-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200000;opacity:0;transition:opacity .15s ease}.errdlg-overlay.visible{opacity:1}.errdlg-overlay .errdlg{z-index:200001}.errdlg{background:#1c1f24;color:#fff;min-width:360px;max-width:min(880px,96vw);border-radius:12px;box-shadow:0 14px 40px #00000080;padding:16px 16px 14px;border:1px solid #2a2f36}.errdlg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.errdlg-title{margin:0;font-size:18px}.errdlg-msg{margin:8px 0 10px;white-space:pre-wrap;word-break:break-word}.errdlg-textwrap{margin:8px 0 10px}.errdlg-textwrap textarea{width:min(76vw,820px);height:min(50vh,520px);min-height:180px;display:block;background:#0a0e16;color:#e6edf3;border:1px solid #2a3145;border-radius:8px;padding:10px 12px;resize:vertical;line-height:1.4;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2}.errdlg-hint{opacity:.8;font-size:12px;margin:2px 0 12px}.errdlg-actions{display:flex;gap:10px;justify-content:flex-end}.errdlg-actions .btn{padding:6px 12px;border-radius:6px;border:1px solid #3a4150;background:#2a3038;color:#fff;cursor:pointer}.errdlg-actions .btn.btn-primary{background:#3b82f6;border-color:#3b82f6}.btn.btn-icon{background:transparent;border:1px solid #3a4150;color:#cbd5e1;width:28px;height:28px;line-height:1;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.model-selector{display:inline-flex;align-items:center;gap:6px}.model-selector-label{font-size:11px;color:#99a1b3;white-space:nowrap}.model-selector-select{background:#0e1219;color:#cbd5e1;border:1px solid #2a3145;border-radius:6px;padding:3px 8px;font-size:12px;line-height:1.4;cursor:pointer;outline:none;max-width:180px}.model-selector-select:focus{border-color:#4e7aff}@media(max-width:600px){.model-selector{display:none}}body.player-mode .header-start,body.player-mode #speedDial,body.player-mode .start-overlay,body.player-idle .main-region{display:none!important}.player-dropzone{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center}.player-dropzone[hidden]{display:none}.player-dropzone-target{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 32px;border:2px dashed var(--border, #2a3145);border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.player-dropzone-target:hover{border-color:var(--accent, #4aa3ff);background:#4aa3ff0a}.player-dropzone.drag-active .player-dropzone-target{border-style:solid;border-color:var(--accent, #4aa3ff);box-shadow:0 0 16px #4aa3ff26}.player-dropzone-icon{color:var(--muted, #99a1b3)}.player-dropzone-text{color:var(--ink, #e6e7ea);font-size:15px;margin:0}.player-dropzone-hint{font-size:12px;margin:0}.player-dropzone input[type=file]{display:none}.player-config{padding:var(--pad, 16px);display:flex;flex-direction:column;gap:16px;position:fixed;inset:0;z-index:20;justify-content:center;align-items:center;overflow-y:auto}.player-config[hidden]{display:none}.player-config-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:520px}.player-config-title{font-size:15px;font-weight:600;color:var(--ink, #e6e7ea)}.player-config-body{width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px}.player-config-row{display:flex;align-items:center;gap:12px}.player-config-label{color:var(--muted, #99a1b3);font-size:12px;min-width:60px}.player-config-section{display:flex;flex-direction:column;gap:8px}.player-config-checks{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--ink, #e6e7ea)}.player-config-hint{color:var(--muted, #99a1b3);font-size:11px}.player-config-actions{margin-top:8px;display:flex;gap:12px}.player-config-actions button{flex:1}.player-config-files{font-size:13px;color:var(--ink, #e6e7ea)}.player-timeline{position:fixed;left:0;right:0;bottom:var(--footer-h, 40px);z-index:50;background:#0a0d13d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border, #1f2531);padding:8px var(--pad, 16px);display:flex;flex-direction:column;gap:4px;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1)}.player-timeline.auto-hidden{transform:translateY(calc(100% + var(--footer-h, 40px)));opacity:0;pointer-events:none}.player-timeline[hidden]{display:none}.player-seek-row{display:flex;align-items:center;gap:8px}.player-seek{flex:1;appearance:none;height:4px;background:var(--border, #1a2030);border-radius:2px;outline:none;cursor:pointer}.player-seek::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent, #4aa3ff);box-shadow:0 0 8px #4aa3ff66;cursor:pointer}.player-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent, #4aa3ff);box-shadow:0 0 8px #4aa3ff66;border:none;cursor:pointer}.player-transport-row{display:flex;align-items:center;gap:8px}.player-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border, #2a3145);background:transparent;color:var(--ink, #e6e7ea);cursor:pointer;transition:background .15s,border-color .15s}.player-btn:hover{background:#4aa3ff14;border-color:var(--accent, #4aa3ff)}.player-time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted, #99a1b3);min-width:40px}.player-export{display:flex;flex-direction:column;gap:12px;padding:var(--pad, 16px);background:linear-gradient(145deg,#171d2af0,#222b3feb);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);border-radius:14px;border:1px solid var(--border, #2e3647);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;width:90%;max-width:480px}.player-export[hidden]{display:none}.player-export-header{display:flex;align-items:center;justify-content:space-between}.player-export-title{font-size:14px;font-weight:600;color:var(--ink, #e6e7ea)}.player-export-bar{width:100%;height:6px;appearance:none;border-radius:3px;overflow:hidden}.player-export-bar::-webkit-progress-bar{background:var(--border, #1a2030);border-radius:3px}.player-export-bar::-webkit-progress-value{background:var(--accent, #4aa3ff);border-radius:3px}.player-export-bar::-moz-progress-bar{background:var(--accent, #4aa3ff);border-radius:3px}.player-export-status{font-size:12px;color:var(--muted, #99a1b3)}.player-vqa-list{display:flex;flex-direction:column;gap:6px}.player-vqa-add{font-size:12px;align-self:flex-start}.player-mode-toggle{font-size:13px;padding:4px 8px;border-radius:6px;border:1px solid var(--border, #2a3145);background:var(--panel, #151821);color:var(--ink, #e6e7ea)}.player-preset-section{border-top:1px solid var(--border, #2a3145);padding-top:12px}.player-preset-row{display:flex;align-items:center;gap:8px}.player-preset-select{flex:1;font-size:13px;padding:4px 8px;border-radius:6px;border:1px solid var(--border, #2a3145);background:var(--panel, #151821);color:var(--ink, #e6e7ea)}.player-vqa-actions{display:flex;gap:8px;align-items:center}.player-history-section{border-top:1px solid var(--border, #2a3145);padding-top:12px;margin-top:12px}.player-history-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.player-history-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;background:var(--panel, #151821);border:1px solid var(--border, #2a3145);font-size:12px}.player-history-header{color:var(--ink, #e6e7ea)}.player-history-detail{color:var(--muted, #99a1b3)}.player-history-empty{color:var(--muted, #99a1b3);font-size:12px;margin:0}.player-btn:focus-visible,.player-mode-toggle:focus-visible,.player-preset-select:focus-visible,.player-config select:focus-visible,.player-config button:focus-visible,.player-config input:focus-visible,.player-export button:focus-visible,.player-seek:focus-visible{outline:2px solid var(--accent, #4aa3ff);outline-offset:2px}@media(prefers-reduced-motion:reduce){.player-dropzone-target,.player-btn,.player-export-bar{transition:none}}@media(max-width:900px){.player-timeline{padding:6px 8px}.player-config-body{padding:8px 12px}}@media(max-width:600px){.player-seek-row,.player-transport-row{gap:4px}.player-config-row{flex-direction:column;align-items:stretch}.player-preset-row{flex-wrap:wrap}}
