/* Кінопортал / Останній сеанс 2026. Isolated styles for existing site. */
.hq{--hq-fire:#ffa446;--hq-ink:#070b12;--hq-border:#484258;--hq-text:#f6e9e5;--hq-fade:#c8b6bd;box-sizing:border-box;background:radial-gradient(ellipse at 80% 0,#351c2f 0,transparent 28%),linear-gradient(180deg,#0b101c 0,#090a10 75%);min-height:85vh;color:var(--hq-text);padding:34px 0 68px;isolation:isolate}
.hq *{box-sizing:border-box}.hq button,.hq input{font:inherit}.hq button{cursor:pointer}.hq-shell{width:min(1440px,calc(100% - 40px));margin:0 auto}.hq a{color:inherit}.hq-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px}.hq-back{font-size:14px;color:#a6bacf!important;text-decoration:none}.hq-back:hover{text-decoration:underline}.hq-kicker,.hq-label{font-size:11px;letter-spacing:.17em;color:var(--hq-fire);font-weight:850;text-transform:uppercase}.hq-kicker{margin:20px 0 6px}.hq-header h1{font-size:clamp(48px,7vw,99px);letter-spacing:-.065em;line-height:1;margin:0 0 12px;font-family:Georgia,serif;text-shadow:0 8px 40px #000b}.hq-header h1 em{color:#ff9951;font-style:normal}.hq-header p:last-child{color:var(--hq-fade);font-size:17px;margin:0}.hq-tools{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.hq-tool{background:#1c202d;border:1px solid #60536a;color:#eee4e8;padding:10px 14px;border-radius:12px;white-space:nowrap;min-height:44px}.hq-tool:hover,.hq-tool:focus-visible{background:#313041;outline:2px solid #dfa16c}.hq-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#f6a249,#f7ba65);color:#221019!important;border:0;border-radius:11px;font-size:15px;font-weight:850;min-height:48px;padding:12px 20px;text-decoration:none;box-shadow:0 6px 22px #ff94442b;cursor:pointer;transition:transform .15s,filter .15s}.hq-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.hq-primary:focus-visible{outline:3px solid #fbd8a4;outline-offset:3px}.hq-muted{font-size:13px;color:#adacbd;line-height:1.65}.hq-notice,.hq-error{padding:15px 20px;margin:18px 0;border:1px solid #936c4a;background:#3b2928;color:#ffe1b7;border-radius:13px}.hq-error{border-color:#ac445e;background:#3e1a2a}.hq-gate{min-height:480px;display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid #855c50;border-radius:22px;overflow:hidden;background:linear-gradient(125deg,#221727,#0e1524)}.hq-gate__art{position:relative;min-height:420px}.hq-gate__art img{width:100%;height:100%;display:block;object-fit:cover}.hq-gate__art:after{content:"";inset:0;position:absolute;background:linear-gradient(90deg,transparent 60%,#0e1524 100%);pointer-events:none}.hq-gate__text{align-self:center;padding:40px 36px}.hq-gate__text h2{font:700 clamp(30px,3.5vw,52px)/1.1 Georgia,serif;margin:12px 0 20px}.hq-gate__text p{color:#d1c5cd;line-height:1.65;max-width:520px}.hq-gate__text form{margin:28px 0}.hq-countdown{display:inline-flex;border:1px solid #a27858;padding:12px 16px;background:#302b2a;border-radius:10px;font-weight:800;color:#ffc591;font-variant-numeric:tabular-nums}.hq-ticket{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:linear-gradient(110deg,#523124,#302031 65%,#171b2b);border:1px dashed #ad7955;border-radius:15px;margin-bottom:16px}.hq-ticket div{display:grid;gap:3px}.hq-ticket span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#e3b281}.hq-ticket strong{font-size:24px;color:#ffe4b9;letter-spacing:.04em}.hq-ticket small{font-size:12px;color:#cec4c4}.hq-progress{height:7px;background:#2d2632;border-radius:99px;overflow:hidden;margin:0 0 24px}.hq-progress>span{display:block;height:100%;background:linear-gradient(90deg,#ef8147,#ffdc86);transition:width .25s}.hq-map{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:23px}.hq-map__room{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:90px;background:#151926;border:1px solid #363645;border-radius:12px;color:#7e8193;filter:saturate(.45)}.hq-map__room>span{font-size:26px}.hq-map__room small{font-size:10px;text-align:center;line-height:1.3;padding:0 4px;min-height:26px}.hq-map__room.is-current{border-color:#ffa755;background:linear-gradient(135deg,#49302c,#25243a);color:#ffe7c4;filter:none;box-shadow:inset 0 0 30px #a6532f26}.hq-map__room.is-done{border-color:#6e8974;color:#d3eed7;filter:none}.hq-game{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr);gap:20px;align-items:start}.hq-scene-area{min-width:0;border-radius:17px;background:#121725;overflow:hidden;border:1px solid var(--hq-border)}.hq-scene-top,.hq-scene-foot{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 17px;color:#cfc4cc;font-size:12px}.hq-scene-top{background:#191a28;border-bottom:1px solid #4b3d48}.hq-scene{position:relative;aspect-ratio:1200/675;overflow:hidden;background:#0a0d18}.hq-scene>img{width:100%;height:100%;object-fit:cover;display:block}.hq-mist{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,transparent,#d7c2df0f,transparent);background-size:200% 100%;animation:hqFog 11s linear infinite;opacity:.8}.hq-hotspot{position:absolute;z-index:2;transform:translate(-50%,-50%);width:52px;height:52px;background:#f7a95226;border:2px solid #f5b66e;box-shadow:0 0 0 8px #e8915522,0 0 25px 4px #e48b3d50;border-radius:50%;color:#fff;display:grid;place-items:center;animation:hqPulse 3.1s ease-in-out infinite}.hq-hotspot>span{font-size:28px;font-weight:800}.hq-hotspot:hover,.hq-hotspot:focus-visible{background:#e49d62af;outline:2px solid #fff;outline-offset:4px;animation:none}.hq-hotspot:nth-child(2){animation-delay:0.8s}.hq-hotspot:nth-child(3){animation-delay:1.5s}.hq-secret{position:absolute;top:13%;right:9%;z-index:3}.hq-secret button{background:#0d152bb3;color:#f9b66b;border:0;width:30px;height:30px;border-radius:100%;font-size:19px;animation:hqPulse 3s infinite}.hq-secret button:focus-visible{outline:3px solid #fff}.hq-scene-foot{align-items:center;min-height:58px}.hq-audio-play{padding:8px 10px;background:transparent;border:1px solid #5a4e60;color:#eec99a;border-radius:10px;min-height:39px;white-space:nowrap}.hq-accessible{margin:0 17px 18px;font-size:13px;color:#c0bfcd;line-height:1.6}.hq-accessible summary{cursor:pointer}.hq-accessible p{border-bottom:1px solid #303240;padding:6px}.hq-sidebar{background:linear-gradient(155deg,#22202c,#141824);border:1px solid #514153;border-radius:17px;overflow:hidden}.hq-story{padding:25px}.hq-story h2{font:700 clamp(25px,2.4vw,39px)/1.12 Georgia,serif;margin:10px 0 18px;color:#ffecd8}.hq-story>p{color:#cfc2d1;font-size:15px;line-height:1.65;margin:0 0 23px}.hq-objective{background:#101420;border-left:3px solid #e5a665;border-radius:5px;padding:16px 19px;margin:0 0 21px}.hq-objective b{font-size:10px;letter-spacing:.12em;color:#f2ac67}.hq-objective p{line-height:1.67;margin:8px 0 0;color:#f4e7e8;font-size:16px}.hq-answer-form{display:grid;gap:12px}.hq-answer-form>label{font-weight:700;font-size:13px}.hq-answer-box{display:flex;align-items:stretch;gap:8px}.hq-answer-box input{min-width:0;flex:1;height:48px;background:#080c16;border:1px solid #7b6570;padding:12px 14px;border-radius:10px;color:#fff;font-size:16px}.hq-answer-box input:focus{outline:2px solid #e7ae79}.hq-choices{display:grid;gap:9px;padding:0;margin:0;border:0}.hq-choices legend{margin-bottom:10px;font-weight:700}.hq-choices label{cursor:pointer}.hq-choices input{position:absolute;opacity:0}.hq-choices span{display:block;padding:12px 14px;border-radius:10px;border:1px solid #615167;background:#2a2736;font-size:14px}.hq-choices input:checked+span{border-color:#ffc18b;background:#4e3a3b}.hq-choices input:focus-visible+span{outline:2px solid #ffe0a0}.hq-submit{width:100%}.hq-play-pattern{margin:0 0 13px}.hq-sequence{display:grid;gap:9px;margin-top:4px}.hq-sequence small{color:#bab1c5;font-size:12px}.hq-sequence>div{display:flex;gap:5px;flex-wrap:wrap}.hq-sequence button{border:1px solid #786271;border-radius:7px;background:#241f2c;color:#ffe2ba;font-size:13px;padding:5px 9px;min-width:35px;min-height:35px}.hq-hints{border-top:1px solid #534657;padding-top:19px;margin-top:28px;color:#f1dccb}.hq-hints>b{font-size:14px}.hq-hints ol{font-size:13px;line-height:1.55;padding-left:20px}.hq-hints li{margin-bottom:8px}.hq-hints button{border:0;background:transparent;color:#ffc08c;text-decoration:underline;min-height:44px;padding:0}.hq-inventory{margin-top:25px;background:#141825;border:1px solid #3c3b4b;padding:17px 22px;border-radius:15px}.hq-inventory h3{font-size:17px;margin:0 0 12px}.hq-inventory__row{display:flex;gap:10px;flex-wrap:wrap}.hq-inventory__row>span{background:#242331;border:1px solid #474158;border-radius:9px;padding:10px 13px;display:inline-flex;gap:8px;align-items:center}.hq-inventory__row small{font-size:12px}.hq-end{text-align:center;background:radial-gradient(circle at 50% 10%,#693b32,#171522 65%);border:1px solid #bc7e5c;border-radius:20px;padding:60px 28px}.hq-end>span{font-size:69px}.hq-end h2{font:700 clamp(32px,4vw,58px)/1.1 Georgia,serif;margin:14px}.hq-end p:not(.hq-label){max-width:660px;margin:12px auto 22px;color:#f2d6ca;font-size:18px;line-height:1.6}.hq-end__stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:25px auto 30px}.hq-end__stats span{border:1px solid #945f54;padding:11px 16px;border-radius:8px;background:#261e26}.hq-restart{margin:17px 0;color:#aeb2bd;font-size:13px}.hq-restart summary{padding:8px 0;cursor:pointer}.hq-restart button{background:none;color:#e0ac8a;border:0;text-decoration:underline;min-height:42px}.hq-footer{border-top:1px solid #3c3540;padding:24px 0;text-align:center;color:#b8b0bf;font-size:12px}.hq-dialog[hidden]{display:none}.hq-dialog{position:fixed;inset:0;z-index:20000;background:#030409dc;display:grid;place-items:center;padding:15px}.hq-dialog__inner{position:relative;background:linear-gradient(140deg,#402e35,#121927);border:1px solid #e1a572;border-radius:18px;width:min(520px,100%);padding:40px 30px;box-shadow:0 20px 70px #000}.hq-dialog__inner h2{font:700 26px Georgia,serif;color:#ffe2b4;margin:14px 0}.hq-dialog__inner p{line-height:1.7;color:#f4e6e1}.hq-dialog__inner>button{position:absolute;top:10px;right:12px;background:none;color:#fff;font-size:30px;border:0;min-width:44px;min-height:44px}.hq--quiet .hq-hotspot,.hq--quiet .hq-mist,.hq--quiet .hq-secret button{animation:none}.hq--quiet .hq-primary{transition:none}
@keyframes hqFog{from{background-position:0 0}to{background-position:200% 0}}@keyframes hqPulse{0%,100%{box-shadow:0 0 0 4px #e8915530,0 0 10px #e48b3d30}50%{box-shadow:0 0 0 12px #e8915514,0 0 27px 6px #e48b3d70}}
@media(max-width:1130px){.hq-game{grid-template-columns:minmax(0,1fr)}.hq-map{grid-template-columns:repeat(4,1fr)}.hq-header{align-items:start}}
@media(max-width:760px){.hq{padding:20px 0 40px}.hq-shell{width:calc(100% - 24px)}.hq-header{display:block}.hq-tools{justify-content:flex-start;margin-top:15px}.hq-gate{grid-template-columns:1fr}.hq-gate__art{min-height:200px;max-height:280px}.hq-gate__art:after{background:linear-gradient(180deg,transparent 65%,#0e1524 100%)}.hq-gate__text{padding:26px}.hq-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.hq-map__room{min-height:73px}.hq-map__room small{font-size:9px}.hq-scene-top,.hq-scene-foot{flex-wrap:wrap}.hq-scene{aspect-ratio:16/12}.hq-scene>img{object-fit:cover}.hq-hotspot{width:41px;height:41px}.hq-story{padding:20px}.hq-answer-box{flex-wrap:wrap}.hq-answer-box .hq-primary{width:100%}.hq-ticket{padding:17px;flex-wrap:wrap}.hq-ticket strong{font-size:20px}}
@media(max-width:380px){.hq-tool{font-size:12px}.hq-scene{aspect-ratio:4/3}.hq-hotspot{width:36px;height:36px}.hq-scene-foot button{width:100%}}
@media(prefers-reduced-motion:reduce){.hq .hq-hotspot,.hq .hq-mist,.hq .hq-secret button{animation:none}.hq .hq-primary,.hq .hq-progress>span{transition:none}}

.hq-ghost{position:absolute;left:5%;bottom:8%;width:clamp(42px,8vw,115px)!important;height:auto!important;pointer-events:none;opacity:.65;filter:drop-shadow(0 0 17px #8d76ed70)}@media(prefers-reduced-motion:reduce){.hq-ghost{display:none}}.hq--quiet .hq-ghost{display:none}

/* Hotspot percentage coordinates must match the SVG art at every viewport width. */
@media(max-width:760px){.hq .hq-scene{aspect-ratio:16/9}.hq .hq-scene>img{object-fit:fill}}

/* 2026-10-19: cinematic artwork + admin-only QA visual styling. */
.hq{background:radial-gradient(ellipse at 65% 0,#48262244 0,transparent 50%),linear-gradient(180deg,#070c13,#04070c 75%)}
.hq-header{position:relative;isolation:isolate;min-height:235px;display:flex;align-items:center;overflow:hidden;border-radius:20px;padding:26px clamp(22px,3vw,48px);border:1px solid #74483d;background:#0d131b;margin-bottom:24px}
.hq-header::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/halloween-2026/scenes/cinema.webp') 60% 48% / cover no-repeat;opacity:.78}
.hq-header::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050910f7 0%,#060a11dc 43%,#0b0d14ad 72%,#10121b82 100%)}
.hq-header h1{font-size:clamp(42px,6vw,84px);letter-spacing:-.05em;max-width:750px;text-shadow:0 4px 26px #000}
.hq-header h1 em{color:#ffb366;text-shadow:0 0 26px #d7472988}
.hq-header .hq-tools{align-self:flex-end;position:relative;z-index:1}
.hq-admin-access{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:16px 0;background:#0b2929;border:1px solid #2f9088;color:#d7fef3;border-radius:12px;font-size:13px}
.hq-admin-access span:first-child{color:#fff0b5;font-weight:900;font-size:14px}
.hq-admin-access strong{font-size:12px;font-weight:650}
.hq-admin-qa{border:1px solid #528c82;background:linear-gradient(135deg,#0c272a,#111a25);padding:17px 20px;border-radius:13px;margin-bottom:22px}
.hq-admin-qa summary{cursor:pointer;font-weight:900;color:#d9fff0;min-height:28px}
.hq-admin-qa__controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0}
.hq-admin-qa__controls form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.hq-admin-qa__controls label{display:block;width:100%;font-size:12px;color:#cbe9e1}
.hq-admin-qa select{background:#09131a;border:1px solid #6b8d89;color:white;max-width:min(450px,100%);min-height:42px;border-radius:8px;padding:7px}
.hq-admin-qa button{border:1px solid #aac5b1;color:#d7fff0;background:#153c3a;border-radius:8px;padding:10px 13px;min-height:42px}
.hq-admin-qa button:hover{background:#24615a}
.hq-admin-qa p{margin:4px 0 0;font-size:12px;color:#a2ccc2}
.hq-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;margin-bottom:27px}
.hq-map__room{display:block;position:relative;min-height:0;overflow:hidden;border-radius:12px;filter:saturate(.32);background:#0b111b;padding:0;border:1px solid #434554;color:#c3bdc8;box-shadow:0 8px 24px #0006}
.hq-map__room.is-current{filter:none;border-color:#ffb157;box-shadow:0 0 0 2px #fd99324d,0 9px 26px #0007;background:#100f17;color:#ffdb9f}
.hq-map__room.is-done{filter:saturate(.8);border-color:#567e67}
.hq-map__cover{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;opacity:.68}
.hq-map__room.is-current .hq-map__cover,.hq-map__room.is-done .hq-map__cover{opacity:.98}
.hq-map__room small{display:block;position:relative;z-index:1;min-height:42px;font-size:12px;text-align:left;padding:11px 11px;line-height:1.3;background:linear-gradient(180deg,#14141c,#0c101b)}
.hq-map__room .hq-map__status{position:absolute;z-index:2;top:8px;left:8px;min-width:31px;height:31px;display:grid;place-items:center;border:1px solid #ffb66d;border-radius:50%;font-size:14px;background:#070b15d9;color:#ffe5b7;font-weight:800;box-shadow:0 2px 10px #0009}
.hq-scene{box-shadow:inset 0 -50px 90px #0008}
.hq-scene>img{filter:saturate(1.08) contrast(1.02)}
.hq-scene-area{box-shadow:0 22px 55px #0006}
.hq-ticket{background:linear-gradient(100deg,#59402bf0,#281b24f3 67%,#0e1820);border-color:#d59d62;box-shadow:0 15px 35px #0004}
.hq-ticket strong{color:#ffddb5}
.hq-scene-foot,.hq-scene-top{background:#0c1018;color:#e1ccd0}
@media(max-width:900px){.hq-map{grid-template-columns:repeat(2,minmax(0,1fr))}.hq-header{min-height:230px;display:block}.hq-header .hq-tools{margin-top:15px;justify-content:flex-start}}
@media(max-width:570px){.hq-header{padding:21px 17px;min-height:215px}.hq-map{gap:7px}.hq-map__room small{font-size:10px;min-height:43px;padding:8px}.hq-map__room .hq-map__status{top:5px;left:5px;min-width:25px;height:25px;font-size:11px}.hq-admin-qa{padding:14px}.hq-admin-qa select{width:100%}.hq-admin-qa__controls form{width:100%}.hq-admin-qa__controls button{width:100%}}


/* Halloween QA 1.2.0 — stable hit targets and functional ticket inspection. */
.hq-dialog[hidden],
.hq-dialog__visual[hidden],
.hq-dialog__actions button[hidden] { display:none !important; }
.hq-dialog:not([hidden]) { display:grid; }
.hq-dialog {--hq-fire:#ffa446;color:#f6e9e5;}
.hq-dialog .hq-label {color:#ffb86e;}
body.hq-dialog-open { overflow:hidden; }
.hq .hq-scene .hq-hotspot {
    z-index:5;
    width:clamp(48px,4.3vw,60px);
    height:clamp(48px,4.3vw,60px);
    min-width:48px;
    min-height:48px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    animation:none !important;
    transition:background-color .15s ease,border-color .15s ease;
}
.hq .hq-scene .hq-hotspot::after {
    content:"";
    position:absolute;
    inset:-7px;
    border:2px solid #f6ac60;
    border-radius:50%;
    animation:hqCircleGlow 2.8s ease-in-out infinite;
    pointer-events:none;
}
.hq .hq-scene .hq-hotspot>span {pointer-events:none;}
.hq .hq-scene .hq-hotspot:hover,
.hq .hq-scene .hq-hotspot:focus-visible {
    box-shadow:0 0 0 7px #ffa54f29,0 0 18px #f5b66e9a;
    background:#a55d35e6;
}
@keyframes hqCircleGlow {
    0%,100% {opacity:.18; transform:scale(.95)}
    50% {opacity:.65; transform:scale(1.07)}
}
.hq--quiet .hq-hotspot::after {animation:none !important;}
.hq .hq-inspect-open {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:14px;
    padding:12px 16px;
    min-height:48px;
    background:#f8ac59;
    color:#271521;
    border:1px solid #ffcf8b;
    border-radius:11px;
    font-weight:850;
    text-align:center;
    touch-action:manipulation;
}
.hq .hq-inspect-open:hover,.hq .hq-inspect-open:focus-visible {background:#ffc879;outline:2px solid #fff0ce;outline-offset:2px;}
.hq .hq-answer-hint {color:#dcc9b6;font-size:13px;line-height:1.6;margin-top:12px;}
.hq-dialog {overflow-y:auto;overscroll-behavior:contain;padding:clamp(10px,3vw,28px);}
.hq-dialog__inner {max-height:calc(100dvh - 35px);overflow-y:auto;overscroll-behavior:contain;}
.hq-dialog--ticket .hq-dialog__inner {width:min(760px,100%);padding:clamp(22px,3vw,35px);}
.hq-dialog__inner #hqDialogTitle {margin-right:40px;}
.hq-dialog__visual {margin:16px 0 18px;}
.hq-dialog__actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:20px;}
.hq-dialog__actions .hq-primary {min-height:46px;}
.hq-zoom-button {
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid #eabf89;background:#20212c;color:#fff5e8;
    padding:11px 14px;border-radius:10px;min-height:46px;font-size:14px;cursor:pointer;
}
.hq-zoom-button:hover,.hq-zoom-button:focus-visible {background:#44313c;outline:2px solid #efd1a1;}
.hq-ticket-inspector {
    overflow:auto;max-height:50dvh;padding:14px;
    border-radius:16px;border:1px solid #685044;
    background:radial-gradient(ellipse at 50% 50%,#3b2827,#13171c 80%);
}
.hq-ticket-art {
    position:relative;max-width:100%;min-width:0;
    padding:clamp(18px,4vw,34px);
    border:4px double #c88b47;border-radius:12px;
    color:#38201b;
    box-shadow:0 15px 38px #0009,inset 0 0 50px #7e492b42;
    background:repeating-linear-gradient(-4deg,#6b43280a 0px,#6b43280a 1px,transparent 1px,transparent 7px),linear-gradient(138deg,#f9e0ac,#d9ab6b 50%,#f3d5a1);
}
.hq-ticket-art::before,.hq-ticket-art::after {content:"";position:absolute;top:47%;height:27px;width:15px;background:#221b1c;border-radius:50%;}
.hq-ticket-art::before {left:-7px;}.hq-ticket-art::after {right:-7px;}
.hq-ticket-art__eyebrow {color:#754735;font-weight:900;letter-spacing:.15em;font-size:clamp(10px,1.7vw,13px);text-align:center;}
.hq-ticket-art__title {font:bold clamp(24px,4vw,37px)/1.12 Georgia,serif;text-align:center;margin:10px 0 5px;color:#40231d;}
.hq-ticket-art__title span {color:#a33428;white-space:nowrap;}
.hq-ticket-art__tagline {margin:7px 0 13px !important;text-align:center;color:#5c3a2e !important;font:italic 16px Georgia,serif;}
.hq-ticket-art__perforation {border-bottom:2px dashed #ad754b;margin:12px 0 20px;}
.hq-ticket-art__numbers {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hq-ticket-art__number {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:125px;border:1px solid #8e573d;background:#fff0ca8a;padding:13px 8px;border-radius:8px;}
.hq-ticket-art__number b {font-size:15px;letter-spacing:.2em;color:#633c2c;}
.hq-ticket-art__number small {font-size:12px;color:#754534;text-align:center;margin-top:7px;}
.hq-ticket-art__icons {white-space:nowrap;font-size:clamp(18px,3.4vw,33px);letter-spacing:.07em;line-height:1.5;}
.hq-ticket-art__stars {display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.05;letter-spacing:.1em;font-size:clamp(17px,3.1vw,28px);color:#9f4125;font-family:Georgia,serif;white-space:nowrap;margin:5px 0;}
.hq-ticket-art__bottom {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:10px;border-top:1px solid #a47b52;color:#5f422d;font-weight:900;font-size:10px;letter-spacing:.07em;}
.hq-ticket-inspector.is-zoomed .hq-ticket-art {width:950px;max-width:none;}
.hq-ticket-inspector.is-zoomed .hq-ticket-art__title {font-size:45px;}
.hq-ticket-inspector.is-zoomed .hq-ticket-art__icons {font-size:46px;}
.hq-ticket-inspector.is-zoomed .hq-ticket-art__stars {font-size:39px;}
@media (max-width:600px) {
  .hq-dialog--ticket .hq-dialog__inner {padding:22px 14px;}
  .hq-ticket-inspector {padding:5px;max-height:55dvh;}
  .hq-ticket-art {padding:18px 9px;}
  .hq-ticket-art__numbers {gap:7px;}
  .hq-ticket-art__number {min-height:113px;padding:8px 2px;}
  .hq-ticket-art__icons {font-size:18px;}
  .hq-ticket-art__stars {font-size:clamp(14px,4.1vw,20px);letter-spacing:0;}
  .hq-ticket-art__bottom {font-size:9px;}
  .hq-dialog__actions {flex-direction:column;}
  .hq-dialog__actions>button {width:100%;}
  .hq .hq-scene .hq-hotspot {width:48px;height:48px;}
}
@media(prefers-reduced-motion:reduce) { .hq .hq-scene .hq-hotspot::after {animation:none;} }

/* 1.3.0: Protect cinematic room art from the site's global image fallback.
   A failed ghost overlay must never turn the room into an empty placeholder. */
.hq .hq-scene > img[data-hq-scene-image] {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:1;
}
.hq .hq-scene--missing-art {
    background:radial-gradient(ellipse at 50% 30%, #483044, #111827 75%);
}
.hq .hq-scene--missing-art::before {
    content:"Ілюстрацію не завантажено. Предмети та загадки залишаються доступними.";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:28px 18%;
    z-index:1;
    color:#f6deb9;
    font-size:clamp(14px,2vw,19px);
    line-height:1.5;
    pointer-events:none;
}

/* 1.4.0: stable hit areas — no animation on the actual clickable control.
   Layers may animate visually, but may never intercept a pointer. */
.hq .hq-scene > img,
.hq .hq-scene > .hq-mist,
.hq .hq-scene::before,
.hq .hq-scene::after { pointer-events:none !important; }
.hq .hq-scene .hq-hotspot {
    animation:none !important;
    transform:translate(-50%,-50%) !important;
    pointer-events:auto !important;
    transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;
    -webkit-user-select:none;
    user-select:none;
    touch-action:manipulation;
}
.hq .hq-scene .hq-hotspot::before,
.hq .hq-scene .hq-hotspot::after {
    animation:none !important;
    pointer-events:none !important;
}
.hq .hq-scene .hq-hotspot:hover,
.hq .hq-scene .hq-hotspot:active,
.hq .hq-scene .hq-hotspot:focus-visible {
    transform:translate(-50%,-50%) !important;
}
