:root{font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-canvas);--font-sans:system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--color-canvas:#0b1514;--color-surface:#0e1e1cf0;--color-surface-solid:#10211f;--color-surface-border:#294541;--color-text:#edf6f2;--color-text-muted:#a0b8b0;--color-accent:#68e0c3;--color-accent-text:#08251f;--color-danger:#642f32;--color-button:#203a36;--color-button-hover:#2b4a44;--color-location-marker:#f4b860;--color-user-marker:#68e0c3;--radius-control:6px;--radius-panel:8px;--shadow-panel:0 8px 28px #00000057;--focus-ring:2px solid var(--color-accent);--control-gap:12px}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100svh}button,input{font:inherit}button{color:inherit}:where(button,input,dialog):focus-visible{outline:var(--focus-ring);outline-offset:2px}.app{min-height:100svh}.ar-view{z-index:0;position:fixed;inset:0;overflow:hidden}.ar-view--hidden{visibility:hidden;pointer-events:none}.ar-view__canvas{width:100%;height:100%;display:block}.view-loading{z-index:1;background:var(--color-canvas);color:var(--color-text);font:14px/1.5 var(--font-sans);place-items:center;display:grid;position:fixed;inset:0}.control-panel,.control-surface{border:1px solid var(--color-surface-border);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-text);font:13px/1.45 var(--font-mono);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.control-panel{z-index:10;gap:4px;padding:4px;position:fixed}.control-button{border-radius:var(--radius-control);background:var(--color-button);min-height:34px;color:var(--color-text);cursor:pointer;font:600 13px/1.2 var(--font-mono);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:6px 10px;transition:background-color .12s,border-color .12s;display:inline-flex}.control-button:hover{background:var(--color-button-hover)}.control-button:active{background:var(--color-surface-border)}.information-controls{min-width:100px;top:16px;right:16px}.information-controls__actions,.search-controls__row,.notification__header{justify-content:space-between;align-items:center;gap:var(--control-gap);display:flex}.device-stats{border-collapse:collapse;width:100%;margin-top:5px}.device-stats-dialog{background:var(--color-surface-solid);width:min(400px,100vw - 32px);padding:16px}.device-stats-dialog::backdrop{background:#0000008c}.device-stats-dialog__header{justify-content:space-between;align-items:center;gap:var(--control-gap);display:flex}.device-stats-dialog__header h2{font:600 15px/1.3 var(--font-sans);margin:0}.device-stats td{text-align:left;padding:4px 0}.device-stats td:first-child,td:nth-child(3){color:var(--color-text-muted)}.device-stats td:nth-child(2),td:nth-child(4){font-weight:600}.device-stats__heading{color:var(--color-accent)}.notification{min-width:220px;max-width:min(420px,100vw - 32px);padding:12px 16px;bottom:16px;left:16px}.notification__content{flex-direction:column;gap:4px;display:flex}.search-controls{min-width:220px;bottom:16px;right:16px}.search-controls__summary p{margin-top:10px}.search-controls__radius{gap:6px;margin-top:12px;display:grid}.search-controls__radius input{width:100%;accent-color:var(--color-accent)}.search-controls__range-labels{color:var(--color-text-muted);justify-content:space-between;font-size:12px;display:flex}.search-controls__types{border:0;gap:8px;margin:12px 0 0;padding:0;display:grid}.search-controls__types legend{margin-bottom:8px;padding:0}.search-controls__types label{cursor:pointer;align-items:center;gap:8px;display:flex}.search-controls__types input{accent-color:var(--color-accent)}.view-toggle{z-index:20;gap:4px;padding:4px;display:flex;position:fixed;top:16px;left:16px}.view-toggle .control-button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text)}.view-toggle button[aria-pressed=true]:hover{background:#8aecd5}.location-map-view,.location-map-canvas{width:100%;height:100%;position:fixed;inset:0}.location-map-view{z-index:1;background:#e5e7eb}.location-map-message,.location-map-count{z-index:500;text-align:center;max-width:min(420px,100vw - 40px);font:14px/1.5 var(--font-sans);padding:14px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.location-map-message[role=alert]{background:var(--color-danger)}.location-map-count{top:auto;bottom:20px}.location-marker-dot{background:var(--color-location-marker);border:3px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 1px 5px #000}.user-location-marker{width:36px;height:36px;display:block;position:relative}.user-location-marker__direction{transform-origin:50%;position:absolute;inset:0}.user-location-marker__direction:before{background:var(--color-user-marker);clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);content:"";filter:drop-shadow(0 1px 2px #000);width:20px;height:22px;position:absolute;top:0;left:8px}.user-location-marker__dot{box-sizing:border-box;background:var(--color-user-marker);border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:10px;left:10px;box-shadow:0 1px 5px #000}@media (width<=520px){.control-panel{padding:10px 12px;font-size:12px}.control-button{font-size:12px}.search-controls{min-width:190px;max-width:calc(100vw - 20px);bottom:10px;right:10px}.information-controls{top:10px;right:10px}.notification{min-width:0;max-width:calc(100vw - 20px);bottom:10px;left:10px}.view-toggle{top:10px;left:10px}}
