body[data-stage="1"]:not(.practice-mode) .island-background{background:linear-gradient(#d6ffef0a,#e9fff02b),url('assets/mint-forest.png') center/cover no-repeat;filter:saturate(1.05)}
.forest-mode .score-strip,.forest-mode .item-pouch,.forest-mode #active-effects,.forest-mode .grid-wrap,.forest-mode .board-bottom,.forest-mode #show-items,.forest-mode .stepper,.forest-mode .risk,.forest-mode .stepper+.risk,.forest-mode .bet-panel>.field-label:has(label[for="mine-value"]){display:none!important}
.forest-mode .felt{background:linear-gradient(145deg,#f3ffdfeb,#d6f4d6f5);border-color:#85b99d}.forest-mode .table-rail{background:linear-gradient(135deg,#a9d9ac,#569e82);border-color:#3c856c;box-shadow:0 7px 0 #38765e,0 16px 25px #315d4430}.forest-mode .felt-logo{margin-top:12px}.forest-mode .bet-divider{margin-top:8px}.forest-mode .table-front{color:#31634e}
.forest-heading{text-align:center;margin:20px 0 22px}.forest-heading>span{font-size:12px;letter-spacing:2px;color:#40715b}.forest-heading h2{font-size:29px;margin:7px 0;color:#215d45;letter-spacing:3px}.forest-heading h2 i{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #96b976;border-radius:50%;font-style:normal;font-size:22px;letter-spacing:0;background:#fff5bf;color:#735b29}.forest-heading p{font-size:14px;line-height:1.7;margin:0;color:#4d7159}
.forest-hand{background:#fbfff1b8;border:1px solid #a8cead;border-radius:18px;padding:14px}.hand-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#285c47;font-size:14px}.hand-heading>span{font-size:13px;text-align:right;color:#537154}.leaf-hand{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;min-height:128px;padding-top:14px}.leaf-card{flex:0 0 76px;height:111px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;background:linear-gradient(145deg,#fffef3,#e6f8d7);border:2px solid #80ae85;border-radius:12px;box-shadow:0 4px 0 #8cae7844;color:#2a795c;padding:7px;position:relative;animation:leaf-deal .25s ease-out}.leaf-card>b{align-self:flex-start;font-size:21px;line-height:1}.leaf-card>span{font-size:31px}.leaf-card>small{font-size:12px}.leaf-card.suit-0{color:#b24e7d;background:linear-gradient(#fff9ed,#ffe6eb)}.leaf-card.suit-1{color:#7165a0}.leaf-card.suit-3{color:#98711b}.leaf-card.card-back{background:repeating-linear-gradient(45deg,#408d70,#408d70 7px,#4b9d7e 7px,#4b9d7e 14px);color:#fff4bc;border:3px solid #efd994;justify-content:center;gap:12px}.card-back>span{font-size:38px}.forest-divider{text-align:center;color:#557753;font-size:12px;letter-spacing:1px;padding:12px 0}.forest-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}.forest-controls button{border:1px solid #71aa89;border-radius:13px;padding:11px 4px;background:#fcfff1;color:#295c43;font-weight:800;box-shadow:0 3px 0 #80ad82;font-size:14px}.forest-controls button:nth-child(2){background:#b6eac8}.forest-controls button:nth-child(3){background:#fff0b4;border-color:#b9a257;box-shadow:0 3px 0 #c5b475;color:#715c24}.forest-controls small{display:block;font-size:12px;margin-top:5px;font-weight:500}.forest-hint{font-size:13px;line-height:1.9;text-align:center;color:#49664d;min-height:40px;margin:12px 0}.forest-rules{border-top:1px dashed #a6c29a;padding-top:12px;font-size:13px;color:#456447;line-height:1.9}.forest-rules summary{cursor:pointer;font-weight:800}.forest-rules p{margin:10px 0}.forest-empty{align-self:center;font-size:14px;line-height:1.8;color:#658168;text-align:center;padding:15px}.forest-result{border:1px solid #80b38a;background:#fffbdc;border-radius:14px;text-align:center;padding:13px;margin-top:15px;display:grid;gap:5px;color:#336244}.forest-result strong{font-size:20px}.forest-result span{font-size:14px}.forest-result[data-outcome="lose"],.forest-result[data-outcome="bust"]{background:#fff0e7;border-color:#d3a58f;color:#96583c}
@keyframes leaf-deal{from{transform:translateY(-8px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){.forest-heading{margin-top:15px}.forest-heading h2{font-size:25px}.forest-hand{padding:11px 9px}.hand-heading{font-size:14px}.hand-heading>span{font-size:12px;max-width:48%}.leaf-hand{gap:6px;min-height:112px}.leaf-card{flex-basis:61px;height:94px;padding:6px}.leaf-card>b{font-size:18px}.leaf-card>span{font-size:26px}.forest-controls{gap:6px}.forest-controls button{font-size:14px}.forest-controls small{font-size:11px}.forest-mode .felt{padding-inline:12px}.forest-hint{font-size:12px}.forest-heading p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.leaf-card{animation:none}}
/* Always reachable during story dialogue, outside the inert game surfaces. */
.gm-button{position:fixed;left:18px;bottom:20px;z-index:70;border:1px solid #79a58c;border-radius:14px;background:#fffbedf5;color:#2e624d;padding:10px 14px;font-weight:900;box-shadow:0 3px 0 #6d987b,0 6px 16px #25493124;letter-spacing:1px}.gm-button span{font-size:13px;margin-left:4px;font-weight:600}.gm-dialog{width:min(430px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #9bc196;border-radius:24px;background:#fffdf0;color:#31563f;padding:23px;box-shadow:0 18px 70px #254c4266}.gm-dialog::backdrop{background:#244f456b;backdrop-filter:blur(5px)}.gm-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.gm-heading small{letter-spacing:2px;font-size:12px;color:#6b8864}.gm-heading h2{font-size:23px;margin:5px 0}.gm-heading>button{border:1px solid #c0d6ad;border-radius:50%;width:32px;height:32px;background:#eef6df;font-size:23px}.gm-dialog p{font-size:14px;line-height:1.9;color:#5a6d50;margin:12px 0 17px}.gm-chapters{display:grid;gap:9px}.gm-chapters>button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid #bfd5a8;background:#f3f9e6;border-radius:14px;color:#335c42}.gm-chapters>button>span{font-size:23px;color:#789559;font-weight:900}.gm-chapters>button>div{flex:1}.gm-chapters strong{display:block;font-size:16px}.gm-chapters small{display:block;font-size:13px;margin-top:4px;color:#65744f}.gm-chapters b{font-size:13px;white-space:nowrap}.gm-chapters .is-current{background:#d9f1d7;border-color:#66a984}.gm-chapters>button:hover{background:#e0f2cf;transform:translateY(-1px)}.gm-dialog .gm-note{font-size:13px;margin:15px 0 0}
@media(max-width:700px){.gm-button{left:10px;bottom:calc(94px + env(safe-area-inset-bottom));padding:8px 10px;font-size:14px}.gm-button span{font-size:12px}.gm-dialog{padding:19px}.gm-heading h2{font-size:21px}}
.forest-skill-pouch{margin:0 0 18px;padding:13px 12px 10px;background:#fffef1e8;border:1px solid #a9c69a;border-radius:16px}.skill-pouch-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.skill-pouch-heading h3{font-size:15px;margin:0;color:#315e44}.skill-pouch-heading h3 small{font-size:12px;color:#667d55;font-weight:500;margin-left:5px}.skill-pouch-heading>span{font-size:12px;color:#647b50}.forest-skill-grid{display:flex;gap:8px;overflow-x:auto;padding:0 0 6px;scrollbar-width:thin}.forest-skill{flex:0 0 106px;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:113px;padding:9px 5px;border:1px solid #c5b760;border-radius:12px;background:linear-gradient(#fff7c3,#f7edb2);color:#655322;box-shadow:0 3px 0 #c4ba8644}.forest-skill.spy{background:linear-gradient(#e5f4d4,#c8e7bd);color:#3d6341;border-color:#90b780}.skill-emblem{display:grid;place-items:center;width:41px;height:41px;border:2px solid #c6a65d;border-radius:50%;background:#fffef0;font-size:23px;font-weight:900;box-shadow:0 0 0 3px #e5ce8538}.spy .skill-emblem{border-color:#92b56d;color:#4c8048}.forest-skill strong{font-size:14px;white-space:nowrap}.forest-skill small{font-size:12px}.forest-skill>b{position:absolute;right:5px;top:5px;font-size:13px;background:#fff9df;border-radius:7px;padding:2px 4px}.forest-skill:disabled{opacity:.65}.forest-skill:not(:disabled):hover{transform:translateY(-2px);outline:2px solid #c5a751;outline-offset:-2px}.forest-skill-pouch p{font-size:12px;color:#617552;line-height:1.7;margin:7px 0 0}.skill-empty{min-height:60px;display:grid;place-items:center;flex:1;color:#73835c;text-align:center;font-size:13px;padding:8px}.forest-skill-journal{margin-top:14px;padding:10px 12px;background:#f8fff0b3;border:1px dashed #adc398;border-radius:11px;font-size:13px;color:#4b6a4b}.forest-skill-journal summary{cursor:pointer;font-weight:700}.forest-skill-journal ol{max-height:160px;overflow:auto;line-height:1.9;padding-left:18px;margin-bottom:0}.forest-skill-journal li+li{margin-top:4px}
@media(max-width:700px){.forest-skill-pouch{padding:10px 9px;margin-bottom:14px}.forest-skill{flex-basis:95px;min-height:104px}.skill-pouch-heading h3{font-size:14px}.forest-skill strong{font-size:13px}.forest-skill-grid{gap:7px}.forest-skill-journal{font-size:12px}.skill-emblem{width:36px;height:36px;font-size:21px}}
/* Let the warehouse scroll inside the game column instead of widening the grid. */
.forest-mode .table-area,.forest-mode .table-rail,.forest-mode .felt,#forest-game,.forest-skill-pouch,.forest-skill-grid{min-width:0;max-width:100%}
.forest-skill:has(.skill-art){min-height:128px;padding-top:6px}.forest-skill .skill-art{display:block;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 2px #58643d22)}.forest-skill.swap{background:linear-gradient(#e5fff0,#cbead5);border-color:#8db99b;color:#345e47}.forest-skill.peek{background:linear-gradient(#e4faff,#cce4f3);border-color:#8db4c5;color:#3a6276}.forest-skill.thorn{background:linear-gradient(#ffedf1,#f0d5de);border-color:#c797a5;color:#7b4a5b}.forest-skill.harvest{background:linear-gradient(#fff7cb,#f2dfaa);border-color:#c7aa69;color:#78612f}.forest-skill-effects{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.forest-skill-effects>span{padding:4px 7px;border:1px solid #b6c797;border-radius:10px;background:#fff4cf;color:#54633d;font-size:12px;line-height:1.5}.forest-skill small{max-width:100%;white-space:normal;line-height:1.5;text-align:center}
@media(max-width:700px){.forest-skill:has(.skill-art){min-height:118px}.forest-skill .skill-art{width:48px;height:48px}.forest-skill-effects>span{font-size:12px}}
/* Sequential deals use a transient overlay; restored hands stay still. */
body.forest-mode .leaf-card{animation:none}.forest-deal-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:90;contain:strict}.forest-deal-layer .forest-flying-card{position:absolute;left:0;top:0;margin:0;box-sizing:border-box;transform-origin:top left;will-change:transform,opacity;animation:none;pointer-events:none;box-shadow:0 6px 16px #294e4240}.forest-skill-inhand{background:linear-gradient(#fff9d9,#dff4d3);border-color:#bca35d;justify-content:center;gap:5px;padding:5px}.forest-skill-inhand>img{width:48px;height:48px;object-fit:contain}.forest-skill-inhand>strong{font-size:12px;line-height:1.5;text-align:center;color:#536841;white-space:normal}.forest-skill-inhand>small{font-size:11px;color:#7e7142}.forest-skill-inhand .skill-emblem{width:33px;height:33px;font-size:21px}.forest-dealing #forest-game{cursor:wait}.forest-skill-received{outline:2px solid #ddba59;outline-offset:-2px;filter:brightness(1.12)}
@media(max-width:700px){.forest-skill-inhand>img{width:39px;height:39px}.forest-skill-inhand>strong{font-size:12px}.forest-skill-inhand>small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.forest-deal-layer{display:none}}
.gm-complete{width:100%;display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px 12px;border:1px solid #d3b66d;border-radius:14px;background:linear-gradient(120deg,#fff1ba,#f2e4c2);color:#65552d;text-align:left;box-shadow:0 3px 0 #c7b17c44}.gm-complete>span:first-child{font-size:25px;color:#b48c37}.gm-complete>span:nth-child(2){flex:1;min-width:0}.gm-complete strong{display:block;font-size:16px}.gm-complete small{display:block;font-size:12px;line-height:1.7;margin-top:4px;color:#7e704c}.gm-complete:hover{filter:brightness(1.04)}.gm-complete>b{font-size:20px}
/* Turn cue: the divider announces who acts next, and the hand receiving a card
   gets a soft glow while the alternating deal is playing. */
#forest-turn{display:inline-block;padding:4px 12px;border:1px solid #a8c797;border-radius:999px;background:#f9ffefd9;color:#315e44;font-size:13px;font-weight:800;letter-spacing:.4px;line-height:1.5;box-shadow:0 2px 0 #c4d7b266}
#forest-turn[data-state="dealer-stood"]{border-color:#d6bd77;background:#fff6cf;color:#7a5c28}
@media(max-width:700px){#forest-turn{font-size:12px;padding:3px 9px}}
body.forest-dealing[data-forest-deal-side="dealer"] .guardian-hand{box-shadow:0 0 0 2px #a9d6ae,0 0 22px #9ed7a855}
body.forest-dealing[data-forest-deal-side="player"] #forest-game>.forest-hand:not(.guardian-hand){box-shadow:0 0 0 2px #d8c477,0 0 22px #e5cf7d55}

/* GM quick edits: wallet, bond meter and global achievements. */
.gm-tools{margin:16px 0 18px;padding:13px;border:1px solid #c9d8b3;border-radius:15px;background:#f7fbee8c}
.gm-tools-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}
.gm-tools-heading>span{font-size:14px;font-weight:700;letter-spacing:2px;color:#4b7356}
.gm-tools-heading>small{font-size:12px;line-height:1.5;color:#8d9a7b;text-align:right}
.gm-money-editor{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}
.gm-money-editor>label{font-size:13px;color:#61735a}
.gm-money-editor>input{width:100%;min-width:0;padding:9px 11px;border:1px solid #bdd0a7;border-radius:9px;background:#fffef5;color:#395c43;font:600 16px Georgia,'Microsoft YaHei',serif;letter-spacing:1px}
.gm-money-editor>button{border:1px solid #7ca483;border-radius:9px;background:#e4f2d9;color:#3f6a4e;padding:9px 12px;font-size:13px;font-weight:700}
.gm-money-editor>button:hover{background:#d7ecc8}
.gm-dialog .gm-money-hint{font-size:12px;line-height:1.7;color:#8f9d80;margin:6px 0 0}
.gm-tool-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
.gm-tool-actions>button{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;padding:10px;border:1px solid #c4d3b0;border-radius:11px;background:#fbfdf3;color:#4f6d55}
.gm-tool-actions>button>span{flex:0 0 auto;font-size:21px;line-height:1;color:#a88e58}
.gm-tool-actions>button>div{min-width:0}
.gm-tool-actions strong{display:block;font-size:13px}
.gm-tool-actions small{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:#859176;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-tool-actions>button:not(:disabled):hover{background:#eef7df;border-color:#96b184}
.gm-tool-actions>button:disabled{opacity:.55}
.gm-dialog .gm-status{min-height:17px;margin:8px 0 0;font-size:12px;line-height:1.7;color:#6d865f}
@media(max-width:420px){.gm-tool-actions{grid-template-columns:1fr}.gm-money-editor{grid-template-columns:1fr auto}.gm-money-editor>label{grid-column:1/-1}}
