@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
:root{--green:#007063;--green-dark:#06483f;--gold:#d2ab67;--ink:#101827;--muted:#667085;--surface:rgba(255,255,255,.94);--line:rgba(0,112,99,.15);--shadow:0 28px 90px rgba(1,24,22,.24)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{font-family:Kalameh,Tahoma,sans-serif;color:var(--ink);background:#071c1a;overflow:hidden}button,a,input{font:inherit}button{color:inherit}a{color:inherit}.tour{position:relative;width:100%;height:100%;min-height:620px;overflow:hidden;isolation:isolate}.webgl-stage{position:absolute;inset:0;background:#dce5e3}.webgl-stage canvas{display:block;width:100%;height:100%;touch-action:none}.webgl-fallback{position:absolute;width:100%;height:100%;object-fit:cover}.has-webgl .webgl-fallback{display:none}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(1,22,20,.23),transparent 34%,transparent 68%,rgba(1,22,20,.16)),linear-gradient(180deg,rgba(1,22,20,.22),transparent 24%,transparent 74%,rgba(1,22,20,.24))}
.topbar{position:absolute;z-index:40;top:22px;right:28px;left:28px;height:64px;padding:0 20px;border:1px solid rgba(255,255,255,.7);border-radius:19px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,.88);box-shadow:0 16px 44px rgba(0,34,31,.13);backdrop-filter:blur(18px)}.brand{display:flex;width:max-content}.brand img{width:118px;height:auto;object-fit:contain}.live-pill{display:flex;align-items:center;gap:7px;color:#315751;font-size:.7rem}.live-pill span{width:7px;height:7px;border-radius:50%;background:#14a98f;box-shadow:0 0 0 6px rgba(20,169,143,.12)}.live-pill b{font:800 .7rem system-ui;color:var(--green)}.top-actions{justify-self:end;display:flex;align-items:center;gap:8px}.catalog-open,.exit-link{height:38px;padding:0 12px;border:1px solid #d9e5e2;border-radius:11px;display:flex;align-items:center;gap:7px;background:#fff;color:#315751;text-decoration:none;font-size:.68rem;cursor:pointer}.catalog-open svg,.exit-link svg{width:16px}.exit-link{width:38px;padding:0;justify-content:center}
.intro{position:absolute;z-index:22;top:108px;right:38px;bottom:38px;width:min(420px,calc(100% - 76px));padding:clamp(34px,5vh,56px) 42px;border:1px solid rgba(255,255,255,.78);border-radius:29px;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(20px);transition:.4s ease}.intro.is-leaving{opacity:0;transform:translateX(28px)}.eyebrow{margin:0;color:var(--green);font:800 .58rem/1.6 system-ui;letter-spacing:.13em}.intro h1{margin:18px 0 0;font-size:clamp(2.55rem,4.1vw,4.6rem);line-height:1.02;letter-spacing:-.045em}.intro h1 em{color:var(--green);font-style:normal;font-weight:300}.intro-rule{width:44px;height:3px;margin:28px 0;background:var(--gold);border-radius:99px}.intro>p:not(.eyebrow){margin:0;color:var(--muted);font-size:.92rem;line-height:2.05}.start-button{width:100%;min-height:66px;margin-top:30px;padding:0 22px;border:0;border-radius:18px;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 17px 32px rgba(0,112,99,.22);transition:.2s}.start-button:hover{background:var(--green-dark);transform:translateY(-2px)}.start-button svg{width:22px}.intro-meta{margin-top:auto;padding-top:24px;border-top:1px solid #dfe7e5;display:grid;grid-template-columns:1fr 1fr;gap:10px}.intro-meta span{display:flex;align-items:center;gap:7px;color:#405852;font-size:.65rem}.intro-meta span:last-child{grid-column:1/-1}.intro-meta svg{width:16px;color:var(--green)}
.robot{position:absolute;z-index:18;left:34px;bottom:24px;width:clamp(210px,19vw,300px);pointer-events:none;transition:.35s}.robot-body{display:block;width:100%;max-height:65vh;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 30px rgba(0,24,22,.18))}.robot-bubble{position:absolute;top:6%;left:64%;width:205px;padding:13px 15px;border:1px solid rgba(255,255,255,.82);border-radius:16px;background:rgba(255,255,255,.95);color:#36524e;font-size:.7rem;line-height:1.7;box-shadow:0 12px 35px rgba(4,41,37,.14);backdrop-filter:blur(12px)}.robot-face-guide{display:none}.tour.is-started .robot{left:50%;bottom:76px;width:min(460px,calc(100% - 48px));opacity:1;transform:translateX(-50%)}.tour.is-started .robot-body,.tour.is-started .robot-bubble{display:none}.tour.is-started .robot-face-guide{display:flex;flex-direction:column;align-items:center;gap:8px}.robot-face-guide p{order:1;width:100%;margin:0;padding:12px 18px;border:1px solid rgba(255,255,255,.82);border-radius:17px;background:rgba(255,255,255,.94);color:#274a45;font-size:.72rem;line-height:1.85;text-align:center;box-shadow:0 14px 38px rgba(0,31,28,.18);backdrop-filter:blur(16px)}.robot-product-card{order:3;position:relative;width:100%;padding:13px;border:1px solid rgba(255,255,255,.86);border-radius:21px;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto 1fr;gap:5px 14px;background:rgba(255,255,255,.97);box-shadow:0 18px 48px rgba(0,31,28,.22);pointer-events:auto;backdrop-filter:blur(18px)}.robot-product-card:not([hidden]){display:grid}.robot-product-index{grid-column:1/-1;padding-inline-end:38px;color:var(--green);font:800 .52rem/1.5 system-ui;letter-spacing:.12em}.robot-product-close{position:absolute;top:9px;left:9px;width:31px;height:31px;padding:0;border:0;border-radius:9px;display:grid;place-items:center;background:#eaf3f1;color:var(--green);cursor:pointer}.robot-product-close svg{width:15px}.robot-product-image{grid-column:1;grid-row:2;width:118px;height:112px;border-radius:14px;object-fit:contain;background:#f2f7f6}.robot-product-copy{grid-column:2;grid-row:2;min-width:0;display:flex;flex-direction:column}.robot-product-copy small{color:var(--green);font-size:.54rem}.robot-product-copy h3{margin:3px 0 7px;color:var(--ink);font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.robot-product-copy dl{margin:auto 0 7px;padding-top:6px;border-top:1px solid #dce7e4;display:grid;gap:3px}.robot-product-copy dl div{display:flex;justify-content:space-between;gap:8px}.robot-product-copy dt{color:var(--muted);font-size:.52rem}.robot-product-copy dd{max-width:66%;margin:0;color:#263831;font:700 .52rem/1.45 system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.robot-product-copy a{min-height:31px;padding:0 10px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;text-decoration:none;font-size:.56rem;font-weight:800}.robot-product-copy a svg{width:14px}.robot-face{order:2;width:156px;height:156px;flex:0 0 auto;background-image:url('./assets/robot-face-states.png');background-repeat:no-repeat;background-size:300% 200%;filter:drop-shadow(0 18px 22px rgba(0,24,22,.3));transition:filter .22s,transform .22s}.robot-face.state-0{background-position:0 0}.robot-face.state-1{background-position:50% 0}.robot-face.state-2{background-position:100% 0}.robot-face.state-3{background-position:0 100%}.robot-face.state-4{background-position:50% 100%}.robot-face.state-5{background-position:100% 100%}.robot-face.state-6,.robot-face.state-7,.robot-face.state-8{background-image:url('./assets/robot-face-positive-states.png');background-size:300% 100%;filter:drop-shadow(0 18px 26px rgba(0,150,129,.4))}.robot-face.state-6{background-position:0 0}.robot-face.state-7{background-position:50% 0}.robot-face.state-8{background-position:100% 0}.robot-face.state-1,.robot-face.state-3,.robot-face.state-6,.robot-face.state-7,.robot-face.state-8{transform:translateY(-2px);filter:drop-shadow(0 18px 26px rgba(0,112,99,.38))}.robot-face.state-4{filter:drop-shadow(0 16px 22px rgba(210,171,103,.4))}
.reticle{position:absolute;z-index:15;top:50%;left:50%;width:28px;height:28px;border:1px solid rgba(255,255,255,.82);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 5px rgba(0,112,99,.24)}.reticle span{position:absolute;inset:8px;border-radius:50%;background:#fff}.reticle.is-target{border-color:var(--gold);box-shadow:0 0 0 7px rgba(210,171,103,.28)}.reticle.is-target span{background:var(--gold)}.hover-label{position:absolute;z-index:15;top:calc(50% + 27px);left:50%;max-width:290px;padding:8px 11px;border-radius:10px;background:rgba(5,56,50,.88);color:#fff;text-align:center;font-size:.66rem;line-height:1.5;transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(10px)}
.tour-hud{position:absolute;z-index:20;right:28px;left:28px;bottom:24px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.location-card{min-width:205px;padding:12px 16px;border:1px solid rgba(255,255,255,.72);border-radius:17px;display:grid;background:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(0,31,28,.16);backdrop-filter:blur(16px);pointer-events:auto}.location-card span{color:var(--muted);font-size:.55rem}.location-card b{font-size:.82rem}.location-card small{color:var(--green);font:800 .57rem system-ui}.hud-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.hud-actions>button,.vr-mount>*{position:static!important;width:auto!important;min-width:88px!important;height:50px!important;padding:0 13px!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:15px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:rgba(255,255,255,.92)!important;color:var(--green-dark)!important;text-decoration:none!important;opacity:1!important;font:800 .65rem Kalameh,Tahoma,sans-serif!important;cursor:pointer!important;box-shadow:0 14px 38px rgba(0,31,28,.16)!important;backdrop-filter:blur(16px)}.hud-actions svg{width:17px}.vr-mount>*{background:var(--green)!important;color:#fff!important}.vr-mount>*:not(#VRButton){background:#475467!important}.desktop-controls{position:absolute;z-index:18;left:50%;bottom:29px;padding:9px 14px;border:1px solid rgba(255,255,255,.65);border-radius:15px;align-items:center;gap:7px;background:rgba(6,72,63,.86);color:#fff;font-size:.58rem;box-shadow:0 12px 35px rgba(0,24,22,.18);backdrop-filter:blur(12px);transform:translateX(-50%)}.desktop-controls:not([hidden]){display:flex}.desktop-controls span{display:flex;gap:3px}.desktop-controls kbd{min-width:19px;height:19px;padding:0 4px;border:1px solid rgba(255,255,255,.42);border-radius:5px;display:grid;place-items:center;font:700 .48rem system-ui}.desktop-controls i{width:1px;height:16px;background:rgba(255,255,255,.25)}
.catalog-drawer,.product-drawer{position:absolute;z-index:60;top:104px;bottom:28px;width:min(420px,calc(100% - 56px));padding:28px;border:1px solid rgba(255,255,255,.78);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:var(--shadow);backdrop-filter:blur(20px);transition:.38s cubic-bezier(.2,.8,.2,1)}.catalog-drawer{right:28px;display:flex;flex-direction:column;transform:translateX(calc(100% + 45px))}.catalog-drawer.is-open{transform:none}.product-drawer{left:28px;overflow:auto;transform:translateX(calc(-100% - 45px))}.product-drawer.is-open{transform:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.drawer-head span{color:var(--green);font:800 .55rem system-ui;letter-spacing:.11em}.drawer-head h2{margin:4px 0 2px;font-size:1.65rem}.drawer-head p{margin:0;color:var(--muted);font-size:.68rem}.drawer-head button,.drawer-close{width:40px;height:40px;padding:0;border:0;border-radius:12px;display:grid;place-items:center;background:#eaf3f1;color:var(--green);cursor:pointer}.drawer-head svg,.drawer-close svg{width:19px}.catalog-search{height:50px;margin:20px 0 14px;padding:0 13px;border:1px solid #d8e5e2;border-radius:14px;display:flex;align-items:center;gap:8px;background:#fff}.catalog-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,112,99,.08)}.catalog-search svg{width:18px;color:var(--green)}.catalog-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.76rem}.catalog-list{min-height:0;overflow:auto;display:grid;gap:7px;padding-inline-end:4px}.catalog-item{width:100%;padding:11px 12px;border:1px solid #e0e9e7;border-radius:13px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;background:#fff;text-align:right;cursor:pointer;transition:.18s}.catalog-item:hover,.catalog-item:focus-visible{border-color:var(--green);background:#f2f8f6;outline:0}.catalog-number{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e4f1ee;color:var(--green);font:800 .56rem system-ui}.catalog-copy{min-width:0;display:grid}.catalog-copy b{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-copy small{color:var(--muted);font:.56rem system-ui}.catalog-rack{color:var(--green);font-size:.56rem;white-space:nowrap}.catalog-empty{margin:auto;color:var(--muted);font-size:.74rem}.drawer-close{position:absolute;top:20px;left:20px}.drawer-index{color:var(--green);font:800 .58rem system-ui;letter-spacing:.13em}.product-photo{height:205px;margin:20px -4px 24px;border-radius:20px;display:grid;place-items:center;background:#f3f7f6;overflow:hidden}.product-photo img{width:88%;height:88%;object-fit:contain;mix-blend-mode:multiply}.product-kicker{margin:0;color:var(--green);font-size:.67rem}.product-drawer h2{margin:7px 0 20px;font-size:1.45rem;line-height:1.45}.product-drawer dl{margin:0;border-block:1px solid #dee7e5}.product-drawer dl>div{padding:10px 0;display:flex;justify-content:space-between;gap:12px}.product-drawer dt{color:var(--muted);font-size:.7rem}.product-drawer dd{margin:0;font:700 .68rem system-ui;text-align:left}.drawer-note{color:var(--muted);font-size:.67rem;line-height:1.8}.product-link{min-height:52px;margin-top:16px;padding:0 17px;border-radius:15px;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;text-decoration:none;font-weight:800;font-size:.75rem}.product-link svg{width:18px}
.help-dialog{width:min(520px,calc(100% - 28px));padding:34px;border:1px solid #d7e4e1;border-radius:26px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.help-dialog::backdrop{background:rgba(1,22,20,.56);backdrop-filter:blur(5px)}.help-dialog>button{position:absolute;top:17px;left:17px;width:40px;height:40px;border:0;border-radius:12px;display:grid;place-items:center;background:#eaf3f1;color:var(--green);cursor:pointer}.help-dialog>button svg{width:19px}.help-dialog h2{margin:7px 0 22px;font-size:1.8rem}.help-dialog ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}.help-dialog li{padding:13px;border:1px solid #e0e9e7;border-radius:14px;display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:.7rem}.help-dialog li>svg{flex:0 0 auto;width:20px;color:var(--green)}.help-dialog li span{display:grid}.help-dialog li b{color:var(--ink);font-size:.78rem}
.touch-controls{display:none!important}
.loading{position:fixed;z-index:100;inset:0;display:grid;place-items:center;align-content:center;gap:10px;background:#f4f8f7;color:var(--green);transition:.4s}.loading.is-done{opacity:0;visibility:hidden}.loading>span{width:40px;height:40px;border:3px solid #d9e8e5;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.loading p{margin:5px 0 0;font-size:.78rem}.loading small{color:var(--muted);font-size:.62rem}.webgl-error{position:absolute;z-index:50;inset:auto 24px 24px;padding:24px;border-radius:20px;background:#fff;box-shadow:var(--shadow);text-align:center}.webgl-error h2{margin:0;font-size:1.25rem}.webgl-error p{color:var(--muted)}.webgl-error button{padding:11px 18px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800}@keyframes spin{to{transform:rotate(1turn)}}
@media(max-width:900px){.topbar{top:12px;right:12px;left:12px;height:58px;padding:0 14px}.live-pill{display:none}.intro{top:84px;right:16px;bottom:16px;width:min(390px,calc(100% - 32px));padding:32px}.robot{left:-20px;width:235px}.robot-bubble{display:none}.tour.is-started .robot{left:50%;bottom:24px;width:min(420px,calc(100% - 32px))}.robot-face-guide p{font-size:.65rem;padding:10px 14px}.robot-face{width:122px;height:122px}.catalog-drawer,.product-drawer{top:84px;bottom:16px;width:min(390px,calc(100% - 32px))}.catalog-drawer{right:16px}.product-drawer{left:16px}.desktop-controls{display:none!important}.tour-hud{top:84px;right:16px;left:16px;bottom:auto;align-items:flex-start}.location-card{min-width:150px;padding:9px 12px}.hud-actions{margin-right:auto}.hud-actions>button,.vr-mount>*{min-width:48px!important;width:48px!important;height:44px!important;padding:0!important}.hud-actions>button span{display:none}.vr-mount>*{font-size:0!important}.vr-mount>*:after{content:'VR';font:800 .62rem system-ui}.reticle{width:24px;height:24px}}
@media(max-width:640px){.tour{min-height:540px}.topbar{grid-template-columns:1fr auto}.brand img{width:103px}.catalog-open{font-size:0;width:38px;padding:0;justify-content:center}.exit-link{display:none}.intro{padding:30px 26px}.intro h1{font-size:2.9rem}.intro>p:not(.eyebrow){font-size:.82rem}.intro-meta{display:none}.start-button{margin-top:auto}.robot{display:none}.tour.is-started .robot{display:block;left:50%;bottom:104px;width:calc(100% - 104px)}.robot-face-guide{gap:4px}.robot-face-guide p{padding:8px 10px;border-radius:13px;font-size:.56rem;line-height:1.6}.robot-product-card{padding:9px;border-radius:15px;grid-template-columns:82px minmax(0,1fr);gap:3px 9px}.robot-product-index{font-size:.44rem}.robot-product-close{top:6px;left:6px;width:26px;height:26px}.robot-product-image{width:82px;height:88px;border-radius:10px}.robot-product-copy small{font-size:.44rem}.robot-product-copy h3{margin:2px 0 4px;font-size:.64rem}.robot-product-copy dl{margin-bottom:4px;padding-top:3px}.robot-product-copy dt,.robot-product-copy dd{font-size:.43rem}.robot-product-copy a{min-height:25px;font-size:.46rem}.robot-face{width:96px;height:96px}.catalog-drawer,.product-drawer{padding:22px}.catalog-item{grid-template-columns:32px 1fr}.catalog-rack{display:none}.product-photo{height:180px}.product-drawer h2{font-size:1.18rem}.location-card{display:none}.hud-actions{width:100%;justify-content:flex-start}.tour-hud{pointer-events:none}.hud-actions{pointer-events:auto}.vr-mount{margin-right:auto}.hover-label{max-width:240px;font-size:.6rem}.touch-controls{bottom:max(14px,env(safe-area-inset-bottom))}.joystick{width:96px;height:96px}.touch-select{left:64px}}
@media(min-width:480px) and (max-width:640px){.tour.is-started .robot{width:calc(100% - 64px)}.robot-product-card{padding:12px;grid-template-columns:108px minmax(0,1fr);gap:4px 12px}.robot-product-image{width:108px;height:104px}.robot-product-copy small{font-size:.5rem}.robot-product-copy h3{font-size:.76rem}.robot-product-copy dt,.robot-product-copy dd{font-size:.49rem}.robot-product-copy a{min-height:29px;font-size:.53rem}.robot-face-guide p{font-size:.62rem}.robot-face{width:118px;height:118px}}
.robot-face{width:203px;height:203px}
@media(max-width:900px){.robot-face{width:159px;height:159px}}
@media(max-width:640px){.robot-face{width:125px;height:125px}}
@media(min-width:480px) and (max-width:640px){.robot-face{width:153px;height:153px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Responsive hardening v24: dynamic viewport, short screens and safe areas. */
html,body{min-width:0;max-width:100%;height:100%;height:100dvh;overscroll-behavior:none}
body{position:fixed;inset:0}
.tour{height:100%;height:100dvh;min-height:0;max-width:100dvw;overflow:clip;contain:layout paint}
.intro{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(0,112,99,.26) transparent}
.intro::-webkit-scrollbar,.catalog-list::-webkit-scrollbar,.product-drawer::-webkit-scrollbar,.help-dialog::-webkit-scrollbar{width:6px}
.intro::-webkit-scrollbar-thumb,.catalog-list::-webkit-scrollbar-thumb,.product-drawer::-webkit-scrollbar-thumb,.help-dialog::-webkit-scrollbar-thumb{border-radius:99px;background:rgba(0,112,99,.26)}
.catalog-drawer,.product-drawer{max-width:calc(100dvw - 24px);contain:layout paint}
.help-dialog{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
button,a,input{max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(210,171,103,.95);outline-offset:3px}
.catalog-open,.exit-link,.drawer-head button,.drawer-close,.help-dialog>button,.touch-forward,.touch-select{-webkit-tap-highlight-color:transparent}

@media(max-width:900px){
  .topbar{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left))}
  .intro{top:84px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-height:calc(100dvh - 100px)}
  .tour-hud{top:84px;right:max(16px,env(safe-area-inset-right));left:max(16px,env(safe-area-inset-left))}
  .catalog-drawer,.product-drawer{top:84px;bottom:max(16px,env(safe-area-inset-bottom))}
  .catalog-drawer{right:max(16px,env(safe-area-inset-right))}
  .product-drawer{left:max(16px,env(safe-area-inset-left))}
  .touch-controls{right:max(18px,env(safe-area-inset-right));left:max(18px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}
}

@media(max-width:640px){
  .topbar{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));height:58px;padding:0 12px;border-radius:17px}
  .brand img{width:98px}
  .catalog-open{width:44px;height:44px;border-radius:13px}
  .intro{top:calc(max(8px,env(safe-area-inset-top)) + 68px);right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));bottom:auto;width:auto;height:auto;max-height:calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:clamp(22px,4.8vh,30px) 22px;border-radius:23px}
  .intro h1{margin-top:12px;font-size:clamp(2.1rem,11vw,2.75rem);line-height:1.04}
  .intro-rule{margin:18px 0}
  .intro>p:not(.eyebrow){font-size:.84rem;line-height:1.9}
  .start-button{min-height:56px;margin-top:clamp(18px,4vh,28px);border-radius:16px}
  .tour.is-started .robot{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 96px);width:min(78vw,320px)}
  .robot-face-guide p{padding:9px 12px;font-size:.68rem;line-height:1.65}
  .robot-face{width:clamp(108px,32vw,136px);height:clamp(108px,32vw,136px)}
  .robot-product-card{padding:11px;grid-template-columns:92px minmax(0,1fr);gap:4px 10px}
  .robot-product-image{width:92px;height:92px}
  .robot-product-copy small,.robot-product-copy dt,.robot-product-copy dd{font-size:.52rem}
  .robot-product-copy h3{font-size:.7rem}
  .robot-product-copy a{min-height:30px;font-size:.54rem}
  .tour-hud{top:calc(max(8px,env(safe-area-inset-top)) + 68px);right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left))}
  .hud-actions>button,.vr-mount>*{min-width:46px!important;width:46px!important;height:46px!important;border-radius:14px!important}
  .catalog-drawer,.product-drawer{top:calc(max(8px,env(safe-area-inset-top)) + 68px);bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-width:none;padding:20px;border-radius:22px}
  .catalog-drawer{right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));transform:translateX(calc(100% + 24px))}
  .product-drawer{right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));transform:translateX(calc(-100% - 24px))}
  .drawer-head h2{font-size:1.42rem}
  .drawer-head p,.product-kicker,.drawer-note{font-size:.72rem}
  .catalog-item{min-height:52px;padding:10px;grid-template-columns:34px minmax(0,1fr);gap:9px}
  .catalog-copy b{font-size:.76rem}
  .catalog-copy small{font-size:.63rem}
  .product-photo{height:clamp(130px,25vh,180px);margin:16px -2px 18px}
  .product-drawer h2{margin-bottom:14px;font-size:1.16rem}
  .product-link{min-height:50px}
  .help-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:26px 20px 20px;border-radius:22px}
  .help-dialog h2{padding-inline-start:44px;font-size:1.42rem}
  .help-dialog li{font-size:.76rem;line-height:1.75}
  .loading{padding:24px;text-align:center}
  .loading p{max-width:300px;font-size:.82rem;line-height:1.8}
}

