:root{color:#263936;font-synthesis:none;--ink:#263936;--muted:#77837f;--cream:#f7f5ee;--paper:#fffdf8;--line:#dddcd3;--green:#126c60;--green-dark:#0b4b45;--gold:#d3a238;--shadow:0 18px 45px #1736311c;background:#f0eee7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eeece4;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{color:inherit}button:focus-visible,[role=button]:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #d3a238b8}button:disabled{cursor:not-allowed;opacity:.42}.eyebrow{color:#8a948f;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.app-shell{background:radial-gradient(circle at 55% 8%,#fffc,#0000 33%),#eeece4;min-height:100vh}.welcome-shell{background:#f6f2e8;grid-template-columns:minmax(390px,.9fr) minmax(470px,1.1fr);min-height:100vh;display:grid}.welcome-story{color:#f9f1dc;background:radial-gradient(circle at 90% 5%,#cda34142,#0000 29%),linear-gradient(148deg,#173f3a,#0b5d55 58%,#084941);flex-direction:column;min-height:100vh;padding:42px clamp(35px,6vw,88px);display:flex;position:relative;overflow:hidden}.welcome-brand{color:#fff8e9;align-self:flex-start}.story-copy{z-index:2;max-width:530px;margin:auto 0;padding:60px 0;position:relative}.story-copy .eyebrow{color:#d3ba77}.story-copy h1{color:#fff8e9;letter-spacing:-.045em;margin:14px 0 22px;font:700 clamp(46px,6.2vw,82px)/.98 Georgia,serif}.story-copy p{color:#f2f5eab8;max-width:475px;margin:0;font-size:15px;line-height:1.75}.story-facts{z-index:2;color:#fff9;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #ffffff26;gap:clamp(20px,4vw,52px);padding-top:24px;font-size:10px;display:flex;position:relative}.story-facts span{flex-direction:column;gap:5px;display:flex}.story-facts strong{color:#f3d68d;text-transform:none;letter-spacing:0;font:700 20px Georgia,serif}.story-hexes{opacity:.13;width:520px;height:420px;position:absolute;bottom:5%;right:-245px;transform:rotate(-7deg)}.story-hexes i{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#f5d789;width:180px;height:206px;position:absolute}.story-hexes i:nth-child(2){left:182px}.story-hexes i:nth-child(3){top:156px;left:91px}.story-hexes i:nth-child(4){top:156px;left:273px}.story-hexes i:nth-child(5){top:312px;left:182px}.welcome-panel{background:radial-gradient(circle at 50% 20%,#fffdf7,#eee9dd);place-items:center;padding:38px;display:grid}.join-card{background:#fffdf7e8;border:1px solid #c2c1b5b3;border-radius:22px;gap:21px;width:min(470px,100%);padding:clamp(25px,4vw,44px);display:grid;box-shadow:0 30px 70px #2839331f}.join-card h2{color:#244b43;margin:4px 0 8px;font:700 29px/1.15 Georgia,serif}.join-card>div>p{color:#84908b;margin:0;font-size:11px}.connection-pill{color:#447264;letter-spacing:.07em;text-transform:uppercase;background:#edf3ef;border-radius:99px;justify-self:start;align-items:center;gap:7px;padding:6px 9px;font-size:8px;font-weight:900;display:inline-flex}.connection-pill i{background:#61a574;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #61a5741f}.connection-pill.is-offline i,.connection-pill.is-reconnecting i,.connection-pill.is-connecting i,.connection-pill.is-idle i{background:#d09c3f;animation:1.1s infinite pulse}.connection-pill.compact{padding:5px 8px}.connection-pill.compact.is-connected{background:#e9f3ed}@keyframes pulse{50%{opacity:.35}}.mode-switch{background:#efeee8;border-radius:11px;gap:5px;padding:5px;display:flex}.mode-switch button{color:#77847f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;padding:10px;font-size:10px;font-weight:800}.mode-switch button.active{color:var(--green);background:#fff;border-color:#d7d6cd;box-shadow:0 3px 9px #263c3514}.welcome-field,.profile-editor label{color:#687772;letter-spacing:.08em;text-transform:uppercase;gap:7px;font-size:9px;font-weight:900;display:grid}.welcome-field input,.profile-editor input{color:#29423c;text-transform:none;background:#fff;border:1px solid #d4d5cc;border-radius:9px;outline:none;width:100%;padding:13px 14px;font-size:12px}.welcome-field input:focus,.profile-editor input:focus{border-color:#6e9d8e;box-shadow:0 0 0 3px #4b826f1c}.color-field{border:0;margin:0;padding:0}.color-field legend{color:#687772;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:900}.color-field>div{gap:9px;display:flex}.color-field button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:35px;height:35px;padding:0;display:grid}.color-field button i{background:var(--swatch);border-radius:50%;width:25px;height:25px;box-shadow:inset 0 0 0 1px #0000001a}.color-field button.selected{border-color:var(--swatch)}.color-field button.selected i{width:21px;height:21px;box-shadow:inset 0 0 0 3px #ffffffa6}.welcome-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#126c60,#0b5048);border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 17px;font-size:11px;font-weight:900;display:flex;box-shadow:0 8px 18px #0e5b5130}.welcome-submit span{font-size:19px}.privacy-note{color:#969d9a;text-align:center;font-size:8px}.form-error{color:#9f4a3c;background:#fff0eb;border-radius:7px;margin:-7px 0;padding:9px 11px;font-size:9px;line-height:1.4}.restore-shell{background:radial-gradient(circle,#fdfaf2,#eae6dc);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.restore-shell .brand-mark{margin-bottom:18px}.restore-shell h1{color:#284a43;margin:7px 0 20px;font:700 28px Georgia,serif}.restore-loader{gap:6px;display:flex}.restore-loader i{background:#177065;border-radius:50%;width:7px;height:7px;animation:1s infinite alternate restore-dot}.restore-loader i:nth-child(2){animation-delay:.2s}.restore-loader i:nth-child(3){animation-delay:.4s}@keyframes restore-dot{to{opacity:.4;transform:translateY(-7px)}}.lobby-shell{background:radial-gradient(circle at 50% 0,#fffef9,#ebe8df 60%);min-height:100vh}.lobby-topbar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdf8e0;border-bottom:1px solid #dad9d0;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,5vw,68px);display:flex}.lobby-content{width:min(1180px,100% - 40px);margin:auto;padding:48px 0 70px}.lobby-heading{justify-content:space-between;align-items:flex-start;margin-bottom:25px;display:flex}.lobby-heading h1{color:#28483f;margin:7px 0 8px;font:700 clamp(28px,4vw,42px) Georgia,serif}.lobby-heading p{color:#7f8b87;margin:0;font-size:11px}.leave-button{color:#7e8985;cursor:pointer;background:#faf9f4;border:1px solid #d5d4cb;border-radius:8px;padding:9px 12px;font-size:9px}.invite-card{color:#fff;background:linear-gradient(125deg,#164f48,#0b655a);border-radius:16px;grid-template-columns:180px 1fr auto;align-items:center;gap:25px;min-height:100px;padding:20px 24px;display:grid;box-shadow:0 18px 36px #1548412e}.invite-card>div{flex-direction:column;gap:5px;display:flex}.invite-card>div span{color:#a8cec5;text-transform:uppercase;letter-spacing:.13em;font-size:8px;font-weight:900}.invite-card strong{letter-spacing:.14em;font:700 29px Georgia,serif}.invite-card p{color:#c7ddd7;font-size:10px;line-height:1.55}.invite-card button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;padding:11px 14px;font-size:9px;font-weight:900}.lobby-grid{grid-template-columns:1fr 310px;gap:24px;margin-top:25px;display:grid}.seat-section,.profile-editor,.ready-panel,.host-panel{background:#fffef9e0;border:1px solid #d9d8cf;border-radius:15px;box-shadow:0 10px 28px #2a3d370f}.seat-section{padding:22px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.section-heading h2{color:#355048;margin:5px 0 0;font:700 20px Georgia,serif}.section-heading>span{color:#7f8b87;font-size:9px}.seat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seat-card{--seat-color:#156f62;background:#fffdf8;border:1px solid #dcdbd2;border-radius:11px;grid-template-columns:47px 1fr auto;align-items:center;gap:11px;min-height:94px;padding:12px;display:grid}.seat-card.is-you{border-color:color-mix(in srgb,var(--seat-color) 45%,#ddd);box-shadow:inset 3px 0 var(--seat-color)}.seat-avatar{background:color-mix(in srgb,var(--seat-color) 13%,white);width:43px;height:43px;color:var(--seat-color);border-radius:11px;place-items:center;font:800 18px Georgia,serif;display:grid}.seat-card>div:nth-child(2){flex-direction:column;gap:4px;display:flex}.seat-card>div:nth-child(2) strong{font-size:11px}.seat-card small{color:#397262;text-transform:uppercase;background:#e5f0eb;border-radius:3px;margin-left:6px;padding:2px 4px;font-size:6px}.seat-card>div:nth-child(2) span{color:#8d9693;font-size:8px}.seat-actions{justify-items:end;gap:6px;display:grid}.ready-badge{color:#949895;background:#f0eee8;border-radius:99px;padding:5px 7px;font-size:7px;font-weight:900}.ready-badge.ready{color:#4e8162;background:#e6f1ea}.kick-button{color:#a16a5f;cursor:pointer;background:0 0;border:0;padding:2px 3px;font-size:7px;text-decoration:underline}.kick-confirm{gap:4px;display:flex}.kick-confirm button{color:#747e7a;cursor:pointer;background:#fff;border:1px solid #d8d5cc;border-radius:5px;padding:4px 6px;font-size:7px}.kick-confirm button.danger{color:#a14537;background:#fff0ed;border-color:#ddb7af}.seat-card.empty{opacity:.62;background:0 0;border-style:dashed;grid-template-columns:42px 1fr}.seat-card.empty>div{color:#9ba09d;background:#eeece6;border-radius:50%;place-items:center;width:40px;height:40px;font-size:17px;display:grid}.seat-card.empty>strong{font-size:10px}.seat-card.empty>span{color:#9ba19e;grid-column:2;font-size:8px}.lobby-sidebar{align-content:start;gap:12px;display:grid}.profile-editor,.ready-panel,.host-panel{padding:18px}.profile-editor{gap:15px;display:grid}.profile-save{color:#23695b;cursor:pointer;background:#f0f7f3;border:1px solid #cbd8d2;border-radius:8px;padding:10px;font-size:9px;font-weight:900}.ready-panel h3,.host-panel h3{color:#355049;margin:5px 0;font:700 17px Georgia,serif}.ready-panel p,.host-panel p{color:#858f8c;margin:5px 0 13px;font-size:8px;line-height:1.5}.ready-panel button,.host-panel button{color:#fff;cursor:pointer;background:#116b5f;border:0;border-radius:8px;width:100%;padding:11px;font-size:9px;font-weight:900}.ready-panel button.unready{color:#747e7a;background:#eeeae0}.host-panel{background:#fff7e4;border-color:#dbc996}.host-panel button{background:#b88a2c;justify-content:space-between;display:flex}.host-panel p{text-align:center;color:#93805c;margin:10px 0 0}.timer-panel{background:#fffef9e0;border:1px solid #d9d8cf;border-radius:15px;padding:18px;box-shadow:0 10px 28px #2a3d370f}.timer-panel h3{color:#355049;margin:5px 0;font:700 17px Georgia,serif}.timer-fields{gap:6px;margin:12px 0;display:grid}.timer-fields label{background:#f4f2eb;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.timer-fields label>span{display:flex}.timer-fields label>span:first-child{flex-direction:column;flex:1;gap:2px}.timer-fields strong{font-size:8px}.timer-fields small{color:#8a938f;font-size:6px}.timer-control{justify-content:flex-end;align-items:center;gap:6px}.timer-value{align-items:center;gap:4px}.timer-fields input{color:#334943;text-align:right;background:#fff;border:1px solid #d4d3ca;border-radius:5px;width:48px;padding:5px;font-size:9px}.timer-value small{text-transform:uppercase}.timer-adjustments{grid-template-columns:repeat(2,30px);gap:3px;display:grid}.timer-adjustments button{color:#46655d;cursor:pointer;background:#fffdf8;border:1px solid #d4d3ca;border-radius:4px;min-height:20px;padding:0;font-size:7px;font-weight:900}.timer-adjustments button:hover{background:#edf6f1;border-color:#85a99b}.timer-adjustments button:focus-visible{outline-offset:1px;outline:2px solid #4b8a78}.trade-offer-banner{z-index:55;background:#fffaf0;border:1px solid #d8c792;border-radius:13px;flex-direction:column;gap:10px;width:min(960px,100% - 28px);padding:12px 14px;animation:.25s toast-in;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #2637303d}.trade-offer-banner.incoming{background:#f6fcf8;border-color:#93b8a9;width:min(840px,100% - 28px)}.offer-summary{grid-template-columns:44px 180px 1fr;align-items:center;gap:13px;display:grid}.offer-avatar{color:#17685b;background:#dceee7;border-radius:10px;place-items:center;width:40px;height:40px;font:800 16px Georgia,serif;display:grid}.offer-heading{flex-direction:column;gap:3px;display:flex}.offer-heading strong{font-size:10px}.offer-contents{grid-template-columns:1fr 24px 1fr;align-items:center;gap:8px;display:grid}.offer-contents>span{flex-direction:column;gap:2px;display:flex}.offer-contents small{color:#8b9490;text-transform:uppercase;font-size:7px}.offer-contents strong{font-size:9px}.offer-contents svg{color:#a67e2f;width:18px}.recipient-response{border-top:1px solid #dce7df;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;display:flex}.response-state{color:#76827e;font-size:8px;font-weight:800}.response-state.is-accepted{color:#17685b}.response-state.is-declined{color:#9a6258}.response-state.is-countered{color:#866721}.offer-actions{gap:6px;display:flex}.offer-actions button{cursor:pointer;border-radius:7px;padding:9px 11px;font-size:8px;font-weight:900}.offer-actions .decline{color:#78827e;background:#fff;border:1px solid #d8d5ca}.offer-actions .counter{color:#866721;background:#fff8e6;border:1px solid #b9aa7b}.offer-actions .accept{color:#fff;background:#116b5f;border:0}.offer-response-list{border-top:1px solid #e2d8b9;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:9px;display:grid}.offer-response{text-align:left;background:#fffdf8;border:1px solid #dfddd4;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-width:0;padding:7px 9px;display:grid}.offer-response:disabled{opacity:1;cursor:default}.offer-response.is-accepted,.offer-response.is-countered{cursor:pointer}.offer-response.is-accepted{background:#f0faf5;border-color:#99c2b3}.offer-response.is-countered{background:#fffaea;border-color:#d8c58e}.offer-response.is-declined{color:#89908d;background:#f4f1ed}.response-avatar{color:#477064;background:#e9eee9;border-radius:7px;place-items:center;width:27px;height:27px;font:800 11px Georgia,serif;display:grid}.offer-response>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.offer-response strong{font-size:9px}.offer-response small{text-overflow:ellipsis;white-space:nowrap;color:#7f8985;font-size:7px;overflow:hidden}.offer-response b{color:#17685b;font-size:7px}.cancel-open-offer{color:#8d6a5f;cursor:pointer;background:0 0;border:0;align-self:flex-end;font-size:8px;font-weight:800;text-decoration:underline}.topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8ed;border-bottom:1px solid #d8d8ce;grid-template-columns:242px 1fr auto;align-items:center;height:72px;padding:0 22px;display:grid;position:sticky;top:0}.brand{color:var(--green-dark);letter-spacing:.13em;align-items:center;gap:12px;font-family:Georgia,serif;font-weight:900;text-decoration:none;display:flex}.brand-mark{width:35px;height:34px;display:block;position:relative}.brand-mark i{background:var(--green);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:21px;height:24px;position:absolute}.brand-mark i:first-child{background:#d5a33b;top:9px;left:0}.brand-mark i:nth-child(2){top:9px;right:0}.brand-mark i:last-child{background:#73a26a;top:0;left:7px}.room-info{text-align:center;justify-self:center;line-height:1.25}.room-info span{margin-bottom:2px;display:block}.room-info strong{color:#344a45;font-family:Georgia,serif;font-size:16px}.room-info i{color:#c4a363;padding:0 4px;font-style:normal}.topbar-actions{align-items:center;gap:15px;display:flex}.invite-button,.quick-start{color:var(--green);cursor:pointer;background:#f5faf6;border:1px solid #c9d5cd;border-radius:9px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:800;display:flex}.invite-button svg,.quick-start svg{width:16px;height:16px}.profile-chip{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:14px;display:flex}.profile-chip>div{color:#fff;background:#166e61;border-radius:50%;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-weight:800;display:grid}.profile-chip span{flex-direction:column;line-height:1.2;display:flex}.profile-chip small{color:#8b9491;font-size:9px}.profile-chip strong{font-size:12px}.game-layout{grid-template-columns:240px minmax(640px,1fr) 250px;min-height:calc(100vh - 72px);display:grid}.player-rail,.side-panel{background:#faf9f3d1}.player-rail{border-right:1px solid #d9d8cf;flex-direction:column;min-height:calc(100vh - 72px);padding:18px 14px;display:flex}.rail-heading,.panel-heading{text-transform:uppercase;letter-spacing:.11em;color:#7c8783;justify-content:space-between;align-items:center;padding:0 6px 12px;font-size:10px;font-weight:900;display:flex}.online-label{color:#4e8b65;align-items:center;gap:5px;display:flex}.online-label i{background:#59a86d;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #59a86d21}.player-list{gap:7px;display:grid}.player-card{--player-color:#156f62;border:1px solid #0000;border-radius:12px;grid-template-columns:38px 1fr 35px;align-items:center;gap:9px;min-height:66px;padding:8px;transition:all .2s;display:grid;position:relative}.player-card.is-active{border-color:color-mix(in srgb, var(--player-color) 45%, #e1ded1);background:#fffef9;box-shadow:0 6px 18px #1a393317}.player-card.is-active:before{content:"";background:var(--player-color);border-radius:0 4px 4px 0;width:4px;height:36px;position:absolute;top:15px;left:-15px}.player-card.is-offline{filter:grayscale(.55);opacity:.62}.player-card.is-offline.is-active{border-style:dashed}.host-pill,.offline-pill{text-transform:uppercase;border-radius:4px;padding:2px 4px;font-size:6px;font-weight:900}.host-pill{color:#8d6b29;background:#f1e7c9}.offline-pill{color:#7e8582;background:#ece9e3}.avatar{background:color-mix(in srgb, var(--player-color) 14%, white);width:36px;height:36px;color:var(--player-color);border:1px solid color-mix(in srgb, var(--player-color) 34%, white);border-radius:10px;place-items:center;font-family:Georgia,serif;font-weight:900;display:grid}.player-name-line{align-items:center;gap:6px;display:flex}.player-name-line strong{font-size:12px}.role-pill{color:#fff;background:#527b74;border-radius:4px;padding:2px 4px;font-size:8px}.role-2{background:#bd8c35}.player-meta{color:#89928f;flex-wrap:wrap;gap:4px 7px;margin-top:5px;font-size:8px;display:flex}.player-meta span{align-items:center;gap:2px;display:flex}.player-meta svg{width:10px;height:10px}.piece-supply{color:#557a70;white-space:nowrap;margin-left:3px;font-size:7px;font-weight:900}.score-orb{text-align:center;background:#f1eee4;border-radius:50%;place-content:center;width:32px;height:32px;font-size:13px;font-weight:900;line-height:.8;display:grid}.is-active .score-orb{background:color-mix(in srgb, var(--player-color) 12%, white);color:var(--player-color)}.score-orb small{letter-spacing:.07em;margin-top:4px;font-size:6px}.player-awards{color:#b88829;display:flex;position:absolute;top:3px;right:4px}.player-awards svg{width:11px;height:11px}.rail-footnote{border-top:1px solid var(--line);color:#78847f;align-items:center;gap:8px;margin-top:auto;padding:15px 7px 2px;font-size:10px;display:flex}.rail-footnote svg{color:#b68b34;width:16px}.game-center{flex-direction:column;gap:12px;min-width:0;padding:17px 20px 28px;display:flex}.game-statusbar{justify-content:space-between;align-items:flex-end;min-height:43px;padding:0 4px;display:flex}.game-statusbar h1{color:#29453f;margin:3px 0 0;font-family:Georgia,serif;font-size:22px}.status-actions{align-items:center;gap:10px;display:flex}.turn-timer{color:#77837f;background:#fffdf7;border:1px solid #d9d4c5;border-radius:8px;align-items:center;gap:7px;min-width:72px;padding:5px 9px;display:flex}.turn-timer span{text-transform:uppercase;letter-spacing:.08em;font-size:7px;font-weight:900}.turn-timer strong{color:#36504a;font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.turn-timer.is-urgent{background:#fff4f0;border-color:#d9907f;animation:1s ease-in-out infinite timer-pulse}.turn-timer.is-urgent strong{color:#b44737}@keyframes timer-pulse{50%{box-shadow:0 0 0 4px #b4473717}}.quick-start{color:#926c21;background:#fffaf0;border-color:#e2d1ac;padding:8px 11px}.text-button{color:#7a8582;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800;text-decoration:underline}.danger-text-button{color:#a24536;cursor:pointer;background:#fff0ec;border:1px solid #e0b4aa;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:900}.board-card{height:min(61vh,660px);min-height:510px;box-shadow:var(--shadow);isolation:isolate;background:#0c5762;border:1px solid #ffffffd1;border-radius:18px;position:relative;overflow:hidden}.game-board{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.game-board.is-panning{cursor:grabbing}.hex-tile,.board-edge,.board-vertex{cursor:pointer}.hex-tile:focus,.board-edge:focus,.board-vertex:focus{outline:none}.hex-tile:focus-visible polygon,.board-edge:focus-visible .legal-road,.board-vertex:focus-visible .legal-vertex{filter:url(#target-glow)brightness(1.12)}.hex-tile polygon{transition:filter .16s,stroke-width .16s,opacity .16s}.hex-tile:hover polygon{filter:brightness(1.06)}.hex-tile.is-legal polygon{animation:1.8s ease-in-out infinite target-breathe}.hex-tile.is-roll-match polygon{stroke:#fff3a7;stroke-width:8px;filter:url(#target-glow)brightness(1.16);animation:3.2s both roll-hex}@keyframes roll-hex{0%,to{opacity:1}18%,52%,84%{opacity:.72}35%,68%{opacity:1}}.legal-road,.legal-vertex,.city-target-halo,.city-target-building{pointer-events:none;animation:1.45s ease-in-out infinite target-breathe}.legal-road{animation-name:road-target-breathe}@keyframes target-breathe{0%,to{opacity:.58}50%{opacity:1}}@keyframes road-target-breathe{0%,to{opacity:.82}50%{opacity:1}}.terrain-motif{pointer-events:none}.resource-glyph{pointer-events:none;filter:drop-shadow(0 2px 2px #2e281d40)}.number-token{pointer-events:none}.robber{filter:drop-shadow(0 3px 3px #00000059);pointer-events:none}.port{pointer-events:none;filter:drop-shadow(0 3px 3px #0b2f3433)}.dice-reveal{z-index:8;background:#fffdf6f5;border:1px solid #ffffffe6;border-radius:13px;flex-direction:column;align-items:center;gap:6px;padding:10px 15px 12px;animation:.35s cubic-bezier(.2,.9,.25,1.25) dice-pop;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #032a2f45}.dice-reveal>div{align-items:center;gap:8px;display:flex}.dice-reveal>div>strong{color:#325049;margin-left:3px;font:900 23px Georgia,serif}.die{background:#fff;border:1px solid #d3cbbb;border-radius:8px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:38px;height:38px;padding:7px;display:grid;box-shadow:inset 0 -3px #e8e2d6,0 4px 8px #2a322e1f}.die i{border-radius:50%;place-self:center;width:6px;height:6px}.die i.is-pip{background:#29433e}@keyframes dice-pop{0%{opacity:0;transform:translate(-50%,-12px)scale(.78)rotate(-3deg)}}.production-flight{z-index:7;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;width:min(520px,100% - 40px);display:flex;position:absolute;top:110px;left:50%;transform:translate(-50%)}.production-flight span{--resource-color:#777;border:1px solid color-mix(in srgb,var(--resource-color) 35%,white);color:#435650;opacity:0;background:#fffdf7f5;border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:8px;font-weight:900;animation:2.6s .65s forwards resource-fly;display:flex;box-shadow:0 8px 20px #032a2f33}.production-flight i{background:var(--resource-color);border-radius:50%;width:9px;height:9px}.production-flight b{color:var(--resource-color);font-weight:900}@keyframes resource-fly{0%{opacity:0;transform:translateY(24px)scale(.7)}18%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-26px)scale(.92)}}.board-instruction{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf6ed;border:1px solid #ffffffad;border-radius:11px;align-items:center;gap:10px;max-width:310px;min-height:48px;padding:9px 14px 9px 11px;display:flex;position:absolute;top:15px;left:16px;box-shadow:0 8px 20px #032a2f33}.board-instruction>span{background:#8c9995;border-radius:50%;flex:none;width:9px;height:9px}.board-instruction .instruction-pulse{background:#d6a43c;animation:1.5s infinite dot-pulse;box-shadow:0 0 0 6px #d6a43c26}@keyframes dot-pulse{50%{box-shadow:0 0 0 10px #d6a43c00}}.board-instruction div{flex-direction:column;gap:2px;display:flex}.board-instruction strong{color:#334943;font-size:11px}.board-instruction small{color:#85908c;font-size:8px}.board-tools{z-index:5;background:#fffdf6e6;border-radius:9px;display:flex;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 6px 18px #032a2f2e}.board-tools button{cursor:pointer;background:0 0;border:0;border-right:1px solid #dddcd3;width:36px;height:36px;padding:9px}.board-tools button:hover{background:#fff}.board-tools button:last-child{border:0}.board-tools .fit-button{color:#58706a;width:auto;padding:0 11px;font-size:9px;font-weight:900}.board-legend{color:#ffffffc7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05363d7a;border-radius:7px;align-items:center;gap:14px;padding:7px 10px;font-size:8px;display:flex;position:absolute;bottom:14px;left:17px}.board-legend span{align-items:center;gap:5px;display:flex}.board-legend i{display:block}.legend-settlement{clip-path:polygon(50% 0,100% 45%,100% 100%,0 100%,0 45%);background:#f1e2bd;width:10px;height:10px}.legend-city{clip-path:polygon(0 35%,35% 35%,35% 0,70% 0,70% 35%,100% 35%,100% 100%,0 100%);background:#f1e2bd;width:11px;height:10px}.legend-road{background:#f1e2bd;border-radius:4px;width:13px;height:3px}.resource-hand{grid-template-columns:87px 1fr;align-items:center;gap:10px;display:grid}.hand-heading{flex-direction:column;padding-left:4px;display:flex}.hand-heading span{text-transform:uppercase;letter-spacing:.1em;color:#7b8782;font-size:9px;font-weight:900}.hand-heading strong{margin-top:2px;font-family:Georgia,serif;font-size:12px}.resource-cards{gap:7px;min-width:0;display:flex}.resource-card{--resource-color:#777;background:#fffdf8;border:1px solid #dedbd1;border-radius:10px;flex:1;grid-template-rows:1fr 1fr;grid-template-columns:38px 1fr auto;align-items:center;min-width:76px;max-width:135px;height:62px;padding:7px 9px 7px 6px;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 12px #293d380f}.resource-card:after{content:"";background:var(--resource-color);width:3px;position:absolute;top:0;bottom:0;left:0}.resource-card>span{color:#7c8582;align-self:end;font-size:8px;font-weight:800}.resource-card>strong{color:#384d48;grid-area:1/3/3;font-family:Georgia,serif;font-size:21px}.resource-art{width:31px;height:40px;color:var(--resource-color);grid-row:1/3;justify-content:center;align-items:flex-end;display:flex;position:relative}.resource-art i{background:var(--resource-color);opacity:.75;display:block;position:absolute}.resource-brick .resource-art{grid-template-columns:1fr 1fr;gap:2px;padding:7px 2px;display:grid}.resource-brick .resource-art i{border-radius:1px;position:static}.resource-lumber .resource-art i{clip-path:polygon(50% 0,100% 100%,0 100%);width:15px;height:25px;bottom:6px}.resource-lumber .resource-art i:nth-child(2){height:18px;left:0}.resource-lumber .resource-art i:nth-child(3){height:20px;right:0}.resource-wool .resource-art i{border-radius:50%;width:18px;height:18px;bottom:8px}.resource-wool .resource-art i:nth-child(2){bottom:4px;left:0}.resource-wool .resource-art i:nth-child(3){bottom:4px;right:0}.resource-wool .resource-art i:nth-child(4){width:23px;height:14px;bottom:0}.resource-grain .resource-art i{border-radius:5px;width:4px;height:30px;bottom:3px;transform:rotate(-14deg)}.resource-grain .resource-art i:nth-child(2){height:36px;transform:none}.resource-grain .resource-art i:nth-child(3){transform:rotate(14deg)}.resource-ore .resource-art i{clip-path:polygon(50% 0,100% 32%,82% 100%,17% 88%,0 30%);width:20px;height:20px;bottom:5px}.resource-ore .resource-art i:nth-child(2){width:16px;height:16px;left:0}.resource-ore .resource-art i:nth-child(3){width:16px;height:17px;right:0}.development-stack{color:#f4e6bf;text-align:center;background:repeating-linear-gradient(45deg,#153f3a 0 5px,#1b5149 5px 10px);border:4px double #d3b975;border-radius:10px;flex:none;place-content:center;width:76px;height:68px;display:grid;box-shadow:-4px 4px #e6dfcc}.development-stack span{letter-spacing:.13em;font-size:9px}.development-stack strong{font-family:Georgia,serif;font-size:23px}.development-hand{color:#7b8582;align-items:center;gap:12px;font-size:9px;display:flex}.development-hand>span{text-transform:uppercase;letter-spacing:.1em;font-weight:900}.development-hand>div{gap:5px;display:flex}.development-hand button{text-transform:capitalize;cursor:pointer;background:#fffdf7;border:1px solid #d8d4c8;border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:9px 12px;font-size:10px;font-weight:800;display:flex}.development-hand svg{width:18px;height:18px;color:var(--green)}.action-dock{background:#fffdf8f2;border:1px solid #d8d7ce;border-radius:13px;align-items:stretch;gap:7px;min-height:72px;padding:8px;display:flex;box-shadow:0 10px 25px #223c3617}.action-dock button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;transition:all .16s}.action-dock.is-waiting{opacity:.68;box-shadow:none}.action-dock button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.55}.action-dock button:hover:not(:disabled),.action-dock button.is-selected{background:#f0f6f1;border-color:#bdd2c7}.build-actions{flex:1;gap:4px;display:flex}.build-actions button{text-align:left;flex:1;align-items:center;gap:8px;min-width:102px;padding:5px 8px;display:flex}.build-actions svg,.secondary-action svg{width:22px;height:22px;color:var(--green);flex:none}.build-actions button>span,.secondary-action>span,.end-action>span,.primary-action>span{flex-direction:column;gap:3px;display:flex}.action-dock strong{font-size:10px}.action-dock small{color:#8b9692;font-size:7px}.cost-row{gap:3px;display:flex}.cost-dot{color:#fff;border-radius:50%;place-items:center;width:13px;height:13px;font-size:7px;font-style:normal;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.resource-bg-brick{background:#bb5b45}.resource-bg-lumber{background:#34745c}.resource-bg-wool{background:#8eae62}.resource-bg-grain{background:#d7a63e}.resource-bg-ore{background:#6d7781}.dock-divider{background:#deddd4;width:1px;margin:4px 2px}.secondary-action{text-align:left;align-items:center;gap:7px;width:93px;padding:5px 8px;display:flex}.end-action{color:#fff;justify-content:space-between;align-items:center;width:83px;padding:5px 9px;display:flex;background:var(--green-dark)!important}.end-action small{color:#b8d1ca}.end-action svg{width:17px}.primary-action{color:#fff;flex:1;justify-content:center;align-items:center;gap:12px;display:flex;box-shadow:0 7px 15px #0e544c38;background:linear-gradient(135deg,#157267,#0d544c)!important;border:0!important}.primary-action svg{width:30px;height:30px}.primary-action small{color:#c4dbd6}.side-panel{border-left:1px solid #d9d8cf;flex-direction:column;gap:12px;padding:18px 14px;display:flex}.last-roll-card,.inspect-card,.activity-card,.bank-card,.dice-statistics-card{background:#fffef9de;border:1px solid #dcdad1;border-radius:12px;padding:14px}.last-roll{color:#818c88;grid-template-columns:16px 1fr auto;align-items:center;gap:6px;font-size:9px;display:grid}.last-roll svg{color:#ae842f;width:15px}.last-roll strong{color:#344943;font-family:Georgia,serif;font-size:17px}.dice-statistics-card{padding:12px 14px}.dice-statistics-card .panel-heading{padding:0 0 8px}.dice-statistics-card .panel-heading strong{color:#87918d;font-size:7px}.dice-statistics{gap:3px;display:grid}.dice-statistics>div{grid-template-columns:14px 1fr 18px 34px;align-items:center;gap:5px;min-height:10px;display:grid}.dice-statistics strong{color:#455b55;text-align:right;font:800 8px Georgia,serif}.dice-statistics span{background:#ebe8df;border-radius:99px;height:5px;overflow:hidden}.dice-statistics i{background:linear-gradient(90deg,#d0a43f,#167064);border-radius:99px;min-width:0;height:100%;display:block}.dice-statistics b{color:#465b55;text-align:right;font-size:7px}.dice-statistics small{color:#8a938f;text-align:right;font-size:7px}.bank-card .panel-heading{padding-bottom:9px}.bank-card .panel-heading>strong{color:#8a928f;text-transform:uppercase;font-size:7px}.bank-resources{grid-template-columns:1fr 1fr;gap:5px;display:grid}.bank-resources>div{--resource-color:#777;background:#f3f1e9;border-radius:7px;grid-template-columns:8px 1fr auto;align-items:center;gap:5px;min-width:0;padding:6px 7px;display:grid}.bank-resources i{background:var(--resource-color);border-radius:50%;width:8px;height:8px}.bank-resources span{text-overflow:ellipsis;color:#737f7b;font-size:7px;overflow:hidden}.bank-resources strong{color:#344943;font:900 10px Georgia,serif}.inspect-card strong{margin-top:6px;font-family:Georgia,serif;display:block}.inspect-card p{color:#7b8682;margin:4px 0 0;font-size:10px;line-height:1.5}.activity-card{flex-direction:column;flex:1;min-height:215px;display:flex}.activity-card .panel-heading{padding:0 0 12px}.event-count{background:#efeee8;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.activity-list{scrollbar-gutter:stable;align-content:start;gap:11px;max-height:360px;padding:2px 6px 8px 0;display:grid;overflow-y:auto}.empty-activity{text-align:center;color:#929c98;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:135px;font-size:9px;line-height:1.5;display:flex}.empty-activity svg{color:#b8ad8b;width:26px}.activity-item{color:#687672;grid-template-columns:7px 1fr;align-items:start;gap:8px;font-size:9px;line-height:1.4;display:grid}.activity-item i{background:#c6a159;border-radius:50%;width:6px;height:6px;margin-top:3px;box-shadow:0 0 0 3px #f4ecd9}.award-strip{gap:6px;display:grid}.award-strip>div{background:#f8f2e4;border:1px solid #dfd9c8;border-radius:9px;grid-template-rows:1fr 1fr;grid-template-columns:25px 1fr;align-items:center;min-height:45px;padding:7px 9px;display:grid}.award-strip svg{color:#aa812e;grid-row:1/3;width:18px}.award-strip span{text-transform:uppercase;letter-spacing:.08em;color:#91866c;font-size:7px}.award-strip strong{font-size:9px}.phase-prompt{background:#fff9e9;border:1px solid #dacda8;border-radius:12px;align-items:center;gap:20px;padding:12px 14px;display:flex;box-shadow:0 6px 16px #55431912}.phase-prompt>div:first-child{flex-direction:column;min-width:160px;display:flex}.phase-prompt>div:first-child strong{margin-top:2px;font-family:Georgia,serif;font-size:13px}.prompt-options,.resource-choice-row{flex:1;gap:6px;display:flex}.prompt-options button,.resource-choice-row button{cursor:pointer;background:#fff;border:1px solid #d8d0ba;border-radius:7px;flex:1;justify-content:space-between;align-items:center;padding:8px 10px;font-size:9px;display:flex}.prompt-options svg{width:12px}.resource-choice-row i,.counter-options i{background:var(--resource-color);border-radius:50%;width:8px;height:8px}.counter-prompt{flex-wrap:wrap}.counter-options{flex:1;gap:5px;display:flex}.counter-options>div{background:#fff;border:1px solid #e0dac8;border-radius:6px;grid-template-columns:8px 1fr 20px 14px 20px;align-items:center;gap:3px;padding:6px;font-size:8px;display:grid}.counter-options button{background:#efeee8;border:0;border-radius:50%;width:19px;height:19px;padding:4px}.counter-options strong{text-align:center}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a282694;place-items:center;padding:24px;animation:.16s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.dialog{background:#fffdf7;border:1px solid #ffffffbd;border-radius:18px;width:min(760px,96vw);max-height:90vh;padding:24px;animation:.2s dialog-in;overflow:auto;box-shadow:0 28px 80px #031d1c4d}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.dialog-heading h2{color:#29463f;margin:4px 0 0;font-family:Georgia,serif;font-size:25px}.icon-button{cursor:pointer;background:#fff;border:1px solid #dfddd4;border-radius:50%;width:34px;height:34px;padding:8px}.dialog-tabs{background:#efeee7;border-radius:9px;gap:6px;margin:20px 0;padding:5px;display:flex}.dialog-tabs button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:10px;font-weight:800;display:flex}.dialog-tabs button.active{background:#fff;border-color:#d8d7cf;box-shadow:0 2px 8px #1e3c3614}.dialog-tabs svg{width:15px}.field-label{text-transform:uppercase;color:#7e8985;flex-direction:column;gap:5px;margin-bottom:15px;font-size:9px;font-weight:800;display:flex}.field-label select{text-transform:none;background:#fff;border:1px solid #d8d7cf;border-radius:7px;padding:9px}.trade-flow{grid-template-columns:1fr 78px 1fr;align-items:center;gap:13px;display:grid}.trade-side>span{text-transform:uppercase;letter-spacing:.1em;color:#89928f;margin-bottom:8px;font-size:9px;font-weight:900;display:block}.resource-picker{gap:5px;display:grid}.resource-picker button{--resource-color:#777;text-align:left;cursor:pointer;background:#fff;border:1px solid #dedcd3;border-radius:7px;grid-template-columns:11px 1fr auto;align-items:center;gap:8px;padding:8px 10px;font-size:9px;display:grid}.resource-picker button.selected{border-color:var(--resource-color);background:color-mix(in srgb, var(--resource-color) 8%, white);box-shadow:inset 3px 0 var(--resource-color)}.resource-picker i{background:var(--resource-color);border-radius:50%;width:10px;height:10px}.resource-picker strong{background:#f1efe8;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.resource-picker button.is-unavailable,.bundle-picker>div.is-unavailable{opacity:.34;filter:grayscale();cursor:not-allowed;background:#efefec}.bundle-picker>div.is-selected{border-color:var(--resource-color);background:color-mix(in srgb,var(--resource-color) 9%,white);box-shadow:inset 3px 0 var(--resource-color)}.bundle-picker button:disabled{opacity:.35;cursor:not-allowed}.bundle-trade-flow{align-items:stretch}.bundle-picker{gap:5px;display:grid}.bundle-picker>div{--resource-color:#777;background:#fff;border:1px solid #dedcd3;border-radius:7px;grid-template-columns:10px 1fr 24px 20px 24px;align-items:center;gap:6px;min-height:38px;padding:5px 7px;display:grid}.bundle-picker>div>i{background:var(--resource-color);border-radius:50%;width:9px;height:9px}.bundle-picker>div>span{font-size:9px}.bundle-picker button{cursor:pointer;background:#efeee8;border:0;border-radius:50%;place-items:center;width:23px;height:23px;padding:5px;display:grid}.bundle-picker button svg{width:13px}.bundle-picker strong{text-align:center;font-size:10px}.bundle-side{flex-direction:column;display:flex}.bundle-side .bundle-picker{flex:1}.trade-arrow{color:#9b762c;flex-direction:column;align-items:center;gap:5px;display:flex}.trade-arrow svg{width:28px}.trade-arrow span{font-size:8px;font-weight:900}.dialog-footer{border-top:1px solid #dfddd4;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:16px;display:flex}.dialog-footer p{color:#7e8985;margin:0;font-size:9px}.confirm-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:10px;font-weight:900;display:flex}.confirm-button svg{width:15px}.confirmation-dialog{text-align:center;width:min(450px,94vw);padding:30px}.confirmation-mark{color:#a77c2a;background:#f3e8c8;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid}.confirmation-mark svg{width:27px}.confirmation-dialog h2{color:#29463f;margin:6px 0 8px;font:700 27px Georgia,serif}.confirmation-dialog>p{color:#788580;max-width:340px;margin:0 auto;font-size:10px;line-height:1.6}.confirmation-actions{justify-content:center;gap:8px;margin-top:22px;display:flex}.confirmation-actions>button:not(.confirm-button){color:#687570;cursor:pointer;background:#fff;border:1px solid #d9d7ce;border-radius:8px;padding:11px 16px;font-size:10px;font-weight:800}.danger-confirm{background:#a84638}.game-over-dialog{text-align:center;max-width:610px;padding:30px 36px}.winner-mark{color:#a77a22;background:#f5e7bc;border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 10px;display:grid}.winner-mark svg{width:34px}.game-over-dialog h2{color:#24483f;margin:5px 0;font-family:Georgia,serif;font-size:34px}.game-over-dialog>p{color:#7b8883;font-size:11px}.score-table{text-align:left;gap:5px;margin:22px 0;display:grid}.score-table>div{background:#f3f1e9;border-radius:8px;grid-template-columns:35px 1fr auto;align-items:center;padding:9px 12px;display:grid}.score-table .winner-row{background:#e6f1ec;border:1px solid #bdd6ca}.score-table span{flex-direction:column;font-size:11px;font-weight:800;display:flex}.score-table small{color:#8b9591;margin-top:2px;font-size:8px;font-weight:400}.score-table b{color:var(--green)}.winner-awards{color:#8e6b26;justify-content:center;gap:15px;margin-bottom:18px;font-size:9px;display:flex}.winner-awards span{align-items:center;gap:4px;display:flex}.winner-awards svg{width:15px}.game-over-dialog>.confirm-button{margin:auto}.game-over-actions{justify-content:center;gap:8px;display:flex}.game-over-actions .confirm-button{margin:0}.game-over-actions .board-return-button{color:#29685d;cursor:pointer;background:#f7fbf8;border:1px solid #cad5cf;border-radius:8px;padding:11px 16px;font-size:10px;font-weight:900}.toast{z-index:80;color:#fff;background:#173f39;border-radius:9px;align-items:center;gap:8px;min-width:220px;padding:11px 15px;font-size:10px;font-weight:700;animation:.25s toast-in;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #092b2747}.toast svg{color:#e4bd64;width:16px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (width<=1180px){.game-layout{grid-template-columns:210px minmax(600px,1fr)}.side-panel{display:none}.topbar{grid-template-columns:210px 1fr auto}.resource-card{grid-template-columns:31px 1fr auto;min-width:65px}.resource-art{transform-origin:0;transform:scale(.82)}}@media (width<=860px){.welcome-shell{grid-template-columns:1fr}.welcome-story{min-height:310px;padding:28px 32px}.story-copy{margin:45px 0 30px;padding:0}.story-copy h1{font-size:46px}.story-copy p{max-width:540px;font-size:12px}.story-facts{margin-top:auto}.welcome-panel{padding:28px 18px 50px}.join-card{z-index:4;margin-top:-42px;position:relative}.lobby-content{width:min(100% - 24px,720px);padding-top:30px}.lobby-grid{grid-template-columns:1fr}.lobby-sidebar{grid-template-columns:1fr 1fr}.profile-editor{grid-row:span 2}.invite-card{grid-template-columns:150px 1fr auto}.offer-summary{grid-template-columns:40px 150px 1fr}.offer-response-list{grid-template-columns:1fr 1fr}.topbar{grid-template-columns:1fr auto;height:62px;padding:0 14px}.room-info,.profile-chip span{display:none}.invite-button{padding:9px;font-size:0}.invite-button svg{width:18px}.game-layout{flex-direction:column;min-height:calc(100vh - 62px);display:flex}.player-rail{border-bottom:1px solid #d9d8cf;border-right:0;min-height:0;padding:8px 10px;overflow-x:auto}.rail-heading,.rail-footnote{display:none}.player-list{gap:4px;min-width:max-content;display:flex}.player-card{grid-template-columns:31px 1fr 29px;width:164px;min-height:50px;padding:5px}.player-card.is-active:before{width:34px;height:3px;top:auto;bottom:-8px;left:12px}.avatar{border-radius:8px;width:29px;height:29px}.player-meta{display:none}.score-orb{width:27px;height:27px;font-size:11px}.game-center{padding:12px 10px 20px}.game-statusbar h1{font-size:18px}.board-card{height:56vh;min-height:430px}.board-legend{display:none}.resource-hand{grid-template-columns:1fr}.hand-heading{flex-direction:row;justify-content:space-between}.resource-cards{padding-bottom:3px;overflow-x:auto}.resource-card{flex:0 0 104px}.development-stack{flex:0 0 54px}.action-dock{min-height:68px;overflow-x:auto}.build-actions{min-width:335px}.secondary-action{flex:0 0 84px}.end-action{flex:0 0 78px}}@media (width<=540px){.welcome-story{min-height:290px;padding:23px 20px}.story-copy{margin:40px 0 20px}.story-copy h1{font-size:39px}.story-copy p{display:none}.story-facts{gap:20px}.story-facts strong{font-size:16px}.welcome-panel{padding:22px 10px 35px}.join-card{padding:24px 18px}.color-field>div{gap:4px}.color-field button{width:32px;height:32px}.lobby-topbar{height:62px;padding:0 16px}.lobby-heading{flex-direction:column;gap:15px}.lobby-heading h1{font-size:28px}.invite-card{grid-template-columns:1fr auto;gap:8px 15px;padding:16px}.invite-card p{grid-column:1/3;margin:4px 0}.invite-card strong{font-size:22px}.lobby-sidebar{grid-template-columns:1fr}.seat-section{padding:13px}.seat-grid{grid-template-columns:1fr}.trade-offer-banner{padding:10px;bottom:9px}.offer-summary{grid-template-columns:37px 1fr}.offer-avatar{width:36px;height:36px}.offer-contents{grid-column:1/3}.recipient-response{flex-direction:column;align-items:stretch}.offer-actions button{flex:1}.offer-response-list{grid-template-columns:1fr;max-height:180px;overflow-y:auto}.status-actions .connection-pill{display:none}.brand{font-size:13px}.brand-mark{transform-origin:0;width:31px;transform:scale(.82)}.topbar-actions{gap:7px}.profile-chip{padding-left:7px}.game-statusbar{align-items:center}.game-statusbar h1{font-size:16px}.status-actions .text-button{display:none}.quick-start{font-size:9px}.board-card{border-radius:13px;height:52vh;min-height:390px}.board-instruction{max-width:235px;min-height:41px;padding:7px 10px;top:9px;left:9px}.board-instruction strong{font-size:9px}.board-tools{flex-direction:column;top:62px;right:8px}.board-tools button{border-bottom:1px solid #dddcd3;border-right:0}.board-tools .fit-button{height:29px;padding:0}.hand-heading{font-size:9px}.resource-card{flex-basis:91px;grid-template-columns:29px 1fr auto;height:57px}.resource-card>strong{font-size:18px}.resource-art{transform:scale(.72)}.phase-prompt{flex-direction:column;align-items:stretch;gap:9px}.phase-prompt>div:first-child{min-width:0}.prompt-options,.resource-choice-row,.counter-options{overflow-x:auto}.prompt-options button,.resource-choice-row button{flex:0 0 100px}.dialog{padding:18px 14px}.trade-flow{grid-template-columns:1fr 44px 1fr;gap:7px}.resource-picker button{grid-template-columns:8px 1fr auto;padding:7px 6px;font-size:8px}.dialog-footer{flex-direction:column;align-items:stretch}.dialog-footer p{text-align:center}.game-over-dialog{padding:25px 15px}.game-over-dialog h2{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
