:root{color-scheme:dark;font-family:Arial,sans-serif;color:#f1eee5;background:#101511;--gold:#d8bf84}*{box-sizing:border-box}body{margin:0;overflow:hidden}#view{display:block;width:100vw;height:100dvh;outline:0;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;background:linear-gradient(#0009,transparent)}.brand{font-size:21px;letter-spacing:5px}.brand span{display:block;font-size:8px;letter-spacing:3px;margin-top:8px;color:#d3d0c6}#room{font-size:12px;background:#101511b8;border:1px solid #ffffff25;padding:11px 17px;border-radius:30px}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0a100bae;backdrop-filter:blur(5px);z-index:5}.card{width:min(460px,calc(100% - 36px));background:#172019ee;border:1px solid #bba98040;border-radius:22px;padding:36px;box-shadow:0 20px 100px #0008}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold)}h1{font-family:Georgia,serif;font-weight:400;font-size:40px;line-height:1.12;margin:22px 0 16px}p{font-size:14px;color:#cccfc8;line-height:1.65}small{display:block;margin-top:24px;font-size:11px;line-height:1.8;color:#959e94}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}button{border:1px solid #ffffff25;border-radius:8px;background:#152119e8;color:#eeeae0;padding:12px 17px;font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--gold)}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:wait}.actions button:first-child{background:var(--gold);color:#182019;border:0;font-weight:bold}.secondary{background:transparent}#progress{font-size:11px;color:#bcc5b9;margin-top:24px}progress{width:100%;height:3px;accent-color:var(--gold);display:block;margin-top:10px}.rooms{position:fixed;top:118px;left:30px;display:flex;flex-direction:column;gap:8px}.rooms button{text-align:left;color:var(--gold);font-size:10px}.rooms span{color:#eeeae0;margin-left:12px;font-size:12px}.rooms button.active{border-color:var(--gold);background:#243328ed}footer{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:6px;border:1px solid #ffffff25;border-radius:12px;background:#0e1711da;backdrop-filter:blur(10px);white-space:nowrap}footer button{border:0;background:transparent;padding:11px 13px}#tour{background:#d8bf8422;color:var(--gold)}#mapPanel{position:fixed;left:30px;bottom:90px;width:195px;padding:17px;background:#131d17ec;border:1px solid #ffffff30;border-radius:12px}#mapPanel strong{font-size:11px;font-weight:normal}#plan{width:100%;height:210px;margin-top:12px}#plan text{font-size:12px;fill:#fff}#caption{position:fixed;bottom:106px;left:50%;transform:translateX(-50%);max-width:580px;width:85%;padding:13px 20px;background:#121b15e8;border-radius:9px;text-align:center;line-height:1.6;font-size:13px}#hint{position:fixed;bottom:86px;width:100%;text-align:center;font-size:11px;color:#e1dfd4;text-shadow:0 1px 4px #000;pointer-events:none}#touch{display:none;position:fixed;right:18px;bottom:108px;text-align:center;user-select:none}#touch button{width:44px;height:44px;padding:0;margin:2px;background:#132017bd;font-size:21px}[hidden]{display:none!important}@media(pointer:coarse){#touch{display:block}#hint{display:none!important}}@media(max-width:600px){header{padding:20px}.brand{font-size:16px;letter-spacing:3px}#room{font-size:10px;padding:9px 12px}.rooms{top:95px;left:18px;flex-direction:row}.rooms button{padding:10px}.rooms span{font-size:10px;margin-left:6px}footer{bottom:18px;gap:0}footer button{padding:10px;font-size:11px}.card{padding:28px}h1{font-size:34px}#mapPanel{left:18px;width:155px}#plan{height:165px}#caption{bottom:260px}}

/* начален екран: кадър от избата + голям бутон за старт (моделът се тегли чак след натискане) */
.overlay.start{background:#0b0f0b url(assets/poster.webp?v=2) center/cover no-repeat;backdrop-filter:none;place-items:end center;padding-bottom:54px;text-align:center}
.overlay.start::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0000 0 30%,#000a 100%),linear-gradient(#0005,#0000 25%,#0000 45%,#000d 85%)}
.start__in{position:relative;display:grid;justify-items:center;gap:14px;padding:0 20px}
.start .eyebrow{font-size:11px;letter-spacing:3px;color:#e4c579}
.start h1{margin:0;font:clamp(30px,5vw,54px)/1.05 Georgia,serif;color:#f4ecd8;text-shadow:0 4px 30px #000c}
.play{position:relative;display:flex;align-items:center;gap:14px;margin-top:10px;padding:10px 26px 10px 10px;border-radius:999px;border:1px solid #e4c57999;background:#101711d9;color:#f4ecd8;font-size:17px;cursor:pointer;transition:background .3s,transform .3s}
.play i{position:relative;width:52px;height:52px;border-radius:50%;background:#e4c579;flex:none}
.play i::before{content:"";position:absolute;left:21px;top:16px;border:10px solid transparent;border-left:16px solid #101711;border-right:0}
.play i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #e4c579;animation:playPulse 1.8s ease-out infinite}
.play:hover:not(:disabled){background:#1b261dee;transform:translateY(-2px)}
.play:disabled{opacity:.75;cursor:progress}
.play:disabled i::after{animation:none;opacity:0}
@keyframes playPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.start #progress{min-height:18px;font-size:13px;color:#e8dfc8;text-shadow:0 2px 10px #000}
.start #bar{width:min(260px,70vw);height:3px;accent-color:#e4c579}
.free{background:none;border:0;padding:6px;color:#e8dfc8;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-shadow:0 2px 10px #000}
.free:disabled{opacity:.5}
.start__keys{position:absolute;left:0;right:0;bottom:18px;font-size:11px;color:#cfc7b2b3;padding:0 16px;text-shadow:0 1px 6px #000}
@media (max-width:600px){.overlay.start{padding-bottom:24px}.start__keys{display:none}.start h1{font-size:30px}.play{font-size:15px}.play i{width:44px;height:44px}.play i::before{left:17px;top:12px}}   /* на тесен екран подсказката за клавишите излиза след влизане */
@media (prefers-reduced-motion:reduce){.play i::after{animation:none}}

/* телефон: без текста за залата (покрива почти целия екран) — виждат се само табелките с вината */
@media (max-width:600px){#caption{display:none!important}}
