/* The games club: colourful shelves, tactile pieces and distinct playing tables. */
:root{--table:#16794f;--table-dark:#08503e;--table-edge:#06432e;--ink:#233652;--muted:#62718b;--paper:#fff5df;--cream:#fffdf5;--green:#174d55;--gold:#ffd14c;--line:#dfe4ec;--red:#d51e3d;font-family:'Trebuchet MS','Segoe UI',sans-serif;background:var(--paper)}
body{background:radial-gradient(ellipse at 90% 0,#ffe5b6 0,transparent 45%),#fff5df}
h1,h2,h3,.brand{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:900;letter-spacing:-.7px}
.shell{padding:24px 24px 50px;max-width:1200px}
.brand{font-size:24px;color:#224b66}.brandmark{background:linear-gradient(#16bbcc,#0579aa);color:white;border:2px solid white;box-shadow:0 3px 0 #005b82;border-radius:13px}
.subtle{background:#fffdf6;border:2px solid #e8ddc9;font-weight:700;color:#5c5872}
.hero{margin:6px 0 24px;padding:28px 34px;background:linear-gradient(120deg,#066a99,#0b95b0);border:4px solid white;border-radius:30px;box-shadow:0 7px 0 #bcd9de,0 14px 30px #28657715;overflow:hidden;color:white;position:relative}
.hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1px;text-shadow:0 3px 0 #005b84}.hero p{color:#d4f5f7;margin-top:12px;font-size:15px}.hero .eyebrow{color:#ffe380;letter-spacing:1.5px}.hero-art{height:190px}.hero-art:before{background:#ffffff12}.bigcard{border:3px solid #123449;box-shadow:5px 9px 0 #00385344;border-radius:13px}.hero-art .spark{color:#ffd149}
.continue{background:linear-gradient(110deg,#78489d,#523774);border:3px solid white;border-radius:20px;box-shadow:0 4px 0 #dfcce5;padding:16px 22px}.continue .small{color:#ebdcff}.continue strong{display:block;font-size:18px;margin-top:4px}.continue .btn,.continue button{background:linear-gradient(#ffe179,#ffc734);border:2px solid #ffea9f;box-shadow:0 3px 0 #ae7823;color:#604213;font-weight:900;text-decoration:none}
.toolbar{margin-top:27px}.filter{font-weight:800;color:#52627c}.filter.active{background:linear-gradient(#1db8c5,#087f9f);box-shadow:0 3px 0 #05637a;color:white}.library{gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.game-tile{padding:0;border:5px solid #fff;border-radius:26px;background:#fff;box-shadow:0 5px 0 #e3d6bb,0 10px 20px #5949230c;position:relative;transition:transform .18s,box-shadow .18s}.game-tile:hover{transform:translateY(-5px);box-shadow:0 8px 0 #d9c8a6,0 15px 24px #59492320}.tile-art{height:auto;aspect-ratio:300/220;border-radius:19px 19px 0 0;overflow:hidden}.tile-art:after{display:none}.game-illustration{width:100%;height:100%;display:block}.tile-copy{padding:15px 15px 16px;width:100%}.tile-copy h3{font-size:22px;color:#254460}.tile-copy p{margin:6px 0 14px;min-height:30px;color:#66758b;font-size:12px}.tile-foot{align-items:center}.tile-foot span:first-child{color:#738395;font-size:9px;letter-spacing:.6px}.tile-foot span:last-child{background:#e6f4f5;color:#087589;border-radius:20px;padding:7px 14px;font-size:12px;font-weight:900}.club-note{color:#65738c}
.btn{border:1px solid #ffffff36;box-shadow:0 3px 0 #072f3855;background:linear-gradient(#267787,#174d5e);color:#fff;border-radius:14px;font-weight:800;text-decoration:none;min-height:44px}.btn.gold{background:linear-gradient(#ffe580,#ffc735);color:#614519;border-color:#ffe8a1;box-shadow:0 3px 0 #b48029}.btn.secondary{background:linear-gradient(#fffdf5,#e6ebf2);color:#3d506e;box-shadow:0 3px 0 #b5c1d0;border-color:#fff}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) {background:radial-gradient(ellipse at 50% 20%,var(--table),var(--table-dark));color:#fff;min-height:100vh}
body[data-game="poker"]{--table:#59447c;--table-dark:#252846;--table-edge:#171d35}body[data-game="25"]{--table:#188279;--table-dark:#075b57}body[data-game="bridge"]{--table:#286eae;--table-dark:#193d78}body[data-game="gin"]{--table:#207c81;--table-dark:#123e53}body[data-game="rummy"]{--table:#387878;--table-dark:#164850}body[data-game="shithead"]{--table:#8e427c;--table-dark:#452d61}body[data-game="numbers"]{--table:#168baa;--table-dark:#125372}body[data-game="connect"]{--table:#3485b8;--table-dark:#173a76}body[data-game="chess"]{--table:#525371;--table-dark:#252e49}body[data-game="words"]{--table:#558264;--table-dark:#233f39}body[data-game="property"]{--table:#258b78;--table-dark:#0d4b48}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .brand{color:#fff}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .subtle{background:#ffffff12;border-color:#ffffff30;color:white}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .gameheader{margin:0 0 18px;padding:17px 20px;background:#03263740;border:1px solid #ffffff20;border-radius:22px}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .gameheader h1{color:#fff;font-size:32px}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .eyebrow{color:#ffe197;letter-spacing:1px;font-size:9px}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .status{background:#012b3b77;color:#fff;border-color:#ffffff20;box-shadow:inset 0 1px #ffffff10;border-radius:15px;font-weight:600}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .play-area{background:radial-gradient(ellipse at center,#ffffff09,#00000012),repeating-linear-gradient(45deg,#ffffff02 0 2px,transparent 2px 6px);border:2px solid #ffffff18;box-shadow:inset 0 0 0 6px #00283818,0 9px 25px #00162033;border-radius:30px;padding:25px}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .chip{background:#032c3d70;border:1px solid #ffffff24;color:#f6f8fc;box-shadow:0 2px 0 #00152522;font-weight:700}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .game-footer{color:#c9d6e5}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .lesson,body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .coach{color:#233652;background:#fff9e8;border:3px solid #ffe6aa;box-shadow:0 4px 0 #102b3830;border-radius:20px}
.seat{background:#022a3f66;border:2px solid #ffffff22;border-radius:17px;box-shadow:0 3px 0 #001c292d}.seat strong{font-size:14px;color:#fff}.seat small{color:#b9e6ec}.seat.turn{border-color:#ffdc64;background:#35666b;box-shadow:0 0 0 3px #ffd44b22}.seat.turn strong:before{content:'● ';color:#ffdc64}
.card{width:66px;height:99px;padding:6px;border:2px solid #17324c;border-radius:9px;background:linear-gradient(120deg,#fff,#fffdf5);color:#082b47;font-size:19px;box-shadow:1px 4px 0 #00192644,0 6px 12px #00132426;position:relative}.card.red{color:#d11633}.card .suit{font-size:42px;line-height:1.2}.card:after{content:attr(data-face);position:absolute;bottom:3px;right:4px;font-size:11px;transform:rotate(180deg)}.card.back{background:repeating-linear-gradient(45deg,#1e567c 0 3px,#174362 3px 6px);color:#72bcd7;border:3px solid #9ccadd;box-shadow:inset 0 0 0 3px #082739,1px 4px 0 #00192644;font-size:35px}.card.smallcard{width:46px;height:69px;font-size:14px}.card.smallcard .suit{font-size:30px}.card.selected,.card.hint{outline-color:#ffe05f}.hand{gap:5px;row-gap:12px}.hand-label{font-weight:800;color:#e3eaf1;letter-spacing:1.5px}.trick{min-height:150px}.trickitem>span{color:#e2eef1;font-weight:800}
.number-board{gap:2px;border:5px solid #8dd9e6;background:#8dd9e6;border-radius:10px;overflow:hidden;box-shadow:0 8px 0 #033a55}.number{border-radius:2px;background:#fffef7;color:#264553;font-size:27px;font-weight:700;box-shadow:inset 0 2px #fff}.number.selected{background:#1be1eb;color:#063f56}.number.empty{background:#258ba055}
.domino{background:linear-gradient(115deg,#fffef8,#f3e7c3);border:2px solid #a7a28b;box-shadow:2px 5px 0 #062f3888;width:48px;height:94px;border-radius:9px}.domino .pip{width:7px;height:7px}.domino .pip.filled{background:#192b34;box-shadow:inset 0 1px #000}
.connect-grid{background:linear-gradient(#ffd64d,#eeb727);border:3px solid #ffe99a;box-shadow:0 10px 0 #b07716,0 15px 22px #07234188;border-radius:17px;padding:15px;gap:8px}.disc{background:#123864;box-shadow:inset 0 4px 6px #031b41aa,0 1px 0 #ffe488}.disc.p1{background:radial-gradient(circle at 35% 28%,#fff08e,#ffd134 65%,#d49414);box-shadow:inset 0 0 0 4px #e7ad25,inset 0 3px #ffe991}.disc.p2{background:radial-gradient(circle at 35% 28%,#ff959d,#ef405e 65%,#b51b45);box-shadow:inset 0 0 0 4px #d52b50,inset 0 3px #ff9aad}.column-controls button{color:#ffd95d;font-size:25px}
.chess-board{border:10px solid #8a5946;box-shadow:0 0 0 3px #d8a979,0 10px 0 #543b38,0 17px 26px #071b3244;border-radius:7px}.square{background:#f1d6ad;color:#172635;font-size:clamp(32px,6vw,59px);text-shadow:0 2px 2px #082c3744}.square.dark{background:#a97459}.square.piece-white{color:#fff9e9;text-shadow:1px 0 #634639,-1px 0 #634639,0 2px #634639,0 -1px #634639,0 3px 2px #583629}.square.last{box-shadow:inset 0 0 0 3px #ffe15e;background:#d3b36d}.square.selected{background:#e6c960}.square.legal:after{background:#104a6977}.square .coord{font-size:9px;color:#432b24;text-shadow:none}
.word-board{border:7px solid #927046;gap:2px;background:#cab17b;box-shadow:0 0 0 2px #f5dba1,0 7px 0 #624d35,0 14px 24px #001f2855;border-radius:5px}.word-square{background:#e2edce;color:#4e705d}.word-square.DW{background:#f5b4bd;color:#8d365a}.word-square.TW{background:#e65076;color:white}.word-square.DL{background:#aedfe6;color:#246b82}.word-square.TL{background:#218fbd;color:white}.word-square.tile{background:linear-gradient(120deg,#fff2c6,#f4ce85);color:#4b3625;box-shadow:inset 0 -2px #ba965d,inset 1px 1px #fff8df;border:1px solid #cfb277}.word-square.chosen{outline-color:#ffdf5d}.letter-tile{background:linear-gradient(120deg,#fff4c8,#f5d18a);border:1px solid #fbeac0;box-shadow:0 4px 0 #af8150,0 7px 10px #002c3244;color:#533921;width:43px;height:46px;border-radius:6px;font-size:27px}
body[data-game="property"] .prop-players{gap:10px}.prop-player{border:2px solid #ffffff60;box-shadow:0 4px 0 #063e3844}.prop-player.current{border:3px solid #ffdd58;background:#fff4c5}.prop-now{background:#042e3c88;border:1px solid #ffffff25;box-shadow:0 4px 0 #05342c33}.prop-purchase,.prop-jail,.prop-trade,.prop-recent,.prop-notice,.prop-deeds .deed{color:#233652}body[data-game="property"] .prop-heading,body[data-game="property"] .prop-history{color:#fff}.property-board{background:#f1e4bf;border:6px solid #a7d7a4;box-shadow:0 0 0 3px #f6e8b6,0 8px 0 #084433,0 16px 24px #02312f66;border-radius:9px;overflow:hidden}.property-center{background:radial-gradient(ellipse,#e6f4cc,#bfdca6)}.property-center h2{color:#145e49;text-transform:uppercase;font-weight:900;text-shadow:0 2px #fff}.property-tile{background:#fff9e8;box-shadow:inset 0 0 0 1px #d5cfae}.prop-decks span{box-shadow:3px 4px 0 #779c7555;border:2px solid #fff0ca}.prop-event{box-shadow:0 9px 0 #193e3833,0 14px 30px #002b3955}.prop-card-head{font-weight:800}.prop-card-face{background:radial-gradient(ellipse,#fffdf5,#fff0cc)}
body:has(#leaderboards),body:has(#friends){background:radial-gradient(ellipse at top,#e3e6ff,#fff5df 70%)}.lb-title{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:900;color:#584487}.lb-card{border:4px solid #fff;background:linear-gradient(#fffdf8,#fff8e7);box-shadow:0 6px 0 #dacee9,0 12px 25px #624a8512;border-radius:25px}.lb-table tr.lb-you{background:#dff7ed}.lb-table th{color:#775897}.lb-table tbody tr:first-child td:first-child{color:#bd8716;font-size:22px;font-weight:900}.lb-message{background:#eee6fc;border:1px solid #d8c8ee}.lb-header a{font-weight:800;color:#594a83}
@media(max-width:900px){.library{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-copy h3{font-size:20px}}
@media(max-width:600px){.shell{padding:18px 12px 35px}.topbar{padding-bottom:18px;gap:8px}.brand{font-size:20px}.brandmark{width:33px;height:38px}.topbar .subtle{font-size:11px;padding:9px}.hero{padding:21px 19px;grid-template-columns:1fr .6fr;border-radius:24px;gap:0}.hero h1{font-size:31px}.hero p{font-size:12px;line-height:1.5}.hero .eyebrow{font-size:8px;letter-spacing:.7px}.hero-art{height:150px;transform:scale(.7);transform-origin:center;width:145px}.hero-art:before{width:170px;height:170px}.bigcard{min-width:95px;height:132px;font-size:55px}.hero-art .spark{right:-5px;top:3px}.continue{padding:13px 14px;gap:9px;flex-wrap:wrap}.continue strong{font-size:16px}.continue .small{font-size:9px}.continue .btn{font-size:12px;padding:10px 15px}.toolbar{display:block;margin:22px 0 16px}.filters{gap:1px;margin-bottom:12px}.filter{padding:9px 11px;font-size:11px}.library{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.game-tile{border-width:4px;border-radius:22px}.tile-art{border-radius:16px 16px 0 0}.tile-copy{padding:11px 10px 13px}.tile-copy h3{font-size:18px}.tile-copy p{font-size:11px;min-height:32px;margin:6px 0 10px}.tile-foot span:first-child{font-size:8px;letter-spacing:0}.tile-foot span:last-child{font-size:11px;padding:6px 10px}.club-note{flex-direction:column;align-items:flex-start;line-height:1.6}
body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .shell{padding:12px 10px 25px}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .topbar{padding-bottom:12px}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .gameheader{padding:13px 14px;gap:13px;border-radius:18px}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .gameheader h1{font-size:27px}body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .gameheader .actions{gap:6px}.gameheader .btn{padding:9px 11px;font-size:11px}.play-area,body[data-game]:not([data-game=""]):not(.freecell-screen):not(.spades-screen):not(.water-screen) .play-area{padding:15px 10px;border-radius:23px}.status{padding:12px 14px;font-size:12px;line-height:1.5}.card{width:57px;height:85px;font-size:17px}.card .suit{font-size:37px}.hand{gap:4px}.chips{gap:7px}.chip{padding:7px 9px;font-size:11px}.number{font-size:24px}.chess-board{border-width:7px}.square{font-size:38px}.word-board{border-width:4px;gap:1px}.word-square{font-size:5px}.word-square.tile{font-size:14px}.word-square.tile small{font-size:5px}.rack{gap:5px}.letter-tile{width:37px;height:41px;font-size:25px}.connect-grid{padding:11px;gap:6px}.property-board{border-width:3px}.property-tile{font-size:6px}.lb-header{margin-bottom:22px}.lb-title{font-size:30px}}
@media(prefers-reduced-motion:reduce){.game-tile{transition:none}}

@media(max-width:600px){.hero-art{display:flex}.hero{grid-template-columns:minmax(0,1fr) 110px}.gameheader .actions{width:100%}.gameheader .btn{padding:9px 8px;font-size:10px}.hand .card{width:57px;height:85px}.hand .card.smallcard{width:43px;height:65px}.metric b{font-family:inherit;font-weight:900}}

.prop-player{color:#233652}.log{font-family:inherit}.hero-art{min-width:0}.hero-art .bigcard{flex-shrink:0}@media(max-width:600px){.hero-art{transform:scale(.62);width:110px}.hero-art .bigcard:last-child{margin-left:-15px}.game-footer{flex-wrap:wrap;gap:7px}}

.friend-panel{border:4px solid #fff;background:linear-gradient(#fffdf8,#fff8e7);box-shadow:0 6px 0 #dacee9,0 12px 25px #624a8512;border-radius:25px}.friend-player{background:#f0edf9;border:2px solid #d6cbe6;box-shadow:0 3px 0 #c6bad8}.friend-player.current{border-color:#20b9a6;background:#e3f8ed}.friends-status{background:#e0f4ed;border:1px solid #b0dace}.friend-panel h2{color:#594587}

/* Light panels always use dark text, including inside the dark game tables. */
.modal,.modal h2,.modal p,.prop-event,.prop-card-face,.prop-card-face h2,.prop-card-face p{color:#233652}.prop-card-icon{color:#248a81}.prop-auction{border:3px solid #ffd55d;box-shadow:0 5px 0 #073e3540}.prop-auction h3{font-weight:900}.prop-auction p{line-height:1.6;margin:10px 0}.prop-auction input{font-size:20px;width:130px}.prop-auction .btn{margin:5px 8px 5px 0}
