:root{--ink:#35452b;--paper:#f2e5c7;--green:#284c30;--gold:#b89956;--line:#bb9d64}body{background:#203c29;color:var(--ink)}button{border-radius:3px;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:700;border-color:#b79a64;background:#f4e6c8;box-shadow:inset 0 0 0 2px #fff3d75c,0 2px 4px #172a201c}button:hover:not(:disabled){background:#ebdcba;transform:none}.primary{background:linear-gradient(#355635,#203f2a);color:#f4e8c8;border:2px solid #b9984d;box-shadow:inset 0 0 0 2px #173c28,0 0 0 1px #f1d69b,0 4px 6px #14251e52}.primary:hover:not(:disabled){background:#3e6039}.forest-lobby{min-height:100dvh;display:grid;grid-template-columns:clamp(280px,27vw,390px) minmax(300px,1fr) clamp(210px,21vw,290px);background-color:#203e2b;background-image:radial-gradient(ellipse at 50% 40%,#49654244,transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='5'%3E%3Cpath d='M0 0h1v5H0zM2 0h1v5H2z' fill='%23dfd9a0' opacity='.035'/%3E%3Cpath d='M0 1h5v1H0zM0 4h5v1H0z' fill='%23000000' opacity='.09'/%3E%3C/svg%3E")}.lobby-menu{padding:23px 24px 16px;background-color:#f2e6cc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23907340' opacity='.13' filter='url(%23n)' d='M0 0h200v200H0z'/%3E%3C/svg%3E");border-right:6px double #987b40;box-shadow:4px 0 12px #1028186e;position:relative;z-index:2}.lobby-menu:before,.lobby-menu:after{content:'❦';position:absolute;left:5px;color:#8b854b;font:45px Georgia;pointer-events:none}.lobby-menu:before{top:7px}.lobby-menu:after{bottom:8px;transform:rotate(180deg)}.forest-title{border:0;box-shadow:none;background:none!important;display:block;margin:0 auto 17px;padding:0;width:100%;text-align:center}.forest-title strong{display:block;font-size:clamp(33px,3.3vw,49px);line-height:.88;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;color:#2d4a2b;text-shadow:0 1px #fff6dd}.title-flourish{font-size:33px;line-height:.8;color:#8e8745;display:block;margin-bottom:13px}.title-rule{display:block;width:65%;height:12px;border-bottom:1px solid #a78d50;margin:6px auto}.lobby-menu .modes{margin:12px 0 18px;gap:7px}.lobby-menu .mode{padding:8px 13px;min-height:43px;gap:15px;border:1px solid #bca474;border-radius:3px;background:linear-gradient(100deg,#f9edcf,#e9dbb9);box-shadow:inset 0 0 0 3px #fff5dc7a,0 2px 2px #684b2220;justify-content:flex-start}.mode-engraving{width:28px;font-size:25px;font-weight:500;line-height:1;text-align:center}.lobby-menu .mode strong{font-size:22px;font-weight:700}.lobby-menu .mode.active{background:linear-gradient(#355231,#29462e);color:#f8edcd;border-color:#b7944c;box-shadow:inset 0 0 0 2px #f0d99b2e,0 2px 4px #604e3840}.lobby-menu .mode.active:after{display:none}.ornate-heading{display:flex;align-items:center;gap:10px;justify-content:center;text-align:center;margin:9px 0 12px;font-size:28px}.ornate-heading:before,.ornate-heading:after{content:'❧';font:27px Georgia;color:#9c9554}.ornate-heading:after{transform:scaleX(-1)}.forest-expansions{display:grid;gap:9px}.forest-expansions .expansion{display:grid;grid-template-columns:78px 1fr 24px;align-items:center;min-height:72px;border:1px solid #bca474;border-radius:4px;background:#f6ebd2;box-shadow:inset 0 0 0 3px #fff4dd91;gap:9px;padding:6px}.forest-expansions .expansion.selected{border-color:#8c7439;box-shadow:inset 0 0 0 3px #fff4dd91}.forest-expansions .expansion-art{width:78px;height:58px;background:none;overflow:hidden;border-radius:2px}.forest-expansions .expansion-art>svg{height:100%;width:100%;transform:none}.forest-expansions h3{font-size:19px;line-height:1.02;min-height:0;margin:0}.forest-expansions .check{position:static;width:21px;height:21px;line-height:19px;border-radius:50%;font:16px Georgia;border:1px solid #947e48;background:#eee2c0}.forest-expansions .selected .check{background:#355b37;color:#fff0c4}.inventory{font:600 17px 'Cormorant Garamond',Georgia;text-align:center;margin:15px 0 6px;color:#6b693e}.lobby-menu .name-row{gap:6px;margin:9px 0}.lobby-menu input,.lobby-menu select{background:#fff3d8;border:1px solid #bca474;border-radius:2px;font:12px Manrope,Segoe UI,sans-serif}.lobby-menu .start{font-size:29px;padding:7px 10px;min-height:48px;border-radius:8px}.lobby-links{display:flex;justify-content:center;gap:9px;margin-top:14px;color:#9b8c61}.lobby-links button,.resume{border:0;box-shadow:none;background:none;padding:0;font:13px 'Cormorant Garamond',Georgia;font-weight:600;color:#6b6841}.resume{display:block;margin:9px auto}.lobby-table{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:28px 17px 20px;position:relative;overflow:hidden}.table-caption{position:absolute;top:20px;left:50%;transform:translateX(-50%);border-top:1px solid #a79657;border-bottom:1px solid #a79657;color:#d8d5a3;text-align:center;white-space:nowrap;padding:5px 22px;font:21px 'Cormorant Garamond',Georgia}.table-caption small{font:9px Manrope,Segoe UI,sans-serif;letter-spacing:2px;text-transform:uppercase;display:block;opacity:.6;margin-top:3px}.landscape-frame{width:100%;padding-top:48px}.landscape-map{position:relative;width:100%;filter:drop-shadow(0 7px 5px #112a1d80)}.landscape-tile{position:absolute;padding:.4px}.landscape-tile>svg{width:100%;height:100%;display:block;border-radius:2px}.preview-note{font:12px 'Cormorant Garamond',Georgia;color:#c1c39b9c;margin:17px 0 0}.lobby-rack{padding:85px 18px 25px 8px;display:flex;flex-direction:column}.lobby-rack .player{background:#f6e8cc;border:3px double #b89a59;box-shadow:0 4px 5px #0c271a69;border-radius:4px;padding:9px 10px;gap:9px;margin-bottom:15px}.lobby-rack .token{width:53px;height:53px}.lobby-rack .player strong{font:700 25px 'Cormorant Garamond',Georgia}.lobby-rack .score{font-size:33px}.rack-divider{font:40px Georgia;color:#baaa69;text-align:center;line-height:1;margin:13px 0 22px}.current-tile-panel{padding:15px 14px;background:#f2e4c4;border:4px double #a98c4c;border-radius:5px;box-shadow:0 5px 8px #10251b66}.current-tile-panel h2{text-align:center;font-size:26px;margin-bottom:10px}.current-tile-panel .tile-preview{width:100%;height:auto;aspect-ratio:1;border:4px double #9c874b;border-radius:3px;overflow:hidden}.rotate-decoration{font:600 23px 'Cormorant Garamond',Georgia;text-align:center;border:1px solid #b19a63;border-radius:25px;padding:4px;margin-top:13px}.rack-note{font:14px/1.5 'Cormorant Garamond',Georgia;text-align:center;color:#c1c49b;margin-top:20px}.topbar,.game-left,.game-right{background-color:#f2e6cc;background-image:linear-gradient(95deg,#d7bd8420,transparent 40%,#c2a46618);border-color:#9e864e}.topbar{height:65px;border-bottom:4px double #9e864e}.brand strong{font-size:25px}.brand small{display:none}.top-actions button{font:600 17px 'Cormorant Garamond',Georgia}.game{height:calc(100dvh - 65px);grid-template-columns:215px minmax(0,1fr) 255px}.game-left{border-right:4px double #a38c54}.game-right{border-left:4px double #a38c54}.board-wrap{background-color:#25432f;background-image:radial-gradient(ellipse,#49633a44,transparent 80%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v4H0zM0 2h4v1H0z' fill='%23e4dfad' opacity='.04'/%3E%3C/svg%3E")}.game .player{border:3px double #bea673;background:#f6e9ce;border-radius:3px;padding:10px 6px}.game .player.current{background:#eadcba;border-color:#8e783e}.game .token{width:44px;height:44px}.game .player-name{font:700 20px 'Cormorant Garamond',Georgia}.game .tile-preview{width:180px;height:180px;border:4px double #a58c54;border-radius:3px}.game-right h2{font-size:29px}.instructions{border:1px solid #bbab7d;border-radius:2px;background:#e9ddbd;font-size:11px}.board-status{font:600 19px 'Cormorant Garamond',Georgia;border:3px double #bda46b;border-radius:3px;background:#f4e7c9;padding:8px 17px}.game .tile{box-shadow:1px 3px 5px #112b1e60}.game .tile.latest{box-shadow:0 0 0 2px #e2c16b,1px 4px 7px #112b1e80}.game .tile.ghost{background:#eedb9b12;box-shadow:none}.game .tile.ghost:hover{background:#eedb9b30}.animal-figure{filter:drop-shadow(1px 3px 1px #2c341c66)}.game-right .primary{font-size:21px}.game-right .rotate{font-size:24px}.game .figure-kinds button{font-size:18px;padding:8px 3px}.game .rule-mini{font:15px/1.7 'Cormorant Garamond',Georgia}.log p{font-size:11px}.game-left h2{font-size:27px}.room-panel{background:#eadcba;border-radius:3px}.lobby-menu .room-panel button{font-size:17px}dialog{background:#f2e6cc;border:5px double #a68c4d;border-radius:4px}.rules h2,.rules h3{color:#354d30}
@media(min-width:1500px){.lobby-menu{padding:28px 30px}.lobby-menu .mode{min-height:50px}.forest-expansions .expansion{min-height:82px;grid-template-columns:90px 1fr 24px}.forest-expansions .expansion-art{width:90px;height:67px}.forest-expansions h3{font-size:22px}.lobby-menu .start{font-size:33px}.lobby-rack{padding-top:95px}.lobby-table{padding:35px 22px}}
@media(max-width:1000px){.forest-lobby{grid-template-columns:280px 1fr}.lobby-rack{display:none}.forest-title strong{font-size:39px}.lobby-menu{padding:20px}.lobby-table{padding:25px 15px}.game{grid-template-columns:180px minmax(0,1fr) 215px}.game .tile-preview{width:150px;height:150px}}
@media(max-width:700px){.forest-lobby{grid-template-columns:1fr;min-height:100dvh}.lobby-menu{padding:19px 22px;border-right:0;border-bottom:5px double #a58c54}.forest-title strong{font-size:38px}.forest-title br{display:none}.title-flourish{font-size:25px;margin-bottom:6px}.forest-title{margin-bottom:6px}.title-rule{height:5px}.lobby-menu .modes{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.lobby-menu .mode{min-height:40px;padding:5px 8px;gap:5px}.lobby-menu .mode strong{font-size:19px}.mode-engraving{font-size:19px;width:20px}.ornate-heading{font-size:24px;margin:12px 0 9px}.forest-expansions{gap:5px}.forest-expansions .expansion{min-height:57px;grid-template-columns:63px 1fr 24px;padding:4px;gap:9px}.forest-expansions .expansion-art{width:63px;height:47px}.forest-expansions h3{font-size:20px}.inventory{margin:9px 0}.lobby-menu .start{font-size:28px}.lobby-links{margin-top:10px}.lobby-table{padding:70px 15px 15px;min-height:450px}.landscape-frame{padding-top:0}.preview-note{margin:10px 0}.game{height:calc(100dvh - 65px);grid-template-columns:1fr 155px;grid-template-rows:65px 1fr}.game-left{border:0;border-bottom:3px double #a38c54}.game-right{padding:13px 7px;border-left:3px double #a38c54}.game .player{padding:4px;min-width:125px;margin:0}.game .token{width:32px;height:32px}.game .player-name{font-size:18px}.game .tile-preview{width:125px;height:125px}.game .figure-kinds button{font-size:16px}.game .board-status{font-size:14px;white-space:normal;max-width:90%;width:max-content;text-align:center;padding:5px 10px}.game-right h2{font-size:25px}.game .instructions{font-size:10px;padding:8px}.game-right .rotate{font-size:20px}.game-right .primary{font-size:19px}.game-left .player small{font-size:8px}.game .rule-mini{display:none}.topbar .top-actions button{font-size:14px;padding:6px}.brand strong{font-size:22px}.lobby-menu:before,.lobby-menu:after{font-size:30px}}
.landscape-frame{display:flex;justify-content:center}.landscape-map{flex-shrink:1}.lobby-table{min-height:0}.lobby-menu .room-panel{margin-top:12px}.current-tile-panel .rotate-decoration{line-height:1.2}.forest-title{font-variant:small-caps}@media(max-width:700px){.landscape-map{max-width:100%!important}.lobby-table{min-height:400px}}
/* Approved sketch: warm parchment, fine brass outlines, a quiet forest table. */
.forest-title{margin:-22px -23px 12px;width:calc(100% + 46px)}.forest-title>svg{display:block;width:100%;height:auto}.lobby-menu:before,.lobby-menu:after,.title-flourish{display:none}.forest-lobby{grid-template-columns:clamp(285px,27.3vw,390px) minmax(300px,1fr) clamp(220px,21vw,295px)}.lobby-menu{padding:22px 22px 17px}.lobby-menu .modes{margin-top:0}.lobby-menu .mode{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);min-height:46px}.lobby-menu .mode strong{font-size:23px}.forest-expansions .expansion{border:3px double #c1a677;min-height:78px;background:linear-gradient(100deg,#fbf0d7,#f4e8cc)}.forest-expansions h3{font-size:21px}.lobby-menu .start{border-radius:13px;font-size:30px}.lobby-rack .player{border:4px double #a87936;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}.lobby-rack .token{width:63px;height:63px}.lobby-rack .player strong{font-size:29px}.lobby-rack .score{font-size:37px}.table-caption{left:auto;right:15px;transform:none;top:15px;font-size:21px;border:3px double #b69d54;border-radius:22px;padding:3px 22px}.table-caption small{display:none}.current-tile-panel{border:5px double #bb9b60}.rack-divider{font-size:44px;letter-spacing:12px}.preview-note,.rack-note{color:#d3d3b0;font-size:14px}.topbar{height:68px;padding:0 22px;background:#f3e7ce}.brand{box-shadow:none!important;background:transparent!important;border:0!important}.brand .animal-figure{width:42px;height:42px}.top-actions button{font-family:Manrope,Segoe UI,sans-serif;font-size:12px;padding:8px 12px}.game{height:calc(100dvh - 68px);grid-template-columns:235px minmax(0,1fr) 275px}.game-left,.game-right{padding:22px 18px;background-color:#f5ead2;border-color:#bda06a}.game-left h2{font-size:27px;line-height:1.1;white-space:nowrap;margin-bottom:22px}.game .player{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;padding:11px 8px;margin-bottom:12px;background:#fcf3df;border:1px solid #c6b38b;box-shadow:0 2px 4px #4e46251c;border-radius:6px}.game .player.current{border-color:#8e9b60;background:#f2edda;box-shadow:inset 3px 0 #617b44}.game .player-name{font-family:Manrope,Segoe UI,sans-serif;font-size:13px;line-height:1.5;max-width:none;white-space:nowrap}.game .player small{font-size:10px;line-height:1.5}.game .score{font:600 31px 'Cormorant Garamond',Georgia}.game .goods{font-size:11px;margin-top:7px}.game .token{width:48px;height:55px}.game-right h2{font-size:30px;margin:8px 0 10px}.game-right .tile-preview{width:200px;height:200px;padding:3px;background:#e2d2a9;border:3px double #ab9259;box-shadow:0 5px 12px #67563b24;margin:0 auto 9px}.game .instructions{font:12px/1.8 Manrope,Segoe UI,sans-serif;background:transparent;border:0;border-top:1px solid #d4c6a3;border-radius:0;padding:15px 0;margin-top:4px}.game-right .primary{font-family:Manrope,Segoe UI,sans-serif;font-size:13px;line-height:1.6;padding:13px 10px;border-radius:6px}.game .figure-kinds{display:flex;flex-wrap:wrap;gap:6px}.game .figure-kinds button{flex:1;font:12px/1.5 Manrope,Segoe UI,sans-serif;border:1px solid #c2b28a;border-radius:4px;padding:8px 10px}.game .figure-kinds .active{background:#dce5cd;border-color:#7f965e}.game .rule-mini{font:12px/1.9 Manrope,Segoe UI,sans-serif;color:#898165;border-top:1px solid #d7c9a6;padding-top:12px}.game .tile-caption{font-size:10px;line-height:1.6;color:#897957}.game-left .log-title{font-size:10px;color:#a18b5e;margin-top:29px}.game-left .log p{font:11px/1.8 Manrope,Segoe UI,sans-serif;color:#7c7d65;padding-bottom:13px}.game-left .soft-button{font:11px/1.6 Manrope,Segoe UI,sans-serif;border:0;box-shadow:none;background:none;text-decoration:underline;text-underline-offset:4px;color:#7d795e}.game .board-status{font:12px/1.5 Manrope,Segoe UI,sans-serif;background:#faf2dedb;border:1px solid #cfb97e;border-radius:5px;padding:10px 17px;box-shadow:0 4px 15px #142d2033}.game .board-toolbar button{min-width:37px;font-family:Manrope,Segoe UI,sans-serif;font-size:19px;border-radius:4px;background:#f9efd5}.game .board-help{font-size:10px;color:#d0d3b0}.game .tile.latest{box-shadow:0 0 0 2px #f5dc81,0 4px 7px #10281f77}.board-wrap{background-size:auto,4px 4px}.feature-choice circle{fill:#fff2ca;stroke:#3e6340}.feature-choice:hover circle{fill:#e5edcc}.tile{border-radius:2px}.game-right .eyebrow{font-size:10px;letter-spacing:2px}
@media(max-width:1050px){.forest-lobby{grid-template-columns:290px 1fr}.game{grid-template-columns:195px minmax(0,1fr) 225px}.game-left,.game-right{padding:18px 12px}.game-right .tile-preview{width:175px;height:175px}.game .player-name{font-size:11px}.game .player{grid-template-columns:38px minmax(0,1fr) auto;gap:6px}.game .token{width:38px;height:45px}.game-left h2{font-size:23px}}
@media(max-width:700px){.forest-lobby{grid-template-columns:1fr}.forest-title{max-width:350px;margin:-16px auto 5px;width:100%}.lobby-menu{padding:16px 19px}.game{height:calc(100dvh - 65px);grid-template-columns:minmax(0,1fr) 155px;grid-template-rows:72px 1fr}.game-left{padding:7px 9px}.game .player{min-width:140px;padding:5px 7px;margin:0;grid-template-columns:30px minmax(0,1fr) auto}.game .player-name{font-size:11px}.game .token{width:30px;height:39px}.game .player small{font-size:8px}.game .score{font-size:24px}.game-right{padding:13px 9px}.game-right .tile-preview{width:128px;height:128px}.game-right h2{font-size:25px}.game .instructions{font-size:10px;padding:10px 0}.game-right .primary{font-size:11px;padding:10px 6px}.game .figure-kinds button{font-size:10px;padding:6px}.game .board-status{font-size:10px;padding:7px 10px}.game .rule-mini{display:none}.topbar{height:65px;padding:0 12px}.brand strong{font-size:20px}.top-actions button{font-size:10px;padding:7px}.lobby-menu .mode strong{font-size:20px}.forest-expansions .expansion{min-height:65px}.forest-expansions h3{font-size:21px}}
.game{grid-template-columns:clamp(285px,26vw,365px) minmax(0,1fr) clamp(235px,20vw,290px)}.sketch-sidebar{padding:0 20px 20px;overflow:auto}.sketch-sidebar .forest-title{width:calc(100% + 40px);margin:0 -20px 9px}.sketch-game-modes{display:grid;gap:7px;margin:0 0 21px}.sketch-game-modes .mode{font:700 23px 'Cormorant Garamond',Georgia;justify-content:flex-start;gap:13px;padding:8px 15px;min-height:45px;background:linear-gradient(100deg,#fbf0d7,#eadbb8);border:3px double #c0a16a;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}.sketch-game-modes .mode.active{background:linear-gradient(#355536,#233f2a);color:#fff1cc}.sketch-game-modes .mode.active:after{display:none}.sketch-game-modes .mode span{font-size:24px;width:28px;text-align:center}.sketch-sidebar .forest-expansions .expansion{min-height:75px}.sketch-sidebar .forest-expansions h3{font-size:21px}.sketch-sidebar>.primary{width:100%;font-size:27px;border-radius:10px}.sketch-sidebar .soft-button{display:block;margin:15px auto}.game-history{font:12px/1.7 Manrope,Segoe UI,sans-serif;color:#857857;border-top:1px solid #d6c7a3;padding-top:12px}.game-history summary{cursor:pointer;margin-bottom:15px}.game-score-rack .player{background:#fcf1d8;border:3px double #b39153;box-shadow:0 3px 5px #5a462326;padding:7px 9px;grid-template-columns:46px minmax(0,1fr) auto;margin-bottom:10px}.game-score-rack .player-name{font:700 23px 'Cormorant Garamond',Georgia}.game-score-rack .token{width:46px;height:54px}.game-score-rack .player small{font-size:9px}.game-right{gap:10px;padding-top:17px}.game-right .tile-preview{width:175px;height:175px}.game-right h2{margin:0;font-size:27px}.game-right .rotate{font-size:23px;padding:8px}.game-right .instructions{margin:0;padding:9px 0;font-size:11px}.game .rule-mini{font-size:10px}.game-score-rack .goods{font-size:9px;margin-top:1px}.game-right .eyebrow{margin-top:8px}.game-right .tile-caption{display:none}.game-right .player.current{box-shadow:inset 3px 0 #66874c,0 3px 5px #5a462326}
@media(max-width:1100px){.game{grid-template-columns:260px minmax(0,1fr) 220px}.sketch-sidebar{padding:0 14px 14px}.sketch-sidebar .forest-title{width:calc(100% + 28px);margin:0 -14px 9px}.sketch-game-modes .mode{font-size:21px;padding:6px 10px}.sketch-sidebar .forest-expansions .expansion{grid-template-columns:60px 1fr 20px;min-height:65px}.sketch-sidebar .expansion-art{width:60px;height:50px}.sketch-sidebar .forest-expansions h3{font-size:18px}.game-right .tile-preview{width:155px;height:155px}.game-score-rack .player-name{font-size:20px}}
@media(max-width:700px){.game{height:calc(100dvh - 65px);grid-template-columns:minmax(0,1fr) 155px;grid-template-rows:1fr}.game .sketch-sidebar{display:none}.game .game-right{grid-column:2;grid-row:1;padding:10px 7px}.board-wrap{grid-column:1;grid-row:1}.game-score-rack .player{min-width:0;grid-template-columns:26px minmax(0,1fr) auto;padding:5px;gap:4px;margin-bottom:6px}.game-score-rack .token{width:26px;height:34px}.game-score-rack .player-name{font-size:17px}.game-score-rack .player small{font-size:7px}.game-score-rack .score{font-size:23px}.game-right .tile-preview{width:125px;height:125px}.game-right h2{font-size:23px}.game .rule-mini{display:none}}

.board-wrap{user-select:none;-webkit-user-select:none}.board-pawn{filter:drop-shadow(0 1.2px 1px #20372170)}.board-pawn:hover{filter:drop-shadow(0 0 2px #fff6c9) drop-shadow(0 1.2px 1px #20372170)}

.game .tile:not(.ghost){box-shadow:none}.landscape-tile{padding:0}.tile.latest{outline:1px solid #e4ca77;outline-offset:0}.game .tile.latest{box-shadow:0 0 0 1.5px #f5dc81}

/* Shared game.last stays highlighted across figure placement and the turn change. */
.game .tile.latest{outline:1.5px solid #6b5124;outline-offset:2px;box-shadow:0 0 0 3px #ffe18a,0 0 14px 4px #f7d36b90;z-index:3}
.game .tile.latest::after{content:'';position:absolute;inset:1px;border:2px solid #fff1b6;border-radius:2px;box-shadow:inset 0 0 8px 1px #ffe49950;pointer-events:none}
.last-tile-highlight{position:absolute;z-index:5;pointer-events:none;box-sizing:border-box;border:1px solid #fff5c2;outline:2px solid #273f2b;outline-offset:2px;box-shadow:0 0 0 4px #e9bf59,0 0 20px 5px #e5be6459;background:linear-gradient(#fff6c9,#fff6c9) left top/18px 4px no-repeat,linear-gradient(#fff6c9,#fff6c9) left top/4px 18px no-repeat,linear-gradient(#fff6c9,#fff6c9) right top/18px 4px no-repeat,linear-gradient(#fff6c9,#fff6c9) right top/4px 18px no-repeat,linear-gradient(#fff6c9,#fff6c9) left bottom/18px 4px no-repeat,linear-gradient(#fff6c9,#fff6c9) left bottom/4px 18px no-repeat,linear-gradient(#fff6c9,#fff6c9) right bottom/18px 4px no-repeat,linear-gradient(#fff6c9,#fff6c9) right bottom/4px 18px no-repeat}
.last-tile-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;color:#fff2ce;background:#25452f;border:1px solid #d7b46c;border-radius:4px;padding:5px 9px;box-shadow:0 2px 8px #10261e55;font:600 11px/1.2 Manrope,Segoe UI,sans-serif;display:flex;align-items:center;gap:6px}.last-tile-label:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:7px;height:7px;background:#25452f;transform:rotate(45deg);border-right:1px solid #d7b46c;border-bottom:1px solid #d7b46c}.last-tile-label i{width:5px;height:5px;border-radius:50%;background:#f3d583}.last-tile-highlight.label-below .last-tile-label{bottom:auto;top:calc(100% + 10px)}.label-below .last-tile-label:after{bottom:auto;top:-5px;transform:rotate(225deg)}.last-tile-highlight.placement-pulse{animation:tile-announcement .85s ease-out 2}.game .tile.latest{outline:none;box-shadow:none}.game .tile.latest:after{display:none}.game .board-toolbar .last-move-button{font:600 11px Manrope,Segoe UI,sans-serif;padding:9px 12px;white-space:nowrap}.game .board-status{z-index:6}.game .board-toolbar{z-index:7}
@keyframes tile-announcement{0%{box-shadow:0 0 0 4px #e9bf59,0 0 0 6px #ffe79b80}100%{box-shadow:0 0 0 4px #e9bf59,0 0 0 23px #ffe79b00}}
@media(prefers-reduced-motion:reduce){.last-tile-highlight.placement-pulse{animation:none}}
@media(max-width:700px){.last-tile-label{font-size:9px;padding:4px 6px}.game .board-toolbar{gap:3px;left:7px;bottom:10px;flex-wrap:wrap;max-width:calc(100% - 14px)}.game .board-toolbar .last-move-button{font-size:10px;padding:8px}.game .board-toolbar button{min-width:29px;padding:6px 9px}}
.game .figure-kinds{display:grid;grid-template-columns:1fr 1fr;gap:7px}.game .figure-kinds button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:79px;padding:5px 4px;background:#f9efd9;transition:background .15s,border-color .15s}.game .figure-kinds button.active{background:#e5eacb;border-color:#6c8747;box-shadow:inset 0 0 0 1px #6c874780}.game .figure-kinds button>svg{width:43px;height:43px;filter:drop-shadow(0 2px 1px #493e252f)}.game .figure-kinds button>span{font:600 11px/1.4 Manrope,Segoe UI,sans-serif}.figure-placement-note{display:block;font-size:10px;color:#968362;margin-top:5px}.role-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.role-guide>div{background:#eee3c7;border:1px solid #d1be91;border-radius:7px;padding:15px}.role-guide>div>svg{width:83px;height:83px;display:block;margin:0 auto 8px}.rules .role-guide h3{font-size:21px;margin:0 0 7px}.rules .role-guide p{margin:0;font-size:11px}.role-figure{filter:drop-shadow(0 1px 1px #4a3c222b)}@media(max-width:700px){.game .figure-kinds{gap:5px}.game .figure-kinds button{min-height:65px;padding:3px}.game .figure-kinds button>svg{width:34px;height:34px}.game .figure-kinds button>span{font-size:9px}.role-guide{grid-template-columns:1fr}.game .instructions{font-size:9px}.figure-placement-note{font-size:9px}}

.pawn-layer{position:absolute;left:0;top:0;width:0;height:0;z-index:4;pointer-events:none;overflow:visible}.pawn-tile{position:absolute;width:100px;height:100px;overflow:visible;pointer-events:none}.pawn-tile>svg{display:block;width:100%;height:100%;overflow:visible}

/* Compact game surface, safe areas and phone controls. */
body.playing{height:100dvh;overflow:hidden;overscroll-behavior:none}.playing #app{height:100%;min-height:0}
.playing .game.compact-game{position:relative;display:block;width:100%;height:100dvh;min-height:0;overflow:hidden;margin:0;padding:0}
.compact-game .board-wrap{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;touch-action:none;overscroll-behavior:none}
.compact-game .play-header{position:absolute;z-index:12;top:0;left:0;right:0;display:flex;align-items:center;gap:16px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));pointer-events:none;background:linear-gradient(#153b30b0,transparent)}.compact-game .play-header>*{pointer-events:auto}
.play-menu,.score-chip,.deck-count{background:#f5ebd2;border:1px solid #bd9f62;box-shadow:0 3px 12px #12271e45;color:#294534;border-radius:7px}.play-menu{width:46px;height:46px;padding:0;font-size:24px;flex:none}
.compact-scores{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:3px;flex:1}.score-chip{display:flex;align-items:center;gap:9px;padding:3px 12px 3px 5px;min-height:46px;flex:none;font-size:13px;white-space:nowrap}.score-chip>svg{width:38px;height:38px;flex:none}.score-chip strong{font:700 25px 'Cormorant Garamond',Georgia}.score-chip.current{background:#e9eddb;border-color:#76915c;box-shadow:inset 0 -3px #6c8852,0 3px 12px #12271e45}.deck-count{font-size:13px;padding:12px;white-space:nowrap}
.compact-game .board-status{position:absolute;top:83px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:8px 14px;font:500 12px/1.3 Manrope,Segoe UI,sans-serif;border-radius:5px;pointer-events:none;box-shadow:0 2px 10px #17332633;background:#f4ecd9eb}
.compact-game .turn-tray{position:absolute;z-index:10;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;padding:12px;background:#f6ecd5;border:1px solid #c4a771;border-radius:10px;box-shadow:0 5px 25px #0c221b55;max-width:calc(100% - 36px)}
.compact-game .tile-preview{padding:0;margin:0;width:100px;height:100px;flex:none;display:block;border:2px solid #a88a4e;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px #6e542c35;background:#dccda5}.compact-game .tile-preview:disabled{opacity:1}.compact-game .tile-preview>svg{display:block;width:100%;height:100%;margin:0}
.turn-actions{display:flex;flex-direction:column;gap:8px;min-width:132px}.turn-actions>button{min-height:44px;margin:0;padding:10px 16px;font-size:14px;width:100%}
.compact-game .figure-kinds{display:flex;gap:4px;margin:0;padding:0;flex-wrap:nowrap}.compact-game .figure-kinds button{position:relative;width:48px;min-width:44px;height:55px;min-height:44px;padding:1px 3px;border-radius:5px;display:block;background:#f7efdd}.compact-game .figure-kinds button>svg{width:42px;height:46px;margin:0;display:block}.compact-game .figure-kinds button span{position:absolute;bottom:1px;right:2px;padding:0 3px;line-height:16px;border-radius:3px;background:#f6edd6e8;font:700 11px Manrope,Segoe UI,sans-serif}.compact-game .figure-kinds button.active{border:2px solid #496b40;background:#e0e6cb;box-shadow:none}
.compact-game .board-toolbar{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:5px;z-index:9}.compact-game .board-toolbar button{height:44px;width:44px;min-width:44px;padding:0;font-size:21px;border-radius:5px}
.pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.pause-actions button{min-height:46px}.match-details{padding:14px 0;border-top:1px solid #cfbd91}.match-details summary{cursor:pointer;min-height:32px}.match-details p{margin:8px 0;font-size:13px}.control-hint{font-size:12px;color:#75785e;margin:12px 0 0;line-height:1.6}.player-reserve{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0}.player-reserve svg{display:block;width:70px;height:70px}.player-reserve strong{font-size:14px}.player-reserve p{font-size:12px;margin:6px 0}
@media(max-width:600px){.compact-game .play-header{gap:6px;padding:8px;padding-top:max(8px,env(safe-area-inset-top))}.play-menu{width:44px;height:44px}.compact-scores{gap:5px}.score-chip{gap:4px;padding:2px 8px 2px 2px;min-height:44px}.score-chip>svg{width:32px;height:36px}.score-chip strong{font-size:25px}.chip-name{display:none}.deck-count{padding:10px 7px;font-size:12px}.compact-game .board-status{top:72px;font-size:11px;padding:7px 12px}.compact-game .turn-tray{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:none;padding:9px;gap:9px;border-radius:8px}.compact-game .tile-preview{width:76px;height:76px}.turn-actions{flex:1;min-width:0}.turn-actions>button{font-size:13px;min-height:44px;padding:8px}.compact-game .figure-kinds{justify-content:space-between}.compact-game .figure-kinds button{height:46px;width:44px}.compact-game .figure-kinds button>svg{height:39px;width:36px}.compact-game .board-toolbar{left:8px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 128px);gap:4px}.compact-game .board-toolbar button{width:44px;height:44px}.playing dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 24px);padding:24px 18px}.pause-actions{grid-template-columns:1fr}.playing dialog h2{padding-right:30px;font-size:28px}}
@media(max-height:500px) and (min-width:601px){.compact-game .tile-preview{width:70px;height:70px}.compact-game .turn-tray{bottom:8px;right:8px;padding:8px;gap:8px}.compact-game .board-status{top:70px}.compact-game .play-header{padding:8px}.score-chip{min-height:40px}.score-chip>svg{height:32px}.compact-game .board-toolbar{bottom:8px}}

/* Landscape phones: a two-page parchment, with setup beside the expansions. */
.tile.ghost>svg{pointer-events:none}
.score-chip strong{font-variant-numeric:tabular-nums;min-width:1.15em;text-align:center}
.final-report>h2{font-size:38px;margin:6px 30px 20px 0}.final-report>h3{margin:28px 0 12px;font-size:25px}.results-ranking{display:grid;gap:8px}.result-place{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#eee4cb;border:1px solid #cfbd91;border-radius:6px}.result-place.winner{border-color:#ab873a;background:#e9e8cc}.result-place>svg{width:42px;height:42px;flex:none}.place-number{font-size:16px;color:#8f7949}.result-place>span:not(.place-number){flex:1;font-size:20px}.result-place>strong{font:700 30px 'Cormorant Garamond',Georgia}
.score-table-scroll{overflow-x:auto;border:1px solid #cebb91;border-radius:6px}.score-breakdown{width:100%;border-collapse:collapse;font:13px/1.4 Manrope,Segoe UI,sans-serif}.score-breakdown th,.score-breakdown td{padding:12px;text-align:center;border-bottom:1px solid #d9caa7;min-width:86px}.score-breakdown th:first-child{text-align:left;white-space:nowrap}.score-breakdown thead{background:#e7ddc1}.score-breakdown tbody tr:nth-child(even){background:#eee4cd77}.score-breakdown td strong{font-weight:700}.score-breakdown small{display:block;color:#8a7953;font-size:10px;white-space:nowrap;margin-top:3px}.score-breakdown tfoot{background:#e2e4c9;font-weight:800}.score-breakdown tfoot td{font-size:17px}.report-note{font:12px/1.6 Manrope,Segoe UI,sans-serif;color:#7d775e;margin:8px 0 15px}
.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record-card{position:relative;padding:16px;background:#eee5cc;border:1px solid #c7b182;border-radius:7px;overflow:hidden}.record-category{font:700 9px Manrope,Segoe UI,sans-serif;letter-spacing:2px;color:#947943}.record-card h3{font-size:23px;margin:8px 0 12px;line-height:1.05}.record-size{font:700 40px 'Cormorant Garamond',Georgia;color:#385639;display:block}.record-size small{font-size:16px;font-weight:500;margin-left:6px}.record-card ul{padding:0;margin:8px 0 0;list-style:none;font:12px/1.6 Manrope,Segoe UI,sans-serif}.record-card li+li{margin-top:4px}.score-details{border-top:1px solid #ccb98c;padding:4px 0}.score-details summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;min-height:46px;align-items:center;font-size:18px}.score-details summary:before{content:'+';color:#947943}.score-details summary strong{font-size:15px;margin-left:auto}.score-details[open] summary:before{content:'−'}.score-details ul{list-style:none;margin:5px 0 14px;padding:0}.score-details li{display:flex;justify-content:space-between;gap:14px;padding:9px 4px;border-bottom:1px solid #deceaa;font:12px/1.5 Manrope,Segoe UI,sans-serif}.score-details li strong{color:#4c6737;white-space:nowrap}
@media(max-width:500px){.record-grid{grid-template-columns:1fr}.record-card{padding:14px}.score-breakdown th,.score-breakdown td{padding:10px 8px}.score-details summary{font-size:17px}.final-report>h2{font-size:31px}}
.score-chip.score-counting{border-color:#e1bf62;box-shadow:inset 0 0 12px #edce7a77,0 0 14px #ecd47844}
.score-chip.score-counting strong{color:#8c571b}
.score-feedback-layer{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}
.score-gain{position:absolute;transform:translateX(-50%);color:#fff2bd;background:linear-gradient(#46643c,#284c32);border:1px solid #d8b860;border-radius:20px;padding:3px 12px;box-shadow:0 3px 12px #13281c50,inset 0 0 0 2px #e5c67e22;font:700 25px/1.1 'Cormorant Garamond',Georgia;white-space:nowrap;animation:score-reward 1.1s both;will-change:transform,opacity}
@keyframes score-reward{0%{opacity:0;transform:translate(-50%,-7px) scale(.75)}18%{opacity:1;transform:translate(-50%,3px) scale(1.12)}35%{opacity:1;transform:translate(-50%,0) scale(1)}75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-13px)}}
@media(prefers-reduced-motion:reduce){.score-gain{animation:none;will-change:auto}.score-chip.score-counting{box-shadow:none}}
@media(orientation:landscape) and (max-height:540px) and (max-width:1100px){
 body.at-lobby{overflow-x:hidden;overscroll-behavior-x:none}
 .at-lobby .forest-lobby{display:block;min-height:100dvh;padding:0 max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left))}
 .at-lobby .lobby-menu{display:grid;grid-template-columns:minmax(210px,1fr) minmax(240px,1.08fr);grid-template-rows:64px auto 44px 46px auto;column-gap:32px;row-gap:8px;align-content:center;min-height:100dvh;width:100%;max-width:980px;margin:auto;padding:12px 24px;border:0;border-left:1px solid #b49a67;border-right:1px solid #b49a67;box-shadow:0 0 32px #10281855}
 .at-lobby .lobby-table,.at-lobby .lobby-rack{display:none}
 .at-lobby .lobby-menu .forest-title{grid-column:1;grid-row:1;width:190px;height:64px;max-width:100%;margin:0 auto;min-height:0}
 .at-lobby .forest-title>svg{display:block;width:100%;height:100%}
 .at-lobby .lobby-menu .modes{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}
 .at-lobby .lobby-menu .mode{min-width:0;min-height:44px;padding:5px 8px;gap:7px;clip-path:none;border-radius:5px}
 .at-lobby .lobby-menu .mode strong{font-size:19px;line-height:1.05}.at-lobby .mode-engraving{font-size:22px;width:24px;flex:none;text-align:center}
 .at-lobby .lobby-menu .ornate-heading{grid-column:2;grid-row:1;align-self:end;margin:0 0 6px;font-size:25px}
 .at-lobby .lobby-menu .forest-expansions{grid-column:2;grid-row:2/4;display:grid;grid-template-rows:repeat(3,1fr);gap:6px;min-height:0}
 .at-lobby .forest-expansions .expansion{grid-template-columns:54px minmax(0,1fr) 24px;min-width:0;min-height:44px;padding:3px 7px 3px 3px;gap:10px;border:1px solid #bca474;border-radius:5px}
 .at-lobby .forest-expansions .expansion-art{width:54px;height:40px}.at-lobby .forest-expansions h3{font-size:20px;line-height:1.03}
 .at-lobby .lobby-menu .name-row{grid-column:1;grid-row:3;margin:0;min-width:0}.at-lobby .name-row input{min-width:0;width:100%;height:44px;font-size:13px}.at-lobby .name-row select{height:44px;max-width:120px;font-size:12px}
 .at-lobby .lobby-menu .start{grid-column:1;grid-row:4;min-height:46px;margin:0;padding:4px 10px;font-size:26px;border-radius:7px}
 .at-lobby .lobby-menu .inventory{grid-column:2;grid-row:4;align-self:center;margin:0;font-size:17px}
 .at-lobby .lobby-menu .lobby-links{grid-column:2;grid-row:5;margin:0;align-items:center;gap:8px}.at-lobby .lobby-links button{min-height:44px;padding:4px 7px;font-size:16px}
 .at-lobby .lobby-menu .resume{grid-column:1;min-height:44px;font-size:17px;border:1px solid #c8b485;border-radius:5px}
 .at-lobby .lobby-menu .room-panel{grid-column:1/-1;margin:0;padding:12px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
 .at-lobby .room-panel input{width:160px;margin:0;min-height:44px}.at-lobby .room-panel button{min-height:44px}.at-lobby .room-code{font-size:25px}.at-lobby #room-members p{margin:0;font-size:13px}
}
@media(orientation:landscape) and (max-height:360px) and (max-width:1100px){
 .at-lobby .lobby-menu{grid-template-rows:48px auto 44px 46px auto;padding:7px 14px;column-gap:18px;row-gap:5px;grid-template-columns:minmax(200px,1fr) minmax(230px,1.08fr)}
 .at-lobby .lobby-menu .forest-title{height:48px;width:150px}.at-lobby .lobby-menu .ornate-heading{font-size:23px;margin:0}.at-lobby .lobby-menu .mode{padding:4px 5px;gap:4px}.at-lobby .lobby-menu .mode strong{font-size:16px}.at-lobby .mode-engraving{width:18px;font-size:20px}.at-lobby .forest-expansions h3{font-size:18px}.at-lobby .forest-expansions .expansion{gap:7px}
}
