*{box-sizing:border-box}html,body{margin:0;height:100%;background:#102724;color:#f4eddc;font:15px/1.45 "Malgun Gothic",system-ui,sans-serif}button,input,select{font:inherit}button{border:1px solid #47645a;background:#25443c;color:#f4eddc;border-radius:12px;padding:10px 12px;min-height:43px;cursor:pointer;font-weight:700}button:disabled{opacity:.45;cursor:default}button:active{transform:translateY(1px)}.primary{background:#8be0b5;color:#173a30;border-color:#a7efd0}input,select{border:1px solid #526d61;border-radius:10px;background:#17342e;color:#fff;padding:10px;min-width:0}input{width:100%}em{font-style:normal;color:#ffdc84}small{display:block;color:#b2c8bb;font-size:12px}a{color:#b5e7c8}h1{font-size:clamp(35px,7vw,62px);line-height:1.2;margin:24px 0}#welcome{max-width:540px;margin:auto;padding:max(36px,env(safe-area-inset-top)) 26px 40px}.brand{letter-spacing:2px;font-size:12px;color:#8ee5b9}#welcome p{margin-bottom:30px;color:#d2ddce}#welcome label{display:grid;gap:8px}#welcome button{margin-top:12px;width:100%}.join{display:flex;gap:8px;margin:12px 0}.join button{width:90px!important;margin:0!important}details{margin:24px 0}details input{margin-top:12px}#welcomeNotice{color:#ffdc84;padding:14px 0}#game{max-width:1100px;margin:auto;height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));overflow:hidden}[hidden]{display:none!important}header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px}header strong{font-size:18px}#connection{font-size:10px}#players{display:flex;gap:5px;overflow:auto;min-height:27px;font-size:11px;flex-shrink:0}.player{padding:4px 7px;border-radius:7px;background:#28433b;white-space:nowrap;border-bottom:2px solid var(--player)}#resources{display:flex;gap:16px;padding:6px 4px;font-weight:700;color:#f6d993}#lobby{padding:8px;background:#28483d;border-radius:12px;margin-bottom:7px}.row{display:flex;gap:6px;margin:6px 0}.row>*{flex:1}nav{display:flex;gap:5px;padding-bottom:5px}nav button,nav select{padding:6px 9px;min-height:37px;font-size:12px}nav .active{background:#eed494;color:#25382b}#objective{font-size:12px;background:#152e29;padding:5px 8px;color:#f4d486;min-height:28px}#viewport{position:relative;overflow-x:auto;overflow-y:hidden;flex-shrink:0;max-height:39dvh;touch-action:pan-x;background:#314e3e;border-radius:13px;scrollbar-width:thin}canvas{display:block;width:200%;height:auto;max-height:none}#notice{font-size:12px;padding:7px 8px;min-height:33px;color:#f6dfa5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#142d28}.actions{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.5fr;gap:5px;margin:6px 0;flex-shrink:0}.actions button{font-size:12px;padding:8px 3px}#lower{flex:1;overflow-y:auto;min-height:60px;overscroll-behavior:contain;padding-bottom:25px}.sectionTitle{display:flex;align-items:center;gap:9px;padding:8px 0}.sectionTitle button{margin-left:auto;font-size:11px;min-height:32px;padding:5px 9px}.sectionTitle span{font-size:11px;color:#b1caba}#roster{display:flex;gap:7px;overflow-x:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;padding:3px 0 9px;min-height:106px}.friend{flex:0 0 76px;position:relative;display:flex;align-items:center;flex-direction:column;border-color:var(--tier);padding:5px;background:linear-gradient(160deg,#25433a,#162e2a);font-size:10px}.friend img{width:52px;height:55px;object-fit:contain}.friend.selected{background:#496347;box-shadow:inset 0 0 0 2px #fff0ac}.friend small{font-size:9px;color:var(--tier)}.friend .away{position:absolute;top:0;right:0;color:#112b25;background:#9ce2c2;font-size:9px;border-radius:5px;padding:2px}#info{background:#1c3831;border:1px solid #435d4b;border-radius:14px;padding:14px}.identity{display:flex;gap:14px;align-items:center;border-bottom:1px solid #47614d;padding-bottom:12px}.identity img{width:86px;height:94px;object-fit:contain}.identity h2{font-size:19px;margin:0 0 6px}.grade{font-size:23px;font-weight:900;color:var(--tier)}#info h3{font-size:15px;color:#ffe2a5;margin:16px 0 5px}#info p{font-size:13px;color:#cddac9}.recipe{display:grid;grid-template-columns:55px 1fr;gap:10px;border:1px solid #54624c;border-radius:12px;margin:9px 0;padding:10px}.recipe img{width:54px;height:65px;object-fit:contain}.recipe button{grid-column:1/-1}.recipe small{margin:3px 0}.missing{color:#ffb297!important}.have{color:#91e5b1!important}.bottle{position:absolute;top:12px;left:15%;width:150px;background:#f4d578;color:#243a29;box-shadow:0 0 0 5px #f5de8b38}.bottle span{display:block;font-size:38px}.bottle small{color:#30472f}#chat{position:fixed;z-index:30;bottom:env(safe-area-inset-bottom);right:max(8px,env(safe-area-inset-right));width:min(440px,calc(100% - 16px));height:min(410px,55dvh);background:#17362ff5;border:1px solid #86b197;border-radius:18px 18px 0 0;padding:12px;display:flex;flex-direction:column;box-shadow:0 -12px 50px #071f2780}#chat .sectionTitle{flex-shrink:0}#messages{overflow-y:auto;flex:1;font-size:13px;overflow-wrap:anywhere}.message{padding:6px 4px}.message b{color:var(--player)}.message.system{color:#dfd4a4;font-size:11px}.message.quick{background:#36553c;border-radius:8px}#quick{display:flex;gap:5px;overflow-x:auto;flex-shrink:0;padding:6px 0}#quick button{font-size:11px;white-space:nowrap;min-height:33px;padding:5px 9px}#chatForm{display:flex;gap:7px}#unread{color:#ffdc70}.pulse{animation:pulse .5s ease 4}@keyframes pulse{50%{background:#c3943a;color:#102724}}dialog{background:#18372f;color:#f6ecd5;border:1px solid #718d70;border-radius:18px;width:min(540px,94vw);max-height:82dvh;padding:15px}dialog::backdrop{background:#081b21aa}#sheetBody{overflow:auto}#sheetBody button{margin:4px;max-width:100%}.grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.gambleRow{font-size:20px;font-weight:900;color:#ffe294;padding:6px 10px;border-bottom:1px solid #465e47}.gambleRow.loss{color:#e6a395}.help{max-width:720px;margin:auto;padding:30px 20px}.help h2{margin-top:30px;color:#ffdf9c}#game:has(#lobby:not([hidden])) #viewport{max-height:26dvh}@media(min-width:800px){#game{max-width:980px}#viewport{max-height:42dvh}#lower{padding:0 10px 30px}.actions button{font-size:15px}.friend{flex-basis:90px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Keep the entire vertical battlefield visible even in zoomed mobile views. */
#battle{height:min(34dvh,330px)}#game:has(#lobby:not([hidden])) #battle{height:min(25dvh,240px)}

/* Preserve artwork proportions; only the battlefield itself pans when zoomed. */
#battle{height:auto}#game:has(#lobby:not([hidden])) #battle{height:auto}#viewport{overflow-y:auto;touch-action:pan-x pan-y}

/* Responsive play area: CSS viewport pixels, independent of the panel resolution. */
nav{overflow-x:auto;flex-shrink:0;scrollbar-width:thin;align-items:center}nav>*{flex-shrink:0}
#viewport{min-width:0}#battle.fitted{margin-inline:auto}#resources{flex-shrink:0;flex-wrap:wrap;overflow-wrap:anywhere}
#game>*{min-width:0}#lower{scrollbar-gutter:stable}#chatForm input{min-width:0}
@media(min-width:700px) and (orientation:portrait){
 #game{max-width:1100px;padding-inline:max(14px,env(safe-area-inset-left))}
 #viewport{height:37dvh;max-height:37dvh;flex-shrink:0}
 #game:has(#lobby:not([hidden])) #viewport{height:29dvh;max-height:29dvh}
 #lower{display:grid;grid-template-columns:145px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:0 14px;overflow:hidden;padding:0 0 12px}
 #lower>.sectionTitle{grid-column:1/-1}#roster{grid-column:1;flex-direction:column;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;min-height:0}
 #roster .friend{flex:0 0 auto;min-height:106px}#info{grid-column:2;grid-row:2;overflow-y:auto;overscroll-behavior:contain;min-height:0}
 #newGame:not([hidden]){grid-column:1/-1}#lower:has(#newGame:not([hidden])){grid-template-rows:auto auto minmax(0,1fr)}#lower:has(#newGame:not([hidden])) #info{grid-row:3}
}
@media(min-width:1000px) and (orientation:landscape),(min-width:700px) and (max-height:650px) and (orientation:landscape){
 #game{max-width:1800px;display:grid;grid-template-columns:minmax(0,1fr) clamp(270px,28vw,400px);grid-template-rows:auto auto auto auto auto auto minmax(0,1fr) auto auto;gap:0 14px;padding-inline:max(12px,env(safe-area-inset-left))}
 #game>header{grid-column:1/-1;grid-row:1}#players{grid-column:1/-1;grid-row:2}
 #resources{grid-column:1;grid-row:3}#lobby{grid-column:1;grid-row:4}
 #game>nav{grid-column:1;grid-row:5}#objective{grid-column:1;grid-row:6}
 #viewport,#game:has(#lobby:not([hidden])) #viewport{grid-column:1;grid-row:7;max-height:none;height:100%;min-height:0}
 #notice{grid-column:1;grid-row:8}.actions{grid-column:1;grid-row:9;margin-bottom:10px}
 #lower{grid-column:2;grid-row:3/10;border-left:1px solid #466253;padding:0 0 24px 14px;min-height:0}
 #lower>.sectionTitle{flex-wrap:wrap}#roster{min-height:116px}#info{padding:12px}
 .bottle{left:calc(50% - 75px)}#chat{width:390px;right:max(16px,env(safe-area-inset-right))}
}
@media(max-height:600px) and (orientation:landscape){header{padding:3px}header strong{font-size:15px}#lobby{padding:5px}#lobby small{font-size:10px}.row{margin:3px 0}.row button{min-height:34px;padding:5px}#notice{min-height:25px;padding:4px}.actions button{min-height:36px}#objective{min-height:24px}}
#viewport.fitMode{overflow:hidden}
.gainPop{animation:gainPop .5s ease-out}@keyframes gainPop{0%{transform:translateY(12px) scale(.95);opacity:.3}45%{transform:translateY(-6px) scale(1.04);text-shadow:0 0 12px #ffe18d}100%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.gainPop{animation:none}}

@media(max-width:600px){header{gap:5px}header strong{font-size:14px}header button{padding:7px;min-height:37px}header small{max-width:110px;overflow:hidden;white-space:nowrap}}
.player button{font-size:10px;padding:2px 5px;min-height:24px;margin-left:5px}

/* Let a vertical swipe on a friend continue into the information scroller. */
.layoutPicker{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}header .layoutPicker select{padding:5px;min-height:35px}#welcome .layoutPicker{margin-top:18px}
/* Explicit layout wins over viewport-based rules, including desktop-site mode on phones. */
body[data-layout="mobile"] #game{display:flex;flex-direction:column;max-width:700px;gap:0;padding-inline:max(8px,env(safe-area-inset-left))}
body[data-layout="mobile"] #game>header{flex-wrap:wrap;gap:5px;padding:5px 2px;flex-shrink:0}
body[data-layout="mobile"] header strong{font-size:14px}body[data-layout="mobile"] header button{padding:5px 8px;min-height:35px}
body[data-layout="mobile"] #viewport{height:34dvh;max-height:34dvh;min-height:95px;flex-shrink:0}
body[data-layout="mobile"] #game:has(#lobby:not([hidden])) #viewport{height:24dvh;max-height:24dvh;min-height:80px}
body[data-layout="mobile"] #lower{display:block;flex:1;overflow-y:auto;min-height:60px;padding:0 0 20px;border-left:0}
body[data-layout="mobile"] #roster{flex-direction:row;overflow-x:auto;overflow-y:visible;min-height:106px;touch-action:pan-x pan-y pinch-zoom}
body[data-layout="mobile"] #roster .friend{flex:0 0 76px;min-height:95px}body[data-layout="mobile"] #info{overflow:visible;min-height:0;padding:12px}
body[data-layout="mobile"] #lower>.sectionTitle{flex-wrap:wrap;gap:5px}body[data-layout="mobile"] .actions button{font-size:12px}
body[data-layout="mobile"] #chat{width:min(440px,calc(100% - 16px))}
body[data-layout="desktop"] #game{max-width:1800px;display:grid;grid-template-columns:minmax(0,1fr) clamp(270px,28vw,400px);grid-template-rows:auto auto auto auto auto auto minmax(0,1fr) auto auto;gap:0 14px;padding-inline:max(12px,env(safe-area-inset-left))}
body[data-layout="desktop"] #game>header{grid-column:1/-1;grid-row:1}body[data-layout="desktop"] #players{grid-column:1/-1;grid-row:2}
body[data-layout="desktop"] #resources{grid-column:1;grid-row:3}body[data-layout="desktop"] #lobby{grid-column:1;grid-row:4}
body[data-layout="desktop"] #game>nav{grid-column:1;grid-row:5}body[data-layout="desktop"] #objective{grid-column:1;grid-row:6}
body[data-layout="desktop"] #viewport,body[data-layout="desktop"] #game:has(#lobby:not([hidden])) #viewport{grid-column:1;grid-row:7;max-height:none;height:100%;min-height:0}
body[data-layout="desktop"] #notice{grid-column:1;grid-row:8}body[data-layout="desktop"] .actions{grid-column:1;grid-row:9;margin-bottom:10px}
body[data-layout="desktop"] #lower{display:block;overflow-y:auto;grid-column:2;grid-row:3/10;border-left:1px solid #466253;padding:0 0 24px 14px;min-height:0}
body[data-layout="desktop"] #roster{flex-direction:row;overflow-x:auto;overflow-y:visible;min-height:116px}body[data-layout="desktop"] #roster .friend{flex:0 0 90px}
body[data-layout="desktop"] #info{overflow:visible}body[data-layout="desktop"] #lower>.sectionTitle{flex-wrap:wrap}
#roster .friend{touch-action:pan-x pan-y pinch-zoom;user-select:none}#roster img{-webkit-user-drag:none;pointer-events:none}

/* Recipe handbook: separate sheet so the battlefield keeps its existing size. */
#lower>.sectionTitle{flex-wrap:wrap}#recipes{margin-left:0;padding:6px 9px;font-size:12px;min-height:36px}
#sheet[open]{display:flex;flex-direction:column;overflow:hidden}#sheet>.sectionTitle{flex-shrink:0}#sheetBody{min-height:0;overscroll-behavior:contain;overflow-wrap:anywhere}
.recipeDetail{display:flex;flex-direction:column;gap:8px}.recipeDetail .identity{min-width:0}.recipeDetail .identity img{width:65px;height:76px}.recipeDetail .identity h2{font-size:17px}.recipeDetail .grade{font-size:19px}
.ingredient{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:7px;align-items:center;border-bottom:1px solid #47614d;padding:7px 0;font-size:12px}.ingredient button{margin:0!important}.ingredientLink{padding:0;min-width:0}.ingredientLink img{width:36px;height:43px}.ingredientHow{font-size:11px;padding:5px;min-height:36px;white-space:nowrap}.recipeMoney{font-weight:800;margin:6px 0}.recipeFeedback{margin:0}.recipeFeedback:empty{display:none}.recipeSpace{color:#ffb297}
.recipeNav,.recipeFilters{display:flex;gap:5px;flex-wrap:wrap}.recipeFilters{margin:8px 0}.recipeFilters button{font-size:12px;padding:7px;margin:0!important}.recipeCatalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.recipeChoice{display:flex;align-items:center;flex-direction:column;gap:4px;margin:0!important;font-size:12px;padding:8px}.recipeChoice img{width:64px;height:70px;object-fit:contain}.recipeChoice small{font-size:11px}.recipeDetail .recipeEvolve{margin:0!important}

.recipeDetail .ingredient button{grid-column:auto}.ingredient>div{min-width:0}.ingredient b{word-break:keep-all;overflow-wrap:anywhere}

/* Money and command feedback remain visible above the scrolling gamble content. */
#menuWallet{flex-shrink:0;font-size:23px;font-weight:900;color:#ffe195;padding:9px 12px;margin-bottom:6px;border:1px solid #8d7d4d;border-radius:12px;background:#293e30}
#menuFeedback{flex-shrink:0;max-height:85px;overflow:auto;font-size:13px;font-weight:700;padding:5px 8px 9px;overflow-wrap:anywhere}
.drawResult{display:flex;gap:10px;align-items:center;border:1px solid var(--tier);border-radius:12px;background:#254239;padding:10px;margin:8px 0}.drawResult img{width:65px;height:76px;object-fit:contain}.drawResult strong{display:block;font-size:17px}.drawTier{display:block;font-size:20px;color:var(--tier)}.drawMiss{width:65px;text-align:center;font-size:24px;color:#c9bba4}.drawReveal{animation:drawReveal .22s ease-out}@keyframes drawReveal{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#battle{image-rendering:auto}.friend{transition:background-color .12s ease,box-shadow .12s ease}
@media(prefers-reduced-motion:reduce){.drawReveal{animation:none}.friend{transition:none}}

.olderDraws{margin:4px 0 12px}.olderDraws summary{color:#c4d5c8;font-size:12px;cursor:pointer;padding:5px}

.mountainReward{border:1px solid #a89558;border-radius:13px;padding:12px;margin:12px 0;background:#234239}.mountainReward h3{margin:0 0 10px;color:#ffe29a}.mountainChoices{display:flex;flex-wrap:wrap;gap:8px}.mountainChoice{flex:1 1 85px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;border-color:var(--tier);margin:0!important;font-size:12px;padding:7px}.mountainChoice img{width:68px;height:78px;object-fit:contain}.mountainChoice strong{color:var(--tier);font-size:17px}.mountainPlan{padding:9px 0;border-bottom:1px solid #47614d;font-size:13px}#mountainRewards{color:#ffe099;border-color:#998b55}

#readySummary{font-weight:800;color:#ffe3a1;line-height:1.6;margin:8px 0}#players{display:flex;flex-wrap:wrap;gap:5px}#players .player{white-space:normal;min-width:130px;padding:8px;border:1px solid var(--player);border-radius:9px;line-height:1.5}#browserGate{margin:12px;padding:18px;border:2px solid #ffdf77;border-radius:16px;background:#243c31;line-height:1.6}#browserGate button{margin:6px}#browserGate small{display:block;color:#ffe6ad}[hidden]{display:none!important}

@media(max-width:699px){#players:not(.lobbyPlayers){flex-wrap:nowrap;overflow-x:auto;touch-action:pan-x pan-y}#players:not(.lobbyPlayers) .player{flex:0 0 auto;min-width:100px;padding:5px;font-size:11px}#players.lobbyPlayers .player{flex:1 1 125px;font-size:11px}#readySummary{font-size:12px}}

.artStatus{padding:8px 12px;color:#ffe5a3;background:#423b25;border-radius:8px}.artStatus button{margin-left:8px}

.playerWatch{border:0;background:transparent;color:inherit;padding:4px;text-align:left;font:inherit;cursor:pointer}.playerWatch[aria-pressed="true"]{color:#ffe28a;text-decoration:underline;text-underline-offset:5px}.player:has(.playerWatch[aria-pressed="true"]){box-shadow:0 0 0 2px #ffe28a}

.unitMoveButton{position:fixed;z-index:18;transform:translateX(-50%);width:44px;min-width:44px;height:24px;min-height:24px;padding:2px;border-radius:3px;border:1px solid #fff0ac;background:#f5cf61;color:#20362b;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 5px #10271faa;touch-action:manipulation}.unitMoveButton[aria-pressed="true"]{background:#fff1bd;border-color:#f5bc42}.infoMoveButton{min-width:92px;min-height:48px;margin-top:12px;font-weight:900;color:#ffe6a1;border:2px solid #e4c36f;border-radius:5px}

/* Keep the 44x24 head button centered throughout pointer/touch activation. */
.unitMoveButton:active{transform:translateX(-50%)}

/* v42 round notices never intercept taps; end dialogs appear only after results. */
.roundAnchor{position:relative;display:inline-flex;align-items:center;min-width:0}
.roundTip{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(340px,82vw);padding:10px 13px;border:1px solid #a8f3d4;border-radius:12px;background:#102d29f2;color:#e7fff0;font-size:13px;line-height:1.4;text-align:center;z-index:26;pointer-events:none!important;box-shadow:0 0 14px #72edb943}
.roundTip *{pointer-events:none!important}.roundTip small{display:block;font-size:10px;color:#c0dccc;margin-top:4px}.roundTip.lit{animation:roundNeon 4s ease-out both}
@keyframes roundNeon{0%{opacity:0}8%,83%{opacity:1;text-shadow:0 0 9px #80ffd5}100%{opacity:0}}
.outcomeSummary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:12px;border:1px solid #e6c485;border-radius:12px;background:#18362e}.outcomeSummary strong{font-size:18px}.outcomeSummary span{font-size:12px;color:#d4dfd5}.outcomeSummary[data-status=lost]{border-color:#de8773}.outcomeSummary[data-status=lost] strong{color:#ffb3a0}
.gameEnding{width:min(960px,94vw);max-width:94vw;max-height:90dvh;padding:20px;border:1px solid #b8d6af;border-radius:18px;background:#102c27;color:#f9e7ba;text-align:center;overflow:auto}.gameEnding::backdrop{background:#061510d9}.gameEnding h2{margin:2px 0 8px;font-size:clamp(22px,4vw,36px)}.gameEnding p{color:#cce3d8}.endingCanvas{display:block;width:100%;height:auto;border-radius:12px;background:#19352a}.gameEnding button{margin:12px 5px 0}.endingCountdown{display:block;margin-top:10px;color:#a7d5be;font-size:12px}.roundTip[hidden],.outcomeSummary[hidden],.gameEnding [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.roundTip.lit{animation:none;text-shadow:none}}

/* v44 opening: cue remains inside the large touch target and respects reduced motion. */
.bottle .starterPrompt{display:flex;justify-content:center;align-items:center;gap:7px;color:#442900;font-size:17px;line-height:1.2;margin-bottom:3px}.starterPrompt i{font-style:normal;font-size:29px;animation:starterArrow .65s ease-in-out infinite alternate}.bottle:not([hidden]){border:3px solid #ffe581;box-shadow:0 0 0 4px #ffe58155,0 4px 20px #0005;z-index:6}#bottleCountdown{font-weight:900;color:#4c3616}@keyframes starterArrow{from{transform:translateY(-3px)}to{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.starterPrompt i{animation:none}}

.bottle .starterPrompt{gap:4px;font-size:14px;white-space:nowrap}.starterPrompt i{font-size:22px;flex-shrink:0}.bottle small{font-size:10px}

/* v53: pending stage rewards and player-opened cards; animation never blocks play. */
#mountainRewards.rewardPulse{border-color:#ffe89b;background:#604b27;animation:rewardPulse 1s ease-in-out infinite alternate}
@keyframes rewardPulse{from{box-shadow:0 0 4px #ffe19966}to{box-shadow:0 0 18px #ffdb6b,0 0 4px #fff inset}}
.mountainMysteryCard{display:block;width:100%;min-height:92px;margin:9px 0;border:2px solid #e9d18a;border-radius:13px;background:linear-gradient(135deg,#385045,#735c38,#385045);color:#fff3bb;font-size:16px;font-weight:900;box-shadow:0 3px 10px #0005;touch-action:manipulation}
.mountainMysteryCard.mountainDrawing{animation:mysteryShake .17s ease-in-out infinite alternate;box-shadow:0 0 20px #ffde85}
@keyframes mysteryShake{from{transform:translateX(-3px) rotate(-1deg)}to{transform:translateX(3px) rotate(1deg)}}
.mountainRevealResult,.tobaccoRevealResult{display:flex;align-items:center;gap:12px;margin:8px 0;padding:12px;border:2px solid #ffe496;border-radius:14px;background:#473a29;color:#fff0ad;box-shadow:0 0 16px #f8d37577;animation:rewardAppear .32s ease-out}
.mountainRevealResult strong,.tobaccoRevealResult strong{font-size:17px}.mountainRevealResult img,.tobaccoRevealResult img{height:72px;width:66px;object-fit:contain}
@keyframes rewardAppear{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){#mountainRewards.rewardPulse,.mountainMysteryCard.mountainDrawing,.mountainRevealResult,.tobaccoRevealResult{animation:none}}
