:root{color:#17211f;font-synthesis:none;background:#edf0ed;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#edf0ed;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}.app-shell{min-height:100vh}.app-bar{background:#f8faf8;border-bottom:1px solid #cfd6d1;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.brand{color:#17211f;align-items:center;gap:9px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#176b5d;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.account-strip{color:#59645f;align-items:center;gap:16px;font-size:13px;display:flex}.text-button{color:#176b5d;background:0 0;border:0;padding:5px;font-weight:700}.auth-screen,.lobby-screen,.game-screen{width:min(1380px,100% - 32px);margin:0 auto}.auth-screen{place-items:center;min-height:calc(100vh - 60px);padding:32px 0;display:grid}.auth-panel{background:#fbfcfb;border:1px solid #cfd6d1;border-radius:8px;width:min(100%,420px);padding:30px;box-shadow:0 14px 36px #17211f14}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:24px;font-size:29px}h2{letter-spacing:0;margin:0;font-size:17px}.eyebrow,.room-label{color:#6d7873;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.segmented,.action-segments{background:#e9eeea;border:1px solid #cfd6d1;border-radius:6px;padding:3px;display:grid}.segmented{grid-template-columns:1fr 1fr;margin-bottom:22px}.segmented button,.action-segments button{color:#64706b;background:0 0;border:0;border-radius:4px;min-height:36px;font-weight:700}.segmented button[aria-pressed=true],.action-segments button[aria-pressed=true]{color:#17211f;background:#fff;box-shadow:0 1px 3px #17211f24}form label{color:#34423e;gap:7px;margin-bottom:16px;font-size:13px;font-weight:700;display:grid}input{background:#fff;border:1px solid #b9c3bd;border-radius:5px;outline:none;width:100%;min-height:42px;padding:0 12px}input:focus,button:focus-visible{outline-offset:2px;outline:3px solid #176b5d38}.field-note,.account-warning,.action-panel p,.disabled-reason,.turn-controls p{color:#69756f;font-size:12px;line-height:1.5}.field-note{min-height:18px;margin:-6px 0 16px}.account-warning{text-align:center;margin:14px 0 0}.primary-button,.secondary-button{border-radius:5px;min-height:40px;padding:0 15px;font-weight:750}.primary-button{color:#fff;background:#176b5d;border:1px solid #176b5d}.secondary-button{color:#26332f;background:#f8faf8;border:1px solid #aebbb4}#auth-submit,#create-room-button{width:100%}.message{color:#a33f36;text-align:center;min-height:20px;margin:12px 0 0;font-size:12px;font-weight:650}.lobby-screen{padding:56px 0}.section-heading{margin-bottom:26px}.lobby-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.action-panel{background:#f8faf8;border:1px solid #cfd6d1;border-radius:8px;flex-direction:column;min-height:220px;padding:26px;display:flex}.action-panel p{flex:1}.action-number{color:#b95443;margin-bottom:24px;font-size:12px;font-weight:800}.join-row{grid-template-columns:1fr auto;gap:8px;display:grid}#room-code-input,#room-code,#waiting-room-code{letter-spacing:2px;text-transform:uppercase;font-family:ui-monospace,Cascadia Code,monospace}.game-screen{padding:10px 0 18px}.room-bar{background:#f8faf8;border:1px solid #cfd6d1;border-radius:6px;justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;display:flex}.room-bar>div{align-items:baseline;gap:10px;display:flex}.room-bar>div>span:last-child{color:#7a847f;font-size:11px}.room-label{margin:0}.goal-label{border-left:1px solid #ccd4cf;padding-left:10px;font-weight:750;color:#176b5d!important}.connection-state{color:#64706b;font-size:12px;font-weight:700}.connection-state:before{content:"";background:#d29a34;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.connection-state[data-state=online]:before{background:#2b8967}.connection-state[data-state=offline]:before{background:#c45049}.waiting-state{text-align:center;place-content:center;justify-items:center;min-height:520px;display:grid}.waiting-symbol{color:#176b5d;border:1px solid #b8c4bd;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:18px;font-size:26px;display:grid}.game-table{grid-template-columns:minmax(0,1fr) 288px;align-items:start;gap:8px;margin-top:8px;display:grid}.board-column{gap:7px;min-width:0;display:grid}.player-zone,.bank-panel,.market-board,.turn-controls{background:#f8faf8;border:1px solid #cfd6d1;border-radius:6px}.player-zone{grid-template-columns:1fr;gap:7px 12px;min-height:82px;padding:9px 12px;display:grid}.opponent-zone{background:#f3f5f3}.player-zone>header{align-items:baseline;gap:7px;display:flex;overflow:hidden}.player-zone>header span{color:#75807b;font-size:11px}.player-zone>header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-zone>header b{color:#176b5d;white-space:nowrap;font-size:11px}.resource-inventory{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-width:0;display:grid}.resource-inventory>span{color:#64706b;white-space:nowrap;border-left:2px solid #c4cdc8;min-width:0;padding:4px 5px;font-size:10px}.resource-inventory i,.resource-item i{background:#99a39e;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.asset-line{color:#5f6b66;grid-column:1/-1;grid-template-columns:1.2fr 1fr 1fr;gap:8px;min-width:0;font-size:10px;display:grid}.asset-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reserved-list{grid-column:1/-1;grid-template-columns:90px repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;display:grid}.reserved-list>strong,.reserved-list>span{color:#69756f;padding-top:7px;font-size:11px}.bank-panel{padding:9px 12px}.bank-panel>header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.bank-panel>header span{color:#176b5d;font-size:11px;font-weight:750}.resource-bank{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.resource-item{color:#5d6964;background:#fff;border:1px solid #d2d9d5;border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;height:50px;padding:5px;font-size:11px;display:grid}.resource-item strong{color:#17211f;font-size:17px}.resource-item.selected,.card-slot.selected{border-color:#176b5d;box-shadow:0 0 0 2px #176b5d29}.market-board{gap:7px;padding:8px 10px;display:grid}.tier-row{grid-template-columns:105px minmax(0,1fr);gap:7px;min-width:0;display:grid}.tier-row>header{align-content:center;gap:6px;display:grid}.tier-row>header strong{font-size:12px}.tier-row>header button{color:#53605b;background:#edf1ee;border:1px solid #c7d0cb;border-radius:4px;min-height:30px;padding:0 6px;font-size:10px}.market-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.card-slot{color:#17211f;text-align:left;background:#fff;border:1px solid #ced6d1;border-top:3px solid #697d75;border-radius:5px;align-content:space-between;gap:4px;min-width:0;min-height:94px;padding:7px 8px;display:grid}.card-slot:disabled{cursor:default;opacity:1}.tier-row:nth-child(2) .card-slot{border-top-color:#b48237}.tier-row:nth-child(3) .card-slot{border-top-color:#b75649}.card-slot header{color:#69756f;justify-content:space-between;font-size:9px;display:flex}.card-slot>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.card-cost,.card-slot footer{color:#596660;font-size:9px;line-height:1.3}.empty-card{text-align:center;color:#8a938f;place-content:center;border-top-color:#ced6d1!important}.turn-controls{align-content:start;gap:13px;min-height:360px;padding:14px;display:grid;position:sticky;top:8px}.turn-controls header{border-bottom:1px solid #d6dcd8;padding-bottom:10px}.action-segments{grid-template-columns:1fr 1fr;gap:2px}.action-segments button{min-height:38px;font-size:11px}.selection-summary{color:#52605a;background:#fff;border:1px solid #d6dcd8;border-radius:5px;align-content:start;gap:6px;min-height:100px;padding:10px;font-size:11px;line-height:1.5;display:grid}.turn-controls>.primary-button,.turn-controls>.secondary-button{width:100%}.disabled-reason{min-height:36px;margin:0}.waiting-control{padding:22px 4px}.discard-grid{gap:6px;display:grid}.discard-grid>div{grid-template-columns:1fr 28px 26px 28px;align-items:center;gap:3px;font-size:11px;display:grid}.discard-grid button{background:#fff;border:1px solid #c7d0cb;border-radius:4px;width:28px;height:28px}.discard-grid b{text-align:center}.evolution-list,.result-table{gap:6px;display:grid}.evolution-list button{text-align:left;background:#fff;border:1px solid #cad3ce;border-radius:5px;gap:4px;padding:8px;display:grid}.evolution-list button[aria-pressed=true]{background:#e7f0ed;border-color:#176b5d}.evolution-list strong{font-size:11px}.evolution-list span{color:#64706b;font-size:9px;line-height:1.35}.result-table>div{background:#fff;border:1px solid #d4dbd7;border-radius:5px;gap:3px;padding:8px;display:grid}.result-table strong{overflow-wrap:anywhere}.result-table span,.result-table b{color:#64706b;font-size:10px}.game-message{text-align:left}[data-resource=ember] i,[data-resource-color=ember] i{background:#cf594b}[data-resource=moss] i,[data-resource-color=moss] i{background:#478d65}[data-resource=tide] i,[data-resource-color=tide] i{background:#4d7db5}[data-resource=stone] i,[data-resource-color=stone] i{background:#727a80}[data-resource=wind] i,[data-resource-color=wind] i{background:#cca23d}[data-resource=wild] i,[data-resource-color=wild] i{background:#8564a3}@media (width<=1100px){.game-screen{width:calc(100% - 20px)}.game-table{grid-template-columns:minmax(0,1fr) 288px}.tier-row{grid-template-columns:82px minmax(0,1fr)}.card-slot{min-height:100px;padding:6px}.asset-line{grid-template-columns:1fr;gap:2px}}@media (width<=820px){.game-table{grid-template-columns:1fr}.turn-controls{min-height:auto;position:static}.lobby-grid{grid-template-columns:1fr}.resource-inventory,.resource-bank{grid-template-columns:repeat(3,minmax(0,1fr))}.tier-row{grid-template-columns:1fr}}@media (width<=560px){.app-bar{padding:0 12px}.auth-screen,.lobby-screen,.game-screen{width:calc(100% - 20px)}.auth-panel{padding:22px}.player-zone{grid-template-columns:1fr}.asset-line,.reserved-list{grid-column:1;grid-template-columns:1fr}.market-cards{grid-template-columns:1fr}.card-slot{min-height:92px}}
