@font-face { font-family: "Geist Mono"; src: url("/assets/fonts/geist/GeistMono-Variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist"; src: url("/assets/fonts/geist/Geist-Variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Sofia Sans Condensed"; src: url("/assets/fonts/sofia/SofiaSansCondensed-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
html, body { margin: 0; height: 100%; background: #e9e6e0; overflow: hidden; font-family: "Geist Mono", ui-monospace, monospace; color: #1c1c1c; -webkit-user-select: none; user-select: none; }
.at-scene { position: fixed; inset: 0; width: 100%; height: 100%; display: block; touch-action: pinch-zoom; cursor: grab; }
html.is-tire .at-scene { cursor: grabbing; }
html.is-cible:not(.is-verrou) .at-scene { cursor: pointer; }
html.is-verrou .at-scene { cursor: none; }
.at-viseur { position: fixed; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .92); box-shadow: 0 0 0 1px rgba(0, 0, 0, .28); pointer-events: none; opacity: 0; transition: opacity .3s, transform .3s, background-color .3s; }
html.is-verrou .at-viseur { opacity: 1; }
html.is-verrou.is-cible .at-viseur { transform: scale(2.4); background: rgba(255, 255, 255, .28); }
.at-entree, .at-pause { position: fixed; inset: 0; display: grid; place-content: center; justify-items: center; gap: 14px; padding: 24px; text-align: center; background: rgba(233, 230, 224, .74); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: opacity .6s; }
html.is-dedans .at-entree { opacity: 0; pointer-events: none; }
.at-pause { background: rgba(20, 20, 20, .28); opacity: 0; pointer-events: none; }
html.is-pause .at-pause { opacity: 1; pointer-events: auto; }
.at-k { margin: 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #777; }
.at-entree h1 { margin: 0; font: 700 clamp(40px, 7vw, 84px) / .9 system-ui, sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
.at-t { margin: 0; max-width: 34em; font-size: 13px; line-height: 1.6; color: #444; }
.at-go, .at-reprendre { margin-top: 8px; padding: 14px 26px; border: 0; border-radius: 99px; background: #1c1c1c; color: #fff; font: inherit; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: opacity .3s; }
.at-go:disabled { opacity: .55; cursor: progress; }
.at-aide { margin: 6px 0 0; max-width: 46em; font-size: 11px; line-height: 1.6; color: #777; }
.at-info { position: fixed; left: 50%; bottom: 28px; margin: 0; translate: -50% 0; padding: 10px 16px; border-radius: 99px; background: rgba(28, 28, 28, .85); color: #fff; font-size: 11px; letter-spacing: .05em; opacity: 0; transition: opacity .3s; pointer-events: none; white-space: nowrap; }
.at-info.is-on { opacity: 1; }
html.is-ecran .at-info { opacity: 0; }
.at-focus { position: fixed; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 10px; translate: -50% 12px; padding: 8px 8px 8px 18px; border-radius: 99px; background: rgba(28, 28, 28, .88); color: #fff; font-size: 11px; letter-spacing: .05em; opacity: 0; pointer-events: none; transition: opacity .4s, translate .4s; white-space: nowrap; }
html.is-ecran .at-focus { opacity: 1; translate: -50% 0; pointer-events: auto; }
.at-titre { margin: 0; font-weight: 600; }
.at-astuce { margin: 0; color: rgba(255, 255, 255, .6); }
.at-ouvrir, .at-revenir { padding: 9px 14px; border: 0; border-radius: 99px; background: #fff; color: #1c1c1c; font: inherit; font-size: 11px; letter-spacing: .05em; text-decoration: none; cursor: pointer; }
.at-revenir { background: rgba(255, 255, 255, .16); color: #fff; }
.at-ouvrir[hidden] { display: none; }
.at-retour, .at-son { position: fixed; top: 16px; padding: 9px 14px; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .85); color: #1c1c1c; font: inherit; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.at-retour { left: 16px; }
.at-son { right: 16px; }
.at-son.is-off { opacity: .6; }
@media (max-width: 640px) {
  .at-focus { flex-wrap: wrap; justify-content: center; width: calc(100% - 32px); box-sizing: border-box; border-radius: 22px; padding: 12px; white-space: normal; text-align: center; }
  .at-titre, .at-astuce { width: 100%; }
  .at-info { white-space: normal; text-align: center; width: max-content; max-width: calc(100% - 32px); box-sizing: border-box; }
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.at-entree, .at-pause { transition: opacity .6s, visibility 0s .6s; }
html.is-dedans .at-entree, .at-pause { visibility: hidden; }
html.is-pause .at-pause { visibility: visible; transition-delay: 0s; }
.at-focus { bottom: calc(22px + env(safe-area-inset-bottom)); visibility: hidden; transition: opacity .4s, translate .4s, visibility 0s .4s; }
html.is-ecran .at-focus { visibility: visible; transition-delay: 0s; }
.at-retour, .at-son, .at-ouvrir, .at-revenir { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.at-retour { top: max(16px, env(safe-area-inset-top)); left: max(16px, env(safe-area-inset-left)); }
.at-son { top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
.at-info { bottom: calc(28px + env(safe-area-inset-bottom)); }
.at-k, .at-aide { color: #666; font-size: 12px; }
.at-legal { margin: 0; font-size: 12px; color: #666; }
.at-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
