.app-shell{position:relative;min-height:100%;display:grid;place-items:center;padding:2rem}.corner-sound{position:fixed;top:1rem;right:1rem;background:transparent;border:1px solid rgba(232,201,135,.35);border-radius:5px;padding:.4rem .6rem;font-size:1.05rem;line-height:1;cursor:pointer}.corner-sound:hover{background:#e8c9871f}.title-card{max-width:40rem;text-align:center;padding:3rem 2.5rem;background:linear-gradient(180deg,#1a1320d9,#0d0a0ff2);border:1px solid rgba(192,57,43,.35);border-radius:12px;box-shadow:0 0 60px #000000b3,inset 0 0 40px #00000080}.kicker{margin:0 0 .75rem;letter-spacing:.35em;text-transform:uppercase;font-size:.7rem;color:var(--color-text-dim)}.title{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4.5rem);line-height:1.05;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.8)}.title-accent{color:var(--color-blood-bright)}.tagline{margin:1.5rem auto 2rem;max-width:32rem;color:var(--color-text-dim);line-height:1.7}.howto{list-style:none;margin:0 auto 2rem;padding:1rem 1.25rem;max-width:28rem;text-align:left;background:#00000040;border:1px solid rgba(192,57,43,.25);border-radius:8px;color:var(--color-text-dim);line-height:1.9}.enter-button{font-family:var(--font-display);font-size:1.05rem;color:var(--color-candle);background:transparent;border:1px solid var(--color-blood);border-radius:6px;padding:.85rem 1.75rem;cursor:pointer;transition:background .2s ease,color .2s ease}.enter-button:hover:not(:disabled){background:var(--color-blood);color:var(--color-text)}.enter-button:disabled{opacity:.55;cursor:not-allowed}.footnote{margin:2rem 0 0;font-size:.75rem;letter-spacing:.1em;color:#9b8f8699}.game{min-height:100%;display:flex;flex-direction:column}.hud{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:linear-gradient(180deg,#1a1320f2,#0d0a0fe6);border-bottom:1px solid rgba(192,57,43,.35)}.hud__brand{font-family:var(--font-display);font-weight:700;color:var(--color-candle)}.hud__location{margin-left:auto;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;color:var(--color-text-dim)}.hud__timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:.85rem;letter-spacing:.05em;color:var(--color-candle);padding:.2rem .6rem;border:1px solid rgba(232,201,135,.3);border-radius:5px}.hud__timer.is-low{color:var(--color-blood-bright);border-color:#c0392b99;animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.hud__restart{font-family:var(--font-display);color:var(--color-text);background:transparent;border:1px solid var(--color-blood);border-radius:5px;padding:.4rem .9rem;cursor:pointer}.hud__sound{background:transparent;border:1px solid rgba(232,201,135,.35);border-radius:5px;padding:.35rem .55rem;font-size:.95rem;line-height:1;cursor:pointer}.hud__sound:hover{background:#e8c9871f}.hud__restart:hover{background:var(--color-blood)}.game__body{flex:1;display:grid;grid-template-columns:1fr 16rem;gap:1.25rem;padding:1.25rem;max-width:80rem;width:100%;margin:0 auto}@media (max-width: 720px){.game__body{grid-template-columns:1fr}}.scene-wrap{display:flex;flex-direction:column;gap:1rem}.scene{position:relative;aspect-ratio:16 / 9;width:100%;border:1px solid rgba(192,57,43,.3);border-radius:10px;box-shadow:inset 0 0 80px #000000b3;overflow:hidden}.scene-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.scene--dark .scene-art{filter:brightness(.05)}.scene-dark-note{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;margin:0;display:grid;place-items:center;text-align:center;padding:0 2rem;color:var(--color-text-dim);font-style:italic;letter-spacing:.05em;pointer-events:none}.scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 40%,transparent 45%,rgba(0,0,0,.5) 100%);animation:candle-flicker 5s ease-in-out infinite}@keyframes candle-flicker{0%,to{opacity:.85}45%{opacity:1}55%{opacity:.78}70%{opacity:.92}}.scene-title{margin:0 0 .35rem;font-family:var(--font-display);color:var(--color-candle)}.scene-desc{margin:0;color:var(--color-text-dim);line-height:1.6}.scene-message{margin:.75rem 0 0;min-height:1.5rem;color:var(--color-text);font-style:italic}.hotspot{position:absolute;z-index:2;width:10%;height:14%;transform:translate(-50%,-50%);display:grid;place-items:end center;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--color-text)}.hotspot:focus-visible{outline:2px solid rgba(232,201,135,.7);outline-offset:-2px}.hotspot__label{position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%) translateY(-3px);font-size:.72rem;letter-spacing:.04em;padding:.12rem .45rem;border-radius:4px;background:#08050ad9;border:1px solid rgba(232,201,135,.25);opacity:0;transition:opacity .15s ease,transform .15s ease;white-space:nowrap;pointer-events:none}.hotspot:hover .hotspot__label,.hotspot:focus-visible .hotspot__label{opacity:1;transform:translate(-50%) translateY(0)}.inventory{background:linear-gradient(180deg,#1a1320b3,#0d0a0fd9);border:1px solid rgba(192,57,43,.3);border-radius:10px;padding:1rem;height:fit-content}.inventory__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem;border-bottom:1px solid rgba(192,57,43,.25);padding-bottom:.5rem}.inventory__header h3{margin:0;font-family:var(--font-display);color:var(--color-candle)}.inventory__keys{font-size:.85rem;color:var(--color-text-dim)}.inventory__empty{margin:0;color:var(--color-text-dim);font-style:italic;font-size:.9rem}.inventory__save{margin:1rem 0 0;padding-top:.75rem;border-top:1px solid rgba(192,57,43,.2);font-size:.72rem;letter-spacing:.05em;color:#9b8f86b3;text-align:center}.inventory__hint{margin:1rem 0 0;padding:.6rem .5rem;border-top:1px solid rgba(232,201,135,.3);font-size:.78rem;line-height:1.4;color:var(--color-candle);text-align:center}.inventory__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.inventory__item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem;background:#0000004d;border:1px solid transparent;border-radius:6px;color:var(--color-text);cursor:pointer;text-align:left}.inventory__item:hover{border-color:#c0392b80}.inventory__item.is-selected{border-color:var(--color-candle);background:#8b1e2d40}.inventory__icon{font-size:1.4rem}.inventory__name{font-size:.9rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#030204cc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.modal-panel{position:relative;width:min(32rem,100%);background:linear-gradient(180deg,#1f1726,#120d18);border:1px solid var(--color-blood);border-radius:12px;padding:1.75rem;box-shadow:0 0 60px #000c,inset 0 0 30px #00000080}.modal-close{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(192,57,43,.5);background:transparent;color:var(--color-text-dim);cursor:pointer}.modal-close:hover{background:var(--color-blood);color:var(--color-text)}.modal-title{margin:0 0 .5rem;font-family:var(--font-display);color:var(--color-candle)}.modal-prompt{margin:0 0 1.25rem;color:var(--color-text-dim);line-height:1.6}.modal-reward{margin:1.25rem 0 0;font-size:.85rem;color:var(--color-text-dim);text-align:center}.puzzle__error{color:var(--color-blood-bright);font-style:italic;margin:.75rem 0 0}.puzzle__progress{margin:.75rem 0 0;color:var(--color-text-dim);font-size:.85rem;text-align:center}.puzzle__submit{margin-top:1.25rem;width:100%;font-family:var(--font-display);font-size:1rem;color:var(--color-candle);background:transparent;border:1px solid var(--color-blood);border-radius:6px;padding:.7rem 1rem;cursor:pointer}.puzzle__submit:hover{background:var(--color-blood);color:var(--color-text)}.dials{display:flex;justify-content:center;gap:1rem}.dial{display:flex;flex-direction:column;align-items:center;gap:.35rem}.dial__btn{background:transparent;border:none;color:var(--color-candle);font-size:1.1rem;cursor:pointer;line-height:1}.dial__value{font-family:var(--font-display);font-size:2.25rem;width:2.75rem;text-align:center;background:#00000073;border:1px solid rgba(192,57,43,.4);border-radius:6px}.cipher__text{font-family:var(--font-display);font-size:2rem;letter-spacing:.5rem;text-align:center;color:var(--color-candle);margin:0 0 1rem}.cipher__input{width:100%;padding:.7rem .9rem;font-size:1.1rem;text-align:center;letter-spacing:.2rem;text-transform:uppercase;color:var(--color-text);background:#00000073;border:1px solid rgba(192,57,43,.4);border-radius:6px}.match-grid{display:flex;justify-content:space-around;gap:2rem}.match-col{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.match-token{width:3.5rem;height:3.5rem;font-size:1.8rem;background:#0006;border:1px solid rgba(192,57,43,.4);border-radius:8px;cursor:pointer}.match-token.is-selected{border-color:var(--color-candle);box-shadow:0 0 10px #e8c98780}.match-token.is-matched{opacity:.4;cursor:default;border-color:#78c87899}.order-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.order-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;background:#0006;border:1px solid rgba(192,57,43,.35);border-radius:6px}.order-rank{font-family:var(--font-display);color:var(--color-candle);width:1.3rem;text-align:center}.order-label{flex:1}.order-controls{display:flex;gap:.3rem}.order-controls button{background:transparent;border:1px solid rgba(232,201,135,.4);border-radius:4px;color:var(--color-candle);cursor:pointer;width:1.6rem}.order-controls button:disabled{opacity:.3;cursor:not-allowed}.riddle__text{margin:0 0 1rem;font-style:italic;line-height:1.6;color:var(--color-text)}.barrel-row{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.barrel{position:relative;font-size:1.5rem;width:3rem;height:3rem;background:#0006;border:1px solid rgba(192,57,43,.4);border-radius:8px;color:var(--color-text);cursor:pointer}.barrel.is-on-pan{border-color:var(--color-candle);box-shadow:0 0 8px #e8c98780}.barrel.is-accuse{border-color:#c0392bcc}.barrel__num{position:absolute;bottom:1px;right:3px;font-size:.6rem;color:var(--color-text-dim)}.barrel__pan{position:absolute;top:-7px;left:-7px;font-size:.6rem;background:var(--color-candle);color:#1a1018;border-radius:50%;width:14px;height:14px;line-height:14px;text-align:center;font-weight:700}.weigh-pans{text-align:center;color:var(--color-text-dim);margin:.25rem 0}.weigh-result{text-align:center;color:var(--color-candle);font-style:italic;margin:.5rem 0 0}.weigh-low{color:var(--color-blood-bright)}.weigh-actions{display:flex;gap:.6rem;justify-content:center}.hint__toggle{display:block;margin:.9rem auto 0;background:transparent;border:1px dashed rgba(232,201,135,.5);border-radius:6px;color:var(--color-candle);font-family:var(--font-body);font-style:italic;padding:.45rem .8rem;cursor:pointer}:root{--color-bg: #0d0a0f;--color-bg-deep: #060406;--color-panel: #1a1320;--color-blood: #8b1e2d;--color-blood-bright: #c0392b;--color-candle: #e8c987;--color-text: #e7ddd0;--color-text-dim: #9b8f86;--font-display: "Cinzel", "Georgia", "Times New Roman", serif;--font-body: "EB Garamond", "Georgia", "Times New Roman", serif;color-scheme:dark;color:var(--color-text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse at top,#1a1019 0%,var(--color-bg) 55%,var(--color-bg-deep) 100%);font-size:1.05rem}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
