.bridge-heading{display:flex;justify-content:space-between;align-items:center;padding-block:32px;gap:20px}.bridge-heading h1{font-size:clamp(32px,5vw,58px);margin:0}.bridge-heading p{margin:4px 0}.bridge-heading>a{font-size:13px}.bridge-game{position:relative;isolation:isolate;background:#233e49;height: min(760px,80svh);min-height:520px;overflow:hidden;color:#fff}.bridge-game canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.bridge-hud{position:absolute;top:24px;left:28px;right:28px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.bridge-hud>div{padding:12px 16px;background:#102c3cd9;border:1px solid #ffffff24;border-radius:12px;backdrop-filter:blur(12px)}.game-kicker{display:block;font:10px/1.5 system-ui;letter-spacing:.18em;color:#f8ce8b;margin-bottom:5px}.bridge-hud strong{font:600 18px system-ui}.game-actions{display:flex;gap:8px;pointer-events:auto}.bridge-game button{border:1px solid #ffffff60;border-radius:7px;padding:10px 16px;background:#173f50;color:white;cursor:pointer;font:600 13px system-ui}.bridge-game button:disabled{opacity:.5;cursor:wait}.bridge-game button:focus-visible{outline:3px solid #ffcd77;outline-offset:3px}.game-panel{position:absolute;inset:0;background:linear-gradient(90deg,#102d40eb,#102d4080 55%,transparent);padding:110px max(28px,8vw) 30px;overflow:visible}.game-panel[hidden]{display:none}.game-panel h2{font-size:clamp(38px,6vw,76px);line-height:1.02;color:#fff;margin:12px 0 20px}.game-panel>p{max-width:470px;color:#e2eaf0;font-size:14px}.game-panel #game-start{background:#ffd092;color:#173645;border:0;padding:14px 30px;margin:12px 0}.game-instructions{font-size:12px!important;line-height:1.7}.bridge-track{position:absolute;top:105px;left:28px;width:180px;height:3px;background:#ffffff55}.bridge-track span{display:block;height:100%;width:0;background:#ffd092}.game-notice{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);max-width:480px;width:calc(100% - 300px);text-align:center;background:#112f40e8;border-radius:10px;font-size:14px;padding:12px 20px;pointer-events:none}.game-notice:empty{display:none}.game-touch{position:absolute;bottom:22px;left:22px;text-align:center;display:none;touch-action:none}.game-touch button{width:46px;height:44px;padding:0;margin:3px;background:#163c4edb;font-size:20px;touch-action:none;user-select:none}.game-touch button:active{background:#b27c38}.game-look-hint{position:absolute;bottom:25px;right:25px;font:12px system-ui;text-shadow:0 1px 3px #000;pointer-events:none}.game-footnote{font-size:12px;color:#66777c;padding-block:20px}.bridge-game:has(.game-panel:not([hidden])) .game-touch{display:none}@media(pointer:coarse){.game-touch{display:block}}@media(max-width:640px){.bridge-heading{padding-block:20px}.bridge-heading>a{max-width:100px}.bridge-game{height:78svh;min-height:560px}.bridge-hud{top:15px;left:12px;right:12px}.bridge-hud>div{padding:9px}.bridge-hud strong{font-size:14px}.game-actions button{padding:8px}.bridge-track{left:15px;top:88px;width:130px}.game-panel{padding:100px 24px 20px}.game-panel h2{font-size:46px}.game-notice{bottom:150px;width:85%}.game-look-hint{right:16px;font-size:10px}.game-touch{display:block}}
.bridge-hud{z-index:3}.bridge-hud small{display:block;font:11px/1.5 system-ui;color:#dce9ed;margin-top:5px}.bridge-track{top:120px}.game-panel{padding-top:145px}.exterior-view .game-touch{display:none}.game-actions{align-items:center}.game-look-hint{background:#123746b3;padding:6px 9px;border-radius:5px}@media(max-width:640px){.bridge-hud{flex-wrap:wrap}.bridge-hud>div:first-child{flex:1}.game-actions{flex-wrap:wrap}.game-actions button{font-size:11px;padding:7px}.bridge-hud small{font-size:9px}.bridge-track{top:132px}.game-panel{padding-top:155px}.game-panel h2{font-size:36px}.game-panel .game-instructions{font-size:11px!important}}
body.bridge-playing{overflow:hidden}.bridge-game.game-fullview,.bridge-game:fullscreen{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;max-height:none;z-index:10000;background:#233e49}.bridge-game:fullscreen{height:100%}
@media(max-width:640px){.bridge-hud>div:first-child{flex-basis:100%}.bridge-hud .game-actions{width:100%;justify-content:space-between;flex-wrap:nowrap}.bridge-track{top:151px}.game-panel{padding-top:170px}}

/* Let welcome/pause content determine height; only the document scrolls. */
.bridge-game:has(.game-panel:not([hidden])){height:auto;min-height:min(760px,80svh)}
.bridge-game:has(.game-panel:not([hidden])) canvas{position:absolute;inset:0}
.game-panel:not([hidden]){position:relative;inset:auto;min-height:inherit;padding-bottom:64px}
.bridge-game:has(.game-panel:not([hidden])) .game-look-hint{display:none}