@media (orientation:portrait) and (width<=900px){body.play-theme-haunted-lanterns .play-shell[data-game-shell]{--game-width-from-height:100vw}body.play-theme-haunted-lanterns .play-shell[data-game-shell] .game-stage{aspect-ratio:auto;height:max(460px,100svh - 112px)}}@media (orientation:landscape) and (height<=520px){body.play-theme-haunted-lanterns .play-shell[data-game-shell]{--game-width-from-height:100vw}body.play-theme-haunted-lanterns .play-shell[data-game-shell] .game-stage{aspect-ratio:auto;height:max(230px,100svh - 108px)}}body.play-theme-haunted-lanterns .play-shell[data-game-shell]:fullscreen{--game-shell-max-width:100vw;--fullscreen-game-width:100vw}body.play-theme-haunted-lanterns .play-shell[data-game-shell]:fullscreen .game-stage{aspect-ratio:auto;height:calc(100dvh - 56px)}body.play-theme-haunted-lanterns{--player-surface:#2f2443;--player-ink:#f7ecd6}.hl-root{--hl-ink:#3b2a22;--hl-cream:#fff8ea;--hl-paper:#f7e8c8;--hl-paper-edge:#d8b46e;--hl-brown:#7a5230;--hl-plum:#5d3f86;--hl-plum-dark:#3f2a5e;--hl-pumpkin:#f19a45;--hl-pumpkin-dark:#a9531b;--hl-gold:#f6cf6a;--hl-msg-h:56px;--hl-msg-size:15px;grid-template-rows:auto minmax(0, 1fr) var(--hl-msg-h) auto;color:var(--hl-ink);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#2f2443;outline:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"hud""slot""msg""bar";font-family:ui-rounded,Nunito,Trebuchet MS,Segoe UI,system-ui,sans-serif;display:grid;position:absolute;inset:0;overflow:hidden}.hl-root [hidden]{display:none!important}.hl-root button{-webkit-tap-highlight-color:transparent}.hl-canvas{touch-action:none;display:block;position:absolute;inset:0}.hl-root>:is(.hl-hud,.hl-slot,.hl-msg,.hl-bar){z-index:1;position:relative}.hl-root[data-phase=title] :is(.hl-hud,.hl-msg,.hl-bar){visibility:hidden}.hl-hud{pointer-events:none;grid-area:hud;align-items:center;gap:8px;min-width:0;padding:7px 8px 3px;display:flex}.hl-hud>*{pointer-events:auto}.hl-where{text-align:center;background:linear-gradient(#f8dc8e 0%,#e2ad4f 55%,#c98d34 100%);border:2px solid #8a5a20;border-radius:12px;flex-direction:column;flex:auto;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:3px 10px;line-height:1.1;display:flex;box-shadow:inset 0 1px #fff3c4,inset 0 -2px #a8742a66,0 3px 6px #12081e66}.hl-where strong{font-size:var(--hl-where-size,16px);color:#3a2410;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.hl-where span{color:#5c3a16;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:700;overflow:hidden}.hl-count{border:2px solid var(--hl-paper-edge);background:linear-gradient(180deg, var(--hl-cream), var(--hl-paper));font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:22px;flex:none;align-items:center;gap:4px;min-height:44px;padding:2px 10px 2px 8px;font-size:15px;display:inline-flex;box-shadow:0 3px 6px #12081e66}.hl-count:empty{display:none}.hl-count b{font-weight:800}.hl-count>span{opacity:.75;font-size:12px;font-weight:700}.hl-count svg{flex:none;width:20px;height:20px}.hl-ico-ghost path{fill:#fbf7ff;stroke:#6a6288;stroke-width:1.6px;stroke-linejoin:round}.hl-ico-ghost circle{fill:#3b2a22;stroke:none}.hl-golden{color:#a8741c;margin-left:2px;display:inline-flex}.hl-golden svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.hl-golden .hl-ico-flame{fill:#f6b53c;stroke:#c4761a;stroke-width:1px}.hl-golden.is-spent{opacity:.32;filter:grayscale()}.hl-slot{pointer-events:none;grid-area:slot;min-height:0}.hl-msg{border:2px solid var(--hl-paper-edge);background:linear-gradient(180deg, #fffbf0 0%, var(--hl-paper) 100%);min-height:0;font-size:var(--hl-msg-size);text-align:center;border-radius:12px;grid-area:msg;justify-content:center;align-items:center;margin:0 10px;padding:4px 12px;font-weight:600;line-height:1.22;display:flex;overflow:hidden;box-shadow:inset 0 0 0 3px #fff8ea99,0 4px 8px #12081e55}.hl-msg span{overflow-wrap:break-word;min-width:0;max-width:100%}.hl-root.hl-has-hint .hl-msg{background:linear-gradient(#fff6d8,#f9e2a2);border-color:#d39b2c}.hl-bar{grid-area:bar;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px 8px 8px;display:grid}.hl-switch{grid-column:span 2;grid-template-columns:1fr 1fr;display:grid}.hl-switch .hl-btn:first-child{border-right-width:1px;border-radius:14px 0 0 14px}.hl-switch .hl-btn:last-child{border-left-width:1px;border-radius:0 14px 14px 0}.hl-bar:not(.hl-done) .hl-btn{white-space:nowrap;flex-direction:column;gap:1px;min-height:50px;padding:3px 2px;font-size:12.5px;line-height:1.05}.hl-done{gap:6px;display:flex}.hl-done .hl-btn{white-space:normal;text-align:center;flex:1 1 0;min-width:0;min-height:50px;padding:4px 8px;font-size:14px;line-height:1.1}.hl-btn{border:2px solid var(--hl-brown);background:linear-gradient(180deg, var(--hl-cream) 0%, #f2e0bd 100%);min-width:44px;min-height:46px;color:var(--hl-ink);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #fff,0 3px #4a2e1a,0 5px 8px #12081e55}.hl-btn:active{transform:translateY(2px);box-shadow:inset 0 1px #fff,0 1px #4a2e1a}.hl-btn:disabled{opacity:.55;cursor:default}.hl-btn:disabled:active{transform:none}.hl-root button:focus-visible{outline:3px solid var(--hl-gold);outline-offset:2px}.hl-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:21px;height:21px}.hl-btn .hl-ico-ghost{width:22px;height:22px}.hl-btn .hl-ico-flame{fill:#f6b53c;stroke:#c4761a;stroke-width:1px}.hl-root .hl-tool[aria-pressed=true]{background:linear-gradient(180deg, #7a59a8 0%, var(--hl-plum) 100%);border-color:var(--hl-plum-dark);color:var(--hl-cream);transform:translateY(2px);box-shadow:inset 0 2px 4px #1d1030aa,0 1px #2a1a40}.hl-root .hl-hint.is-armed{background:linear-gradient(180deg, #fff1b8 0%, var(--hl-gold) 100%);border-color:#a8741c}.hl-primary,.hl-cta{background:linear-gradient(180deg, #ffc27a 0%, var(--hl-pumpkin) 60%, #e07f2c 100%);border-color:var(--hl-pumpkin-dark);color:#3a1d08}.hl-root.hl-wide{--hl-msg-h:128px;grid-template-columns:minmax(0,1fr) minmax(220px,268px);grid-template-rows:auto var(--hl-msg-h) auto minmax(0, 1fr);grid-template-areas:"slot hud""slot msg""slot bar""slot.";column-gap:0}.hl-wide .hl-hud{flex-wrap:wrap;align-content:flex-start;padding:14px 14px 6px 4px}.hl-wide .hl-where{flex:100%;order:-1;min-height:54px}.hl-wide .hl-where strong{font-size:var(--hl-where-size,19px)}.hl-wide .hl-where span{font-size:13px}.hl-wide .hl-rooms{flex:auto}.hl-wide .hl-count{flex:auto;justify-content:center}.hl-wide .hl-msg{font-size:var(--hl-msg-size);margin:6px 14px 6px 4px}.hl-wide .hl-bar{grid-template-columns:1fr 1fr;gap:8px;padding:4px 14px 10px 4px}.hl-wide .hl-switch{grid-column:1/-1}.hl-wide .hl-bar:not(.hl-done) .hl-btn{flex-direction:row;gap:6px;min-height:48px;padding:4px 8px;font-size:15px}.hl-wide .hl-done{flex-wrap:wrap;gap:8px;padding:4px 14px 10px 4px}.hl-wide .hl-done .hl-btn{flex:40%;min-height:48px}.hl-wide .hl-done .hl-primary{flex-basis:100%}.hl-root.hl-wide.hl-short{--hl-msg-h:84px;grid-template-columns:minmax(0,1fr) minmax(206px,236px)}.hl-short .hl-hud{flex-wrap:nowrap;gap:6px;padding:6px 8px 2px 2px}.hl-short .hl-where{display:none}.hl-short .hl-msg{margin:4px 8px 4px 2px;padding:3px 8px}.hl-short .hl-bar{gap:5px;padding:2px 8px 6px 2px}.hl-short .hl-bar:not(.hl-done) .hl-btn{min-height:44px;padding:2px 6px;font-size:13.5px}.hl-short .hl-done{flex-flow:wrap;gap:5px}.hl-short .hl-done .hl-btn{flex:40%;min-height:44px;font-size:13px}.hl-short .hl-done .hl-primary{flex-basis:100%}.hl-card{z-index:3;overscroll-behavior:contain;justify-content:center;align-items:flex-start;padding:14px;display:flex;position:absolute;inset:0;overflow:auto}.hl-card[data-kind=rooms]{background:#1a1028a6}.hl-card[data-kind=title]{align-items:flex-end;padding-bottom:6%}.hl-card-inner{border:3px solid var(--hl-paper-edge);background:linear-gradient(180deg, #fffbf1 0%, var(--hl-paper) 100%);border-radius:20px;width:min(430px,100%);margin:auto 0;padding:16px 18px 18px;position:relative;box-shadow:inset 0 0 0 4px #fff8ea,inset 0 0 0 5px #e7cf9c,0 14px 32px #12081e8c}.hl-card[data-kind=title] .hl-card-inner{margin:auto 0 0}.hl-card h2{color:var(--hl-plum-dark);margin:0 0 6px;font-size:26px;line-height:1.1}.hl-lead{margin:0 0 10px;font-size:15px;line-height:1.35}.hl-note{background:#fbe3c0;border:1px solid #e0a862;border-radius:12px;margin:0 0 10px;padding:8px 10px;font-size:13.5px;line-height:1.35}.hl-rules{margin:0 0 12px;padding-left:20px;font-size:14px;line-height:1.35}.hl-rules li+li{margin-top:3px}.hl-tally{color:#6a4a1c;margin:0 0 10px;font-size:14px;font-weight:700}.hl-actions{margin-bottom:8px;display:flex}.hl-cta{border:2px solid var(--hl-pumpkin-dark);min-height:54px;font:inherit;cursor:pointer;border-radius:16px;flex:auto;padding:8px 16px;font-size:18px;font-weight:800;box-shadow:inset 0 1px #ffe2b8,0 3px #6e3410,0 6px 10px #12081e55}.hl-cta:active{transform:translateY(2px);box-shadow:inset 0 1px #ffe2b8,0 1px #6e3410}.hl-row{gap:8px;display:flex}.hl-row .hl-btn{min-height:54px}.hl-row>.hl-btn:last-child{flex:none}.hl-wide-btn{text-align:left;flex:auto;justify-content:flex-start;min-width:0}.hl-wide-btn>span{flex-direction:column;min-width:0;line-height:1.15;display:flex}.hl-wide-btn small{opacity:.8;white-space:normal;font-size:12px;font-weight:600}.hl-card[data-kind=rooms] .hl-card-inner{width:min(560px,100%)}.hl-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.hl-card-head h2{margin:0}.hl-close{flex:none}.hl-daily{color:var(--hl-cream);background:linear-gradient(#4a3570,#352552);border:2px solid #23173a;border-radius:14px;align-items:center;gap:10px;margin:0 0 8px;padding:8px 10px;display:flex}.hl-daily>div{flex-direction:column;flex:auto;min-width:0;line-height:1.2;display:flex}.hl-daily small{opacity:.88;font-size:12.5px}.hl-daily .hl-btn{flex:none}.hl-floor{border-top:1px dashed #cdb07a;padding:8px 0 4px}.hl-floor h3{color:#4a3020;margin:0 0 6px;font-size:16px}.hl-floor h3 small{opacity:.75;font-size:12.5px;font-weight:600}.hl-doors{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.hl-door{color:#f7e6c4;min-width:0;min-height:54px;font:inherit;cursor:pointer;background:linear-gradient(#8a5a38 0%,#6b4329 100%);border:2px solid #4a2e1a;border-radius:18px 18px 5px 5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 2px 2px;font-size:16px;font-weight:800;display:flex;position:relative;box-shadow:inset 0 0 0 3px #0002,inset 2px 2px #b57f55,0 3px #3a2312}.hl-door b{line-height:1}.hl-door svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.hl-door .hl-ico-flame{fill:#f6b53c;stroke:#c4761a;stroke-width:1px}.hl-door.is-lit{color:#3a2410;background:linear-gradient(#ffe7a8 0%,#f2b85c 100%);border-color:#94601f;box-shadow:inset 0 0 0 3px #fff3c866,0 3px #6e4514,0 0 12px #ffd36b88}.hl-door.is-golden{background:linear-gradient(#fff6c8 0%,#f6cf6a 60%,#e0a93a 100%)}.hl-door.is-progress i{background:#ffd36b;border-radius:50%;width:9px;height:9px;box-shadow:0 0 6px #ffd36b}.hl-door.is-here{outline-offset:1px;outline:3px solid #9a72d0}.hl-door.is-locked{opacity:.45;cursor:default;color:#d8c8c0;background:linear-gradient(#5a4a52,#46383f)}.hl-door:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 0 0 3px #0002,0 1px #3a2312}.hl-locked-floor{color:#6a5a4a;border-top:1px dashed #cdb07a;margin:0;padding:8px 0;font-size:14px;font-weight:700}.hl-locked-floor small{font-weight:600}.hl-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (width<=440px){.hl-root:not(.hl-wide) .hl-of{display:none}.hl-root:not(.hl-wide) .hl-where{padding:3px 6px}}@media (width<=380px){.hl-rooms span{display:none}.hl-rooms{padding:6px 8px}.hl-count{padding:2px 8px 2px 6px}.hl-count>span{display:none}.hl-hud{gap:6px}.hl-card{padding:10px}.hl-card-inner{padding:14px 14px 16px}.hl-doors{gap:5px}.hl-daily{flex-wrap:wrap}.hl-daily .hl-btn{flex:100%}}@media (width<=350px){.hl-doors{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (height<=520px){.hl-card{padding:8px}.hl-card[data-kind=title]{align-items:center;padding-bottom:8px}.hl-card[data-kind=title] .hl-card-inner{width:min(620px,100%);margin:auto 0;padding:12px 16px 14px}.hl-card h2{margin-bottom:4px;font-size:21px}.hl-lead{margin-bottom:6px;font-size:13.5px}.hl-rules{margin-bottom:8px;font-size:13px;line-height:1.25}.hl-cta{min-height:48px;font-size:16px}.hl-row .hl-btn{min-height:48px}}@media (prefers-reduced-motion:reduce){.hl-root *,.hl-root{transition:none!important;animation:none!important}.hl-btn:active,.hl-cta:active,.hl-door:active:not(:disabled){transform:none}}
