.game-table{padding:0 16px;display:grid;height:calc(100dvh - var(--header-height,64px));min-height:0;max-width:none;grid-template-rows:36px 54px 43px minmax(150px,1fr) auto;position:relative;gap:0}.game-table .table-layout[data-view] .floor-panel{display:block}.game-table .hand-tray{color:#24372d}.game-table .hand-caption small,.game-table .hand-cards>p{color:#4c6048}
.game-table .table-topline{margin:0;align-items:center}.table-title h1{font-size:1.3rem}.table-title>span{font-size:.74rem}.game-table .player-strip{min-height:0}.game-table .player{min-height:50px}.game-table .season-strip{min-height:0;padding:4px 0 12px}.game-table .mobile-tabs{display:none}
.game-table .table-layout{display:block;position:relative;min-height:0;height:100%;border:1px solid #78937c;border-radius:7px 7px 0 0;overflow:hidden}
.game-table .floor-panel{display:block;height:100%;min-height:0;background:transparent;border:0;overflow:visible}.game-table .stage{height:100%;min-height:0;max-height:none;border:0;border-radius:0;background:#bdcba0;cursor:grab;touch-action:none;user-select:none}.game-table .stage:active{cursor:grabbing}.stage #forest-svg{height:100%;width:100%;position:absolute;inset:0;max-height:none}.stage .table-grain{pointer-events:none}.stage .leaf-piece{cursor:grab}.stage #ghost{cursor:move}
.table-navigation{position:absolute;z-index:4;top:10px;left:12px;display:flex;gap:4px;max-width:calc(100% - 125px);flex-wrap:wrap;pointer-events:auto}.table-navigation button{background:#f6edda;box-shadow:0 2px 6px #183c3530;font-size:.76rem;min-height:44px;padding:7px 14px}.table-navigation button[aria-pressed=true]{background:#234d3c;color:#fff2d6;border-color:#143d30}.table-navigation .overview{font-size:.72rem}
.game-table .floor-tools{position:absolute;right:10px;top:10px;z-index:4;background:#f6edda;display:flex;border:1px solid #6d8268;border-radius:5px;gap:0;padding:0}.floor-tools button{min-height:44px;min-width:38px;font-size:1.2rem;border:0;padding:5px}.floor-tools output{min-width:38px;font-size:.7rem}.game-table #ideas{position:absolute;right:12px;top:64px;z-index:4;font-size:.72rem;min-height:44px;background:#f6edda}
.tree-shortcuts{position:absolute;left:12px;top:64px;z-index:4;display:flex;gap:5px}.tree-shortcuts[hidden]{display:none}.tree-shortcuts button{font-size:.7rem;min-height:44px;padding:6px 10px}.table-layout[data-view=tree] #ideas{display:none}.table-hint{position:absolute;bottom:138px;left:50%;translate:-50% 0;color:#304c36;background:#e9eddaeb;border:1px solid #95a481;padding:5px 12px;border-radius:4px;font-size:.68rem;pointer-events:none;white-space:nowrap}#floor-caption{bottom:165px;font-size:.7rem;pointer-events:none;opacity:.85}
.player-aid{max-width:1080px}.aid-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:24px}.aid-panels section{border-top:1px solid #a7ac8b;padding-top:12px}.aid-panels h2{font-size:1.15rem;margin:0 0 12px}.aid-panels img{display:block;width:100%;height:auto;border-radius:5px}.aid-panels p{font-size:.82rem;line-height:1.6;margin:12px 0 0}.player-aid details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.aid-originals{overflow-x:auto}.aid-originals img{display:block;width:max(900px,100%);max-width:none;height:auto;margin-block:12px}.icon:is(img){object-fit:contain;border-radius:50%}
.world-visitors #forest-summary{display:none}
#floor-caption.placement-warning{background:#fff0dc;color:#7a2b21;border:1px solid #ae6a45;font-style:normal;padding:7px 10px;opacity:1}.stage:has(#ghost:not(:empty)) #floor-caption{display:block;max-width:calc(100% - 20px);white-space:normal;bottom:166px;z-index:3}
@media(max-width:740px){.stage:has(#ghost:not(:empty)) #floor-caption{bottom:144px;font-size:.65rem;padding:5px 8px;line-height:1.4}}
@media(max-width:740px){.aid-panels{grid-template-columns:1fr;gap:22px}.aid-panels img{max-width:500px;margin:auto}.aid-panels h2{font-size:1.15rem}.aid-panels p{font-size:.88rem}.tree-shortcuts{top:104px;left:5px}.tree-shortcuts button{font-size:.63rem;padding-inline:7px}.game-table .room-tools{max-width:58%;flex-wrap:nowrap;gap:3px}.game-table .room-tools #connection{display:none}.game-table .room-tools button{font-size:.55rem;padding-inline:5px}}
.game-table .hand-tray{position:absolute;bottom:calc(var(--action-height,76px) + 12px);left:28px;z-index:5;width:min(47%,680px);min-height:0;padding:8px 12px;background:#eff0dceF;border:1px solid #829576;border-radius:6px;gap:9px;box-shadow:0 3px 12px #26423225}.hand-caption{width:94px}.hand-caption strong{font-size:1rem}.hand-caption small{font-size:.6rem}.game-table .hand-cards{min-width:0;gap:7px;padding:4px;overflow-x:auto}.game-table .leaf-card{width:78px;min-width:78px;min-height:90px;padding:4px}.game-table .leaf-card img{width:68px;height:62px}.game-table .leaf-card>span{font-size:.6rem}.game-table .hand-reference{display:none}
.game-table .pile-strip{position:absolute;bottom:12px;right:12px;z-index:4;width:min(42%,540px);padding:6px 9px;background:#e6ead3ed;border:1px solid #829576;border-radius:6px;gap:5px}.game-table .pile{grid-template-rows:62px auto;min-height:90px;min-width:0;padding:2px;border:0}.game-table .pile>img{height:62px;width:100%;max-width:80px}.game-table .pile span:not(.empty-pile){font-size:.57rem}.game-table .pile b{font-size:.7rem;width:19px;height:19px}
.game-table .action-strip{grid-row:5;position:relative;bottom:auto;margin:0;min-height:76px;z-index:6;border-top:1px solid #607c5a;padding:9px 14px;box-shadow:none}.world-label{font:40px Georgia,serif;fill:#28462e;pointer-events:none}.world-subtitle{font:20px 'Segoe UI',sans-serif;fill:#39513c;pointer-events:none}.world-path{fill:none;stroke:#819969;stroke-width:5;stroke-dasharray:3 18;stroke-linecap:round;opacity:.65;pointer-events:none}.tree-background{filter:drop-shadow(7px 15px 8px #19362742)}
.tree-reward{cursor:pointer}.tree-reward-label{fill:#f9efd8;stroke:#566a4b;stroke-width:3}.tree-reward text{font:600 32px 'Segoe UI',sans-serif;fill:#263b2d;pointer-events:none}.tree-reward.available .tree-reward-label{fill:#ffe4a1;stroke:#5b5027;stroke-width:5}.tree-legal-ring{fill:none;stroke:#fff1ab;stroke-width:10;stroke-dasharray:18 6}.tree-reward.selected .tree-reward-label{fill:#1f503b;stroke:#fff1a6;stroke-width:7}.tree-reward.selected text{fill:#fff4d5}.tree-reward:focus-visible .tree-reward-label{stroke:#9b5a00;stroke-width:9}.squirrel text{fill:#fff5dd;font:600 37px 'Segoe UI',sans-serif}
.world-visitors{height:100%;padding:30px;background:#ecedda;border:2px solid #829576;border-radius:14px;color:#24372d}.world-visitors .panel-title{padding:0 0 20px;border:0;background:none}.world-visitors .panel-title h2{font-size:38px}.world-visitors .panel-title button{font-size:max(19px,calc(14px / var(--world-scale)));min-height:max(54px,calc(44px / var(--world-scale)))}.world-visitors .animal-market{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;padding:0}.world-visitors .animal-card{width:100%;padding:8px;background:#f8f0dd;min-height:290px}.world-visitors .animal-card img{height:247px;width:100%;max-width:none;object-fit:contain;-webkit-user-drag:none}.world-visitors .animal-card>span{font-size:max(18px,calc(14px / var(--world-scale)));display:block}.world-visitors .inspect-small{width:max(42px,calc(44px / var(--world-scale)));min-height:max(42px,calc(44px / var(--world-scale)));font-size:max(22px,calc(18px / var(--world-scale)))}.world-visitors .animal-deck{font-size:max(20px,calc(14px / var(--world-scale)));padding:22px;min-height:290px;gap:20px}.world-visitors .animal-deck .icon{width:58px;height:58px}.world-visitors .animal-empty{font-size:22px;min-height:290px}.world-visitors .forest-totals{margin-top:22px;min-height:60px;font-size:21px}.world-visitors .forest-totals span{font-size:19px}.wide .world-visitors .animal-market{grid-template-columns:repeat(6,minmax(0,1fr))}.wide .world-visitors .forest-totals{display:none}.game-table:has(.table-layout[data-view=tree]) .hand-tray,.game-table:has(.table-layout[data-view=animals]) .hand-tray,.table-layout[data-view=tree] .pile-strip,.table-layout[data-view=animals] .pile-strip,.table-layout[data-view=tree] .table-hint,.table-layout[data-view=animals] .table-hint{display:none}
#turn-reminder{position:fixed;top:calc(var(--header-height,64px) + 12px);left:50%;translate:-50% 0;z-index:60;display:flex;gap:16px;align-items:center;padding:15px 20px;background:#fff0bf;color:#283c2d;border:2px solid #856425;border-radius:7px;box-shadow:0 8px 30px #102c2950;max-width:calc(100vw - 24px);width:max-content}#turn-reminder[hidden]{display:none}#turn-reminder strong{display:block;font:1.5rem Georgia,serif}#turn-reminder div>span{display:block;font-size:.8rem;margin-top:5px}.reminder-bell{font-size:2.3rem}#turn-reminder button{white-space:nowrap}#turn-reminder.nudge:not(.quiet){animation:turn-nudge .8s ease-out}@keyframes turn-nudge{0%,100%{transform:translateY(0)}30%{transform:translateY(-9px)}65%{transform:translateY(3px)}}
@media(max-width:960px){.game-table{padding-inline:8px;grid-template-rows:36px 52px 42px minmax(150px,1fr) auto}.table-navigation{gap:3px;left:6px;top:7px}.table-navigation button{font-size:.69rem;padding:6px 9px}.game-table .hand-tray{left:18px;width:48%;padding:5px 7px}.game-table .hand-caption{width:66px}.hand-caption strong{font-size:.85rem}.game-table .pile-strip{right:8px;width:44%;gap:1px}.game-table .pile span:not(.empty-pile){font-size:.48rem}}
@media(max-width:740px){.game-table{height:calc(100dvh - var(--header-height,132px));padding:0 5px;grid-template-rows:30px 49px 36px minmax(130px,1fr) auto}.table-topline .table-title{display:flex;gap:8px;align-items:center}.table-title h1{font-size:1.05rem}.table-title>span{font-size:.58rem;margin:0}.game-table .room-tools{max-width:45%}.game-table .room-tools button{font-size:.57rem;min-height:28px;padding:3px 6px}.game-table .player-strip{display:flex;gap:4px;overflow-x:auto}.game-table .player{min-width:160px;min-height:46px;flex:1;padding:4px 7px;gap:5px}.game-table .player-piece{display:none}.game-table .player-name strong{font-size:.72rem}.game-table .player-name small{font-size:.5rem}.game-table .resource b{font-size:.85rem}.game-table .season-strip{gap:5px;padding:3px 2px 10px}.game-table .season-space{height:20px;font-size:.74rem}.game-table .season-name{font-size:.65rem;max-width:58px}.game-table .season-space small{font-size:.43rem}.game-table .frost-count{font-size:.49rem}.game-table .season-space.frost-line:before,.game-table .season-space.winter-line:before{height:24px}.table-navigation{top:5px;left:5px;max-width:calc(100% - 5px);right:5px;gap:3px}.table-navigation button{flex:1;font-size:.62rem;padding:5px;min-height:44px;white-space:nowrap}.table-navigation .overview{font-size:.59rem;flex:0 0 45px}.game-table .floor-tools{top:55px;right:5px}.game-table .floor-tools button{min-width:33px;min-height:40px}.game-table .floor-tools output{min-width:32px}.game-table #ideas{top:55px;left:5px;right:auto;min-height:40px;font-size:.62rem;padding:5px 8px}.game-table .hand-tray{bottom:calc(var(--action-height,110px) + 7px);left:12px;width:calc(100% - 24px);padding:4px 5px;gap:4px;background:#edf0dadb}.game-table .hand-caption{width:53px}.game-table .hand-caption strong{font-size:.71rem}.game-table .hand-caption small{display:none}.game-table .leaf-card{width:54px;min-width:54px;min-height:63px;padding:2px}.game-table .leaf-card img{width:47px;height:40px}.game-table .leaf-card>span{font-size:.49rem}.game-table .hand-cards{gap:4px;padding:3px}.game-table .pile-strip{bottom:88px;right:5px;width:41%;padding:3px;gap:0;background:#e6ead3a8}.game-table .pile{min-height:40px;grid-template-rows:32px auto;padding:1px}.game-table .pile>img{height:32px}.game-table .pile span:not(.empty-pile){display:none}.game-table .pile b{width:14px;height:14px;font-size:.5rem}.table-hint{bottom:94px;left:7px;translate:0;font-size:.54rem;padding:4px 6px;max-width:55%;white-space:normal}#floor-caption{display:none}.game-table .action-strip{min-height:100px;padding:7px 6px max(8px,env(safe-area-inset-bottom));margin:0}.game-table .action-message{margin-bottom:6px}.game-table .action-message strong{font-size:1rem}.game-table .action-message span{font-size:.65rem}.game-table .placement-controls{gap:4px}.game-table .placement-controls>button{font-size:.7rem;padding-inline:7px}.game-table .action-strip.waiting{min-height:85px}.game-table .boost{font-size:.61rem;gap:2px}#turn-reminder{gap:8px;padding:12px;align-items:center}#turn-reminder strong{font-size:1.2rem}#turn-reminder div>span{font-size:.7rem}#turn-reminder button{font-size:.7rem;padding:7px}.reminder-bell{display:none}}
