/* The newsletter invitation extends the existing venue footer; play stays primary. */
.newsletter{margin-top:22px;padding-top:20px;border-top:1px solid #12304730;max-width:720px;letter-spacing:0;text-align:left}
.newsletter h3{margin:0 0 6px;font:700 23px/1.2 Georgia,serif;color:#123047}
.newsletter .newsletter-intro{margin:0 0 14px;font:14px/1.5 Arial,sans-serif;color:#405c6c}
.newsletter-row{display:flex;gap:8px;width:100%}
.newsletter input[type=email]{min-width:0;flex:1;width:100%;height:46px;padding:11px 13px;background:#fffdf5;border:1px solid #9fadb2;border-radius:5px;font:16px/1.4 Arial,sans-serif;color:#123047;user-select:text;-webkit-user-select:text}
.newsletter button[type=submit]{flex-shrink:0;min-height:46px;padding:10px 17px;border:1px solid #123047;border-radius:5px;background:#123047;color:#fff7de;font:14px/1.3 Arial,sans-serif;font-weight:600;white-space:nowrap}
.newsletter button[type=submit]:hover{background:#244b60}
.newsletter .newsletter-consent{margin:9px 0 0;font:12px/1.5 Arial,sans-serif;color:#536772;text-wrap:pretty;letter-spacing:0}
.newsletter-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px;display:inline;padding:0;border:0;background:none;font:inherit}
.newsletter input:focus-visible,.newsletter button:focus-visible,.newsletter a:focus-visible,.newsletter summary:focus-visible{outline:3px solid #bb8040;outline-offset:3px}
.newsletter [role=status]{margin:9px 0 0;font:14px/1.4 Arial,sans-serif;color:#80472b}.newsletter [role=status]:empty{display:none}
.newsletter .newsletter-thanks{margin:8px 0;font:15px/1.5 Arial,sans-serif;color:#123047}
.newsletter-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.newsletter-gameover{margin:12px 0 0;padding:12px 0 0;width:100%;text-align:left;pointer-events:auto;touch-action:pan-y}
.newsletter-gameover summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.newsletter-gameover summary::-webkit-details-marker{display:none}
.newsletter-gameover summary strong{display:block;font:700 17px/1.25 Georgia,serif}
.newsletter-gameover summary small{display:block;margin-top:3px;font:12px/1.35 Arial,sans-serif;color:#546a75}
.newsletter-gameover .newsletter-summary-action{flex-shrink:0;font:600 13px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.newsletter-gameover[open] .newsletter-summary-action{display:none}
.newsletter-gameover[open] summary{margin-bottom:11px}
.newsletter-gameover input[type=email]{height:44px}.newsletter-gameover button[type=submit]{min-height:44px;padding:10px 12px}
.overlay:not(:is([data-mode=dead],[data-mode=paused])) .newsletter-gameover{display:none}
@media(min-width:900px){.newsletter-footer{display:grid;grid-template-columns:1fr 1.3fr;column-gap:24px;align-items:start}.newsletter-footer h3{font-size:22px}.newsletter-footer .newsletter-thanks{grid-column:2}}
@media(max-width:650px){.newsletter{margin-top:20px;padding-top:17px}.newsletter h3{font-size:22px}.newsletter button[type=submit]{padding:10px 13px}.newsletter-gameover{margin-top:10px;padding-top:9px}.newsletter-gameover summary strong{font-size:16px}.newsletter-gameover summary small{font-size:12px}}
@media(max-width:360px){.newsletter-gameover summary{align-items:flex-start}.newsletter-summary-action{max-width:70px;text-align:right}.newsletter-row{gap:6px}.newsletter button[type=submit]{padding:10px;font-size:13px}}

/* Wide screens have room beside the run controls, without a tall stacked panel. */
@media(min-width:900px){
 .overlay:is([data-mode=paused],[data-mode=dead]){display:grid;grid-template-columns:minmax(0,360px) minmax(0,440px);grid-template-rows:repeat(4,auto);justify-content:center;align-content:center;align-items:center;column-gap:32px;row-gap:12px;padding:38px 24px 24px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .end-copy{grid-column:1;grid-row:1;width:100%;min-width:0;margin:0;padding:20px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .end-copy h2{font-size:36px;margin:4px 0 14px;text-wrap:balance}
 .overlay:is([data-mode=paused],[data-mode=dead]) .runner-picker{grid-column:1;grid-row:2;margin:0;min-width:0;justify-self:center}
 .overlay:is([data-mode=paused],[data-mode=dead]) .start-button{grid-column:1;grid-row:3;justify-self:center}
 .overlay:is([data-mode=paused],[data-mode=dead]) .start-hint{grid-column:1;grid-row:4;justify-self:center;margin:0}
 .overlay:is([data-mode=paused],[data-mode=dead]) .run-invitation{grid-column:2;grid-row:1 / 5;width:100%;min-width:0;margin:0;align-self:center}
}

.about-group{display:block;margin-top:12px;padding:10px 4px;color:#123047;font:14px/1.4 Arial,sans-serif;text-align:center;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.overlay:is([data-mode=paused],[data-mode=dead]){overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.overlay:is([data-mode=paused],[data-mode=dead])>*{flex-shrink:0}

/* Distinct compact panels let the scene show through. */
.run-invitation{background:none;border:0;padding:0!important;display:flex;flex-direction:column;gap:10px}
.visit-panel{background:#f7f6f0f5;border:1px solid #12304725;border-radius:7px;padding:10px}
.run-invitation .newsletter-gameover{margin:0;padding:8px 12px;background:#f7f6f0f5;border:1px solid #12304725;border-radius:7px}
.run-invitation .newsletter-gameover summary{margin:0;min-height:44px}
.run-invitation .about-group{margin:0;padding:10px 8px;min-height:40px;border:1px solid #12304725;border-radius:7px;background:#f7f6f0f5;font:600 14px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
@media(max-width:899px){
 .overlay:is([data-mode=paused],[data-mode=dead]){padding:36px 12px 12px;gap:10px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .end-copy{padding:10px 16px;margin:0}
 .overlay:is([data-mode=paused],[data-mode=dead]) .end-copy h2{font-size:29px;margin:3px 0 8px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .eyebrow{margin-bottom:6px;font-size:10px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .runner-picker{margin:0}
 .overlay:is([data-mode=paused],[data-mode=dead]) .runner-picker legend{margin-bottom:6px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .runner-options span{padding:9px 14px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .start-button{min-height:44px;padding:10px 17px}
 .overlay:is([data-mode=paused],[data-mode=dead]) .start-hint{display:none}
 .overlay:is([data-mode=paused],[data-mode=dead]) .run-invitation{margin:0;gap:10px}
 .visit-panel h3{font-size:17px}.visit-panel>p{font-size:12px;margin:4px 0 8px}
 .run-venue-links a{min-height:48px;padding:7px 4px;gap:3px}
 .run-venue-links strong{min-height:0;font-size:11px}.run-venue-links span{font-size:13px}
 .run-invitation .newsletter-gameover summary strong{font-size:15px}
 .run-invitation .newsletter-gameover summary small{display:none}
}
