/* City Flavor Casino: one room, six independently saved practice games. */
:root{color-scheme:dark;--city:#b84249;--gold:#e6c581;--ink:#0b1711;font-family:Arial,sans-serif;color:#f7ebcd;background:#080e0a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#293b27,transparent 70%),#080e0a;color:#f7ebcd}a{color:#efd797}button,select,.button{font:600 15px Arial,sans-serif;color:#f4dfaf;background:#14291f;border:1px solid #b89a56;border-radius:6px;min-height:44px;padding:9px 15px;cursor:pointer}button:hover,a.button:hover{background:#293f2d}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #fff5d5;outline-offset:3px}.primary{background:linear-gradient(#f7de9b,#c69b4b);color:#1d1a0b;border-color:#ffe7ab}.fine{font-size:12px;line-height:1.6;color:#c0b59a}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;color:#d9bb74}.city-header{padding:18px 3%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #887344;background:#09110de8}.brand{display:flex;align-items:center;gap:16px;font:bold 30px Georgia,serif;text-decoration:none}.brand span{font:600 13px Arial;letter-spacing:3px;border-left:1px solid #a78b4f;padding-left:16px}.city-header nav{display:flex;gap:22px;align-items:center}.city-header nav>a{font-size:12px;text-decoration:none}.city-controls{display:flex;align-items:end;gap:18px;padding:24px 3% 10px}.city-controls>div{margin-right:auto}.city-controls h1{font:normal 34px/1.1 Georgia;margin:7px 0}.city-controls label{display:grid;gap:7px;font-size:12px;color:#e1cb99}.city-controls select{max-width:260px}.room-copy{margin:10px 3% 16px;line-height:1.55;color:#d3c8ad}.city-room{max-width:1720px;margin:auto;border-top:2px solid var(--city);border-bottom:2px solid var(--city)}.city-room svg{display:block;width:100%;height:auto}.city-room svg a{cursor:pointer}.city-room svg a:hover rect,.city-room svg a:focus rect{fill:#ffdb7318;stroke:#f9e2a3;stroke-width:3;rx:14}.city-room svg text{pointer-events:none;text-shadow:0 2px 3px #000}.city-directory{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:22px 3% 10px}.city-directory a{display:grid;gap:10px;padding:15px 12px;border:1px solid #7d693e;text-decoration:none;background:#13251c}.city-directory strong{font:19px Georgia}.city-directory small{font-size:11px;color:#c8ae74}.city-directory a:hover{border-color:#ffe1a1;background:#23372a}dialog{width:min(740px,94vw);max-height:90dvh;overflow:auto;padding:24px;color:#f5e7c5;background:#101d16;border:1px solid #c9a962;border-radius:12px;box-shadow:0 30px 100px #000}dialog::backdrop{background:#030803d9}.dialog-head{display:flex;align-items:center;gap:15px;border-bottom:1px solid #6e5d38;padding-bottom:12px;margin-bottom:20px}.dialog-head h2{font:28px Georgia;margin:0;flex:1}.dialog-head button{font-size:24px;padding:5px 14px}dialog p{line-height:1.6}dialog .profile{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center}.profile-picture{width:190px;height:240px;object-fit:contain}.pose-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.game-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-menu a{display:grid;gap:6px;text-decoration:none;border:1px solid #8e7948;padding:16px}.game-menu small{font-size:11px}.gate{padding:24px;max-width:560px;line-height:1.7;text-align:center;background:#0a1b15ed;border:1px solid #d3b36c;border-radius:14px}.gate h2{font:30px Georgia}.gate .button{display:inline-block;text-decoration:none}.gate p{margin:12px 0}
.city-play{height:100vh;height:100dvh;overflow:hidden;background:#08120d none center/cover fixed}.city-game-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;background:#080d09a8;padding:8px}.play-heading{display:flex;align-items:center;gap:18px;padding:7px 14px;background:#101910f5;border:1px solid #9c854d;border-radius:8px 8px 0 0;position:static;min-height:58px}.play-heading>a{font-size:14px;text-decoration:none;white-space:nowrap}.play-heading h1{font:26px Georgia;margin:0;flex:1;line-height:1.15}.play-heading>div{display:flex;gap:8px}.play-hud{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 18px;background:#0e2119f5;border-bottom:2px solid var(--city);min-height:42px}.play-hud strong{font-size:17px}.play-hud span{font-size:13px;color:#d7c69c}.city-play .board-stage[data-board-game]{margin:5px 0;height:100%;border-radius:24px;overflow:hidden;padding:18px 3%!important;grid-template-columns:clamp(140px,20vw,270px) minmax(0,1fr)}.city-play .board-stage[data-board-game="board-four"]{background-image:url('/tabletop/salon-overhead.webp')!important;background-size:100% 100%!important}.city-play .board-company{gap:8px;padding:10px 0;position:relative}.guest-picture{width:min(100%,240px);height:clamp(100px,24vh,240px);object-fit:contain;filter:drop-shadow(0 8px 8px #0009);flex-shrink:1;min-height:0}.city-play .board-company>strong{font:22px Georgia}.city-play .board-company>small{font-size:10px}.guest-speech{position:relative;margin:0;padding:12px 14px;background:#fff3d4;color:#352410;border:1px solid #c6a35c;border-radius:10px;font:17px/1.3 Georgia;max-width:260px}.guest-speech:before{content:'';position:absolute;top:-8px;left:50%;width:14px;height:14px;background:#fff3d4;transform:rotate(45deg);border-top:1px solid #c6a35c;border-left:1px solid #c6a35c}.board-company.taking-turn .guest-speech{box-shadow:0 0 14px #e4bc5c77}#guestBio{font-size:12px;min-height:38px;padding:6px 12px}.play-dock{position:static;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 12px;background:#101a14f5;border:1px solid #a88b4e;border-radius:0 0 8px 8px;min-height:62px}.play-dock>span{margin-right:auto;color:#cabd99;font-size:12px}.play-dock #extraActions:empty{display:none}.play-dock button{font-size:16px;min-height:44px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(98%,85cqh,650px);aspect-ratio:1}.memory-tile{padding:4px;background:repeating-linear-gradient(45deg,#163323 0 5px,#254431 5px 7px);border:2px solid #c6a963;font:bold clamp(13px,3cqh,30px) Georgia;border-radius:8px;min-height:0}.memory-tile.shown{background:#f4e8c9;color:#233626;opacity:1}.memory-tile.matched{background:#e5d194;border:3px solid #ebca68;opacity:.8}.memory-tile span{display:block;font-size:clamp(22px,5cqh,48px)}.memory-tile small{display:block;font-size:11px;margin-top:3px}.fan-machine{display:flex;flex-direction:column;gap:12px;justify-content:center;max-height:100%;width:min(98%,800px);padding:20px;border:7px ridge #b9934b;border-radius:20px;background:radial-gradient(ellipse at 50% 0,var(--city),#0b120e 60%);box-shadow:0 5px 20px #0008,inset 0 0 10px #000}.machine-title{font:bold 32px Georgia;text-align:center;letter-spacing:4px;color:#ffe2a1}.machine-title small{display:block;font:12px Arial;letter-spacing:5px;margin-top:5px}.sports-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sports-reels>div{display:grid;justify-items:center;gap:5px;padding:12px;background:linear-gradient(#d1c3a4,#fff9df 30%,#fff9df 70%,#c5b38c);color:#172118;border:4px solid #715329;border-radius:10px;min-width:0}.sports-reels span{font-size:clamp(40px,11cqh,100px);line-height:1.3}.sports-reels small{font-weight:bold;font-size:12px}.sports-reels.spinning span{animation:reel-tick .17s linear infinite}.award{text-align:center;font-size:16px;color:#f7de9c}.award b{font-size:26px}.paytable{display:grid;gap:6px;text-align:center;padding:12px;background:#0b180ee8;border:1px solid #997f46;border-radius:8px;font-size:16px}.paytable>b{font-size:11px;letter-spacing:2px}.paytable small{font-size:11px;color:#c8b995}@keyframes reel-tick{from{transform:translateY(-6px);filter:blur(1px)}to{transform:translateY(6px);filter:blur(2px)}}[hidden]{display:none!important}
@media(max-width:900px){.city-controls{flex-wrap:wrap}.city-controls>div{width:100%}.city-directory{grid-template-columns:repeat(3,1fr)}.city-controls select{max-width:230px}.city-header{flex-wrap:wrap}.city-header nav{flex-wrap:wrap;gap:12px}.play-hud span{font-size:11px}.play-heading h1{font-size:22px}}
@media(max-width:600px) and (min-height:521px){.city-header{padding:15px}.brand span{font-size:11px}.city-controls{padding:20px 15px 8px;gap:12px}.city-controls h1{font-size:30px}.city-controls label{flex:1;min-width:140px}.city-controls select{max-width:100%;width:100%;font-size:13px}.city-directory{grid-template-columns:1fr 1fr;padding:15px;gap:8px}.city-directory strong{font-size:18px}.city-room{overflow:auto}.city-room svg{min-width:640px}.profile-picture{width:100%;height:180px}dialog .profile{grid-template-columns:100px 1fr;gap:12px}dialog{padding:16px}.dialog-head h2{font-size:25px}.city-game-shell{padding:4px}.play-heading{padding:5px 8px;gap:9px;flex-wrap:wrap;min-height:84px}.play-heading h1{font-size:21px;width:calc(100% - 90px);flex:auto}.play-heading>div{margin-left:auto}.play-heading button{min-height:34px;font-size:12px;padding:5px 15px}.play-hud{min-height:48px;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 10px}.play-hud strong{font-size:14px}.city-play .board-stage[data-board-game]{grid-template-columns:minmax(0,1fr);grid-template-rows:92px minmax(0,1fr);padding:6px 10px!important;gap:4px;border-radius:16px}.city-play .board-company{display:grid;grid-template-columns:65px 1fr;grid-template-rows:21px 1fr;gap:4px 9px;padding:0;text-align:left}.guest-picture{width:65px;height:88px;grid-column:1;grid-row:1/3}.city-play .board-company>strong{font-size:17px;grid-column:2;grid-row:1}.city-play .board-company>small{display:none}.guest-speech{font-size:14px;padding:7px 10px;max-width:none;align-self:start;grid-column:2;grid-row:2}.guest-speech:before{top:12px;left:-6px;width:10px;height:10px;transform:rotate(-45deg)}#guestBio{position:absolute;right:0;top:0;min-height:22px;font-size:10px;padding:2px 5px}.play-dock{flex-wrap:wrap;gap:7px;min-height:82px;padding:5px 8px}.play-dock>span{width:100%;font-size:10px;line-height:1.25}.play-dock button{min-height:40px;padding:7px 10px;font-size:14px}.play-dock #extraActions{margin-right:auto}.memory-grid{width:min(98%,90cqh);gap:6px}.memory-tile small{font-size:8px}.fan-machine{padding:12px 9px;gap:8px;border-width:4px;border-radius:14px}.machine-title{font-size:24px;letter-spacing:2px}.machine-title small{font-size:10px}.sports-reels{gap:4px}.sports-reels>div{padding:6px 3px;border-width:2px}.sports-reels span{font-size:clamp(28px,9cqh,60px)}.sports-reels small{font-size:9px}.paytable{font-size:12px;padding:8px;gap:5px}.paytable small{font-size:9px}.award{font-size:13px}.award b{font-size:21px}.gate{padding:14px}.gate h2{font-size:23px}}
@media(orientation:landscape) and (max-height:520px){.city-game-shell{padding:3px}.play-heading{min-height:42px;padding:3px 10px;gap:12px}.play-heading h1{font-size:20px}.play-heading button{min-height:32px;font-size:12px;padding:5px 10px}.play-hud{min-height:28px;padding:4px 10px}.play-hud strong{font-size:13px}.play-hud span{font-size:10px}.city-play .board-stage[data-board-game]{grid-template-columns:140px minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:4px 12px!important;gap:8px;margin:2px 0}.city-play .board-company{gap:3px;padding:0}.guest-picture{width:100px;height:95px}.city-play .board-company>strong{font-size:16px}.city-play .board-company>small{display:none}.guest-speech{font-size:13px;padding:6px 8px}.guest-speech:before{width:8px;height:8px;top:-5px}#guestBio{min-height:27px;font-size:10px;padding:3px 8px}.play-dock{min-height:42px;padding:4px 8px;gap:6px}.play-dock>span{font-size:10px;max-width:260px}.play-dock button{min-height:32px;font-size:12px;padding:5px 10px}.memory-grid{width:min(95%,94cqh);gap:4px}.memory-tile{border-width:1px;font-size:12px}.memory-tile span{font-size:24px}.memory-tile small{display:none}.fan-machine{width:min(95%,650px);padding:8px 12px;gap:5px;border-width:4px}.machine-title{font-size:19px;letter-spacing:2px}.machine-title small{display:inline;margin-left:15px;font-size:9px;letter-spacing:2px}.sports-reels{gap:6px}.sports-reels>div{padding:3px;border-width:2px;gap:0}.sports-reels span{font-size:35px}.sports-reels small{font-size:9px}.award{font-size:12px}.award b{font-size:15px}.paytable{padding:5px;font-size:11px;gap:3px}.paytable>b,.paytable small{font-size:9px}.gate{padding:8px 15px;font-size:13px}.gate h2{font-size:21px;margin:4px}.gate p{margin:5px}}
@media(prefers-reduced-motion:reduce){.sports-reels.spinning span{animation:none}*{scroll-behavior:auto!important}}
.city-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:8px 3% 16px}.city-choices button{display:grid;gap:5px;text-align:left;padding:13px 15px;border-color:#6b603d;background:#101c15}.city-choices strong{font:20px Georgia}.city-choices small{font-size:10px;color:#c7b27e}.city-choices button[aria-pressed=true]{border-color:#f0d48c;background:linear-gradient(120deg,var(--city),#15261b);box-shadow:inset 0 -3px #d9b667}#experienceMood{font-size:12px;color:#c8b68f;margin:9px 0 0}.city-controls h1{font-size:30px}.city-play{background-image:var(--city-room,none)}.play-heading>.game-identity{display:block;flex:1}.game-identity small{display:block;font-size:11px;color:#ddc995;margin-top:4px;letter-spacing:1px}.city-play .board-stage[data-board-game]{position:relative;isolation:isolate;height:auto}.city-play .board-stage:before{display:none;content:'';position:absolute;inset:12% 6% 9%;background:var(--felt,#2c5c40);border-radius:45%;mix-blend-mode:color;opacity:.65;z-index:-1;pointer-events:none}.city-play .board-play-area{position:relative}.city-play .board-company{z-index:1}.city-play .memory-tile{border-color:var(--city)}.city-play .memory-tile.shown{border-color:#e2c27c}.city-play .machine-title{font-size:clamp(18px,3vw,30px);letter-spacing:2px}
@media(max-width:900px){.city-choices{grid-template-columns:repeat(3,1fr)}.city-controls h1{font-size:28px}.brand span{letter-spacing:1px}}
@media(max-width:600px) and (min-height:521px){.city-choices{gap:6px}.city-choices button{padding:10px 8px}.city-choices strong{font-size:16px}.city-choices small{font-size:9px}.play-heading>.game-identity{flex:1;min-width:calc(100% - 90px)}.play-heading h1{width:auto;font-size:20px}.game-identity small{font-size:10px;margin-top:2px;letter-spacing:0}.play-heading{min-height:94px}.play-heading>div:last-child{margin-left:auto}.city-play .machine-title{font-size:22px}.city-play .board-company>strong{max-width:calc(100% - 85px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(orientation:landscape) and (max-height:520px){.game-identity small{font-size:9px;margin-top:1px;letter-spacing:0}.play-heading h1{font-size:18px}.city-play .machine-title{font-size:18px}.city-play .board-stage:before{inset:14% 5% 10%}}
.city-cast{padding:26px 3%;background:linear-gradient(#101c14,#121b14);border-block:1px solid #5e512e}.cast-heading h2{font:34px Georgia;margin:0 0 7px}.cast-heading p{color:#cbbc9b;font-size:14px}.cast-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.cast-gallery article{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-width:0;padding:14px 8px;background:radial-gradient(ellipse at top,#374d35,#0d1810 75%);border-bottom:2px solid #8e7641}.cast-picture{display:block;width:100%;height:220px}.cast-gallery h3{font:22px Georgia;margin:0}.cast-gallery p{font-size:12px;line-height:1.4;margin:0;min-height:34px;color:#d7c89e}.cast-gallery button{font-size:12px;min-height:38px;padding:6px 10px;width:100%}.cast-gallery button[aria-pressed=true]{background:#d6b86e;color:#181b11}.cast-gallery .profile-link{border:0;background:transparent;text-decoration:underline;color:#dfc583}.pose-buttons button[aria-pressed=true]{background:#dec37c;color:#182016}#guestPicture{display:flex;justify-content:center;align-items:flex-end;min-height:0;flex-shrink:1;width:100%}.guest-picture{display:block}#profilePortrait{display:flex;align-items:center;justify-content:center}.profile-picture{display:block;flex-shrink:0}
@media(max-width:1000px){.cast-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.cast-picture{height:240px}}
@media(max-width:600px) and (min-height:521px){.cast-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cast-picture{height:200px}.cast-gallery h3{font-size:20px}.cast-heading h2{font-size:28px}#guestPicture{width:65px;height:88px;grid-column:1;grid-row:1/3}.guest-picture{width:65px;height:88px;grid-column:auto;grid-row:auto}.profile-picture{height:185px;width:110px}}
@media(orientation:landscape) and (max-height:520px){#guestPicture{height:95px;flex-shrink:1}.guest-picture{height:95px;width:90px}}

.city-play #guestPicture{padding:0;background:none;border:0;border-radius:0;max-width:none;box-shadow:none}.city-play .board-stage.checking-member{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}

/* Results navigation shares the existing controls; the action dock stays visible. */
.play-heading .results-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;min-height:40px;padding:7px 12px;border:1px solid #9c8249;border-radius:5px;white-space:nowrap}
@media(max-width:600px) and (min-height:521px){.play-heading .results-link{font-size:12px;min-height:34px;padding:5px 15px}.play-heading>div:last-child{display:flex;gap:5px}}
@media(orientation:landscape) and (max-height:520px){.play-heading .results-link{font-size:12px;min-height:32px;padding:5px 10px}.play-heading>div:last-child{display:flex;gap:5px}}
