@font-face{font-family:Interface;src:local('Segoe UI')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Interface,'Segoe UI',Arial,sans-serif;color:#f5f3ed;background:#111b17}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c8e1a6;outline-offset:5px}[hidden]{display:none!important}.welcome{min-height:100svh;position:relative;display:flex;flex-direction:column;padding:38px 5.5vw;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('/preview.jpg') center 50%/cover;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(12,28,22,.94),rgba(14,28,23,.74) 40%,rgba(13,25,21,.12)),linear-gradient(0deg,rgba(12,24,19,.75),transparent 35%)}.brand,.intro,.welcome-footer{position:relative;z-index:1}.brand{display:flex;align-items:center;justify-content:space-between}.brand-mark{font-size:30px;font-weight:700;letter-spacing:.06em;display:flex;align-items:center;gap:20px}.brand-mark span{font-size:12px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;border-left:1px solid #ffffff40;padding-left:20px}.edition,.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;color:#c9d3c5}.intro{margin:auto 0;padding:80px 0;max-width:800px}.intro h1{font-size:clamp(45px,5vw,76px);line-height:1.08;font-weight:400;letter-spacing:-.055em;margin:28px 0}.intro em{font-style:normal;color:#c3d5b7}.intro p{color:#d4d9d1;font-size:17px;line-height:1.7;margin:0 0 34px}.primary{border:0;background:#d4e2bc;color:#17231c;min-height:54px;padding:16px 24px;border-radius:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:48px;transition:background .2s,transform .2s}.primary:hover{background:#e5efcf;transform:translateY(-1px)}.primary:disabled{opacity:.65}.primary span{font-size:23px;line-height:1}.readiness{display:flex;align-items:center;gap:9px;font-size:12px;color:#b4c2b1;margin-top:18px}.dot{width:6px;height:6px;background:#b0d58c;border-radius:50%}.welcome-footer{display:flex;justify-content:space-between;align-items:center;color:#bdc7bd;font-size:12px;gap:20px}.text-button{background:transparent;border:0;color:#e2e9dd;padding:12px 0}.viewer{position:fixed;inset:0;background:#101411;overflow:hidden;touch-action:none}.stream{position:absolute;inset:0;touch-action:none;user-select:none}.stream video{width:100%!important;height:100%!important;object-fit:contain;position:absolute!important;inset:0!important;touch-action:none}.viewer-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:16px}.viewer-top>*{pointer-events:auto}.glass{border:1px solid #ffffff26;color:white;background:#142019b8;backdrop-filter:blur(18px);border-radius:12px;padding:12px 16px;min-height:44px}.glass:hover{background:#223329e0}.top-actions{display:flex;gap:8px}.top-actions button{font-size:19px;min-width:44px}#connection{font-size:12px;background:#142019b8;border-radius:20px;padding:9px 14px;color:#dfebdc;backdrop-filter:blur(10px)}.loading{position:absolute;inset:0;background:#101d18ee;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;z-index:4}.loading h2{font-size:28px;font-weight:400;margin:24px 0 12px}.loading p{max-width:390px;color:#b5c2b6;line-height:1.6;margin-bottom:25px}.spinner{width:36px;height:36px;border:2px solid #ffffff24;border-top-color:#cbe3b1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff9;box-shadow:0 0 2px #000;transform:translate(-50%,-50%);pointer-events:none}.controls{position:absolute;inset:0;pointer-events:none}.controls>*{pointer-events:auto}.action-stack{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;flex-direction:column;gap:10px}.interaction{background:#d4e2bc;color:#17241d;border:0;border-radius:14px;padding:15px 20px;min-height:56px;display:flex;align-items:center;gap:14px;font-weight:600;box-shadow:0 6px 30px #0003}.interaction:disabled{background:#142019c9;color:#afbaaf;border:1px solid #ffffff20;box-shadow:none}.key-hint{border:1px solid currentColor;border-radius:5px;padding:1px 6px;font-size:12px;opacity:.7}.home{font-size:13px}.joystick{position:absolute;left:max(32px,env(safe-area-inset-left));bottom:max(35px,env(safe-area-inset-bottom));width:126px;height:126px;border-radius:50%;touch-action:none;user-select:none;background:#15271f45;border:1px solid #ffffff50;backdrop-filter:blur(7px)}.joystick-ring{position:absolute;inset:30px;border:1px solid #ffffff20;border-radius:50%}.stick{position:absolute;left:38px;top:38px;width:48px;height:48px;border-radius:50%;background:#ecf3e8c9;box-shadow:0 2px 12px #0003;pointer-events:none}.joystick-caption{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.14em;color:#e0e9db}.look-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;color:#f7fff1a0;pointer-events:none;white-space:nowrap}dialog{background:#f4f4ed;color:#24362a;border:0;border-radius:20px;padding:42px;max-width:560px;width:calc(100% - 32px);box-shadow:0 25px 100px #0006}dialog::backdrop{background:#04100ab5;backdrop-filter:blur(8px)}dialog h2{font-size:34px;line-height:1.15;font-weight:400;letter-spacing:-.04em;margin:15px 0 25px}dialog .eyebrow{color:#647361}dialog p{font-size:14px;line-height:1.65;color:#667163}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px;color:#677564;padding:5px 10px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.help-grid strong{font-size:14px}.help-grid p{font-size:13px}kbd{font-family:inherit;background:#e3e8da;border-radius:4px;padding:1px 5px;font-size:12px}.note{border-top:1px solid #d5ddcd;padding-top:17px}#shareDialog{text-align:center}#qr{border:12px solid white;border-radius:12px;width:220px;height:220px}.access-code strong{letter-spacing:.17em;color:#203a29}.login{display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top right,#354739,#112219 70%)}.login-card{max-width:520px;width:100%}.login h1{font-weight:400;font-size:46px;letter-spacing:-.04em;line-height:1.1}.login p{color:#b5c3b5;line-height:1.6}.login form{display:flex;flex-direction:column;gap:12px;margin-top:30px}.login label{font-size:13px;color:#c7d5c6}.login input{border:1px solid #ffffff30;background:#ffffff0c;color:#fff;border-radius:10px;padding:16px;font-size:23px;letter-spacing:.2em}.login .primary{margin-top:8px}@media(hover:hover) and (pointer:fine){.joystick{display:none}.look-hint:after{content:'WASD — движение · мышь с зажатой кнопкой — обзор';font-size:12px}.look-hint{font-size:0}.action-stack{bottom:32px}}@media(max-width:680px){.welcome{padding:25px 25px}.brand-mark{font-size:25px}.brand-mark span{font-size:10px;padding-left:15px}.edition{display:none}.intro{padding:70px 0}.intro h1{font-size:48px}.intro p{font-size:15px;max-width:330px}.desktop-only{display:none}.hero-shade{background:linear-gradient(0deg,#10251df5,rgba(14,28,23,.8) 60%,rgba(13,25,21,.35))}.hero-image{background-position:60% center}.welcome-footer{font-size:10px;align-items:flex-start;flex-direction:column;gap:8px}.viewer-top{left:12px;right:12px;top:max(12px,env(safe-area-inset-top));gap:8px}#connection{font-size:10px;padding:8px 10px}.glass{padding:10px 12px}.joystick{width:112px;height:112px;left:24px;bottom:max(45px,env(safe-area-inset-bottom))}.stick{left:31px;top:31px}.action-stack{right:18px;bottom:max(44px,env(safe-area-inset-bottom))}.interaction{font-size:12px;padding:14px;max-width:180px;min-height:50px}.key-hint{display:none}.look-hint{bottom:max(12px,env(safe-area-inset-bottom));font-size:9px}dialog{padding:32px 24px}.help-grid{grid-template-columns:1fr;gap:8px}dialog h2{font-size:29px}}@media(max-height:500px){.intro{padding:35px 0}.intro h1{font-size:42px}.intro p{font-size:14px}.welcome{padding:20px 30px}.joystick{width:100px;height:100px;bottom:30px}.stick{left:25px;top:25px}.action-stack{bottom:22px}.look-hint{display:none}}
