:root{color-scheme:light dark;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--viewer-bg:#f6f1e8;--viewer-panel:rgba(255,252,247,0.88);--viewer-panel-border:rgba(63,54,38,0.14);--viewer-text:#1f1a14;--viewer-muted:#6a6258;--viewer-accent:#bf5c2d;--viewer-accent-deep:#803718;--viewer-line:rgba(63,54,38,0.12);--viewer-shadow:0 20px 60px rgba(55,40,24,0.14);--viewer-radius:20px;--scene-bg:#0f1116;--scene-panel:rgba(18,23,31,0.86);--scene-panel-border:rgba(166,188,212,0.16);--scene-text:#f2f7fb;--scene-muted:#a5b6c7;--scene-accent:#ff7a3d;--scene-accent-soft:#ffb26d}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{min-height:100dvh;overflow-x:hidden;font-family:Segoe UI,Inter,sans-serif}.page-loading{display:grid;place-items:center;min-height:100dvh;background:#101318;color:white;font-size:1rem;font-weight:700}a{color:inherit}button,input,select{font:inherit}.viewer-shell{display:grid;grid-template-columns:420px 1fr;min-height:100dvh;background:radial-gradient(circle at top left,rgba(230,182,126,.28),transparent 34%),radial-gradient(circle at bottom right,rgba(71,134,160,.2),transparent 28%),var(--viewer-bg);color:var(--viewer-text)}.viewer-shell-map-only{display:block}.experience-shell{position:relative;min-height:100dvh;overflow:hidden;background:var(--viewer-bg)}.experience-shell-loading,.experience-shell-loading *{cursor:progress!important}.experience-layer{position:absolute;inset:0;transition:opacity .22s ease}.experience-layer-active{opacity:1;pointer-events:auto;visibility:visible;z-index:2}.experience-layer-hidden{opacity:0;pointer-events:none;visibility:hidden;z-index:1}.experience-loading-overlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,rgba(18,14,10,.08),rgba(18,14,10,.18))}.experience-loading-card{display:grid;justify-items:center;grid-gap:8px;gap:8px;min-width:240px;padding:18px 22px;border-radius:18px;border:1px solid rgba(120,58,29,.32);background:rgba(255,247,240,.94);box-shadow:0 18px 48px rgba(71,38,20,.24);color:var(--viewer-text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.experience-loading-card strong{font-size:1rem;letter-spacing:-.01em}.experience-loading-card span:last-child{color:var(--viewer-muted);font-size:.88rem}.experience-loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(191,92,45,.22);border-top-color:#bf5c2d;animation:experience-spin .9s linear infinite}@keyframes experience-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.viewer-sidebar{padding:24px 20px;overflow:auto;border-right:1px solid var(--viewer-line);background:linear-gradient(180deg,rgba(255,250,244,.92),rgba(250,243,232,.88));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-header{margin-bottom:18px}.eyebrow{margin:0 0 8px;color:var(--viewer-accent-deep);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2{margin:0;letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif}h1{font-size:2.3rem}.detail-list dd,.empty-state,.lede,.panel-copy{color:var(--viewer-muted)}.panel{margin-top:18px;padding:16px;border:1px solid var(--viewer-panel-border);border-radius:var(--viewer-radius);background:var(--viewer-panel);box-shadow:var(--viewer-shadow)}.panel h2{margin-bottom:12px;font-size:1.25rem}.scene-status-pill,.status-box{padding:10px 12px;border-radius:14px;font-size:.95rem;font-weight:600}.status-pending{background:rgba(235,180,60,.14);color:#744a00}.status-ready{background:rgba(77,155,112,.14);color:#155237}.status-error{background:rgba(191,78,61,.14);color:#7f1f11}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.field span{font-size:.92rem;font-weight:600}.button-link,button,input,select{padding:11px 12px;border:1px solid rgba(94,77,56,.16);border-radius:14px}input,select{background:rgba(255,255,255,.82)}.button-link,button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(94,77,56,.16);background:linear-gradient(180deg,var(--viewer-accent),#a5481f);color:white;text-decoration:none;font-weight:700;transition:transform .14s ease,box-shadow .14s ease}.button-link:hover,button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(159,77,39,.28)}.button-secondary{background:rgba(31,26,20,.08);color:currentColor}.button-row{display:flex;flex-wrap:wrap;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.stats-grid div{padding:12px;border-radius:16px;background:rgba(255,255,255,.7)}.stats-grid dt{font-size:.82rem;color:var(--viewer-muted)}.stats-grid dd{margin:6px 0 0;font-size:1.1rem;font-weight:700}.detail-panel{min-height:260px}.detail-list{display:grid;grid-gap:10px;gap:10px}.detail-list div{padding-bottom:10px;border-bottom:1px solid var(--viewer-line)}.detail-list dt{font-size:.78rem;color:var(--viewer-muted);text-transform:uppercase;letter-spacing:.08em}.detail-list dd{margin:6px 0 0;line-height:1.5;color:var(--viewer-text);word-break:break-word}.map-stage,.scene-stage{position:relative;min-height:100dvh}.map-canvas,.scene-root{position:absolute;inset:0}.map-canvas{opacity:0;transition:opacity .22s ease}.map-canvas.is-ready{opacity:1}.scene-root{opacity:1;transition:opacity .22s ease}.scene-root>*{width:100%;height:100%;display:block}.scene-root-hidden{opacity:0}.map-actions{position:absolute;top:calc(var(--safe-top) + 24px);left:calc(var(--safe-left) + 24px);z-index:30;display:flex;flex-wrap:wrap;gap:12px}.map-action-dropdown{position:relative}.map-action-menu{position:absolute;top:calc(100% + 10px);left:0;display:grid;grid-gap:10px;gap:10px;min-width:148px;padding:10px;border-radius:18px;border:1px solid var(--viewer-panel-border);background:rgba(255,250,244,.9);box-shadow:var(--viewer-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-width:min(220px,calc(100vw - var(--safe-left) - var(--safe-right) - 32px))}.map-action-menu-item{width:100%}.view-hud{top:calc(var(--safe-top) + 24px);right:calc(var(--safe-right) + 24px);max-width:min(440px,calc(100vw - 40px));padding:10px 14px;border-radius:999px;border:1px solid rgba(120,58,29,.38);background:linear-gradient(180deg,#bf5c2d,#8a3c19);box-shadow:0 14px 32px rgba(95,43,18,.34);font-size:.82rem;color:#fff7f2;text-wrap:balance}.handoff-hud,.view-hud{position:absolute;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-weight:700;line-height:1.35}.handoff-hud{top:78px;right:24px;max-width:min(620px,calc(100vw - 40px));padding:11px 14px;border-radius:18px;border:1px solid rgba(120,58,29,.32);background:rgba(255,247,240,.92);box-shadow:0 16px 36px rgba(95,43,18,.22);font-size:.8rem;color:#4c2713}.map-legend{position:absolute;right:calc(var(--safe-right) + 24px);bottom:calc(var(--safe-bottom) + 24px);display:flex;gap:8px;max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 48px);overflow-x:auto;scrollbar-width:none;padding:10px;border-radius:999px;border:1px solid var(--viewer-panel-border);background:rgba(255,250,244,.84);box-shadow:var(--viewer-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-legend::-webkit-scrollbar{display:none}.legend-chip{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:72px;padding:7px 12px;border:0;border-radius:999px;font-size:.74rem;font-weight:700;color:white;cursor:pointer;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease}.legend-chip:hover{transform:translateY(-1px)}.legend-chip-active{opacity:1;box-shadow:0 0 0 2px rgba(255,255,255,.82)}.legend-chip-dimmed{opacity:.34}.legend-chip:focus-visible{outline:2px solid rgba(76,39,19,.9);outline-offset:2px}.tier-0{background:#6e8898}.tier-1{background:#5c89bd}.tier-2{background:#f4a259}.tier-3{background:#d96c54}.tier-4{background:#732f5b}.scene-shell{min-height:100dvh;background:radial-gradient(circle at top left,rgba(73,112,175,.22),transparent 26%),radial-gradient(circle at bottom right,rgba(255,122,61,.16),transparent 20%),var(--scene-bg);color:var(--scene-text)}.scene-actions{position:absolute;top:calc(var(--safe-top) + 24px);left:calc(var(--safe-left) + 24px);z-index:30;display:flex;flex-wrap:wrap;gap:12px}.scene-actions .button-secondary,.scene-actions .scene-link-button.button-secondary,.scene-actions button.button-secondary{background:rgba(255,255,255,.08);color:var(--scene-text);border-color:rgba(166,188,212,.16)}.scene-actions button,.scene-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid rgba(166,188,212,.16);border-radius:999px;color:var(--scene-text);font-weight:700;text-decoration:none}.scene-actions button{background:linear-gradient(180deg,var(--scene-accent),#d25418);border-color:rgba(166,188,212,.16)}.scene-link-button{background:rgba(255,255,255,.08)}.scene-root-placeholder{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(73,112,175,.26),transparent 24%),radial-gradient(circle at 80% 30%,rgba(255,122,61,.18),transparent 20%),linear-gradient(180deg,rgba(10,14,20,.82),rgba(8,10,15,.96))}.scene-placeholder-grid{position:absolute;inset:-20%;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:64px 64px;opacity:.28;transform:perspective(1200px) rotateX(74deg) scale(1.2);transform-origin:center center;pointer-events:none}.scene-stage-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0,transparent 28%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.42) 100%);pointer-events:none}.scene-focus-reticle{position:relative;z-index:1;width:84px;height:84px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.04),0 0 60px rgba(255,122,61,.16);pointer-events:none}.scene-focus-reticle span{position:absolute;top:50%;left:50%;background:rgba(255,255,255,.66);transform:translate(-50%,-50%)}.scene-focus-reticle span:first-child{width:1px;height:52px}.scene-focus-reticle span:last-child{width:52px;height:1px}.scene-place-chip{right:24px;bottom:96px;max-width:min(420px,calc(100vw - 48px));padding:10px 14px;border:1px solid rgba(166,188,212,.16);border-radius:999px;background:rgba(18,23,31,.82);box-shadow:0 18px 48px rgba(0,0,0,.28);font-size:.82rem;font-weight:700;letter-spacing:.02em;word-break:break-word}.scene-place-chip,.scene-status-pill{position:absolute;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--scene-text)}.scene-status-pill{left:calc(var(--safe-left) + 24px);bottom:calc(var(--safe-bottom) + 24px);max-width:min(600px,calc(100vw - 48px));border:1px solid var(--scene-panel-border);background:rgba(18,23,31,.86);box-shadow:0 20px 60px rgba(0,0,0,.34)}.scene-status-pill.status-pending{color:#ffcf98}.scene-status-pill.status-ready{color:#9bebb5}.scene-status-pill.status-error{color:#ffb2b2}.scene-status-owner{color:var(--scene-muted)}.scene-popover-card{min-width:220px;max-width:280px;padding:4px 2px 2px;color:var(--scene-text)}.scene-popover-kicker{margin:0 0 6px;color:var(--scene-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scene-popover-owner{margin:0;font-size:1rem;line-height:1.3}.scene-popover-value{margin:8px 0 0;font-size:1.1rem;font-weight:800;color:var(--scene-accent-soft)}.scene-popover-address,.scene-popover-meta{margin:6px 0 0;color:var(--scene-muted);font-size:.84rem;line-height:1.45}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:calc(var(--safe-top) + 24px) calc(var(--safe-right) + 24px) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + 24px);background:radial-gradient(circle at top,rgba(244,162,89,.18),transparent 28%),linear-gradient(180deg,#f6efe7,#efe2d2)}.login-card{width:min(520px,100%);display:grid;grid-gap:16px;gap:16px;padding:32px;border:1px solid rgba(96,67,45,.12);border-radius:28px;background:rgba(255,252,247,.92);box-shadow:0 28px 80px rgba(82,55,33,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-kicker{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8a5532}.login-title{margin:0;font-size:clamp(2rem,4vw,2.8rem);line-height:.98;color:#2d190f}.login-copy,.login-note,.login-setup-note{margin:0;line-height:1.55;color:#60432d}.login-status{padding:12px 14px;border-radius:16px;background:rgba(255,243,229,.92);border:1px solid rgba(191,92,45,.18);color:#7a3f1f;font-weight:600}.login-button{min-height:52px;border:0;border-radius:999px;padding:0 20px;font-size:.98rem;font-weight:800;color:#fff7f1;background:linear-gradient(180deg,#c7682f,#aa4b1f);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 36px rgba(170,75,31,.28)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-note code,.login-setup-note code{padding:2px 6px;border-radius:999px;background:rgba(96,67,45,.08);color:#4c2713;font-size:.88em}@media (max-width:1100px){.viewer-shell{grid-template-columns:1fr}.viewer-sidebar{max-height:48vh;border-right:0;border-bottom:1px solid var(--viewer-line)}}@media (max-width:720px){.map-actions,.scene-actions{top:calc(var(--safe-top) + 12px);right:calc(var(--safe-right) + 12px);left:calc(var(--safe-left) + 12px)}.map-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.map-action-dropdown>button,.map-actions>button,.scene-actions>a,.scene-actions>button{width:100%;min-height:48px}.scene-actions{flex-direction:column}.scene-focus-reticle{width:72px;height:72px}.scene-place-chip{right:16px;bottom:126px;left:16px;max-width:none}.login-card{padding:24px;border-radius:22px}.view-hud{bottom:calc(var(--safe-bottom) + 84px);border-radius:18px;font-size:.76rem;line-height:1.45}.handoff-hud,.view-hud{top:auto;right:calc(var(--safe-right) + 12px);left:calc(var(--safe-left) + 12px);max-width:none}.handoff-hud{bottom:calc(var(--safe-bottom) + 136px)}.map-action-menu{right:0;min-width:0;max-width:none}.map-legend,.scene-status-pill{right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 12px);left:calc(var(--safe-left) + 12px)}.map-legend{gap:6px;padding:8px;border-radius:20px;justify-content:flex-start}.legend-chip{min-width:64px;padding:9px 12px;font-size:.72rem}}@media (max-width:540px){.map-actions{grid-template-columns:1fr}.handoff-hud,.scene-status-pill,.view-hud{font-size:.72rem}.scene-focus-reticle{width:64px;height:64px}.scene-focus-reticle span:first-child{height:44px}.scene-focus-reticle span:last-child{width:44px}.scene-popover-card{min-width:180px;max-width:220px}.scene-popover-owner{font-size:.92rem}.scene-popover-value{font-size:1rem}.login-shell{place-items:stretch}.login-card{width:100%;align-self:center;padding:20px;border-radius:20px}.login-title{font-size:clamp(1.7rem,8vw,2.2rem)}}