/* V16: a full-bleed game cover, with real controls over original key art. */
#frontdoor{--cream:#fff1d5;--orange:#ff8544;--muted:#bfccc3;--display:'Backlot Display',Impact,'Arial Narrow',sans-serif;background:#081d1b}
#frontdoor[data-view=home]>.front-header{position:absolute;inset:0 0 auto;height:105px;padding:0 4.4vw;border:0;background:linear-gradient(#071813a8,transparent);z-index:3}
#frontdoor .wordmark{gap:10px;filter:drop-shadow(0 2px 6px #0006)}#frontdoor .wordmark img{width:45px;height:45px}#frontdoor .wordmark>span{font-size:30px;font-style:normal;letter-spacing:.01em}#frontdoor .wordmark small{font-size:8px;letter-spacing:.34em;margin-top:9px}
#frontdoor .front-header nav{gap:30px}#frontdoor .front-header .text-button{font-size:11px;letter-spacing:.04em}#frontdoor .connection{color:#fff1d5;font-size:9px;letter-spacing:.13em;border:1px solid #fff1d52b;padding:11px 14px;background:#09231f80}.connection i{box-shadow:0 0 10px #bed98a66}
#frontdoor #home-screen{height:auto;min-height:max(780px,100dvh);overflow:hidden}
#frontdoor .hero-photo{display:block;position:absolute;inset:0;background:none;opacity:1}#frontdoor .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;display:block}
#frontdoor .hero-shade{background:linear-gradient(90deg,#071e1ae8 0%,#071e1ab8 25%,#071e1a40 46%,transparent 65%),linear-gradient(0deg,#061c18e8 0%,transparent 26%),linear-gradient(180deg,#091d1922,transparent 23%)}
#frontdoor .hero-copy{max-width:none;width:48%;padding:150px 0 123px 5.2vw;position:relative;z-index:1}
#frontdoor .hero-copy>.menu-eyebrow{font-size:9px;letter-spacing:.14em;color:#eddec0;white-space:nowrap}#frontdoor .hero-copy>.menu-eyebrow>span{width:22px;height:3px;background:var(--orange)}
#frontdoor .hero-copy h1{font:400 clamp(82px,7.55vw,126px)/.98 var(--display);letter-spacing:-.025em;color:var(--cream);margin:23px 0 23px;text-shadow:0 5px 25px #0004;transform:rotate(-2deg);transform-origin:left bottom;white-space:nowrap}
#frontdoor .hero-copy h1 em{color:var(--orange);font-style:normal;letter-spacing:-.035em}
#frontdoor .hero-description{font-size:15px;line-height:1.65;color:#f6ead5e0;margin:0 0 26px;letter-spacing:.01em}
#frontdoor .quick-panel{width:380px;max-width:100%}.format-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.16em;font-weight:750;margin-bottom:10px;color:#fbedd3}.format-label span:last-child{color:#aac1b6;font-size:7px;letter-spacing:.1em}
#frontdoor .format-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 14px}#frontdoor .format-picker button{position:relative;width:auto;padding:8px 7px 9px;font:400 24px/1.1 var(--display);background:#09251e9e;border:1px solid #e6efdd42;border-radius:1px;color:#ffefd7;transition:background .15s,transform .15s}
#frontdoor .format-picker button span{font-size:15px;margin:0 3px;opacity:.7}#frontdoor .format-picker button[aria-pressed=true]{color:#09261e;background:#fff0d1;border-color:#fff0d1;box-shadow:0 3px 0 #9aab87}#frontdoor .format-picker button:hover{transform:translateY(-2px);border-color:#fff0d1}
.quick-name{display:flex;align-items:center;gap:14px;background:#061d18b5;border:1px solid #eee0bd30;border-radius:1px;padding:0 14px;min-height:42px;margin-bottom:12px}.quick-name>span{font-size:8px;font-weight:750;letter-spacing:.12em;color:#c3cdbc;white-space:nowrap}.quick-name input{min-width:0;width:100%;border:0;background:none;border-radius:0;color:#fff2d9;font-size:12px;padding:12px 0;outline-offset:1px}.quick-name input::placeholder{color:#b4c3b2}.quick-name:focus-within{border-color:#ff8544}
#frontdoor .play-now{min-height:64px;display:flex;width:100%;margin:0;border:0;border-radius:1px;padding:12px 20px 14px;background:#ff8544;color:#12291f;box-shadow:0 4px 0 #a34823,0 10px 30px #0002;transition:transform .15s,background .15s;cursor:pointer}#frontdoor .play-now .play-label{font:400 29px/1.1 var(--display);letter-spacing:.045em}#frontdoor .play-now .play-arrow{font:400 35px/1 sans-serif;transition:transform .15s}#frontdoor .play-now:hover:not(:disabled){background:#ff9c5e;transform:translateY(-2px)}#frontdoor .play-now:hover .play-arrow{transform:translate(2px,-2px)}#frontdoor .play-now:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #a34823}#frontdoor .play-now:disabled{opacity:.8;cursor:progress}.play-now[aria-busy=true] .play-arrow{width:24px;height:24px;border:2px solid #14342455;border-top-color:#143424;border-radius:50%;font-size:0!important;animation:match-spin .7s linear infinite}
#frontdoor .matchmaking-note{font-size:10px;line-height:1.5;color:#dddcc4;margin:13px 0 0;letter-spacing:.01em}#frontdoor .home-links{gap:16px;margin-top:15px}#frontdoor .home-links .text-button{font-size:11px;letter-spacing:.015em;padding:6px 0;color:#fff0d6}#frontdoor .home-links>span{color:#a7b6a8}
.court-sign{position:absolute;top:auto;left:auto;width:auto;background:none;border:0;border-radius:0;box-shadow:none;right:4.2vw;bottom:110px;display:flex;gap:13px;align-items:center;padding:13px 0 13px 18px;border-left:2px solid #ffad6f;color:#fff0d3;transform:rotate(-2deg);text-shadow:0 2px 12px #000b}.court-number{font:400 57px/.9 var(--display);color:#ff9c58;opacity:.95}.court-sign small,.court-sign div>span{display:block;font-size:7px;font-weight:750;letter-spacing:.19em}.court-sign strong{display:block;font:400 24px/1.3 var(--display);letter-spacing:.04em;margin:3px 0}.court-sign div>span{letter-spacing:.1em;color:#fce6c5}
#frontdoor .front-footer{padding:22px 4.4vw;min-height:65px;gap:15px;background:#061c185e;border-top:1px solid #fff0d52b;color:#e6e3cc;font-size:8px;letter-spacing:.15em}#frontdoor .front-footer>span{display:flex;align-items:center;gap:10px}#frontdoor .front-footer>span:first-child{color:#fce7bd}#frontdoor .front-footer i{display:inline-block;width:5px;height:5px;background:#ff8c45;transform:rotate(45deg)}#frontdoor .front-footer b{font-weight:400;color:#a7b6a8}#frontdoor .front-footer>span:last-child{color:#d7dccd}
#frontdoor[data-view=lobby]>.front-header{height:94px;background:#0c2922;border-bottom:1px solid #e9debf29}#frontdoor[data-view=lobby]{background:radial-gradient(ellipse at 90% 0,#31422b,#0a241e 65%)}
.friends-dialog{background:linear-gradient(145deg,#234639,#0f3026);border-top:3px solid #ff8544}.friends-dialog .menu-primary{background:#ff8544;color:#142f25}.friends-dialog h2{font-size:49px}.friends-dialog>#browse-open{display:block;margin:18px auto 0}#human-count{border-left:1px solid #dce4ca40;padding-left:8px;color:#e7efd7;font-size:8px}
#match-gate{background:linear-gradient(90deg,#081e1cf2,#081e1cc9),url('./assets/ui/backlot-hero-v16.webp') 65% 50%/cover}#match-gate:not(.counting) h2{font-family:'Backlot Display',Impact,sans-serif;font-size:clamp(36px,5vw,64px)}
@keyframes match-spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){#frontdoor .hero-copy{padding-top:17vh}#frontdoor .quick-panel{width:410px}#frontdoor .hero-description{font-size:17px}}
@media(max-height:830px) and (min-width:761px){#frontdoor #home-screen{min-height:max(700px,100dvh)}#frontdoor .hero-copy{padding-top:114px;padding-bottom:60px}#frontdoor .hero-copy h1{font-size:88px;margin:18px 0}#frontdoor .hero-description{font-size:13px;margin-bottom:20px}#frontdoor .home-links{margin-top:9px}#frontdoor .front-footer{padding-block:16px;min-height:55px}.court-sign{bottom:88px}}
@media(min-width:761px) and (max-width:1100px){#frontdoor .hero-copy{width:53%;padding-left:4vw}#frontdoor .hero-copy h1{font-size:88px}#frontdoor .quick-panel{width:340px}#frontdoor .hero-copy>.menu-eyebrow{font-size:7px;letter-spacing:.1em}#frontdoor .hero-photo img{object-position:57% 50%}.court-sign{right:24px}.court-sign strong{font-size:21px}.court-number{font-size:48px}#frontdoor .front-footer>span:last-child{display:none}}
@media(max-width:760px){#frontdoor[data-view=home]>.front-header{height:85px;padding:0 22px;background:linear-gradient(#061912dd,transparent)}#frontdoor .wordmark>span{font-size:25px}#frontdoor .wordmark img{width:35px;height:35px}#frontdoor .front-header nav{gap:14px}#frontdoor .connection{display:none}#frontdoor #home-screen{min-height:100dvh;height:auto;padding-bottom:75px}#frontdoor .hero-photo{inset:0 0 auto;height:480px}#frontdoor .hero-photo img{object-position:67% 50%}#frontdoor .hero-shade{background:linear-gradient(0deg,#081d1b 0%,#081d1b 35%,#081d1b38 70%,#081d1b10 100%)}#frontdoor .hero-copy{padding:345px 24px 24px;width:100%;max-width:560px;margin:auto}#frontdoor .hero-copy>.menu-eyebrow{font-size:7px;letter-spacing:.07em}#frontdoor .hero-copy h1{font-size:clamp(60px,15.5vw,85px);margin:17px 0 18px;line-height:1.02}#frontdoor .hero-description{font-size:13px;margin-bottom:21px}#frontdoor .quick-panel{width:100%;max-width:430px}.court-sign{display:none}#frontdoor .format-picker button{padding:11px 7px}#frontdoor .play-now{min-height:63px}#frontdoor .home-links{margin-top:16px}#frontdoor .front-footer{position:absolute;padding:17px 24px;min-height:70px;gap:10px;align-items:flex-start;flex-direction:column;font-size:7px}#frontdoor .front-footer>span:last-child{display:none}#frontdoor .front-footer>span:nth-child(2){font-size:7px;opacity:.6}.friends-dialog h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){#frontdoor button,#frontdoor .play-arrow{transition:none!important}#frontdoor .play-now:hover,#frontdoor .format-picker button:hover{transform:none}.play-now[aria-busy=true] .play-arrow{animation:none}}

/* V27.2: the status pill is silent while the server is reachable; it only appears if the connection drops. */
.topbar .connection,.connection{display:none}.connection.offline{display:flex}

/* Choose your run: one dominant action, one clear alternative, format folded into a single control. */
.run-panel{width:460px;max-width:100%;display:grid;gap:10px}
.run-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.run-label{font-size:9px;letter-spacing:.18em;font-weight:800;color:#fbedd3}
.run-player{border:1px solid #f2ead44a;background:#0b2a22b3;color:#f2ead4;font-size:10px;font-weight:750;letter-spacing:.06em;padding:8px 12px;display:flex;gap:10px;align-items:center;cursor:pointer;white-space:nowrap}
.run-player span{color:#d9ff76;font-size:9px}
.run-player:hover{background:#173d32}
.run-tile{display:grid;grid-template-columns:1fr;gap:4px;text-align:left;width:100%;min-height:104px;padding:16px 20px 17px;border-radius:1px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s;margin:0}
.run-tile .run-kicker{font-size:9px;letter-spacing:.16em;font-weight:800;opacity:.85}
.run-tile .run-title{display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 38px/1 var(--display);letter-spacing:.03em}
.run-tile .run-title .play-label{font:inherit;letter-spacing:inherit}
.run-tile .play-arrow{font:400 34px/1 sans-serif;transition:transform .15s}
.run-tile .run-sub{font-size:12px;line-height:1.45;opacity:.9}
.run-primary{background:#ff8544;color:#12291f;border:0;box-shadow:0 5px 0 #a34823,0 12px 34px #0003}
.run-primary:hover:not(:disabled){background:#ff9c5e;transform:translateY(-2px)}
.run-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #a34823}
.run-primary:disabled{opacity:.85;cursor:progress}
.run-secondary{background:#0b2a22cc;color:var(--cream);border:1px solid #f2ead48a}
.run-secondary .run-kicker{color:#d9ff76;opacity:1}
.run-secondary:hover{background:#163a2f;border-color:var(--cream);transform:translateY(-2px)}
.run-tile:hover .play-arrow{transform:translate(2px,-2px)}
.run-format{display:flex;align-items:center;gap:12px;margin-top:2px}
.run-format-label{font-size:9px;letter-spacing:.16em;font-weight:800;color:#fbedd3}
.run-format #format-note{font-size:8px;letter-spacing:.1em;color:#aac1b6;white-space:nowrap}
.run-panel .format-picker{display:inline-flex;gap:0;margin:0;border:1px solid #e6efdd42;background:#09251e9e}
.run-panel .format-picker button{width:auto;min-width:52px;padding:7px 10px 8px;font:400 17px/1 var(--display);border:0;border-right:1px solid #e6efdd2e;border-radius:0;background:transparent;color:#ffefd7;box-shadow:none}
.run-panel .format-picker button:last-child{border-right:0}
.run-panel .format-picker button span{font-size:11px;margin:0 2px;opacity:.7}
.run-panel .format-picker button[aria-pressed=true]{color:#09261e;background:#fff0d1}
.run-panel .format-picker button:hover{transform:none;background:#fff0d122}
.run-panel .format-picker button[aria-pressed=true]:hover{background:#fff0d1}
.run-panel .matchmaking-note{margin:0}
@media(max-width:1100px){.run-panel{width:420px}.run-tile .run-title{font-size:33px}}
@media(max-width:760px){.run-panel{width:100%}.run-tile{min-height:92px;padding:14px 16px 15px}.run-tile .run-title{font-size:30px}.run-head{flex-wrap:wrap}.run-format{flex-wrap:wrap;gap:8px}}

/* Specificity guard: the old Play button and format rules must not restyle the run tiles. */
#home-screen .run-panel .run-tile,#home-screen .run-panel .play-now{display:grid;grid-template-columns:1fr;flex-direction:column;align-items:stretch;justify-content:start;gap:4px;width:100%;min-width:0;min-height:104px;margin:0;padding:16px 20px 17px}
#home-screen .run-panel .play-now .play-label{font:400 38px/1 var(--display);letter-spacing:.03em;white-space:normal}
#home-screen .run-panel .play-now .play-arrow{font:400 34px/1 sans-serif}
#home-screen .run-panel .format-picker{display:inline-flex;grid-template-columns:none;gap:0;margin:0}
#home-screen .run-panel .format-picker button,#home-screen .run-panel .format-picker button[aria-pressed=true]{width:auto;min-width:52px;padding:7px 10px 8px;font:400 17px/1 var(--display);border:0;border-right:1px solid #e6efdd2e;border-radius:0;box-shadow:none;transform:none}
#home-screen .run-panel .format-picker button:last-child{border-right:0}
#home-screen .run-panel .format-picker button[aria-pressed=true]{color:#09261e;background:#fff0d1}
@media(max-width:760px){#home-screen .run-panel .run-tile,#home-screen .run-panel .play-now{min-height:92px;padding:14px 16px 15px}#home-screen .run-panel .play-now .play-label,#home-screen .run-panel .run-tile .run-title{font-size:30px}}

/* Site footer: brand line, two social links, two in-app links. Home view only. */
#frontdoor:not([data-view=home]) #site-footer{display:none}
#site-footer{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:36px 5.2vw 40px;color:var(--cream);border-top:1px solid #f2ead42a}
.site-footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.site-footer-brand strong{display:block;font:400 26px/1 var(--display);letter-spacing:.03em;margin-bottom:8px}
.site-footer-brand p{margin:0;max-width:460px;font-size:13px;line-height:1.6;color:#d2d8c9}
.site-footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:8px}
.site-footer-links a,.site-footer-links .text-button{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.site-footer-links a:hover,.site-footer-links .text-button:hover{border-bottom-color:var(--orange)}
.site-footer-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:14px;border-top:1px solid #f2ead41a;font-size:9px;letter-spacing:.1em;color:#aac1b6}
@media(max-width:760px){#site-footer{padding:28px 16px 32px}.site-footer-links{gap:16px}}
#site-footer{display:flex;flex-direction:column;align-items:stretch}
#site-footer .site-footer-inner,#site-footer .site-footer-base{width:100%}
/* Footer spans the full viewport width; the content sits on the page gutters. */
#site-footer{max-width:none;width:100%;margin:0;padding:36px 5.2vw 40px;background:#071a15;border-top:1px solid #f2ead42a;box-sizing:border-box}

.site-footer-links a{display:inline-flex;align-items:center;gap:8px}
.site-footer-links a svg{display:block;flex:none}
