:root{color:#203d36;font-synthesis:none;background:#f4efdf;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:0 40px}header{border-bottom:1px solid #d7ceba;justify-content:space-between;align-items:center;padding:28px 0;display:flex}.wordmark{color:inherit;letter-spacing:.16em;font-size:20px;font-weight:700;text-decoration:none}header span,footer{color:#626b5e;font-size:13px}.intro{padding:44px 0 24px}.eyebrow{letter-spacing:.18em;color:#646d5c;margin:0 0 12px;font-size:11px;font-weight:700}h1{margin:0 0 16px;font-size:clamp(32px,4vw,48px);line-height:1.25}.intro>p:last-child{color:#626b5e}.table{color:#f4ead5;background:#183e3b;padding:28px 34px}.table .eyebrow{color:#b9c8b6}.board-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}h2{margin:0;font-size:24px}button{font:inherit;color:#203d36;cursor:pointer;background:#f4ead5;border:0;padding:12px 18px}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #d5b557}svg{width:100%;max-height:530px;display:block}svg text{text-anchor:middle;font-family:DM Sans,system-ui,sans-serif}.terrain-label{fill:#112f27;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.token.red{fill:#a43426}.legend{text-transform:capitalize;flex-wrap:wrap;justify-content:center;gap:20px;font-size:12px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i{width:12px;height:12px;display:inline-block}footer{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 0 28px;display:flex}@media (width<=600px){main{padding:0 18px}header span{display:none}.table{padding:22px 12px}.board-heading{align-items:flex-start}h2{font-size:20px}button{padding:10px}.legend{gap:12px}}button:disabled{cursor:default;opacity:.45}button[aria-pressed=true],.primary{color:#183e3b;background:#d5b557}button small{margin-top:5px;font-size:10px;display:block}input,select{font:inherit;color:#203d36;background:#fff9e9;border:1px solid #b9b29c;padding:8px}input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b58c23}.field{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.game-main{max-width:1500px;padding:0 24px}.local-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;font-size:12px;display:flex}.local-toolbar button,.cover-button{background:0 0;border:1px solid #b9b29c;padding:8px 12px}.hand-cover{text-align:center;padding:90px 20px}.cover-button{margin-bottom:12px}.turn-banner{background:#e8dfc6;align-items:center;gap:12px;padding:18px;display:flex}.turn-banner>span:last-child{white-space:nowrap;margin-left:auto}.player-dot{border:2px solid #fff;flex-shrink:0;width:14px;height:14px}.game-layout{grid-template-columns:245px minmax(350px,1fr) 205px;align-items:start;gap:18px;margin-top:18px;display:grid}.game-layout svg{max-height:570px}.player-row{border-bottom:1px solid #d7ceba;align-items:center;gap:10px;padding:14px 6px;display:flex}.player-row.active{background:#e8dfc6}.player-marker{color:#fff;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.player-row strong{font-size:13px}.player-row small{margin-top:5px;font-size:10px;font-weight:400;display:block}.player-row b{text-align:center;margin-left:auto;font-size:24px}.dice{gap:12px;margin:18px 0;display:flex}.dice span{background:#fff9e9;border:1px solid #b9b29c;place-items:center;width:50px;height:50px;font-size:28px;display:grid}.players>button{width:100%}.small-note{color:#626b5e;font-size:12px;line-height:1.6}.event-log{max-height:620px;overflow:auto}.event-log ol{margin:0;padding:0;list-style:none}.event-log li{border-bottom:1px solid #d7ceba;padding:10px 0;font-size:12px;line-height:1.6}.port-kind{fill:#203d36;font-size:7px}.placement{cursor:pointer}.placement:hover,.placement:focus-visible{filter:drop-shadow(0 0 5px #fff4dd);outline:none}.selectable{cursor:pointer}.selectable:hover polygon,.selectable:focus-visible polygon{stroke:#fff;stroke-width:6px}.selectable:focus-visible{outline:none}.build-controls{gap:8px;margin:18px 8px 0;display:flex}.build-controls button{flex:1;padding:10px 5px}.hand{border-top:1px solid #c6bfa8;border-bottom:1px solid #c6bfa8;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:22px 0;display:flex}.resource-hand{gap:9px;display:flex}.resource{background:#fff9e9;border-top:4px solid #203d36;min-width:80px;padding:10px 14px}.resource span{text-transform:uppercase;font-size:11px;display:block}.resource strong{font-size:28px}.resource.wood{border-color:#39705a}.resource.brick{border-color:#b96a4e}.resource.wool{border-color:#91aa67}.resource.grain{border-color:#d5b557}.resource.ore{border-color:#788694}.hand-actions{flex-wrap:wrap;gap:10px;display:flex}.action-panel{background:#e8dfc6;margin:20px 0;padding:26px}.action-panel h2{margin-bottom:16px}.action-panel button{margin-top:10px;margin-right:8px}.lobby{max-width:650px}.lobby p{line-height:1.7}.resource-picker{border:0;flex-wrap:wrap;gap:10px;margin:16px 0;padding:0;display:flex}.resource-picker legend{margin-bottom:8px;font-weight:700}.resource-picker label{text-transform:capitalize;flex-direction:column;gap:5px;font-size:12px;display:flex}.resource-picker input{width:65px}.trade-columns{grid-template-columns:1fr 1fr;gap:40px;display:grid}.offer{border-top:1px solid #c6bfa8;padding:12px 0}.development-hand{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.development-hand>div{text-transform:capitalize;background:#fff9e9;padding:20px}.development-hand button{text-transform:none;display:block}.error{color:#813420;background:#f4d7c7;border-left:4px solid #a43426;padding:14px 18px}.notice{background:#e8dfc6;padding:14px 18px}table{border-collapse:collapse;width:100%;margin:22px 0;font-size:14px}th,td{text-align:left;border-bottom:1px solid #c6bfa8;padding:10px}@media (width<=1200px){.game-layout{grid-template-columns:220px minmax(350px,1fr)}.event-log{grid-column:1/-1;max-height:170px}.hand{flex-wrap:wrap}}@media (width<=750px){.game-layout{grid-template-columns:1fr}.players{grid-template-columns:1fr 1fr;gap:10px;display:grid}.players .eyebrow,.players .small-note{grid-column:1/-1}.dice{margin:0}.turn-banner{font-size:13px}.trade-columns{grid-template-columns:1fr;gap:20px}.resource{min-width:0;padding:8px 10px}.resource-hand{gap:6px}.resource-picker input{width:52px}.game-main{padding:0 12px}.action-panel{padding:16px}.final-score{overflow-x:auto}}@media (prefers-reduced-motion:no-preference){.placed-piece{animation:.18s ease-out piece-appear}.placement,button{transition:filter .15s,background-color .15s}}@keyframes piece-appear{0%{opacity:0}to{opacity:1}}.room-toolbar{flex-wrap:wrap;align-items:center;gap:16px;padding:18px 0;font-size:13px;display:flex}.room-toolbar button{margin-left:auto}.invite-url{overflow-wrap:anywhere;border-top:1px solid #c6bfa8;border-bottom:1px solid #c6bfa8;padding:12px 0}.lobby-players{padding:0;list-style:none}.lobby-players li{border-bottom:1px solid #c6bfa8;padding:14px 0}.lobby-players span{float:right;font-size:12px}.lobby-actions{margin-top:20px}.table-tools{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.table-tools .muted{flex:1}.sound-toggle{white-space:nowrap}:root{color:#f9f0d8;background:#073955;font-family:Trebuchet MS,system-ui,sans-serif}body{background:radial-gradient(at 50% 15%,#207c98,#082e4a 80%)}main{max-width:1500px;padding:0 20px}header{border:0;padding:17px 0}header span,footer{color:#aed2de}h1,h2{font-family:Trebuchet MS,system-ui,sans-serif;font-weight:800}.wordmark{color:#ffdc7d;text-shadow:0 3px #173649}button{color:#483327;background:linear-gradient(#ffe4a2,#e8b85e);border:2px solid #d4a155;border-radius:10px;padding:9px 14px;font-weight:700;box-shadow:0 3px #815631}button:hover{background:linear-gradient(#fff3c9,#facb72)}button:active{transform:translateY(2px);box-shadow:0 1px #815631}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true]{background:#f9cc64;outline:2px solid #fff4ac}.primary{color:#133f38;background:linear-gradient(#80d996,#42a971);border-color:#c1efa5;box-shadow:0 3px #21634a}.action-panel,.hand-cover{color:#3d463c;background:#fff1d6;border:3px solid #b27d42;border-radius:16px;box-shadow:0 5px #69472e,0 15px 40px #001c3866}.eyebrow{color:#7899a4}.intro .eyebrow,.intro>p:last-child{color:#b0dce4}.room-toolbar a,main>a{color:#ffdb85}.room-toolbar{padding:8px 0}.room-toolbar strong{letter-spacing:.16em;color:#ffe6a3;font-size:20px}main:has(.game-surface){flex-direction:column;max-width:none;height:100dvh;padding:0 12px 10px;display:flex;overflow:hidden}main:has(.game-surface) header{flex-shrink:0;padding:9px 4px}main:has(.game-surface) header .wordmark{font-size:17px}main:has(.game-surface) footer{display:none}:is(main:has(.game-surface) .room-toolbar,main:has(.game-surface) .local-toolbar){flex-shrink:0;margin:0;font-size:12px}main:has(.game-surface) .cover-button{z-index:2;padding:5px 8px;font-size:10px;position:absolute;top:6px;right:220px}.game-surface{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.table-tools{flex-shrink:0;gap:12px;height:34px;margin:0}.table-tools button{padding:4px 10px;font-size:11px}.keyboard-hint{opacity:.65;font-size:10px}.audio-controls{gap:6px;margin-left:auto;display:flex}.turn-banner{color:#fff8db;background:linear-gradient(#206f81,#165568);border:2px solid #bce3db;border-radius:12px;flex-shrink:0;gap:8px;margin-top:5px;padding:8px 12px;font-size:13px;box-shadow:0 3px #063447}.turn-banner>span:last-child{color:#bfe7ec;font-size:11px}.game-layout{background:#086c97;border:3px solid #398ca4;border-radius:18px;flex:1;min-height:0;margin:8px 0 0;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #032b52,0 5px #031f35}.game-layout .table{background:0 0;height:100%;padding:68px 5px 63px}.board-wrap{height:100%}.game-layout .board-wrap>svg{width:100%;height:100%;max-height:none}.board-wrap .legend{display:none}.players{z-index:1;pointer-events:none;gap:8px;padding:0;display:flex;position:absolute;top:8px;left:10px;right:10px}.players .eyebrow,.players>.small-note{display:none}.player-row{color:#3d4035;background:linear-gradient(#fff5dd,#ebd9b5);border:2px solid #b1935e;border-radius:10px;flex:1;gap:7px;min-width:0;padding:6px 10px;box-shadow:0 3px #735336}.player-row.active{background:linear-gradient(#fff2a8,#eec66d);border-color:#ffeeba;box-shadow:0 0 14px #ffdb73aa,0 3px #9a6c28}.player-marker{border:2px solid #fffae4;border-radius:50%;box-shadow:0 2px #0003}.player-row strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:12px;display:block;overflow:hidden}.player-row small{margin-top:2px;font-size:9px}.player-row b{font-size:23px}.build-controls{gap:6px;width:min(560px,100% - 20px);height:48px;margin:0;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.build-controls button{min-width:0;padding:4px 8px;font-size:12px}.build-controls small{justify-content:center;align-items:center;gap:1px;margin-top:2px;display:flex}svg.resource-icon{vertical-align:middle;flex-shrink:0;width:24px;height:24px;max-height:none;display:inline-block}.build-controls svg.resource-icon{width:18px;height:18px}.resource-picker svg.resource-icon{width:28px;height:28px}.hand{color:#fff0c7;background:linear-gradient(#3b6574,#1f465c);border:2px solid #b58b4e;border-radius:13px;flex-shrink:0;gap:10px;margin:9px 0 0;padding:7px 12px}.hand .eyebrow{display:none}.resource-hand{gap:6px}.resource{color:#294442;background:linear-gradient(#ffefd0,#ddca9e);border:2px solid #ffd791;border-radius:8px;min-width:65px;height:64px;padding:5px 10px;position:relative;box-shadow:0 3px #152e36}.resource .resource-icon{width:30px;height:30px}.resource strong{text-shadow:0 1px #fff;font-size:23px;position:absolute;top:1px;right:5px}.resource span{font-size:9px;font-weight:800}.resource.wood{background:linear-gradient(#c3ecae,#78ba8c)}.resource.brick{background:linear-gradient(#ffd7aa,#e99576)}.resource.wool{background:linear-gradient(#e7fbb7,#b9d87b)}.resource.grain{background:linear-gradient(#fff0a2,#edc658)}.resource.ore{background:linear-gradient(#d0e6f0,#8ab1c6)}.hand-actions{flex-wrap:nowrap;align-items:center;gap:7px}.hand-actions button{padding:11px;font-size:12px}.game-dialog{color:#334739;background:#fff1d6;border:3px solid #c49551;border-radius:18px;width:min(780px,100vw - 24px);max-height:calc(100dvh - 28px);padding:0;overflow:auto;box-shadow:0 20px 70px #00182b99}.game-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#022b45a8}.dialog-heading{color:#ffefc4;z-index:1;background:linear-gradient(#a67a45,#785333);justify-content:space-between;align-items:center;padding:12px 20px;font-weight:800;display:flex;position:sticky;top:0}.dialog-heading button{padding:1px 10px;font-size:24px}.game-dialog .action-panel{box-shadow:none;border:0;border-radius:0;margin:0;padding:20px}.game-dialog .event-log{max-height:none;padding:20px}.game-dialog .event-log .eyebrow{color:#6b765f}.game-dialog .resource-picker{margin:14px 0}.game-dialog .resource-picker label{grid-template-columns:28px 1fr;align-items:center;gap:5px;display:grid}.game-dialog .resource-picker input{grid-column:1/-1;width:100%;min-height:40px}.game-dialog h2{margin-bottom:14px;font-size:23px}.mandatory-action>button{background:#c5e897;border:3px solid #38775a}.notice,.error{border-radius:8px;flex-shrink:0;margin:4px 0;padding:5px 10px;font-size:12px}.error{color:#662a27;background:#ffd2b8}.notice{color:#fff6cb;background:#3c6380}.terrain-label{letter-spacing:1px;fill:#173c39;opacity:.85;font-size:6px;font-weight:900}.token{fill:#213e36;font-size:15px;font-weight:900}.port-label{fill:#5d3c2a;font-size:8px;font-weight:900}.dice-control{flex:0 0 70px;justify-content:center;align-items:center;gap:8px;min-width:70px;display:flex}.dice-pair{gap:5px;display:flex}.die{background:linear-gradient(135deg,#fffceb,#dcc9a9);border:1px solid #8c6742;border-radius:5px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2px;width:29px;height:29px;padding:4px;display:grid;box-shadow:1px 3px #795637}.die i.pip{background:#293d3e;border-radius:50%;box-shadow:inset 0 1px #0008}.needs-action{outline-offset:1px;outline:2px solid #ffea82}@media (prefers-reduced-motion:no-preference){.water-waves{animation:12s linear infinite sea-drift}.shoreline{animation:4s ease-in-out infinite shore-wash}.harbour-boat{animation:4s ease-in-out infinite boat-rock}.needs-action{animation:2s ease-in-out infinite attention-glow}.rolling .die{animation:.25s ease-in-out infinite dice-tumble}}@keyframes sea-drift{to{transform:translate(70px,45px)}}@keyframes shore-wash{50%{opacity:.65}}@keyframes boat-rock{50%{transform:translateY(2px)rotate(3deg)}}@keyframes attention-glow{50%{outline-color:#ffbb42;box-shadow:0 0 16px #ffe17b}}@keyframes dice-tumble{50%{transform:translateY(-7px)rotate(25deg)}}@media (width<=850px){.player-row strong{max-width:115px;font-size:10px}.player-row{padding:6px}.player-row small{font-size:8px}.resource{min-width:52px;padding:5px}.hand-actions button{padding:10px 6px;font-size:11px}}@media (width<=600px){main:has(.game-surface){padding:0 5px 6px}.keyboard-hint{display:none}main:has(.game-surface) header span{display:none}.turn-banner{padding:7px;font-size:11px}.turn-banner>span:last-child{display:none}.players{flex-wrap:wrap;gap:4px;top:6px;left:5px;right:5px}.player-row{flex-basis:45%;height:41px}.player-row b{font-size:19px}.player-row b small{display:none}.game-layout .table{padding-top:100px}.hand{flex-direction:column;gap:7px;padding:6px}.hand-actions{width:100%}.hand-actions button{flex:1;padding:5px}.resource{min-width:52px;height:51px}.resource .resource-icon{width:26px;height:26px}.resource strong{font-size:20px}.resource span{font-size:8px}.game-dialog .resource-picker{grid-template-columns:repeat(3,1fr)}.dice-control{gap:4px;min-width:69px!important}.die{width:24px;height:24px;padding:3px}.dice-control small{display:none}.build-controls button{padding:2px;font-size:10px}}@media (height<=580px) and (width>=601px){.game-layout .table{padding-top:54px}.player-row{padding:3px 8px}.hand .resource{height:48px}.resource span{display:none}.hand-actions button{padding:7px}}.game-layout{background:radial-gradient(#29adc0 0%,#11799f 50%,#085680 100%)}.game-layout:before{content:"";pointer-events:none;opacity:.32;background-image:url(/art/ocean-ripples.svg);background-size:640px 420px;position:absolute;inset:-70px}.game-layout .board-wrap>svg{position:relative}.game-layout .water-waves{opacity:.18}@media (prefers-reduced-motion:no-preference){.game-layout:before{animation:28s ease-in-out infinite alternate ocean-swell}}@media (width<=600px){.game-layout .table{padding:60px 0 25px}}@media (height<=580px) and (width>=601px){.game-layout .table{padding:0}}.game-layout{overflow:clip}.game-layout .table{padding:66px 0 60px}@media (width>=1000px){.game-layout{grid-template-columns:minmax(0,1fr) 215px;gap:0;display:grid}.game-layout .table{grid-area:1/1;min-height:0;padding:0 0 59px}.players{background:#06394d55;flex-direction:column;grid-area:1/2;justify-content:flex-start;padding:12px 10px;position:relative;inset:auto}.player-row{flex:none;min-height:61px}.players>.small-note{color:#c0e7de;font-size:10px;display:block}.build-controls{width:min(550px,100% - 235px);left:calc(50% - 107.5px)}}@media (width<=600px){.game-layout .table{padding:97px 0 56px}}@media (height<=580px) and (width>=1000px){.game-layout .table{padding:0 0 56px}}@media (height<=580px) and (width>=601px) and (width<=999px){.game-layout .table{padding:54px 0 56px}}.resource-available{color:#617356;grid-column:1/-1;font-size:10px}@media (prefers-reduced-motion:no-preference){.game-surface:has(.turn-banner.needs-action) .placement{animation:2.2s ease-in-out infinite placement-hint}}@keyframes placement-hint{50%{opacity:.6}}@media (height<=480px){main:has(.game-surface){height:auto;min-height:100dvh;overflow:visible}.game-surface .game-layout{flex:none;height:320px}}.audio-controls button[data-enabled=true]{background:#f9cc64;outline:2px solid #fff4ac}.solo-test-option{border-top:1px solid #ba9c6f;margin-top:18px;padding-top:12px;font-size:13px}.hand{z-index:5;min-height:108px;position:relative}.resource-hand{align-items:center;min-width:240px;min-height:84px;padding:3px 4px 3px 9px}.resource-card{isolation:isolate;width:59px;height:82px;margin-left:calc(var(--stack-layers,0) * 3px);color:#243c35;cursor:default;background:0 0;border:0;border-radius:7px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:5px 3px;font-weight:800;display:flex;position:relative}button.resource-card{cursor:pointer}.resource-card.wood{--card-fill:linear-gradient(135deg, #bce6a0, #65b181 65%, #408c67);--card-edge:#376e50}.resource-card.brick{--card-fill:linear-gradient(135deg, #ffcea8, #e89772 65%, #c76551);--card-edge:#914638}.resource-card.wool{--card-fill:linear-gradient(135deg, #efffc8, #a8ce70 65%, #7faf58);--card-edge:#58803c}.resource-card.grain{--card-fill:linear-gradient(135deg, #fff4a8, #e9bd49 65%, #cf922e);--card-edge:#a07124}.resource-card.ore{--card-fill:linear-gradient(135deg, #e4f3ef, #9ac5d0 65%, #709eac);--card-edge:#4d7682}.card-face,.card-back-layer{border:1.5px solid var(--card-edge);border-radius:inherit;background:var(--card-fill);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px #ffffffa0,0 2px 3px #001d3a55}.card-face{z-index:-1;box-shadow:inset 0 0 0 1.5px #ffffffa0,1px 4px 5px #001d3a55}.card-back-layer{z-index:calc(-1 - var(--layer));transform:translate(calc(var(--layer) * -3px), calc(var(--layer) * 1px))}.card-face:after,.card-back-layer:after{content:"";border:1px solid #ffffff65;border-radius:3px;position:absolute;inset:4px}button.resource-card:hover:not(:disabled){background:0 0}.resource-card .card-art{filter:drop-shadow(0 2px 1px #28433344);place-items:center;width:42px;height:42px;display:grid}.resource-card .card-art .resource-icon{width:40px;height:40px}.resource-card .card-corner{opacity:.7;position:absolute;top:4px;left:4px}.resource-card .card-corner .resource-icon{width:12px;height:12px}.resource-card .card-name{text-transform:uppercase;letter-spacing:.03em;margin-top:5px;font-size:9px}.resource-card .card-count,.bank-development-card .card-count{color:#fff7d5;background:linear-gradient(#22789a,#155675);border:1px solid #a3e0dd;border-radius:4px;padding:1px 5px;font-size:16px;position:absolute;top:-6px;right:-5px;box-shadow:0 2px #063245}button.resource-card:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-4px)}button.resource-card:active:not(:disabled){transform:translateY(-1px)}.resource-card:disabled{opacity:.45}.resource-card.compact{width:36px;height:50px}.resource-card.compact .card-art,.resource-card.compact .card-art .resource-icon{width:28px;height:28px}.resource-card.compact .card-name,.resource-card.compact .card-corner{display:none}.resource-card.compact .card-count{padding:0 4px;font-size:13px}.empty-resource-hand{color:#c5e2d7;max-width:300px;font-size:12px}.trade-dock{color:#32453c;background:linear-gradient(#fff6dc,#e8d9b9);border:3px solid #be995d;border-radius:13px;width:min(660px,100vw - 32px);max-height:min(540px,100dvh - 210px);padding:12px;position:absolute;bottom:calc(100% + 9px);left:6px;overflow:auto;box-shadow:0 10px 30px #01294288,0 3px #71542c}.trade-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.trade-heading h2{font-size:17px}.trade-heading button{padding:3px 9px;font-size:11px}.request-palette{border-bottom:1px solid #b4a47e;gap:12px;padding:4px 9px 11px;display:flex}.request-palette .resource-card{width:46px;height:65px}.request-palette .card-art,.request-palette .card-art .resource-icon{width:34px;height:34px}.request-palette .card-name{font-size:8px}.trade-selection{margin:7px 0}.trade-card-row{border-bottom:1px solid #c0b08b;align-items:center;gap:10px;min-height:58px;padding:5px;display:flex}.trade-card-row>strong{flex:none;width:90px;font-size:12px}.trade-card-row>div{flex-wrap:wrap;align-items:center;gap:12px;padding-left:5px;display:flex}.trade-empty{color:#6d7865;font-size:12px}.trade-submit{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 5px;display:flex}.trade-submit button{padding:6px 10px;font-size:11px}.trade-destinations{gap:5px;display:flex}.trade-target{align-items:center;gap:5px;font-size:12px;display:flex}.trade-target select{border-radius:5px;max-width:145px;padding:5px}.trade-help{margin:8px 0;font-size:11px;line-height:1.5}.trade-offers h3{margin:12px 0 4px;font-size:12px}.trade-offers>p{margin:4px 0;font-size:11px}.trade-offers .offer{background:#fff8e0;border-radius:7px;margin:6px 0;padding:7px}.trade-offers .offer p{margin:0 0 5px;font-size:12px}.trade-offers .offer button{margin-right:5px;padding:5px 9px;font-size:11px}@media (width<=600px){.hand{min-height:116px}.resource-hand{gap:9px;min-width:200px;min-height:65px}.resource-hand .resource-card{width:44px;height:63px}.resource-hand .card-art,.resource-hand .card-art .resource-icon{width:31px;height:31px}.resource-card .card-name{font-size:8px}.trade-dock{width:calc(100vw - 20px);max-height:calc(100dvh - 185px);padding:9px;left:0}.trade-card-row>strong{width:74px;font-size:11px}.request-palette{gap:9px;padding-left:4px}.trade-submit{gap:6px}}@media (height<=480px){.trade-dock{max-height:75dvh}}.trade-offers{max-height:135px;overflow:auto}.offer-card-exchange{align-items:center;gap:10px;margin:8px 4px 10px;font-size:11px;display:flex}.offer-card-exchange>div{flex-wrap:wrap;gap:9px;display:flex}.game-surface>.action-confirmation{z-index:7;pointer-events:none;background:#1b5b70;border:1px solid #c9eddc;max-width:calc(100% - 24px);margin:0;padding:6px 10px;font-size:11px;position:absolute;top:40px;right:10px;box-shadow:0 2px 8px #032c4d88}.hiscores-link{color:#ffe29c;border:1px solid #f2ce7c;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none}.score-panel{margin-bottom:30px}.score-panel table{border-collapse:collapse;text-align:left;width:100%}.score-panel th{text-transform:uppercase;background:#e4c993;padding:12px;font-size:12px}.score-panel td{border-bottom:1px solid #cfbd91;padding:14px 12px}.score-panel td:last-child{font-size:22px;font-weight:800}.score-panel tr.your-row{background:#fff0ac}.your-score{background:#e1ebbc;border-radius:8px;padding:10px 12px;font-weight:700}main:has(.game-surface) .hiscores-link{padding:3px 7px;font-size:10px}.score-panel table{table-layout:fixed}.score-panel th:first-child{width:70px}.score-panel th:last-child{width:85px}.score-panel td:nth-child(2){overflow-wrap:anywhere}.final-score .hiscores-link{color:#315c4d;border-color:#719162;margin-left:12px;display:inline-block}.burglar-piece{filter:drop-shadow(0 0 1px #fff5c9)}@media (prefers-reduced-motion:no-preference){.burglar-piece>g{animation:.28s ease-out burglar-arrive}}@keyframes burglar-arrive{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}.join-room-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.turn-banner.prominent-prompt{border-width:3px;flex-shrink:0;height:68px;min-height:68px;padding:10px 14px}.prompt-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.prompt-heading{align-items:center;gap:10px;font-size:19px;display:flex}.prompt-detail{font-size:12px;line-height:1.3}.action-badge{color:#fff4b8;letter-spacing:.05em;background:#743f28;border-radius:6px;flex:none;padding:4px 7px;font-size:10px}.turn-banner.action-required{color:#48321e;background:linear-gradient(#fff0a3,#efc65c);border-color:#fff5bc;box-shadow:0 0 12px #ffcf6c55,0 3px #86582d}.turn-banner.action-required>span:last-child{color:#654720}.game-surface>.action-confirmation{top:46px}.robber-destination>.terrain-outline{stroke:#fff5a4;stroke-width:4px}.robber-destination:hover>.terrain-outline,.robber-destination:focus-visible>.terrain-outline{stroke:#fff;stroke-width:6px}.robber-move-label{fill:#fff3aa;letter-spacing:.5px;font-size:9px;font-weight:900}@media (prefers-reduced-motion:no-preference){.robber-halo{animation:1.2s step-end infinite burglar-highlight}.robber-destination>.terrain-outline{animation:2s ease-in-out infinite destination-highlight}}@keyframes burglar-highlight{0%,to{opacity:1}50%{opacity:0}}@keyframes destination-highlight{50%{stroke:#ffd95d;stroke-width:5px}}@media (width<=600px){.turn-banner.prominent-prompt{height:84px;min-height:84px;padding:8px}.prompt-heading{gap:6px;font-size:15px}.action-badge{padding:3px 5px;font-size:8px}.prompt-detail{font-size:11px}}.turn-banner.prominent-prompt:not(.action-required) .prompt-copy>strong{font-size:16px;line-height:1.3}.robber-source{cursor:pointer}.robber-source:focus-visible{filter:drop-shadow(0 0 5px #ffe68e);outline:none}.robber-move-label{font-size:12px}.robber-destination:focus>.terrain-outline{stroke:#fff;stroke-width:6px;filter:drop-shadow(0 0 4px #ffe778);animation:none}.setup-main{isolation:isolate;color:#fff5df;background:0 0;grid-template-rows:auto 1fr auto;max-width:none;min-height:100dvh;padding:0 24px 16px;display:grid;position:relative}.setup-main header{border:0;gap:16px;width:100%;padding:16px 0}.setup-main header>span,.setup-main header button>span,.setup-main .hiscores-link>span{display:none}.setup-main header a{color:#fff1c9}.setup-main .toolbar-icon{width:32px;height:32px}.setup-main .hiscores-link{margin-left:0}.setup-main header .audio-settings-button{margin-left:auto}.setup-screen{text-align:center;place-self:center;width:min(100%,480px);margin:28px 0}.setup-name{display:block}.setup-name h1{text-shadow:0 2px 3px #083e59;margin:0 0 6px;font:700 32px/1.15 Georgia,serif}.setup-subtitle{color:#d3eef0;margin-bottom:14px;font-size:14px;display:block}.setup-name input{text-align:center;color:#203d36;background:#fff6e3;border:3px solid #9ad8df;border-radius:12px;width:100%;padding:10px 16px;font-size:22px;box-shadow:0 4px 8px #083e5940}.setup-choices{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}.setup-join,.setup-create-button{border:4px ridge #ffe9ba;border-radius:16px;padding:16px;box-shadow:0 5px 10px #083e5940}.setup-join{color:#302313;background:linear-gradient(#fff8e7,#e8d3ae)}.setup-code{display:block}.setup-code span{margin:0 0 10px;font:700 20px/1.1 Georgia,serif;display:block}.setup-code input{text-align:center;letter-spacing:.1em;color:#302313;background:#fff7e9;border:2px solid #b99d78;border-radius:8px;width:100%;height:42px;font-size:20px;display:block}.setup-join-button{color:#fff4d8;background:linear-gradient(#469d35,#237c24);border:3px ridge #77b851;border-radius:10px;width:100%;margin-top:12px;padding:10px 6px;font:700 20px/1.1 Georgia,serif}.setup-create-button{color:#302100;text-shadow:0 1px #ffe981;background:radial-gradient(at 30% 15%,#ffeb69,#ffc52e 65%,#eaa21b);border-color:#ffdb59;font:700 30px/1.1 Georgia,serif}.setup-screen button:disabled{opacity:.65}.setup-screen .error{color:#8c231c;background:#fff1df;border-radius:10px;padding:12px}.setup-main footer{color:#d3eef0;text-align:center}.room-points-option{gap:8px;margin:16px 0;display:grid}.room-points-option select{width:140px}@media (width<=420px){.setup-main{padding:0 14px 14px}.setup-main .wordmark{font-size:15px}.setup-choices{gap:10px}.setup-join,.setup-create-button{padding:12px 8px}.setup-create-button{font-size:26px}}.game-layout{position:relative}.open-offers-box{z-index:4;color:#2d443b;background:linear-gradient(#fff4d7,#eadab8);border:2px solid #c6a25e;border-radius:12px;width:min(480px,55%);max-height:35%;padding:10px;position:absolute;top:10px;left:10px;overflow:auto;box-shadow:0 4px 12px #01294277}.open-offers-box h3{margin:0 0 6px;font-size:14px}.offers-empty{margin:4px 0;font-size:11px}.open-offer-row,.accepted-offer-row{border-top:1px solid #c0ab7f;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.open-offer-row>strong{overflow-wrap:anywhere;max-width:80px}.open-offer-row .offer-card-exchange{flex:1;gap:5px;margin:0}.open-offer-row .offer-card-exchange>div{gap:5px}.open-offers-box .card-corner,.open-offers-box .card-name{display:none}.open-offers-box .card-count{font-size:10px}.offer-actions{flex-wrap:wrap;gap:4px;display:flex}.offer-actions button{padding:5px 7px;font-size:11px}.accepted-offer-row{background:#d8eabf;border-radius:6px;justify-content:space-between;padding:7px}.trade-dock{width:min(800px,100vw - 32px);box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 126px;gap:8px;padding:0;display:grid;overflow:visible}.trade-composer{color:#32453c;background:linear-gradient(#fff6dc,#e8d9b9);border:3px solid #be995d;border-radius:13px;min-width:0;max-height:min(470px,100dvh - 210px);padding:12px;overflow:auto;box-shadow:0 6px 20px #01294288,0 3px #71542c}.trade-side-actions{grid-template-rows:1fr 1fr;gap:8px;display:grid}.trade-side-actions button{color:#fff8da;text-shadow:0 2px #154355;background:linear-gradient(#3da5b9,#1a738b);border:4px ridge #c7e6ea;border-radius:14px;padding:12px 8px;font-size:23px;font-weight:700;box-shadow:0 4px #123e54}.trade-side-actions button:hover{background:linear-gradient(#51bcd0,#238ca5)}.trade-side-actions button:disabled{opacity:.55}@media (width<=600px){.trade-dock{grid-template-columns:minmax(0,1fr) 80px;width:calc(100vw - 20px)}.trade-side-actions button{padding:8px 3px;font-size:16px}.trade-composer{max-height:calc(100dvh - 190px);padding:8px}.request-palette{gap:6px}.request-palette .resource-card{width:35px;height:50px}.request-palette .card-art,.request-palette .card-art .resource-icon{width:25px;height:25px}.trade-card-row{flex-direction:column;align-items:flex-start;gap:5px}.trade-card-row>strong{width:auto}.open-offers-box{width:calc(100% - 12px);max-height:30%;top:6px;left:6px}}.build-controls svg.building-icon{vertical-align:middle;filter:drop-shadow(0 2px 1px #183a4860);flex:none;width:32px;height:32px;margin-right:5px;display:inline-block}@media (width<=600px){.build-controls svg.building-icon{width:24px;height:24px;margin-right:3px}}.build-controls button.building-control{grid-template-rows:16px 18px;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:4px;display:grid}.build-controls .building-control .building-icon{grid-row:span 2;margin:0}.build-controls .building-control small{margin:0}@media (width<=600px){.build-controls button.building-control{grid-template-columns:24px minmax(0,1fr);column-gap:2px;padding:4px;font-size:10px}.building-control small svg.resource-icon{width:12px;height:12px}}.game-layout .ocean-hand{z-index:5;min-height:0;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;flex-direction:row;justify-content:space-between;align-items:flex-end;margin:0;padding:0;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.ocean-hand>div,.ocean-hand>section{pointer-events:auto}.ocean-hand .resource-hand{min-height:84px;padding:4px 4px 6px 9px}.ocean-hand .hand-actions{filter:drop-shadow(0 3px 4px #002b4c80);width:auto;margin-bottom:8px}.ocean-hand .trade-dock{width:min(800px,100vw - 52px);bottom:calc(100% + 10px);left:0}.ocean-hand .trade-composer{max-height:min(420px,max(150px,100dvh - 350px))}.game-layout .build-controls{z-index:2;bottom:114px}@media (width>=1000px){.game-layout .table{padding:0 0 108px}.game-layout .build-controls{width:480px;left:auto;right:12px;transform:none}}@media (width<=800px){.game-layout .ocean-hand{flex-direction:column;align-items:flex-start;gap:6px}.ocean-hand .hand-actions{width:100%;margin-bottom:0}.ocean-hand .hand-actions button{flex:1}.game-layout .table{padding-bottom:172px}.game-layout .build-controls{bottom:126px}.ocean-hand .resource-hand{min-height:65px}}@media (width<=600px){.game-layout .ocean-hand{bottom:8px;left:8px;right:8px}.ocean-hand .trade-dock{width:calc(100vw - 40px)}.ocean-hand .trade-composer{max-height:max(150px,100dvh - 420px)}}@media (width<=380px){.ocean-hand .resource-hand .resource-card{width:34px;height:50px}.ocean-hand .resource-hand .card-art,.ocean-hand .resource-hand .card-art .resource-icon{width:25px;height:25px}.ocean-hand .resource-hand .card-name{margin-top:3px;font-size:6px}.ocean-hand .resource-hand .card-count{font-size:13px}}main:has(.game-surface){grid-template-rows:auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);gap:0 20px;display:grid}main:has(.game-surface) header{gap:12px;padding:8px 0}main:has(.game-surface) header>span{display:none}main:has(.game-surface) header>.hiscores-link{display:none}main:has(.game-surface) .local-toolbar>span{display:none}:is(main:has(.game-surface) .room-toolbar,main:has(.game-surface) .local-toolbar){background:0 0;border:0;justify-content:flex-end;gap:12px;padding:4px 0}main:has(.game-surface) .game-surface{grid-column:1/-1}.turn-banner.prominent-prompt{height:auto;min-height:44px;box-shadow:none;border-width:1px;gap:12px;margin:0;padding:7px 12px}.prompt-heading{font-size:14px}.prompt-detail{font-size:11px}.turn-banner.prominent-prompt:not(.action-required) .prompt-copy>strong{font-size:13px}.turn-banner .table-tools{align-items:center;gap:8px;height:auto;display:flex}.turn-banner .audio-controls{margin:0}.turn-count{white-space:nowrap;font-size:11px}@media (width<=760px){main:has(.game-surface){gap:0 8px}main:has(.game-surface) header .wordmark{font-size:13px}:is(main:has(.game-surface) .room-toolbar,main:has(.game-surface) .local-toolbar),.turn-banner.prominent-prompt{flex-wrap:wrap;gap:6px}.turn-banner .prompt-copy{flex-basis:70%}.turn-banner .table-tools{margin-left:auto}.turn-banner .table-tools button{padding:4px 6px;font-size:10px}}.game-surface>.build-controls{flex-shrink:0;justify-content:center;gap:8px;width:100%;height:auto;min-height:48px;margin:8px 0 0;display:flex;position:static;transform:none}.game-surface>.build-controls button{flex:0 150px}.game-surface>.build-controls .dice-control{flex:0 0 80px}.build-controls .building-control img.building-icon{object-fit:contain;grid-row:span 2;width:32px;height:32px}.deck-count{opacity:.75;font-size:10px}.development-hand-icon{object-fit:contain;vertical-align:middle;width:26px;height:26px;margin-right:5px}@media (width<=600px){.game-surface>.build-controls{flex-wrap:wrap;gap:4px}.game-surface>.build-controls button{flex:85px}.game-surface>.build-controls .dice-control{flex:0 0 60px}.build-controls .building-control img.building-icon{width:24px;height:24px}}.players.scoreboard{pointer-events:auto;background:#f6f0e3;border:1px solid #adc8cd;border-radius:12px;gap:0;overflow:hidden;box-shadow:0 4px 16px #032b4833}.scoreboard-heading{letter-spacing:.04em;color:#58747e;border-bottom:1px solid #d5dedb;justify-content:space-between;align-items:center;padding:12px 14px;font-size:11px;font-weight:700;display:flex}.scoreboard .score-player{height:auto;min-height:0;box-shadow:inset 3px 0 var(--player-colour);color:#244554;background:0 0;border:0;border-bottom:1px solid #dce1dc;border-radius:0;flex:none;padding:12px 12px 12px 15px;display:block;position:relative}.scoreboard .score-player.active{box-shadow:inset 4px 0 var(--player-colour);background:#e1eef0}.score-identity{align-items:center;gap:8px;display:flex}.scoreboard .score-identity strong{flex:1;min-width:0;max-width:none;font-size:13px;font-weight:600}.score-avatar{background:var(--player-colour);border:2px solid #fff;border-radius:50%;flex:none;width:32px;height:32px;position:relative;box-shadow:0 0 0 1px #31516124}.score-avatar svg{fill:#ffffffeb;stroke:#244554;stroke-width:1px;width:100%;height:100%}.score-points{color:#244554;text-align:center;background:#fff;border:1px solid #c4d1d4;border-radius:4px;min-width:26px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.score-you{letter-spacing:.06em;color:#4d727f;font-size:8px}.score-offline{color:#9b5d44;font-size:18px}.score-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:15px;display:grid}.score-stat{font-variant-numeric:tabular-nums;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;font-size:12px;font-weight:600;display:flex;position:relative}.score-sprite{object-fit:contain;width:30px;height:32px;max-height:none}.holds-award{background:#f3e5b9;box-shadow:inset 0 0 0 1px #dac17b}.score-award{color:#fff9e7;background:#856124;border-radius:4px;padding:1px 3px;font-size:8px;position:absolute;top:-5px;right:-2px}.score-private{color:#4d727f;margin:0;padding:12px 14px;font-size:11px}.score-private b{float:right;color:#244554;font-size:15px}.score-private span{margin-top:4px;font-size:9px;display:block}@media (width>=1000px){.players.scoreboard{align-self:start;margin:10px 10px 108px 0;padding:0}}@media (width<=999px){.players.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.scoreboard-heading,.score-private{display:none}.scoreboard .score-player{border-bottom:0;padding:8px}.scoreboard .score-identity strong{font-size:10px}.score-avatar{width:25px;height:25px}.score-stats{gap:2px;margin-top:12px}.score-sprite{width:22px;height:24px}.score-you{display:none}.game-layout .table{padding-top:122px}}@media (width<=600px){.players.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.scoreboard .score-player{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:5px;padding:8px;display:grid}.scoreboard .score-identity{gap:5px}.scoreboard .score-identity strong{font-size:10px}.score-stats{margin:0}.score-stat{gap:2px;padding:0;font-size:10px}.players.scoreboard{flex-wrap:nowrap;display:flex;overflow-x:auto}.scoreboard .score-player{flex:0 0 140px;display:block}.score-stats{margin-top:12px}.score-sprite{width:24px;height:26px}.game-layout .table{padding-top:122px}}.development-hand-cards{align-items:flex-end;gap:6px;max-width:40%;padding:8px 4px;display:flex;overflow-x:auto}.development-hand-cards:empty{display:none}button.development-card{color:#fff3cf;text-align:center;background:#21476c;border:2px solid #c8a96e;border-radius:6px;flex-direction:column;flex:0 0 58px;justify-content:space-between;align-items:center;width:58px;height:82px;padding:6px 3px;font-size:9px;line-height:1.1;transition:transform .12s;display:flex;position:relative;box-shadow:0 2px 3px #032b4844}button.development-card:hover:not(:disabled){background:#2e5a81;transform:translateY(-3px)}button.development-card:disabled{opacity:.85;cursor:default}.development-card-art{justify-content:center;align-items:center;height:44px;display:flex}.development-card-art>svg:not(.resource-icon){width:38px;height:38px}.development-card-name{justify-content:center;align-items:center;min-height:20px;display:flex}.development-vp{color:#473416;background:#dcb960;border-radius:4px;padding:2px 4px;position:absolute;top:-5px;right:-3px}.resource-selection{margin:16px 0}.resource-selection .request-palette{flex-wrap:wrap;margin-bottom:18px}.resource-selection .trade-card-row{align-items:center}@media (width<=800px){.game-layout .ocean-hand{grid-template-columns:minmax(0,1fr) auto;display:grid}.ocean-hand .development-hand-cards{grid-area:2/1;max-width:100%;padding:4px}.ocean-hand .hand-actions{grid-area:1/2/span 2;align-self:end}.game-layout .table{padding-bottom:178px}button.development-card{flex-basis:46px;width:46px;height:64px;padding:3px;font-size:8px}.development-card-art{height:32px}.development-card-art>svg:not(.resource-icon){width:28px;height:28px}}@media (prefers-reduced-motion:reduce){button.development-card{transition:none}}.game-layout .ocean-hand{flex-direction:row;align-items:flex-end;gap:12px;display:flex;bottom:72px}.ocean-hand .unified-hand{flex:1;min-width:0}.ocean-hand .resource-hand{flex-wrap:nowrap;align-items:flex-end;gap:8px;padding:8px 8px 8px 9px;display:flex;overflow-x:auto}.resource-hand>.resource-card{flex-shrink:0}.resource-hand .development-hand-cards{border-left:1px solid #b3d9e044;flex:none;align-items:flex-end;gap:6px;max-width:none;margin:0;padding:0 0 0 8px;display:flex;overflow:visible}.resource-hand .development-hand-cards:empty{display:none}.ocean-hand .hand-actions{flex:none;width:auto;margin:0 0 8px}.resource-hand .empty-resource-hand{flex:0 160px;min-width:100px}.game-layout>.build-controls{z-index:6;justify-content:center;gap:8px;width:auto;height:48px;margin:0;display:flex;position:absolute;bottom:10px;left:12px;right:12px;transform:none}.game-layout>.build-controls button{flex:0 150px}.game-layout>.build-controls .dice-control{flex:0 0 70px}.game-layout .table{padding-bottom:174px}@media (width<=600px){.game-layout .ocean-hand{gap:6px;bottom:68px}.ocean-hand .hand-actions button{padding:7px;font-size:10px}.game-layout>.build-controls{gap:4px;height:auto;min-height:44px;left:8px;right:8px}.game-layout>.build-controls button{flex:1 1 0}.game-layout>.build-controls .dice-control{flex:0 0 48px}.game-layout .table{padding-bottom:156px}}.audio-settings-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.audio-settings-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.audio-settings-fields{color:#203d36;gap:20px;padding:20px 24px 24px;display:grid}.audio-setting{gap:10px;display:grid}.audio-channel{align-items:center;gap:10px;font-weight:700;display:flex}.audio-channel input{accent-color:#247c8d;width:18px;height:18px}.audio-volume{align-items:center;gap:12px;font-size:13px;display:flex}.audio-volume input{accent-color:#247c8d;flex:1;min-width:0}.audio-volume output{text-align:right;font-variant-numeric:tabular-nums;min-width:36px}.game-layout>.build-controls{height:56px}.game-layout>.build-controls button.icon-build-control{width:64px;height:56px;box-shadow:none;background:0 0;border:0;border-radius:12px;flex:0 0 64px;justify-content:center;align-items:center;padding:2px;display:flex}.game-layout>.build-controls .icon-build-control svg.building-icon,.game-layout>.build-controls .icon-build-control img.building-icon{object-fit:contain;filter:drop-shadow(0 3px 2px #102e4b80);width:52px;height:52px;max-height:none;margin:0;transition:transform .12s}.game-layout>.build-controls .icon-build-control:not(:disabled):hover .building-icon{transform:translateY(-3px)}.game-layout>.build-controls .icon-build-control[aria-pressed=true]{background:#fff6d62b;box-shadow:inset 0 0 0 2px #ffe4a0}.game-layout>.build-controls .icon-build-control:focus-visible{outline-offset:2px;outline:2px solid #ffe4a0}@media (width<=600px){.game-layout>.build-controls button.icon-build-control{flex:0 52px;width:52px;min-width:44px;height:52px}.game-layout>.build-controls .icon-build-control svg.building-icon,.game-layout>.build-controls .icon-build-control img.building-icon{width:48px;height:48px}}.game-dialog:has(.audio-settings-fields){width:min(440px,100vw - 32px)}.audio-volume>span{color:#506257}.ocean-canvas{display:none}main.game-main,main.setup-main{isolation:isolate;background:0 0;position:relative}.game-main>.ocean-canvas,.setup-main>.ocean-canvas{z-index:0;pointer-events:none;background:radial-gradient(#29adc0 0%,#11799f 50%,#085680 100%);display:block;position:fixed;inset:0;overflow:hidden}.ocean-canvas:before{content:"";pointer-events:none;opacity:.32;background-image:url(/art/ocean-ripples.svg);background-size:640px 420px;position:absolute;inset:-70px}.game-main>:not(.ocean-canvas),.setup-main>:not(.ocean-canvas){z-index:1;position:relative}.game-main .game-layout{box-shadow:none;background:0 0;border:0;border-radius:0}.game-main .game-layout:before,.game-main .water-waves{display:none}.game-main .room-toolbar button,.game-main .local-toolbar button{color:#fff0d8;background:#07395580;border-color:#c5e4e480}@media (prefers-reduced-motion:no-preference){.ocean-canvas:before{animation:28s ease-in-out infinite alternate ocean-swell}}.board-wrap{position:relative}.island-dice-roll{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:0}.island-dice-pair{perspective:700px;gap:38px;display:flex}.die-flight{width:64px;height:64px;position:relative}.die-flight:before{content:"";filter:blur(7px);background:#172b29a6;border-radius:50%;position:absolute;inset:52px -8px -15px}.die-cube{width:64px;height:64px;transform-style:preserve-3d;transform:rotateX(var(--end-x)) rotateY(var(--end-y));position:relative}.cube-face{backface-visibility:hidden;background:linear-gradient(135deg,#fffdf1,#dfc6a0);border:1px solid #9b7951;border-radius:9px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:5px;padding:10px;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 7px #a87d4940}.cube-face .pip{background:#26393c;border-radius:50%;box-shadow:inset 0 2px 2px #0008}.cube-face-1{transform:translateZ(32px)}.cube-face-2{transform:rotateY(90deg)translateZ(32px)}.cube-face-3{transform:rotateX(-90deg)translateZ(32px)}.cube-face-4{transform:rotateX(90deg)translateZ(32px)}.cube-face-5{transform:rotateY(-90deg)translateZ(32px)}.cube-face-6{transform:rotateY(180deg)translateZ(32px)}.dice-roll-total{color:#fff5d4;background:#143d3ded;border-radius:30px;padding:4px 18px;font-size:24px;font-weight:800;box-shadow:0 3px 12px #0005}.dice-control .die:first-child{transform:rotate(-12deg)}.dice-control .die:last-child{transform:rotate(12deg)translateY(-3px)}@media (prefers-reduced-motion:no-preference){.die-flight{animation:1.2s both island-dice-bounce}.die-flight:nth-child(2){animation-delay:80ms}.die-cube{animation:1.2s cubic-bezier(.18,.65,.32,1) both island-dice-tumble}.die-flight:nth-child(2) .die-cube{animation-delay:80ms}.dice-roll-total{animation:1.3s both island-dice-result}}@keyframes island-dice-tumble{0%{transform:rotateX(-160deg)rotateY(-210deg)}to{transform:rotateX(var(--end-x)) rotateY(var(--end-y))}}@keyframes island-dice-bounce{0%{opacity:0;transform:translate(-60px,-130px)scale(.7)}18%{opacity:1}45%{transform:translate(8px,12px)}65%{transform:translate(-4px,-30px)}82%{transform:translate(2px,5px)}93%{transform:translateY(-8px)}to{transform:translate(0)}}@keyframes island-dice-result{0%,90%{opacity:0}to{opacity:1}}@keyframes ocean-swell{0%{opacity:.28;transform:translate(-10px,-5px)}to{opacity:.38;transform:translate(14px,8px)}}.game-layout{display:block}.game-layout .table{width:100%;padding:126px 0 174px}.game-layout .players.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;display:grid;position:absolute;inset:8px 10px auto}.game-layout .players.scoreboard .scoreboard-heading,.game-layout .players.scoreboard .score-private{display:none}.game-layout>.build-controls{width:max-content;max-width:calc(100% - 16px);left:50%;right:auto;overflow:visible;transform:translate(-50%)}.game-layout>.build-controls .end-turn-control{color:#fff0ce;background:#143e55;border:1px solid #c6a771;flex:0 0 56px;width:56px;padding:0;font-size:28px;font-weight:800}.icon-build-control{position:relative}.port-settlement>circle:first-child{filter:drop-shadow(0 0 4px #ffd45e)}@media (prefers-reduced-motion:no-preference){.port-sparkle{transform-box:fill-box;transform-origin:50%;animation:1.5s ease-in-out infinite port-sparkle}.port-sparkle.sparkle-1{animation-delay:-.5s}.port-sparkle.sparkle-2{animation-delay:-1s}}@keyframes port-sparkle{0%,to{opacity:.3;transform:scale(.65)}50%{opacity:1;transform:scale(1.25)}}.piece-count{z-index:1;color:#fff4cd;font-variant-numeric:tabular-nums;pointer-events:none;background:#174e57;border:2px solid #ffe09a;border-radius:50%;place-items:center;min-width:24px;height:24px;padding:0 4px;font-size:14px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:0;right:0;box-shadow:0 2px 4px #102e4b80}.game-layout>.build-controls button.icon-build-control:disabled{opacity:1}.game-layout>.build-controls button.icon-build-control:disabled>.building-icon{opacity:.45}.purchase-cost{pointer-events:none;opacity:0;visibility:hidden;z-index:10;gap:8px;width:max-content;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.purchase-cost>span{filter:drop-shadow(0 2px 2px #082b4480);align-items:center;display:flex}.build-controls .purchase-cost svg.resource-icon{flex-shrink:0;width:72px;height:72px}.purchase-cost>.missing-resource{opacity:.3}@media (width<=1000px){.purchase-cost{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);position:fixed;bottom:142px;left:50%}}.icon-build-control:hover .purchase-cost,.icon-build-control:focus-visible .purchase-cost{opacity:1;visibility:visible}.turn-timer{font-variant-numeric:tabular-nums;color:#fff5d4;border:1px solid #bfe7ec88;border-radius:7px;flex-shrink:0;padding:5px 9px}.turn-timer-urgent{color:#ffddaf;background:#8b352b}.turn-duration{text-align:left;grid-column:1/-1;max-width:360px}.turn-duration small{font-size:11px;line-height:1.4}.turn-duration input{width:100%}@media (width<=600px){.game-layout .players.scoreboard{display:flex}.game-layout .table{padding:122px 0 178px}.game-layout>.build-controls .end-turn-control{flex-basis:44px;width:44px;font-size:24px}.game-layout>.build-controls{gap:4px}.turn-banner.prominent-prompt{flex-wrap:wrap;gap:6px}.turn-banner .prompt-copy{flex:1;min-width:180px}}@media (width>=1000px){.game-layout .players.scoreboard{flex-direction:column;width:215px;margin:0;display:flex;position:absolute;inset:10px 10px auto auto}.game-layout .players.scoreboard .scoreboard-heading{display:flex}.game-layout .players.scoreboard .score-private{display:block}.game-layout .table{padding:0 235px 174px}}.turn-duration{grid-template-columns:minmax(0,1fr) 80px;align-items:center;max-width:420px;margin:12px auto;display:grid}.turn-duration small{grid-column:1/-1}.ocean-canvas:before,.game-layout:before{opacity:.55;background-size:640px 420px}.ocean-canvas:after{content:"";pointer-events:none;opacity:.25;background:url(/art/ocean-ripples.svg) 190px 85px/920px 570px;position:absolute;inset:-70px}@media (prefers-reduced-motion:no-preference){.ocean-canvas:before,.game-layout:before{animation:12s linear infinite wave-roll,5s ease-in-out infinite alternate wave-breathe}.ocean-canvas:after{animation:19s linear infinite wave-roll-back}}@media (prefers-reduced-motion:reduce){.ocean-canvas:before,.game-layout:before,.ocean-canvas:after{animation:none}}@keyframes wave-roll{0%{background-position:0 0}to{background-position:640px 420px}}@keyframes wave-roll-back{0%{background-position:190px 85px}to{background-position:-730px 655px}}@keyframes wave-breathe{0%{opacity:.42;transform:translateY(-5px)scaleY(1)}to{opacity:.62;transform:translateY(8px)scaleY(1.04)}}.game-layout .ocean-hand{align-items:flex-end;width:max(120px,50% - 294px);display:flex;bottom:10px;right:auto}.ocean-hand .resource-hand{min-width:0;padding-bottom:0}.game-layout>.build-controls{align-items:flex-end}.game-layout>.build-controls .turn-timer{color:#fff5c0;text-shadow:0 1px 2px #003529;background:linear-gradient(160deg,#54b978 0%,#176d50 45%,#084c40 100%);border:2px solid #d7c777;border-radius:14px;flex:0 0 76px;justify-content:center;align-items:center;height:48px;margin-bottom:4px;padding:6px;font-size:17px;font-weight:800;display:flex;box-shadow:inset 0 2px 2px #efffb080,inset 0 -3px 3px #032e3080,0 3px 4px #052a4580}.game-layout>.build-controls .turn-timer-urgent{background:linear-gradient(160deg,#eab360,#943c2e)}.game-layout>.build-controls .end-turn-control{width:80px;height:56px;box-shadow:none;background:0 0;border:0;flex:0 0 80px;padding:0}.next-turn-art{object-fit:contain;filter:drop-shadow(0 3px 2px #062c4b80);width:100%;height:100%;display:block}@media (width<=1000px){.game-layout .ocean-hand{width:30%}.game-layout>.build-controls{flex-wrap:wrap;justify-content:center;width:calc(68% - 10px);max-width:none;height:auto;min-height:56px;left:auto;right:10px;transform:none}}@media (width<=600px){.game-layout>.build-controls button.icon-build-control{flex:0 0 44px;width:44px;min-width:44px}.game-layout>.build-controls .end-turn-control{flex:0 0 64px;width:64px}.game-layout>.build-controls .turn-timer{flex-basis:64px;height:44px;font-size:14px}.game-layout .table{padding-bottom:170px}}.ocean-hand .resource-hand{scrollbar-width:none}.ocean-hand .resource-hand::-webkit-scrollbar{display:none}.board-card-decks{z-index:3;pointer-events:none;flex-direction:column;gap:24px;width:150px;display:flex;position:absolute;top:36%;left:24px}.board-deck{flex-direction:column;align-items:center;gap:7px;display:flex}.board-deck>span{color:#fff4cf;text-shadow:0 1px 3px #00344e;font-size:11px;font-weight:700}.resource-deck-fan{width:120px;height:88px;position:relative}.resource-deck-fan>div{left:calc(7px + var(--fan) * 11px);top:calc(var(--fan) * -2px);transform:rotate(calc((var(--fan) - 2) * 9deg));transform-origin:bottom;position:absolute}.resource-deck-fan .resource-card{margin:0}.development-bank-deck>img{object-fit:contain;filter:drop-shadow(0 4px 3px #052c4980);width:82px;height:88px}.card-draw-flights{pointer-events:none;z-index:1000;position:fixed;inset:0}.card-draw-flight{width:59px;height:82px;animation:.9s cubic-bezier(.2,.7,.3,1) both card-draw-flight;position:fixed}.card-draw-flight .resource-card{width:59px;height:82px;margin:0}.resource-card-back{--card-fill:linear-gradient(140deg, #347896, #123e58);--card-edge:#e1c583}.resource-card-back svg{fill:none;stroke:#ffe5a3;stroke-width:2px;width:100%;height:100%}.stolen-card-flight{filter:drop-shadow(0 0 8px #ffd77888);animation-name:stolen-card-flight}@keyframes stolen-card-flight{0%{opacity:0;transform:translate(0)rotate(-8deg)scale(.8)}12%{opacity:1}45%{transform:translate(calc(var(--flight-x) * .45), calc(var(--flight-y) * .45 - 50px)) rotate(10deg) scale(1.1)}85%{opacity:1}to{opacity:0;transform:translate(var(--flight-x), var(--flight-y)) rotate(0) scale(var(--arrival-scale,.35))}}.flying-development-card{background:linear-gradient(145deg,#2a6380,#153c59);border:2px solid #dbc381;border-radius:7px;width:59px;height:82px;padding:3px;box-shadow:0 5px 12px #00274066}.flying-development-card img{object-fit:contain;width:100%;height:100%}@keyframes card-draw-flight{0%{opacity:0;transform:translate(0)rotate(-12deg)scale(.75)}12%{opacity:1}35%{transform:translate(calc(var(--flight-x) * .25), calc(var(--flight-y) * .15 - 55px)) rotate(8deg) scale(1.12)}85%{opacity:1}to{opacity:0;transform:translate(var(--flight-x), var(--flight-y)) rotate(0) scale(.9)}}@media (width<=1000px){.board-card-decks{gap:16px;width:90px;top:155px;left:12px}.resource-deck-fan{transform-origin:bottom;height:66px;transform:scale(.7)}.development-bank-deck>img{width:60px;height:66px}.board-deck>span{font-size:9px}}@media (prefers-reduced-motion:reduce){.card-draw-flights{display:none}}main.game-main:has(.game-surface){gap:0}main.game-main:has(.game-surface) header{min-height:44px;box-shadow:none;background:#075b76;border:0;border-radius:0;gap:10px;padding:5px 10px}main.game-main:has(.game-surface) .room-toolbar{min-height:44px;box-shadow:none;background:#075b76;border:0;border-radius:0;gap:10px;padding:5px 10px}main.game-main:has(.game-surface) .local-toolbar{min-height:44px;box-shadow:none;background:#075b76;border:0;border-radius:0;gap:10px;padding:5px 10px}main.game-main header{align-items:center;display:flex}main.game-main header .wordmark{letter-spacing:0;white-space:nowrap;font-size:15px}main.game-main header>.room-identity{color:#d5edf1;white-space:nowrap;align-items:center;gap:10px;font-size:11px;display:inline-flex}main.game-main .room-toolbar>span{display:none}.toolbar-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}main.game-main header .audio-settings-button,main.game-main header .hiscores-link,main.game-main .room-toolbar button,main.game-main .room-toolbar a,main.game-main .local-toolbar button{color:#e9f6ef;width:32px;min-width:32px;height:32px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:6px;text-decoration:none;display:inline-flex}main.game-main header .audio-settings-button>span,main.game-main header .hiscores-link>span,main.game-main .room-toolbar button>span,main.game-main .room-toolbar a>span,main.game-main .local-toolbar button>span{display:none}main.game-main header .audio-settings-button{margin-left:auto}main.game-main header button:hover,main.game-main header a.hiscores-link:hover,main.game-main .room-toolbar button:hover,main.game-main .room-toolbar a:hover,main.game-main .local-toolbar button:hover{background:#ffffff14;border-color:#bee2e955}.game-surface>.turn-banner.prominent-prompt{border-radius:9px;flex-wrap:wrap;align-self:flex-start;width:fit-content;max-width:min(560px,100%);min-height:40px;margin:8px 0 0;padding:7px 10px}.scoreboard-log{color:#244554;border-top:1px solid #c5d8d9;font-size:11px}.scoreboard-log summary{cursor:pointer;padding:12px 14px;font-weight:700}.scoreboard-log summary:hover{background:#e2eef0}.scoreboard-log summary:focus-visible{outline-offset:-2px;outline:2px solid #247c8d}.scoreboard-log ol{max-height:210px;margin:0;padding:0 14px 12px 30px;line-height:1.5;overflow-y:auto}.scoreboard-log li{margin-bottom:7px}@media (width>=1000px){.game-layout .players.scoreboard{max-height:calc(100% - 20px);overflow-y:auto}}@media (width<=999px){.game-layout .players.scoreboard{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.scoreboard-log{grid-column:1/-1}.scoreboard-log summary{padding:5px 12px}.scoreboard-log[open]{background:#f6f0e3}.scoreboard-log ol{max-height:130px}}@media (width<=600px){main.game-main header .wordmark{font-size:12px}main.game-main:has(.game-surface) header{gap:4px;padding:4px}main.game-main:has(.game-surface) .room-toolbar{gap:4px;padding:4px}main.game-main:has(.game-surface) .local-toolbar{gap:4px;padding:4px}.game-layout .table{padding-top:152px}.game-layout .players.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout .players.scoreboard .score-player{align-items:center;gap:5px;padding:5px;display:flex}.game-layout .players.scoreboard .score-stats{margin-top:0}}main.game-main:has(.game-surface){grid-template-columns:minmax(0,1fr) auto}@media (width>=1000px){.game-layout .scoreboard .score-player{padding:8px 10px}.game-layout .scoreboard .score-avatar{width:28px;height:28px}.game-layout .scoreboard .score-stats{margin-top:8px}.game-layout .scoreboard .score-stat{gap:2px;padding:2px;font-size:11px}.game-layout .scoreboard .score-sprite{width:24px;height:26px}.game-layout .scoreboard-log summary{padding:9px 12px}}@media (width<=600px){main.game-main .local-toolbar label{font-size:0}main.game-main .local-toolbar select{width:100px;padding:4px;font-size:11px}}.board-card-decks{flex-direction:row;align-items:center;gap:12px;width:auto;max-width:calc(100% - 260px);top:20px;left:24px}.bank-symbol{filter:drop-shadow(0 2px 2px #00334c80);flex-shrink:0;width:34px;height:40px}.resource-bank-deck{flex-direction:row;align-items:flex-end;gap:10px}.board-card-decks .resource-card{margin:0}.board-card-decks .bank-development-card{width:59px;height:82px;position:relative}@media (width<=1000px){.board-card-decks{transform-origin:0 0;gap:8px;max-width:calc(100% - 24px);top:152px;left:12px;transform:scale(.8)}}@media (width<=600px){.board-card-decks{top:160px;transform:scale(.7)}.game-layout .table{padding-top:228px}}main.game-main:has(.game-surface) header{background:0 0;min-height:52px}main.game-main:has(.game-surface) .room-toolbar{background:0 0;min-height:52px}main.game-main:has(.game-surface) .local-toolbar{background:0 0;min-height:52px}main.game-main header .wordmark{letter-spacing:.02em;text-shadow:0 2px 3px #00374f;font-size:22px}main.game-main .toolbar-icon,main.game-main .audio-settings-button svg.toolbar-icon{fill:none;stroke:none;filter:drop-shadow(0 2px 2px #00374f80);width:32px;height:32px}main.game-main header .audio-settings-button,main.game-main header .hiscores-link,main.game-main .room-toolbar>button{width:40px;min-width:40px;height:40px;padding:4px}main.game-main:has(.game-surface) header>.hiscores-link{display:inline-flex}main.game-main .room-identity .toolbar-icon{width:28px;height:28px}.toolbar-settings{position:relative}.toolbar-settings>summary{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;padding:4px;list-style:none;display:flex}.toolbar-settings>summary::-webkit-details-marker{display:none}.toolbar-settings>summary:hover{background:#ffffff14}.toolbar-settings>summary:focus-visible{outline:2px solid #ffe79c}.settings-menu{z-index:30;background:#fff2d7;border:1px solid #c7aa70;border-radius:8px;min-width:150px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 14px #00354e66}main.game-main .toolbar-settings .settings-menu button,main.game-main .toolbar-settings .settings-menu a{color:#25454d;width:100%;height:auto;box-shadow:none;text-align:left;background:0 0;border:0;padding:9px 10px;font-size:12px;text-decoration:none;display:block}main.game-main .toolbar-settings .settings-menu button:hover,main.game-main .toolbar-settings .settings-menu a:hover{background:#dcebe6}@media (width<=600px){main.game-main header .wordmark{font-size:16px}main.game-main .toolbar-icon,main.game-main .audio-settings-button svg.toolbar-icon{width:28px;height:28px}main.game-main header .audio-settings-button,main.game-main header .hiscores-link,main.game-main .room-toolbar>button,.toolbar-settings>summary{width:34px;min-width:34px;height:34px;padding:3px}}.board-card-decks{grid-template-columns:repeat(2,59px);justify-content:center;align-items:end;gap:18px 20px;width:138px;max-width:none;display:grid;top:14px;left:14px;right:auto;transform:none}.board-card-decks .bank-symbol{object-fit:contain;grid-column:1/-1;justify-self:center;width:68px;height:68px}.board-card-decks .resource-bank-deck{display:contents}.board-card-decks .development-bank-deck{margin:0}.game-layout>.build-controls .dice-control{box-shadow:none;background:0 0;border:0;outline:none;animation:none;position:relative}.game-layout>.build-controls .dice-control:focus-visible{outline-offset:2px;outline:2px solid #ffe6a0}.game-layout>.build-controls>button{isolation:isolate;position:relative}.game-layout>.build-controls>button:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(#ffe495aa 0%,#ffe49544 35%,#ffe49500 72%);border-radius:50%;position:absolute;inset:-14px}.game-layout>.build-controls>button:hover:before,.game-layout>.build-controls>button:focus-visible:before{opacity:1}main.game-main header button:hover,main.game-main header a.hiscores-link:hover,main.game-main .room-toolbar>button:hover,main.game-main .toolbar-settings>summary:hover{background:radial-gradient(#ffe49566,#ffe49500 72%);border-color:#0000}@media (width<=999px){.board-card-decks{grid-template-columns:repeat(2,42px);gap:12px 14px;width:106px;top:165px;left:10px;right:auto}.board-card-decks .bank-symbol{width:50px;height:50px}.board-card-decks .resource-card,.board-card-decks .bank-development-card{width:42px;height:60px}.board-card-decks .resource-card .card-art,.board-card-decks .resource-card .card-art .resource-icon{width:30px;height:30px}.board-card-decks .card-name{font-size:7px}.board-card-decks .card-count{font-size:12px}}main.game-main header,main.game-main .room-toolbar,main.game-main .local-toolbar{box-shadow:none;background:0 0;border:0}.game-context-notice{color:#e4f3ed;flex:none;align-self:flex-start;max-width:100%;margin:5px 0 0;padding:0 10px;font-size:11px;line-height:1.5}.game-surface>.action-confirmation{max-width:100%;box-shadow:none;color:#e4f3ed;background:0 0;border:0;flex:none;align-self:flex-start;margin:5px 0 0;padding:0 10px;position:static}main.game-main:has(.game-surface) header>.solo-topbar-notice{text-align:center;color:#e4f3ed;flex:1;min-width:0;padding:0 16px;font-size:11px;line-height:1.4;display:block}@media (width<=900px){main.game-main:has(.game-surface) header:has(.solo-topbar-notice){flex-wrap:wrap}main.game-main:has(.game-surface) header>.solo-topbar-notice{flex:180px;padding:4px 8px}}.resource-card.development-card-back{--card-fill:linear-gradient(135deg, #274c75, #143455);--card-edge:#d2ba83;background:0 0;border:0;padding:0}.development-back-art{object-fit:fill;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}button.development-card{isolation:isolate;--card-fill:linear-gradient(135deg, #2b5278, #173b61);--card-edge:#c8a96e}button.development-card .development-count{color:#fff7d5;background:linear-gradient(#22789a,#155675);border:1px solid #a3e0dd;border-radius:4px;padding:1px 5px;font-size:16px;position:absolute;top:-6px;right:-5px;box-shadow:0 2px #063245}.resource-hand .development-hand-cards{gap:12px}main:has(>.page-header){padding-top:56px}main.game-main:has(.game-surface){grid-template-rows:minmax(0,1fr)}main.setup-main{grid-template-rows:1fr auto}main>header.page-header{z-index:50;width:100%;max-width:none;height:56px;min-height:56px;box-shadow:none;background:0 0;border:0;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px;margin:0;padding:5px 22px;display:flex;position:fixed;inset:0 0 auto}main>header.page-header a.wordmark{color:#ffdc7d;letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 3px #00374f;font-size:22px;font-weight:700;line-height:1}main>header.page-header>.room-identity{color:#d5edf1;align-items:center;gap:10px;font-size:11px;display:inline-flex}main>header.page-header>.solo-topbar-notice{text-align:center;color:#e4f3ed;flex:1;min-width:0;font-size:11px;display:block}.page-header-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}main>header.page-header .page-header-actions>button,main>header.page-header .page-header-actions>a,main>header.page-header .toolbar-settings>summary{color:#e9f6ef;width:40px;min-width:40px;height:40px;box-shadow:none;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:4px;text-decoration:none;display:inline-flex}main>header.page-header .page-header-actions>button>span{display:none}main>header.page-header .toolbar-icon{fill:none;stroke:none;filter:drop-shadow(0 2px 2px #00374f80);width:32px;height:32px}main>header.page-header .room-identity .toolbar-icon{width:28px;height:28px}main>header.page-header .page-header-actions>button:hover,main>header.page-header .page-header-actions>a:hover,main>header.page-header .toolbar-settings>summary:hover{background:radial-gradient(#ffe49566,#ffe49500 72%)}main>header.page-header .settings-menu a{color:#25454d;padding:9px 10px;font-size:12px;text-decoration:none;display:block}@media (width<=600px){main>header.page-header{gap:6px;padding:5px 12px}main>header.page-header a.wordmark{font-size:16px}.page-header-actions{gap:4px}main>header.page-header .page-header-actions>button,main>header.page-header .page-header-actions>a,main>header.page-header .toolbar-settings>summary{width:32px;min-width:32px;height:32px}main>header.page-header .toolbar-icon{width:26px;height:26px}main>header.page-header>.solo-topbar-notice{display:none}}main:has(>.page-header)>header.page-header{z-index:50;flex-wrap:nowrap;padding:5px 22px;position:fixed}@media (width<=600px){main:has(>.page-header)>header.page-header{padding:5px 12px}}main.lobby-main{grid-template-rows:1fr auto;max-width:none;min-height:100dvh;padding:56px 24px 16px;display:grid}.lobby-layout{grid-template-columns:minmax(400px,600px) minmax(480px,1fr);place-self:center;align-items:center;gap:clamp(24px,4vw,64px);width:min(100%,1280px);margin:28px 0;display:grid}.lobby-layout>.lobby{width:100%;min-width:0;margin:0}@media (width<=1000px){.lobby-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:650px}}.lobby-main>footer{align-self:end;width:100%}.invite-lobby{text-align:left;place-self:center;width:min(100%,480px);margin:28px 0}.invite-lobby form{gap:16px;display:grid}.homepage-logo{color:#ffdc7d;letter-spacing:.02em;white-space:nowrap;text-shadow:0 3px 5px #00374f;justify-content:center;align-items:center;gap:12px;margin:0 0 30px;font-size:clamp(30px,5vw,48px);font-weight:800;line-height:1.1;display:flex}.homepage-logo>span{font-size:1.3em}.turn-duration{max-width:none;margin:16px 0;display:block}.number-setting{justify-content:space-between;align-items:center;gap:16px;margin:12px 0;display:flex}.number-stepper{flex-shrink:0;align-items:center;gap:10px;display:flex}.action-panel .number-stepper button{width:36px;height:36px;margin:0;padding:0;font-size:24px;line-height:1}.number-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-size:22px;font-weight:800}.game-size-options{border:0;gap:10px;padding:10px 0;display:flex}.game-size-options legend{font-weight:700}.game-size-options button{flex:1;margin:0;padding:10px}.game-size-options button small{margin-top:4px;font-size:11px;display:block}.game-size-options button[aria-pressed=true]{background:linear-gradient(#d5edbe,#9cce7d);border-color:#387f46;box-shadow:0 0 0 2px #387f4655}@media (width>=1000px){.players.scoreboard{max-height:calc(100dvh - 175px);overflow-y:auto}}.game-layout .board-wrap>svg{width:100%;max-width:none;height:100%;max-height:none;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}main.hiscores-page{color:#fff5df;grid-template-rows:1fr auto;max-width:none;min-height:100dvh;padding:56px 24px 16px;display:grid}.hiscores-content{place-self:center;width:min(100%,640px);padding:28px 0}.hiscores-intro{text-align:center;margin-bottom:22px}main.hiscores-page .hiscores-emblem .toolbar-icon{filter:drop-shadow(0 4px 5px #00374f80);width:56px;height:56px;margin:0 auto 12px}.hiscores-intro .eyebrow{color:#c6e6e9;margin-bottom:8px}.hiscores-intro h1{color:#ffe09a;text-shadow:0 2px 3px #00374f;margin-bottom:10px;font-family:inherit;font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.15}.hiscores-intro>p:last-child{color:#d3eef0;margin:0;font-size:13px;line-height:1.6}.hiscores-panel{margin:0;padding:18px;overflow:hidden}.hiscores-panel .your-score{color:#315640;background:#dfeacb;border:1px solid #a8c29c;margin:0 0 14px;padding:12px 14px;font-size:13px;line-height:1.6}.hiscores-table{scrollbar-color:#bba17b #f4ecd9;background:#faf6eb;border:1px solid #d5c39c;border-radius:9px;max-height:min(42dvh,440px);overflow:auto}.hiscores-table:focus-visible{outline-offset:3px;outline:2px solid #a47b34}.hiscores-panel th{z-index:1;color:#61736b;letter-spacing:.08em;background:#e9ddc2;padding:11px 14px;font-size:10px;position:sticky;top:0}.hiscores-panel th:first-child{width:72px}.hiscores-panel th:last-child{text-align:right;width:78px}.hiscores-panel td{color:#2e4d4b;border-bottom:1px solid #e5d9c1;padding:11px 14px;font-size:14px}.hiscores-panel td:nth-child(2){font-weight:700}.hiscores-panel td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-size:20px}.hiscores-panel tbody tr:last-child td{border-bottom:0}.hiscores-panel tbody tr:nth-child(2n){background:#f1ebdd}.hiscores-panel tbody tr.your-row{background:#e2edcf}.rank-badge{color:#61736b;background:#e6e3d8;border-radius:50%;place-items:center;min-width:30px;height:30px;font-size:12px;font-weight:800;display:inline-grid}.rank-badge.podium-rank{color:#765220;background:linear-gradient(#fff0b4,#e5be64);border:1px solid #c5a058}.hiscores-panel .small-note{color:#6b7868;text-align:center;margin:14px 0 0;font-size:11px;line-height:1.6}.hiscores-panel>p{font-size:13px;line-height:1.6}.hiscores-page>footer{color:#d3eef0;padding:12px 0 0;font-size:11px}.lobby-players li{align-items:center;gap:10px;padding:10px 0;display:flex}.lobby-player-name{overflow-wrap:anywhere;flex:1;min-width:0}.lobby-player-colour{border:2px solid #fff5df;border-radius:50%;flex:none;width:20px;height:20px;box-shadow:0 0 0 1px #526a5a66}.lobby-colour-picker{border:0;margin:18px 0;padding:0}.lobby-colour-picker legend{margin-bottom:10px;font-size:13px;font-weight:700}.lobby-colour-options{flex-wrap:wrap;gap:10px;display:flex}.lobby-colour-options button{color:#fff;background-image:none;border:2px solid #fff5df;border-radius:50%;width:32px;min-width:32px;height:32px;margin:0;padding:0;box-shadow:0 0 0 1px #526a5a66}.lobby-colour-options button[aria-pressed=true]{outline-offset:3px;outline:2px solid #315640}.lobby-colour-options button:disabled{opacity:.25}.lobby-colour-picker small{color:#6b7868;margin-top:10px;font-size:11px;display:block}.score-player-body{min-width:0}@media (width>=1000px){.game-layout .players.scoreboard{width:288px}.game-layout .players.scoreboard .score-player{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:6px 10px 6px 12px;display:grid}.game-layout .scoreboard .score-avatar{width:36px;height:36px;margin-bottom:4px}.game-layout .scoreboard .score-identity{gap:5px;min-height:15px}.game-layout .scoreboard .score-identity strong{font-size:12px}.game-layout .players.scoreboard .score-stats{gap:4px;margin-top:2px}.game-layout .scoreboard .score-stat{flex-direction:row;justify-content:center;gap:3px;padding:1px;font-size:12px}.game-layout .scoreboard .score-sprite{width:20px;height:22px}.game-layout .scoreboard-heading,.game-layout .score-private,.game-layout .scoreboard-log summary{padding:8px 12px}}@media (width<=999px){.game-layout .players.scoreboard .score-player{align-items:center;gap:7px;display:flex}.score-player-body{flex:1}}@media (width<=600px){main.hiscores-page{padding-left:14px;padding-right:14px}.hiscores-content{padding:20px 0}.hiscores-panel{padding:12px}.hiscores-page>footer{text-align:center;justify-content:center}}.character-portrait{filter:drop-shadow(0 2px 2px #25334130);flex-shrink:0;width:68px;height:68px}.character-full{width:200px;max-width:100%;height:330px}.character-creator{color:#fff6df;text-shadow:0 2px 4px #034762;min-width:0;padding:8px 0}.character-creator>.eyebrow{color:#f4daa5;margin:0 0 8px}.character-creator>h2{margin:0;font-size:clamp(24px,2.5vw,34px)}.character-editor{grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:20px;margin-top:16px;display:grid}.character-preview{flex-direction:column;align-items:center;padding:0;display:flex}.character-preview span{text-align:center;margin-top:10px;font-size:12px}.character-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.character-choice{border:0;min-width:0;margin:0;padding:0}.character-choice legend{margin-bottom:5px;padding:0;font-size:14px}.character-cycle{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:3px;display:grid}.character-cycle button{min-height:36px;text-shadow:none;border-radius:6px;padding:0;font-size:26px;line-height:1}.character-choice-value{text-align:center;overflow-wrap:anywhere;font-size:13px}.character-buttons{grid-column:1/-1;gap:8px;margin-top:8px;display:flex}.score-avatar>.character-portrait{width:100%;height:100%;fill:initial}.turn-banner>.character-portrait{width:72px;height:72px}.mandatory-action button .character-portrait{vertical-align:middle;margin-right:10px}.final-score>.character-full{margin:0 auto;display:block}@media (width<=600px){.character-editor{grid-template-columns:1fr}.character-preview .character-full{height:260px}}.score-avatar{box-shadow:none;background:0 0;border:0;border-radius:0}.score-avatar>.character-portrait{stroke:none}.character-preview>.character-portrait{width:96px;height:96px}.game-layout .scoreboard .score-avatar{width:54px;height:54px;margin:0 2px 6px 0}@media (width<=600px){.game-layout .scoreboard .score-avatar{width:46px;height:46px}.turn-banner>.character-portrait{width:62px;height:62px}}.character-colours{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.character-colours legend{margin-bottom:8px;padding:0;font-size:14px}.character-swatches{flex-wrap:wrap;gap:12px;display:flex}.character-swatch{cursor:pointer;position:relative}.character-swatch input{opacity:0;width:1px;height:1px;position:absolute}.character-swatch span{border:2px solid #fff5df80;border-radius:50%;width:36px;height:36px;display:block;box-shadow:0 2px 5px #03476255}.character-swatch input:checked+span{outline-offset:3px;border-color:#fff6df;outline:2px solid #e7c076}.character-swatch input:focus-visible+span{outline-offset:4px;outline:3px solid #fff}.character-buttons button{text-shadow:none}@media (width<=600px){main.lobby-main{padding-left:16px;padding-right:16px}.character-editor{grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:12px}.character-controls{gap:10px}.character-preview>.character-portrait{width:76px;height:76px}.character-swatches{gap:10px}.character-swatch span{width:30px;height:30px}.character-buttons{flex-wrap:wrap}.character-editor{grid-template-columns:1fr}.character-preview{grid-template-columns:1fr 1fr;justify-items:center;display:grid}.character-preview span{grid-column:1/-1}}.character-eye-colours .character-swatches{flex-wrap:nowrap}.character-randomise{width:52px;height:52px;padding:6px}.character-randomise svg{width:100%;height:100%;display:block}.character-swatch:has(input:disabled){cursor:default;opacity:.65}.character-colour-row{grid-column:1/-1;min-width:0}.character-colour-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.character-colour-pair .character-colours{grid-column:auto}.character-colour-pair .character-swatches{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.character-colour-pair .character-swatch span{aspect-ratio:1;width:100%;max-width:30px;height:auto}.game-surface>.turn-banner.prominent-prompt{width:fit-content;max-width:min(760px,100%);box-shadow:none;color:#fff6df;text-shadow:0 2px 4px #034762;background:0 0;border:0;border-radius:0;justify-content:center;align-self:center;margin:8px auto 0;padding:8px 12px}.turn-banner .prompt-copy{text-align:center;flex:0 auto}.turn-banner .prompt-heading{justify-content:center}.turn-banner .prompt-detail,.turn-banner .turn-count{color:#e0f3f4}.turn-banner .action-badge{color:#ffe29d;background:0 0;padding:0}@media (width<=760px){.game-surface>.turn-banner.prominent-prompt{gap:8px}.turn-banner .prompt-copy{flex:0 auto}.turn-banner .table-tools{margin-left:0}}.character-heading{align-items:center;gap:14px;display:flex}.character-heading h2{margin:0;font-size:clamp(24px,2.5vw,34px)}.character-heading .character-randomise,.character-heading .character-randomise:hover,.character-heading .character-randomise:disabled{box-shadow:none;filter:drop-shadow(0 2px 2px #03476244);background:0 0;border:0;flex:none;width:54px;height:54px;padding:0}.character-heading .character-randomise:hover:not(:disabled){transform:translateY(-2px)rotate(-5deg)}.character-heading .character-randomise:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #fff3d3}.game-surface>.turn-banner.prominent-prompt{outline:none;animation:none}.lobby-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.lobby-heading .eyebrow{margin:0 0 6px}.lobby-heading h2{margin:0;font-size:24px}.lobby .invite-players-button{white-space:nowrap;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:12px;display:inline-flex}.invite-players-button .toolbar-icon{width:18px;height:18px}.lobby-layout .lobby-players{margin:0 0 12px;padding:0}.lobby-layout .lobby-players li{align-items:center;gap:12px;padding:12px 0;display:flex}.lobby-player-name{font-size:12px;line-height:1.5}.lobby .lobby-player-status{color:#627269;margin:3px 0 0;font-size:11px;display:block}.lobby-player-colours{flex-shrink:0;margin-left:auto}.lobby-player-colours .lobby-colour-picker{border:0;margin:0;padding:0}.lobby-player-colours .lobby-colour-picker legend{margin:0 0 6px;font-size:11px}.lobby-player-colours .lobby-colour-picker small{display:none}.lobby-player-colours .lobby-colour-options{flex-wrap:nowrap;gap:6px}.lobby-player-colours .lobby-colour-options button{width:24px;min-width:24px;height:24px;font-size:12px}.lobby-layout .game-size-options{margin:22px 0;padding:8px 0 0}.lobby-settings-row{border-top:1px solid #bca67e55;border-bottom:1px solid #bca67e55;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 0;display:grid}.lobby-settings-row .number-setting{flex-direction:column;align-items:flex-start;gap:10px;margin:0}.lobby-settings-row .number-setting>span{font-size:13px;font-weight:700}.lobby-settings-row .turn-duration{min-width:0;margin:0}.lobby-settings-row .turn-duration small{color:#657365;margin-top:10px;font-size:10px;line-height:1.5;display:block}.lobby-start-row{gap:12px;margin-top:22px;display:flex}.lobby-start-row>button{flex:1;margin:0}.lobby .lobby-bots-help{color:#657365;margin:12px 0 0;font-size:11px}@media (width<=600px){.lobby-layout>.lobby{padding:20px}.lobby-heading{gap:10px}.lobby-heading h2{font-size:20px}.lobby .invite-players-button{padding:8px;font-size:11px}.lobby-layout .lobby-players li{gap:8px}.lobby-players .character-portrait{width:50px;height:50px}.lobby-player-colours .lobby-colour-options{grid-template-columns:repeat(4,24px);gap:6px;display:grid}.lobby-settings-row{gap:16px}.lobby-start-row>button{padding:10px 6px;font-size:12px}}.lobby-settings-row>.turn-duration{grid-column:auto}.lobby .lobby-player-name,.lobby .lobby-player-name strong{display:block}.lobby-settings-row .number-setting{justify-content:flex-start}.lobby .lobby-player-status{float:none}.action-panel,.game-layout .players.scoreboard{box-shadow:none;filter:drop-shadow(0 5px 6px #032c4055);color:#4c3929;text-shadow:none;background:url(/art/parchment.svg) 50%/100% 100% no-repeat;border:0;border-radius:0}.character-creator{padding:8px 0}.character-creator>.eyebrow{color:#f4daa5}.lobby-heading h2,.action-panel h2{color:#493426;font-family:Georgia,Times New Roman,serif}.character-choice legend,.character-colours legend{color:#f4daa5;font-weight:600}.character-heading h2,.character-choice-value,.character-preview span{color:#fff6df;text-shadow:0 2px 4px #034762}.character-swatch span{border-color:#78573766;box-shadow:0 1px 2px #76553633}.character-swatch input:checked+span{border-color:#f7edcf;outline-color:#fff6df}.character-swatch input:focus-visible+span{outline-color:#fff6df}.character-heading .character-randomise{filter:drop-shadow(0 2px 2px #76553644)}.character-heading .character-randomise:focus-visible{outline-color:#194e60}.game-layout .players.scoreboard{padding:12px 8px}.scoreboard .score-player{color:#4c3929;border-bottom-color:#95704433}.scoreboard .score-player.active{background:#b0873d19}.scoreboard .score-identity strong{color:#493426;font-family:Georgia,Times New Roman,serif;font-weight:700}.scoreboard .score-stats,.scoreboard .score-private,.scoreboard .scoreboard-log,.scoreboard .scoreboard-heading{color:#795b3a;background:0 0;border-color:#95704433}.scoreboard .score-stat{background:0 0}.scoreboard .scoreboard-log summary:hover{background:#b0873d19}.scoreboard .score-points{color:#493426;background:#f5e8c3;border-color:#ad8856}.lobby-layout>.lobby{padding:30px}@media (width<=600px){.character-creator{padding:8px 0}.character-heading{gap:8px}.character-heading h2{font-size:24px}.character-heading .character-randomise{width:46px;height:46px}.lobby-layout>.lobby{padding:24px}.game-layout .players.scoreboard{padding:8px 6px}}@media (width>=1000px){.game-layout .players.scoreboard .score-player{grid-template-columns:54px minmax(0,1fr)}}.game-layout>.build-controls .robber-control-prompt{color:#fff4cf;text-align:center;white-space:nowrap;text-shadow:0 2px 4px #034762;pointer-events:none;margin:0;font-size:20px;font-weight:700;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.trade-side-actions button,.trade-side-actions button:hover{box-shadow:none;text-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;padding:8px;display:grid}.trade-side-actions button>img{filter:drop-shadow(0 3px 3px #032c4055);transition:transform .12s}.trade-side-actions button:hover:not(:disabled)>img{transform:scale(1.08)}.trade-side-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff6df}.trade-side-actions button>img{object-fit:contain;width:76px;max-width:100%;height:76px}@media (prefers-reduced-motion:no-preference){.placed-piece{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out piece-land}}@keyframes piece-land{0%{opacity:0;transform:translateY(-18px)scale(1.15)}65%{opacity:1;transform:translateY(2px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.ocean-hand .trade-dock{grid-template-columns:minmax(0,1fr) 72px;gap:6px;width:min(560px,100vw - 40px)}.ocean-hand .trade-composer{padding:8px}.trade-composer .trade-heading{margin-bottom:6px}.trade-composer .request-palette{gap:8px;padding:2px 4px 8px}.trade-composer .trade-card-row{gap:6px;min-height:48px;padding:4px 0}.trade-composer .trade-card-row>strong{width:74px}.trade-composer .trade-card-row>div{gap:8px;padding-left:0}.trade-composer .trade-help{margin:6px 0 0;line-height:1.35}.trade-side-actions button>img{width:64px;height:64px}@media (width<=600px){.trade-composer .trade-card-row>strong{width:auto}.trade-composer .request-palette{gap:6px}}.game-layout .open-offers-box{width:min(380px,100% - 184px);max-height:none;padding:7px 8px;top:14px;left:168px;overflow:visible}.open-offers-box h3{margin-bottom:3px}.open-offers-box .open-offer-row,.open-offers-box .accepted-offer-row{gap:6px;padding:4px 0}.open-offers-box .accepted-offer-row{padding:4px 6px}.open-offers-box .resource-card.compact{width:26px;height:36px}.open-offers-box .card-art,.open-offers-box .card-art .resource-icon{width:20px;height:20px}.open-offers-box .offer-actions button{padding:4px 6px}@media (width<=999px){.game-layout .open-offers-box{width:min(380px,100% - 140px);max-height:none;top:165px;left:128px}}@media (width<=600px){.open-offers-box .open-offer-row{flex-wrap:wrap}.open-offers-box .open-offer-row>strong{max-width:none}.open-offers-box .open-offer-row .offer-card-exchange{flex-basis:100%}}.trade-ratios{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;display:flex}.trade-ratio{align-items:center;gap:4px;font-size:12px;display:inline-flex}.trade-ratio>span{display:inline-flex}.action-panel,.game-layout .players.scoreboard{background:url(/art/parchment-roll-top.svg) top/100% 32px no-repeat,url(/art/parchment-roll-bottom.svg) bottom/100% 32px no-repeat,url(/art/parchment.svg) 50%/100% 100% no-repeat}.game-layout .players.scoreboard{scrollbar-gutter:stable;padding-top:32px;padding-bottom:32px}.game-layout .players.scoreboard>*{flex-shrink:0}.game-layout .players.scoreboard .scoreboard-heading{align-items:center;min-height:32px}.scoreboard .scoreboard-log[open]{background:0 0}@media (width>=1000px){.game-layout .players.scoreboard{overflow-y:auto}.game-layout .players.scoreboard .scoreboard-log ol{scrollbar-gutter:stable;max-height:min(180px,24dvh);overflow-y:auto}}.lobby-layout>.lobby{padding-top:40px;padding-bottom:40px}@media (width>=1000px){.game-layout .players.scoreboard{scrollbar-gutter:auto;overflow:hidden}.game-layout .players.scoreboard .scoreboard-log{flex-direction:column;flex-shrink:1;min-height:0;display:flex}.game-layout .players.scoreboard .scoreboard-log summary{flex-shrink:0}.game-layout .players.scoreboard .scoreboard-log ol{min-height:0}.game-layout .players.scoreboard .scoreboard-log::details-content{flex-direction:column;min-height:0;display:flex;overflow:hidden}.game-layout .players.scoreboard .scoreboard-log ol{flex-shrink:1}}.trade-heading-actions{align-items:center;gap:6px;display:flex}.trade-heading .trade-heading-actions button,.trade-heading .trade-heading-actions button:hover{width:32px;height:32px;box-shadow:none;background:0 0;border:0;place-items:center;padding:2px;display:grid}.trade-heading-actions svg{filter:drop-shadow(0 1px 1px #76553655);width:28px;height:28px}.trade-heading-actions button:hover svg{transform:scale(1.08)}.trade-heading-actions button:focus-visible{outline-offset:2px;outline:2px solid #194e60}.placed-piece{transform-box:fill-box;transform-origin:50%;animation:none}@media (width>=1000px){.game-surface{position:relative}.game-surface>.turn-banner.prominent-prompt{z-index:5;max-width:min(760px,100% - 620px);margin:0;position:absolute;top:8px;left:50%;transform:translate(-50%)}.game-surface>.game-layout{margin-top:0}.game-layout .board-card-decks,.game-layout .players.scoreboard,.game-layout .open-offers-box{top:8px}.game-layout .table{padding-top:100px}}.help-button,.help-button:hover{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:60;width:48px;height:56px;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:grid;position:fixed}.help-button img{object-fit:contain;filter:drop-shadow(0 3px 3px #032b4c66);width:100%;height:100%}.help-button:hover img{transform:scale(1.08)}.help-button:focus-visible{outline-offset:4px;outline:2px solid #fff6df}.game-dialog:has(.how-to-play-guide){color:#493426;background:#f3e4bb url(/art/parchment.svg) 50%/100% 100%;width:min(740px,100vw - 24px);max-height:calc(100dvh - 40px);overflow-y:auto}.how-to-play-guide{padding:6px 10px 18px;font-size:14px;line-height:1.5}.how-to-play-guide section{margin-top:20px}.how-to-play-guide h2{margin:0 0 8px;font-family:Georgia,serif;font-size:20px}.how-to-play-guide h3{margin:0 0 4px;font-size:15px}.how-to-play-guide p{margin:0 0 8px}.help-intro{font-size:16px}.help-turn-steps{margin:0;padding:0;list-style:none}.help-turn-steps li,.help-build-row,.help-action-row{align-items:flex-start;gap:14px;margin:12px 0;display:flex}.help-step-icon,.help-action-icon{object-fit:contain;flex:0 0 48px;width:48px;height:48px}.help-step-icon{place-items:center;display:grid}.help-step-icon>.building-icon{width:48px;height:48px}.help-step-icon .dice-control{box-shadow:none;opacity:1;background:0 0;border:0;padding:4px;transform:scale(.8)}.help-cost,.help-cost>span{align-items:center;gap:5px;display:flex}.help-cost{flex-wrap:wrap;gap:12px}@media (width<=600px){body:has(.game-surface) .help-button{bottom:calc(76px + env(safe-area-inset-bottom));width:36px;height:42px;right:8px}.how-to-play-guide{padding:4px 0 12px}}.game-dialog:has(.how-to-play-guide) .dialog-heading{z-index:2;position:sticky;top:0}.configuration-page{color:#fff6df;min-height:100dvh;padding:80px 20px 90px}.configuration-page .ocean-canvas{z-index:-1;position:fixed;inset:0}.configuration-content{width:min(820px,100%);margin:0 auto}.configuration-content h1{margin:8px 0;font-family:Georgia,serif;font-size:36px}.config-section{color:#493426;background:#f3e4bb url(/art/parchment.svg) 50%/100% 100%;border-radius:8px;margin-top:24px;padding:20px 24px}.config-section h2{margin:0 0 12px;font-family:Georgia,serif}.config-option{cursor:pointer;border-bottom:1px solid #95704433;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.config-option input{accent-color:#387f46;flex:none;width:19px;height:19px;margin-top:3px}.config-option small{margin-top:4px;line-height:1.4;display:block}.config-audience{color:#85623f}.config-search{gap:6px;display:grid}.config-search input{width:100%;padding:10px}html[data-ocean-motion=false] .ocean-canvas:before,html[data-ocean-motion=false] .ocean-canvas:after,html[data-ocean-motion=false] .water-waves,html[data-robber-blink=false] .robber-halo{animation:none}html[data-captains-log=false] .scoreboard-log,html[data-resource-hints=false] .build-controls .purchase-cost,html[data-turn-details=false] .turn-banner .prompt-detail{display:none}@media (width<=600px){.config-section{padding:16px}}.game-dialog{color:#493426;box-shadow:none;filter:drop-shadow(0 12px 24px #00182b88);background:url(/art/parchment-roll-top.svg) top/100% 32px no-repeat,url(/art/parchment-roll-bottom.svg) bottom/100% 32px no-repeat,url(/art/parchment.svg) 50%/100% 100% no-repeat;border:0;border-radius:0;padding:32px 16px}.game-dialog .action-panel{filter:none;background:0 0}.game-dialog .dialog-heading{color:#493426;background:0 0;padding:8px 10px 12px}.game-dialog:has(.how-to-play-guide){background:url(/art/parchment-roll-top.svg) top/100% 32px no-repeat,url(/art/parchment-roll-bottom.svg) bottom/100% 32px no-repeat,url(/art/parchment.svg) 50%/100% 100% no-repeat;flex-direction:column;display:flex;overflow:hidden}.game-dialog:has(.how-to-play-guide) .dialog-heading{flex-shrink:0;position:static}.how-to-play-guide{min-height:0;padding:6px 10px 12px;overflow-y:auto}main>footer{padding-right:80px}.music-track-setting{border-bottom:1px solid #95704433;gap:8px;padding-bottom:16px;font-weight:700;display:grid}.music-track-setting select{color:#493426;background:#fff6dc;border:1px solid #ad8856;border-radius:6px;padding:9px 12px}.music-track-setting small{font-weight:400;line-height:1.4}
