/* Workbench mode controls and the isolated 3D dashboard. Existing 2D surfaces keep their styles. */
.dashboard-switch{display:flex;gap:3px;padding:4px;border:1px solid #c5a6df35;border-radius:12px;background:#ffffff08;flex:none}
.dashboard-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#b7a9c6;padding:7px 10px;border-radius:8px;font-size:11px;white-space:nowrap;transition:color .2s,background .2s}
.dashboard-switch button[aria-pressed=true]{background:linear-gradient(130deg,#8556ac,#593576);color:#fff;box-shadow:0 4px 12px #08020d3b}
.dashboard-switch button span{font-size:16px;line-height:1}.dashboard-switch button:disabled{opacity:.55}
.remember-access{display:flex;align-items:center;gap:7px;font-size:10px;color:#7d658c;margin:11px 0 5px;cursor:pointer}.remember-access input{accent-color:#7b4696;width:14px;height:14px;margin:0}
.dashboard-3d-active{background:#0b1222}.dashboard-3d-active .main-content,.dashboard-3d-active .site-footer{display:none}.dashboard-3d-active .topbar{position:fixed;top:0;left:0;right:0;z-index:20;background:#0d1220f5;backdrop-filter:blur(18px)}
.dashboard-world{position:fixed;inset:var(--dashboard-top,94px) 0 0;isolation:isolate;overflow:hidden;background:#0b1222;color:#ecf1fa;--ds-mint:#9defd6;--ds-violet:#b7a0e9;--ds-muted:#a3adbf;--ds-line:#9bb4d62d}
.ds-scene{position:absolute;inset:0}.ds-scene canvas{width:100%;height:100%;display:block;touch-action:none}
.ds-patrol-labels{position:absolute;inset:0;pointer-events:none;z-index:2;contain:layout style}
.ds-patrol-labels[hidden],.ds-patrol-anchor[hidden],.ds-foreground[hidden]{display:none}
.ds-patrol-anchor{position:absolute;top:0;left:0;width:0;height:0;will-change:transform}
.ds-patrol-anchor:after{content:'';position:absolute;left:-3px;top:-3px;width:6px;height:6px;border:1px solid var(--patrol-color);border-radius:50%;background:#14242c;box-shadow:0 0 8px #9ce6d04d}
.ds-patrol-leader{position:absolute;top:0;left:0;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,var(--patrol-color),#afc8db50)}
.ds-drone-popup{position:absolute;width:154px;height:69px;box-sizing:border-box;padding:10px 12px 9px;transform:translate(-50%,-100%);direction:rtl;color:#f0f4f7;border:1px solid #b0c8df42;border-radius:12px;background:linear-gradient(125deg,#192a3bf5,#0a1827f5);box-shadow:0 9px 26px #07121c30,inset 0 1px 0 #ffffff0b;overflow:hidden}
.ds-drone-popup:before{content:'';position:absolute;top:0;left:13px;right:13px;height:2px;background:var(--patrol-color);opacity:.75}
.ds-drone-popup-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:8px;line-height:1;color:#a8beca}
.ds-drone-popup-top>span:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--patrol-color);margin-left:5px;vertical-align:middle}
.ds-drone-popup-top>b{font:500 7px Arial;letter-spacing:.8px;color:#8faab9}
.ds-drone-popup-reading{display:flex;align-items:center;justify-content:space-between;gap:6px;line-height:1.6}
.ds-drone-popup-reading>strong{font-size:11px;font-weight:700;white-space:nowrap}.ds-drone-popup-reading>span{font-size:13px;font-weight:800;color:var(--patrol-color);white-space:nowrap}
.ds-drone-popup-meter{height:2px;border-radius:2px;background:#96bdd122;margin-top:6px;overflow:hidden}.ds-drone-popup-meter>i{display:block;height:100%;background:var(--patrol-color);opacity:.8}
@media(max-width:760px){.ds-drone-popup{width:128px;height:61px;padding:9px 9px 7px;border-radius:10px}.ds-drone-popup-top{font-size:7px;margin-bottom:6px}.ds-drone-popup-top>b{font-size:6px;letter-spacing:.5px}.ds-drone-popup-reading>strong{font-size:9px}.ds-drone-popup-reading>span{font-size:11px}.ds-drone-popup-meter{margin-top:5px}}
.ds-foreground{position:absolute;inset:0;z-index:5;pointer-events:none}.ds-foreground canvas{width:100%;height:100%;display:block}.dashboard-world .ds-toolbar{z-index:7}
.ds-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#050a1570,transparent 28%,transparent 65%,#04081291),radial-gradient(ellipse at center,transparent 20%,#04081733 85%);z-index:1}
.ds-city-label{position:absolute;top:25px;right:34px;z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:6px;text-shadow:0 3px 16px #030811}
.ds-city-label>span{font:600 9px/1.3 Arial,sans-serif;letter-spacing:2.8px;color:#8cd9cf}.ds-city-label>strong{font-size:20px;font-weight:800;letter-spacing:-.6px}.ds-city-label>small{font-size:9px;color:#a8b5c8}
.ds-toolbar{position:absolute;top:24px;left:30px;display:flex;gap:6px;z-index:5}.ds-toolbar button{padding:8px 12px;font-size:10px;border:1px solid #b4c6e12c;background:#0d182ac4;border-radius:9px;color:#bcd0dd;backdrop-filter:blur(10px);transition:border .2s,color .2s}.ds-toolbar button:hover{border-color:#98e7d58c;color:#e3fff5}.ds-toolbar button:disabled{opacity:.35;cursor:default}.ds-toolbar button[aria-pressed=true]{color:var(--ds-mint);border-color:#9defd659}
.ds-cinematic{position:absolute;left:7%;top:20%;z-index:4;pointer-events:none;text-align:left;direction:rtl;text-shadow:0 7px 35px #060c17}
.ds-cinematic>span{display:block;color:#a7e9d5;font:600 10px Arial;letter-spacing:4px;margin-bottom:22px}.ds-cinematic h2{font-size:clamp(30px,4vw,58px);line-height:1.8;font-weight:900;letter-spacing:-2px;margin:0 0 15px}.ds-cinematic h2 em{color:#bcdfd6;font-style:normal}.ds-cinematic p{font-size:12px;color:#c0c6d2;line-height:2.2}
.ds-intro-line{width:170px;height:2px;background:#c4e8dc22;overflow:hidden;margin-left:auto}.ds-intro-line i{display:block;height:100%;background:#a6e9d2;transform-origin:right;animation:ds-city-progress 4.3s linear both}
.ds-panel{position:absolute;z-index:4;direction:rtl;border:1px solid var(--ds-line);border-radius:22px;padding:26px 29px;background:linear-gradient(135deg,#172337d9,#09121fdc);box-shadow:0 25px 90px #01050d65,inset 0 1px 0 #ffffff0b;backdrop-filter:blur(16px);animation:ds-panel-enter .8s cubic-bezier(.2,.8,.2,1) both}
.ds-panel:before{content:'';position:absolute;height:2px;left:26px;right:26px;top:-1px;background:linear-gradient(90deg,transparent,#a5ead6,#b397e6,transparent);border-radius:3px;pointer-events:none}
.ds-panel h2{font-size:25px;letter-spacing:-1px;line-height:1.8;margin:12px 0 9px;font-weight:900}.ds-panel h2 em{font-style:normal;color:var(--ds-mint)}.ds-panel p{font-size:12px;color:var(--ds-muted);line-height:2.1;margin-bottom:18px}
.ds-panel-kicker{font-size:9px;letter-spacing:.3px;display:flex;align-items:center;gap:8px;color:#b5c1d4}.ds-panel-kicker>i,.ds-city-footer i{width:5px;height:5px;display:inline-block;background:#9eeddb;border-radius:50%;box-shadow:0 0 10px #8defd975;flex:none}.ds-panel-kicker>span{margin-right:auto;font:600 9px Arial,sans-serif;letter-spacing:1.4px;color:#92a4bd}
.ds-access{width:380px;left:71%;top:51%;transform:translate(-50%,-50%);padding:24px 29px}.ds-key-symbol{display:block;margin:8px auto 0;width:34px;height:34px;border:1px solid #a1e4d441;border-radius:10px;transform:rotate(45deg);text-align:center;line-height:32px;font-size:23px;color:#b5e1db;background:#85bace0e}.ds-access h2{text-align:center;font-size:25px;margin-top:16px}.ds-access>p{text-align:center;margin-bottom:16px}
.ds-input-label{display:block;font-size:10px;color:#c2cfdd;margin-bottom:8px}.ds-password-wrap{position:relative;display:flex;align-items:center}.ds-password-wrap input{width:100%;height:46px;border-radius:10px;border:1px solid #9ab4d236;background:#06102085;color:#e7f3f6;text-align:center;padding:8px 40px;font-size:15px;letter-spacing:1px}.ds-password-wrap input::placeholder{color:#8396ad;font-size:11px;letter-spacing:0}.ds-password-wrap>button{position:absolute;left:9px;top:10px;width:28px;height:26px;border:0;background:none;color:#98b7cb;font-size:16px}
.ds-remember{display:flex;align-items:center;gap:7px;margin:13px 0 20px;font-size:10px;color:#a8b8cb;cursor:pointer}.ds-remember input{width:14px;height:14px;margin:0;accent-color:#99daca}
.ds-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #b6ffe544;background:linear-gradient(110deg,#617594,#456f76 55%,#327b73);color:#f3fffc;border-radius:11px;padding:12px 16px;min-height:44px;font-size:12px;font-weight:800;box-shadow:0 8px 25px #5fcbb114,inset 0 1px 0 #ffffff17;transition:filter .2s,translate .2s}.ds-primary:hover{filter:brightness(1.14);translate:0 -1px}.ds-primary:disabled{opacity:.40;filter:none;translate:0;cursor:default}.ds-primary b{font:500 18px Arial}.ds-panel-foot{display:block;margin-top:13px;text-align:center;font-size:9px;color:#7f93ab;line-height:1.7}.ds-error-text{font-size:11px!important;color:#f1babb!important;text-align:right!important;margin:8px 0 13px!important}
.ds-unlocking .ds-access{animation:ds-unlock .75s ease-in both;pointer-events:none}
.ds-guide,.ds-uploader{width:min(500px,calc(100vw - 360px));left:8%;top:53%;transform:translateY(-50%)}
.ds-guide-visual{height:87px;position:relative;display:grid;place-items:center;margin:13px 0}.ds-guide-visual>span{font:300 40px Arial;color:#a9e8d6;z-index:1;text-shadow:0 0 24px #84d7bb5c}.ds-guide-visual i{position:absolute;width:77px;height:77px;border:1px solid #aad5f333;transform:rotate(30deg);border-radius:15px;background:#8dbcdf08}.ds-guide-visual i:last-child{transform:rotate(-24deg);width:65px;height:65px;border-color:#b49ade37}
.ds-guide h2{font-size:23px}.ds-guide p{min-height:90px}.ds-guide-dots{display:flex;gap:7px;margin:0 0 20px;justify-content:center}.ds-guide-dots span{width:17px;height:3px;border-radius:2px;background:#8294b42b}.ds-guide-dots .is-current{background:#a1ead2;width:30px;box-shadow:0 0 10px #8be4ce45}.ds-guide-actions{display:flex;justify-content:space-between;margin-top:14px}.ds-guide-actions button,.ds-text-button{border:0;background:none;padding:0;color:#9ab2c6;font-size:10px}.ds-guide-actions button:disabled{opacity:.25}.ds-guide-actions button:hover,.ds-text-button:hover{color:#cdfbef}
.ds-uploader h2{font-size:23px}.ds-uploader>p{margin-bottom:14px}.ds-dropzone{position:relative;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed #9ce0d157;border-radius:14px;background:radial-gradient(ellipse at top,#3e73681c,transparent 65%),#06102250;overflow:hidden;transition:border-color .2s,background .2s}.ds-dropzone.is-dragging{border-color:#c0ffe9;background:#9defd61c;box-shadow:0 0 30px #8ceacf15}.ds-file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;z-index:3}.ds-upload-cube{width:58px;height:58px;display:grid;place-items:center;color:#9fddcb;margin-bottom:2px}.ds-upload-cube svg{width:58px;height:58px;stroke-width:1}.ds-dropzone strong{font-size:12px;color:#d4e3e9;position:relative;z-index:1}.ds-dropzone>span{font-size:10px;color:#a4b7c6;position:relative;z-index:1}.ds-dropzone>small{font:8px Arial;color:#8294ac;letter-spacing:1px;position:relative;z-index:1}.ds-dropzone>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.23}.ds-dropzone:has(img:not([hidden])) .ds-upload-cube{opacity:.20}.ds-file-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#859bb3;margin:12px 0 17px}.ds-file-meta>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72%}
.ds-transfer-status{position:absolute;left:50%;bottom:50px;transform:translateX(-50%);width:min(470px,calc(100% - 32px));padding:19px 25px;border-radius:17px;background:#0e192bea;border:1px solid #a1bed52d;z-index:4;box-shadow:0 15px 60px #02060c57;backdrop-filter:blur(16px);animation:ds-status-enter .7s both}.ds-transfer-status>div:first-of-type{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0}.ds-transfer-status strong{font-size:13px;font-weight:800;display:block}.ds-transfer-status b{font:500 19px Arial;color:#a8ebd6}.ds-transfer-status>small{display:block;font-size:10px;color:#91a7bc;margin-top:9px}.ds-upload-meter{height:4px;background:#96aec125;border-radius:4px;overflow:hidden}.ds-upload-meter i{display:block;background:linear-gradient(90deg,#ae99de,#9be6cd);height:100%;border-radius:4px;transition:width .15s}.ds-upload-meter.is-indeterminate i{animation:ds-indeterminate 1.2s ease-in-out infinite}
.ds-scan-status{text-align:center}.ds-scan-status .ds-panel-kicker{justify-content:center}.ds-scan-status>strong{margin:9px 0}.ds-scan-dots{display:flex;justify-content:center;gap:5px;margin-top:14px}.ds-scan-dots i{width:4px;height:4px;border-radius:50%;background:#a4e1cf;animation:ds-pulse 1.2s infinite}.ds-scan-dots i:nth-child(2){animation-delay:.2s}.ds-scan-dots i:nth-child(3){animation-delay:.4s}
.ds-result{left:6%;top:51%;transform:translateY(-50%);width:min(720px,calc(100% - 320px));max-height:calc(100% - 125px);overflow:auto;scrollbar-width:thin;scrollbar-color:#63827c #121d2b;padding:23px 25px}.ds-result h2{font-size:22px;margin-bottom:1px}.ds-result-subtitle{font-size:10px!important;margin-bottom:15px!important}
.ds-chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;direction:rtl}.ds-chart-card{min-width:0;text-align:center;padding:10px 8px 9px;border:1px solid #a2bdda20;background:linear-gradient(#7d9cca0c,#050e1b25);border-radius:12px;position:relative}.ds-chart-rank{font-size:8px;color:#8bafbd;display:block;margin-bottom:5px}.ds-chart-card>strong{display:block;font-size:11px;line-height:1.9;min-height:39px;overflow-wrap:anywhere;color:#d9e9ef}.ds-chart-space{height:99px}.ds-chart-score{font-size:17px;color:#ace7d6;display:block}.ds-chart-card:not(:first-child) .ds-chart-score{color:#c1adeb}
.ds-detection-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 0 8px;font-size:10px}.ds-detection-heading>span{font-size:9px;color:#8da4bd}.ds-detections{max-height:128px;overflow:auto;margin-bottom:17px;scrollbar-width:thin}.ds-detection{display:flex;gap:10px;align-items:center;padding:9px 1px;border-bottom:1px solid #a2bad314;font-size:11px}.ds-detection>span{font-size:9px;min-width:18px;color:#8ea5bc}.ds-detection>strong{flex:1;font-weight:600;overflow-wrap:anywhere}.ds-detection>b{color:#acd3c7;font-size:11px;white-space:nowrap;font-weight:600;direction:ltr}
.ds-more{border-top:1px solid #a2bad31a;margin:15px 0}.ds-more summary{cursor:pointer;padding:11px 0;color:#b0c2d4}.ds-more summary strong:before{content:'＋';margin-left:7px;color:#95d6c3}.ds-more[open] summary strong:before{content:'−'}.ds-result>.ds-primary{position:sticky;bottom:0;box-shadow:0 -10px 18px #0c162cbf}
.ds-error{width:min(440px,calc(100% - 36px));left:8%;top:52%;transform:translateY(-50%)}.ds-error .ds-text-button{display:block;margin:16px auto 0}.ds-error>p{color:#d1b1bd}
.ds-city-footer{position:absolute;bottom:15px;left:30px;right:30px;z-index:3;display:flex;justify-content:space-between;font-size:9px;color:#91a8be;pointer-events:none}.ds-city-footer>span:first-child{display:flex;align-items:center;gap:7px}.ds-city-footer>span:last-child{font:8px Arial;letter-spacing:1.7px}
.ds-loader{position:absolute;inset:0;background:#0b1222;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.ds-loader strong{font-size:17px}.ds-loader small{font-size:11px;color:#8f9eb2}.ds-loader-ring{width:60px;height:60px;border:1px solid #a6d2cf21;border-top-color:#9fe8d4;border-radius:50%;animation:ds-spin 1.5s linear infinite}
.dashboard-world[data-phase=guide] .ds-city-label,.dashboard-world[data-phase=ready] .ds-city-label,.dashboard-world[data-phase=result] .ds-city-label{opacity:.65}
@keyframes ds-spin{to{transform:rotate(360deg)}}@keyframes ds-city-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ds-panel-enter{from{opacity:0;filter:blur(8px);translate:0 25px;scale:.96}to{opacity:1;filter:blur(0);translate:0 0;scale:1}}@keyframes ds-unlock{to{opacity:0;filter:blur(16px);translate:0 -45px;scale:1.09}}@keyframes ds-status-enter{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes ds-pulse{50%{opacity:.3;transform:translateY(-3px)}}@keyframes ds-indeterminate{50%{transform:translateX(-200%)}}
@media(min-width:1000px) and (max-width:1300px){.topbar-actions{gap:12px}.dashboard-switch button{padding:7px 8px}.topbar-actions .system-tag{display:none}}
@media(max-width:999px){.topbar-actions{gap:8px}.topbar-actions .system-tag,.topbar-actions .header-divider{display:none}.dashboard-switch{padding:3px}.dashboard-switch button{padding:6px 8px;font-size:10px}.ds-guide,.ds-uploader{left:5%;width:calc(100% - 280px)}.ds-result{left:4%;width:calc(100% - 260px)}.ds-city-label{right:23px}.ds-toolbar{left:23px}}
@media(max-width:760px){
 .topbar-inner{flex-wrap:wrap;gap:10px 15px;padding-top:12px;padding-bottom:12px}.topbar-actions{margin-right:auto;flex-wrap:wrap;justify-content:flex-end}.topbar-actions .replay-intro{font-size:0;padding:7px 9px;gap:0}.topbar-actions .replay-intro>span{font-size:15px}.topbar-actions .top-version{display:none}.dashboard-switch button{padding:6px 8px;font-size:10px}
 .ds-city-label{top:17px;right:18px;gap:4px}.ds-city-label>strong{font-size:15px}.ds-city-label>span{font-size:7px;letter-spacing:1.8px}.ds-city-label>small{font-size:7px}.ds-toolbar{left:16px;top:82px;gap:4px}.ds-toolbar button{padding:6px 9px;font-size:9px}
 .ds-cinematic{left:6%;right:6%;top:25%;text-align:center}.ds-cinematic>span{font-size:8px;letter-spacing:3px}.ds-cinematic h2{font-size:32px;line-height:1.8}.ds-cinematic p{font-size:11px}.ds-intro-line{margin:0 auto}
 .ds-panel{padding:21px 22px;border-radius:18px}.ds-access{width:min(390px,calc(100% - 32px));left:50%;top:53%;padding:22px 26px}.ds-access h2{font-size:24px;margin-top:15px}.ds-access>p{font-size:11px;margin-bottom:15px}.ds-key-symbol{width:34px;height:34px;line-height:32px;font-size:23px}.ds-remember{margin-bottom:16px}
 .ds-guide,.ds-uploader{width:calc(100% - 32px);left:16px;top:auto;bottom:45px;transform:none;max-height:calc(100% - 170px);overflow:auto;scrollbar-width:thin}.ds-guide-visual{height:47px;margin:9px 0}.ds-guide-visual>span{font-size:28px}.ds-guide-visual i{width:40px;height:40px;border-radius:8px}.ds-guide-visual i:last-child{width:33px;height:33px}.ds-guide h2,.ds-uploader h2{font-size:20px;margin:9px 0}.ds-guide p{font-size:11px;min-height:0;margin-bottom:15px;line-height:2.05}.ds-guide-dots{margin-bottom:13px}.ds-guide-actions{margin-top:12px}.ds-uploader>p{font-size:11px;margin-bottom:12px}.ds-dropzone{min-height:149px;gap:7px}.ds-upload-cube,.ds-upload-cube svg{width:44px;height:44px}.ds-dropzone strong{font-size:11px}.ds-file-meta{margin:10px 0 13px}
 .ds-transfer-status{bottom:42px;padding:16px 20px}.ds-transfer-status strong{font-size:12px}.ds-transfer-status>small{font-size:9px}.ds-result{width:calc(100% - 32px);left:16px;top:171px;bottom:42px;max-height:none;transform:none;padding:19px 18px}.ds-result h2{font-size:20px}.ds-result-subtitle{margin-bottom:11px!important}.ds-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ds-chart-space{height:68px}.ds-chart-card{padding:8px}.ds-chart-card>strong{min-height:22px;font-size:10px}.ds-chart-score{font-size:15px}.ds-detections{max-height:140px}.ds-result .ds-primary{position:sticky;bottom:0;box-shadow:0 -10px 20px #0c162cbf}.ds-error{left:16px;width:calc(100% - 32px);top:57%}
 .ds-city-footer{bottom:12px;left:18px;right:18px;font-size:8px}.ds-city-footer>span:last-child{font-size:6px;letter-spacing:1px}.dashboard-world[data-phase=scan] .ds-city-label,.dashboard-world[data-phase=upload] .ds-city-label{opacity:.5}.dashboard-world[data-phase=result] .ds-city-label{visibility:hidden}
}
@media(max-width:420px){.topbar-inner{width:calc(100% - 28px);gap:8px}.brand-titles strong{font-size:13px}.brand-image{width:39px;height:39px;flex-basis:39px;border-radius:10px}.brand{gap:8px}.topbar-actions{gap:5px}.dashboard-switch button{padding:5px 7px}.dashboard-switch button span{display:none}.ds-toolbar{top:74px}.ds-guide,.ds-uploader{max-height:calc(100% - 160px)}.ds-access{max-height:calc(100% - 86px);overflow:auto}.ds-access h2{font-size:22px}.ds-guide h2{font-size:18px}.ds-loader strong{font-size:14px}}
@media(max-height:760px) and (min-width:761px){.ds-city-label{top:14px}.ds-toolbar{top:15px}.ds-panel{padding:18px 23px}.ds-access{top:52%;max-height:calc(100% - 65px);overflow:auto}.ds-key-symbol{display:none}.ds-access h2{font-size:22px;margin-top:8px}.ds-access>p{margin-bottom:10px}.ds-guide-visual{height:45px;margin:8px 0}.ds-guide p{min-height:0;margin-bottom:11px}.ds-guide h2{font-size:21px}.ds-guide-dots{margin-bottom:13px}.ds-uploader>p{margin-bottom:10px}.ds-dropzone{min-height:150px}.ds-result{max-height:calc(100% - 87px)}.ds-chart-space{height:73px}.ds-transfer-status{bottom:34px}}
@media(prefers-reduced-motion:reduce){.dashboard-world *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dashboard-world .ds-panel{filter:none!important}}

/* Perspective-native workbench cards follow the WebGL camera, including hit testing. */
.ds-dom-plane{position:absolute;inset:0;z-index:4;pointer-events:none;transform-origin:0 0;will-change:transform;backface-visibility:hidden}
.ds-dom-plane>.ds-panel,.ds-dom-plane>.ds-transfer-status{pointer-events:auto}
.dashboard-world[data-view=square] .ds-dom-plane,.dashboard-world[data-view=bridge] .ds-dom-plane{visibility:hidden;pointer-events:none}
.ds-view-nav{position:absolute;left:30px;top:70px;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #c1d3e42b;border-radius:12px;background:#081829bf;backdrop-filter:blur(12px);z-index:7;color:#e9f0f4}
.ds-view-nav button{border:0;border-radius:8px;background:transparent;color:#b5c9d3;padding:8px 12px;font-size:10px}
.ds-view-nav button[aria-pressed=true]{color:#fff;background:#615080a8;box-shadow:inset 0 0 0 1px #b29acf3b}
.ds-view-nav>span{font-size:9px;color:#a9c1cc;padding:0 10px}
.ds-vignette{opacity:.42}.ds-panel{background:linear-gradient(140deg,#12223de8,#091425ee);box-shadow:0 20px 65px #01050d50,inset 0 1px 0 #ffffff0b;animation-duration:1s}
.dashboard-world[data-phase=city] .ds-view-nav{opacity:.7}
.dashboard-world[data-view=square] .ds-cinematic,.dashboard-world[data-view=bridge] .ds-cinematic{display:none}
@media(min-width:761px){.ds-guide,.ds-uploader{top:57%}.ds-result{top:56%;max-height:calc(100% - 152px)}.ds-access{top:56%;max-height:calc(100% - 146px)}}
@media(max-width:1000px){.ds-view-nav{left:23px;top:63px}.ds-view-nav>span{display:none}}
@media(max-width:760px){.ds-view-nav{left:16px;right:16px;top:111px;justify-content:center;padding:3px}.ds-view-nav button{padding:7px 12px;font-size:9px}.ds-dom-plane .ds-access{top:57%;max-height:calc(100% - 188px)}.ds-dom-plane .ds-guide,.ds-dom-plane .ds-uploader{max-height:calc(100% - 238px)}.ds-dom-plane .ds-result{top:260px}.ds-city-label>small{font-size:6px}.ds-toolbar{top:75px}}
@media(max-height:650px) and (min-width:761px){.ds-dom-plane .ds-access{top:59%;max-height:calc(100% - 128px);padding:16px 22px}.ds-dom-plane .ds-access h2{font-size:19px}.ds-dom-plane .ds-access>p{margin-bottom:9px}.ds-dom-plane .ds-guide,.ds-dom-plane .ds-uploader{top:59%;max-height:calc(100% - 137px);overflow:auto}.ds-dom-plane .ds-result{top:59%;max-height:calc(100% - 137px)}.ds-key-symbol{display:none}.ds-panel-foot{margin-top:8px}.ds-remember{margin:11px 0 15px}}

@media(max-width:760px) and (max-height:720px){
 .dashboard-world[data-phase=guide] .ds-city-label,.dashboard-world[data-phase=ready] .ds-city-label,.dashboard-world[data-phase=scan] .ds-city-label,.dashboard-world[data-phase=upload] .ds-city-label{visibility:hidden}
 .ds-toolbar{top:12px}.ds-view-nav{top:47px}
 .ds-dom-plane .ds-uploader,.ds-dom-plane .ds-guide{bottom:36px;max-height:calc(100% - 242px);padding:15px 18px}
 .ds-uploader h2{font-size:18px}.ds-dropzone{min-height:124px}.ds-uploader>p{margin-bottom:8px}
 .ds-dom-plane .ds-result{top:226px;padding:16px}.ds-chart-space{height:42px}.ds-chart-card{padding:6px}.ds-chart-card>strong{font-size:9px;min-height:20px}.ds-chart-score{font-size:13px}
}

/* Robotic eye replaces only the access-card symbol. */
.ds-access-eye{position:relative;display:block;width:108px;height:34px;margin:8px auto 0;pointer-events:none}
.ds-access-eye canvas{position:absolute;top:50%;left:0;display:block;width:100%;height:62px;transform:translateY(-50%)}
.ds-access-eye[hidden]{display:none}
@media(max-width:760px){.ds-access-eye{width:98px}.ds-access-eye canvas{height:56px}}
@media(max-height:650px){.ds-access-eye{width:82px;height:30px;margin-top:4px}.ds-access-eye canvas{height:47px}}
