/* Illustrated entry, independent of the former three-column lobby. */
body.at-lobby{background:#e8dfc7;overflow-x:hidden}
.forest-entry{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;color:#2c4633}
:root{--forest-panorama-position:center}
.entry-scene{position:fixed;z-index:-2;inset:0;width:100vw;height:100dvh;background:#d5d4b5 url('./art/lobby-valley-v15.webp') var(--forest-panorama-position)/cover no-repeat}
.entry-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f4ead35c 0%,#f4ead340 33%,transparent 65%)}
.forest-entry:not(.entry-welcome)>.entry-scene:after{background:#293a2840}
.entry-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px max(32px,env(safe-area-inset-right)) 12px max(32px,env(safe-area-inset-left));min-height:78px}
.entry-header button,.entry-footer button{box-shadow:none;border:0;background:#f7eed9b8;font:600 12px/1.2 Manrope,Segoe UI,sans-serif;min-height:44px;padding:10px 15px;border-radius:5px;color:#334b35}
.entry-header button:hover,.entry-footer button:hover{background:#f8efdbe8}
.entry-header .entry-brand{display:flex;align-items:center;gap:10px;font:600 21px 'Cormorant Garamond',Georgia;background:#f5ecd9c4;padding:4px 13px 4px 7px}
.entry-brand>svg{width:30px;height:30px;fill:none;stroke:#536746;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.entry-welcome .entry-brand span{display:none}.entry-welcome .entry-brand{background:transparent;box-shadow:none}
.entry-header nav{display:flex;gap:5px}
.entry-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 28px 32px}
.entry-welcome>.entry-content{justify-content:flex-start;padding-left:clamp(32px,10vw,200px)}
.entry-content>.entry-welcome{width:560px;max-width:100%;padding:0;background:none}
.entry-flourish{display:flex;align-items:center;gap:14px;margin-bottom:20px}.entry-flourish>svg{height:43px;width:43px;fill:none;stroke:#64774e;stroke-width:1.25}.entry-flourish>span{height:1px;width:86px;background:#7c875666}
.entry-content h1{font:600 clamp(66px,6.8vw,110px)/.85 'Cormorant Garamond',Georgia;letter-spacing:-.035em;color:#2d4936;margin:0 0 24px;text-shadow:0 1px 0 #fff6df99}
.entry-tagline{font:500 21px/1.4 'Cormorant Garamond',Georgia;margin:0 0 32px;color:#4f6144}
.entry-main-actions{display:grid;gap:12px;width:286px;max-width:100%}
.entry-play{display:flex;align-items:center;justify-content:center;gap:24px;min-height:57px;padding:12px 24px;border:1px solid #b5a171;border-radius:6px;background:#304e38;color:#fff0d0;box-shadow:inset 0 0 0 3px #f6e6b514,0 4px 12px #283c2926;font:600 25px/1.1 'Cormorant Garamond',Georgia}
.entry-play>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
.entry-play:hover:not(:disabled){background:#426144;box-shadow:inset 0 0 0 3px #f6e6b51c,0 5px 14px #283c2933}
.entry-resume{min-height:46px;padding:10px 20px;border:1px solid #a59772;border-radius:5px;background:#f4ead4cf;color:#42543b;box-shadow:none;font:600 18px 'Cormorant Garamond',Georgia}
.entry-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px max(32px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left));color:#fff0d0;background:linear-gradient(transparent,#252e2240);min-height:56px;font:500 11px Manrope,Segoe UI,sans-serif;letter-spacing:1px}.entry-footer>span{text-shadow:0 1px 4px #17271a99}.entry-footer button{background:#f6ebd7d9}
.journey-panel{width:860px;max-width:100%;background:#f6eddaf7;border:1px solid #c6b387;border-radius:10px;padding:32px 36px;box-shadow:0 18px 70px #18271e45}
.journey-panel h2{font:600 44px/1 'Cormorant Garamond',Georgia;margin:8px 0 28px;letter-spacing:-.02em}.journey-panel h2:focus{outline:none}
.journey-back{display:inline-flex;align-items:center;min-height:36px;padding:4px 0;background:none;border:0;box-shadow:none;font:500 12px Manrope,Segoe UI,sans-serif;color:#737a5b}.journey-back:hover:not(:disabled){background:none;color:#294b36}
.journey-kicker{display:block;font:600 10px Manrope,Segoe UI,sans-serif;letter-spacing:2px;color:#968355;margin:18px 0 10px}
.modes-panel{width:760px}.journey-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.journey-mode{display:flex;align-items:center;gap:14px;text-align:left;min-height:110px;min-width:0;padding:20px 18px;border:1px solid #cebc94;border-radius:7px;background:#fbf4e4;box-shadow:0 2px 4px #584c2c0a}
.journey-mode:hover:not(:disabled){background:#e9edd9;border-color:#8d9a6c}.journey-mode>svg:first-child{height:35px;width:35px;fill:none;stroke:#5c7250;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;flex:none}.journey-mode>svg:last-child{height:18px;width:18px;fill:none;stroke:#8c976e;stroke-width:1.4;margin-left:auto;flex:none}.journey-mode>span{min-width:0}.journey-mode strong{display:block;font:600 23px/1.05 'Cormorant Garamond',Georgia}.journey-mode small{display:block;font:400 11px/1.5 Manrope,Segoe UI,sans-serif;color:#858267;margin-top:7px}
.journey-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.chosen-mode{display:flex;align-items:center;gap:7px;font:500 11px Manrope,Segoe UI,sans-serif;color:#6a7857}.chosen-mode>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}
.journey-section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.journey-section-label h3{font-size:23px;margin:0}.journey-section-label>span{font:11px Manrope,Segoe UI,sans-serif;color:#8a8061}
.journey-expansions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.journey-expansion{position:relative;min-width:0;display:flex;flex-direction:column;text-align:left;padding:12px;border:1px solid #ccb88d;border-radius:7px;background:#fbf4e4;box-shadow:none;overflow:hidden}
.journey-expansion.selected{border-color:#718456;background:#e9edd9;box-shadow:inset 0 0 0 1px #718456}.journey-exp-art{height:108px;width:108px;max-width:100%;align-self:center;overflow:hidden;margin:2px 0 12px;border-radius:3px;box-shadow:0 3px 8px #6e5a3026}.journey-exp-art>svg{width:100%;height:100%;display:block}.journey-expansion h3{font:600 23px/1.05 'Cormorant Garamond',Georgia;margin:0 0 7px}.journey-expansion p{font:400 10px/1.5 Manrope,Segoe UI,sans-serif;color:#867d61;margin:0}
.journey-check{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #ad9a6b;border-radius:50%;background:#f7eed9;color:#7e8054;font:500 18px Georgia}.selected .journey-check{background:#496441;border-color:#496441;color:#fff1cc}
.journey-setup-bottom{display:flex;gap:22px;align-items:flex-end;margin-top:26px;padding-top:22px;border-top:1px solid #d2c19a}.journey-fields{display:flex;gap:10px;flex:1;min-width:0}.journey-fields label,.journey-input-label{display:flex;flex-direction:column;gap:7px;font:600 11px Manrope,Segoe UI,sans-serif;color:#7c795e;min-width:0}.journey-fields label:first-child{flex:1}.journey-fields label:last-child:not(:first-child){width:123px;flex:none}
.journey-fields input,.journey-fields select,.journey-input-label input{width:100%;height:46px;min-width:0;border:1px solid #c5b48b;border-radius:5px;background:#fff9ec;padding:10px 12px;box-shadow:none;color:#3f543c;font:500 13px Manrope,Segoe UI,sans-serif}.journey-launch{display:flex;flex-direction:column;gap:7px;min-width:230px}.journey-inventory{font:500 11px Manrope,Segoe UI,sans-serif;color:#8a8061;text-align:right}.journey-launch .entry-play{min-height:46px;font-size:22px;padding:10px 16px;gap:15px}.journey-join-link{display:block;min-height:44px;padding:8px 0 0;margin:8px auto -10px;background:none;border:0;box-shadow:none;color:#69784f;font:500 12px Manrope,Segoe UI,sans-serif}
.join-panel,.waiting-panel{width:470px}.join-panel .entry-play,.waiting-panel .entry-play{width:100%;margin-top:22px}.join-panel .journey-input-label{margin-top:15px}.join-illustration{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#e5e7cf;margin:0 auto 20px}.join-illustration>svg{width:34px;height:34px;stroke:#6f7e51;stroke-width:1.2;fill:none}.join-panel #join-code{letter-spacing:4px;text-transform:uppercase}
.waiting-panel button.room-code{display:block;position:relative;width:100%;cursor:pointer}
.waiting-panel button.room-code svg{position:absolute;right:5px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:currentColor;stroke-width:1.7}
.waiting-panel button.room-code:hover{filter:brightness(1.07)}
.waiting-panel button.room-code:focus-visible{outline:2px solid #74511e;outline-offset:2px}
.waiting-panel .room-code{font:600 32px/1.4 Manrope,Segoe UI,sans-serif;letter-spacing:6px;text-align:center;padding:16px;background:#e9e6cf;border:1px solid #c7b990;border-radius:6px}.waiting-instruction{font:12px/1.6 Manrope,Segoe UI,sans-serif;color:#7b7e60}.journey-members{font:13px Manrope,Segoe UI,sans-serif;margin:16px 0}.journey-members p{margin:0}.waiting-panel .entry-resume{width:100%;margin-top:10px}
/* A warm, unobtrusive tabletop. Grain is organic, without a visible grid. */
.playing .compact-game .board-wrap{background-color:#a29a88;background-image:radial-gradient(ellipse at 48% 42%,#d7ceba50,transparent 75%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' opacity='.14' filter='url(%23n)'/%3E%3C/svg%3E");background-size:auto,180px 180px}
.playing .compact-game .play-header{background:linear-gradient(#514c3e36,transparent)}.playing .tile.ghost{color:#4e5b3c;border-color:#59664c7a;background:#f9f2df14}.playing .tile.ghost:hover{background:#fff1b82e}.playing .tile:not(.ghost){box-shadow:0 2px 4px #423c2f40}.playing .tile.latest{box-shadow:0 0 0 3px #ffe18a,0 0 14px 4px #f7d36b90}
@media(max-width:700px){
 .entry-header{min-height:64px;padding:10px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left))}.entry-header .entry-brand{font-size:18px;padding:4px}.entry-brand>svg{width:25px;height:25px}.entry-header nav button{padding:9px 10px;font-size:11px}.entry-header .entry-brand span{display:none}
 .entry-content{padding:14px 12px 22px}.entry-welcome>.entry-content{padding:7vh 24px 20px;align-items:flex-start;justify-content:center}.entry-content>.entry-welcome{width:360px;text-align:center}.entry-flourish{justify-content:center;margin-bottom:15px}.entry-flourish>span{display:none}.entry-content h1{font-size:clamp(52px,15vw,78px);margin-bottom:18px}.entry-tagline{font-size:20px;margin-bottom:26px}.entry-main-actions{width:270px;margin:auto}.entry-play{min-height:52px;font-size:24px}.entry-resume{font-size:18px}.entry-welcome>.entry-scene:after{background:linear-gradient(#f5ebd0a6 0%,#f5ebd0c9 40%,#f5ebd000 75%)}
 .entry-footer{min-height:44px;padding:4px 14px max(8px,env(safe-area-inset-bottom));font-size:9px}.entry-footer button{font-size:11px;min-height:40px;padding:8px 12px}
 .journey-panel{padding:20px 18px;border-radius:8px}.journey-panel h2{font-size:35px;margin:6px 0 22px}.journey-kicker{margin-top:12px}.journey-modes{grid-template-columns:1fr;gap:8px}.journey-mode{min-height:80px;padding:14px 12px}.journey-mode strong{font-size:23px}.journey-mode small{font-size:11px}.journey-mode>svg:first-child{width:30px;height:30px}
 .chosen-mode{font-size:10px;gap:4px}.journey-expansions{grid-template-columns:1fr;gap:8px}.journey-expansion{display:grid;grid-template-columns:65px minmax(0,1fr) 25px;gap:10px;align-items:center;padding:8px}.journey-exp-art{width:65px;height:65px;margin:0;max-width:none}.journey-expansion h3{font-size:22px;margin-bottom:5px}.journey-expansion p{font-size:9px}.journey-check{position:static;width:23px;height:23px;font-size:17px}.journey-section-label{margin-bottom:10px}.journey-section-label h3{font-size:22px}.journey-section-label>span{font-size:9px}
 .journey-setup-bottom{flex-direction:column;gap:12px;margin-top:18px;padding-top:15px;align-items:stretch}.journey-fields{width:100%;gap:8px}.journey-fields label:last-child:not(:first-child){width:115px}.journey-launch{min-width:0;flex-direction:row;align-items:center;gap:12px}.journey-inventory{flex:none}.journey-launch .entry-play{flex:1;font-size:22px}.journey-join-link{font-size:11px;margin-top:6px}
 .join-panel,.waiting-panel{width:420px}.join-panel .journey-input-label{margin-top:14px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){
 .entry-header{min-height:58px;padding-top:8px;padding-bottom:6px}.entry-footer{min-height:36px;padding-top:0;padding-bottom:4px}.entry-footer button{min-height:32px;padding:6px 12px}.entry-content{padding-top:10px;padding-bottom:10px}.journey-panel{padding:22px 28px}.journey-panel h2{font-size:36px;margin-bottom:18px}.journey-exp-art{height:78px;width:78px}.journey-setup-bottom{margin-top:18px;padding-top:14px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .entry-header{min-height:48px;padding:4px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.entry-header .entry-brand{font-size:18px}.entry-header button{min-height:40px;padding:6px 12px}.entry-brand>svg{width:25px;height:25px}.entry-header nav button{font-size:11px}.entry-footer{min-height:28px;padding:0 20px max(2px,env(safe-area-inset-bottom));font-size:9px}.entry-footer button{min-height:28px;padding:4px 10px;font-size:10px}
 .entry-content{padding:8px 18px 12px}.entry-welcome>.entry-content{padding:8px 7vw 10px;align-items:center;justify-content:flex-start}.entry-content>.entry-welcome{width:49%;text-align:left}.entry-content h1{font-size:clamp(48px,7.7vw,70px);margin:0 0 10px}.entry-flourish{display:none}.entry-tagline{font-size:18px;margin:0 0 15px}.entry-main-actions{width:240px;max-width:100%;gap:7px;margin:0}.entry-play{min-height:46px;font-size:23px;padding:8px 16px}.entry-resume{min-height:44px;font-size:17px;padding:7px 12px}.entry-welcome>.entry-scene:after{background:linear-gradient(90deg,#f5ebd066,transparent 65%)}
 .journey-panel{padding:14px 20px;max-width:760px}.journey-kicker{display:none}.journey-panel h2{font-size:32px;margin:3px 0 14px}.journey-back{min-height:28px;font-size:11px}.journey-modes{grid-template-columns:1fr 1fr;gap:8px}.journey-mode{min-height:73px;padding:10px 12px;gap:10px}.journey-mode strong{font-size:21px}.journey-mode small{font-size:10px;margin-top:4px}.journey-mode>svg:first-child{width:27px;height:27px}
 .setup-panel>h2{display:none}.journey-section-label{margin:0 0 7px}.journey-section-label h3{font-size:20px}.journey-section-label>span{font-size:9px}.journey-top{margin-bottom:3px}.chosen-mode{font-size:10px}.journey-expansions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.journey-expansion{display:flex;flex-direction:column;align-items:flex-start;padding:7px;gap:0;min-height:96px}.journey-exp-art{height:46px;width:46px;align-self:flex-start;margin:0 0 5px}.journey-expansion h3{font-size:18px;line-height:1;max-width:100%;margin:0}.journey-expansion p{display:none}.journey-check{position:absolute;top:8px;right:8px;width:22px;height:22px}
 .journey-setup-bottom{flex-direction:row;align-items:flex-end;gap:14px;margin-top:10px;padding-top:9px}.journey-fields{width:auto;flex:1}.journey-fields label{font-size:9px;gap:3px}.journey-fields label:last-child:not(:first-child){width:102px}.journey-fields input,.journey-fields select{height:44px;font-size:11px;padding:8px}.journey-launch{min-width:170px;display:block;flex:0 0 33%}.journey-inventory{display:none}.journey-launch .entry-play{min-height:44px;width:100%;font-size:21px;gap:8px;padding:8px}.journey-launch .entry-play>svg{width:17px}.journey-join-link{margin:0 auto -4px;padding:4px 0;min-height:32px;font-size:11px}
 .join-panel{width:600px;display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.join-panel .journey-back,.join-panel h2{grid-column:1/-1}.join-illustration{display:none}.join-panel .journey-input-label{margin:0}.join-panel .entry-play{grid-column:1/-1;margin-top:14px;min-height:44px}.waiting-panel{max-width:520px}.waiting-panel h2{margin-bottom:10px}.waiting-panel .room-code{padding:5px;font-size:26px}.waiting-panel .entry-play{margin-top:12px;min-height:44px}.waiting-instruction{margin:6px 0;font-size:11px}.journey-members{margin:9px 0;font-size:12px}.waiting-panel .entry-resume{margin-top:6px}
}
@media(prefers-reduced-motion:no-preference){.entry-welcome>.entry-content{animation:entry-arrive .6s ease-out both}@keyframes entry-arrive{from{opacity:0}to{opacity:1}}}


/* Forest panorama restored; typography and controls follow the illustrated world. */
.forest-entry .entry-header .entry-brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:23px;background:#f9f0dbb3;border:1px solid #b7a47955;border-radius:4px;padding:5px 14px 5px 7px;box-shadow:none}
.forest-entry.entry-welcome .entry-brand{background:transparent;border-color:transparent}.forest-entry.entry-welcome .entry-brand span{display:none}.forest-entry .entry-brand>svg{color:#667447;stroke:none;fill:none;width:30px;height:30px}
.forest-entry .entry-header nav button{font:600 19px/1.1 'Cormorant Garamond',Georgia,serif;padding:10px 18px;background:#f7eed9d9;border:1px solid #b7a47977;border-radius:4px;color:#3c5138;min-height:44px}
.forest-entry.entry-welcome>.entry-content{padding-left:clamp(32px,8.5vw,170px)}
.forest-entry .entry-content>.entry-welcome{width:640px}
.forest-entry .entry-content h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(70px,6.4vw,104px);font-weight:700;line-height:.94;letter-spacing:0;margin:0 0 22px;color:#294b34;text-shadow:0 1px 0 #fff7e4cc,0 0 24px #f5ebd099}
.title-top{display:block;font-size:.65em;letter-spacing:.15em;text-transform:uppercase;margin:0 0 5px 3px;line-height:1.1}
.title-main{display:block;letter-spacing:-.025em;line-height:.95}
.forest-entry .entry-flourish{margin-bottom:12px;color:#8c8655;gap:12px}.forest-entry .entry-flourish>svg{stroke:none;width:43px;height:43px;color:#8b8a54}.forest-entry .entry-flourish>span{width:103px;background:#948d585e}
.forest-entry .entry-tagline{font:500 24px/1.25 'Cormorant Garamond',Georgia,serif;margin-bottom:30px;color:#536746;text-shadow:0 1px #fff4da99}
.forest-entry .entry-main-actions{width:300px;gap:11px}
.forest-entry .entry-play{position:relative;min-height:58px;border:3px double #c8ad6e;border-radius:6px;background:linear-gradient(#36583c,#284832);box-shadow:inset 0 0 0 1px #172f2270,0 3px 9px #233a262b;color:#fff0ca;font:600 28px/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:.015em;padding:11px 22px;gap:25px}
.forest-entry .entry-play:hover:not(:disabled){background:linear-gradient(#426747,#31533b);box-shadow:inset 0 0 0 1px #172f2270,0 4px 12px #233a2640}
.forest-entry .entry-play>svg{width:21px;height:21px;stroke:#e3cf9a}
.forest-entry .entry-resume{border:3px double #bda778;border-radius:5px;background:#f9efd7e3;color:#4a603f;font:600 21px/1.1 'Cormorant Garamond',Georgia,serif;min-height:48px;box-shadow:0 2px 5px #27382417}
.forest-entry .journey-panel{border:3px double #ba9f68;border-radius:8px;background:#f7efdaf7;box-shadow:0 14px 55px #25392352;padding:28px 34px}
.forest-entry .journey-panel h2{font:600 43px/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;color:#314e36;margin:8px 0 24px}
.forest-entry .journey-kicker{color:#958254}.forest-entry .journey-section-label h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px}
.forest-entry .journey-expansion{border:3px double #c7b287;border-radius:4px;background:#fcf5e6;padding:12px;box-shadow:0 2px 5px #69512c0c}.forest-entry .journey-expansion.selected{border-color:#7c9166;background:#e8ecd9;box-shadow:inset 0 0 0 1px #81936533}
.forest-entry .journey-exp-art{width:115px;height:115px;margin-bottom:12px;border:1px solid #c9b88e;border-radius:2px;box-shadow:0 3px 6px #6853282b}.forest-entry .journey-expansion h3{font:600 23px/1.05 'Cormorant Garamond',Georgia,serif}.forest-entry .journey-expansion p{font-size:10px;color:#877c5e}
.forest-entry .journey-check{width:25px;height:25px;border:3px double #b29d68;font:500 17px Georgia,serif;background:#fcf3de}.forest-entry .selected .journey-check{background:#4c6844;border-color:#87976c;color:#fff1cc}
.forest-entry .journey-mode{border:3px double #c7b287;border-radius:5px;background:#fcf5e6}.forest-entry .journey-mode:hover:not(:disabled){background:#e8ecd9;border-color:#8b9c73}
.forest-entry .journey-mode strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:600}
.forest-entry .journey-fields input,.forest-entry .journey-fields select,.forest-entry .journey-input-label input{border-color:#c4ae7b;background:#fffaee;border-radius:3px;color:#496043}
.forest-entry .journey-launch .entry-play{min-height:48px;font-size:25px;padding:8px 15px}.forest-entry .waiting-panel .room-code{border:3px double #ba9f68;border-radius:4px;background:#ede7cc;color:#48613e}
@media(max-width:700px){
 .forest-entry .entry-header .entry-brand{padding:3px;border-color:transparent;font-size:18px}.forest-entry .entry-header nav button{font-size:17px;padding:9px 11px;min-height:44px}
 .forest-entry.entry-welcome>.entry-content{padding:7vh 22px 24px;align-items:flex-start;justify-content:center}.forest-entry .entry-content>.entry-welcome{width:100%;max-width:390px;text-align:center}.forest-entry .entry-content h1{font-size:clamp(61px,16vw,78px);margin-bottom:19px}.title-top{font-size:.6em;letter-spacing:.13em;margin-left:0}.title-main{letter-spacing:-.04em}.forest-entry .entry-tagline{font-size:22px;margin-bottom:25px}.forest-entry .entry-main-actions{width:280px;max-width:100%;margin:auto}.forest-entry .entry-play{min-height:53px;font-size:26px;padding:9px 17px}.forest-entry .entry-resume{font-size:20px;min-height:46px}.forest-entry .entry-flourish{justify-content:center;margin-bottom:12px}.forest-entry .entry-flourish>span{display:none}
 .forest-entry .journey-panel{padding:18px 16px;border-radius:6px}.forest-entry .journey-panel h2{font-size:35px;margin:7px 0 20px}.forest-entry .journey-section-label h3{font-size:22px}.forest-entry .journey-expansion{padding:7px;gap:9px}.forest-entry .journey-exp-art{width:62px;height:62px;margin:0}.forest-entry .journey-expansion h3{font-size:21px}.forest-entry .journey-expansion p{font-size:9px}.forest-entry .journey-check{width:23px;height:23px;font-size:16px}.forest-entry .journey-mode strong{font-size:24px}.forest-entry .journey-launch .entry-play{font-size:22px;min-height:46px;padding:8px 12px;gap:10px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){
 .forest-entry .journey-panel{padding:21px 26px}.forest-entry .journey-panel h2{font-size:36px;margin-bottom:17px}.forest-entry .journey-exp-art{height:78px;width:78px}.forest-entry .journey-expansion h3{font-size:21px}.forest-entry .entry-content h1{font-size:84px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry .entry-header .entry-brand{font-size:18px;padding:2px 6px}.forest-entry .entry-header nav button{font-size:16px;min-height:40px;padding:6px 12px}.forest-entry.entry-welcome>.entry-content{padding:8px 7vw 12px;align-items:center;justify-content:flex-start}.forest-entry .entry-content>.entry-welcome{width:52%;text-align:left}.forest-entry .entry-content h1{font-size:clamp(50px,7.6vw,72px);margin-bottom:9px}.title-top{font-size:.62em;margin-bottom:2px}.forest-entry .entry-flourish{display:none}.forest-entry .entry-tagline{font-size:18px;margin-bottom:14px}.forest-entry .entry-main-actions{width:245px;margin:0;gap:6px}.forest-entry .entry-play{min-height:46px;font-size:24px;padding:7px 14px}.forest-entry .entry-resume{min-height:44px;font-size:18px;padding:6px 10px}
 .forest-entry .journey-panel{padding:12px 18px}.forest-entry .journey-panel h2{font-size:32px;margin:4px 0 12px}.forest-entry .setup-panel>h2{display:none}.forest-entry .journey-section-label h3{font-size:20px}.forest-entry .journey-expansion{min-height:98px;padding:6px}.forest-entry .journey-exp-art{width:43px;height:43px;margin:0 0 5px}.forest-entry .journey-expansion h3{font-size:18px;line-height:1.03}.forest-entry .journey-expansion p{display:none}.forest-entry .journey-check{width:21px;height:21px;top:7px;right:7px;font-size:14px}.forest-entry .journey-launch .entry-play{font-size:20px;min-height:44px;padding:6px 8px;gap:8px}.forest-entry .journey-mode strong{font-size:22px}.forest-entry .journey-mode{min-height:73px;padding:9px 11px}.forest-entry .join-panel .entry-play{min-height:44px}.forest-entry .waiting-panel .room-code{padding:4px;font-size:25px}
}

/* Painted UI skins. Live labels and complete button hit areas stay in HTML. */
.title-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.forest-entry .entry-content h1{margin:0 0 8px;width:600px;max-width:100%;line-height:1}.painted-title{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 1px #f8ecc585)}
.forest-entry .entry-tagline{font-size:24px;margin:12px 0 22px}.forest-entry .entry-main-actions{width:320px;gap:10px}
.forest-entry .entry-play,.forest-entry .entry-resume,.compact-game .turn-actions>button{position:relative;isolation:isolate;border:0;border-radius:0;background:none;box-shadow:none;color:#fff3cb;min-height:69px;padding:10px 49px;font:700 27px/1.1 'Cormorant Garamond',Georgia,serif;text-shadow:0 2px 1px #142c1b;gap:12px}
.forest-entry .entry-play:before,.forest-entry .entry-resume:before,.compact-game .turn-actions>button:before{content:'';position:absolute;inset:-2px;z-index:-1;background:url('./art/ui-button-v15.webp') center/100% 100% no-repeat;pointer-events:none}
.forest-entry .entry-resume:before{filter:hue-rotate(-20deg) brightness(1.1)}.forest-entry .entry-resume{font-size:22px;min-height:63px}
.forest-entry .entry-play:hover:not(:disabled),.forest-entry .entry-resume:hover:not(:disabled),.compact-game .turn-actions>button:hover:not(:disabled){background:none;box-shadow:none;filter:brightness(1.09)}
.forest-entry .entry-play>svg{width:19px;height:19px;stroke:#ead29a;flex:none}
.forest-entry .entry-header nav button,.forest-entry .entry-header .entry-brand,.forest-entry .entry-footer button{border:14px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;background:none;box-shadow:none;padding:0 9px;min-height:49px;font:600 20px/1.1 'Cormorant Garamond',Georgia,serif}
.forest-entry.entry-welcome .entry-brand{border-image:none;border-color:transparent;background:none}.forest-entry .entry-header .entry-brand{font-size:23px;gap:6px}.forest-entry .entry-footer button{border-width:11px;min-height:42px;font-size:18px}.forest-entry .entry-header nav button:hover,.forest-entry .entry-header .entry-brand:hover,.forest-entry .entry-footer button:hover{background:none;filter:brightness(1.06)}
.forest-entry .journey-panel{width:900px;border:39px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;padding:3px 8px 6px;background:none;box-shadow:0 9px 32px #182e2340}
.forest-entry .modes-panel{width:930px}.forest-entry .journey-panel h2{font-size:43px;margin:4px 0 20px;color:#3f512e;text-shadow:0 1px #fff8e1}.forest-entry .journey-kicker{margin:10px 0 7px;font-size:9px;color:#a0783d}.forest-entry .journey-back{min-height:29px;color:#8b734b}
.forest-entry .journey-modes{gap:12px}.forest-entry .journey-mode{--mode-wash:#e5e8d5;min-height:142px;padding:5px 6px;gap:10px;border:11px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% stretch;border-radius:0;background:var(--mode-wash);box-shadow:0 3px 5px #534a2a15}
.forest-entry .journey-mode[data-mode="bot"]{--mode-wash:#e0e7dc}.forest-entry .journey-mode[data-mode="online"]{--mode-wash:#dde9df}.forest-entry .journey-mode[data-mode="local"]{--mode-wash:#f4e2b9}.forest-entry .journey-mode[data-mode="room"]{--mode-wash:#eddfc1}
.forest-entry .journey-mode:hover:not(:disabled){background:var(--mode-wash);filter:brightness(1.035);border-color:transparent;box-shadow:0 3px 9px #5e502b29}
.forest-entry .journey-mode>.mode-vignette{display:block;width:120px;height:102px;flex:none;overflow:hidden;stroke:none;fill:none}.forest-entry .journey-mode>span{flex:1;min-width:0}.forest-entry .journey-mode strong{font-size:25px;line-height:1.04;color:#3d522f}.forest-entry .journey-mode small{font-size:10px;color:#85805c;line-height:1.45}.forest-entry .journey-mode>svg:last-child{display:none}
.forest-entry .journey-expansion{border:10px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% stretch;border-radius:0;padding:7px 8px 10px;background:#fbf0d4;box-shadow:0 2px 5px #59452c22}.forest-entry .journey-expansion.selected{border-color:transparent;background:#e5eacc;box-shadow:inset 0 0 0 2px #8b9f67,0 2px 5px #59452c22}
.forest-entry .journey-expansion h3{font-weight:700;color:#4a5832}.forest-entry .journey-exp-art{width:105px;height:105px;border:2px solid #c1a06b;margin-bottom:10px;box-shadow:0 2px 5px #6b523735}.forest-entry .journey-check{top:8px;right:8px;background:#fff1c8;border:3px double #b58b4a;font-weight:700}.forest-entry .selected .journey-check{color:#fff2be;background:#55713a;border-color:#b8be7b}
.forest-entry .journey-fields input,.forest-entry .journey-fields select,.forest-entry .journey-input-label input{background:#fff6df;border:2px solid #c5a26a;border-radius:4px;box-shadow:inset 0 2px 4px #ad86451c}.forest-entry .journey-fields label,.forest-entry .journey-input-label{color:#92734c}
.forest-entry .journey-setup-bottom{gap:18px;margin-top:20px;padding-top:16px;border-top:1px solid #b89a5d66}.forest-entry .journey-launch{min-width:240px}.forest-entry .journey-launch .entry-play{min-height:55px;padding:8px 36px;font-size:25px;gap:10px}.forest-entry .journey-launch .entry-play>svg{width:17px}.forest-entry .journey-inventory{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1;color:#93734b}
.forest-entry .join-panel,.forest-entry .waiting-panel{width:535px}.forest-entry .join-illustration{display:none}.forest-entry .waiting-panel .room-code{border:16px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;background:none;padding:8px 4px;color:#667a3e;font-family:'Cormorant Garamond',Georgia,serif;font-size:35px}
/* The same painted paper is used for dialogs and the small game HUD. */
dialog#dialog{border:28px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;padding:10px 18px 14px;background:none;box-shadow:0 15px 60px #283a2859;color:#415232}
dialog#dialog .close{right:5px;top:0;color:#76552b;background:#f7e5bf;border:1px solid #b28b52;border-radius:50%;width:32px;height:32px;padding:0;display:grid;place-items:center;font-size:22px}
.playing .compact-game .score-chip,.playing .compact-game .play-menu,.playing .compact-game .deck-count{border:10px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;background:none;box-shadow:0 2px 5px #4b482d20;padding:0 5px;min-height:50px}
.playing .compact-game .score-chip.current{box-shadow:inset 0 -3px #77904b,0 0 7px #9eb57855}.playing .compact-game .play-menu{height:54px;width:54px;font-size:24px;display:grid;place-items:center;padding:0}.playing .compact-game .deck-count{display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px}
.playing .compact-game .turn-tray{border:23px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;padding:2px 4px;background:none;box-shadow:0 4px 18px #37482c35;gap:10px}
.compact-game .turn-actions>button{min-height:55px;font-size:23px;padding:8px 30px;white-space:normal;line-height:1.05}.playing .compact-game .board-toolbar button{border:9px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;border-radius:0;background:none;padding:0;height:46px;width:46px}
.playing .compact-game .figure-kinds button{background:#f8ebca;border-color:#baa066;border-radius:4px}.playing .compact-game .figure-kinds button.active{background:#d9e6be;border-color:#6c8a40}
.playing .compact-game .board-wrap{background-color:#bbc4ab;background-image:radial-gradient(ellipse at 48% 42%,#ecebd45c,transparent 75%),url('./art/board-silhouettes-v13.svg');background-size:auto,cover;background-position:center;background-repeat:no-repeat}
.playing .tile.ghost{color:#536b43;border-color:#69835a80;background:#fff9df12}.playing .tile.ghost:hover{background:#ffefd43b}.playing .compact-game .play-header{background:linear-gradient(#63764b20,transparent)}
@media(max-width:700px){
 .forest-entry .entry-header .entry-brand{border-width:8px;padding:0 3px;font-size:18px}.forest-entry .entry-header nav button{border-width:10px;min-height:45px;font-size:17px;padding:0 4px}.forest-entry .entry-header nav{gap:0}.forest-entry .entry-footer button{border-width:9px;min-height:38px;font-size:16px;padding:0 5px}
 .forest-entry .entry-content h1{width:100%;margin-bottom:4px}.forest-entry .entry-tagline{font-size:21px;margin:8px 0 18px}.forest-entry .entry-main-actions{width:290px;gap:8px}.forest-entry .entry-play{min-height:64px;font-size:27px;padding:9px 42px}.forest-entry .entry-resume{min-height:58px;font-size:21px;padding:8px 33px}
 .forest-entry .journey-panel{border-width:25px;padding:0 1px 4px}.forest-entry .journey-panel h2{font-size:34px;margin:5px 0 18px}.forest-entry .journey-kicker{font-size:8px}.forest-entry .journey-modes{gap:8px}.forest-entry .journey-mode{min-height:105px;border-width:8px;padding:2px;gap:7px}.forest-entry .journey-mode>.mode-vignette{width:94px;height:78px}.forest-entry .journey-mode strong{font-size:23px}.forest-entry .journey-mode small{font-size:9px;margin-top:4px}
 .forest-entry .journey-expansion{border-width:7px;padding:4px;gap:7px;grid-template-columns:56px minmax(0,1fr) 22px}.forest-entry .journey-exp-art{height:56px;width:56px;margin:0}.forest-entry .journey-expansion h3{font-size:20px}.forest-entry .journey-expansion p{font-size:8px}.forest-entry .journey-check{height:22px;width:22px;font-size:15px}.forest-entry .journey-launch{min-width:0}.forest-entry .journey-launch .entry-play{min-height:53px;font-size:22px;padding:8px 27px;gap:7px}.forest-entry .journey-inventory{font-size:14px}.forest-entry .journey-setup-bottom{margin-top:15px;padding-top:12px;gap:10px}.forest-entry .journey-fields label:last-child:not(:first-child){width:102px}.forest-entry .journey-section-label>span{font-size:8px}.forest-entry .journey-section-label h3{font-size:21px}
 .playing dialog#dialog{border-width:22px;padding:7px 8px 12px;width:calc(100vw - 12px);max-height:calc(100dvh - 16px)}.playing dialog#dialog h2{font-size:29px}.playing dialog#dialog .close{right:0;top:0;width:30px;height:30px}
 .playing .compact-game .score-chip{border-width:8px;padding:0 2px;min-height:48px}.playing .compact-game .score-chip>svg{height:32px;width:29px}.playing .compact-game .play-menu{width:48px;height:48px;border-width:8px}.playing .compact-game .deck-count{border-width:8px;padding:0 2px;min-height:48px;font-size:16px}
 .playing .compact-game .turn-tray{border-width:17px;padding:1px 2px;gap:6px}.playing .compact-game .turn-actions>button{min-height:52px;font-size:21px;padding:8px 27px}.playing .compact-game .board-toolbar{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 157px)}.playing .compact-game .board-toolbar button{height:45px;width:45px;border-width:8px}.playing .compact-game .figure-kinds{gap:3px}.playing .compact-game .figure-kinds button{width:44px;min-width:42px}.playing .compact-game .figure-kinds button>svg{width:34px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){
 .forest-entry .entry-content h1{width:510px}.forest-entry .entry-main-actions{width:290px}.forest-entry .entry-tagline{margin-bottom:15px}.forest-entry .entry-play{min-height:60px}.forest-entry .entry-resume{min-height:55px}.forest-entry .journey-panel{border-width:31px;padding:0 6px 2px}.forest-entry .journey-panel h2{font-size:35px;margin:2px 0 14px}.forest-entry .journey-mode{min-height:106px;border-width:8px;padding:2px 5px}.forest-entry .journey-mode>.mode-vignette{width:97px;height:77px}.forest-entry .journey-mode strong{font-size:23px}.forest-entry .journey-kicker{margin:5px 0}.forest-entry .journey-exp-art{height:76px;width:76px}.forest-entry .journey-expansion{border-width:8px;padding:5px}.forest-entry .journey-expansion h3{font-size:21px}.forest-entry .journey-setup-bottom{margin-top:16px;padding-top:11px}.forest-entry .journey-launch .entry-play{min-height:50px;font-size:23px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry .entry-header .entry-brand{border-width:8px;padding:0 4px;font-size:17px}.forest-entry .entry-header nav button{border-width:9px;min-height:40px;font-size:16px;padding:0 6px}.forest-entry .entry-footer button{border-width:6px;min-height:27px;font-size:14px;padding:0 7px}.forest-entry .entry-content h1{width:320px;max-width:100%;margin-bottom:3px}.forest-entry .entry-tagline{font-size:17px;margin:3px 0 10px}.forest-entry .entry-main-actions{width:260px;max-width:100%;gap:5px}.forest-entry .entry-play{min-height:49px;font-size:24px;padding:7px 32px;gap:7px}.forest-entry .entry-resume{min-height:46px;font-size:19px;padding:7px 25px}
 .forest-entry .journey-panel{border-width:23px;padding:0 2px 2px}.forest-entry .journey-panel h2{font-size:30px;margin:2px 0 10px}.forest-entry .journey-mode{min-height:79px;border-width:7px;padding:0;gap:5px}.forest-entry .journey-mode>.mode-vignette{width:76px;height:59px}.forest-entry .journey-mode strong{font-size:21px}.forest-entry .journey-mode small{font-size:9px;margin-top:3px}.forest-entry .journey-kicker{display:none}.forest-entry .journey-expansion{border-width:6px;min-height:94px;padding:4px}.forest-entry .journey-exp-art{width:38px;height:38px;margin:0 0 4px}.forest-entry .journey-expansion h3{font-size:17px}.forest-entry .journey-check{top:5px;right:5px;width:20px;height:20px;font-size:13px}.forest-entry .journey-launch{min-width:160px}.forest-entry .journey-launch .entry-play{min-height:45px;font-size:20px;padding:7px 26px;gap:4px}.forest-entry .journey-launch .entry-play>svg{display:none}.forest-entry .journey-setup-bottom{gap:10px;margin-top:8px;padding-top:7px}.forest-entry .journey-fields label:last-child:not(:first-child){width:93px}.forest-entry .journey-join-link{margin-top:2px;padding:2px 0;min-height:30px}.forest-entry .join-panel .entry-play{min-height:45px;margin-top:10px}.forest-entry .waiting-panel .room-code{border-width:10px;padding:4px;font-size:27px}.forest-entry .waiting-panel .entry-resume{min-height:44px}
 .playing .compact-game .turn-tray{border-width:17px;padding:1px 3px}.playing .compact-game .turn-actions>button{min-height:47px;font-size:21px;padding:6px 27px}.playing .compact-game .play-menu{height:48px;width:48px;border-width:8px}.playing .compact-game .score-chip{border-width:8px;min-height:46px}.playing .compact-game .score-chip>svg{height:30px}.playing .compact-game .deck-count{min-height:46px;border-width:8px}
}
@media(orientation:landscape) and (max-height:360px) and (max-width:1100px){.forest-entry .entry-content h1{width:240px}.forest-entry .entry-tagline{display:none}.forest-entry .entry-play{min-height:46px;font-size:23px}.forest-entry .entry-resume{min-height:44px;font-size:18px}.forest-entry .journey-mode small{display:none}.forest-entry .journey-mode>.mode-vignette{width:67px;height:53px}.forest-entry .journey-mode strong{font-size:19px}}
.forest-entry .entry-play:before,.forest-entry .entry-resume:before,.compact-game .turn-actions>button:before{background-size:100% 135%}
.forest-entry .journey-mode[data-mode]{--mode-wash:#f4e6c6}
.forest-entry .journey-expansion,.forest-entry .journey-expansion.selected{border:15px solid transparent;border-image:url('./art/ui-button-v15.webp') 18% 16% fill stretch;border-radius:0;background:none;box-shadow:none;padding:7px 10px 10px}
.forest-entry .journey-expansion.selected{box-shadow:inset 0 0 0 1px #d5c777}
.forest-entry .journey-expansion:hover:not(:disabled){background:none;filter:brightness(1.07)}
.forest-entry .journey-expansion h3{color:#fff0c6;text-shadow:0 1px 1px #1f371d}
.forest-entry .journey-expansion p{color:#ddce9e}
.forest-entry .journey-exp-art{border-color:#c6a25e;box-shadow:0 2px 5px #152c1d45}
.forest-entry .journey-check,.forest-entry .selected .journey-check{width:28px;height:28px;display:grid;place-items:center;border:0!important;border-radius:0;background:none!important;box-shadow:none;font-size:0;padding:0;line-height:1}
.expansion-mark{display:block;width:28px;height:28px;overflow:visible;fill:none}
.expansion-mark circle{fill:#fff2cf;stroke:#c5a363;stroke-width:1.5}
.expansion-mark path{fill:none;stroke:#8d713d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.selected .expansion-mark circle{fill:#50773c;stroke:#f3dc9b}
.selected .expansion-mark path{stroke:#fff5d5;stroke-width:2.1}
@media(max-width:700px){
 .forest-entry .journey-expansion,.forest-entry .journey-expansion.selected{border-width:11px;padding:5px;grid-template-columns:56px minmax(0,1fr) 26px;gap:8px}
 .forest-entry .journey-check,.forest-entry .selected .journey-check,.expansion-mark{width:26px;height:26px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){.forest-entry .journey-expansion,.forest-entry .journey-expansion.selected{border-width:12px;padding:5px}}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry .journey-expansion,.forest-entry .journey-expansion.selected{border-width:9px;grid-template-columns:32px minmax(0,1fr);padding:5px 3px;gap:6px;min-height:79px}
 .forest-entry .journey-check,.forest-entry .selected .journey-check{width:22px;height:22px;top:0;right:0}.forest-entry .expansion-mark{width:22px;height:22px}.forest-entry .journey-expansion h3{font-size:15px;padding-right:6px}
}
dialog#dialog .close{width:44px;height:44px}.playing dialog#dialog .close{width:44px;height:44px}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry .journey-expansion{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:5px;min-height:77px;padding:5px 3px;border-width:5px}.forest-entry .journey-exp-art{width:32px;height:32px;margin:0}.forest-entry .journey-expansion h3{font-size:16px;line-height:1.03;padding-right:2px}.forest-entry .journey-check{width:17px;height:17px;top:3px;right:3px;font-size:11px}
}
@media(orientation:landscape) and (max-height:360px) and (max-width:1100px){
 .forest-entry .journey-panel{border-width:18px;padding:0 1px 1px}.forest-entry .setup-panel .journey-section-label{display:none}.forest-entry .journey-top{margin-bottom:4px}.forest-entry .journey-setup-bottom{margin-top:8px;padding-top:5px}.forest-entry .journey-panel h2{font-size:27px;margin:2px 0 7px}.forest-entry .journey-back{min-height:26px}.forest-entry .journey-mode{border-width:6px;min-height:60px;padding:0;gap:4px}.forest-entry .journey-mode>.mode-vignette{width:61px;height:44px}.forest-entry .journey-mode strong{font-size:19px}
}
.forest-entry .journey-expansions .journey-expansion{border-image-slice:28% 18% fill}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){.forest-entry .journey-expansions .journey-expansion{border-width:9px}}
/* Desktop setup steps share a single outer frame size and scroll allocation. */
@media(min-width:701px) and (min-height:541px){
 .forest-entry .modes-panel,.forest-entry .setup-panel{width:930px;max-width:100%;height:min(600px,calc(100dvh - 190px));min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;box-sizing:border-box}
 .forest-entry .setup-panel h2{margin-bottom:14px}.forest-entry .setup-panel .journey-setup-bottom{margin-top:12px;padding-top:10px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){
 .forest-entry .modes-panel,.forest-entry .setup-panel{height:min(600px,calc(100dvh - 135px))}
}
.playing .compact-game .board-wrap{background-color:#254a36;background-image:radial-gradient(ellipse at 48% 42%,#80905f14,transparent 75%),url('./art/board-silhouettes-v13.svg'),linear-gradient(90deg,#dce5bc08 1px,transparent 1px),linear-gradient(#101f160f 1px,transparent 1px);background-size:auto,cover,4px 4px,4px 4px;background-repeat:no-repeat,no-repeat,repeat,repeat}
.playing .compact-game .tile.ghost{color:#f1edcb;border-color:#d8dfb888;background:#f3e7b30c}.playing .compact-game .tile.ghost:hover{background:#f3e7b326}
/* Shared alignment for the title and its actions. */
.forest-entry.entry-welcome>.entry-content{justify-content:center;padding-left:clamp(18px,3vw,40px);padding-right:clamp(18px,3vw,40px)}
.forest-entry .entry-content>.entry-welcome{text-align:center}
.forest-entry .entry-content>.entry-welcome h1{margin-left:auto;margin-right:auto}
.forest-entry .entry-main-actions{margin-left:auto;margin-right:auto}
.forest-entry .entry-resume:before{filter:none}
/* Illustrated scrollbar, including the fallback for very small windows. */
.journey-panel,dialog,.score-table-scroll{scrollbar-width:thin;scrollbar-color:#56743e #e8d3a2}
.journey-panel::-webkit-scrollbar,dialog::-webkit-scrollbar,.score-table-scroll::-webkit-scrollbar{width:10px;height:10px}
.journey-panel::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track,.score-table-scroll::-webkit-scrollbar-track{background:#e8d3a2;border:1px solid #bc9656;border-radius:6px}
.journey-panel::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb,.score-table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#3c5e35,#789454,#3c5e35);border:2px solid #c9aa65;border-radius:6px}
.journey-panel::-webkit-scrollbar-button,dialog::-webkit-scrollbar-button{display:none}
@media(min-width:701px) and (min-height:541px){
 .forest-entry .setup-panel{display:flex;flex-direction:column;gap:0}
 .forest-entry .setup-panel .journey-top{margin-bottom:9px}
 .forest-entry .setup-panel .journey-section-label{margin-bottom:10px}
 .forest-entry .setup-panel .journey-expansions{flex:0 0 auto}
 .forest-entry .setup-panel .journey-expansion{min-height:0;padding-bottom:8px}
 .forest-entry .setup-panel .journey-exp-art{width:88px;height:88px;margin-bottom:7px}
 .forest-entry .setup-panel .journey-expansion h3{font-size:22px}
 .forest-entry .setup-panel .journey-setup-bottom{margin-top:14px;padding-top:10px}
 .forest-entry .setup-panel .journey-join-link{margin:5px auto 0;padding:5px 0;min-height:30px}
}
@media(min-width:701px) and (min-height:541px) and (max-height:720px){
 .forest-entry .setup-panel .journey-exp-art{width:62px;height:62px}
 .forest-entry .setup-panel .journey-expansion h3{font-size:20px}
 .forest-entry .setup-panel .journey-expansion p{font-size:9px}
 .forest-entry .setup-panel .journey-setup-bottom{margin-top:9px;padding-top:7px}
 .forest-entry .setup-panel .journey-join-link{min-height:26px;margin-top:2px}
}
.turn-clock-controls{display:flex;gap:5px;align-items:center;flex:none;pointer-events:auto}
.turn-clock,.clock-pause-button{height:48px;border:9px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;background:none;border-radius:0;display:flex;align-items:center;justify-content:center;gap:4px;color:#385332;padding:0 5px;box-shadow:none;font:600 18px/1 'Cormorant Garamond',Georgia,serif;white-space:nowrap}
.turn-clock strong{font-variant-numeric:tabular-nums;min-width:2.3em}.turn-clock.urgent{color:#a43b26}.clock-pause-button{min-width:49px;cursor:pointer;font-family:Georgia,serif}.clock-pause-button span{font:700 11px Manrope,Segoe UI,sans-serif;color:#8c733f}
.match-pause{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(370px,calc(100% - 24px));border:28px solid transparent;border-image:url('./art/ui-panel-v15.webp') 23% fill stretch;background:none;padding:6px 10px 10px;text-align:center;box-shadow:0 10px 80px #122a2260}
.match-pause h2{margin:0 0 9px;font-size:36px}.match-pause p{margin:0 0 9px;font-size:20px}.match-pause>span{display:block;font:12px/1.6 Manrope,Segoe UI,sans-serif;color:#897143;min-height:40px;margin-bottom:10px}.match-pause>button{width:100%;min-height:46px;background:#365834;color:#fff0ca;border:2px solid #b79a5b;font-size:22px}.match-pause>button:disabled{opacity:.5}
@media(max-width:600px){
 .playing .compact-game .play-header{gap:3px;padding-left:5px;padding-right:5px}.playing .compact-game .compact-scores{gap:3px;padding:0}.playing .compact-game .score-chip{border-width:6px;padding:0 1px;gap:2px}.playing .compact-game .score-chip>svg{width:23px}.playing .compact-game .score-chip strong{font-size:23px}.playing .compact-game .play-menu{width:43px;min-width:43px;height:46px;border-width:6px}.playing .compact-game .deck-count{border-width:6px;padding:0 1px;font-size:14px;min-height:46px}
 .turn-clock-controls{gap:2px}.turn-clock,.clock-pause-button{height:46px;border-width:6px;padding:0 2px;font-size:17px;gap:2px}.turn-clock>span{display:none}.clock-pause-button{min-width:33px}.turn-clock strong{min-width:2.1em}.clock-pause-button span{font-size:10px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry .entry-content>.entry-welcome{text-align:center}.forest-entry .entry-main-actions{margin-left:auto;margin-right:auto}
 .turn-clock,.clock-pause-button{height:44px;border-width:7px}
}

.pause-actions,.pause-resumers{display:grid;gap:7px;margin-top:9px}.pause-actions button,.pause-resumers button{min-height:44px;padding:7px 10px;border:1px solid #b79a5b;background:#ead9ac;color:#385332;font:600 19px/1.1 'Cormorant Garamond',Georgia,serif}.pause-resumers button:disabled{opacity:.5}.match-pause{max-height:calc(100dvh - 20px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#56743e #e8d3a2}.match-pause:focus{outline:none}
@media(orientation:landscape) and (max-height:400px){.match-pause{border-width:18px;padding:2px 8px}.match-pause h2{font-size:27px;margin-bottom:4px}.match-pause p{margin-bottom:4px}.match-pause>span{min-height:0;margin-bottom:6px}.pause-resumers{margin-top:5px;gap:5px}}

.character-open{align-self:flex-start;background:none;border:0;color:#526d3d;text-decoration:underline;min-height:32px;margin-bottom:5px}
.character-picker h2{margin:0 0 12px}.character-picker h3{margin:12px 0 8px}.character-player select{padding:7px;background:#faf0d4;color:#385332;border:1px solid #b79a5b}
.character-preview{background:#e9dfbd;border:1px solid #b99a60;padding:10px;text-align:center}.character-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.character-roles>div{display:flex;align-items:center;flex-direction:column}.character-roles svg{width:100%;max-width:110px;height:auto}.character-roles span{font-size:15px}.character-preview>button{min-height:44px;margin-top:10px;padding:6px 22px;background:#365834;color:#fff0ca;border:2px solid #b79a5b}.character-preview>button:disabled{opacity:.6}
.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.character-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:5px;background:#f8edcf;border:1px solid #b99a60;color:#385332}.character-card.selected{background:#d8e1b5;outline:2px solid #56743e}.character-card svg{width:85px;max-width:100%;height:auto}.character-card small,.character-note{font:11px/1.5 Manrope,Segoe UI,sans-serif;color:#7b704e}.character-card span{font:600 18px/1.1 'Cormorant Garamond',Georgia,serif}
@media(max-width:600px){.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-roles span{font-size:12px}.character-picker h2{font-size:28px}.character-card span{font-size:17px}}

.nickname-panel{width:min(540px,100%);position:relative}.nickname-panel form{display:grid;gap:12px}.nickname-panel label{display:grid;gap:7px}.nickname-panel input{width:100%;box-sizing:border-box;padding:12px;background:#fff3d6;border:1px solid #b99a60;color:#385332;font-size:18px}.nickname-panel small{color:#7b704e}.nickname-panel button{min-height:50px}.profile-wallet{font-size:16px;color:#385332}.rating-list{padding:0;list-style-position:inside}.rating-list li{padding:10px;border-bottom:1px solid #c1ad7d}.rating-list strong{float:right}.shop-wallet{text-align:right}.character-card.selected{outline:3px solid #bc8e30;box-shadow:0 0 12px #d7b74d88;background:#d8e1b5}.character-card.selected:after{content:'Выбран';color:#416634;font-size:12px}.material-diamond{filter:drop-shadow(0 0 3px #baf8ff99)}.elite-sparkles{animation:elite-glint 1.8s ease-in-out infinite}.material-diamond .elite-sparkles{animation-duration:1.35s}.elite-sparkles path:nth-child(2){opacity:.65}@keyframes elite-glint{0%,100%{opacity:.3}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.elite-sparkles{animation:none}}
dialog#dialog .close{display:grid;place-items:center;padding:0;line-height:1;z-index:3;aspect-ratio:1;border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px}dialog#dialog .close svg{width:24px;height:24px;display:block}.entry-main-actions{gap:7px}.entry-welcome .entry-main-actions>.entry-resume{min-height:48px}.entry-welcome .entry-content h1{width:min(550px,100%)}@media(min-width:701px) and (max-height:800px){.entry-welcome .entry-content h1{width:430px}.entry-welcome .entry-tagline{margin-bottom:8px}.entry-welcome .entry-main-actions>.entry-resume{min-height:44px}.entry-welcome .entry-play{min-height:52px}}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .forest-entry.entry-welcome>.entry-content{padding:4px 22px;align-items:center}
 .forest-entry.entry-welcome .entry-content>.entry-welcome{width:720px;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 20px;align-items:center}
 .forest-entry.entry-welcome .entry-content h1{width:100%;max-width:330px;margin:0 auto;grid-column:1;grid-row:1}
 .forest-entry.entry-welcome .entry-tagline{grid-column:1;grid-row:2;font-size:17px;margin:0}
 .forest-entry.entry-welcome .entry-main-actions{grid-column:2;grid-row:1 / 3;width:270px;max-width:100%;margin:auto;gap:5px}
 .forest-entry.entry-welcome .entry-main-actions>.entry-resume,.forest-entry.entry-welcome .entry-play{min-height:44px;font-size:20px;padding:6px 22px}
 .forest-entry.entry-welcome .profile-wallet{font-size:12px}
}

.queue-conditions{margin:15px 0 16px;padding:12px 0;border-top:1px solid #bca06c66;border-bottom:1px solid #bca06c66;color:#425b36;font-size:16px;line-height:1.5}.queue-conditions p{margin:3px 0}.forest-entry .journey-fields{flex:1}.forest-entry .journey-fields label{width:min(280px,100%)}.forest-entry .journey-fields select{width:100%}
@media(max-width:600px){.queue-conditions{font-size:13px;margin:10px 0;padding:8px 0}}@media(orientation:landscape) and (max-height:540px){.queue-conditions{font-size:12px;margin:7px 0;padding:6px 0}.queue-conditions p{margin:1px 0}}

/* Shared frame geometry: stable steps, with the cards using the available height. */
@media(min-width:701px) and (min-height:541px){
 .forest-entry:not(.entry-welcome){height:100dvh;min-height:0}
 .forest-entry:not(.entry-welcome)>.entry-header,.forest-entry:not(.entry-welcome)>.entry-footer{flex-shrink:0}
 .forest-entry:not(.entry-welcome)>.entry-content{min-height:0;padding-top:10px;padding-bottom:10px}
 .forest-entry .modes-panel,.forest-entry .setup-panel{height:min(600px,100%);max-height:100%;scrollbar-gutter:auto}
 .forest-entry .modes-panel{display:flex;flex-direction:column}
 .forest-entry .modes-panel>.journey-back{align-self:flex-start}
 .forest-entry .modes-panel .journey-modes{flex:1;min-height:240px;grid-template-rows:1fr 1fr;gap:14px}
 .forest-entry .modes-panel .journey-mode{min-height:0}
 .forest-entry .modes-panel .mode-vignette{width:clamp(90px,10vw,130px);height:100px}
 .forest-entry .setup-panel .journey-expansions{flex:1;min-height:160px}
 .forest-entry .setup-panel .journey-expansion{justify-content:center}
 .forest-entry .setup-panel .journey-exp-art{width:100px;height:100px}
 .forest-entry .setup-panel .journey-setup-bottom{margin-top:16px}
}
@media(orientation:landscape) and (max-height:540px) and (min-width:601px){
 .forest-entry:not(.entry-welcome){height:100dvh;min-height:0}
 .forest-entry:not(.entry-welcome)>.entry-header{min-height:48px;padding:4px 26px;flex-shrink:0}
 .forest-entry:not(.entry-welcome)>.entry-footer{position:absolute;right:5px;bottom:2px;min-height:0;padding:0;z-index:1}
 .forest-entry:not(.entry-welcome)>.entry-footer button{min-height:32px;font-size:13px}
 .forest-entry:not(.entry-welcome)>.entry-content{min-height:0;padding:4px 26px 6px}
 .forest-entry .modes-panel,.forest-entry .setup-panel{width:930px;max-width:100%;max-height:100%;border-width:16px;padding:0 4px 2px;overflow:auto}
 .forest-entry .journey-back{min-height:32px}
 .forest-entry .setup-panel{display:grid;grid-template-columns:auto 1fr;gap:0 10px}
 .forest-entry .setup-panel>.journey-top{grid-column:1/-1;margin:0}
 .forest-entry .setup-panel>.character-open{min-height:36px;margin:0 0 4px}
 .forest-entry .setup-panel>.journey-section-label{align-self:center;justify-content:flex-end;margin:0 0 4px}
 .forest-entry .setup-panel .journey-section-label h3{display:none}
 .forest-entry .setup-panel>.journey-expansions{grid-column:1/-1;gap:8px}
 .forest-entry .setup-panel .journey-expansion{flex-direction:row;align-items:center;min-height:66px;border-width:7px;padding:3px;gap:7px}
 .forest-entry .setup-panel .journey-exp-art{width:44px;height:44px;margin:0;flex-shrink:0}
 .forest-entry .setup-panel .journey-expansion h3{font-size:18px;padding-right:20px}
 .forest-entry .setup-panel .journey-check{top:5px;right:4px}
 .forest-entry .setup-panel>.journey-setup-bottom{grid-column:1/-1;margin-top:4px;padding-top:4px;gap:10px}
 .forest-entry .setup-panel>.journey-join-link{grid-column:1/-1;min-height:30px;margin:0;padding:2px}
 .forest-entry .setup-panel .player-range-label{margin-bottom:0;font-size:18px}
 .forest-entry .setup-panel .journey-launch{min-width:195px}
 .forest-entry .setup-panel .journey-launch .entry-play{min-height:46px}
}

/* Keep the menu and board framed from the same point. */
@media(max-width:700px){:root{--forest-panorama-position:85% center}}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){:root{--forest-panorama-position:center}}
