/* Townline Pulse — approved blue/chrome/gold mountain identity, site-wide. */
:root{--tlp-navy:#06182b;--tlp-blue:#0b3f70;--tlp-sky:#37b9e9;--tlp-gold:#f2bd3e;--tlp-gold-2:#ffd978;--tlp-ink:#102338;--tlp-paper:#f6fbff;--tlp-line:#c9d9e8;--tlp-shadow:0 22px 60px rgba(3,20,40,.22)}
html body.tlp-global{background:linear-gradient(180deg,#edf7ff 0,#fff 42%,#edf4fa 100%)!important;color:var(--tlp-ink)!important}
html body.tlp-global{--tlf-ink:var(--tlp-ink);--tlf-ink-2:#35506a;--tlf-cream:#f7fbff;--tlf-sand:#e7f0f7;--tlf-blossom:#d7edff;--tlf-coral:#e8f4ff;--tlf-lavender:#d6e8f7;--tlf-sun:var(--tlp-gold-2);--tlf-leaf:#d7edf3;--tlf-lake:#bce8f7;--tlf-blossom-deep:#0b4d80;--tlf-lake-deep:#075a83;--tlf-leaf-deep:#15647a;--tlf-lav-deep:#274f7c;--tlf-coral-deep:#8b6100;--tlf-btn:linear-gradient(135deg,var(--tlp-gold-2),var(--tlp-gold));--tlf-btn-soft:linear-gradient(135deg,#fff,#e8f5ff);--tlf-pill:linear-gradient(135deg,#fff,#e8f4ff);--tlf-wash:linear-gradient(180deg,rgba(244,250,255,.94),rgba(255,255,255,.92));--tlf-line:rgba(11,63,112,.18);--tlf-shadow:0 16px 42px rgba(5,43,78,.12);--accent:#0b568d!important;--accent-2:#d79c19!important;--ink:var(--tlp-ink)!important;--muted:#46617a!important;--bg:#f6fbff!important;--bg-2:#fff!important;--bg-3:#e8f2fa!important;--panel:rgba(255,255,255,.94)!important;--line:rgba(11,63,112,.18)!important;--paper:#f6fbff!important;--navy:var(--tlp-navy)!important}
html body.tlp-global::before{background:linear-gradient(180deg,rgba(239,248,255,.94),rgba(255,255,255,.97)),url('/townline/art/townline-arrive.jpg') center/cover no-repeat!important}
html body.tlp-global :is(header.top,.top,.game-bar,.arcade-bar){background:rgba(4,24,45,.97)!important;color:#fff!important;border-color:rgba(242,189,62,.35)!important;box-shadow:0 9px 26px rgba(0,0,0,.25)}
html body.tlp-global :is(header.top,.top,.game-bar,.arcade-bar) :is(a,b,span,label,small){color:#fff!important}
html body.tlp-global :is(header.top,.top,.game-bar,.arcade-bar) a:hover{color:var(--tlp-gold-2)!important}
/* The Pulse masthead replaces each legacy page masthead. Keeping both created
   duplicate branding and pushed the actual page content below the fold. */
html body.tlp-global.tlp-pulse-mounted > header:not(.tlp-chrome),
html body.tlp-global.tlp-pulse-mounted > .game-bar,
html body.tlp-global.tlp-pulse-mounted > .arcade-bar{display:none!important}
html body.tlp-global :is(.join,.primary,.btn.primary,.room-button.primary,button[type=submit]){background:linear-gradient(135deg,var(--tlp-gold-2),var(--tlp-gold))!important;color:#132438!important;border-color:#ffe49b!important;box-shadow:0 9px 24px rgba(214,153,16,.28)!important}
.tlp-chrome{position:relative;isolation:isolate;overflow:hidden;background:var(--tlp-navy);color:#fff;min-height:430px;border-bottom:4px solid var(--tlp-gold)}
.tlp-chrome::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/townline/art/townline-arrive.jpg') center 53%/cover no-repeat;transform:scale(1.02);animation:tlpDrift 22s ease-in-out infinite alternate}
.tlp-chrome::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,20,39,.14),rgba(4,20,39,.26) 42%,rgba(4,20,39,.84) 100%),radial-gradient(circle at 78% 12%,rgba(255,194,59,.26),transparent 24%)}
.tlp-chrome-in{width:min(1240px,94vw);margin:auto;padding:42px 0 18px;text-align:center}
.tlp-mountains{font-size:clamp(28px,5vw,62px);line-height:.72;letter-spacing:-.13em;text-shadow:0 7px 22px #0009;margin-bottom:3px;user-select:none}
.tlp-wordmark{margin:0;font:1000 clamp(52px,9vw,116px)/.82 Inter,system-ui,sans-serif;letter-spacing:-.07em;text-transform:uppercase;background:linear-gradient(180deg,#fff 0,#bfcbd6 38%,#fff 58%,#77899a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 7px 5px rgba(0,0,0,.5))}
.tlp-wordmark span{background:linear-gradient(180deg,#fff5c5,#f7c64e 45%,#a96c00 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tlp-pulse-line{width:min(700px,84vw);height:8px;margin:15px auto 12px;background:linear-gradient(90deg,transparent,var(--tlp-sky) 10%,#fff 28%,var(--tlp-gold) 48%,#fff 64%,var(--tlp-gold) 87%,transparent);clip-path:polygon(0 42%,35% 42%,39% 0,43% 100%,48% 42%,100% 42%,100% 59%,49% 59%,43% 100%,39% 18%,36% 59%,0 59%)}
.tlp-tagline{margin:0 0 21px;color:#fff!important;font:800 clamp(16px,2.3vw,27px)/1.1 Inter,system-ui,sans-serif;letter-spacing:.01em;text-shadow:0 3px 14px #000}.tlp-tagline strong{color:var(--tlp-gold-2)}
.tlp-context{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(2,20,39,.42);color:#fff;font:800 11px/1 Inter,system-ui;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.tlp-room-nav{display:grid;grid-template-columns:repeat(9,minmax(82px,1fr));gap:10px;margin:0 auto 20px;max-width:1180px}
.tlp-room-nav a{display:grid;place-items:center;align-content:start;gap:6px;min-height:91px;padding:7px 5px;border-radius:18px;color:#fff!important;text-decoration:none;font:800 12px/1.1 Inter,system-ui;background:linear-gradient(180deg,rgba(4,28,51,.28),rgba(4,28,51,.56));border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(7px);transition:transform .2s,border-color .2s,background .2s}
.tlp-room-nav a:hover,.tlp-room-nav a:focus-visible{transform:translateY(-3px);border-color:var(--tlp-gold-2);background:rgba(4,28,51,.78)}
.tlp-icon{display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--tlp-gold-2);border-radius:50%;background:rgba(3,20,38,.7);color:var(--tlp-gold-2);font-size:23px;box-shadow:0 0 0 4px rgba(2,18,34,.28)}
.tlp-room-nav small{display:block!important;color:#dceaff!important;font-size:8px!important;letter-spacing:.06em;text-transform:uppercase}
/* Townline Fresh ships highly specific, important heading rules. These
   scoped declarations keep the approved photo masthead legible everywhere. */
html body.tlp-global .tlp-chrome .tlp-wordmark,
html body.tlp-global .tlp-chrome .tlp-wordmark span{color:transparent!important}
html body.tlp-global .tlp-chrome .tlp-tagline,
html body.tlp-global .tlp-chrome .tlp-context,
html body.tlp-global .tlp-chrome .tlp-room-nav a,
html body.tlp-global .tlp-chrome .tlp-room-nav a span{color:#fff!important}
html body.tlp-global .tlp-chrome .tlp-tagline strong,
html body.tlp-global .tlp-chrome .tlp-icon{color:var(--tlp-gold-2)!important}
html body.tlp-global .tlp-chrome .tlp-room-nav small{color:#dceaff!important}
.tlp-city-picker{display:grid;grid-template-columns:1fr minmax(210px,290px) auto;gap:0;align-items:stretch;width:min(870px,95%);margin:0 auto;background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:999px;box-shadow:var(--tlp-shadow);overflow:hidden}
.tlp-picker-copy{display:flex;align-items:center;padding:0 22px;color:#4b6075;text-align:left;font:700 14px/1.2 Inter,system-ui;border-right:1px solid var(--tlp-line)}
.tlp-city-picker select{min-height:52px;border:0!important;background:#fff!important;color:var(--tlp-ink)!important;padding:0 18px;font:800 14px Inter,system-ui}
.tlp-city-picker button{border:0;min-width:142px;padding:0 24px;background:linear-gradient(135deg,var(--tlp-gold-2),var(--tlp-gold));color:#16253a;font:900 13px Inter,system-ui;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.tlp-city-rail{display:flex;gap:0;margin:18px calc(50% - 50vw) -18px;padding:13px max(3vw,18px);overflow-x:auto;background:rgba(3,16,31,.92);border-top:1px solid rgba(242,189,62,.38);scrollbar-width:thin}
.tlp-city-rail a{flex:0 0 auto;color:#fff!important;text-decoration:none;font:750 9px/1 Inter,system-ui;letter-spacing:.045em;text-transform:uppercase;padding:4px 11px;border-right:1px solid rgba(255,255,255,.25)}
.tlp-city-rail a:hover{color:var(--tlp-gold-2)!important}
html body.tlp-global main{background:linear-gradient(180deg,#f7fbff,#fff 24%,#edf5fb)!important}
html body.tlp-global :is(.card,.panel,.place,.reason,.tile,.member,.cal,.agenda,.status,.wx,.notice,.score,.alert,.stat,.trivia-card,.game-stage){background:rgba(255,255,255,.96)!important;color:var(--tlp-ink)!important;border:1px solid rgba(15,77,126,.16)!important;box-shadow:0 15px 36px rgba(5,43,78,.1)!important}
html body.tlp-global :is(.card,.panel,.place,.reason,.tile,.member,.trivia-card,.game-stage):hover{border-color:rgba(218,157,22,.48)!important;box-shadow:0 20px 48px rgba(5,43,78,.16)!important}
html body.tlp-global :is(h1,h2,h3,h4){color:var(--tlp-ink)!important}
html body.tlp-global :is(.ey,.eyebrow,.kicker,.tagline):not(.tlp-chrome *){color:#9a6b00!important;font-style:normal!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-family:Inter,system-ui!important;font-size:11px!important}
html body.tlp-global .game-intro{position:relative;padding:24px;border-radius:28px;background:linear-gradient(135deg,#eaf5fd,#fff 50%,#fff6d7);box-shadow:0 18px 50px rgba(5,43,78,.12)}
html body.tlp-global .game-cover{border:3px solid #fff;border-radius:24px!important;box-shadow:0 18px 46px rgba(3,27,52,.25)}
html body.tlp-global .game-cover::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(4,24,44,.44));pointer-events:none}
html body.tlp-global .game-cover span{z-index:2;background:linear-gradient(135deg,var(--tlp-gold-2),var(--tlp-gold));color:#14273a}
html body.tlp-global .network-promo{background:linear-gradient(125deg,#08213b,#0b4e7a)!important;color:#fff!important;border:1px solid rgba(242,189,62,.45)!important;box-shadow:var(--tlp-shadow)}
html body.tlp-global .network-promo :is(h2,p,.eyebrow){color:#fff!important}
html body.tlp-global footer,html body.tlp-global .footer,html body.tlp-global .tl-master-footer,html body.tlp-global .game-footer{background:linear-gradient(145deg,#041629,#0b3558)!important;color:#dcecff!important;border-top:3px solid var(--tlp-gold)!important}
html body.tlp-global :is(footer,.footer,.tl-master-footer,.game-footer) :is(a,p,h4,b,span,small,strong){color:#fff!important}
/* Keep this after every legacy override: the shared masthead must retain its
   chrome/gold contrast even on pages with important editorial heading rules. */
html body.tlp-global section.tlp-chrome .tlp-wordmark,
html body.tlp-global section.tlp-chrome .tlp-wordmark span{color:transparent!important}
html body.tlp-global section.tlp-chrome .tlp-tagline,
html body.tlp-global section.tlp-chrome .tlp-context,
html body.tlp-global section.tlp-chrome .tlp-room-nav a,
html body.tlp-global section.tlp-chrome .tlp-room-nav a span{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.95)}
html body.tlp-global section.tlp-chrome .tlp-tagline strong,
html body.tlp-global section.tlp-chrome .tlp-icon{color:var(--tlp-gold-2)!important}
html body.tlp-global section.tlp-chrome .tlp-room-nav small{color:#dceaff!important}
html body.tlp-global section.tlp-chrome .tlp-city-rail a{color:#fff!important}
html body.tlp-global section.tlp-chrome form.tlp-city-picker{display:grid!important;grid-template-columns:1fr minmax(210px,290px) auto!important;gap:0!important;align-items:stretch!important}
html body.tlp-global section.tlp-chrome .tlp-city-picker .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html body.tlp-global section.tlp-chrome .tlp-city-picker button{grid-column:auto!important;grid-row:auto!important;width:auto!important;margin:0!important;border-radius:0!important}
@keyframes tlpDrift{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.07) translateX(-.7%)}}
@media(max-width:980px){.tlp-room-nav{grid-template-columns:repeat(4,minmax(90px,1fr));max-width:620px}.tlp-chrome{min-height:560px}.tlp-city-picker{grid-template-columns:1fr auto}.tlp-picker-copy{display:none}}
@media(max-width:720px){.tlp-chrome{min-height:0}.tlp-chrome-in{padding:30px 0 14px}.tlp-mountains{font-size:31px}.tlp-wordmark{font-size:54px}.tlp-tagline{font-size:15px;margin-bottom:16px}.tlp-context{font-size:9px}.tlp-room-nav{display:flex;overflow-x:auto;justify-content:flex-start;margin-inline:calc(50% - 50vw);padding:0 16px 12px;scroll-snap-type:x mandatory}.tlp-room-nav a{flex:0 0 104px;scroll-snap-align:start}html body.tlp-global section.tlp-chrome form.tlp-city-picker{width:100%;grid-template-columns:1fr auto!important;border-radius:18px}.tlp-city-picker select{min-width:0}.tlp-city-picker button{min-width:108px;padding:0 14px}.tlp-city-rail{margin-top:14px}.tlp-city-rail a{padding-inline:9px}html body.tlp-global .game-intro{padding:16px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){.tlp-chrome::before{animation:none}.tlp-room-nav a{transition:none}}
