/* Shared Chair Hogs identity. Destination changes are scoped to presentation. */
:root{--ink:#15394c;--muted:#49666b;--lagoon:#087583;--coral:#c94c31;--paper:#fffaf0;--edge:#d8e2dc}
body{background:radial-gradient(ellipse at 10% 0,#d6ece6,transparent 65%),#f5efe4}
.masthead{gap:12px;padding:13px 0;min-height:70px}
.publisher-lockup{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;background:#fffcf5;border-radius:13px;padding:8px 12px;max-width:250px}
.publisher-lockup img{display:block;width:185px;max-width:100%;height:40px;object-fit:contain}
.publisher-lockup span{font-size:8px;font-weight:800;letter-spacing:.19em;align-self:center;color:#375a65;margin-top:2px}
/* The masthead's remaining space belongs to Atlas's audio controls. */
.cwc-signature{display:flex;align-items:center;justify-content:center;background:#fffcf5;border-radius:10px;padding:7px 12px}
.cwc-signature img{display:block;width:180px;max-width:100%;height:auto}
.game-loading{padding:38px 15px;text-align:center}
.game-loading .loading-wordmark{display:block;max-width:260px;width:80%;height:auto;margin:12px auto}
.game-loading .cwc-signature{max-width:240px;margin:auto}
.game-loading p{font-size:14px;line-height:1.6;color:var(--ink)}
.game-loading small{display:block;margin:12px 0 0;letter-spacing:.15em;font-size:9px}
.voyage-home{border:1px solid #fff;border-radius:23px;background:var(--paper)}
.voyage-hero{position:relative;overflow:hidden;background:#b4e0e0}
.voyage-hero .hero-art{width:100%;height:242px;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 60%}
.game-title{position:absolute;top:4px;left:8px;margin:0;line-height:0;width:48%;max-width:250px;filter:drop-shadow(0 3px 3px #132f4b35)}
.game-title img{display:block;width:100%;height:auto}
.voyage-tag{position:absolute;bottom:12px;left:14px;max-width:calc(100% - 28px);background:#fffcf2f5;border:1px solid #fff;border-radius:7px;padding:7px 11px;box-shadow:0 2px 10px #17374e20;color:#173f49;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.voyage-home .hero-copy{padding:18px 18px 19px}
.destination-picker{padding:0;margin:0 0 13px;border:0;min-width:0;text-align:left}
.destination-picker legend{padding:0;margin:0 0 10px;font-size:18px;font-weight:850;letter-spacing:-.02em}
.destination-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.destination-option{display:flex;align-items:center;gap:7px;min-height:51px;padding:8px;border:1px solid #c9d9d7;border-radius:10px;background:#f2f6ee;color:#224e59;cursor:pointer;min-width:0}
.destination-option:has(input:checked){background:#e1f0e8;border:2px solid #157c7a;padding:7px}
.destination-option input{accent-color:#127576;width:17px;height:17px;margin:0;flex-shrink:0}
.destination-option input:focus-visible{outline:3px solid #075eff;outline-offset:3px}
.destination-option b{display:block;font-size:12px;line-height:1.3}
.destination-option small{display:block;font-size:10px;margin-top:3px;color:#486569}
.destination-option.future-port{background:#f2efe7;border-color:#deddd5;cursor:pointer;color:#375962}
.destination-option.future-port:has(input:checked){background:#e1f0e8;border-color:#157c7a;color:#224e59}
.how-strip[hidden],.cast-disclosure[hidden]{display:none}
.future-port small{color:#59676a}
.voyage-home .voyage-description{font-size:12px;line-height:1.5;margin-bottom:14px}
.voyage-home .play-meta{gap:10px;flex-wrap:wrap;font-size:10px;margin-top:12px}
.primary{background:linear-gradient(#ea7451,#c94c31);box-shadow:0 4px 0 #a33e2a,0 7px 15px #aa543222;text-shadow:0 1px 2px #74281190}
.cast-disclosure{background:var(--paper);border:1px solid var(--edge);border-radius:16px;padding:0 12px;color:var(--ink)}
.cast-disclosure summary{cursor:pointer;min-height:48px;display:list-item;align-content:center;font-size:13px;font-weight:750}
.cast-disclosure .cast{margin:0;padding:0 0 12px}
.home-links .text-button{min-height:48px}
.destination-horizon{height:72px;position:relative;overflow:hidden;background:#83becd}
.destination-horizon>img{width:100%;height:100%;object-fit:cover;object-position:50% 27%;display:block}
.destination-horizon:after{content:'';position:absolute;bottom:0;left:0;right:0;height:7px;background:linear-gradient(#fff9,white 40%,#c19261 41%,#eac99d);box-shadow:0 -14px 0 -2px #ffffffc9;pointer-events:none}
.deck-brand-plaque{position:absolute;right:9px;bottom:12px;background:#fffcf5f5;border:1px solid #ffffff80;border-radius:5px;padding:4px 7px;box-shadow:0 2px 5px #183e4933}
.deck-brand-plaque img{display:block;width:100px;height:auto}
.deck-scene .pool{height:26px;border-width:3px;border-bottom-width:5px;border-radius:0 0 17px 17px;margin:0 17px}
.deck-scene .pool-label{font-size:8px;top:5px;left:12px}
.deck-scene .pool-ring{width:16px;height:16px;border-width:5px;top:2px}
.deck-grid{background:repeating-linear-gradient(0deg,#89634425 0 1px,transparent 1px 24px),linear-gradient(100deg,#e4ba87,#f1d2a8 50%,#d8ad7e)}
body[data-destination="mexican-riviera"] .sprite{background-image:url('../art/riviera/atlas.webp')}
/* Generated hog sheet's full-chair band is 500/896 of its height. Use that
   band explicitly so feet remain inside the sprite rather than clipping. */
body[data-destination="mexican-riviera"] :is(.s-sunburn-steve,.s-the-rotator,.s-family-fleet,.s-speed-hog){background-image:url('../art/riviera/hogs.webp');background-size:400% 179.2%}
body[data-destination="mexican-riviera"] .cast :is(.s-sunburn-steve,.s-the-rotator,.s-family-fleet,.s-speed-hog){background-size:400% 226.262626%}
.chair-status{font-size:10px;min-width:48px;padding:5px 4px;color:#244c51;background:#fffcf1f5}
.chair.hog .chair-status{background:#a83f30}
.chair.towel .chair-status{color:#814014}
.chair-content{position:relative}
.deck-caption{font-size:8px;letter-spacing:.06em;color:#654c31;background:#f8e6c9;gap:8px}
.queue-title h2{font-size:13px}
.round-heading .icon-button{color:#15394c;background:#fffaf0}
.dialog-brand{margin:0 auto 10px;max-width:225px}
dialog>.sprite{height:76px;width:76px}
dialog h2{font-size:25px}
/* No audio-control selectors: Atlas owns the settings UI and its behavior. */
.voyage-recap{border:7px solid #fffaf0;border-radius:19px}
.postcard-view{position:relative;padding-top:195px;background:#fffaf0;text-align:center;overflow:hidden}
.postcard-scene{position:absolute;left:0;top:0;width:100%;height:240px;object-fit:cover;object-position:center 65%}
.postcard-heading{position:absolute;top:13px;left:12px;right:12px;background:#fffaf0ed;padding:12px 40px 12px 10px;text-align:left;border-radius:3px;color:#173f49}
.postcard-heading span{font:italic 15px Georgia,serif}
.postcard-heading h1{font-size:25px;line-height:1.1;margin:4px 0 0;letter-spacing:-.025em}
.postcard-stamp{position:absolute;right:19px;top:20px;font-size:6px;letter-spacing:.07em;line-height:1.5;border:2px dotted #63858c;transform:rotate(9deg);padding:5px;color:#496c76;text-align:center;max-width:41px;background:#eef6ed}
.postcard-score{position:relative;border-radius:50% 50% 0 0 / 15% 15% 0 0;background:#fffaf0;padding:19px 10px 9px}
.postcard-score .recap-score{font-size:66px;color:#163f57;margin:0 0 2px}
.postcard-score small{font-size:10px;font-weight:800;letter-spacing:.15em;color:#3e6369}
.postcard-score .best{font-size:11px;color:#835022;margin-top:9px}
.voyage-recap .recap-body{padding:12px 15px 15px}
.voyage-recap .stats{margin-bottom:8px}
.voyage-recap .recap-tip{margin:10px 0 16px;font-size:12px}
.voyage-recap .cwc-signature{margin:6px auto 0;max-width:220px}
.voyage-recap #menu{min-height:48px}
body[data-theme="dark"]{background:#12313c}
body[data-theme="dark"] .publisher-lockup,body[data-theme="dark"] .cwc-signature{background:#fffcf5;border:1px solid #d8e2dc}
body[data-theme="dark"] .home-links .text-button{color:#d4e7e1}
@media(min-width:650px){.voyage-hero .hero-art{height:310px}.game-title{width:43%}.voyage-home .hero-copy{padding:22px 28px}.destination-options{grid-template-columns:repeat(4,1fr)}.destination-option{flex-direction:column;align-items:flex-start;gap:5px}.destination-horizon{height:100px}.postcard-heading h1{font-size:33px}}
@media(max-width:400px){.masthead{padding:9px 0;min-height:66px}.publisher-lockup{padding:5px 10px}.publisher-lockup img{width:173px;height:37px}.voyage-hero .hero-art{height:210px}.voyage-home .hero-copy{padding:14px}.destination-picker legend{font-size:17px}.destination-option b{font-size:11px}.destination-option small{font-size:9px}.destination-options{gap:6px}.destination-option{min-height:48px}.postcard-heading h1{font-size:22px}.round-heading h1{font-size:20px}.chair-status{font-size:9px}.destination-horizon{height:63px}}
@media(max-width:600px) and (max-height:780px){.in-round .masthead{min-height:50px;padding:5px 0}.in-round .publisher-lockup img{height:24px;width:145px}.in-round .publisher-lockup span{display:none}.destination-horizon{height:48px}.in-round .deck-scene .pool{height:20px}.in-round .deck-scene .pool-label{top:3px}.in-round .round-progress{margin-bottom:8px}.voyage-hero .hero-art{height:188px}}
@media(max-width:600px){.in-round .masthead{min-height:50px;padding:5px 0}.in-round .publisher-lockup{padding:5px 9px}.in-round .publisher-lockup img{width:145px;height:31px}.in-round .publisher-lockup span{display:none}.in-round .round-heading{margin-bottom:8px}.in-round .hud>div{padding:7px 9px}.in-round .destination-horizon{height:50px}.in-round .deck-grid{padding:9px 4px;row-gap:3px}.in-round .chair .sprite{width:84%;margin:0 auto}.in-round .chair{padding:2px 0 4px}.in-round .deck-caption{padding:6px 9px}.in-round .queue{min-height:82px}.in-round .feed{min-height:34px;padding:6px 2px}.in-round .queue-title{margin-bottom:6px}}
