.bridge-page{min-height:65vh;padding:32px 0}
.bridge-page h1{font-size:38px;color:#eee2c4;margin:0 0 12px}
.bridge-page p{font-size:14px;color:#b9a782}
.bridge-page{padding:0;min-height:65vh}.bridge-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.bridge-heading h1{font-size:29px;margin:0 0 5px}.bridge-heading p{margin:0;font-size:12px;color:#b9a782}.bridge-heading .room-code{flex:none}.bridge-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.bridge-settings{margin-bottom:22px;padding:14px 18px;background:#e9dfc5;color:#514735}.bridge-settings summary{cursor:pointer;font-size:16px}.bridge-settings-fields{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin-top:15px}.bridge-settings-fields label{display:grid;gap:6px;font-size:14px}.bridge-settings-fields input{width:115px;font-size:16px;padding:8px}.bridge-settings>.fine{font-size:12px;color:#82704e}.bridge-communication{font-size:11px;line-height:1.7;color:#9a845a;margin:18px 0 0}.bridge-round-info{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:#d4c292;margin:12px 0 18px}.bridge-board-scroll{container-type:inline-size;--bridge-cell:min(54px,calc(100cqw / 6));overflow-x:auto;width:100%;padding:4px;scrollbar-width:thin;scrollbar-color:#ad9469 #4a3f31}.bridge-board-frame{width:max-content;position:relative;margin:0 auto;border:2px solid #6c876d;border-radius:3px;box-shadow:0 0 0 4px #223a2e77}#bridgeBoard{--bridge-size:5;width:calc(var(--bridge-cell)*var(--bridge-size));gap:0;border:0;border-radius:0}#bridgeBoard[data-size="3"]{--bridge-size:3}#bridgeBoard[data-size="4"]{--bridge-size:4}#bridgeBoard[data-size="5"]{--bridge-size:5}#bridgeBoard[data-size="6"]{--bridge-size:6}#bridgeBoard[data-size="7"]{--bridge-size:7}#bridgeBoard[data-size="8"]{--bridge-size:8}#bridgeBoard[data-size="9"]{--bridge-size:9}#bridgeBoard .cell{width:var(--bridge-cell);height:var(--bridge-cell);min-height:0;min-width:0;padding:0;font-size:25px;color:#f0ebcd;border-radius:0}#bridgeBoard .bridge-cell-base{color:#f0ebcd}#bridgeBoard .bridge-target{background:#d4dba836;box-shadow:inset 0 0 0 2px #f6d271}#bridgeBoard .bridge-target:hover:enabled{background:#eee2a64d}#bridgeBoard .bridge-placed-card{position:absolute;right:2px;bottom:1px;z-index:3;border-radius:3px;padding:1px 3px;font-family:"Segoe UI",sans-serif;font-size:9px;line-height:1.4;color:#fff;text-shadow:none}.bridge-placed-card.red{background:#aa3b33}.bridge-placed-card.yellow{background:#c5a139;color:#302810!important}.bridge-placed-card.blue{background:#376e9a}.bridge-board-frame .chalk-lines{inset:0;width:100%;height:100%}.bridge-move-hint{font-size:13px;line-height:1.6;text-align:center;color:#d1c39d;min-height:22px;margin:14px 0}.bridge-host-tools{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.bridge-host-tools button{font-size:13px;padding:9px 15px}.bridge-hand-area{border-top:1px solid #b9a47855;margin-top:20px;padding-top:16px}.bridge-hand-area .section-title h2{font-size:19px}.bridge-hand-area .section-title>span{font-size:12px;color:#c3b18a}.bridge-hand{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:10px 3px 14px}.bridge-number-card{flex:none;display:grid;justify-items:center;align-content:center;gap:8px;width:76px;height:108px;border-radius:8px;border:2px solid #bba976;box-shadow:0 3px 0 #0004,inset 0 0 0 3px #fff3;padding:7px;position:relative}.bridge-number-card strong{font-size:33px;font-family:Georgia,serif}.bridge-card-color{font-size:16px;font-weight:800;line-height:1.2}.bridge-number-card:hover:enabled{filter:brightness(1.1);transform:translateY(-3px)}.bridge-number-card.selected{outline:3px solid #ffe998;outline-offset:3px;transform:translateY(-4px)}.bridge-number-card:disabled{opacity:.65}.bridge-hand-area>.fine{font-size:12px;color:#c4b28a;margin:0}#bridgeResultDialog{width:min(460px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:28px;border:2px solid #b29866;border-radius:14px;background:linear-gradient(100deg,#e9dfc5,#f4ecd7 50%,#e7dbc0);color:#514735;text-align:center;box-shadow:0 15px 60px #0006}#bridgeResultDialog::backdrop{background:#171811b3}#bridgeResultTitle{font-size:26px;margin:0 0 16px}#bridgeResultText{font-size:19px;font-weight:700;color:#8b6624}#bridgeResultScores p{font-size:16px}#bridgeCloseResults{font-size:16px;margin-top:10px}
@media(max-width:1050px){.bridge-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.bridge-layout .board-card{padding:14px}.bridge-heading{margin-top:6px}}@media(max-width:700px){.bridge-layout{grid-template-columns:1fr}.bridge-layout .players-card{grid-row:2}.bridge-layout .board-card{grid-row:1;padding:14px}.bridge-heading h1{font-size:23px}.bridge-heading .room-code{font-size:12px}.bridge-round-info{font-size:12px}.bridge-number-card{width:70px;height:98px}.bridge-settings-fields{gap:8px}.bridge-settings-fields input{width:88px}.bridge-heading{gap:10px}#bridgeBoard .cell{font-size:23px}}
.bridge-card-rule{position:absolute;bottom:4px;left:0;right:0;font-size:9px;font-weight:700}.bridge-number-card:has(.bridge-card-rule){padding-bottom:17px}

#bridgeResultScores p{color:#655538}.bridge-page .bridge-communication{color:#857047}

/* Parchment stock, inset frame and round number medallion match the shared Bingo card material. */
.bridge-number-card{--bridge-ink:#74551f;--bridge-tint:#f3e3ae;--bridge-rim:#c8b57d;--bridge-edge:#cbb270;isolation:isolate;gap:5px;border-radius:11px;border:2px solid var(--bridge-rim);background:var(--card-paper-grain),radial-gradient(ellipse at 25% 10%,#ffffffaa,transparent 65%),linear-gradient(145deg,var(--card-paper-light,#fffdf2),var(--bridge-tint));color:var(--bridge-ink);box-shadow:inset 0 1px 0 #fff,0 4px 0 var(--bridge-edge),0 8px 13px #1d211c2b;overflow:hidden;transition:transform .18s,box-shadow .18s,filter .18s}.bridge-number-card:before{content:"";position:absolute;inset:4px;border:1px solid #fff9;border-radius:7px;pointer-events:none}.bridge-number-card.red{--bridge-ink:#843c32;--bridge-tint:#efd0c5;--bridge-rim:#c79580;--bridge-edge:#b7856f}.bridge-number-card.yellow{--bridge-ink:#75551e;--bridge-tint:#f1e1ac;--bridge-rim:#c8b57d;--bridge-edge:#bda367}.bridge-number-card.blue{--bridge-ink:#315b73;--bridge-tint:#d3e5eb;--bridge-rim:#9bb8c3;--bridge-edge:#83a3af}.bridge-card-color{position:relative;border:1px solid #ffffffbb;border-radius:20px;padding:1px 5px;background:#ffffff59;color:var(--bridge-ink);text-shadow:0 1px #fff8}.bridge-number-card strong{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #fff9;outline:1px solid #ffffff55;outline-offset:2px;background:radial-gradient(circle at 35% 25%,#fffdf3,var(--bridge-tint) 78%);font-size:32px;line-height:1;color:var(--bridge-ink);text-shadow:0 1px #fff9}.bridge-number-card:hover:enabled{background:var(--card-paper-grain),linear-gradient(145deg,var(--card-paper-light,#fffdf2),var(--bridge-tint));filter:brightness(1.04);box-shadow:inset 0 1px #fff,0 4px 0 var(--bridge-edge),0 11px 16px #1d211c38}.bridge-number-card.selected{box-shadow:inset 0 1px #fff,0 4px 0 var(--bridge-edge),0 0 14px #f4d17766}.bridge-number-card:disabled{opacity:.88}.bridge-card-rule{color:var(--bridge-ink)}@media(max-width:700px){.bridge-number-card strong{width:40px;height:40px;font-size:29px}}



.bridge-number-card.is-unplayable{opacity:.62}#bridgeCardChoiceDialog{position:relative;width:min(440px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:28px;border:2px solid #b29866;border-radius:14px;background:linear-gradient(145deg,var(--card-paper-light,#fffdf2),var(--card-paper-neutral,#f1e9d4));color:#514735;text-align:center;box-shadow:0 15px 60px #0006}#bridgeCardChoiceDialog::backdrop{background:#171811b3}#bridgeCardChoiceTitle{font-size:24px;margin:6px 22px 20px}#bridgeCardChoiceCard .bridge-number-card{width:116px;height:158px;margin:0 auto;cursor:default}#bridgeCardChoiceCard .bridge-number-card strong{width:64px;height:64px;font-size:42px}#bridgeCardChoiceReason{font-size:17px;line-height:1.7;color:#655538;margin:22px 0}.bridge-dialog-close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:27px;color:#655538;padding:0 7px;box-shadow:none}.bridge-card-choice-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.bridge-card-choice-actions button{font-size:15px;padding:10px 14px}
.bridge-number-card.game-card-front.red{--card-face-light:#fff0e9;--card-face-tint:#efada3;--card-face-rim:#b76055;--card-face-edge:#9f5148}
.bridge-number-card.game-card-front.yellow{--card-face-light:#fff9dc;--card-face-tint:#efcf6a;--card-face-rim:#b69338;--card-face-edge:#98782c}
.bridge-number-card.game-card-front.blue{--card-face-light:#e9f6ff;--card-face-tint:#94c8e8;--card-face-rim:#4e8fb8;--card-face-edge:#3d7397}
.bridge-number-card.game-card-front .game-card-type{border:0;border-radius:0;background:transparent;padding:1px 0}
.bridge-number-card.game-card-front .game-card-art{font-family:var(--board-font);font-weight:700;text-shadow:1px 1px 1px #0004}
.bridge-number-card.game-card.game-card-front{background:var(--bridge-simple-paper);border:1px solid var(--bridge-simple-border);border-radius:6px;box-shadow:none}
.bridge-number-card.game-card-front.red{--bridge-simple-paper:#f3d8d3;--bridge-simple-border:#ba857c}
.bridge-number-card.game-card-front.yellow{--bridge-simple-paper:#f4e7b6;--bridge-simple-border:#b5a16a}
.bridge-number-card.game-card-front.blue{--bridge-simple-paper:#d0e5f2;--bridge-simple-border:#7fa6be}
.bridge-number-card.game-card-front:before{display:none}
.bridge-number-card.game-card-front .game-card-art{border:0;outline:0;background:transparent;text-shadow:none}
.bridge-number-card.game-card.game-card-front:hover:enabled{background:var(--bridge-simple-paper);box-shadow:none;filter:brightness(1.03);transform:translateY(-2px)}
.bridge-number-card.game-card-front.selected{outline:2px solid #f4d177;outline-offset:2px;box-shadow:none}
.bridge-card-choice-rules{margin:0 0 18px;padding:12px 14px 12px 32px;border-top:1px solid #b2986640;text-align:left;font-size:14px;line-height:1.65;color:#655538}
.bridge-card-choice-rules li+li{margin-top:7px}
.bridge-card-choice-rules{padding:12px 0 0}
.bridge-card-choice-rules p{margin:7px 0;font-size:inherit;color:inherit;line-height:inherit}
.bridge-card-choice-rules ul{margin:8px 0 12px;padding-left:20px}
.bridge-heading{justify-content:flex-end}