@media(max-width:380px){
  .brand img{width:90px}
  .intro{padding:20px 18px}
  .intro h1{font-size:clamp(1.95rem,10.5vw,2.3rem)}
  .intro-rule{margin:14px 0}
  .intro>p:not(.eyebrow){font-size:.78rem;line-height:1.75}
  .start-button{min-height:52px;margin-top:16px;padding:0 16px}
  .joystick{width:88px;height:88px}
  .joystick span{width:42px;height:42px}
  .touch-forward,.touch-select{width:54px;height:54px}
  .touch-select{left:60px}
}

@media(max-height:700px){
  .topbar{top:max(8px,env(safe-area-inset-top));height:52px}
  .brand img{width:94px}
  .catalog-open,.exit-link{height:40px}
  .intro{top:calc(max(8px,env(safe-area-inset-top)) + 62px);bottom:max(8px,env(safe-area-inset-bottom));padding:20px 24px;border-radius:21px}
  .intro h1{margin-top:8px;font-size:clamp(2rem,5vw,2.7rem)}
  .intro-rule{margin:12px 0}
  .intro>p:not(.eyebrow){font-size:.78rem;line-height:1.7}
  .intro-meta{display:none}
  .start-button{min-height:50px;margin-top:14px}
  .tour:not(.is-started) .robot{display:none}
  .tour.is-started .robot{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 66px);width:min(310px,calc(100% - 96px))}
  .robot-face-guide p{padding:7px 10px;font-size:.62rem;line-height:1.5}
  .robot-face{width:104px;height:104px}
  .tour-hud{top:calc(max(8px,env(safe-area-inset-top)) + 62px)}
  .catalog-drawer,.product-drawer{top:calc(max(8px,env(safe-area-inset-top)) + 62px);bottom:max(8px,env(safe-area-inset-bottom));padding:18px}
  .product-photo{height:130px;margin-block:12px}
  .help-dialog{max-height:calc(100dvh - 16px);padding-block:22px}
  .joystick{width:82px;height:82px}
  .joystick span{width:38px;height:38px}
  .touch-forward,.touch-select{width:52px;height:52px;border-radius:15px}
  .touch-select{left:58px}
}

