/* Éléments du teaser réunis dans le gabarit public. */
.teaser-navigation svg { flex:none; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:square; stroke-linejoin:miter; }
.site-header .teaser-navigation { background:#10212566; box-shadow:inset 0 -1px #b4c0bf40; align-items:stretch; align-self:flex-end; }
.site-header .teaser-navigation .nav-item { display:inline-flex; align-items:center; justify-content:center; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 14px; background:var(--reboot-heading); border-bottom:1px solid var(--line); }
.panel-heading h2 { font:700 14px/20px var(--display); text-transform:uppercase; letter-spacing:.04em; text-align:left; }
.panel-heading :is(time,span) { color:var(--muted); font-size:12px; white-space:nowrap; }
.news-layout { row-gap:20px; }
.news-layout > .feature-story { grid-column:1; grid-row:1; }
.news-layout .signup-panel { grid-column:2; grid-row:1; align-self:stretch; }
.news-layout .news-secondary { grid-column:1; grid-row:2; margin-top:0; }
.project-progress { margin-top:42px; }
.signup-body { padding:24px; }
.signup-body label { display:block; font-size:14px; color:var(--muted); }
.signup-body input { width:100%; min-width:0; min-height:48px; margin-top:8px; padding:11px 12px; border:1px solid var(--line); border-radius:0; background:var(--reboot-inset); color:var(--paper); font:16px/1.5 var(--display); }
.solid-button { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid var(--copper); border-radius:0; background:var(--reboot-action); color:var(--reboot-action-text); font:600 14px/22px var(--display); box-shadow:var(--reboot-action-shadow); }
.solid-button:hover { background:var(--reboot-action-hover); border-color:var(--reboot-action-border-hover); }
.solid-button:disabled { opacity:.6; cursor:wait; }
#signup-submit { width:100%; margin-top:16px; }
.footer-link { display:inline; min-height:44px; padding:0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.footer-link { text-decoration:none; }
.footer-link:hover { color:var(--copper); }
.honeypot { position:absolute; left:-10000px; height:1px; width:1px; overflow:hidden; }
#signup-result { font-size:14px; line-height:1.7; }
#signup-result:empty { display:none; }
#signup-result.error { margin-top:16px; color:#ef9f9f; }
.progress-groups { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:20px 24px; }
.progress-group h3 { margin:0 0 12px; color:var(--muted); font-size:14px; font-weight:600; }
.progress-group dl { margin:0; }
.progress-row { display:grid; grid-template-columns:minmax(0,1fr) 82px; align-items:center; gap:12px; padding:8px 0; border-top:1px solid #ffffff0a; }
.progress-row dt { font-size:13px; line-height:1.5; }
.progress-row dd { display:flex; align-items:center; justify-content:end; gap:8px; margin:0; }
.progress-row dd span { min-width:34px; text-align:right; color:var(--paper); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.progress-row progress { display:block; width:40px; height:5px; overflow:hidden; border:0; border-radius:0; appearance:none; background:#ffffff12; accent-color:var(--copper); }
.progress-row progress::-webkit-progress-bar { background:#ffffff12; }
.progress-row progress::-webkit-progress-value { background:var(--copper); }
.progress-row progress::-moz-progress-bar { background:var(--copper); }
.exploration { margin-top:4px; }
.map-frame { height:680px; background:var(--reboot-solid); }
.map-frame iframe { display:block; width:100%; height:100%; border:0; background:var(--reboot-solid); }
.map-note { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:8px; color:var(--muted); font-size:13px; }
.map-note p { margin:0; }
.league-section { display:grid; grid-template-columns:1.2fr 1fr; gap:42px; align-items:center; margin-bottom:60px; padding:32px; }
.league-section h2 { font-size:30px; }
.league-section p:not(.eyebrow) { margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.league-list { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:0; margin:0; list-style:none; }
.league-list li { display:flex; align-items:center; gap:12px; font-size:16px; }
.league-list small { display:block; margin-top:3px; color:var(--muted); font-size:13px; }
.league-list img { width:74px; height:74px; object-fit:contain; }
.commerce-shot { position:relative; aspect-ratio:1.3; }
.commerce-shot img { position:absolute; width:185%; max-width:none; height:auto; max-height:none; left:-34%; top:-22%; }
.game-hero { margin-bottom:52px; }
.game-hero h1 { max-width:800px; }
.game-hero .hero-art { object-position:80% center; }
.game-illustration { aspect-ratio:40/27; max-height:430px; }
.screenshot.game-illustration img { display:block; width:100%; height:100%; max-height:428px; aspect-ratio:40/27; object-fit:contain; }
.game-chapter .chapter-copy { max-width:500px; }
.game-chapter .chapter-copy > p:not(.eyebrow) { margin:16px 0 0; }
.game-chapter .detail-list { margin-top:18px; }
.game-chapter .detail-list li { padding-block:8px; }
.game-chapter .chapter-copy > .text-link { margin-top:8px; }
.game-chapter figcaption { display:block; line-height:1.55; }
#privacy-dialog { width:min(620px,calc(100% - 32px)); padding:28px; font-size:14px; line-height:1.7; }
#privacy-dialog h2 { font-size:26px; margin:16px 0 24px; }
#privacy-dialog h3 { font-size:17px; margin:24px 0 12px; }
#privacy-dialog p { color:var(--muted); }
#privacy-dialog a { color:var(--paper); text-decoration:underline; overflow-wrap:anywhere; }
#privacy-dialog .dialog-close { position:absolute; top:4px; right:4px; width:44px; height:44px; padding:0; border:0; background:none; color:var(--muted); font-size:28px; }
@media(max-width:1050px) {
  .progress-groups { grid-template-columns:1fr; }
  .league-section { gap:28px; }
  .game-chapter,.game-chapter.reverse { grid-template-columns:1fr; gap:22px; }
  .game-chapter .chapter-copy { max-width:640px; }
  .game-chapter.reverse .chapter-copy { grid-row:1; }
  .game-chapter .capture-frame { width:100%; max-width:638px; }
}
@media(max-width:900px) {
  .news-layout :is(.feature-story,.signup-panel,.news-secondary) { grid-column:auto; grid-row:auto; }
}
@media(max-width:700px) {
  .project-progress { margin-top:30px; }
  .progress-groups { grid-template-columns:1fr 1fr; gap:20px; }
  .league-section { grid-template-columns:1fr; gap:28px; padding:24px; margin-bottom:42px; }
  .league-section h2 { font-size:28px; }
  .league-list { gap:20px; }
  .league-list img { width:64px; height:64px; }
  .map-frame { height:700px; }
  .map-note { align-items:start; flex-direction:column; gap:0; }
}
@media(max-width:650px) {
  .game-hero { margin-bottom:36px; }
  .site-header .teaser-navigation { padding:6px; box-shadow:none; align-self:stretch; }
  .site-header .teaser-navigation .nav-item { width:100%; justify-content:flex-start; min-height:44px; height:44px; }
  .panel-heading { flex-wrap:wrap; gap:4px 12px; }
  .panel-heading h2 { font-size:13px; }
  .progress-groups { grid-template-columns:1fr; }
  .progress-row { padding-block:10px; }
  .progress-row dt { font-size:14px; }
}

@media(max-width:400px) { .league-list { grid-template-columns:1fr; } }
