/* Feuille de style du site — reprise à l'identique de Main.dc.html (commentaires de travail retirés). */
body { margin: 0; background: #0a0910; }
  html, body { height: 100%; overflow: hidden; overscroll-behavior: none; }
  .site-root { min-height: 100vh; }
  @supports (min-height: 100dvh) {
    .site-root { min-height: 100dvh; }
  }
  a.plan-a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
  a.plan-a:hover, a.plan-a:focus-visible { color: #fff !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; outline: none; }
  .zone-btn { appearance: none; -webkit-appearance: none; background: none; border: none; font: inherit; }
  @media (pointer: coarse) { .interro-btn::after { content: ''; position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; min-width: 44px; min-height: 44px; transform: translate(-50%, -50%); } }
  @media (pointer: coarse) and (max-height: 419px) { .contact-glow { top: calc(max(33%, 138.5px) + 2px) !important; } }
  .ctr-label { font-size: 11px; white-space: nowrap; flex: none; }
  .title-note.title-note-sous { position: static !important; display: block; transform: none !important; margin: 2px 0 0 !important; white-space: normal !important; }
  .cible24::after { content: ''; position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; min-width: 44px; min-height: 44px; transform: translate(-50%, -50%); }
  @media (pointer: coarse) {
    .cible44::after { content: ''; position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; min-width: 44px; min-height: 44px; transform: translate(-50%, -50%); }
    .emoji-tab.cible44::after, .emoji-tone.cible44::after { left: 0; right: 0; width: auto; min-width: 0; transform: translateY(-50%); }
  }
  #pdf-viewer-canvas.pdf-attente { visibility: hidden; }
  #pdf-viewer-canvas.pdf-attente + #pdf-hd-canvas { visibility: hidden; }
  img[data-att] { opacity: 0 !important; }
  #pdf-zoom-viewport:focus { outline: none; }
  #pdf-zoom-viewport:focus-visible { outline: 2px solid rgba(245,241,232,0.75); outline-offset: -2px; }
  html.dc-couvert .site-root > :not(.overlay-scroll):not([role=dialog]) [class*="candle-"], html.dc-couvert .site-root > [class*="candle-"] { animation-play-state: paused !important; }
  .sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
  .aller-au-contenu { position: fixed; left: 8px; top: -60px; z-index: 1000; padding: 10px 14px; background: #0a0910; color: #f5f1e8; font: 500 14px/1.2 'Manrope', sans-serif; border: 1px solid #f5f1e8; border-radius: 3px; text-decoration: none; }
  .aller-au-contenu:focus { top: 8px; }
  .nav-btn-round { position: relative; }
  .nav-btn-round::before { content: ''; position: absolute; inset: var(--ri, 0px); border: 1px solid var(--ring, transparent); border-radius: 50%; pointer-events: none; }
  @media (pointer: coarse) { .ctr-label { font-size: 11px; } }
  .retour-link { padding: 15px 14px; }
  .site-root a[href], .site-root button:not(:disabled):not([aria-disabled="true"]), .site-root [role="button"]:not([aria-disabled="true"]), .site-root summary { cursor: pointer; }
  :where(a.zone-btn) { display: inline-block; box-sizing: border-box; padding: 1px 6px; text-align: center; text-decoration: none; color: buttontext; cursor: default; letter-spacing: normal; word-spacing: normal; text-transform: none; text-indent: 0; text-shadow: none; -webkit-user-select: none; user-select: none; -webkit-user-drag: none; -webkit-touch-callout: none; }
  .euro-credits { position: relative; box-sizing: border-box; width: min(100%, 720px); margin: 56px auto 36px; padding: 26px 30px 24px; border: 1px solid rgba(255,250,240,0.12); border-radius: 4px; text-align: left; }
  .euro-credits::before { content: ""; position: absolute; inset: -1px; border: 1px solid rgba(255,252,246,0.95); border-radius: 4px; box-shadow: 0 0 16px 1px rgba(255,248,232,0.50), 0 0 38px rgba(255,248,232,0.22), inset 0 0 24px rgba(255,248,232,0.16); pointer-events: none; opacity: 0.1; animation: euroCreditGlow 184.9s linear infinite; }
  .euro-credits .cr-t { margin: 0; font-family: 'Fraunces', serif; font-weight: 300; font-size: 13.5px; line-height: 1.65; color: #cfc7d6; text-align: center; }
  .euro-credits .cr-rule { width: 38px; height: 1px; margin: 16px auto 14px; background: rgba(255,250,240,0.4); }
  .euro-credits .cr-l { margin: 0 0 5px; font-family: 'Fraunces', serif; font-weight: 300; font-size: 12px; line-height: 1.55; color: #a89fb0; }
  .euro-credits .cr-l i { font-style: italic; font-weight: 300; color: #bdb4c4; }
  .euro-credits .cr-n { color: #d9d2de; }
  @keyframes euroCreditGlow { 0.000%{opacity:0.100} 0.162%{opacity:0.179} 0.325%{opacity:0.358} 0.487%{opacity:0.571} 0.650%{opacity:0.786} 0.812%{opacity:0.914} 0.975%{opacity:0.910} 1.137%{opacity:0.849} 1.300%{opacity:0.780} 1.462%{opacity:0.752} 1.625%{opacity:0.763} 1.787%{opacity:0.756} 1.949%{opacity:0.641} 2.112%{opacity:0.470} 2.274%{opacity:0.326} 2.437%{opacity:0.220} 2.599%{opacity:0.137} 2.762%{opacity:0.100} 2.923%{opacity:0.125} 3.083%{opacity:0.201} 3.244%{opacity:0.320} 3.405%{opacity:0.432} 3.566%{opacity:0.508} 3.726%{opacity:0.575} 3.887%{opacity:0.641} 4.048%{opacity:0.640} 4.209%{opacity:0.572} 4.370%{opacity:0.508} 4.530%{opacity:0.522} 4.691%{opacity:0.601} 4.852%{opacity:0.671} 5.013%{opacity:0.695} 5.173%{opacity:0.718} 5.334%{opacity:0.791} 5.495%{opacity:0.879} 5.656%{opacity:0.899} 5.817%{opacity:0.794} 5.977%{opacity:0.646} 6.138%{opacity:0.522} 6.299%{opacity:0.407} 6.460%{opacity:0.282} 6.620%{opacity:0.179} 6.781%{opacity:0.120} 6.942%{opacity:0.100} 7.105%{opacity:0.128} 7.269%{opacity:0.194} 7.432%{opacity:0.292} 7.595%{opacity:0.427} 7.758%{opacity:0.576} 7.922%{opacity:0.692} 8.085%{opacity:0.726} 8.248%{opacity:0.722} 8.411%{opacity:0.721} 8.575%{opacity:0.737} 8.738%{opacity:0.767} 8.901%{opacity:0.794} 9.064%{opacity:0.795} 9.228%{opacity:0.763} 9.391%{opacity:0.706} 9.554%{opacity:0.633} 9.718%{opacity:0.574} 9.881%{opacity:0.531} 10.044%{opacity:0.484} 10.207%{opacity:0.416} 10.371%{opacity:0.326} 10.534%{opacity:0.233} 10.697%{opacity:0.160} 10.860%{opacity:0.115} 11.024%{opacity:0.100} 11.184%{opacity:0.132} 11.344%{opacity:0.211} 11.504%{opacity:0.300} 11.664%{opacity:0.377} 11.824%{opacity:0.450} 11.984%{opacity:0.541} 12.144%{opacity:0.633} 12.304%{opacity:0.687} 12.464%{opacity:0.691} 12.624%{opacity:0.641} 12.784%{opacity:0.566} 12.944%{opacity:0.505} 13.104%{opacity:0.476} 13.264%{opacity:0.465} 13.424%{opacity:0.449} 13.584%{opacity:0.413} 13.744%{opacity:0.374} 13.904%{opacity:0.358} 14.064%{opacity:0.355} 14.224%{opacity:0.331} 14.384%{opacity:0.268} 14.544%{opacity:0.186} 14.704%{opacity:0.123} 14.864%{opacity:0.100} 15.026%{opacity:0.127} 15.188%{opacity:0.205} 15.350%{opacity:0.310} 15.513%{opacity:0.423} 15.675%{opacity:0.539} 15.837%{opacity:0.654} 15.999%{opacity:0.745} 16.162%{opacity:0.791} 16.324%{opacity:0.804} 16.486%{opacity:0.839} 16.648%{opacity:0.939} 16.811%{opacity:1.000} 16.973%{opacity:1.000} 17.135%{opacity:1.000} 17.297%{opacity:1.000} 17.460%{opacity:0.942} 17.622%{opacity:0.889} 17.784%{opacity:0.908} 17.946%{opacity:0.921} 18.109%{opacity:0.867} 18.271%{opacity:0.729} 18.433%{opacity:0.549} 18.595%{opacity:0.374} 18.758%{opacity:0.232} 18.920%{opacity:0.135} 19.082%{opacity:0.100} 19.246%{opacity:0.148} 19.409%{opacity:0.262} 19.573%{opacity:0.406} 19.737%{opacity:0.552} 19.900%{opacity:0.668} 20.064%{opacity:0.715} 20.227%{opacity:0.723} 20.391%{opacity:0.735} 20.555%{opacity:0.752} 20.718%{opacity:0.763} 20.882%{opacity:0.753} 21.045%{opacity:0.717} 21.209%{opacity:0.660} 21.373%{opacity:0.606} 21.536%{opacity:0.550} 21.700%{opacity:0.470} 21.864%{opacity:0.368} 22.027%{opacity:0.249} 22.191%{opacity:0.144} 22.354%{opacity:0.100} 22.516%{opacity:0.158} 22.677%{opacity:0.307} 22.838%{opacity:0.524} 23.000%{opacity:0.766} 23.161%{opacity:0.915} 23.323%{opacity:0.884} 23.484%{opacity:0.810} 23.645%{opacity:0.775} 23.807%{opacity:0.781} 23.968%{opacity:0.794} 24.129%{opacity:0.790} 24.291%{opacity:0.672} 24.452%{opacity:0.463} 24.614%{opacity:0.220} 24.775%{opacity:0.100} 24.938%{opacity:0.158} 25.101%{opacity:0.307} 25.264%{opacity:0.524} 25.427%{opacity:0.773} 25.590%{opacity:0.977} 25.753%{opacity:1.000} 25.916%{opacity:1.000} 26.079%{opacity:0.977} 26.242%{opacity:0.921} 26.405%{opacity:0.884} 26.568%{opacity:0.867} 26.731%{opacity:0.810} 26.895%{opacity:0.702} 27.058%{opacity:0.550} 27.221%{opacity:0.381} 27.384%{opacity:0.235} 27.547%{opacity:0.137} 27.710%{opacity:0.100} 27.870%{opacity:0.193} 28.030%{opacity:0.437} 28.189%{opacity:0.753} 28.349%{opacity:1.000} 28.509%{opacity:1.000} 28.669%{opacity:1.000} 28.829%{opacity:1.000} 28.989%{opacity:1.000} 29.149%{opacity:1.000} 29.309%{opacity:1.000} 29.468%{opacity:0.972} 29.628%{opacity:0.931} 29.788%{opacity:0.900} 29.948%{opacity:0.851} 30.108%{opacity:0.780} 30.268%{opacity:0.674} 30.428%{opacity:0.533} 30.588%{opacity:0.375} 30.748%{opacity:0.233} 30.907%{opacity:0.136} 31.067%{opacity:0.100} 31.225%{opacity:0.191} 31.383%{opacity:0.389} 31.541%{opacity:0.570} 31.699%{opacity:0.638} 31.856%{opacity:0.594} 32.014%{opacity:0.561} 32.172%{opacity:0.554} 32.330%{opacity:0.572} 32.488%{opacity:0.603} 32.646%{opacity:0.633} 32.803%{opacity:0.627} 32.961%{opacity:0.560} 33.119%{opacity:0.453} 33.277%{opacity:0.338} 33.435%{opacity:0.239} 33.592%{opacity:0.166} 33.750%{opacity:0.118} 33.908%{opacity:0.100} 34.075%{opacity:0.173} 34.241%{opacity:0.355} 34.407%{opacity:0.575} 34.574%{opacity:0.732} 34.740%{opacity:0.760} 34.907%{opacity:0.780} 35.073%{opacity:0.826} 35.240%{opacity:0.877} 35.406%{opacity:0.893} 35.573%{opacity:0.848} 35.739%{opacity:0.748} 35.906%{opacity:0.615} 36.072%{opacity:0.506} 36.239%{opacity:0.433} 36.405%{opacity:0.363} 36.571%{opacity:0.278} 36.738%{opacity:0.189} 36.904%{opacity:0.124} 37.071%{opacity:0.100} 37.230%{opacity:0.127} 37.389%{opacity:0.199} 37.548%{opacity:0.282} 37.707%{opacity:0.344} 37.867%{opacity:0.385} 38.026%{opacity:0.424} 38.185%{opacity:0.460} 38.344%{opacity:0.479} 38.503%{opacity:0.490} 38.662%{opacity:0.499} 38.822%{opacity:0.525} 38.981%{opacity:0.578} 39.140%{opacity:0.642} 39.299%{opacity:0.685} 39.458%{opacity:0.681} 39.617%{opacity:0.636} 39.776%{opacity:0.588} 39.936%{opacity:0.563} 40.095%{opacity:0.556} 40.254%{opacity:0.532} 40.413%{opacity:0.454} 40.572%{opacity:0.329} 40.731%{opacity:0.205} 40.891%{opacity:0.125} 41.050%{opacity:0.100} 41.215%{opacity:0.147} 41.381%{opacity:0.275} 41.546%{opacity:0.473} 41.712%{opacity:0.666} 41.878%{opacity:0.756} 42.043%{opacity:0.761} 42.209%{opacity:0.802} 42.374%{opacity:0.856} 42.540%{opacity:0.863} 42.706%{opacity:0.815} 42.871%{opacity:0.765} 43.037%{opacity:0.760} 43.202%{opacity:0.772} 43.368%{opacity:0.746} 43.533%{opacity:0.645} 43.699%{opacity:0.534} 43.865%{opacity:0.455} 44.030%{opacity:0.377} 44.196%{opacity:0.277} 44.361%{opacity:0.183} 44.527%{opacity:0.122} 44.693%{opacity:0.100} 44.854%{opacity:0.136} 45.016%{opacity:0.218} 45.178%{opacity:0.318} 45.339%{opacity:0.412} 45.501%{opacity:0.468} 45.663%{opacity:0.465} 45.825%{opacity:0.456} 45.986%{opacity:0.475} 46.148%{opacity:0.528} 46.310%{opacity:0.605} 46.472%{opacity:0.675} 46.633%{opacity:0.717} 46.795%{opacity:0.724} 46.957%{opacity:0.710} 47.119%{opacity:0.653} 47.280%{opacity:0.557} 47.442%{opacity:0.438} 47.604%{opacity:0.310} 47.766%{opacity:0.199} 47.927%{opacity:0.126} 48.089%{opacity:0.100} 48.255%{opacity:0.190} 48.420%{opacity:0.413} 48.586%{opacity:0.698} 48.752%{opacity:0.965} 48.918%{opacity:1.000} 49.083%{opacity:1.000} 49.249%{opacity:0.930} 49.415%{opacity:0.860} 49.580%{opacity:0.832} 49.746%{opacity:0.774} 49.912%{opacity:0.615} 50.078%{opacity:0.376} 50.243%{opacity:0.175} 50.409%{opacity:0.100} 50.568%{opacity:0.126} 50.727%{opacity:0.193} 50.886%{opacity:0.284} 51.045%{opacity:0.385} 51.204%{opacity:0.483} 51.363%{opacity:0.566} 51.522%{opacity:0.625} 51.681%{opacity:0.659} 51.840%{opacity:0.673} 51.999%{opacity:0.702} 52.158%{opacity:0.753} 52.317%{opacity:0.815} 52.476%{opacity:0.871} 52.635%{opacity:0.905} 52.794%{opacity:0.904} 52.953%{opacity:0.841} 53.112%{opacity:0.707} 53.271%{opacity:0.552} 53.430%{opacity:0.413} 53.588%{opacity:0.298} 53.747%{opacity:0.204} 53.906%{opacity:0.132} 54.065%{opacity:0.100} 54.231%{opacity:0.179} 54.396%{opacity:0.357} 54.562%{opacity:0.573} 54.728%{opacity:0.768} 54.893%{opacity:0.855} 55.059%{opacity:0.870} 55.224%{opacity:0.854} 55.390%{opacity:0.808} 55.555%{opacity:0.751} 55.721%{opacity:0.706} 55.886%{opacity:0.691} 56.052%{opacity:0.712} 56.218%{opacity:0.714} 56.383%{opacity:0.626} 56.549%{opacity:0.465} 56.714%{opacity:0.285} 56.880%{opacity:0.150} 57.045%{opacity:0.100} 57.208%{opacity:0.171} 57.371%{opacity:0.354} 57.534%{opacity:0.585} 57.697%{opacity:0.783} 57.860%{opacity:0.889} 58.022%{opacity:0.891} 58.185%{opacity:0.857} 58.348%{opacity:0.871} 58.511%{opacity:0.921} 58.674%{opacity:0.978} 58.837%{opacity:1.000} 59.000%{opacity:1.000} 59.162%{opacity:0.923} 59.325%{opacity:0.769} 59.488%{opacity:0.595} 59.651%{opacity:0.422} 59.814%{opacity:0.264} 59.977%{opacity:0.145} 60.139%{opacity:0.100} 60.300%{opacity:0.183} 60.460%{opacity:0.387} 60.621%{opacity:0.605} 60.781%{opacity:0.756} 60.942%{opacity:0.835} 61.102%{opacity:0.850} 61.263%{opacity:0.867} 61.423%{opacity:0.861} 61.584%{opacity:0.831} 61.744%{opacity:0.809} 61.904%{opacity:0.825} 62.065%{opacity:0.868} 62.225%{opacity:0.888} 62.386%{opacity:0.837} 62.546%{opacity:0.648} 62.707%{opacity:0.431} 62.867%{opacity:0.268} 63.028%{opacity:0.153} 63.188%{opacity:0.100} 63.350%{opacity:0.144} 63.513%{opacity:0.256} 63.676%{opacity:0.436} 63.838%{opacity:0.655} 64.001%{opacity:0.800} 64.163%{opacity:0.803} 64.326%{opacity:0.746} 64.488%{opacity:0.733} 64.651%{opacity:0.719} 64.813%{opacity:0.640} 64.976%{opacity:0.558} 65.138%{opacity:0.573} 65.301%{opacity:0.669} 65.463%{opacity:0.702} 65.626%{opacity:0.619} 65.788%{opacity:0.508} 65.951%{opacity:0.422} 66.113%{opacity:0.324} 66.276%{opacity:0.208} 66.438%{opacity:0.126} 66.601%{opacity:0.100} 66.763%{opacity:0.133} 66.925%{opacity:0.217} 67.087%{opacity:0.336} 67.249%{opacity:0.474} 67.411%{opacity:0.620} 67.573%{opacity:0.751} 67.735%{opacity:0.836} 67.898%{opacity:0.855} 68.060%{opacity:0.854} 68.222%{opacity:0.840} 68.384%{opacity:0.824} 68.546%{opacity:0.819} 68.708%{opacity:0.835} 68.870%{opacity:0.833} 69.033%{opacity:0.768} 69.195%{opacity:0.640} 69.357%{opacity:0.466} 69.519%{opacity:0.286} 69.681%{opacity:0.150} 69.843%{opacity:0.100} 70.010%{opacity:0.257} 70.176%{opacity:0.583} 70.343%{opacity:0.816} 70.510%{opacity:0.798} 70.676%{opacity:0.754} 70.843%{opacity:0.769} 71.009%{opacity:0.820} 71.176%{opacity:0.861} 71.342%{opacity:0.861} 71.509%{opacity:0.773} 71.676%{opacity:0.637} 71.842%{opacity:0.482} 72.009%{opacity:0.311} 72.175%{opacity:0.162} 72.342%{opacity:0.100} 72.505%{opacity:0.175} 72.668%{opacity:0.367} 72.831%{opacity:0.628} 72.994%{opacity:0.871} 73.156%{opacity:0.965} 73.319%{opacity:0.966} 73.482%{opacity:0.948} 73.645%{opacity:0.931} 73.808%{opacity:0.923} 73.971%{opacity:0.918} 74.134%{opacity:0.901} 74.297%{opacity:0.870} 74.460%{opacity:0.834} 74.623%{opacity:0.783} 74.785%{opacity:0.697} 74.948%{opacity:0.583} 75.111%{opacity:0.436} 75.274%{opacity:0.276} 75.437%{opacity:0.148} 75.600%{opacity:0.100} 75.762%{opacity:0.140} 75.925%{opacity:0.245} 76.087%{opacity:0.380} 76.249%{opacity:0.505} 76.411%{opacity:0.586} 76.574%{opacity:0.608} 76.736%{opacity:0.631} 76.898%{opacity:0.663} 77.061%{opacity:0.688} 77.223%{opacity:0.693} 77.385%{opacity:0.672} 77.548%{opacity:0.636} 77.710%{opacity:0.601} 77.872%{opacity:0.586} 78.034%{opacity:0.593} 78.197%{opacity:0.588} 78.359%{opacity:0.555} 78.521%{opacity:0.485} 78.684%{opacity:0.387} 78.846%{opacity:0.280} 79.008%{opacity:0.188} 79.170%{opacity:0.124} 79.333%{opacity:0.100} 79.497%{opacity:0.172} 79.660%{opacity:0.371} 79.824%{opacity:0.656} 79.988%{opacity:0.926} 80.152%{opacity:1.000} 80.316%{opacity:1.000} 80.480%{opacity:1.000} 80.644%{opacity:1.000} 80.807%{opacity:1.000} 80.971%{opacity:1.000} 81.135%{opacity:1.000} 81.299%{opacity:1.000} 81.463%{opacity:1.000} 81.627%{opacity:1.000} 81.790%{opacity:1.000} 81.954%{opacity:0.897} 82.118%{opacity:0.650} 82.282%{opacity:0.426} 82.446%{opacity:0.255} 82.610%{opacity:0.142} 82.773%{opacity:0.100} 82.935%{opacity:0.142} 83.096%{opacity:0.250} 83.258%{opacity:0.391} 83.419%{opacity:0.588} 83.581%{opacity:0.853} 83.742%{opacity:1.000} 83.903%{opacity:1.000} 84.065%{opacity:1.000} 84.226%{opacity:1.000} 84.388%{opacity:1.000} 84.549%{opacity:1.000} 84.710%{opacity:0.874} 84.872%{opacity:0.778} 85.033%{opacity:0.764} 85.195%{opacity:0.722} 85.356%{opacity:0.580} 85.517%{opacity:0.397} 85.679%{opacity:0.252} 85.840%{opacity:0.147} 86.002%{opacity:0.100} 86.164%{opacity:0.146} 86.326%{opacity:0.269} 86.489%{opacity:0.439} 86.651%{opacity:0.630} 86.813%{opacity:0.815} 86.975%{opacity:0.965} 87.138%{opacity:1.000} 87.300%{opacity:1.000} 87.462%{opacity:0.991} 87.625%{opacity:0.944} 87.787%{opacity:0.905} 87.949%{opacity:0.895} 88.111%{opacity:0.924} 88.274%{opacity:0.983} 88.436%{opacity:1.000} 88.598%{opacity:1.000} 88.761%{opacity:0.929} 88.923%{opacity:0.801} 89.085%{opacity:0.650} 89.247%{opacity:0.501} 89.410%{opacity:0.368} 89.572%{opacity:0.258} 89.734%{opacity:0.174} 89.897%{opacity:0.119} 90.059%{opacity:0.100} 90.222%{opacity:0.167} 90.385%{opacity:0.337} 90.549%{opacity:0.536} 90.712%{opacity:0.659} 90.875%{opacity:0.709} 91.039%{opacity:0.772} 91.202%{opacity:0.877} 91.365%{opacity:0.946} 91.528%{opacity:0.920} 91.692%{opacity:0.854} 91.855%{opacity:0.800} 92.018%{opacity:0.680} 92.181%{opacity:0.492} 92.345%{opacity:0.316} 92.508%{opacity:0.209} 92.671%{opacity:0.137} 92.835%{opacity:0.100} 92.997%{opacity:0.149} 93.160%{opacity:0.280} 93.322%{opacity:0.433} 93.485%{opacity:0.544} 93.648%{opacity:0.658} 93.810%{opacity:0.806} 93.973%{opacity:0.893} 94.135%{opacity:0.883} 94.298%{opacity:0.826} 94.461%{opacity:0.817} 94.623%{opacity:0.845} 94.786%{opacity:0.819} 94.949%{opacity:0.725} 95.111%{opacity:0.648} 95.274%{opacity:0.593} 95.436%{opacity:0.489} 95.599%{opacity:0.310} 95.762%{opacity:0.157} 95.924%{opacity:0.100} 96.087%{opacity:0.124} 96.250%{opacity:0.185} 96.413%{opacity:0.259} 96.576%{opacity:0.327} 96.739%{opacity:0.385} 96.902%{opacity:0.442} 97.066%{opacity:0.509} 97.229%{opacity:0.570} 97.392%{opacity:0.622} 97.555%{opacity:0.654} 97.718%{opacity:0.648} 97.881%{opacity:0.608} 98.044%{opacity:0.551} 98.207%{opacity:0.506} 98.370%{opacity:0.484} 98.533%{opacity:0.489} 98.696%{opacity:0.502} 98.859%{opacity:0.496} 99.022%{opacity:0.451} 99.185%{opacity:0.373} 99.348%{opacity:0.282} 99.511%{opacity:0.201} 99.674%{opacity:0.144} 99.837%{opacity:0.111} 100.000%{opacity:0.100} }
  @media (prefers-reduced-motion: reduce) { .euro-credits::before { animation: none; opacity: 0.55; } }
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
  .spotlight-mask, .spotlight-lane {
    --r: 52px;
    background: radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0px, transparent calc(var(--r) * 0.45), rgba(255,244,214,0.2) calc(var(--r) * 0.62), rgba(10,9,16,0.94) calc(var(--r) * 0.83), #0a0910 var(--r));
  }
  @media (pointer: coarse) {
    .spotlight-mask, .spotlight-lane { --r: 60px; }
  }
  .spotlight-mask-books {
    --r: 130px;
    background: radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0px, transparent calc(var(--r) * 0.45), rgba(255,244,214,0.2) calc(var(--r) * 0.62), rgba(10,9,16,0.94) calc(var(--r) * 0.83), #0a0910 var(--r));
  }
  @media (pointer: coarse) {
    .spotlight-mask-books { --r: 110px; }
  }
  .vignette-img { transform: scale(1.03); }
  .fan-page-arrow svg { display: block; overflow: visible; filter: drop-shadow(0 0 3px rgba(216,191,133,0.55)); }
  .fan-page-star { transform-box: fill-box; transform-origin: center; animation: fanStarTwinkle 2.8s ease-in-out infinite; }
  @keyframes fanStarTwinkle { 0%, 100% { opacity: 0.35; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.15); } }
  @media (prefers-reduced-motion: reduce) { .fan-page-star { animation: none; } }
  .contact-wrap { display: flex; flex-direction: column; }
  .contact-next { order: -1; align-self: center; display: flex; flex-direction: column; align-items: flex-end; gap: 0; margin: 0 auto 6px; padding: 4px 6px; width: min(300px, 92%); cursor: pointer; color: #d8bf85; background: none; border: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .contact-next svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 0 2px rgba(216,191,133,0.5)); }
  .contact-next .ca-line, .contact-next .ca-head { stroke-dasharray: 600 601; stroke-dashoffset: 600; }
  .contact-next-label { margin: -10% 5% 0 0; font-family: 'Caveat', cursive; font-weight: 600; font-size: 19px; line-height: 1.1; color: #d8bf85; text-align: right; }
  .contact-next-label small { display: block; font-size: 0.8em; }
  .contact-next:hover .contact-next-label, .contact-next:focus-visible .contact-next-label { color: #f0dca8; }
  .contact-next:hover svg { filter: drop-shadow(0 0 4px rgba(240,220,168,0.75)); }
  @media (min-width: 980px) {
    .contact-next { position: absolute; left: calc(100% + 4px); top: 36%; width: 290px; margin: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .contact-next .ca-line, .contact-next .ca-head { stroke-dashoffset: 0; }
  }
  .pad-sheet { position: absolute; border-radius: 3px; background: #efe9da; box-shadow: 0 14px 24px rgba(0,0,0,0.35); }
  .pad { position: relative; z-index: 3; background: #fffdf6; border-radius: 3px 3px 4px 4px; box-shadow: 0 26px 50px rgba(0,0,0,0.5); color: #1c2340; text-align: left; }
  .pad-spiral { position: absolute; left: 10px; right: 10px; top: -15px; height: 40px; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2240%22%20viewBox%3D%220%200%2024%2040%22%3E%0A%3Cdefs%3E%0A%20%3CradialGradient%20id%3D%22h%22%20cx%3D%2250%25%22%20cy%3D%2238%25%22%20r%3D%2265%25%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23050408%22/%3E%3Cstop%20offset%3D%22.7%22%20stop-color%3D%22%2314111a%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232b2733%22/%3E%3C/radialGradient%3E%0A%20%3ClinearGradient%20id%3D%22w%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%234b505c%22/%3E%3Cstop%20offset%3D%22.28%22%20stop-color%3D%22%23e9ebef%22/%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23aeb3bd%22/%3E%3Cstop%20offset%3D%22.78%22%20stop-color%3D%22%236d7380%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%233d414b%22/%3E%3C/linearGradient%3E%0A%20%3ClinearGradient%20id%3D%22b%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2323262e%22/%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%235e636f%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231d2028%22/%3E%3C/linearGradient%3E%0A%20%3CclipPath%20id%3D%22up%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2224%22%20height%3D%2215%22/%3E%3C/clipPath%3E%0A%20%3CclipPath%20id%3D%22dn%22%3E%3Crect%20x%3D%220%22%20y%3D%2215%22%20width%3D%2224%22%20height%3D%2225%22/%3E%3C/clipPath%3E%0A%3C/defs%3E%3Cg%20clip-path%3D%22url%28%23dn%29%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M%2010.2%2026.4%20C%208.6%2020.5%2C%209%209.5%2C%2014.2%203.2%22%20transform%3D%22translate%281.9%202.4%29%22%20stroke%3D%22%232a2418%22%20stroke-opacity%3D%22.20%22%20stroke-width%3D%223.8%22/%3E%3Cpath%20d%3D%22M%2010.2%2026.4%20C%208.6%2020.5%2C%209%209.5%2C%2014.2%203.2%22%20transform%3D%22translate%281.1%201.4%29%22%20stroke%3D%22%232a2418%22%20stroke-opacity%3D%22.22%22%20stroke-width%3D%222.4%22/%3E%3C/g%3E%3Cellipse%20cx%3D%2212.0%22%20cy%3D%2225.0%22%20rx%3D%224.9%22%20ry%3D%224.2%22%20fill%3D%22%23cfc7b2%22%20opacity%3D%22.9%22/%3E%3Cellipse%20cx%3D%2212.0%22%20cy%3D%2225.0%22%20rx%3D%224.3%22%20ry%3D%223.6%22%20fill%3D%22url%28%23h%29%22/%3E%3Cpath%20d%3D%22M%208.4%2026.2%20A%204.2%203.5%200%200%200%2015.6%2026.2%22%20fill%3D%22none%22%20stroke%3D%22%236a6475%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.7%22/%3E%3Cg%20clip-path%3D%22url%28%23up%29%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M%2014.2%203.2%20C%2016.4%201%2C%2019.6%202.2%2C%2020.4%208.2%20L%2020.9%2017%22%20stroke%3D%22%2314161c%22%20stroke-width%3D%223.6%22/%3E%3Cpath%20d%3D%22M%2014.2%203.2%20C%2016.4%201%2C%2019.6%202.2%2C%2020.4%208.2%20L%2020.9%2017%22%20stroke%3D%22url%28%23b%29%22%20stroke-width%3D%222.4%22/%3E%3Cpath%20d%3D%22M%2014.2%203.2%20C%2016.4%201%2C%2019.6%202.2%2C%2020.4%208.2%20L%2020.9%2017%22%20stroke%3D%22%23a9aebb%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.7%22%20transform%3D%22translate%28-.5%20-.3%29%22/%3E%3C/g%3E%3Cpath%20d%3D%22M%2010.2%2026.4%20C%208.6%2020.5%2C%209%209.5%2C%2014.2%203.2%22%20fill%3D%22none%22%20stroke%3D%22%232c2f38%22%20stroke-width%3D%223.9%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M%2010.2%2026.4%20C%208.6%2020.5%2C%209%209.5%2C%2014.2%203.2%22%20fill%3D%22none%22%20stroke%3D%22url%28%23w%29%22%20stroke-width%3D%223.0%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M%2010.2%2026.4%20C%208.6%2020.5%2C%209%209.5%2C%2014.2%203.2%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%22.8%22%20stroke-linecap%3D%22round%22%20transform%3D%22translate%28-.55%20-.1%29%22/%3E%3C/svg%3E");
    background-repeat: round no-repeat; background-size: 24px 40px; background-position: left top; }
  .pad-body { padding: 30px 22px 22px; }
  .pad-title { text-align: center; font-family: 'Caveat', cursive; font-weight: 700; font-size: 38px; line-height: 1; margin: 0 0 14px; }
  .pad-title:focus { outline: none; }
  .pad-title small { display: block; margin-top: 2px; font-size: 24px; font-weight: 600; }
  .pad-canvas-box { position: relative; width: 100%; padding-top: 105%; border-radius: 3px; background: #fffdf6; box-shadow: 0 0 0 1px rgba(28,35,64,0.2), 0 2px 8px rgba(28,35,64,0.1); }
  img, canvas, video, svg image, picture { -webkit-user-select: none; user-select: none; }
  .pad-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: crosshair; -webkit-user-select: none; user-select: none; }
  .pad-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px 7px; margin-top: 12px; }
  .pad-swatch { width: 24px; height: 24px; padding: 0; border: none; border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .pad-tool { min-width: 34px; height: 30px; padding: 0 7px; border: none; border-radius: 15px; background: rgba(28,35,64,0.06); color: #1c2340; display: inline-flex; align-items: center; justify-content: center; gap: 5px; cursor: pointer; font-family: 'Caveat', cursive; font-weight: 600; font-size: 19px; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .pad-tool[aria-pressed="true"] { background: rgba(28,35,64,0.16); box-shadow: inset 0 0 0 1.5px #1c2340; }
  .pad-tool svg { display: block; }
  .pad-styles { max-width: 310px; margin-left: auto; margin-right: auto; gap: 5px; }
  .pad-styles + .pad-styles { margin-top: 5px; }
  .pad-style { min-width: 0; flex: 0 0 calc((100% - 30px) / 7); padding: 0 2px; }
  .pad-style img { max-width: 100%; height: auto; }
  @media (max-width: 480px) {
    .pad-tools[aria-label="Couleurs"] { display: grid; grid-template-columns: repeat(6, 32px); justify-content: center; gap: 9px 11px; }
    .pad-tools[aria-label="Couleurs"] .pad-swatch { width: 32px; height: 32px; }
    .pad-title { font-size: 33px; margin-bottom: 10px; }
    .pad-body { padding-top: 24px; }
    .pad-papers { display: grid; grid-template-columns: repeat(3, 64px); justify-content: center; gap: 8px 14px; }
  }
  .pad-canvas-box { overflow: hidden; }
  .pad-view { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform-origin: 0 0; }
  .pad-zoom { position: absolute; right: 6px; top: 6px; z-index: 6; display: none; height: 26px; padding: 0 9px; border: none; border-radius: 13px; background: rgba(28,35,64,0.78); color: #fffdf6; font-family: 'Manrope', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; cursor: pointer; }
  .pad-zoom.on { display: block; }
  .pad-invite { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'Caveat', cursive; font-weight: 600; font-size: 34px; pointer-events: none; transition: opacity 0.35s; }
  .pad-labeled { align-items: flex-start; gap: 10px 22px; }
  .pad-block { display: flex; flex-direction: column; align-items: center; }
  .pad-block-name { margin-bottom: 4px; font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #656a7b; }
  .pad-labeled .pad-group { gap: 4px; }
  .pad-labeled .pad-tool { flex-direction: column; height: auto; min-height: 44px; width: 44px; padding: 5px 0 3px; border-radius: 10px; gap: 2px; }
  .pad-lab { display: block; font-family: 'Caveat', cursive; font-weight: 600; font-size: 15px; line-height: 1; color: #5d6170; white-space: nowrap; }
  .pad-tool[aria-pressed="true"] .pad-lab { color: #1c2340; }
  .pad-fillopts { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 10px; }
  .pad-seg { display: inline-flex; border-radius: 15px; box-shadow: inset 0 0 0 1px rgba(28,35,64,0.25); overflow: hidden; }
  .pad-seg button { height: 28px; padding: 0 12px; border: none; background: transparent; color: #5d6170; font-family: 'Caveat', cursive; font-weight: 600; font-size: 18px; cursor: pointer; }
  .pad-seg button[aria-pressed="true"] { background: #1c2340; color: #fffdf6; }
  .pad-grad { width: 64px; height: 14px; border-radius: 7px; box-shadow: inset 0 0 0 1px rgba(28,35,64,0.15); }
  .pad-color2 { width: 26px; height: 26px; border-radius: 50%; }
  .pad-hint { margin-top: 5px; text-align: center; font-family: 'Caveat', cursive; font-weight: 600; font-size: 16px; line-height: 1.1; color: #656a7b; }
  .pad-paper { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; pointer-events: none; border-radius: 2px; }
  .pad-swatch-any { position: relative; display: inline-block; box-sizing: border-box; background: conic-gradient(#e53935, #fdd835, #43a047, #00acc1, #1e88e5, #8e24aa, #e53935); }
  .pad-swatch-any-in { position: absolute; left: 5px; top: 5px; right: 5px; bottom: 5px; border-radius: 50%; pointer-events: none; }
  .pad-swatch-any input { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
  .pad-sliders { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
  .pad-preview { flex: 0 0 64px; width: 64px; height: 34px; display: block; border-radius: 6px; background: #fffdf6; box-shadow: inset 0 0 0 1px rgba(28,35,64,0.14); }
  .pad-dot { display: block; border-radius: 50%; box-shadow: 0 0 0 1px rgba(28,35,64,0.12); }
  .pad-slider { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; font-family: 'Caveat', cursive; font-weight: 600; font-size: 16px; line-height: 1; color: #5d6170; }
  .pad-slider input { width: 100%; height: 24px; margin: 0; accent-color: #1c2340; }
  @media (pointer: coarse) {
    #cf-name, #cf-email, #cd-email, #ce-email { padding-top: 11px !important; margin-top: -9px !important; position: relative; }
    .pad-slider input { height: 44px; margin: -10px 0; }
    .pad-swatch-any input { left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
  }
  .pad-tabs { display: flex; justify-content: center; gap: 2px; margin-top: 12px; border-bottom: 1px solid rgba(28,35,64,0.15); }
  .pad-tab { flex: 1 1 0; min-width: 0; padding: 3px 2px 5px; border: none; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; font-family: 'Caveat', cursive; font-weight: 600; font-size: 18.5px; color: #626778; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .pad-tab[aria-selected="true"] { color: #1c2340; border-bottom-color: #1c2340; }
  @media (max-width: 480px) { .pad-tab { font-size: 16.5px; } }
  .pad-panel > .pad-tools, .pad-panel .pad-styles:first-child { margin-top: 10px; }
  .pad-wrap { flex-wrap: wrap; justify-content: center; }
  .pad-papers { gap: 10px; }
  .pad-paper-btn { width: 38px; height: 46px; padding: 0; border: none; border-radius: 3px; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(28,35,64,0.22); -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .pad-paper-item { display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .pad-papers { align-items: flex-start; }
  .pad-paper-btn[aria-pressed="true"] { box-shadow: 0 0 0 2px #fffdf6, 0 0 0 3.5px #1c2340; }
  .pad-textbox { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 3px; padding: 3px 4px; border-radius: 8px; background: rgba(255,253,246,0.97); box-shadow: 0 3px 12px rgba(0,0,0,0.25); z-index: 5; }
  .pad-textbox input { width: 150px; border: none; border-bottom: 1.5px dashed #aeb3c2; background: transparent; font-family: 'Caveat', cursive; font-weight: 600; font-size: 22px; line-height: 1.1; outline: none; padding: 0 2px; }
  .pad-textbox button { width: 28px; height: 28px; flex: 0 0 28px; padding: 0; border: none; border-radius: 50%; background: rgba(28,35,64,0.08); color: #1c2340; font-size: 15px; cursor: pointer; }
  .pad-caption { margin-top: 6px; min-height: 20px; text-align: center; font-family: 'Caveat', cursive; font-weight: 600; font-size: 18px; line-height: 1.1; color: #5d6170; }
  .pad button:focus-visible, .pad-canvas:focus-visible { outline: 2px solid #1c2340; outline-offset: 2px; }
  .pad-canvas:focus-visible { outline-offset: -3px; }
  .pad-tab:focus-visible { outline-offset: -2px; border-radius: 4px; }
  .pad-swatch-any:has(input:focus-visible) { outline: 2px solid #1c2340; outline-offset: 2px; }
  .pad-swatch-any input:focus-visible { outline: none; }
  .pad-textbox input:focus { border-bottom: 1.5px solid #1c2340; }
  #cd-email:focus { outline: none !important; border-bottom: 1.5px solid #1c2340 !important; }
  #cd-email:focus-visible { box-shadow: 0 2px 0 0 #1c2340; }
  #cf-name:focus, #cf-email:focus, #cf-message:focus, #ce-email:focus, .emoji-area:focus { outline: none !important; border-bottom: 1.5px solid #1c2340 !important; }
  #cf-name:focus-visible, #cf-email:focus-visible, #cf-message:focus-visible, #ce-email:focus-visible, .emoji-area:focus-visible { box-shadow: 0 2px 0 0 #1c2340; }
  .contact-title:focus { outline: none; }
  .pad-tool[aria-disabled="true"] { opacity: 0.38; cursor: default; }
  .pad-canvas { -webkit-touch-callout: none; }
  .pad-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .pad-kcursor { position: absolute; z-index: 5; display: none; width: 18px; height: 18px; margin: -9px 0 0 -9px; box-sizing: border-box; border-radius: 50%; border: 2px solid #1c2340; box-shadow: 0 0 0 2px #fffdf6, 0 0 0 3px rgba(28,35,64,0.45); pointer-events: none; }
  @media (max-width: 480px) { .overlay-scroll:has(.pad-sheet) { overflow-x: hidden; } }
  @media (max-width: 350px) {
    .pad-body { padding-left: 14px; padding-right: 14px; }
    .pad-preview { flex: 0 0 44px; width: 44px; }
    .pad-slider { font-size: 15px; }
    .pad-tab { font-size: 14px; }
  }
  .pad-textbox input::placeholder { color: #666b7c; opacity: 1; }
  @media (forced-colors: active) {
    .pad-swatch, .pad-paper-btn, .pad-color2, .pad-grad, .pad-swatch-any-in, .pad-preview, .pad-canvas-box, .pad-paper, .pad-kcursor { forced-color-adjust: none; }
    .pad-swatch, .pad-paper-btn { border: 1px solid CanvasText; }
    .pad-tool { border: 1px solid ButtonText; }
    .pad-tool[aria-disabled="true"] { color: GrayText; border-color: GrayText; opacity: 1; }
    .pad-tool[aria-pressed="true"], .pad-seg button[aria-pressed="true"], .pad-swatch[aria-pressed="true"], .pad-paper-btn[aria-pressed="true"] { outline: 3px solid Highlight; outline-offset: 2px; }
    .pad-tab[aria-selected="true"] { border-bottom-color: Highlight; border-bottom-width: 4px; }
    .pad-seg { box-shadow: none; border: 1px solid ButtonText; }
    .contact-wrap form button[type="submit"] { border: 2px solid ButtonText !important; }
    .emoji-tone[aria-pressed="true"] { outline: 3px solid Highlight; outline-offset: -2px; }
  }
  .contact-wrap form button[type="submit"][aria-disabled="true"] { cursor: progress !important; }
  .pad-kcursor.on { display: block; }
  .pad-kcursor.down { background: rgba(28,35,64,0.4); }
  .pad-kbhint { position: absolute; z-index: 5; left: 8px; right: 8px; top: 8px; padding: 4px 8px; border-radius: 8px; background: rgba(28,35,64,0.86); color: #fffdf6; text-align: center; font-family: 'Caveat', cursive; font-weight: 600; font-size: 16px; line-height: 1.15; pointer-events: none; opacity: 0; }
  .pad-kcursor.on ~ .pad-kbhint { animation: padKbHint 6s forwards; }
  @keyframes padKbHint { 0% { opacity: 0; } 5% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { .pad-invite { transition: none; } }
  .pad-row2 { gap: 7px 16px; }
  .pad-group { display: flex; align-items: center; gap: 7px; }
  .pad-sym { min-width: 34px; padding: 0 6px; }
  .pad-axes { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
  .pad-axes line { stroke: rgba(28,35,64,0.24); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; transition: opacity 0.2s; }
  .pad-actions { gap: 6px; }
  .pad-actions .pad-tool { background: #fff; box-shadow: inset 0 0 0 1px rgba(28,35,64,0.28); padding: 0 8px; font-size: 18px; gap: 4px; }
  .pad-actions .pad-tool:active { background: rgba(28,35,64,0.1); }
  .emoji-area { width: 100%; box-sizing: border-box; min-height: 92px; border: none; border-bottom: 1.5px dashed #d989a5; background: transparent; padding: 4px 2px 6px; font-size: 28px; line-height: 1.35; color: #1c2340; outline: none; resize: vertical; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', 'Segoe UI Symbol', sans-serif; }
  .emoji-tabs { display: flex; gap: 2px; margin-top: 10px; }
  .emoji-tab { flex: 1 1 0; min-width: 0; height: 32px; padding: 0; border: none; border-radius: 8px; background: rgba(255,255,255,0.28); cursor: pointer; font-size: 17px; line-height: 1; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', 'Segoe UI Symbol', sans-serif; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .emoji-tab:hover, .emoji-tab:focus-visible { background: rgba(255,255,255,0.55); }
  @media (max-width: 359px) { .emoji-tabs { gap: 0; margin-left: -8px; margin-right: -8px; } .emoji-tab { flex: 1 0 24px; } }
  .emoji-palette { position: relative; max-height: 232px; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; margin-top: 4px; padding: 0 2px 4px; border-radius: 8px; background: rgba(255,255,255,0.2); }
  .emoji-sec-name { margin: 8px 4px 2px; font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #7a3552; }
  .emoji-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 2px; }
  @media (max-width: 339px) { .emoji-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  .emoji-key { aspect-ratio: 1 / 1; min-height: 30px; padding: 0; border: none; border-radius: 8px; background: transparent; cursor: pointer; font-size: 22px; line-height: 1; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', 'Segoe UI Symbol', sans-serif; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .emoji-key:hover, .emoji-key:focus-visible { background: rgba(255,255,255,0.45); }
  .emoji-tab:focus-visible, .emoji-key:focus-visible, .emoji-tone:focus-visible { outline: 2px solid #1c2340; outline-offset: -2px; }
  @media (max-width: 389px) { .emoji-key { min-height: 0; } }
  .emoji-key:active { transform: scale(0.9); }
  .emoji-tones { display: flex; gap: 1px; min-width: 0; }
  .emoji-tone { width: 30px; height: 30px; padding: 0; border: none; border-radius: 50%; background: transparent; cursor: pointer; font-size: 17px; line-height: 1; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', 'Segoe UI Symbol', sans-serif; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  .emoji-tone:hover, .emoji-tone:focus-visible { background: rgba(255,255,255,0.45); }
  .emoji-tone[aria-pressed="true"] { background: rgba(255,255,255,0.6); box-shadow: inset 0 0 0 1.5px #7a3552; }
  .home-candle { mix-blend-mode: screen; }
  .home-candle img { display: block; max-width: none; pointer-events: none; -webkit-user-select: none; user-select: none; -webkit-user-drag: none; }
  .candle-sway-slow { animation: candleSwaySlow 7.3s ease-in-out infinite; }
  .candle-scale { animation: candleScale 2.9s ease-in-out infinite; }
  .candle-sway-fast { animation: candleSwayFast 1.1s ease-in-out infinite; }
  .candle-flicker { animation: candleFlicker 1.7s linear infinite; }
  .candle-bright { animation: candleBright 3.9s linear infinite; }
  .candle-halo { border-radius: 50%; background: radial-gradient(closest-side, rgba(255,155,39,0.09) 0%, rgba(219,113,21,0.035) 40%, rgba(0,0,0,0) 100%); animation: candleFlameLight 2.9s ease-in-out infinite, candleHaloGlow 3.9s linear infinite; }
  .candle-halo-flicker { animation: candleLightFlicker 1.7s linear infinite; }
  @keyframes candleSwaySlow { 0% { transform: skewX(0deg); } 9% { transform: skewX(7.6deg); } 20% { transform: skewX(2.4deg); } 31% { transform: skewX(-8.4deg); } 39% { transform: skewX(-2deg); } 54% { transform: skewX(5.6deg); } 66% { transform: skewX(9.2deg); } 77% { transform: skewX(1.4deg); } 91% { transform: skewX(-6.2deg); } 100% { transform: skewX(0deg); } }
  @keyframes candleScale { 0% { transform: scale(1, 1); } 20% { transform: scale(0.9, 1.15); } 40% { transform: scale(1.1, 0.9); } 60% { transform: scale(0.95, 1.0875); } 80% { transform: scale(1.0625, 0.95); } 100% { transform: scale(1, 1); } }
  @keyframes candleSwayFast { 0% { transform: skewX(0deg); } 20% { transform: skewX(0.7deg); } 40% { transform: skewX(-0.9deg); } 60% { transform: skewX(0.3deg); } 80% { transform: skewX(-0.5deg); } 100% { transform: skewX(0deg); } }
  @keyframes candleFlicker { 0% { opacity: 0.98; } 16.667% { opacity: 0.94; } 33.333% { opacity: 1; } 50% { opacity: 0.97; } 66.667% { opacity: 0.99; } 83.333% { opacity: 0.95; } 100% { opacity: 0.98; } }
  @keyframes candleBright { 0% { opacity: 0.9; } 20% { opacity: 0.97; } 40% { opacity: 0.92; } 60% { opacity: 1; } 80% { opacity: 0.94; } 100% { opacity: 0.9; } }
  @keyframes candleHaloGlow { 0% { opacity: 0.5; } 20% { opacity: 0.85; } 40% { opacity: 0.6; } 60% { opacity: 1; } 80% { opacity: 0.7; } 100% { opacity: 0.5; } }
  @keyframes candleFlameLight { 0% { transform: scale(1); } 20% { transform: scale(1.08); } 40% { transform: scale(0.946); } 60% { transform: scale(1.046); } 80% { transform: scale(0.974); } 100% { transform: scale(1); } }
  .candle-light-mask {
    -webkit-mask-image: radial-gradient(closest-side, #000 60%, rgba(0,0,0,0.9) 78%, rgba(0,0,0,0.65) 86%, rgba(0,0,0,0.3) 93%, transparent 100%);
    mask-image: radial-gradient(closest-side, #000 60%, rgba(0,0,0,0.9) 78%, rgba(0,0,0,0.65) 86%, rgba(0,0,0,0.3) 93%, transparent 100%);
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: 50% 50%; mask-position: 50% 50%;
    -webkit-mask-size: 80% 80%; mask-size: 80% 80%;
    animation: candleLightSize 2.9s ease-in-out infinite;
  }
  .candle-light-sway { animation: candleLightSway 7.3s ease-in-out infinite; }
  .candle-light-unsway { animation: candleLightUnsway 7.3s ease-in-out infinite; }
  .candle-light-glow { animation: candleLightGlow 3.9s linear infinite; }
  .candle-light-flicker { animation: candleLightFlicker 1.7s linear infinite; }
  @keyframes candleLightSize { 0% { -webkit-mask-size: 80% 80%; mask-size: 80% 80%; } 20% { -webkit-mask-size: 86.4% 86.4%; mask-size: 86.4% 86.4%; } 40% { -webkit-mask-size: 75.7% 75.7%; mask-size: 75.7% 75.7%; } 60% { -webkit-mask-size: 83.7% 83.7%; mask-size: 83.7% 83.7%; } 80% { -webkit-mask-size: 77.9% 77.9%; mask-size: 77.9% 77.9%; } 100% { -webkit-mask-size: 80% 80%; mask-size: 80% 80%; } }
  @keyframes candleLightSway { 0% { transform: translateX(0%); } 9% { transform: translateX(-25.69%); } 20% { transform: translateX(-8.11%); } 31% { transform: translateX(28.39%); } 39% { transform: translateX(6.76%); } 54% { transform: translateX(-18.93%); } 66% { transform: translateX(-31.09%); } 77% { transform: translateX(-4.73%); } 91% { transform: translateX(20.95%); } 100% { transform: translateX(0%); } }
  @keyframes candleLightUnsway { 0% { transform: translateX(0%); } 9% { transform: translateX(25.69%); } 20% { transform: translateX(8.11%); } 31% { transform: translateX(-28.39%); } 39% { transform: translateX(-6.76%); } 54% { transform: translateX(18.93%); } 66% { transform: translateX(31.09%); } 77% { transform: translateX(4.73%); } 91% { transform: translateX(-20.95%); } 100% { transform: translateX(0%); } }
  @keyframes candleLightGlow { 0% { opacity: 0.86; } 20% { opacity: 0.958; } 40% { opacity: 0.884; } 60% { opacity: 1; } 80% { opacity: 0.916; } 100% { opacity: 0.86; } }
  @keyframes candleLightFlicker { 0% { opacity: 0.94; } 16.667% { opacity: 0.82; } 33.333% { opacity: 1; } 50% { opacity: 0.91; } 66.667% { opacity: 0.97; } 83.333% { opacity: 0.85; } 100% { opacity: 0.94; } }
  .candle-glow { border-radius: 50%; animation: candleFlameLight 2.9s ease-in-out infinite, candleLightGlow 3.9s linear infinite; }
  .candle-glow-flicker { border-radius: 50%; background: radial-gradient(closest-side, rgba(255,150,60,0.12) 0%, rgba(255,150,60,0.045) 45%, rgba(255,150,60,0) 100%); animation: candleLightFlicker 1.7s linear infinite; }
  .overlay-scroll {
    overscroll-behavior: none;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .overlay-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  @media (pointer: coarse) {
    .no-sb { scrollbar-width: none; -ms-overflow-style: none; }
    .no-sb::-webkit-scrollbar { display: none; width: 0; height: 0; }
  }
  .dc-kbd-target:focus {
    outline: none;
  }
  .word-cloud-item {
    display: inline-block;
    animation: wordFloat var(--wc-dur, 10s) ease-in-out var(--wc-delay, 0s) infinite;
  }
  @keyframes wordFloat {
    0% { transform: translate(0, 0); }
    25% { transform: translate(var(--wc-dx), calc(var(--wc-dy) * -1)); }
    50% { transform: translate(calc(var(--wc-dx) * -1), var(--wc-dy)); }
    75% { transform: translate(calc(var(--wc-dx) * 0.5), calc(var(--wc-dy) * 0.5)); }
    100% { transform: translate(0, 0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .word-cloud-item { animation: none; }
  }
  .home-quote { top: 56%; }
  .home-quote-l1 { white-space: nowrap; }
  .home-quote-btn { display: inline-block; text-align: center; }
  @media (max-width: 359px) {
    .home-quote-l1 { white-space: normal; }
    .home-quote-br { display: none; }
    .home-quote-btn { display: block; text-align: left; }
  }
  .lumiere-flash-img {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #0a0910;
    opacity: 0;
    pointer-events: none;
    z-index: 5;
    animation: lumiereFlash 3.2s steps(1, end) infinite;
  }
  @keyframes lumiereFlash {
    0% { opacity: 0; }
    93.75% { opacity: 1; }
    100% { opacity: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .lumiere-flash-img { animation: none; opacity: 0; }
  }
  .bougie-flash-a { animation: bougieFlashA 13.1s steps(1, end) infinite; }
  .bougie-flash-b { animation: bougieFlashB 13.1s steps(1, end) infinite; }
  .bougie-flash-c { animation: bougieFlashC 13.1s steps(1, end) infinite; }
  .bougie-flash-d { animation: bougieFlashD 13.1s steps(1, end) infinite; }
  @keyframes bougieFlashA {
    0% { opacity: 0; }
    22.9008% { opacity: 1; }
    24.4275% { opacity: 0; }
    100% { opacity: 0; }
  }
  @keyframes bougieFlashB {
    0% { opacity: 0; }
    47.3282% { opacity: 1; }
    48.855% { opacity: 0; }
    100% { opacity: 0; }
  }
  @keyframes bougieFlashC {
    0% { opacity: 0; }
    71.7557% { opacity: 1; }
    74.0458% { opacity: 0; }
    100% { opacity: 0; }
  }
  @keyframes bougieFlashD {
    0% { opacity: 0; }
    96.9466% { opacity: 1; }
    100% { opacity: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .bougie-flash-a, .bougie-flash-b, .bougie-flash-c, .bougie-flash-d { animation: none; opacity: 0; }
  }
  .lantern { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 8; pointer-events: none; }
  .lantern-canvas { position: absolute; left: 0; top: 0; display: block; transform-origin: 0 0; visibility: hidden; }
  .lantern-src { display: none; }
  .spotlight-lane { display: none; }
  .site-root.lantern-reveal > .spotlight-mask {
    -webkit-mask-image: linear-gradient(to right, transparent 0, transparent var(--lane, 0px), #000 var(--lane, 0px));
    mask-image: linear-gradient(to right, transparent 0, transparent var(--lane, 0px), #000 var(--lane, 0px));
  }
  .site-root.lantern-reveal > .spotlight-lane {
    display: block;
    -webkit-mask-image: radial-gradient(var(--dvrx, 1px) var(--dvry, 1px) at var(--dvx, -9999px) var(--dvy, -9999px), rgba(0,0,0,var(--dva, 0)) 0, rgba(0,0,0,var(--dva, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(var(--dfrx, 1px) var(--dfry, 1px) at var(--dfx, -9999px) var(--dfy, -9999px), rgba(0,0,0,var(--dfa, 0)) 0, rgba(0,0,0,var(--dfa, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(var(--dlrx, 1px) var(--dlry, 1px) at var(--dlx, -9999px) var(--dly, -9999px), rgba(0,0,0,var(--dla, 0)) 0, rgba(0,0,0,var(--dla, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(circle var(--lr) at var(--lx) var(--ly), rgba(0,0,0,0) 0, rgba(0,0,0,0.052) 10%, rgba(0,0,0,0.185) 20%, rgba(0,0,0,0.351) 30%, rgba(0,0,0,0.51) 40%, rgba(0,0,0,0.645) 50%, rgba(0,0,0,0.754) 60%, rgba(0,0,0,0.84) 70%, rgba(0,0,0,0.907) 80%, rgba(0,0,0,0.959) 90%, #000 100%), linear-gradient(rgba(0,0,0,var(--la)), rgba(0,0,0,var(--la))), radial-gradient(circle var(--lrr, var(--lr)) at var(--lx) var(--ly), rgba(0,0,0,0) 0, rgba(0,0,0,0) 60%, #000 88%), radial-gradient(var(--dfrx, 1px) var(--dfry, 1px) at var(--dfx, -9999px) var(--dfy, -9999px), #000 0, #000 70%, rgba(0,0,0,0) 100%);
    mask-image: radial-gradient(var(--dvrx, 1px) var(--dvry, 1px) at var(--dvx, -9999px) var(--dvy, -9999px), rgba(0,0,0,var(--dva, 0)) 0, rgba(0,0,0,var(--dva, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(var(--dfrx, 1px) var(--dfry, 1px) at var(--dfx, -9999px) var(--dfy, -9999px), rgba(0,0,0,var(--dfa, 0)) 0, rgba(0,0,0,var(--dfa, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(var(--dlrx, 1px) var(--dlry, 1px) at var(--dlx, -9999px) var(--dly, -9999px), rgba(0,0,0,var(--dla, 0)) 0, rgba(0,0,0,var(--dla, 0)) 70%, rgba(0,0,0,0) 100%), radial-gradient(circle var(--lr) at var(--lx) var(--ly), rgba(0,0,0,0) 0, rgba(0,0,0,0.052) 10%, rgba(0,0,0,0.185) 20%, rgba(0,0,0,0.351) 30%, rgba(0,0,0,0.51) 40%, rgba(0,0,0,0.645) 50%, rgba(0,0,0,0.754) 60%, rgba(0,0,0,0.84) 70%, rgba(0,0,0,0.907) 80%, rgba(0,0,0,0.959) 90%, #000 100%), linear-gradient(rgba(0,0,0,var(--la)), rgba(0,0,0,var(--la))), radial-gradient(circle var(--lrr, var(--lr)) at var(--lx) var(--ly), rgba(0,0,0,0) 0, rgba(0,0,0,0) 60%, #000 88%), radial-gradient(var(--dfrx, 1px) var(--dfry, 1px) at var(--dfx, -9999px) var(--dfy, -9999px), #000 0, #000 70%, rgba(0,0,0,0) 100%);
    -webkit-mask-composite: source-over, source-over, source-over, source-over, source-over, source-in, source-over;
    mask-composite: add, add, add, add, add, intersect, add;
    background: radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0px, transparent calc(var(--r) * 0.45), rgba(255,244,214,0.2) calc(var(--r) * 0.62), rgba(10,9,16,0.94) calc(var(--r) * 0.83), #0a0910 var(--r));
  }
  .lantern-balloons { position: absolute; left: 0; top: 0; width: 0; height: 0; pointer-events: none; visibility: hidden; opacity: 0;
    -webkit-mask-image: radial-gradient(circle var(--gr, 1px) at var(--gx, -9999px) var(--gy, -9999px), #000 0, rgba(0,0,0,0.948) 10%, rgba(0,0,0,0.815) 20%, rgba(0,0,0,0.649) 30%, rgba(0,0,0,0.49) 40%, rgba(0,0,0,0.355) 50%, rgba(0,0,0,0.246) 60%, rgba(0,0,0,0.16) 70%, rgba(0,0,0,0.093) 80%, rgba(0,0,0,0.041) 90%, rgba(0,0,0,0) 100%);
    mask-image: radial-gradient(circle var(--gr, 1px) at var(--gx, -9999px) var(--gy, -9999px), #000 0, rgba(0,0,0,0.948) 10%, rgba(0,0,0,0.815) 20%, rgba(0,0,0,0.649) 30%, rgba(0,0,0,0.49) 40%, rgba(0,0,0,0.355) 50%, rgba(0,0,0,0.246) 60%, rgba(0,0,0,0.16) 70%, rgba(0,0,0,0.093) 80%, rgba(0,0,0,0.041) 90%, rgba(0,0,0,0) 100%);
  }
  .lantern-balloons > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: top; }
  @media (prefers-reduced-motion: reduce) {
    .lantern { display: none; }
  }
  :root { --home-fs-scale: 0.85; --home-title-scale: 0.72; --home-zone-title-scale: 0.72; --home-zone-letter-spacing: 0; }
  .home-title-btn { letter-spacing: 0.32em !important; }
  @media (min-width: 641px) {
    :root { --home-zone-letter-spacing: 0.08em; }
  }
  .fox-zone-btn { width: clamp(90px, 12vw, 170px); }
  @media (max-width: 640px) {
    .fox-zone-btn { width: clamp(85px, 19vw, 130px); }
    .word-cloud-item {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      min-height: 44px;
      box-sizing: border-box;
    }
    .nav-btn-round {
      width: 44px !important;
      height: 44px !important;
      margin: 0 !important;
      --ri: 0px !important;   
    }
  }
