:root{--ink:#342f29;--muted:#8c8275;--paper:#f7f4ec;--line:#e9e2d4;--rust:#a95033;--green:#617b67}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button{font:inherit;cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:#f1ede2;border-right:1px solid #e4ddcf;flex-direction:column;flex-shrink:0;width:215px;padding:33px 20px 25px;display:flex}.brand{align-items:center;gap:10px;margin:0 0 77px 2px;display:flex}.brand-mark{color:#f8ebd3;background:#a74f32;border-radius:50%;place-items:center;width:36px;height:36px;font-size:26px;display:grid}.brand strong{letter-spacing:3px;font-family:Playfair Display,serif;font-size:17px;display:block}.brand span{letter-spacing:1.45px;color:#9b8d7d;margin-top:2px;font-size:12px;display:block}.side-label,.section-kicker,.kicker{letter-spacing:1.6px;color:#ad755b;font-size:12px;font-weight:700}.side-label{color:#aea495;margin:0 0 13px 12px}.side-link{color:#81796e;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:13px;width:100%;padding:13px 12px;font-size:12px;font-weight:600;display:flex}.side-link>span{font-size:19px}.side-link.active{color:#9e4f35;background:#e6dfd1}.side-link i{background:#ad5a3a;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{color:#857a6b;margin-top:auto;padding:20px 10px 0}.side-ornament{color:#b97454;font-size:24px}.sidebar-bottom p{margin-top:11px;font-family:Playfair Display,serif;font-size:16px;line-height:1.4}.sidebar-bottom em{color:#a65339}.side-divider{background:#dbd3c4;height:1px;margin:22px 0}.sidebar-bottom small{letter-spacing:1.2px;font-size:12px;line-height:1.8}.main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:70px;padding:0 4.5%;display:flex}.breadcrumb{letter-spacing:1.5px;color:#9e9384;font-size:12px;font-weight:700}.breadcrumb span{color:#d2c9bb;padding:0 10px}.breadcrumb b{color:#5c554c}.top-actions{align-items:center;gap:22px;display:flex}.top-actions button,.mobile-menu{color:#71695f;background:0 0;border:0;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.top-actions .new-game{color:#514b42;border:1px solid #ddd4c5;border-radius:4px;padding:10px 13px}.mobile-menu{display:none}.content{max-width:1390px;margin:auto;padding:39px 4.5% 0}.heading-row{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.kicker{align-items:center;gap:8px;display:flex}.kicker span{background:#b76545;border-radius:50%;width:6px;height:6px}h1,h2,h3{font-family:Playfair Display,serif}h1{letter-spacing:-1.3px;margin:7px 0;font-size:39px;font-weight:500}h1 em{color:#a95437;font-weight:500}.heading-row p,.section-top p{color:#93897b;font-size:12px}.round-badge{background:#eee8dc;border-radius:4px;align-items:center;gap:11px;padding:11px 15px;display:flex}.round-badge>span{color:#b27050;font-size:25px}.round-badge small,.round-badge strong{display:block}.round-badge small{letter-spacing:1px;color:#a49a8c;font-size:12px}.round-badge strong{margin-top:3px;font-family:Playfair Display,serif;font-size:14px}.table-layout{grid-template-columns:minmax(0,1fr) 238px;gap:20px;display:grid}.play-area{min-width:0}.rival-bar{border:1px solid var(--line);background:#fbf9f4;border-radius:7px 7px 0 0;justify-content:space-between;align-items:center;height:68px;padding:0 20px;display:flex}.player-identity,.rival-right{align-items:center;gap:11px;display:flex}.avatar{border-radius:50%;place-items:center;width:37px;height:37px;font-family:Playfair Display,serif;font-weight:700;display:grid}.rival-avatar{color:#925840;background:#dfc6b2;border:3px solid #f2e4d7}.player-name{font-size:12px;font-weight:700}.bot-tag{letter-spacing:.7px;color:#a89a89;background:#eee9df;border-radius:2px;margin-left:4px;padding:3px 5px;font-size:12px}.player-meta{color:#a09587;margin-top:5px;font-size:12px}.player-meta span{padding:0 4px}.mini-cards{margin-right:14px;display:flex}.mini-cards span{background:#b7684b;border:2px solid #f8f4eb;border-radius:3px;width:20px;height:27px;margin-left:-7px}.score{border-left:1px solid var(--line);text-align:center;padding-left:17px}.score strong,.score small{display:block}.score strong{font-family:Playfair Display,serif;font-size:19px}.score small{letter-spacing:1px;color:#a49a8c;font-size:12px}.market-panel{background:#eee7d9;border:1px solid #e2d8c7;border-top:0;border-radius:0 0 7px 7px;padding:23px 24px 0}.section-top,.hand-header{justify-content:space-between;align-items:center;display:flex}.section-top h2,.hand-header h2{margin:5px 0;font-size:23px;font-weight:500}.section-top h2 span{color:#b66c4b;margin-left:5px;font-size:14px}.deck-count{align-items:center;gap:8px;display:flex}.deck-icon{color:#e6c4a9;background:#a9573c;border:3px double #e5c3a7;border-radius:4px;place-items:center;width:34px;height:43px;font-size:19px;display:grid}.deck-count strong,.deck-count small{display:block}.deck-count strong{font-family:Playfair Display,serif;font-size:17px}.deck-count small{color:#a09483;letter-spacing:.7px;font-size:12px}.market-cards{justify-content:center;gap:10px;min-height:155px;margin:23px 0 19px;display:flex}.game-card{color:#805a47;background:#f8efe0;border:1px solid #62493630;border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;width:111px;height:155px;padding:7px;transition:transform .16s,box-shadow .16s;display:flex;position:relative;box-shadow:0 2px 3px #9a80651a}.game-card:not(:disabled):hover{transform:translateY(-4px)}.game-card.selected{transform:translateY(-7px);box-shadow:0 0 0 3px #a65338,0 6px 12px #7b5e4930}.game-card:disabled{opacity:1}.card-corner{font-size:12px;position:absolute;top:5px;left:8px}.card-art{outline-offset:-4px;opacity:.85;background:#ffffff40;border:1px solid;outline:1px solid #ffffff80;place-items:center;width:100%;height:100px;margin-top:7px;display:grid}.card-art span{font-family:serif;font-size:46px}.card-label{margin-top:7px;font-family:Playfair Display,serif;font-size:13px;font-weight:700}.card-sub{letter-spacing:.8px;opacity:.75;margin-top:2px;font-size:12px}.card-check{color:#fff;background:#a65338;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:-7px;right:-7px}.market-footer{border-top:1px solid #ded3c2;align-items:center;gap:13px;min-height:46px;display:flex}.market-footer span{letter-spacing:1px;color:#688471;white-space:nowrap;font-size:12px;font-weight:700}.market-footer i{background:#7d9a80;border-radius:50%;width:6px;height:6px;margin-right:3px;display:inline-block}.market-footer p{color:#8f8272;font-size:12px}.hand-section{padding:25px 2px}.hand-count{color:#aaa092;margin-left:6px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500}.text-button{color:#a75a3d;background:0 0;border:0;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.hand-cards{gap:9px;min-height:126px;margin:14px 0 18px;padding:7px 4px;display:flex;overflow-x:auto}.game-card.small{width:86px;height:120px;padding:5px}.small .card-art{height:76px;margin-top:5px}.small .card-art span{font-size:35px}.small .card-label{margin-top:5px;font-size:12px}.small .card-sub{font-size:12px}.empty-hand{color:#a09587;padding:35px 0}.action-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:17px;display:flex}.basket-collection{align-items:center;gap:9px;display:flex}.basket-collection-icon{color:#9d7848;background:#e9ddc8;border-radius:50%;place-items:center;width:38px;height:38px;font-size:23px;display:grid}.basket-collection small,.basket-collection strong{display:block}.basket-collection small,.you-top small,.seal-line>span,.panel-title small{letter-spacing:1.1px;color:#a49a8b;font-size:12px;font-weight:700}.basket-collection strong{margin-top:3px;font-family:Playfair Display,serif;font-size:13px}.basket-controls{color:#8b7d6d;align-items:center;gap:5px;margin-left:6px;display:flex}.basket-controls button{color:#8b6b56;background:#f1ebdf;border:0;border-radius:3px;width:21px;height:21px}.basket-controls span{font-size:12px}.action-buttons{gap:8px;display:flex}.sell-button,.trade-button{color:#645b4e;white-space:nowrap;background:0 0;border:1px solid #d8cebd;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:700;display:inline-flex}.trade-button{color:#fff;background:#a65338;border-color:#a65338}.sell-button:disabled,.trade-button:disabled{opacity:.5}.right-column{flex-direction:column;gap:14px;display:flex}.you-card,.tokens-panel{border:1px solid var(--line);background:#fbf9f4;border-radius:6px;padding:18px}.you-top{align-items:center;gap:9px;display:flex}.you-avatar{color:#6d856c;background:#dce5d8;border:3px solid #e9efe5}.you-top div:nth-child(2){flex:1}.you-top strong{margin-top:4px;font-family:Playfair Display,serif;font-size:13px;display:block}.you-top>svg{color:#c78d6d}.your-score{border-bottom:1px solid var(--line);padding:19px 0 17px}.your-score strong{font-family:Playfair Display,serif;font-size:37px;font-weight:500}.your-score span{color:#9c9182;margin-left:5px;font-size:12px}.seal-line{justify-content:space-between;align-items:center;padding-top:15px;display:flex}.seal{color:#d8cfc0;border:1px dashed #d8cfc0;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:4px;display:inline-grid}.seal.earned{color:#fff1d8;background:#bd8053;border:0}.rival-seals{color:#aaa092;margin-top:12px;font-size:12px}.rival-seals span{float:right;color:#b47c54}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h3{margin-top:4px;font-size:17px;font-weight:500}.panel-title svg{color:#b18a6c}.tokens-panel>p{color:#a59a8c;margin:7px 0 13px;font-size:12px}.token-row{border-top:1px solid #f0eae0;align-items:center;gap:8px;height:34px;font-size:12px;display:flex}.token-icon{border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.token-dots{gap:3px;margin-left:auto;display:flex}.token-dots i{background:#d7ccba;border-radius:50%;width:4px;height:4px}.token-row strong{text-align:right;width:15px;font-family:Playfair Display,serif;font-size:13px}.learn-card{text-align:left;color:#556d59;background:#e9e8dc;border:1px solid #dedfd1;border-radius:6px;gap:10px;padding:17px;display:flex;position:relative;overflow:hidden}.learn-icon{background:#d4dfd0;border-radius:50%;height:36px;padding:8px}.learn-card strong,.learn-card small,.learn-card b{display:block}.learn-card strong{font-family:Playfair Display,serif;font-size:14px}.learn-card small{color:#899486;margin:6px 0 11px;font-size:12px;line-height:1.6}.learn-card b{letter-spacing:1px;align-items:center;gap:5px;font-size:12px;display:flex}.learn-spark{color:#dbe1d3;font-size:80px;position:absolute;bottom:-20px;right:-8px}footer{border-top:1px solid var(--line);color:#b2a99c;letter-spacing:1px;justify-content:space-between;padding:20px 0;font-size:12px;display:flex}footer span:first-child{color:#a25d42;letter-spacing:2px;font-family:Playfair Display,serif}.overlay{z-index:20;background:#302b25aa;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tutorial{background:#faf8f2;border-radius:8px;grid-template-columns:1fr 1fr;width:100%;max-width:850px;min-height:490px;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 80px #2d251e45}.close-tutorial{color:#9a8c7b;z-index:2;background:0 0;border:0;position:absolute;top:18px;right:18px}.tutorial-visual{color:#a75b3d;background:#e9ddc9;flex-direction:column;justify-content:space-between;align-items:center;padding:26px;display:flex;position:relative;overflow:hidden}.visual-top,.visual-bottom{letter-spacing:1.6px;z-index:1;font-size:12px;font-weight:700}.visual-top span{margin:0 9px}.visual-sun{color:#e1d1b8;font-size:360px;line-height:1;position:absolute;top:35px;left:20px}.lesson-illustration{z-index:1;text-align:center}.palace{color:#ad684b;font-size:110px;line-height:1}.illustration-title{letter-spacing:8px;font-family:Playfair Display,serif;font-size:48px}.illustration-sub,.visual-caption{letter-spacing:2px;margin-top:14px;font-size:12px;font-weight:700}.sample-cards{justify-content:center;gap:8px;display:flex}.sample-cards .game-card:first-child{transform:rotate(-7deg)}.sample-cards .game-card:nth-child(3){transform:rotate(7deg)}.big-basket{font-size:125px;line-height:1}.visual-number{margin-top:20px;font-family:Playfair Display,serif;font-size:38px}.visual-number small{letter-spacing:1px;font:700 12px DM Sans,sans-serif;display:block}.visual-seals{margin-top:15px;font-size:55px}.tutorial-copy{flex-direction:column;padding:90px 48px 35px;display:flex}.tutorial-copy h2{margin:16px 0;font-size:35px;font-weight:500;line-height:1.15}.tutorial-copy>p{color:#8e8376;font-size:13px;line-height:1.8}.tip{color:#a75b3d;background:#f0ecdf;border-radius:5px;gap:12px;margin-top:26px;padding:15px;display:flex}.tip>span{font-size:20px}.tip strong{letter-spacing:1px;font-size:12px}.tip p{color:#817769;margin-top:5px;font-size:12px;line-height:1.5}.tutorial-controls{justify-content:space-between;align-items:center;margin-top:auto;padding-top:35px;display:flex}.dots{gap:6px;display:flex}.dots button{background:#d8cfc0;border:0;border-radius:50%;width:6px;height:6px;padding:0}.dots button.current{background:#a65338;border-radius:4px;width:19px}.tutorial-buttons{gap:7px;display:flex}.prev{color:#8a7c6d;background:0 0;border:1px solid #ded4c5;border-radius:4px}.skip{color:#afa497;background:0 0;border:0;margin:18px 0 0 auto;padding:0;font-size:12px;text-decoration:underline}.result-modal{text-align:center;background:#faf8f2;border-radius:8px;max-width:420px;padding:40px}.result-icon{color:#a65338;margin-bottom:15px}.result-modal h2{margin:10px 0;font-size:30px}.result-modal p{color:#8e8376;line-height:1.7}.result-seals{letter-spacing:1px;color:#a65338;margin:25px 0;font-size:12px}.result-seals span{padding:0 10px}.loading{color:#a65338;padding:30px}@media (max-width:1100px){.sidebar{width:180px}.table-layout{grid-template-columns:minmax(0,1fr) 210px;gap:12px}.game-card{width:90px;height:140px}.card-art{height:88px}.market-cards{gap:7px;min-height:140px}.market-panel{padding-left:16px;padding-right:16px}.content{padding-left:3%;padding-right:3%}.action-row{flex-direction:column;align-items:flex-start}.action-buttons{align-self:flex-end}}@media (max-width:760px){.sidebar{z-index:15;width:215px;transition:left .2s;position:fixed;top:0;bottom:0;left:-230px;box-shadow:0 0 30px #0002}.sidebar.open{left:0}.mobile-menu{padding:0;display:block}.topbar{gap:15px;height:60px}.breadcrumb{flex:1}.top-actions{gap:10px}.top-actions button span{display:none}.top-actions .new-game{padding:9px;font-size:0}.content{padding:28px 18px 0}.heading-row{align-items:flex-start}.heading-row h1{font-size:31px}.heading-row p{font-size:12px}.round-badge{padding:8px}.round-badge>span{font-size:18px}.table-layout{flex-direction:column;display:flex}.right-column{grid-template-columns:1fr 1fr;display:grid}.learn-card{grid-column:1/-1}.market-cards{justify-content:flex-start;padding:8px 4px;overflow-x:auto}.game-card{width:91px}.action-row{flex-flow:wrap;align-items:center}.action-buttons{margin-left:auto}.tutorial{grid-template-columns:1fr;max-width:430px;max-height:90vh;overflow:auto}.tutorial-visual{min-height:210px;padding:18px}.visual-sun{font-size:240px;top:-20px;left:60px}.palace,.big-basket{font-size:60px}.illustration-title{font-size:30px}.tutorial-copy{padding:28px}.tutorial-copy h2{margin:10px 0;font-size:29px}.tip{margin-top:16px}.tutorial-controls{padding-top:22px}.sample-cards .game-card{width:72px;height:100px}.sample-cards .card-art{height:60px}.sample-cards .card-art span{font-size:25px}.visual-number{margin-top:5px;font-size:25px}.visual-seals{margin:0;font-size:35px}footer span:nth-child(2){display:none}}@media (max-width:430px){.round-badge{display:none}.right-column{grid-template-columns:1fr}.learn-card{grid-column:auto}.action-buttons{width:100%}.action-buttons button{flex:1}.market-panel{padding-left:12px;padding-right:12px}.rival-bar{padding:0 12px}.mini-cards{display:none}}.mobile-info{display:none!important}.info-modal{background:#faf8f2;border-radius:10px;width:min(100%,420px);max-height:90dvh;padding:30px 24px 24px;position:relative;overflow:auto;box-shadow:0 20px 60px #302b2540}.info-modal h2{margin:8px 0 18px;font-size:28px;font-weight:500}.info-scores{grid-template-columns:1fr 1fr;gap:10px;display:grid}.info-scores>div{background:#f0ebdf;border-radius:6px;padding:13px}.info-scores small{letter-spacing:1px;color:#a49583;font-size:12px;font-weight:700}.info-scores strong{margin:5px 0;font-family:Playfair Display,serif;font-size:23px;display:block}.info-scores strong span{color:#998d7e;font:12px DM Sans,sans-serif}.info-scores p,.info-sub{color:#928678;font-size:12px}.info-modal h3{margin:22px 0 4px;font-size:18px;font-weight:500}.info-token-grid{grid-template-columns:1fr 1fr;gap:0 16px;margin:12px 0;display:grid}.info-token-grid>div{border-bottom:1px solid #eee7da;align-items:center;gap:8px;padding:7px 0;font-size:12px;display:flex}.info-token-grid strong{margin-left:auto;font-family:Playfair Display,serif;font-size:14px}.info-guide,.info-restart{text-align:left;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;padding:13px;font-size:12px;font-weight:700;display:flex}.info-guide{color:#556d59;background:#e9e8dc;margin-top:20px}.info-guide svg:last-child{margin-left:auto}.info-restart{color:#9a6b57;background:0 0;margin-top:7px}@media (max-width:760px){.sidebar,.mobile-menu,.breadcrumb,.top-actions .desktop-help,.top-actions .new-game,.heading-row,.right-column,footer{display:none!important}.main{width:100%}.topbar{background:#f7f4ec;justify-content:space-between;height:48px;padding:0 16px}.topbar:before{content:"✺  FOREST EXCHANGE";letter-spacing:2px;color:#a65338;font-family:Playfair Display,serif;font-size:15px;font-weight:700}.top-actions{margin-left:auto}.mobile-info{padding:8px;color:#746b5e!important;display:flex!important}.content{padding:10px 12px 16px}.table-layout{gap:0}.rival-bar{border-radius:6px 6px 0 0;height:49px;padding:0 12px}.avatar{width:30px;height:30px}.player-name{font-size:12px}.player-meta{margin-top:2px;font-size:12px}.score strong{font-size:16px}.score small{font-size:12px}.market-panel{padding:13px 12px 0}.section-top h2,.hand-header h2{margin:3px 0;font-size:20px}.section-top p,.section-kicker{font-size:12px}.deck-icon{width:26px;height:34px;font-size:15px}.deck-count strong{font-size:15px}.market-cards{gap:6px;min-height:0;margin:10px 0 8px;padding:6px 3px;overflow-x:auto}.market-cards .game-card{flex:1;width:auto;min-width:0;max-width:100px;height:clamp(100px,29vw,140px);padding:4px}.market-cards .card-art{height:70%;margin-top:5px}.market-cards .card-art span{font-size:clamp(25px,8vw,40px)}.market-cards .card-label{margin-top:4px;font-size:12px}.market-cards .card-sub{letter-spacing:0;font-size:12px}.market-cards .card-corner{font-size:12px;top:3px;left:5px}.market-footer{gap:8px;min-height:37px}.market-footer p{font-size:12px;line-height:1.3}.hand-section{padding:15px 1px 0}.hand-header .text-button{display:none}.hand-cards{gap:6px;min-height:0;margin:7px 0 10px;padding:7px 3px}.game-card.small{width:72px;height:103px}.small .card-art{height:63px}.small .card-art span{font-size:29px}.small .card-label{font-size:12px}.action-row{gap:10px;padding-top:10px}.basket-collection-icon{width:32px;height:32px;font-size:19px}.basket-collection small,.basket-collection strong{font-size:12px}.basket-controls button{width:28px;height:28px}.basket-controls span{text-align:center;min-width:12px}.action-buttons{grid-template-columns:1fr 1.3fr;gap:8px;width:100%;display:grid}.action-buttons button{min-height:44px;padding:10px 6px;font-size:12px}.empty-hand{padding:24px 0;font-size:12px}}.mobile-token-strip{display:none}@media (max-width:760px){.mobile-token-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.mobile-token{border:1px solid var(--line);background:#fbf9f4;border-radius:5px;justify-content:center;align-items:center;gap:3px;min-width:0;padding:5px 2px;display:flex}.mobile-token .token-icon{flex-shrink:0;width:18px;height:18px;font-size:12px}.mobile-token-name{color:#8c8275;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mobile-token strong{font-family:Playfair Display,serif;font-size:12px}.hand-section{padding-top:12px}}@media (max-width:400px){.mobile-token-name{display:none}.mobile-token{gap:5px}}.basket-silhouette{background:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask:url(/basket.svg) 50%/contain no-repeat;mask:url(/basket.svg) 50%/contain no-repeat}.card-art .basket-silhouette{width:58px;height:58px}.small .card-art .basket-silhouette{width:44px;height:44px}.basket-collection-icon .basket-silhouette{width:25px;height:25px}.big-basket .basket-silhouette{width:1em;height:1em}@media (min-width:761px){.sidebar,.breadcrumb,.desktop-help,.top-actions .new-game,.heading-row,.right-column,footer,.market-panel .section-kicker,.hand-section .section-kicker,.hand-header .text-button{display:none!important}.main{width:100%}.topbar{background:#f7f4ec;height:58px;padding:0 max(24px,50% - 450px)}.topbar:before{content:"✺  FOREST EXCHANGE";letter-spacing:2px;color:#a65338;font-family:Playfair Display,serif;font-size:17px;font-weight:700}.mobile-info{padding:8px;display:flex!important}.content{max-width:900px;padding:24px 24px 32px}.table-layout{display:block}.market-cards{justify-content:center}.mobile-token-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.mobile-token{border:1px solid var(--line);background:#fbf9f4;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:8px;display:flex}.mobile-token-name{color:#8c8275;font-size:12px}.mobile-token strong{font-family:Playfair Display,serif;font-size:14px}.action-row{flex-direction:row;align-items:center}.action-buttons{align-self:auto}}@media (max-width:760px){.rival-right{gap:8px}.rival-right .score{padding-left:8px}.rival-right .score small{letter-spacing:0;white-space:nowrap;font-size:9px}.player-score strong{color:var(--rust)}}.market-cards,.hand-cards{justify-content:start;display:grid;overflow:visible}.market-cards{grid-template-columns:repeat(5,minmax(0,112px));min-height:0}.hand-cards{grid-template-columns:repeat(7,minmax(0,90px));min-height:0}.game-card,.game-card.small,.market-cards .game-card{aspect-ratio:1;justify-content:center;gap:2px;width:100%;min-width:0;max-width:none;height:auto;padding:5px}.card-art,.small .card-art,.market-cards .card-art{background:0 0;border:0;outline:0;flex:1;width:100%;height:auto;min-height:0;margin:0}.card-art span,.small .card-art span,.market-cards .card-art span{font-size:clamp(22px,5vw,42px);line-height:1}.card-art .basket-silhouette,.small .card-art .basket-silhouette{aspect-ratio:1;width:min(55%,48px);height:auto}.card-label,.small .card-label,.market-cards .card-label{margin:0 0 3px;font-size:12px;line-height:1}.sample-cards .game-card{width:90px;height:auto}@media (max-width:760px){.market-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.hand-cards{grid-template-columns:repeat(7,minmax(0,1fr))}.sample-cards .game-card{width:72px;height:auto}.hand-cards{display:flex;overflow-x:auto}.hand-cards .game-card{flex:0 0 64px}.market-cards .card-label{font-size:12px}.mobile-token-name{display:none}.market-footer{flex-wrap:wrap;padding:8px 0}.app-shell{min-height:100dvh}.main{flex-direction:column;display:flex}.topbar{flex:0 0 48px}.mobile-info{justify-content:center;align-items:center;min-width:44px;min-height:44px}.content{width:100%;padding-bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.table-layout,.play-area{flex-direction:column;flex:1;display:flex}.market-cards{gap:5px}.hand-section{flex-direction:column;flex:1;display:flex}.hand-cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:6px;margin:4px 0 8px;display:grid;overflow:visible}.hand-cards .game-card{width:100%;max-width:76px;min-height:44px}.action-row{margin-top:auto}.basket-controls button{width:44px;height:44px;font-size:20px}.basket-controls span{min-width:20px}.action-buttons button{min-height:48px;font-size:13px}.game-card:not(:disabled){touch-action:manipulation}}@media (max-width:760px) and (max-height:700px){.content{padding-top:6px}.market-panel{padding-top:8px}.market-panel .section-kicker,.hand-section .section-kicker,.section-top p{display:none}.market-cards{margin:4px 0}.mobile-token-strip{margin-top:6px}.hand-section{padding-top:6px}.hand-cards .game-card{max-width:64px}.action-row{gap:5px;padding-top:5px}}@media (max-width:760px) and (min-height:761px){.content{padding-top:clamp(12px,2dvh,20px)}.rival-bar{height:clamp(54px,7dvh,64px)}.market-panel{padding-top:clamp(14px,2dvh,20px)}.market-cards{margin-top:clamp(10px,1.8dvh,18px);margin-bottom:clamp(10px,1.8dvh,18px)}.market-footer{min-height:44px}.mobile-token-strip{margin-top:clamp(12px,2dvh,20px)}.mobile-token{padding-top:8px;padding-bottom:8px}.hand-section{padding-top:clamp(14px,2dvh,20px)}.hand-cards{gap:8px;margin-top:clamp(10px,1.5dvh,16px)}.hand-cards .game-card{max-width:84px}.action-row{gap:12px;padding-top:14px}.action-buttons button{min-height:52px}}.hand-stack{min-width:0;position:relative}.hand-stack .game-card{width:100%}.stack-count{color:#554b40;background:#ffffffd9;border-radius:10px;min-width:20px;padding:3px 5px;font:700 11px/1 DM Sans,sans-serif;position:absolute;top:4px;right:4px}.hand-stack .selected .stack-count{color:#fff;background:#a65338}@media (max-width:760px){.hand-stack .game-card{max-width:84px}}@media (max-width:760px) and (max-height:700px){.hand-stack .game-card{max-width:64px}}.hand-stack.has-multiple:before,.hand-stack.has-multiple:after{content:"";max-width:inherit;pointer-events:none;background:#eee5d7;border:1px solid #b8a996;border-radius:6px;position:absolute;inset:0}.hand-stack.has-multiple:before{transform:translate(4px,4px)}.hand-stack.has-multiple:after{background:#f8f1e6;transform:translate(2px,2px)}.hand-stack .game-card{z-index:1;position:relative}@media (max-width:760px){.hand-stack{max-width:84px}}@media (max-width:760px) and (max-height:700px){.hand-stack{max-width:64px}}@media (min-width:761px) and (max-width:1366px) and (orientation:landscape) and (max-height:900px){.app-shell{min-height:100dvh}.topbar{height:48px}.content{padding-top:10px;padding-bottom:max(10px, env(safe-area-inset-bottom))}.rival-bar{height:52px}.market-panel{padding-top:12px}.market-cards{grid-template-columns:repeat(5,minmax(0,90px));margin:10px 0}.market-footer{min-height:38px}.mobile-token-strip{margin-top:8px}.mobile-token{padding:5px}.hand-section{padding:10px 2px 0}.hand-cards{grid-template-columns:repeat(7,minmax(0,76px));margin:6px 0 8px}.action-row{padding-top:8px}.basket-controls button{width:44px;height:44px;font-size:20px}.action-buttons button{min-height:48px}}.stack-layer{aspect-ratio:1;pointer-events:none;border:1px solid #62493659;border-radius:6px;position:absolute;top:0;left:0;box-shadow:1px 1px 2px #6c584329}.honey{color:#a26922;background-color:#f4dda1}.berries{color:#81536d;background-color:#e6d3dd}.flowers{color:#a77d50;background-color:#f5e9d5}.acorns{color:#856443;background-color:#e5d5bc}.mushrooms{color:#a6634b;background-color:#ecd6ca}.pinecones{color:#667b52;background-color:#dbe2ce}.basket{color:#916b3e;background-color:#eadcc0}.card-art .basket-silhouette{opacity:1}.rival-avatar,.you-avatar{font-family:sans-serif;font-size:20px}.pinecone-icon{background:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask:url(/pinecone.svg) 50%/contain no-repeat;mask:url(/pinecone.svg) 50%/contain no-repeat}
