/* ==========================================================================
   THÈME D'ÉVÈNEMENT — SAMONOKTA
   Samhain · Nuit des Ancêtres (silan)
   Samovae, Jour 5 (~30 oct) · fenêtre 10-27 → 11-02 (voir /includes/event_themes.php)
   Canon (Calendrier Valshaari) : couleur noir et violet, pierre labradorite.

   Fichier autonome : tokens + habillage global + surcharges de toutes les
   pages internes. Activé par <html data-theme="samonokta">.
   À charger APRÈS style.css, header.css, magictalk.css, sangsato.css,
   atelier.css et shop.css (donc en dernier des feuilles de page).
   ========================================================================== */

html[data-theme="samonokta"]{
  --ac-bg:#0a0612;--ac-bg2:#150c22;--ac-card:#1c1228;--ac-text:#e8dcf0;--ac-muted:#9b84ad;
  --ac-border:#3a2350;--ac-line:#4a2d66;
  --ac-accent1:#7b3fe4;--ac-accent2:#5ecbc8;
  --ac-success:#2ecc71;--ac-warning:#e8a94c;--ac-danger:#e74c3c;
  --ac-font-h1:'Fondamento',cursive;--ac-font-h2:'Cinzel Decorative',serif;--ac-font-h3:'Grenze Gotisch',cursive;--ac-font-body:'Merriweather',serif;
  --ac-shadow-sm:0 2px 14px rgba(123,63,228,.22);--ac-shadow:0 12px 32px rgba(123,63,228,.3);
  --ac-on-accent:#0a0612;
}
html[data-theme="samonokta"] .ac-card,html[data-theme="samonokta"] .ac-auth-card{border-radius:6px}
html[data-theme="samonokta"] .ac-header{border-bottom:2px solid;border-image:linear-gradient(90deg,var(--ac-accent1),var(--ac-accent2) 55%,var(--ac-accent1)) 1}
html[data-theme="samonokta"] .ac-btn--primary{background:linear-gradient(135deg,#7b3fe4,#4a2d66 60%,#0a0612);border-color:var(--ac-accent1);color:#f4f0fb;box-shadow:0 3px 14px rgba(123,63,228,.35)}
html[data-theme="samonokta"] .ac-btn--primary:hover{background:linear-gradient(135deg,#5ecbc8,#7b3fe4 60%,#4a2d66);box-shadow:0 6px 20px rgba(94,203,200,.35);transform:translateY(-1px)}
html[data-theme="samonokta"] .ac-btn--ghost:hover,html[data-theme="samonokta"] .ac-nav__link:hover{background:rgba(123,63,228,.12)}
html[data-theme="samonokta"] .hero-title{background:linear-gradient(100deg,#7b3fe4,#5ecbc8,#b98bff,#7b3fe4);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:samonokta-shimmer 7s linear infinite}
@keyframes samonokta-shimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
html[data-theme="samonokta"] .hero-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(123,63,228,.22),transparent 45%),radial-gradient(circle at 85% 76%,rgba(94,203,200,.16),transparent 48%);animation:samonokta-veil 8s ease-in-out infinite}
@keyframes samonokta-veil{0%,100%{opacity:.7}50%{opacity:1}}
/* NOUVEAU — brume des portes ouvertes : nappe qui dérive en travers du héros */
html[data-theme="samonokta"] .hero-section::after{content:"";position:absolute;left:-30%;right:-30%;bottom:-10%;height:70%;pointer-events:none;opacity:.5;background:radial-gradient(ellipse 40% 60% at 20% 60%,rgba(123,63,228,.3),transparent 70%),radial-gradient(ellipse 45% 55% at 62% 70%,rgba(94,203,200,.22),transparent 72%);animation:samonokta-fog 26s ease-in-out infinite}
@keyframes samonokta-fog{0%,100%{transform:translate3d(-6%,0,0) scaleY(1)}50%{transform:translate3d(6%,-4%,0) scaleY(1.12)}}
html[data-theme="samonokta"] body::after{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 12% 85%,rgba(232,169,76,.9) 0 1.6px,transparent 2.4px),radial-gradient(circle at 34% 92%,rgba(123,63,228,.8) 0 2px,transparent 3px),radial-gradient(circle at 68% 88%,rgba(94,203,200,.8) 0 1.6px,transparent 2.4px),radial-gradient(circle at 90% 94%,rgba(232,169,76,.85) 0 2px,transparent 3px);background-size:160px 220px,220px 260px,190px 240px,260px 300px;animation:samonokta-rise 16s linear infinite}
@keyframes samonokta-rise{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-30px,-420px,0)}}
/* NOUVEAU — curseur bougie du silan / chauve-souris sur les éléments cliquables */
html[data-theme="samonokta"],html[data-theme="samonokta"] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='30' viewBox='0 0 24 28'%3E%3Cpath d='M12 1c2 2.6 3.4 4 3.4 5.8A3.4 3.4 0 0 1 8.6 6.8C8.6 5 10 3.6 12 1z' fill='%23e8a94c'/%3E%3Crect x='8.6' y='10' width='6.8' height='16' rx='1.6' fill='%231c1228' stroke='%237b3fe4' stroke-width='1.2'/%3E%3C/svg%3E") 12 2,auto}
html[data-theme="samonokta"] a,html[data-theme="samonokta"] button,html[data-theme="samonokta"] [role="button"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24'%3E%3Cpath d='M12 8c1.6 0 2.4 1.2 2.6 2.6C16 8.8 18.4 7 21.4 6.6c-1.2 1.8-1 3.6-.6 5.2-1.8-.6-3.4 0-4.4 1.4-1 1.4-2.6 2.4-4.4 2.4s-3.4-1-4.4-2.4c-1-1.4-2.6-2-4.4-1.4.4-1.6.6-3.4-.6-5.2C5.6 7 8 8.8 9.4 10.6 9.6 9.2 10.4 8 12 8z' fill='%237b3fe4' stroke='%235ecbc8' stroke-width='1'/%3E%3C/svg%3E") 15 12,pointer}

@media (prefers-reduced-motion: reduce){
  [class] .hero-title,[class] .hero-section::before,[class] .hero-section::after,[class] .ac-canvas::after{animation:none !important}
}
/* Le voile de particules est posé sur <body> : le contenu passe au-dessus. */
html[data-theme="samonokta"] .ac-main,
html[data-theme="samonokta"] .ac-footer { position: relative; z-index: 1; }
html[data-theme="samonokta"] .ac-header { position: sticky; z-index: 200; }

/* ==========================================================================
   SURCHARGES DES PAGES INTERNES
   MagicTalk, Sang-Satō (personnages, bestiaire, lieux, manuscrits, calendrier),
   Atelier, Boutique, Admin. Ces fichiers codent leurs couleurs en dur
   (#1e1632, #9b59b6, --mt-glass…) : le thème ne les atteint pas sans remap.
   ========================================================================== */
html[data-theme="samonokta"] {
    --ev-deep:     #06040c;   /* remplace #0e0b16 / #0a0a0a */
    --ev-surface:  #1c1228;   /* remplace #1e1632 (cartes) */
    --ev-surface2: #150c22;  /* remplace #1a1428 */
    --ev-surface3: #241634;  /* remplace #241b38 */
    --ev-border:   #3a2350;   /* remplace #3d2f5e */
    --ev-acc:      #7b3fe4;   /* remplace #9b59b6 */
    --ev-acc-l:    #5ecbc8;   /* remplace #b57cd9 */
    --ev-ink:      #e8dcf0;    /* remplace #e8dff8 */
    --ev-muted:    #9b84ad;  /* remplace #9a87c0 */
    --ev-dim:      #7a6690;    /* remplace #6b5d8a */
}

/* ── 1. MagicTalk ─────────────────────────────────────────────────────────── */
html[data-theme="samonokta"],
html[data-theme="samonokta"] .mt-app,
html[data-theme="samonokta"] .magictalk-page {
    --mt-neon-cyan:    #5ecbc8;
    --mt-neon-violet:  #7b3fe4;
    --mt-neon-gold:    var(--ac-warning);
    --mt-neon-rose:    var(--ac-danger);
    --mt-glass:        #1c1228;
    --mt-glass-border: rgba(123,63,228, .28);
    --mt-glow-violet:  0 0 18px rgba(123,63,228, .30);
    --mt-glow-cyan:    0 0 18px rgba(123,63,228, .22);
    --mt-glow-gold:    0 0 12px rgba(123,63,228, .28);
}
html[data-theme="samonokta"] .mt-post,
html[data-theme="samonokta"] .mt-composer,
html[data-theme="samonokta"] .mt-side-card,
html[data-theme="samonokta"] .mt-suggest-card,
html[data-theme="samonokta"] .mt-nav,
html[data-theme="samonokta"] .mt-nav-card,
html[data-theme="samonokta"] .mt-panthéon,
html[data-theme="samonokta"] .mt-modal__content,
html[data-theme="samonokta"] .mt-search-form__input {
    background: var(--ev-surface);
    border-color: rgba(123,63,228, .28);
    color: var(--ev-ink);
}
html[data-theme="samonokta"] .mt-post__divider,
html[data-theme="samonokta"] .mt-post__actions,
html[data-theme="samonokta"] .mt-composer__divider,
html[data-theme="samonokta"] .mt-post__comments { border-color: rgba(123,63,228, .22); }
html[data-theme="samonokta"] .mt-post__content,
html[data-theme="samonokta"] .mt-composer__textarea,
html[data-theme="samonokta"] .mt-side-user__name,
html[data-theme="samonokta"] .mt-search-form__input { color: var(--ev-ink); }
html[data-theme="samonokta"] .mt-post__time,
html[data-theme="samonokta"] .mt-post__handle,
html[data-theme="samonokta"] .mt-side-user__followers,
html[data-theme="samonokta"] .mt-composer__counter { color: var(--ev-muted); }
html[data-theme="samonokta"] .mt-nav__link { color: var(--ev-muted); }
html[data-theme="samonokta"] .mt-nav__link.active,
html[data-theme="samonokta"] .mt-nav__link:hover,
html[data-theme="samonokta"] .mt-nav-link.is-active,
html[data-theme="samonokta"] .mt-nav-link:hover { background: rgba(123,63,228, .12); color: var(--ev-acc); }
html[data-theme="samonokta"] .mt-side-card__title { color: var(--ev-acc); }
html[data-theme="samonokta"] .mt-composer__input,
html[data-theme="samonokta"] .mt-comment-form input,
html[data-theme="samonokta"] .mt-comment { background: var(--ev-surface2); color: var(--ev-ink); }
html[data-theme="samonokta"] .mt-composer__input::placeholder,
html[data-theme="samonokta"] .mt-comment-form input::placeholder { color: var(--ev-muted); }
html[data-theme="samonokta"] .mt-composer__submit,
html[data-theme="samonokta"] .mt-comment-form button,
html[data-theme="samonokta"] .mt-btn--violet {
    background: linear-gradient(135deg,#7b3fe4,#4a2d66 60%,#0a0612);
    color: #f4f0fb;
    border-radius: 6px;
}
html[data-theme="samonokta"] .mt-btn,
html[data-theme="samonokta"] .mt-follow-btn,
html[data-theme="samonokta"] .mt-action-btn { border-radius: 6px; }
html[data-theme="samonokta"] .mt-action-btn { color: var(--ev-muted); }
html[data-theme="samonokta"] .mt-action-btn:hover { background: rgba(123,63,228, .10); color: var(--ev-acc); }
/* Overlays : on garde un voile sombre pour la lisibilité des photos */
html[data-theme="samonokta"] .mt-story-viewer,
html[data-theme="samonokta"] .mt-modal { background: rgba(10, 6, 10, .86); }
html[data-theme="samonokta"] .mt-modal__nav { background: rgba(123,63,228, .35); }
html[data-theme="samonokta"] .mt-modal__nav:hover { background: rgba(123,63,228, .6); }
html[data-theme="samonokta"] .mt-skeleton {
    background: linear-gradient(90deg, var(--ev-surface2) 25%, var(--ev-surface) 50%, var(--ev-surface2) 75%);
    background-size: 200% 100%;
}

/* ── 2. Sang-Satō — fiches, filtres, héros, modales ───────────────────────── */
html[data-theme="samonokta"] .ss-p-card {
    background: var(--ev-surface);
    border-color: var(--ev-border);
    border-radius: 6px;
}
html[data-theme="samonokta"] .ss-p-card:hover { border-color: var(--ev-acc); box-shadow: 0 6px 24px rgba(123,63,228, .22); }
html[data-theme="samonokta"] .ss-p-card__img {
    background: var(--ev-deep);
    background-image: radial-gradient(circle at 30% 20%, rgba(123,63,228, .14), transparent 60%);
}
html[data-theme="samonokta"] .ss-p-card__img::after { color: var(--ev-dim); }
html[data-theme="samonokta"] .ss-p-card__body { background: linear-gradient(to top, var(--ev-surface) 0%, var(--ev-surface) 62%, transparent); }
html[data-theme="samonokta"] .ss-p-card__cat { color: var(--ev-acc-l); }
html[data-theme="samonokta"] .ss-p-card__nom { color: var(--ev-ink); }
html[data-theme="samonokta"] .ss-p-card__sub { color: var(--ev-muted); }
html[data-theme="samonokta"] .ss-cat-btn { border-radius: 6px; }
html[data-theme="samonokta"] .ss-cat-btn:hover { border-color: var(--ev-acc); }
html[data-theme="samonokta"] .ss-cat-btn.is-active { background: linear-gradient(135deg,#7b3fe4,#4a2d66 60%,#0a0612); border-color: transparent; color: #f4f0fb; }
html[data-theme="samonokta"] .ss-nav-card { border-radius: 6px; }
html[data-theme="samonokta"] .ss-nav-card:hover { border-color: var(--ev-acc); }
html[data-theme="samonokta"] .ss-nav-card__full-badge {
    color: var(--ev-acc);
    background: rgba(123,63,228, .12);
    border-color: rgba(123,63,228, .3);
}
html[data-theme="samonokta"] .ss-hero { background: linear-gradient(to bottom, rgba(123,63,228, .12), transparent); border-bottom-color: rgba(123,63,228, .2); }
html[data-theme="samonokta"] .ss-hero p,
html[data-theme="samonokta"] .ss-back-link { color: var(--ev-muted); }
html[data-theme="samonokta"] .ss-back-link { border-radius: 6px; }
html[data-theme="samonokta"] .ss-back-link:hover { background: rgba(123,63,228, .10); border-color: var(--ev-acc); color: var(--ev-acc); }
html[data-theme="samonokta"] .ss-dialog { border-radius: 6px; }
html[data-theme="samonokta"] .ss-dialog::backdrop { background: rgba(123,63,228, .3); }
html[data-theme="samonokta"] .ss-dialog-header { background: linear-gradient(135deg, var(--ac-card), rgba(123,63,228, .12)); }
html[data-theme="samonokta"] .ss-dialog-body h3,
html[data-theme="samonokta"] .ss-dialog-body blockquote { color: var(--ev-acc-l); }
html[data-theme="samonokta"] .ss-dialog-body { scrollbar-color: var(--ev-acc) transparent; }
html[data-theme="samonokta"] .ss-dialog-body::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, var(--ev-acc), var(--ev-acc-l));
    background-clip: padding-box;
}

/* ── 3. Sang-Satō — calendrier (la page de la fête elle-même) ─────────────── */
html[data-theme="samonokta"] .ss-month-card,
html[data-theme="samonokta"] .ss-season-card,
html[data-theme="samonokta"] .ss-fete-card,
html[data-theme="samonokta"] .ss-converter { border-radius: 6px; border-color: var(--ev-border); }
html[data-theme="samonokta"] .ss-converter-result { background: var(--ev-deep); border-color: var(--ev-border); color: var(--ev-ink); }
html[data-theme="samonokta"] .ss-month-card__pron,
html[data-theme="samonokta"] .ss-fete-pos { color: var(--ev-muted); }
html[data-theme="samonokta"] .ss-conv-zodiac { border-top-color: var(--ev-border); }
html[data-theme="samonokta"] .ss-fete-header:hover { background: rgba(123,63,228, .08); }
html[data-theme="samonokta"] .ss-fete-body blockquote { border-left-color: var(--ev-acc); color: var(--ev-acc-l); }
/* La fête en cours se distingue des sept autres dans la liste */
html[data-theme="samonokta"] .ss-fete-card[data-fete="samonokta"] {
    border-color: var(--ev-acc);
    box-shadow: 0 0 0 1px rgba(123,63,228, .35), 0 10px 28px rgba(123,63,228, .22);
}

/* ── 4. Sang-Satō — manuscrits (.ms-*) ───────────────────────────────────── */
html[data-theme="samonokta"] .ms-card { background: var(--ev-surface); border-color: var(--ev-border); border-radius: 6px; }
html[data-theme="samonokta"] .ms-card:hover { border-color: var(--ev-acc); box-shadow: 0 6px 24px rgba(123,63,228, .22); }
html[data-theme="samonokta"] .ms-cover {
    background: var(--ev-deep);
    background-image: radial-gradient(circle at 30% 20%, rgba(123,63,228, .2), transparent 60%);
}
html[data-theme="samonokta"] .ms-serie { color: var(--ev-acc-l); }
html[data-theme="samonokta"] .ms-titre { color: var(--ev-ink); }
html[data-theme="samonokta"] .ms-sous-titre,
html[data-theme="samonokta"] .ms-synopsis { color: var(--ev-muted); }
html[data-theme="samonokta"] .ms-progress-label,
html[data-theme="samonokta"] .ms-meta { color: var(--ev-dim); }
html[data-theme="samonokta"] .ms-progress-bar { background: var(--ev-deep); border-color: var(--ev-border); }
html[data-theme="samonokta"] .ms-progress-fill { background: linear-gradient(90deg, var(--ev-acc-l), var(--ev-acc)); }

/* ── 5. Atelier (privé, mais autant qu'il suive) ──────────────────────────── */
html[data-theme="samonokta"] {
    --at-bg:         var(--ac-bg);
    --at-bg2:        var(--ac-bg2);
    --at-bg3:        #241634;
    --at-card:       #1c1228;
    --at-border:     #3a2350;
    --at-purple:     #7b3fe4;
    --at-purple-lt:  #5ecbc8;
    --at-gold:       var(--ac-accent2);
    --at-gold-lt:    var(--ac-warning);
    --at-text:       #e8dcf0;
    --at-text-muted: #9b84ad;
    --at-text-dim:   #7a6690;
    --at-shadow:     0 4px 24px rgba(123,63,228, .2);
    --at-glow:       0 0 20px rgba(123,63,228, .22);
}

/* ── 6. Boutique, admin, arcade — texte sur fond accentué ─────────────────── */
html[data-theme="samonokta"] .shop-price-tag,
html[data-theme="samonokta"] .adm-btn-gold,
html[data-theme="samonokta"] .adm-filter-btn.active,
html[data-theme="samonokta"] .adm-page-link.active { color: var(--ac-on-accent); }
html[data-theme="samonokta"] .shop-card,
html[data-theme="samonokta"] .adm-card { border-radius: 6px; }

/* Le Marché Noir garde son ambiance rouge/noire : zone « interdite »,
   le contraste fait partie du décor. */

@media (prefers-reduced-motion: reduce) {
    html[data-theme="samonokta"] .hero-title,
    html[data-theme="samonokta"] .hero-section::before,
    html[data-theme="samonokta"] .hero-section::after,
    html[data-theme="samonokta"] body::after,
    html[data-theme="samonokta"] .ms-live-dot::before { animation: none !important; }
}
