[hidden] { display: none !important; }
:root { --chamber-gold: #e5c98b; }
body { font-family: Georgia, serif; }
:focus-visible { outline: 3px solid var(--chamber-gold) !important; outline-offset: 5px; }
button, select, summary, a { touch-action: manipulation; }
button, select, summary { min-height: 44px; }
#chamber-toolbar { position: fixed; inset: 0 0 auto; display: flex; gap: 1.3rem; align-items: center; padding: 1rem 1.5rem; z-index: 1100; background: linear-gradient(#100d1def, #100d1d99); border-bottom: 1px solid #e5c98b25; font: 14px Georgia, serif; }
.chamber-brand { margin-right: auto; color: #fff1d4; text-decoration: none; font: 24px 'New Rocker', Georgia, serif; white-space: nowrap; }
.chamber-brand span { color: var(--chamber-gold); font-size: 16px; }
#chamber-toolbar details { position: relative; }
summary { cursor: pointer; display: flex; align-items: center; color: #f2e7da; }
summary::after { content: '⌄'; margin-left: .6rem; color: var(--chamber-gold); }
#chamber-toolbar nav, .settings-body { position: absolute; right: 0; top: 100%; width: min(320px, 85vw); padding: 1.1rem; background: #171222; border: 1px solid #e5c98b55; box-shadow: 0 12px 30px #0008; max-height: 70vh; overflow: auto; }
#chamber-toolbar nav a { display: block; padding: .7rem; color: #fff0db; text-decoration: none; border-bottom: 1px solid #e5c98b18; }
#chamber-toolbar nav small { display: block; margin-top: .35rem; color: #c0b5c7; }
.settings-body { display: grid; gap: .75rem; line-height: 1.55; }
.settings-body p { margin: 0; color: #c9bfce; }
.settings-body a { color: var(--chamber-gold); }
.settings-body select, .settings-body button { background: #241b32; color: #fff0db; font: inherit; padding: .5rem; border: 1px solid #e5c98b66; }
.chamber-eyebrow { color: var(--chamber-gold); font: 12px Georgia, serif; letter-spacing: .17em; text-transform: uppercase; }
#mood-screen { overflow: auto; padding-top: 110px; padding-bottom: 50px; }
.mood-question, .poem, .progress-label, .error, #selected-character { font-family: Georgia, serif; line-height: 1.65; }
.mood-label { font-family: Georgia, serif; font-size: 15px; letter-spacing: .04em; }
.quiet-button { display: inline-block; margin-top: 1.5rem; padding: .8rem 1.2rem; color: var(--chamber-gold); border: 1px solid #e5c98b55; border-radius: 3px; background: #15101f; text-decoration: none; cursor: pointer; font: 15px Georgia, serif; }
#light-entrance { position: relative; z-index: 30; max-width: 1040px; padding: 130px 24px 70px; margin: auto; }
#light-title { font: clamp(36px, 6vw, 64px) 'New Rocker', Georgia, serif; margin: .7rem 0; }
#light-entrance > p { color: #c9bfce; line-height: 1.6; }
.destination-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.destination-grid a { padding: 1.5rem; min-height: 170px; border: 1px solid #e5c98b44; background: linear-gradient(130deg, #21172e, #120f1bcc); color: #f3e8da; text-decoration: none; }
.destination-grid span { color: var(--chamber-gold); font-size: 12px; letter-spacing: .15em; }
.destination-grid h2 { font: 25px 'New Rocker', Georgia, serif; margin: .8rem 0; }
.destination-grid p { margin: 0; line-height: 1.5; color: #c5bccc; font: 15px Georgia, serif; }
.destination-grid a:hover { border-color: var(--chamber-gold); background: #2a1d38; }
body.light-mode { overflow: auto; }
#character-controls { position: fixed; left: 50%; bottom: 58px; transform: translateX(-50%); display: flex; gap: .8rem; z-index: 1050; }
#character-controls button { padding: .7rem 1.4rem; background: #130f20e8; color: #e5dbe8; border: 1px solid #776580; border-radius: 3px; font: 15px Georgia, serif; }
#character-controls [aria-pressed=true] { border-color: var(--chamber-gold); color: #ffedbf; box-shadow: 0 0 18px #e5c98b33; }
#character-controls [data-character=gian] { border-left: 4px solid #7ec3ff; }
#character-controls [data-character=andrea] { border-left: 4px solid #ffa4d5; }
#chamber-status { position: fixed; left: 1rem; bottom: 1rem; max-width: 40ch; z-index: 1050; color: #e9dded; background: #140e20dd; padding: .5rem; margin: 0; font: 13px Georgia, serif; pointer-events: none; }
#chamber-status:empty { display: none; }
#bg-mute-btn { z-index: 1101; width: auto; height: 44px; border-radius: 3px; font: 14px Georgia, serif; padding: 0 .9rem; }
#ui-overlay { bottom: 12px; }
@media(max-width: 650px) { #chamber-toolbar { padding: .5rem .8rem; gap: .8rem; flex-wrap: wrap; } #help-menu { display: none; } #chamber-toolbar nav, .settings-body { position: fixed; right: 12px; top: 65px; } .destination-grid { grid-template-columns: repeat(2, 1fr); gap: .7rem; } .destination-grid a { padding: 1rem; } .destination-grid h2 { font-size: 22px; } #light-entrance { padding-top: 100px; } .mood-options { flex-wrap: wrap; justify-content: center; } #character-controls { bottom: 190px; } #chamber-status { bottom: 245px; max-width: 70vw; } #selected-character { font-size: 12px; } }
@media(prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition: none !important; scroll-behavior: auto !important; } }

#light-title:focus { outline: none !important; }
.light-mode #bg-mute-btn { position: relative; bottom: auto; right: auto; margin: 0 24px 24px; }
.light-mode #game-canvas { display: none; }
