/* Shared public chrome; game art and stage coordinates remain local. */
body,button,input,select,textarea{font-family:var(--font-family)!important}
body :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-family)!important}
body :is(.glass-intro,.inner-hero-copy,.lobby-hero) h1{font-size:var(--fs-h1)!important;line-height:var(--lh-h1)!important}
body :is(.inner-chapter,.inner-body,.lobby-hero,.human-note,.section-heading) h2{font-size:var(--fs-h2)!important;line-height:var(--lh-h2)!important}
body :is(.scenario-card,.material-card,.aud-card,.exam-card,.learning-grid) h3{font-size:var(--fs-h3)!important}
body.ds-site :is(.btn,.primary,.outline,.btn-primary,.btn-secondary,.btn-ghost){border-radius:var(--radius-md)!important;font-size:var(--fs-body)!important;min-height:var(--button-height-md);line-height:1.4!important;white-space:normal}
body.ds-site :is(.material-card,.scenario-card,.phrase-card,.faq-item,.inner-chapter,.next-step,.human-note){border-radius:var(--radius-lg)!important}
body.ds-site :is(.inner-body,.inner-hero,.editorial-extra){max-width:var(--content-width);box-sizing:border-box}
body.ds-site .editorial-extra{margin:var(--space-32) auto!important;width:calc(100% - 2 * var(--page-gutter))}
body.ds-site :is(.learning-grid,.scenario-grid){gap:var(--space-24)!important}
body.ds-site :is(.inner-chapter,.faq-item,.next-step){padding:var(--card-padding)!important}
body.ds-site .inner-body{gap:var(--space-32)!important}
.premium-footer{display:block!important;position:relative!important;clear:both;margin:var(--section-space) 0 0!important;padding:0!important;width:100%!important;max-width:none!important;color:var(--color-text)!important;background:var(--color-bg)!important;border:0!important;font:var(--fs-body)/var(--lh-body) var(--font-family)!important;text-align:left!important}
.premium-footer *{box-sizing:border-box}
.premium-footer-inner{max-width:var(--content-width);margin:auto;padding:0 var(--page-gutter) var(--space-32)}
.premium-footer-invite{display:flex;justify-content:space-between;align-items:center;gap:var(--space-32);padding:var(--card-padding);border:var(--border-width) solid var(--color-glass-border);border-radius:var(--radius-lg);background:var(--color-glass-soft);box-shadow:var(--shadow-glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.premium-footer h2{font-size:var(--footer-title)!important;margin:var(--space-8) 0!important;line-height:var(--lh-h2)!important;color:var(--color-text)!important}
.premium-footer p{margin:0;color:var(--color-text-muted)}
.premium-footer .footer-eyebrow{font-size:var(--fs-meta);letter-spacing:.08em}
.premium-footer .footer-contact{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:var(--button-height-lg);padding:var(--space-12) var(--space-24)!important;border-radius:var(--radius-md)!important;background:var(--color-accent)!important;color:var(--color-on-accent)!important;text-decoration:none;font-weight:600;border:var(--border-width) solid var(--color-accent)}
.premium-footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:var(--space-32);padding:var(--space-48) 0 var(--space-32)}
.premium-footer-grid nav{display:grid;align-content:start;gap:var(--space-12)}
.premium-footer h3{font-size:var(--fs-meta)!important;font-weight:700;margin:0 0 var(--space-4)!important;color:var(--color-text)!important}
.premium-footer a{color:var(--color-text);text-decoration:none;overflow-wrap:anywhere}
.premium-footer-grid a{font-size:var(--fs-meta);line-height:var(--lh-body);width:fit-content}
.premium-footer-brand>a{font-size:var(--fs-h3);font-weight:700;letter-spacing:var(--tracking-heading)}
.premium-footer-brand p{margin-top:var(--space-12);font-size:var(--fs-meta)}
.premium-footer-copyright{padding-top:var(--space-24);border-top:var(--border-width) solid var(--color-border);font-size:var(--fs-meta)}
.premium-footer a:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--space-4)}
@media(hover:hover){.premium-footer-grid a:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em}.premium-footer .footer-contact:hover{background:var(--color-accent-hover)!important}}
@media(max-width:1000px){.premium-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-footer-invite{align-items:start}}
@media(max-width:800px){body.ds-site :is(.inner-hero,.scenario-grid,.learning-grid,.approach-grid,.formats-teaser,.try-now){grid-template-columns:minmax(0,1fr)!important}body.ds-site :is(.inner-hero-copy,.lobby-hero) h1{font-size:var(--fs-h2)!important}.premium-footer-invite{flex-direction:column;gap:var(--space-24)}}
@media(max-width:480px){.premium-footer-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-24)}.premium-footer .footer-contact{width:100%}body.ds-site :is(.inner-chapter,.inner-hero-copy) h2{font-size:var(--fs-h3)!important}}
@media(prefers-reduced-transparency:reduce){.premium-footer-invite{background:var(--color-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
body.ds-site .premium-footer .contact-picker>.footer-contact{background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important;min-height:var(--button-height-lg)!important}
body.ds-site .premium-footer .contact-picker{display:inline-flex;flex-shrink:0}
@media(max-width:480px){body.ds-site .premium-footer .contact-picker{width:100%}}
@media(max-width:900px){body.detective .case-photo{transform:none!important;max-width:100%;box-sizing:border-box}body.academy .stage-enter,body.academy .academy-intro{min-width:0;max-width:100%;box-sizing:border-box}body.academy .academy-trail{flex-wrap:wrap}}
