/*! (c) 2026 NEED immersive reality GmbH - https://xr-need.com/ - Proprietary & confidential. All rights reserved. NOT open source. No redistribution, reproduction, or reverse engineering. */
:root{--fg:#eef0f2;--accent:#c0c6cc;--panel:#0e0f11c7;--border:#bac0c652}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;height:100%;color:var(--fg);background:#101113;margin:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;overflow:hidden}#app{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hud{z-index:10;letter-spacing:.03em;color:var(--fg);background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(6px);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;user-select:none;border-radius:8px;max-width:calc(100vw - 28px);padding:6px 10px;font-size:12px;position:fixed;top:12px;left:14px;overflow:hidden}#progress{z-index:95;opacity:0;pointer-events:none;user-select:none;transition:opacity .35s;position:fixed;top:0;left:0;right:0}#progress.show{opacity:1;transition:none}#progress .track{backdrop-filter:blur(4px);background:#0a0b0cb8;border-bottom:1px solid #bac0c638;width:100%;height:5px;overflow:hidden}#progress .bar{background:var(--fg);width:0%;height:100%;transition:width .2s;box-shadow:0 0 8px #eef0f28c}#progress.indet .bar{width:40%;transition:none;animation:1.1s ease-in-out infinite alternate progindet}#progress .pct{letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:var(--fg);background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(6px);white-space:nowrap;border-radius:6px;padding:3px 8px 3px 10px;font-size:10px;position:absolute;top:10px;left:50%;transform:translate(-50%)}#progress .pct:empty{display:none}@keyframes progindet{0%{margin-left:0%}to{margin-left:60%}}@media (prefers-reduced-motion:reduce){#progress .bar{transition:none}#progress.indet .bar{animation-duration:2s}}#loader{z-index:10;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(6px);border-radius:10px;align-items:center;gap:10px;max-width:96vw;padding:8px 12px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}#loader-hint{opacity:.7;font-size:11px}#sample-select{font:inherit;color:var(--fg);border:1px solid var(--border);cursor:pointer;background:#30323680;border-radius:8px;max-width:160px;padding:7px 8px;font-size:12px;transition:background .15s}#sample-select:hover{background:#46494eb3}#sample-select option{color:var(--fg);background:#232527}.btn{font:inherit;color:var(--fg);border:1px solid var(--border);cursor:pointer;background:#30323680;border-radius:8px;padding:8px 12px;font-size:12px;transition:background .15s,box-shadow .15s}.btn:hover:not(:disabled){background:#46494eb3;box-shadow:0 0 14px #c8cdd238}.btn:disabled{opacity:.6;cursor:default}#drop-overlay{z-index:80;backdrop-filter:blur(4px);background:#101113c7;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#drop-overlay.show{display:flex}#drop-overlay .drop-inner{border:2px dashed var(--accent);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 12px #c8cdd252;text-align:center;border-radius:16px;padding:28px 40px;font-size:16px}#drop-overlay .drop-sub{letter-spacing:.16em;text-transform:none;opacity:.7;margin-top:10px;font-size:11px;display:block}#intro{z-index:90;opacity:1;pointer-events:none;user-select:none;background:#101113;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity 1s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}#intro.hide{opacity:0}#intro .pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite intropulse;box-shadow:0 0 16px 2px #c8cdd273}#intro .label{letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:#bec2c6b3;font-size:11px}@keyframes intropulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){#intro .pulse{animation:none}#intro{transition-duration:.4s}}#shader-notice{z-index:96;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#shader-notice.show{display:flex}#shader-notice .sn-card{background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(8px);border-radius:12px;align-items:center;gap:12px;padding:14px 22px;display:flex;box-shadow:0 8px 30px #00000073}#shader-notice .sn-dot{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite intropulse;box-shadow:0 0 14px 2px #c8cdd273}#shader-notice .sn-label{letter-spacing:.04em;color:var(--fg);font-size:13px}@media (prefers-reduced-motion:reduce){#shader-notice .sn-dot{animation:none}}#panel{z-index:15;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(6px);width:248px;color:var(--fg);user-select:none;border-radius:10px;font-size:11px;position:fixed;top:12px;right:14px}#panel .p-head{letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:var(--accent);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;font-size:10px;display:flex}#panel .p-body{padding:2px 12px 10px;display:none}#panel.open .p-body{display:block}#panel .p-row{justify-content:space-between;align-items:center;gap:10px;margin:9px 0;display:flex}#panel .p-row label{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}#panel .p-wrap{flex:none;align-items:center;gap:7px;display:flex}#panel input[type=range]{width:84px;accent-color:var(--accent)}#panel input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}#panel select{font:inherit;color:var(--fg);border:1px solid var(--border);background:#303236e6;border-radius:6px;padding:3px 6px}#panel .p-val{color:var(--fg);text-align:right;min-width:24px}#panel.disabled{opacity:.5;pointer-events:none}#import-report{z-index:20;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(6px);max-width:min(420px,100vw - 28px);color:var(--fg);opacity:0;pointer-events:none;cursor:pointer;user-select:none;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.55;transition:opacity .3s,transform .3s;position:fixed;top:52px;left:14px;transform:translateY(-6px)}#import-report.show{opacity:1;pointer-events:auto;transform:none}#import-report .ir-title{letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:10px;overflow:hidden}#import-report .ir-head{margin-top:4px}#import-report .ir-line{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;padding-left:10px;overflow:hidden}#focus-ring{z-index:60;opacity:0;pointer-events:none;user-select:none;position:fixed;top:0;left:0}#focus-ring .ring{border:2px solid #e6e8eae6;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;box-shadow:0 0 0 1px #10111373,inset 0 0 0 1px #10111373}#focus-ring .tag{letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;white-space:nowrap;color:#e6e8eaeb;text-shadow:0 1px 3px #101113cc;font-size:10px;position:absolute;top:32px;left:50%;transform:translate(-50%)}#focus-ring.show{animation:.95s ease-out forwards focusring}@keyframes focusring{0%{opacity:0;transform:scale(1.4)}18%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){#focus-ring.show{animation:.95s ease-out forwards focusringrm}}@keyframes focusringrm{0%{opacity:1}70%{opacity:1}to{opacity:0}}#fatal{z-index:100;backdrop-filter:blur(6px);background:#0d0e10eb;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}#fatal .fatal-box{text-align:center;max-width:32em;color:var(--fg);letter-spacing:.02em;flex-direction:column;align-items:center;gap:18px;font-size:15px;line-height:1.6;display:flex}@media (width<=700px),(pointer:coarse){#hud{top:calc(6px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));font-size:11px}#loader{bottom:calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px)}#loader-hint{display:none}#sample-select{max-width:44vw}.btn{min-height:42px}#panel{width:224px;top:calc(6px + env(safe-area-inset-top));right:8px}#import-report{top:calc(46px + env(safe-area-inset-top))}}@media (width<=540px){#hud{max-width:calc(100vw - 128px)}#panel{width:auto}#panel.open{left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));top:calc(44px + env(safe-area-inset-top));width:auto}#panel.open input[type=range]{width:min(48vw,220px)}#import-report{max-width:calc(100vw - 136px)}#loader{grid-auto-flow:dense;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;width:calc(100vw - 16px);max-width:none;padding:6px;display:grid}#loader .btn{border-radius:7px;width:100%;min-width:0;min-height:32px;padding:5px 8px;font-size:11px}#sample-select{border-radius:7px;grid-column:1/-1;width:100%;max-width:none;min-height:32px;padding:5px 8px;font-size:11px}}#brand{left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));z-index:10;opacity:.78;-webkit-tap-highlight-color:transparent;line-height:0;transition:opacity .18s;display:block;position:fixed}#brand:hover{opacity:1}#brand img{filter:drop-shadow(0 1px 3px #0000008c);user-select:none;-webkit-user-drag:none;width:auto;height:clamp(22px,2vw + 14px,30px);display:block}@media (width<=700px),(pointer:coarse){#brand{left:calc(8px + env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom) + 58px)}#brand img{height:clamp(20px,5vw,24px)}}@media (width<=540px){#brand{bottom:calc(env(safe-area-inset-bottom) + 132px)}}@media (width>=701px) and (pointer:coarse){#brand{left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom))}}
