:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f3f4f5;background:#0b131f;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;height:100%;overflow:hidden}
button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}
.walk-app{display:flex;flex-direction:column;height:100dvh;min-height:400px}
.walk-header{height:72px;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3.2vw,46px);background:#0b131e;border-bottom:1px solid #273343;z-index:10}
.brand{display:flex;align-items:center;gap:10px;color:#e8bb6e}.brand span{display:flex;flex-direction:column;gap:2px}.brand strong{font-weight:800;font-size:19px;letter-spacing:-.5px;color:#fff}.brand small{font-weight:800;letter-spacing:1.8px;font-size:7px}.walk-header-right{display:flex;align-items:center;gap:19px}.tag{font-size:10px;letter-spacing:2px;color:#e8bb6e;font-weight:800}.back{font-size:13px;font-weight:750;border:1px solid #46556a;border-radius:9px;padding:10px 14px}.back:hover{border-color:#e8bb6e}
.walk-main{flex:1;position:relative;min-height:0;background:radial-gradient(ellipse at center,#334152,#111d2b 72%);overflow:hidden}
.walk-viewer{position:absolute;inset:0}.walk-viewer canvas{display:block;width:100%;height:100%}
.walk-top{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.badge{display:flex;align-items:center;gap:9px;border:1px solid #46546b;background:#0d1726d9;padding:10px 13px;border-radius:100px;font-size:11px;font-weight:800}.dot{width:7px;height:7px;border-radius:50%;background:#49d5a2;box-shadow:0 0 10px #3cd4a6}.blocked{color:#f9c67e;background:#172130dd;border-radius:9px;padding:7px 10px;font-weight:650;font-size:12px}.blocked:empty{display:none}
.crosshair{position:absolute;width:7px;height:7px;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #ffe2a8;border-radius:50%;pointer-events:none;box-shadow:0 0 0 1px #19243099}.crosshair[hidden]{display:none}
.walk-loading{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#0b1524ec,#152337db);padding:20px;z-index:5}.walk-loading.loaded{background:linear-gradient(180deg,#09111bc4,#101c2ddd)}
.loading-panel{background:linear-gradient(148deg,#1d2b3be8,#101b2adf);border:1px solid #a88454;border-radius:18px;box-shadow:0 28px 90px #0008;padding:clamp(26px,4vw,42px);max-width:455px;width:100%;text-align:center;display:flex;flex-direction:column;gap:16px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.3px;color:#e6b66f}.loading-panel h1{font-size:clamp(22px,3vw,29px);letter-spacing:-.8px;line-height:1.2;margin:0}.loading-panel p{font-size:13px;line-height:1.7;color:#c1cddb;margin:0;min-height:45px}.loading-panel small{font-size:10px;line-height:1.5;color:#98a9be}.progress-line{height:4px;border-radius:8px;background:#38485c;overflow:hidden}.progress-line div{height:100%;width:0;background:linear-gradient(90deg,#b8894b,#f9d99e);transition:width .18s}
#walk-start{color:#152132;background:linear-gradient(120deg,#fadba2,#dba965);border:0;border-radius:10px;padding:15px 18px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:14px}#walk-start:disabled{opacity:.44;cursor:wait}#walk-start:not(:disabled):hover{filter:brightness(1.1)}
.walk-loading.loaded{display:none}
.walk-hint{position:absolute;bottom:118px;left:24px;display:flex;flex-direction:column;gap:4px;background:#0e1b2bdd;border:1px solid #384e63;border-radius:11px;padding:13px 16px;pointer-events:none}.walk-hint strong{font-size:13px}.walk-hint span{font-size:11px;color:#b8c7d7}.walk-hint[hidden]{display:none}
.walk-bottom{position:absolute;bottom:33px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.instructions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;background:#0c1828e6;border:1px solid #39485b;border-radius:12px;padding:12px 16px}.instructions>span{display:flex;gap:4px;align-items:center;font-size:11px;color:#c5d2df;white-space:nowrap}.instructions kbd{background:#273549;color:#ffe0a9;padding:3px 5px;border:1px solid #465972;border-radius:4px;min-width:17px;text-align:center;font-weight:800;font-size:10px}.mouse{color:#e8bb6e;font-size:17px}.actions{display:flex;gap:8px}.actions button{background:#19293c;color:#f4d298;border:1px solid #8a6f49;padding:12px 14px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap}.actions button:hover{background:#314358}.actions [hidden]{display:none}
.walk-footer{position:absolute;bottom:7px;left:25px;right:25px;color:#bac7d6;font-size:9px;letter-spacing:1.2px;display:flex;justify-content:space-between;pointer-events:none}
@media(max-width:760px){.walk-header{height:61px;min-height:61px}.brand strong{font-size:15px}.brand small{font-size:6px}.tag{display:none}.back{font-size:11px;padding:9px}.walk-top{top:13px;left:13px;right:13px}.walk-hint{left:13px;bottom:136px}.walk-bottom{left:13px;right:13px;bottom:30px;align-items:flex-end}.instructions{max-width:63%;gap:7px;padding:9px}.instructions>span{font-size:10px}.actions{flex-direction:column}.actions button{padding:9px}.walk-footer{left:13px;right:13px;font-size:7px}}

.walk-loading.ready{background:linear-gradient(180deg,#09111bd9,#111d2ce9)}


/* V8.2 — dodirne kontrole. Desktop stilovi ostaju nepromenjeni. */
.mobile-controls[hidden]{display:none!important}
.mobile-controls{position:absolute;inset:0;pointer-events:none;z-index:3}
.mobile-joystick-wrap{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:calc(92px + env(safe-area-inset-bottom,0px));width:132px;display:flex;align-items:center;flex-direction:column;gap:11px;pointer-events:none}
.mobile-control-label{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#ffdda3;text-shadow:0 2px 5px #001}
.mobile-joystick{position:relative;display:block;width:126px;height:126px;border:1.5px solid #d9b57982;border-radius:50%;background:radial-gradient(circle at center,#182c40b8,#0b1829b0);box-shadow:0 6px 26px #06101a7a,inset 0 0 0 10px #111e2b70;touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto}
.mobile-joystick::before,.mobile-joystick::after{content:'';position:absolute;background:#e5bf8070;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.mobile-joystick::before{width:1px;height:78px}.mobile-joystick::after{height:1px;width:78px}
.joystick-ring{position:absolute;inset:23px;border:1px dashed #edd0a06b;border-radius:50%;pointer-events:none}
.mobile-joystick-knob{position:absolute;left:50%;top:50%;width:55px;height:55px;transform:translate(-50%,-50%);border:2px solid #f1d39a;border-radius:50%;background:linear-gradient(150deg,#edc380d6,#ad7e44ce);box-shadow:0 4px 12px #0007,0 0 0 3px #ffe0aa20;pointer-events:none;will-change:transform}
.mobile-joystick.is-active .mobile-joystick-knob{background:linear-gradient(140deg,#ffe9c2,#daa665)}
.mobile-look-hint{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:calc(159px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:6px;flex-direction:column;pointer-events:none;color:#ffe1aeaa;text-shadow:0 1px 6px #07121d}
.mobile-look-hint .look-gesture{font-size:26px;font-weight:300}.mobile-look-hint span:last-child{font-size:10px;font-weight:750;letter-spacing:.3px}
html.touch-mode .walk-viewer,html.touch-mode .walk-viewer canvas,html.touch-mode .mobile-controls{touch-action:none}
html.touch-mode .walk-bottom .instructions{display:none}
html.touch-mode .walk-bottom{bottom:calc(23px + env(safe-area-inset-bottom,0px));left:auto;right:max(15px,env(safe-area-inset-right));z-index:4}
html.touch-mode .walk-bottom .actions #walk-pause{display:none!important}
html.touch-mode .walk-bottom .actions #walk-reset{padding:11px 17px;border-radius:11px;background:#132437e6}
html.touch-mode .walk-hint{bottom:calc(235px + env(safe-area-inset-bottom,0px));left:15px;right:15px;max-width:360px}
html.touch-mode .walk-footer{bottom:7px;left:15px;right:15px;letter-spacing:.65px;font-size:8px}
html.touch-mode .walk-header{padding-top:env(safe-area-inset-top,0px);padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right));height:calc(61px + env(safe-area-inset-top,0px));min-height:calc(61px + env(safe-area-inset-top,0px))}
html.touch-mode #walk-crosshair{display:none!important}
@media(max-width:480px){
 .mobile-joystick-wrap{bottom:calc(64px + env(safe-area-inset-bottom,0px));width:114px;left:max(12px,env(safe-area-inset-left))}
 .mobile-joystick{width:108px;height:108px}
 .joystick-ring{inset:18px}
 .mobile-joystick::before{height:66px}.mobile-joystick::after{width:66px}
 .mobile-joystick-knob{width:48px;height:48px}
 .mobile-look-hint{bottom:calc(118px + env(safe-area-inset-bottom,0px));right:max(18px,env(safe-area-inset-right))}
 html.touch-mode .walk-bottom{bottom:calc(23px + env(safe-area-inset-bottom,0px))}
 html.touch-mode .walk-footer #walk-meshes{display:none}
 html.touch-mode .walk-footer{max-width:48%}
}
@media (max-height:500px) and (orientation:landscape){
 html.touch-mode .walk-header{height:calc(55px + env(safe-area-inset-top,0px));min-height:calc(55px + env(safe-area-inset-top,0px))}
 .mobile-joystick-wrap{bottom:calc(22px + env(safe-area-inset-bottom,0px));left:max(20px,env(safe-area-inset-left));gap:5px}
 .mobile-joystick{width:102px;height:102px}.joystick-ring{inset:17px}
 .mobile-joystick-knob{width:45px;height:45px}
 .mobile-look-hint{bottom:calc(60px + env(safe-area-inset-bottom,0px));right:max(95px,env(safe-area-inset-right))}
 html.touch-mode .walk-footer{display:none}
 html.touch-mode .walk-bottom{right:max(13px,env(safe-area-inset-right));bottom:calc(13px + env(safe-area-inset-bottom,0px))}
 html.touch-mode .walk-hint{bottom:calc(138px + env(safe-area-inset-bottom,0px));max-width:300px}
}

/* V8.7 — izvor modela 202, diskretno ispod 3D prikaza */
.walk-credit{position:fixed;z-index:8;bottom:3px;left:50%;transform:translateX(-50%);font-size:10px;color:#c9d2df;background:rgba(9,18,30,.84);padding:3px 10px;border-radius:8px;text-align:center;max-width:94vw;pointer-events:auto}
.walk-credit a{color:#e8bc7d;text-decoration:underline}
@media(max-width:680px){.walk-credit{font-size:9px;bottom:env(safe-area-inset-bottom,0px);opacity:.9}}
