.adventure-game{max-width:540px;padding:20px;background:#fbf5e8;border:1px solid #d9c49b;box-shadow:0 14px 40px #493b2510;overflow:hidden}
.adventure-topline{display:flex;justify-content:space-between;align-items:center;font:9px/1.5 var(--sans);letter-spacing:.12em;color:#907853;margin-bottom:17px}
.journey-steps{display:flex;justify-content:space-between;gap:8px;list-style:none;padding:0;margin:0 0 10px;font-size:10px;color:#a29682}
.journey-steps li{display:flex;align-items:center;gap:5px;white-space:nowrap}.journey-steps li>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #d9d0ba;border-radius:50%;font:9px/1 monospace}
.journey-steps .current{color:#735129;font-weight:700}.journey-steps .current>span{background:#bf9554;color:#fff9e9;border-color:#bf9554}.journey-steps .complete{color:#527866}.journey-steps .complete>span{background:#dae4d7;border-color:#c0d1bc}
#journey-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:3px;border:0;background:#e8e0cd;color:#a6864f;margin-bottom:17px;border-radius:3px;overflow:hidden}
#journey-progress::-webkit-progress-bar{background:#e8e0cd}#journey-progress::-webkit-progress-value{background:#a6864f;transition:width 350ms ease}#journey-progress::-moz-progress-bar{background:#a6864f}
.adventure-game .game-hud{margin-bottom:15px;gap:8px}.adventure-game .game-hud>div:nth-child(2){text-align:center}.adventure-game .game-hud span{font-size:8px;letter-spacing:.1em;color:#9d896b}.adventure-game .game-hud strong{font-size:11px;color:#5b5748}.adventure-game .game-hud #game-lives{font-size:16px;letter-spacing:1px;color:#b77580}
.scene-caption{display:flex;justify-content:space-between;align-items:center;gap:6px;background:#243e39;color:#e8d5a8;padding:9px 12px;font:8px/1.5 monospace;letter-spacing:.09em;border-radius:9px 9px 0 0}.scene-caption>span:last-child{opacity:.55;font-size:7px}
.adventure-game .maze-board{aspect-ratio:384/304;border:0;border-radius:0 0 9px 9px;background:#2c473c;isolation:isolate}
.adventure-game .maze-board canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.adventure-game .game-overlay{background:linear-gradient(160deg,#183832ba,#173331ec);color:#fff2d2;padding:23px 25px;backdrop-filter:blur(1px)}
.adventure-game .pixel-label{font:8px/1.4 monospace;letter-spacing:.16em;color:#dcc494;margin-bottom:13px}
.adventure-game .game-overlay h3{font:500 clamp(26px,7vw,37px)/1.15 var(--serif);color:#fff4dc}
.adventure-game .game-overlay>p{font-size:11px;color:#d4d6bd;line-height:1.7;max-width:255px;margin:14px 0 19px}
.adventure-game .gold-button{background:#e5c28d;color:#403c2f;min-height:46px;border:1px solid #f3dba6;border-radius:8px;font-size:12px;font-weight:700;box-shadow:0 3px 0 #866f46;min-width:185px;padding:11px 19px}
.adventure-game .gold-button:active{transform:translateY(2px);box-shadow:0 1px 0 #866f46}
.adventure-toast{position:absolute;top:12px;left:12px;right:12px;background:#fff2d8f2;color:#46634b;border:1px solid #dcc98f;border-radius:6px;text-align:center;font-size:11px;font-weight:700;padding:10px;pointer-events:none;animation:quest-toast 250ms var(--ease-out) both}
@keyframes quest-toast{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.quest-card{display:flex;align-items:center;gap:10px;background:#f0e8d5;border:1px solid #e2d4b8;border-radius:10px;padding:9px 11px;margin-top:13px;min-width:0}
.quest-card>span{font-size:25px;line-height:1;color:#a27e40;width:22px;text-align:center}.quest-card>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.quest-card>div>span{font-size:7px;letter-spacing:.14em;color:#a08760}.quest-card strong{font-size:11px;line-height:1.5;color:#5e563f}.quest-card button{font-size:10px;white-space:nowrap;background:transparent;color:#876e44;padding:0 4px;min-height:44px}
.adventure-game .game-status{margin-top:11px;font-size:11px;line-height:1.65;color:#8a7c64;min-height:37px}
.adventure-game .game-controls{margin-top:9px;gap:12px;justify-content:center}.adventure-game .dpad{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,42px);gap:4px}.adventure-game .dpad button{width:46px;height:42px;background:#eee1c9;border-color:#c4ac86;color:#6e684b;box-shadow:0 3px 0 #c7b28e;border-radius:9px;font-size:15px;min-height:44px}.adventure-game .dpad button.held{background:#dcc89f;box-shadow:0 1px 0 #c7b28e}
.adventure-game .game-actions{max-width:160px}.adventure-game .game-actions>p{font-size:9px;color:#9b8a70}.adventure-game .game-actions .secondary-button{border-color:#c9b78f;border-radius:9px;font-size:11px;min-width:89px}.adventure-game .game-actions .text-button{color:#96815e;font-size:10px}
.adventure-note{text-align:center;color:#a29175;font-size:9px;line-height:1.7;padding-top:17px;border-top:1px solid #e5d9bf;margin-top:17px}
.victory-page{text-align:center;margin:-20px;padding:31px 0 29px;color:#f8e9c9;background:#203f3c;animation:letter-arrive 600ms var(--ease-out) both}
.victory-eyebrow{display:block;font:7px/1.5 monospace;letter-spacing:.1em;color:#bea881;padding:0 20px}.victory-page h3{font:400 clamp(32px,8vw,45px)/1.3 var(--serif);color:#f9e6ba;margin:13px 10px 0;outline:none}.victory-names{font:400 clamp(38px,11vw,54px)/1.3 var(--script);color:#e9b3ba;margin-top:1px}
#victory-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;margin:5px 0 0}.victory-message{font:400 22px/1.4 var(--serif);margin:17px 20px 15px;color:#f0dfbd}
.victory-result{font-size:9px;color:#b9cebc;margin:0 18px;line-height:1.8}.victory-result span{display:inline-block;margin-left:6px}.victory-duration{font-size:10px;color:#a5b4a6;margin:13px 20px 20px}.victory-duration strong{font:12px monospace;color:#e3ce9e;margin-left:5px}.victory-page .gold-button{min-width:195px}
.adventure-active .music-box.is-docked:not(.is-expanded){width:56px;padding:4px;border-radius:50%}.adventure-active .music-box.is-docked:not(.is-expanded) .music-expand{display:none}
@media(max-width:760px){.adventure-game{padding:15px;margin-inline:-8px}.victory-page{margin:-15px}.adventure-game .game-overlay{padding:16px}.adventure-game .game-overlay>p{margin:10px 0 13px;font-size:10px}.adventure-game .pixel-label{margin-bottom:9px}.adventure-topline{font-size:8px}}
@media(max-width:359px){.adventure-game{padding:11px;margin-inline:-7px}.victory-page{margin:-11px}.journey-steps{font-size:9px;gap:3px}.journey-steps li{gap:3px}.journey-steps li>span{width:17px;height:17px;font-size:8px}.adventure-game .game-overlay h3{font-size:26px}.adventure-game .game-overlay>p{font-size:9px;line-height:1.55;max-width:215px}.adventure-game .game-overlay .gold-button{min-width:165px;min-height:44px;font-size:11px}.adventure-game .dpad{grid-template-columns:repeat(3,44px);gap:3px}.adventure-game .dpad button{width:44px}.quest-card{padding:6px 8px;gap:6px}.quest-card strong{font-size:10px}.quest-card button{font-size:9px}.scene-caption{padding-inline:9px;font-size:7px}.scene-caption>span:last-child{font-size:6px}}
@media(prefers-reduced-motion:reduce){.adventure-toast,.victory-page{animation:none}#journey-progress::-webkit-progress-value{transition:none}}

#victory-title:focus{outline:none}
