.adventureTeaser{padding:20px;margin:20px 0;border:1px solid #b49b61;border-radius:22px;background:#15372d;color:#f6ecd4;text-align:left;overflow:hidden}.adventureTeaser>img{display:block;width:calc(100% + 40px);height:160px;object-fit:cover;margin:-20px -20px 20px}.adventureTeaser h2{color:#fff0c9;font-size:23px;margin:10px 0}.adventureTeaser p{line-height:1.5;color:#e0e5d9}.adventureTeaser small{display:block;color:#c7c8af}.adventurePrimary{background:#e7d09a;color:#1b352d;border:1px solid #bf9c54;border-radius:12px;padding:13px 15px;font:inherit;font-weight:700;cursor:pointer;min-height:46px}.adventureTeaser button{width:100%;margin:5px 0}.adventurePrimary:hover{background:#f8e5b6}.adventurePrimary:disabled{opacity:.6;cursor:wait}body:has(.adventureDialog[open]){overflow:hidden}.adventureDialog{box-sizing:border-box;width:min(620px,calc(100% - 18px));height:min(820px,calc(100dvh - 18px));max-height:calc(100dvh - 18px);padding:0;overflow:hidden;background:#fcfaf3;border:1px solid #bca36a;border-radius:22px;color:#243d35;box-shadow:0 30px 100px #0005}.adventureDialog[open]{display:flex;flex-direction:column}.adventureDialog::backdrop{background:#081e1bd1;backdrop-filter:blur(4px)}.adventureHeader{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:5px 12px;background:#f9f6eb;border-bottom:1px solid #ded7c2}.adventureClose,.adventureBack{background:transparent;border:0;color:#244638;font:inherit;font-size:14px;font-weight:700;min-height:44px;padding:8px;margin:0;cursor:pointer}.adventureBack:disabled{color:#a3aaa0;cursor:default}.adventureBody{overflow:auto;flex:1;min-height:0;padding:15px 22px 8px;overscroll-behavior:contain}.adventureBreadcrumb{display:flex;justify-content:space-between;color:#7d775d;font-size:11px}.adventureDialog h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:10px 0 14px}.adventureScene{margin:0;position:relative;border-radius:15px;overflow:hidden;background:#d3dfd3;aspect-ratio:1.8}.adventureScene img{display:block;width:100%;height:100%;object-fit:cover}.adventureScene figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff5da;background:linear-gradient(transparent,#0e281eef);padding:30px 15px 13px;font-size:14px;font-weight:700;line-height:1.4}.adventureBrief{font-size:17px;line-height:1.65;margin:17px 0 10px;color:#254335}.adventurePrompt{font-size:14px;font-weight:700;color:#7d6031;margin:10px 0}.adventureHook{font-size:14px;line-height:1.6;border-left:3px solid #b39552;padding:8px 12px;background:#f0eedf;margin:10px 0}.adventureDetails{font-size:13px;color:#687262;padding:8px 0;line-height:1.8}.adventureDetails summary{cursor:pointer;min-height:30px}.adventureNarrative{line-height:1.85;font-size:15px}.adventureControls{flex:none;display:grid;gap:8px;padding:12px 20px 8px;margin:0;background:#fcfaf3;border-top:1px solid #ded7c2;box-shadow:0 -6px 16px #243b2310}.adventureControls small{display:block;text-align:center;font-size:10px;line-height:1.3;color:#737764}.adventureError{color:#a32e31}.adventurePrimary:focus-visible,.adventureClose:focus-visible,.adventureBack:focus-visible{outline:3px solid #5276ac;outline-offset:2px}.adventureMusic{padding:9px 14px;border:1px solid #c7d3bd;border-radius:10px;background:#eef3e5;color:#31563e;font-size:12px;margin:8px 0;min-height:38px}.musicContinuous{display:flex;align-items:center;gap:10px;font-size:14px;margin:13px 0;padding:10px 12px;background:#f0f2e8;border-radius:10px}.musicContinuous input{width:20px;height:20px;accent-color:#3c654d}@media(max-width:480px){.adventureDialog{border-radius:17px}.adventureBody{padding:12px 16px 6px}.adventureDialog h2{font-size:23px;margin:8px 0 12px}.adventureScene{aspect-ratio:1.7}.adventureBrief{font-size:16px;margin:13px 0 8px}.adventureControls{padding:10px 15px 7px}.adventurePrimary{font-size:14px;padding:11px 12px}.adventureDetails{padding:5px 0}}@media(max-height:640px){.adventureScene{aspect-ratio:2.6}.adventureDialog h2{font-size:20px}.adventureBrief{font-size:15px}.adventureHeader{min-height:44px}.adventureBody{padding-top:8px}}
.adventureHeader{width:100%;max-width:none;margin:0;flex-wrap:nowrap}.adventureControls{width:100%;max-width:none;color:inherit}.adventureMusic{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventureDialog .adventureBody details{margin:0}.adventurePrimary{width:100%}
.adventureReward{display:flex;align-items:center;gap:10px;background:#f8edce;border:1px solid #ddc58d;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:700;color:#715522;margin:12px 0}.rewardIcon{font-size:25px}.adventureInventory p{margin:5px 0}.adventureControls .adventurePrimary small{color:#526347;font-size:10px;font-weight:400;line-height:1.35;margin-top:4px}.adventureControls .specialOption{background:#dfeddf;border-color:#82a68a}.adventureControls .specialOption:disabled{background:#efeee5;color:#7c8075}.branchOption{padding:10px 12px}.adventureInventory small{display:block;font-size:11px}
.adventureControls .adventurePrimary{display:block;text-align:center;white-space:normal;word-break:keep-all}.adventureControls .adventurePrimary small{display:block;width:100%;font-size:10px;line-height:1.4}
.mysteryEyebrow{display:block;color:#987129;font-weight:800;letter-spacing:.1em;margin-top:14px}.mysteryClue{background:#203e35;color:#f7e8bc;border:1px solid #9a834b;border-radius:13px;padding:17px;font-size:17px;line-height:1.6;margin:16px 0}.mysteryBoxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:25px 0}.mysteryBox{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:165px;padding:15px 7px 11px;border:1px solid #b69c5c;border-radius:13px;background:linear-gradient(155deg,#295140,#102d24);color:#f7e4ac;cursor:pointer;box-shadow:0 8px 16px #16342622;font:inherit}.mysteryBox:nth-child(2){background:linear-gradient(155deg,#344c6b,#172b3d)}.mysteryBox:nth-child(3){background:linear-gradient(155deg,#64506c,#302237)}.mysteryBox strong{font-size:26px;line-height:1.2}.mysteryBox>span:last-child{font-size:13px;font-weight:700}.mysteryBox:hover{transform:translateY(-3px);box-shadow:0 8px 22px #a7894155}.mysteryBox:focus-visible{outline:3px solid #deaa34;outline-offset:3px}.mysteryBox.eliminated{opacity:.35;filter:grayscale(1);cursor:default;transform:none}.paintedChest{position:relative;display:block;width:64px;height:42px;border:2px solid #d1b16b;border-radius:5px;background:linear-gradient(90deg,#9b692d,#64451f);margin:12px 0 5px}.chestLid{position:absolute;left:-3px;right:-3px;top:-12px;height:21px;border:2px solid #d1b16b;border-radius:12px 12px 3px 3px;background:linear-gradient(#b38443,#775223)}.chestLock{position:absolute;top:6px;left:25px;width:11px;height:18px;border:1px solid #f2db9b;border-radius:3px;background:#c7a65c}.mysterySkip{display:block;width:100%;background:transparent;border:0;color:#687260;text-decoration:underline;font-size:12px;min-height:38px;cursor:pointer}.mysteryOutcome{padding:15px;margin:12px 0;border:1px solid #b9c8ad;border-radius:14px;background:#edf1e4;line-height:1.6;font-size:14px}.mysteryOutcome p{margin:8px 0}.mysteryOutcome .adventureReward{margin:9px 0}.rareTreasure{border:1px solid #c29b45;background:linear-gradient(135deg,#fff6d6,#eae9ce);box-shadow:0 0 25px #d5ae4829}.rareTreasure>strong{color:#89641d;font-size:19px}.mysteryBox:disabled:not(.eliminated){cursor:wait;opacity:.65}@media(max-width:380px){.mysteryBox{min-height:145px}.paintedChest{width:51px}.chestLock{left:18px}.mysteryClue{font-size:16px}}@media(prefers-reduced-motion:reduce){.mysteryBox:hover{transform:none}}
@keyframes treasureReveal{from{opacity:.2;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.rareTreasure{animation:treasureReveal .6s ease-out}.mysteryBox.opening{box-shadow:0 0 30px #dfc16b88;transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.rareTreasure{animation:none}.mysteryBox.opening{transform:none}}
.stealthStage{position:relative;isolation:isolate;overflow:hidden;min-height:300px;border-radius:22px;background:#101f24;color:#fff;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;box-shadow:0 16px 40px #102a3128}
.stealthArt,.stealthShade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.stealthArt{object-position:50% 32%;transition:filter .25s,transform .4s;filter:brightness(.65) saturate(.85)}.stealthShade{z-index:-1;background:linear-gradient(0deg,#061319 0%,#071a1c44 75%,#071a1c22)}
.stealthSignal{font-size:clamp(21px,4vw,30px);letter-spacing:-.04em;text-align:center;color:#d0ffbf;text-shadow:0 2px 20px #000}.stealthMessage{font-size:13px;color:#dfebdf}.stealthGems{display:flex;gap:24px;font-size:38px;line-height:1.1;color:#718181}.stealthGems span{transition:color .2s,transform .2s}.stealthGems .collected{color:#ffdc77;text-shadow:0 0 18px #ffdd86;transform:translateY(-4px)}
.stealthEyes{height:60px;display:flex;gap:18px;align-items:center;margin-bottom:auto;padding-top:30px;filter:drop-shadow(0 0 12px #afffe2)}.stealthEyes i{display:block;width:43px;height:6px;transform:rotate(-12deg);border-radius:50%;background:#b7e8d2;transition:height .2s,background .2s}.stealthEyes i+i{transform:rotate(12deg)}
.stealthStage[data-mode=warning] .stealthSignal{color:#ffe596}.stealthStage[data-mode=warning] .stealthEyes i{height:13px;background:#ffd67f}.stealthStage[data-mode=watch] .stealthSignal{color:#ffb5c7}.stealthStage[data-mode=watch] .stealthEyes i{height:25px;background:radial-gradient(ellipse,#2b1124 14%,#ff6f9c 22%,#ffdfca 70%)}.stealthStage[data-mode=watch] .stealthArt{filter:brightness(.5) saturate(1.4);transform:scale(1.035)}.stealthStage[data-mode=success]{box-shadow:0 0 32px #e3ba5955}.stealthStage[data-mode=success] .stealthSignal{color:#ffe7a6}
.stealthProgress{width:100%;height:12px;accent-color:#f4cf78;border:0;border-radius:20px;overflow:hidden}.stealthProgress::-webkit-progress-bar{background:#ffffff21;border-radius:20px}.stealthProgress::-webkit-progress-value{background:linear-gradient(90deg,#82cda9,#ffe19b);border-radius:20px}.stealthStats{width:100%;display:flex;justify-content:space-between;color:#f5c9d0;font:700 14px system-ui}.stealthRule{text-align:center;font-size:14px;font-weight:700;margin:14px 0!important;color:#365649}
.stealthHold{display:block;width:100%;min-height:76px;border:1px solid #276b4b;border-radius:18px;background:linear-gradient(135deg,#2b7352,#18452f);color:white;font:800 21px system-ui;box-shadow:0 7px 0 #123623;touch-action:none;user-select:none;-webkit-user-select:none;margin:8px 0 18px;cursor:pointer}.stealthHold.holding{transform:translateY(5px);box-shadow:0 2px 0 #123623;background:#3d956b}.stealthHold:focus-visible{outline:4px solid #e6b852;outline-offset:4px}.stealthHold:disabled{opacity:.55;cursor:default}.stealthActions{display:flex;flex-direction:column;gap:8px}.stealthActions .adventurePrimary{min-height:56px}.stealthAnnouncement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.stealthStage.collecting .stealthGems{filter:drop-shadow(0 0 8px #f8d18c)}.stealthStage.caught{animation:stealthCaught .35s ease-out}
@keyframes stealthCaught{25%{transform:translateX(-5px)}65%{transform:translateX(5px)}}
@media(max-width:600px){.stealthStage{min-height:260px;padding:18px}.stealthEyes{padding-top:15px}.stealthHold{min-height:72px}.stealthRule{font-size:13px}}
@media(prefers-reduced-motion:reduce){.stealthStage.caught{animation:none}.stealthArt,.stealthEyes i,.stealthGems span{transition:none}}

/* Keep the game control legible over global dialog hover styles. */
.adventureDialog .stealthHold,.adventureDialog .stealthHold:hover,.adventureDialog .stealthHold:focus{background:linear-gradient(135deg,#2b7352,#18452f);color:#fff}.adventureDialog .stealthHold.holding{background:#3d956b;color:#fff}
