html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;touch-action:manipulation;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;background:#050505}*{box-sizing:border-box}button,input,select{font:inherit}button,input,select{min-height:44px}button{border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:10px 14px;color:#fff;background:#ffffff1a;cursor:pointer}button:disabled{cursor:wait;opacity:.58}button.primary{color:#102013;border-color:#9ee493;background:#9ee493;font-weight:800}.login-screen,.screen,.ar-screen{width:100vw;min-height:100vh;color:#f7faf8;background:#07100c}.screen{height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.login-screen{display:grid;min-height:100dvh;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.panel,.topbar,.content{width:min(100%,1080px);margin:0 auto}.panel{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#08100ddb;box-shadow:0 20px 70px #00000059}.login-panel{width:min(100%,460px);padding:clamp(18px,4vw,24px)}.eyebrow{margin:0 0 6px;color:#9ee493;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;line-height:1.15}h1{font-size:clamp(24px,5vw,32px)}.muted,.message,.error,.empty{color:#bac7c0;font-size:14px;line-height:1.55}.message{margin:12px 0 0;color:#bfeab8}.error{margin:12px 0 0;color:#ffb2b2}label{display:grid;gap:8px;margin-top:16px;color:#dce6e1;font-size:13px;font-weight:700}input,select{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:10px 12px;color:#f7faf8;background:#ffffff14;outline:none}input:focus,select:focus{border-color:#9ee493;box-shadow:0 0 0 3px #9ee49324}.actions,.topbar-actions{display:flex;flex-wrap:wrap;gap:10px}.actions{margin-top:18px}.projects-screen{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 22px}.content{padding-bottom:36px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px}.project-card{display:grid;min-height:168px;grid-template-rows:auto auto 1fr auto;gap:9px;align-content:start;padding:16px;text-align:left;color:#eef6f1;background:#ffffff14;line-height:1.45}.project-card:hover{border-color:#9ee4939e;background:#9ee4931a}.project-card strong{display:-webkit-box;overflow:hidden;color:#f8fffb;font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card span:not(.project-type){display:-webkit-box;overflow:hidden;color:#bac8c1;font-size:14px;font-weight:400;line-height:1.45;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card small{align-self:end;color:#d5dfda;font-size:13px;font-weight:600;line-height:1.35}.project-type{width:fit-content;max-width:100%;border-radius:999px;padding:3px 9px;color:#16311d;background:#a7ee9a;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{display:grid;min-height:220px;place-items:center;border:1px dashed rgba(255,255,255,.18);border-radius:8px;text-align:center}.ar-screen{position:relative;height:100dvh;overflow:hidden;touch-action:none;background:#050505}.hud{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:10;width:min(520px,calc(100vw - 24px));padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#080a0cb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 48px #00000047}.hud-header,.feature-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hud-header{margin-bottom:12px}.hud h1{font-size:20px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.metrics div{min-width:0;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff14}dt{margin-bottom:3px;color:#aeb7c2;font-size:12px}dd{margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.feature-panel{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:10;display:grid;grid-template-rows:auto 1fr;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#080a0cc2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 48px #00000047;overflow:hidden;touch-action:pan-y}.feature-panel-header{padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.feature-panel h2{font-size:18px}.feature-panel-header>span{min-width:32px;border-radius:999px;padding:4px 8px;color:#132017;background:#9ee493;font-size:13px;font-weight:800;text-align:center}.feature-list{display:grid;gap:8px;margin:0;padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;list-style:none}.feature-item{display:grid;gap:7px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff14}.feature-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.feature-item strong{color:#f8fffb;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.feature-item-header span{flex:0 0 auto;max-width:120px;border-radius:999px;padding:3px 7px;color:#16311d;background:#a7ee9a;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-item p,.feature-item small,.feature-empty{margin:0;color:#bac8c1;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.feature-item small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.feature-empty{padding:14px}a-scene{width:100vw;height:100dvh}@media(min-width:700px)and (max-width:1180px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hud{width:min(46vw,520px)}.feature-panel{width:min(42vw,380px)}}@media(max-width:699px){.login-screen,.projects-screen{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.topbar{align-items:stretch;flex-direction:column;padding-top:10px}.topbar-actions,.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.login-panel .actions,.project-grid{grid-template-columns:1fr}.project-card{min-height:150px}.hud{right:max(12px,env(safe-area-inset-right));width:auto;max-height:42dvh;overflow-y:auto;padding:12px;touch-action:pan-y}.hud h1{font-size:18px}.metrics{grid-template-columns:1fr 1fr}.feature-panel{top:auto;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:32dvh}}@media(max-width:420px){.metrics{grid-template-columns:1fr}.feature-panel{max-height:28dvh}}.version-footer[data-v-6aec0ec2]{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:4px;font-size:12px;color:#ffffff4d;background:#0000001a;pointer-events:none;z-index:9999}[data-v-65f4b02c]{-webkit-tap-highlight-color:transparent}.ar-screen[data-v-65f4b02c]{position:relative;width:100%;height:100vh;overflow:hidden;touch-action:manipulation}.toolbar[data-v-65f4b02c]{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.toolbar-title[data-v-65f4b02c]{margin:0;font-size:16px;font-weight:600;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-actions[data-v-65f4b02c]{display:flex;gap:8px}.toolbar-btn[data-v-65f4b02c]{padding:6px 10px;background:transparent;border:none;color:#fff;cursor:pointer;font-size:13px;white-space:nowrap;transition:all .2s;opacity:.8;-webkit-user-select:none;user-select:none;touch-action:manipulation}.toolbar-btn[data-v-65f4b02c]:active{opacity:1;transform:scale(.95)}.back-btn[data-v-65f4b02c]{opacity:.7}.modal-overlay[data-v-65f4b02c]{position:fixed;inset:0;z-index:200;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn-65f4b02c .2s ease;touch-action:manipulation}@keyframes fadeIn-65f4b02c{0%{opacity:0}to{opacity:1}}.modal[data-v-65f4b02c]{background:#1a1a1a;border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp-65f4b02c .3s ease}@keyframes slideUp-65f4b02c{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-65f4b02c]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2[data-v-65f4b02c]{margin:0;font-size:18px;font-weight:600;color:#fff}.modal-close[data-v-65f4b02c]{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;background:#ffffff1a;border:none;color:#fff;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation}.modal-close[data-v-65f4b02c]:active{background:#ffffff4d}.modal-body[data-v-65f4b02c]{padding:16px;overflow-y:auto;max-height:calc(80vh - 60px)}.metrics[data-v-65f4b02c]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.metrics div[data-v-65f4b02c]{background:#ffffff0d;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.metrics dt[data-v-65f4b02c]{font-size:11px;opacity:.6;margin-bottom:6px;color:#ffffffb3}.metrics dd[data-v-65f4b02c]{margin:0;font-size:15px;font-weight:600;color:#fff}.modal-actions[data-v-65f4b02c]{display:flex;gap:10px;margin-top:20px}.modal-actions button[data-v-65f4b02c]{flex:1;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.modal-actions button[data-v-65f4b02c]:active{background:#ffffff40;transform:scale(.98)}.message[data-v-65f4b02c],.error[data-v-65f4b02c]{margin:16px 0 0;padding:12px;border-radius:10px;font-size:13px}.message[data-v-65f4b02c]{background:#ffffff0d;color:#fffc}.error[data-v-65f4b02c]{background:#ff3b3026;color:#ff6b6b;border:1px solid rgba(255,59,48,.2)}.feature-empty[data-v-65f4b02c]{padding:40px 20px;text-align:center;opacity:.4;color:#fff}.feature-list[data-v-65f4b02c]{list-style:none;margin:0;padding:0}.feature-item[data-v-65f4b02c]{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.feature-item[data-v-65f4b02c]:last-child{border-bottom:none}.feature-item-header[data-v-65f4b02c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.feature-item-header strong[data-v-65f4b02c]{font-size:14px;color:#fff}.feature-item-header span[data-v-65f4b02c]{font-size:10px;background:#ffffff1a;padding:3px 8px;border-radius:12px;color:#ffffffb3}.feature-item p[data-v-65f4b02c]{margin:4px 0;font-size:12px;opacity:.5;color:#fff9}.feature-item small[data-v-65f4b02c]{font-size:11px;opacity:.4;color:#ffffff80}.mini-map-wrapper[data-v-65f4b02c]{position:fixed;bottom:40px;left:16px;z-index:1000;display:flex;align-items:flex-end;gap:0;transition:all .3s ease}.mini-map-wrapper.collapsed[data-v-65f4b02c]{transform:translate(0)}.mini-map-container[data-v-65f4b02c]{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000080;border:2px solid rgba(255,255,255,.15)}.mini-map[data-v-65f4b02c]{width:160px;height:160px;background:#1a1a1a;display:block}.mini-map-legend[data-v-65f4b02c]{background:#000000e6;color:#fff;font-size:10px;padding:6px 10px;text-align:center}.mini-map-controls[data-v-65f4b02c]{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:2px}.map-ctrl-btn[data-v-65f4b02c]{width:24px;height:24px;background:#0009;border:none;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;-webkit-user-select:none;user-select:none;touch-action:manipulation}.map-ctrl-btn[data-v-65f4b02c]:first-child{border-radius:6px 6px 0 0}.map-ctrl-btn[data-v-65f4b02c]:last-child{border-radius:0 0 6px 6px}.map-ctrl-btn[data-v-65f4b02c]:active{background:#fff6}.map-toggle-btn[data-v-65f4b02c]{width:24px;height:50px;background:#000000b3;border:none;border-radius:0 6px 6px 0;color:#fff;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.8;-webkit-user-select:none;user-select:none;touch-action:manipulation}.map-toggle-btn[data-v-65f4b02c]:active{opacity:1;background:#000000e6}[data-v-65f4b02c] .user-marker{width:40px;height:40px;position:relative;display:flex;align-items:center;justify-content:center}[data-v-65f4b02c] .user-marker-dot{width:14px;height:14px;background:#4285f4;border:2px solid #ffffff;border-radius:50%;position:relative;z-index:3;box-shadow:0 0 0 3px #4285f44d,0 0 10px #4285f480}[data-v-65f4b02c] .user-marker-pulse{position:absolute;width:40px;height:40px;border-radius:50%;background:#4285f41a;animation:pulse-65f4b02c 2s ease-out infinite;z-index:1}[data-v-65f4b02c] .user-marker-direction{position:absolute;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:14px solid #4285f4;top:2px;left:50%;margin-left:-8px;z-index:2;filter:drop-shadow(0 0 4px rgba(66,133,244,.6));transform-origin:center bottom}@keyframes pulse-65f4b02c{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}@media(max-width:768px){.toolbar[data-v-65f4b02c]{padding:10px 12px}.toolbar-title[data-v-65f4b02c]{font-size:14px}.toolbar-btn[data-v-65f4b02c]{padding:6px 8px;font-size:12px}.modal[data-v-65f4b02c]{max-width:100%;margin:10px;border-radius:14px}.mini-map-wrapper[data-v-65f4b02c]{bottom:36px;left:8px}.mini-map[data-v-65f4b02c]{width:130px;height:130px}.map-toggle-btn[data-v-65f4b02c]{height:45px;width:22px;font-size:9px}.map-ctrl-btn[data-v-65f4b02c]{width:22px;height:22px;font-size:12px}}
