/* 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; }
  @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;   
    }
  }
