/* Online tables and the shared invitation footer use the club's quiet palette. */
.site-footer{max-width:1600px;margin:20px auto 0;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #d4e6d027;font:14px/1.6 -apple-system,BlinkMacSystemFont,sans-serif;color:#bdcbbf}
.site-footer button{font:inherit;color:#f4d69b;background:none;border:0;padding:8px 0;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.site-footer .mzansi-credit{margin-left:auto;white-space:nowrap}.mzansi-credit a{color:#ff8b8b;text-decoration:none;font-size:19px;padding:4px}.site-footer nav{display:flex;gap:16px}.site-footer nav a{color:#cbd8cb}
.early-dialog{width:min(560px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:30px;background:#172b23;border:1px solid #d9b76a55;color:#e8eddf;border-radius:18px}
.early-dialog::backdrop{background:#06100bd9;backdrop-filter:blur(8px)}.early-dialog h2{font:34px Georgia,serif;margin:12px 0}.early-dialog p,.early-dialog label{font-size:15px;line-height:1.7}
.early-close{float:right;border:1px solid #ffffff30;border-radius:8px;background:#ffffff08;color:inherit;min-width:40px;min-height:40px;font-size:24px}
.early-dialog input[type=email]{display:block;width:100%;min-height:46px;border:1px solid #afc4b54d;border-radius:7px;background:#0c1c15;color:#f4edd8;padding:12px;margin:8px 0 16px;font:inherit}
.early-dialog fieldset{border:1px solid #ffffff25;border-radius:9px;margin:16px 0;padding:14px;display:flex;gap:12px;flex-wrap:wrap}.early-device{display:flex;gap:7px;align-items:center}.early-dialog input[type=checkbox]{width:20px;height:20px;accent-color:#d9b76c;flex:none}
.early-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.early-dialog .early-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.early-status{color:#eed49d;min-height:24px}.early-dialog>a{font-size:14px}
.online-page{color:#eaf0e4}.online-shell{max-width:1320px;margin:auto;padding:28px}.online-header{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;padding-bottom:20px}.online-header a{text-decoration:none}.online-header nav{display:flex;gap:18px;font-size:14px}.online-intro{padding:30px 0 20px}.online-intro h1{font:42px/1.15 Georgia,serif;margin:10px 0}.online-intro p{font-size:17px;color:#c4d2c2;max-width:640px;line-height:1.7}
.online-entry{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px}.online-entry section,.online-connection,.online-actions,.online-roster{border:1px solid #b8c7a636;border-radius:14px;background:#1a2c22;padding:22px}
.online-entry h2{font:28px Georgia,serif;margin:0 0 16px}.online-entry p{font-size:15px;line-height:1.6;color:#b8c9b5}.online-page label{display:block;font-size:14px;line-height:1.6;margin:14px 0}.online-page input,.online-page select{font:inherit;color:#f1ebdc;background:#0e1f17;border:1px solid #b8c7a650;border-radius:8px;min-height:46px;padding:10px;width:100%;margin-top:6px}
.online-page button{font:inherit;min-height:44px;padding:10px 14px;cursor:pointer}.online-page .primary-button{width:100%}.online-notice{padding:14px 0;min-height:48px;color:#f3d49a;font-size:16px;line-height:1.6}.online-notice a{margin-left:12px}
.online-room-bar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0 20px}.online-code{font:26px ui-monospace,monospace;letter-spacing:3px;color:#f4d18b}.online-room-bar button{border:1px solid #d5bd7b50;border-radius:8px;background:#d6be7b10;color:#e8dbbb}
.online-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.online-board{border:1px solid #d0b97e45;border-radius:20px;background:radial-gradient(ellipse at center,#285140,#162a20 65%);min-height:470px;padding:24px;position:relative;display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-template-rows:90px 1fr 90px;gap:12px}
.online-seat{font-size:14px;min-width:0;text-align:center;align-self:center;padding:8px;border-radius:10px;border:1px solid transparent}.online-seat[data-active=true]{border-color:#e5c37877;background:#d4bc6d0b}.online-seat strong{display:block;font-size:16px}.online-seat small{display:block;color:#bacab6;line-height:1.5;font-size:12px}.online-seat[data-position=north]{grid-column:2;grid-row:1}.online-seat[data-position=west]{grid-column:1;grid-row:2}.online-seat[data-position=east]{grid-column:3;grid-row:2}.online-seat[data-position=south]{grid-column:2;grid-row:3}
.online-backs{display:flex;justify-content:center;margin-top:9px;padding-right:16px}.online-backs .playing-card{--card-width:29px;margin-right:-16px}
.online-trick{grid-column:2;grid-row:2;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.online-trick figure{margin:0;text-align:center}.online-trick .playing-card{--card-width:62px}.online-trick figcaption{font-size:11px;padding-top:8px;color:#e0d9b7}.online-trick .winner .playing-card{outline:2px solid #e5c378;outline-offset:3px}.online-trick .empty-table{font:23px/1.5 Georgia,serif;color:#d3d4b4;text-align:center}
.online-hand{padding:20px 0}.online-hand h2{font-size:15px;font-weight:500;color:#d2ddc7}.online-hand-cards{display:flex;justify-content:center;gap:9px;padding:12px 0;min-height:150px;flex-wrap:wrap}.online-hand-cards .playing-card{--card-width:78px}.online-hand-cards button:disabled{opacity:.78}.online-hand-cards .legal-card{filter:drop-shadow(0 0 8px #edca7a44)}
.online-actions{align-self:start;position:sticky;top:16px}.online-actions h2{font:27px Georgia,serif;margin:8px 0 15px}.online-actions p{font-size:15px;line-height:1.65;color:#c4d2bc}.online-actions button{width:100%;margin:6px 0;border:1px solid #d5c88d40;border-radius:8px;background:#d1be770c;color:#e9e7cf}.online-actions button.primary-button{background:#d9b76c;color:#17251c}.online-score{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #ffffff20;margin-top:20px;padding-top:18px;font-size:13px}.online-score strong{display:block;font:30px Georgia,serif;color:#f0cc87}.online-score small{color:#bdcbb4}.online-connection{font-size:14px;margin:14px 0;line-height:1.6}.online-tools{margin-top:20px;border-top:1px solid #ffffff20;padding-top:18px}.online-tools summary{font-size:15px;cursor:pointer;min-height:40px}.online-tools form{margin:12px 0;border-bottom:1px solid #ffffff16;padding-bottom:12px}.online-tools label{font-size:13px}
.online-info{font-size:14px;line-height:1.75;color:#bdcbb8;max-width:900px}.online-history{width:min(1150px,calc(100vw - 28px));height:90dvh;padding:22px;border:1px solid #d0b97e55;background:#191d22;color:#e9e5db;border-radius:16px;overflow:hidden}.online-history::backdrop{background:#07100ce6}.online-history>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.online-history h2{font:27px Georgia,serif;margin:0}.online-history>header button{background:none;border:1px solid #ffffff30;border-radius:8px;color:inherit}.online-history-content{height:calc(100% - 65px)}
.online-passage{position:absolute;right:12px;top:100px;bottom:90px;width:3px;background:linear-gradient(transparent,#d8b56c66,transparent);box-shadow:0 0 12px #efd38b33;pointer-events:none}.online-dealing .online-passage{background:linear-gradient(transparent,#f5e7b5,transparent);box-shadow:0 0 20px #f2dc9499}.online-flight{position:fixed;width:66px;z-index:1000;pointer-events:none}.online-flight .playing-card{--card-width:66px}.online-dealing .online-hand .pcard-foil{display:none}
.club-main-destinations>a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #d4b77955;border-radius:9px;font-size:15px;text-decoration:none;color:#efdaa9;background:#b7944c14}.arrival-options>a{min-height:126px;padding:22px;border:1px solid #d4b77955;border-radius:12px;text-decoration:none;display:block;background:#d4b6670c}.arrival-options>a strong{font:25px Georgia,serif}.arrival-options>a p{font-size:15px;line-height:1.6;color:#c6d1b8}
.online-help{max-width:850px;margin:0 auto;padding:35px 24px;color:#d9e4d1;font-size:17px;line-height:1.85}.online-help h1{font:42px Georgia,serif}.online-help h2{font:28px Georgia,serif;color:#edce8e;margin-top:32px}.online-help a{color:#f0d08e}.online-help code{font-size:14px;overflow-wrap:anywhere}.online-help details{border-bottom:1px solid #ffffff20;padding:16px 0}.online-help summary{cursor:pointer;font-weight:600}.online-help p{margin:14px 0}.online-entry input:focus-visible,.online-page button:focus-visible{outline:2px solid #e6c47e;outline-offset:4px}
@media(max-width:900px){.online-layout{grid-template-columns:1fr}.online-actions{position:static;order:-1}.online-board{min-height:400px}.online-entry{max-width:none}.online-shell{padding:20px}.online-header nav{gap:12px}.online-score{margin-top:14px}}
@media(max-width:540px){.online-entry{grid-template-columns:1fr}.online-header{align-items:flex-start;flex-wrap:wrap}.online-intro h1{font-size:35px}.online-board{padding:12px;gap:6px;grid-template-columns:.85fr 1.4fr .85fr}.online-seat strong{font-size:13px}.online-seat small{font-size:11px}.online-trick{gap:8px}.online-trick .playing-card{--card-width:44px}.online-hand-cards{gap:5px}.online-hand-cards .playing-card{--card-width:54px}.online-room-bar{align-items:flex-start}.site-footer{padding:20px}.site-footer .mzansi-credit{margin-left:auto}.online-help{font-size:16px}}

.online-history>label{display:flex;align-items:center;gap:14px;font-size:15px;margin-bottom:12px}.online-history select{font:inherit;color:inherit;background:#27352d;border:1px solid #ffffff40;border-radius:6px;padding:8px}.online-history-content{height:calc(100% - 120px)}
/* Keep public review readable on short laptop windows; the dialog can scroll. */
.online-history{overflow:auto;overscroll-behavior:contain}.online-history>header{position:sticky;top:-22px;z-index:3;background:#191d22;padding:10px 0}.online-history-content{height:max(720px,calc(100dvh - 160px))}.online-history .history-canvas{min-height:320px}.online-history .history-footer{font-size:12px}

.privacy-banner{position:fixed;bottom:14px;left:14px;right:14px;z-index:2000;max-width:720px;margin:auto;background:#172b23;border:1px solid #d9b76c66;border-radius:12px;padding:16px;color:#f2e7cf;font:15px/1.6 system-ui;box-shadow:0 6px 30px #0009}.privacy-banner p{margin:0 0 10px}.privacy-banner button,#privacy-choices button{min-height:44px;padding:10px 16px;margin:4px;border:1px solid #d9b76c66;border-radius:7px;background:#243c2e;color:#f2e7cf;font:inherit}#privacy-choices label{display:flex;align-items:center;gap:12px;margin:18px 0}

.service-status { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; padding:12px 16px; border:1px solid #d8bb7638; border-radius:14px; background:#b58d3510; }
.service-status p { margin:0; font-size:15px; line-height:1.5; color:#dfd5bd; }
.service-status button { flex-shrink:0; min-height:44px; font-size:15px; }
.service-status[data-state="available"] { border-color:#89c8ae45; background:#86c6aa0a; }
.service-status[data-state="available"] p { color:#9dd3bb; }
@media(max-width:540px) { .service-status { align-items:flex-start; flex-wrap:wrap; } }