@media(max-height:500px) and (min-width:641px){
  .intro{right:max(12px,env(safe-area-inset-right));width:min(360px,calc(100% - 24px));padding:16px 20px}
  .intro h1{font-size:2rem}
  .intro>p:not(.eyebrow){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .start-button{min-height:46px}
  .tour.is-started .robot{width:270px}
  .robot-face{width:92px;height:92px}
}

@media(max-width:640px) and (max-height:700px){
  .intro{bottom:auto;max-height:calc(100dvh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}

@media(min-width:1600px) and (min-height:900px){
  .intro{right:max(46px,calc((100vw - 1920px)/2 + 46px));width:460px;padding-inline:48px}
  .robot{left:max(42px,calc((100vw - 1920px)/2 + 42px));width:320px}
}

/* On touch devices the scene itself is the controller. Keep the lower edge clear. */
@media(max-width:900px){
  .touch-controls{display:none!important}
  .tour.is-started .robot{bottom:max(14px,env(safe-area-inset-bottom))}
  .tour.is-started .robot.has-product{width:min(430px,calc(100% - 20px));pointer-events:none}
  .robot.has-product .robot-face-guide>p,.robot.has-product .robot-face{display:none}
  .robot.has-product .robot-product-card{pointer-events:auto}
}

@media(max-width:640px){
  .tour.is-started .robot{width:min(78vw,320px)}
  .tour.is-started .robot.has-product{width:calc(100% - 20px)}
  .robot.has-product .robot-product-card{grid-template-columns:86px minmax(0,1fr);padding:10px}
  .robot.has-product .robot-product-image{width:86px;height:86px}
  .robot.has-product .robot-product-copy h3{font-size:.72rem}
}

/* v26 controls: remove the centre pointer and expose the existing touch controls. */
.reticle{display:none!important}
.desktop-controls{padding:10px 16px;gap:8px;font-size:.68rem}
.desktop-controls kbd{min-width:22px;height:22px;font-size:.55rem}

@media(max-width:900px) and (pointer:coarse){
  .touch-controls:not([hidden]){
    position:absolute;
    z-index:25;
    right:max(16px,env(safe-area-inset-right));
    left:max(16px,env(safe-area-inset-left));
    bottom:max(14px,env(safe-area-inset-bottom));
    display:flex!important;
    align-items:flex-end;
    justify-content:space-between;
    direction:ltr;
    pointer-events:none;
  }
  .joystick{
    position:relative;
    width:92px;
    height:92px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:50%;
    background:rgba(6,72,63,.7);
    box-shadow:0 14px 36px rgba(0,24,22,.22);
    backdrop-filter:blur(12px);
    touch-action:none;
    pointer-events:auto;
  }
  .joystick span{
    position:absolute;
    top:50%;
    left:50%;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 16px rgba(0,24,22,.24);
    transform:translate(-50%,-50%);
  }
  .touch-forward,.touch-select{
    width:56px;
    height:56px;
    padding:0;
    border:1px solid rgba(255,255,255,.78);
    border-radius:17px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.94);
    color:var(--green-dark);
    box-shadow:0 14px 36px rgba(0,24,22,.2);
    touch-action:none;
    pointer-events:auto;
  }
  .touch-forward{margin-left:auto;margin-right:10px}
  .touch-select{background:var(--green);color:#fff}
  .touch-forward svg,.touch-select svg{width:22px;height:22px}
  .tour.is-started .robot{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 92px)}
}
