.page-games{min-width:0}
.game-lobby>*{min-width:0}
.game-lobby .button{white-space:normal}
.game-kind-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-kind-picker button[data-kind="bridges"]{--kind-accent:#227e9c;--kind-border:#c9e4ec;--kind-wash:#e0f2f7;--kind-shadow:#227e9c24;background:linear-gradient(120deg,#fffefa,#edf8fb);color:#21566b}
.game-kind-picker button[data-kind]{grid-template-columns:64px minmax(0,1fr);padding-left:12px;gap:6px 8px}
.game-kind-picker .game-kind-icon{width:64px;height:72px}
.game-kind-picker strong{font-size:17px}
.game-kind-picker .game-kind-favorite{position:static;align-self:flex-end;width:auto;height:auto;min-height:40px;max-width:100%;padding:8px 12px;border:1px solid #ded8e8;border-radius:20px;display:inline-flex;gap:7px;font:inherit;font-size:12px;white-space:nowrap;transform:none}
.game-kind-favorite svg{flex:none;width:19px;height:19px}
.game-kind-favorite:focus-visible{outline:3px solid #8a60bd;outline-offset:3px}
.bridge-intro{padding:24px;border:1px solid #c9e4ec;border-radius:24px;background:linear-gradient(135deg,#edf8fb,#f6f9ef);color:#244b57}
.bridge-intro h3{margin:8px 0 12px;font-size:26px}.bridge-intro p{line-height:1.65}.bridge-intro ul{padding-left:22px;line-height:1.8}
.bridge-intro-art{float:right;width:112px;height:112px;margin:0 0 12px 20px}
.is-bridge-room .game-shell>.adventure-entry{display:none}
.is-bridge-room .game-boards{width:100%;max-width:780px}
.bridge-board{width:100%;padding:20px;border-radius:26px;background:#fbfefd;border:1px solid #c8e4e5;box-shadow:0 12px 40px #2058660c}
.bridge-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bridge-heading h3{margin:0;color:#244b57;font-size:23px}.bridge-round{color:#32778a;font-weight:800;font-size:14px}
.bridge-status{margin:12px 0 16px;color:#506770;font-size:13px;line-height:1.65;min-height:22px}
.bridge-goal{margin:10px 0 12px;color:#315b5c;font-size:14px;line-height:1.55}
.bridge-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:0;list-style:none}.bridge-steps li{padding:8px 10px;background:#edf2f1;border-radius:10px;color:#516765;font-size:12px;line-height:1.45}.bridge-steps li.is-current{background:#d5ece6;color:#18594d;font-weight:800}
.bridge-guide{padding:14px 16px;margin-bottom:10px;border:1px solid #d9e3e5;border-radius:16px;background:#f0f5f6;color:#365767}.bridge-guide.is-active{background:#e7f5f1;border-color:#8cc4b6}.bridge-guide-title{display:block;font-size:17px;line-height:1.4}.bridge-guide-text{margin:5px 0 0;font-size:13px;line-height:1.6}
.bridge-move-options{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.bridge-move-options .button{padding:10px 12px;min-height:44px;border:1px solid #7cabb9;background:#edf7fa;color:#215b70;font-size:13px;white-space:normal}.bridge-move-options .button:disabled{background:#f0f3f4;color:#697980;border-color:#d5dfe2;opacity:1}
.bridge-action{flex:1 1 160px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.bridge-action-reason{display:block;color:#60727a;font-size:12px;line-height:1.4}.bridge-actions .button:disabled{background:#eef1f1;color:#69777c;border:1px solid #d8e0e1;box-shadow:none;opacity:1}.bridge-turn-note{margin:12px 0 14px;font-size:12px;line-height:1.55;color:#586d75}
.bridge-board[data-owner="0"]{--bridge-own:#147d70}.bridge-board[data-owner="1"]{--bridge-own:#8651bb}.bridge-board .bridge-island.is-current{border-color:var(--bridge-own);box-shadow:0 5px 0 #d8ca99,0 9px 0 #ffffff3d}.bridge-location{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:9px;background:var(--bridge-own);color:white;white-space:nowrap;font-size:11px;font-weight:800;line-height:1.2}
.bridge-map{position:relative;width:100%;aspect-ratio:1.35;min-height:380px;isolation:isolate;overflow:hidden;border-radius:22px;background:radial-gradient(ellipse at 20% 20%,#ffffff99,transparent 45%),repeating-linear-gradient(170deg,transparent 0 30px,#ffffff20 31px 33px,transparent 34px 60px),linear-gradient(155deg,#cdeef0,#a8d9e7)}
.bridge-paths{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.bridge-paths line{stroke:#c19b65;stroke-width:1.8;stroke-linecap:round}.bridge-paths .is-single{stroke:#687889;stroke-width:1.5;stroke-dasharray:2 1.5}.bridge-paths .is-broken{opacity:.14;stroke-dasharray:.5 2}
.bridge-island{position:absolute;transform:translate(-50%,-50%);width:26%;max-width:142px;min-height:94px;padding:8px 5px 19px;border:2px solid #dbce9e;border-radius:36% 42% 30% 35%;background:linear-gradient(#f3fae4,#e2efc3);box-shadow:0 5px 0 #d8ca99,0 9px 0 #ffffff3d;color:#2f513e;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:1}
.bridge-island:disabled{opacity:1;color:#2f513e;cursor:default}.bridge-island-art{font-size:25px;line-height:1.1}.bridge-island-name{font-size:13px;line-height:1.4}.bridge-parcel{font-size:12px;line-height:1.4;color:#546a4c;white-space:normal}
.bridge-island.is-reachable{cursor:pointer;outline:3px solid #227e9c;outline-offset:4px}.bridge-island.is-reachable:hover{background:#f8ffe7;box-shadow:0 5px 0 #d8ca99,0 9px 0 #ffffff3d,0 0 0 8px #fff5}.bridge-island:focus-visible{outline:3px solid #684eae;outline-offset:5px}.bridge-island.is-home{border-color:#6a9d73}
.bridge-couriers{position:absolute;bottom:-13px;display:flex;gap:5px}.bridge-courier{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:2px solid #fff;color:#fff;font-size:13px;font-weight:800;box-shadow:0 2px 5px #1d495a33}.bridge-courier.owner-0{background:#147d70}.bridge-courier.owner-1{background:#8651bb}
.bridge-legend{font-size:12px;color:#607681;line-height:1.6;margin:14px 0}.bridge-actions{display:flex;gap:8px;flex-wrap:wrap}.bridge-actions .button{font-size:13px;padding:11px 14px;min-height:44px}.bridge-rules{margin-top:16px;font-size:13px;color:#506770;line-height:1.7}.bridge-rules summary{cursor:pointer;font-weight:700}.bridge-rules p{margin-bottom:0}
.bridge-player.owner-0{--bridge-player:#147d70;--bridge-player-wash:#147d701a}.bridge-player.owner-1{--bridge-player:#8651bb;--bridge-player-wash:#8651bb1a}.game-player.bridge-player{border-color:var(--bridge-player)}.game-player.bridge-player h3,.game-player.bridge-player .game-player-score,.game-player.bridge-player.is-turn .game-player-status{color:var(--bridge-player)}.game-player.bridge-player.is-turn{box-shadow:0 0 0 4px var(--bridge-player-wash)}
@media(max-width:1100px){.game-kind-picker button[data-kind]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr}.game-kind-picker .game-kind-icon{grid-row:1;width:64px;height:64px}.game-kind-picker strong{font-size:16px}}
@media(max-width:700px){.is-bridge-room .game-console{position:static}.bridge-board{padding:12px;border-radius:20px}.bridge-map{min-height:350px}.bridge-island{width:27%;min-height:86px;padding:7px 3px 16px}.bridge-island-art{font-size:22px}.bridge-island-name,.bridge-parcel{font-size:11px}.bridge-heading h3{font-size:20px}.bridge-status{font-size:12px}.bridge-intro{padding:18px}.bridge-intro-art{width:80px;height:80px}.game-kind-picker{gap:8px}.game-kind-picker button[data-kind]{padding:12px 8px 14px}.game-kind-picker strong{font-size:14px}.game-kind-picker .game-kind-favorite{font-size:11px;padding:7px 8px;gap:4px}.game-kind-favorite svg{width:16px;height:16px}}
@media(max-width:440px){.game-kind-picker{grid-template-columns:1fr}.game-kind-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.game-kind-picker button[data-kind]{grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr 1fr;min-height:94px;text-align:left;padding:12px 26px 12px 8px}.game-kind-picker .game-kind-icon{grid-row:1 / 3;width:48px;height:56px}.game-kind-picker small{font-size:11px}.game-kind-picker .game-kind-favorite{align-self:center}.game-kind-picker .game-kind-favorite span{display:none}.game-kind-picker .game-kind-favorite{min-width:44px;min-height:44px;justify-content:center}.bridge-actions .button{flex:1 1 auto}.bridge-map{min-height:330px}}

@media(max-width:700px){.bridge-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.bridge-guide{padding:12px}.bridge-guide-title{font-size:16px}.bridge-action{flex-basis:125px}.bridge-action .button{width:100%;white-space:normal}.bridge-move-options .button{flex:1 1 auto}.bridge-location{padding:3px 5px;font-size:10px}}

.bridge-island-cargo{display:flex;flex-direction:column;gap:2px}.bridge-island-cargo:empty{display:none}.bridge-carried{font-size:11px;line-height:1.4;font-weight:800;white-space:nowrap}.bridge-carried.owner-0{color:#146d60}.bridge-carried.owner-1{color:#7540a8}
@media(max-width:700px){.bridge-map{min-height:480px}.bridge-couriers{bottom:-6px}.bridge-carried{font-size:10px}}

.bridge-base-flag{position:absolute;top:5px;left:calc(50% + 9px);display:block;width:21px;height:25px;filter:drop-shadow(0 1px 0 #ffffff)}.bridge-base-flag svg{display:block;width:100%;height:100%}.bridge-base-flag.owner-0{color:#147d70}.bridge-base-flag.owner-1{color:#8651bb}
@media(max-width:700px){.bridge-base-flag{top:5px;left:calc(50% + 8px);width:17px;height:21px}}
