/* ════════════════════════════════════════════════════════════════════════════
   CONSTELLA · Astrolabe — couche « instrument » par-dessus constella-home.css
   (refonte DA 2026-10-01). Chargé APRÈS constella-home.css : n'ajoute que de la
   présentation. Aucune règle ne s'applique hors `.cs-*` / `#cs-*` / entête CONSTELLA.
   Profondeur : N1 fond nuit · N2 #cs-ambient (étoiles + orbites, CSS pur) · N3 interfaces.
   Mouvement : interactions 300–800 ms · ambiance 8–360 s · jamais d'animation rapide.
   ════════════════════════════════════════════════════════════════════════════ */

@keyframes csSpin{to{transform:rotate(360deg)}}
@keyframes csRot{to{rotate:360deg}}
@keyframes csRing{0%{transform:scale(.55);opacity:.9}100%{transform:scale(2.3);opacity:0}}
@keyframes csTw{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes csDrift{to{transform:translate3d(-380px,-380px,0)}}
@keyframes csIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── NIVEAU 2 : calque ambiant fixe (derrière le contenu) ── */
#cs-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cs-amb-stars{position:absolute;left:0;top:0;width:calc(100% + 380px);height:calc(100% + 380px);opacity:.55;
  background-size:380px 380px;animation:csDrift 220s linear infinite;will-change:transform;
  background-image:
    radial-gradient(1px 1px at 12% 18%,rgba(242,214,117,.9),transparent),radial-gradient(1.2px 1.2px at 71% 9%,rgba(180,200,255,.8),transparent),
    radial-gradient(1px 1px at 38% 52%,rgba(255,255,255,.7),transparent),radial-gradient(1.4px 1.4px at 88% 63%,rgba(242,214,117,.7),transparent),
    radial-gradient(1px 1px at 22% 84%,rgba(140,232,246,.7),transparent),radial-gradient(1px 1px at 59% 91%,rgba(255,255,255,.6),transparent)}
.cs-amb-stars.b{opacity:.35;background-size:520px 520px;animation-duration:360s;animation-direction:reverse;
  background-image:
    radial-gradient(1.3px 1.3px at 30% 22%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 80% 40%,rgba(242,214,117,.8),transparent),
    radial-gradient(1px 1px at 55% 78%,rgba(140,232,246,.7),transparent),radial-gradient(1.2px 1.2px at 10% 66%,rgba(180,200,255,.7),transparent)}
.cs-amb-orb{position:absolute;left:50%;top:50%;width:150vmax;height:150vmax;translate:-50% -50%;opacity:.06;animation:csRot 420s linear infinite}
.cs-home-on #cs-home,.cs-home-on #cs-mycal,.cs-home-on #cs-explore,.cs-home-on #cs-understand{position:relative;z-index:1}

/* ── HERO : instrument astronomique ── */
#hdr-orbits{width:min(940px,132vw);height:min(940px,132vw);top:40%;opacity:.7}
#hdr-orbits .hdr-orb{transform-origin:300px 300px}
#hdr-orbits .hdr-orb-a{animation:csSpin 110s linear infinite}
#hdr-orbits .hdr-orb-b{animation:csSpin 170s linear infinite reverse}
#hdr-orbits .hdr-orb-c{animation:csSpin 300s linear infinite}
#hdr-orbits .hdr-orb-d{stroke:rgba(102,217,239,.4);stroke-dasharray:1 6}
#hdr-orbits .hdr-orb-c{stroke:rgba(102,217,239,.5)}
#hdr-orbits .hdr-orb-dot{fill:#F2D675;stroke:none}
#hdr-orbits .hdr-orb-dotc{fill:#8CE8F6;stroke:none}
#hdr-orbits .hdr-orb-geo{fill:none;stroke:rgba(217,179,76,.22);stroke-width:.8}
.hdr-tagline{font-size:clamp(10.5px,2.7vw,14px)!important;letter-spacing:clamp(1.5px,.7vw,5px)!important;color:rgba(140,232,246,.8)!important;
  font-family:'Cinzel',serif;font-weight:400!important;text-shadow:none!important;margin-top:14px!important;line-height:1.7}
.hdr-tagline i{font-style:normal;color:#D9B34C;margin:0 .35em}
@media (min-width:900px){ header h1{font-size:104px!important;letter-spacing:30px!important} }

/* ── structure : une vraie largeur d'instrument sur desktop ── */
.cs-home-on #cs-home{max-width:1320px}
.cs-sec-wrap{max-width:1320px}
.cs-home-on #cal-explain{max-width:900px}
.cs-sec-h{max-width:900px}
.cs-sec-h h2{font-size:clamp(22px,4.6vw,34px);letter-spacing:clamp(1.5px,.6vw,4px);margin:10px 0 8px}
.cs-sec-h p{max-width:620px;margin:0 auto;font-size:17px}
.cs-kick{font-size:12px;letter-spacing:4.5px;color:var(--cs-gold)}
.cs-rv-on .cs-rv{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.cs-rv-on .cs-rv.cs-in{opacity:1;transform:none}

/* ── 1 · MAINTENANT : composition orbitale ── */
#cs-now{padding-top:22px}
.cs-now-hero{display:flex;align-items:center;gap:clamp(14px,3vw,30px);margin:8px 0 12px}
.cs-now-orb{position:relative;flex:none;width:clamp(132px,36vw,236px);aspect-ratio:1}
.cs-orb{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cs-orb-spin{animation:csSpin 120s linear infinite;transform-origin:200px 200px}
.cs-orb-pulse{animation:csRing 4.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
.cs-home-on .cs-now-day{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;margin:0}
.cs-home-on .cs-now-day b{font-size:clamp(50px,13.5vw,98px);line-height:.95;letter-spacing:-1px}
.cs-home-on .cs-now-day span{font-size:clamp(12px,3.2vw,16px);letter-spacing:3px;margin-top:2px;color:var(--cs-cy)}
.cs-now-holy-star{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cs-now-meta{flex:1}
.cs-now-month{font-size:clamp(20px,5vw,34px);letter-spacing:3px}
.cs-now-month i{color:var(--cs-gold);letter-spacing:2.5px;font-size:.52em;margin-top:5px}
.cs-now-sub{font-family:var(--cs-sans);font-size:15.5px;margin-top:10px}
.cs-now-rail-wrap .cs-rail{margin:14px 0 22px}
.cs-now-rail-wrap .cs-rail-seg em{font-family:var(--cs-sans);font-size:11.5px}
.cs-now-grid{display:grid;grid-template-columns:1fr;gap:0 24px;margin-top:6px}
@media (min-width:560px){ .cs-now-grid{grid-template-columns:1fr 1fr} .cs-ro-sun{grid-column:1/-1} }
/* « readouts » : des lignes et des repères, pas des cartes */
.cs-ro{display:flex;align-items:center;gap:14px;padding:15px 2px 14px;border-top:1px solid rgba(102,217,239,.2);position:relative}
.cs-ro::before{content:"";position:absolute;left:0;top:-1px;width:26px;height:1px;background:var(--cs-gold)}
.cs-ro-ic{width:42px;height:42px;flex:none}
.cs-ro-sym{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--c,var(--cs-gold));border:1px solid color-mix(in srgb,var(--c,#D9B34C) 50%,transparent);box-shadow:inset 0 0 14px color-mix(in srgb,var(--c,#D9B34C) 18%,transparent)}
.cs-ro-l{display:block;font-family:'Cinzel',serif;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--cs-cy);margin-bottom:3px}
.cs-ro b{display:block;font-family:'Cinzel',serif;font-weight:600;font-size:18px;letter-spacing:.6px;color:var(--cs-ink);line-height:1.25}
.cs-ro small{display:block;font-family:var(--cs-sans);font-size:14px;color:var(--cs-dim);margin-top:3px}
.cs-ro-sun{display:block;order:3}
.cs-ro-sun .cs-sun-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.cs-ro-sun .cs-sun-row b{font-size:clamp(20px,5vw,26px);color:var(--cs-gold-l);font-variant-numeric:tabular-nums}
.cs-repere{font-family:var(--cs-sans);font-size:15px;text-align:left;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(217,179,76,.22)}

/* ── 2 · CADRAN : l'objet signature ── */
.cs-dial-wrap{width:min(100%,560px)}
.cs-dial-glow{background:radial-gradient(circle,rgba(121,103,200,.3) 0%,rgba(40,50,130,.14) 44%,transparent 70%)}
.cs-d-ticks{animation:csSpin 360s linear infinite;transform-origin:200px 200px}
.cs-d-orbit{animation:csSpin 150s linear infinite;transform-origin:200px 200px}
.cs-d-pulse{animation:csRing 4.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
.cs-d-cstep{font-family:'Cinzel',serif;font-weight:600;font-size:8.5px;letter-spacing:2px}
.cs-d-cbig{fill:var(--cs-gold-l);filter:drop-shadow(0 0 10px rgba(242,214,117,.45))}
.cs-dial-legend{font-family:var(--cs-sans);font-size:13.5px}
.cs-dial-readout{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-top:10px;padding-top:12px;border-top:1px solid rgba(102,217,239,.16);
  font-family:var(--cs-sans);font-size:13.5px;letter-spacing:.5px;color:var(--cs-cy-l);max-width:420px;margin-left:auto;margin-right:auto}
.cs-dial-readout b{color:var(--cs-gold-l);font-weight:600}

/* ── 3 · SIGNAL DU JOUR ── */
#cs-today{padding-top:26px}
.cs-sig-head{display:flex;align-items:center;gap:clamp(14px,3vw,24px);margin:14px 0 4px}
.cs-sig-day{flex:none;display:flex;align-items:baseline;gap:6px;padding-right:clamp(14px,3vw,24px);border-right:1px solid rgba(217,179,76,.3)}
.cs-sig-day b{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(56px,15vw,84px);line-height:.9;color:var(--cs-gold-l);text-shadow:0 0 28px rgba(217,179,76,.35)}
.cs-sig-day b.holy{font-size:52px}
.cs-sig-day span{font-family:'Cinzel',serif;font-size:15px;color:var(--cs-faint)}
.cs-sig-ph .cs-today-h{font-size:clamp(17px,4.2vw,22px);margin:0 0 4px}
.cs-sig-moon{font-family:var(--cs-sans);font-size:16px;color:var(--cs-cy-l);margin-bottom:6px}
.cs-sig-ph .cs-step-line{font-family:var(--cs-sans);font-size:15px}
.cs-intent{font-size:clamp(19px,4.6vw,23px);margin:16px 0 14px}
.cs-sig-btns{display:flex;gap:8px;flex-wrap:wrap}
.cs-sig-b{flex:1 1 0;min-width:96px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 14px;border-radius:26px;cursor:pointer;
  font-family:'Cinzel',serif;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cs-ink);
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);transition:border-color .4s,background .4s,box-shadow .5s,transform .3s;-webkit-tap-highlight-color:transparent}
.cs-sig-b span{color:var(--cs-gold);font-size:15px}
.cs-sig-b:hover{border-color:rgba(242,214,117,.5)}
.cs-sig-b:active{transform:scale(.97);background:rgba(217,179,76,.12)}
.cs-sig-b.on{border-color:var(--cs-gold-l);color:var(--cs-gold-l);background:linear-gradient(135deg,rgba(217,179,76,.22),rgba(217,179,76,.06));box-shadow:0 0 22px rgba(217,179,76,.2)}
.cs-sig-panel{margin-top:10px;padding:14px 18px 16px;border-left:2px solid var(--cs-gold);background:linear-gradient(90deg,rgba(217,179,76,.08),transparent);animation:csIn .45s ease}
.cs-sig-panel[hidden]{display:none}
.cs-sig-pl{font-family:'Cinzel',serif;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--cs-cy)}
.cs-sig-panel p{margin:6px 0 0;font-family:var(--cs-sans);font-size:16.5px;line-height:1.6;color:var(--cs-ink)}
.cs-row-l{font-size:11.5px}
.cs-row-tx > b,.cs-row-tx small{font-family:var(--cs-sans);font-size:16.5px}
.cs-row-tx small{font-size:14.5px}
.cs-quest{background:radial-gradient(120% 90% at 50% 0%,rgba(217,179,76,.16),transparent 70%),var(--cs-glass)}

/* ── 4 · LES QUATRE PORTAILS ── */
#cs-tools{padding-top:8px}
#cs-tools .cs-sec-h{padding-top:48px}
.cs-fam-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.cs-fam{--h:var(--cs-gold);position:relative;overflow:hidden;isolation:isolate;align-items:center;justify-content:flex-start;text-align:center;gap:6px;
  min-height:270px;padding:46px 14px 18px;border-radius:999px 999px 22px 22px;
  background:linear-gradient(180deg,rgba(121,103,200,.14),rgba(8,5,29,.62) 62%);border:1px solid color-mix(in srgb,var(--h) 30%,transparent);
  transition:border-color .5s,box-shadow .6s,transform .4s,background .6s}
.cs-fam.fam-ciel{--h:var(--cs-cy)}
.cs-fam.fam-terre{--h:#84d7ad}
.cs-fam.fam-quetes{--h:#b9a8ff}
.cs-fam::before{content:"";position:absolute;inset:7px;border-radius:999px 999px 16px 16px;border:1px solid color-mix(in srgb,var(--h) 16%,transparent);pointer-events:none;z-index:-1}
.cs-fam-arch{position:absolute;inset:0;z-index:-2;opacity:0;transition:opacity .7s ease;
  background:radial-gradient(90% 70% at 50% 100%,color-mix(in srgb,var(--h) 28%,transparent),transparent 70%),radial-gradient(60% 40% at 50% 0%,color-mix(in srgb,var(--h) 14%,transparent),transparent 70%)}
.cs-fam:hover .cs-fam-arch,.cs-fam:focus-visible .cs-fam-arch,.cs-fam.on .cs-fam-arch{opacity:1}
.cs-fam:hover,.cs-fam:focus-visible{border-color:color-mix(in srgb,var(--h) 70%,transparent);transform:translateY(-3px)}
.cs-fam.on{border-color:var(--h);box-shadow:0 0 34px color-mix(in srgb,var(--h) 22%,transparent),inset 0 0 40px color-mix(in srgb,var(--h) 8%,transparent)}
.cs-fam-ic{width:64px;height:64px;color:var(--h);margin:0 0 4px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--h) 45%,transparent))}
.cs-fam-t{font-size:18px;letter-spacing:5px;color:var(--cs-ink);padding-left:5px}
.cs-fam-p{font-family:var(--cs-sans);font-size:14px;line-height:1.4;color:var(--cs-dim);max-width:200px}
.cs-fam-peek{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .6s ease;margin-top:2px;max-width:230px}
.cs-fam-peek i{font-style:normal;font-family:var(--cs-sans);font-size:12.5px;color:color-mix(in srgb,var(--h) 80%,#fff)}
.cs-fam:hover .cs-fam-peek,.cs-fam:focus-visible .cs-fam-peek,.cs-fam.on .cs-fam-peek{max-height:110px;opacity:1}
@media (hover:none){ .cs-fam:hover .cs-fam-peek{max-height:0;opacity:0} .cs-fam.on .cs-fam-peek{max-height:110px;opacity:1} .cs-fam:hover{transform:none} }
.cs-fam-go{margin-top:auto;padding-top:8px;font-family:'Cinzel',serif;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--h)}
.cs-fam-go::after{content:" ›";letter-spacing:0}
.cs-fam:active{transform:scale(.985);background:linear-gradient(180deg,color-mix(in srgb,var(--h) 18%,transparent),rgba(8,5,29,.62) 62%)}
/* petites animations des sceaux (lentes) */
.cs-fam .sg-h1{animation:csSpin 90s linear infinite;transform-origin:40px 40px}
.cs-fam .sg-h2{animation:csSpin 900s linear infinite;transform-origin:40px 40px}
.cs-fam .sg-tw{animation:csTw 7s ease-in-out infinite}
.cs-fam .sg-tw2{animation-delay:-2.3s}.cs-fam .sg-tw3{animation-delay:-4.6s}
.cs-fam .sg-orb{animation:csSpin 45s linear infinite;transform-origin:40px 40px}
.cs-fam .sg-ring{animation:csRing 6s ease-out infinite;transform-box:fill-box;transform-origin:center}
.cs-fam-panel{margin-top:14px;padding:8px;border-radius:22px;background:rgba(5,3,21,.6);border:1px solid color-mix(in srgb,var(--h,#D9B34C) 22%,rgba(255,255,255,.06));animation:csIn .45s ease}
.cs-fam-panel.fam-ciel{--h:var(--cs-cy)}.cs-fam-panel.fam-terre{--h:#84d7ad}.cs-fam-panel.fam-quetes{--h:#b9a8ff}.cs-fam-panel.fam-temps{--h:var(--cs-gold)}
.cs-tool-ic{color:var(--h,var(--cs-gold-l));background:color-mix(in srgb,var(--h,#D9B34C) 12%,transparent);border-color:color-mix(in srgb,var(--h,#D9B34C) 35%,transparent)}
.cs-tool-tx b{font-size:15px}
.cs-tool-tx small{font-family:var(--cs-sans);font-size:14px}
#cs-stage{max-width:1240px}

/* ── 5 · MON CALENDRIER : agenda céleste ── */
#cs-cal-up{max-width:860px;padding-bottom:18px}
.cs-next{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px 22px;align-items:center;padding:22px 24px;border-radius:22px;overflow:hidden;
  border:1px solid rgba(217,179,76,.3);border-left:3px solid var(--c,#D9B34C);
  background:radial-gradient(90% 140% at 100% 0%,rgba(217,179,76,.14),transparent 60%),var(--cs-glass)}
.cs-next .cs-kick::before,.cs-next .cs-kick::after{display:none}
.cs-next-t{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(20px,5vw,30px);letter-spacing:1px;line-height:1.2;color:var(--cs-ink);margin:8px 0 6px}
.cs-next-when{display:flex;align-items:center;gap:10px;font-family:var(--cs-sans);font-size:16.5px;color:var(--cs-dim);flex-wrap:wrap}
.cs-next-when i{font-style:normal;color:var(--cs-gold)}
.cs-next-cd{text-align:center;padding-left:22px;border-left:1px solid rgba(217,179,76,.25)}
.cs-next-cd b{display:block;font-family:'Cinzel',serif;font-weight:700;font-size:clamp(22px,5.4vw,32px);color:var(--cs-gold-l);line-height:1.1;white-space:nowrap}
.cs-next-cd small{display:block;font-family:var(--cs-sans);font-size:13px;color:var(--cs-cy);margin-top:4px}
.cs-next.empty{grid-template-columns:1fr}
.cs-up-list{margin-top:6px}
.cs-up-t{font-size:17px}
.cs-up-act{padding:14px 0 6px}
@media (max-width:520px){ .cs-next{grid-template-columns:1fr;padding:20px 18px} .cs-next-cd{padding:12px 0 0;border-left:0;border-top:1px solid rgba(217,179,76,.25);display:flex;align-items:baseline;gap:12px;justify-content:flex-start;text-align:left} }

/* roue annuelle encadrée par ses informations */
#cs-wheel-grid{display:grid;grid-template-columns:1fr;gap:18px;max-width:1320px;margin:0 auto;padding:0 18px}
#cs-wheel-c{min-width:0;max-width:780px;width:100%;margin:0 auto}
#cs-wheel-l,#cs-wheel-r{display:none}
.cs-home-on #cs-wheel-l,.cs-home-on #cs-wheel-r{display:block;padding:4px 0 4px 18px;border-left:1px solid rgba(217,179,76,.28);align-self:center;max-width:460px;width:100%;margin:0 auto}
.cs-home-on #cs-wheel-c{order:-1}
@media (min-width:640px) and (max-width:1099px){
  #cs-wheel-grid{grid-template-columns:1fr 1fr}
  #cs-wheel-c{grid-column:1/-1}
}
@media (min-width:1100px){
  #cs-wheel-grid{grid-template-columns:minmax(230px,1fr) minmax(0,740px) minmax(230px,1fr);gap:34px;padding:0 28px;align-items:center}
  .cs-home-on #cs-wheel-c{order:0}
  .cs-home-on #cs-wheel-l{border-left:0;border-right:1px solid rgba(217,179,76,.28);padding:4px 20px 4px 0;text-align:right;margin:0 0 0 auto}
  .cs-home-on #cs-wheel-l .cs-wh-list li,.cs-home-on #cs-wheel-l .cs-wh-seas{flex-direction:row-reverse;text-align:right}
}
.cs-wh-t{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(20px,3vw,26px);letter-spacing:1.5px;color:var(--cs-ink);margin:12px 0 6px;line-height:1.2}
.cs-wh-t i{font-style:normal;font-size:.62em;color:var(--cs-gold);letter-spacing:2px}
.cs-wh-p{font-family:var(--cs-sans);font-size:15px;line-height:1.55;color:var(--cs-dim);margin:0 0 14px}
.cs-wh-p b{color:var(--cs-gold-l)}
.cs-wh-h{font-family:'Cinzel',serif;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:var(--cs-cy);margin:18px 0 6px}
.cs-wh-list{list-style:none;margin:0;padding:0}
.cs-wh-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07);font-family:var(--cs-sans);font-size:15px;color:var(--cs-ink);line-height:1.4}
.cs-wh-list li > span{flex:none;width:28px;text-align:center;font-size:18px;color:var(--cs-gold)}
.cs-wh-list em{font-style:normal;color:var(--cs-cy)}
.cs-wh-list small{display:block;font-size:13px;color:var(--cs-dim)}
.cs-wh-seas{display:flex;align-items:center;gap:12px;color:var(--c)}
.cs-wh-seas > span{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;border:1px solid color-mix(in srgb,var(--c) 55%,transparent)}
.cs-wh-seas b{display:block;font-family:'Cinzel',serif;font-size:16px;letter-spacing:1.5px;color:var(--cs-ink)}
.cs-wh-seas small{font-family:var(--cs-sans);font-size:13.5px;color:var(--cs-dim)}
.cs-wh-big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cs-wh-big b{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(46px,6vw,64px);line-height:1;color:var(--cs-gold-l);text-shadow:0 0 24px rgba(217,179,76,.3)}
.cs-wh-big span{font-family:'Cinzel',serif;font-size:16px;color:var(--cs-faint)}
.cs-wh-big em{margin-left:auto;font-style:normal;font-family:var(--cs-sans);font-size:15px;color:var(--cs-cy)}
.cs-wh-year{display:flex;gap:4px;margin:10px 0 16px}
.cs-wh-year span{position:relative;flex:1;height:6px;border-radius:4px;background:rgba(255,255,255,.08)}
.cs-wh-year span i{position:absolute;left:0;top:0;bottom:0;width:var(--f);border-radius:4px;background:var(--c);opacity:.75}
.cs-wh-year span.on i{opacity:1;box-shadow:0 0 10px var(--c)}
.cs-wh-seasons li{opacity:.6}.cs-wh-seasons li.on{opacity:1}
.cs-wh-seasons li > span{color:var(--c)}

/* ── 6 · OBSERVATOIRE ── */
#cs-explore{max-width:1180px;padding-bottom:26px}
.cs-obs-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;margin:0 auto 22px;padding:5px;border-radius:999px;background:rgba(5,3,21,.7);border:1px solid rgba(217,179,76,.22)}
.cs-obs-tab{min-height:48px;display:flex;align-items:center;gap:9px;padding:0 clamp(16px,4vw,30px);border:0;border-radius:999px;cursor:pointer;background:none;color:var(--cs-dim);
  font-family:'Cinzel',serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;transition:background .5s,color .4s,box-shadow .5s;-webkit-tap-highlight-color:transparent}
.cs-obs-tab span{font-size:16px}
.cs-obs-tab:hover{color:var(--cs-ink)}
.cs-obs-tab.on{color:#241a05;background:linear-gradient(135deg,#F2D675,#D9B34C);box-shadow:0 0 22px rgba(217,179,76,.35)}
.cs-obs-panel{position:relative;padding:clamp(20px,4vw,34px);border-radius:26px;animation:csIn .55s ease;
  border:1px solid rgba(102,217,239,.16);background:radial-gradient(70% 90% at 0% 0%,rgba(102,217,239,.09),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgba(121,103,200,.12),transparent 60%),rgba(8,5,29,.55)}
.cs-obs-panel[hidden]{display:none}
.cs-obs-panel::before,.cs-obs-panel::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--cs-gold);opacity:.7;pointer-events:none}
.cs-obs-panel::before{left:12px;top:12px;border-right:0;border-bottom:0}
.cs-obs-panel::after{right:12px;bottom:12px;border-left:0;border-top:0}
.cs-obs-grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
@media (min-width:820px){ .cs-obs-grid{grid-template-columns:minmax(240px,.75fr) 1.5fr;gap:44px} .cs-obs-vis{padding-right:36px;border-right:1px solid rgba(255,255,255,.08)} }
.cs-obs-vis{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.cs-obs-vis svg{width:min(190px,56vw);height:auto;overflow:visible}
.cs-obs-vis b{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(20px,3vw,24px);letter-spacing:1.2px;color:var(--cs-gold-l);line-height:1.25}
.cs-obs-vis small{font-family:var(--cs-sans);font-size:14.5px;color:var(--cs-dim)}
.cs-obs-earth b{font-size:clamp(28px,5vw,38px)}
.cs-rec-ic{font-size:44px;line-height:1;filter:drop-shadow(0 0 14px rgba(242,214,117,.35))}
.cs-rec-l{font-family:'Cinzel',serif!important;font-size:11.5px!important;letter-spacing:3px;text-transform:uppercase;color:var(--cs-cy)!important}
.cs-obs-h{font-family:'Cinzel',serif;font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:var(--cs-cy);margin-bottom:10px}
.cs-ev{list-style:none;margin:0 0 18px;padding:0}
.cs-ev li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}
.cs-ev li:first-child{border-top:0}
.cs-ev-g{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--cs-cy-l);border:1px solid rgba(102,217,239,.35)}
.cs-ev b{display:block;font-family:'Cinzel',serif;font-weight:600;font-size:16px;letter-spacing:1px;color:var(--cs-ink)}
.cs-ev small{display:block;font-family:var(--cs-sans);font-size:14px;color:var(--cs-dim)}
.cs-obs-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cs-obs-act .cs-cta{flex:1 1 150px;padding:0 16px}
.cs-pulse-r{animation:csRing 7s ease-out infinite;transform-box:fill-box;transform-origin:center;opacity:0}
.cs-pulse-r2{animation-delay:-3.5s}
.cs-obs-panel .cs-nat{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cs-obs-panel .cs-nat-t{background:none;border-radius:0;border-left-width:2px;padding:6px 0 6px 14px}
.cs-obs-panel .cs-nat-t small{font-family:var(--cs-sans);font-size:14.5px}
.cs-obs-panel .cs-earth-grid{margin-bottom:6px}
.cs-obs-panel .cs-earth-grid b{font-size:20px}

/* ── 7 · COMPRENDRE : accordéons fins ── */
.cs-accs{max-width:860px;margin:0 auto;padding:0 18px}
.cs-acc{border-top:1px solid rgba(217,179,76,.16)}
.cs-acc:last-child{border-bottom:1px solid rgba(217,179,76,.16)}
.cs-acc > summary{min-height:72px;gap:18px;transition:background .4s}
.cs-acc > summary:hover .cs-acc-t{color:var(--cs-gold-l)}
.cs-acc-n{width:auto;height:auto;border:0;border-radius:0;justify-content:flex-start;min-width:34px;font-size:15px;letter-spacing:2px;color:var(--cs-gold)}
.cs-acc-n::before{content:"0"}
.cs-acc-t{font-size:clamp(15px,3.6vw,19px);letter-spacing:1.6px}
.cs-acc[open]{background:linear-gradient(90deg,rgba(217,179,76,.05),transparent 60%);border-left:2px solid var(--cs-gold);margin-left:-2px}
.cs-acc[open] > summary{padding-left:14px}
.cs-acc-b.cal-x-block{padding:4px 12px 30px 62px;max-width:760px;line-height:1.75;animation:csIn .55s ease}
@media (max-width:600px){ .cs-acc-b.cal-x-block{padding-left:14px;padding-right:6px} }

/* ── mobile : vraie composition, pas une réduction du desktop ── */
@media (max-width:700px){
  .cs-sec{padding:0 16px}
  .cs-now-hero{gap:14px}
  .cs-now-orb{width:clamp(124px,34vw,150px)}
  .cs-now-month{letter-spacing:1.5px}
  .cs-now-sub{font-size:14.5px;margin-top:6px}
  #cs-dial{padding-left:6px;padding-right:6px}
  .cs-dial-wrap{width:100%}
  .cs-fam{min-height:236px;padding-top:40px}
  .cs-fam-ic{width:54px;height:54px}
  .cs-fam-t{font-size:16px;letter-spacing:4px}
  .cs-obs-tab{flex:1;justify-content:center;padding:0 10px;letter-spacing:2px}
  .cs-obs-tabs{width:100%}
}

/* ── grand écran ── */
@media (min-width:980px){
  .cs-home-on #cs-home{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);column-gap:56px;padding:0 32px 8px}
  #cs-dial{padding-top:34px}
  #cs-now{padding-top:34px}
  .cs-fam-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .cs-fam{min-height:300px}
  .cs-fam-panel{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1400px){ .cs-home-on #cs-home{max-width:1440px} .cs-sec-wrap,#cs-wheel-grid{max-width:1440px} }

/* ── mouvement : respecte prefers-reduced-motion ── */
@media (prefers-reduced-motion:reduce){
  .cs-amb-stars,.cs-amb-orb,.cs-orb-spin,.cs-orb-pulse,.cs-d-ticks,.cs-d-orbit,.cs-d-pulse,.cs-fam .sg-h1,.cs-fam .sg-h2,.cs-fam .sg-tw,.cs-fam .sg-orb,.cs-fam .sg-ring,
  .cs-pulse-r,#hdr-orbits .hdr-orb{animation:none!important}
  .cs-obs-panel,.cs-sig-panel,.cs-fam-panel,.cs-acc-b.cal-x-block{animation:none}
  .cs-rv-on .cs-rv{opacity:1;transform:none;transition:none}
  .cs-fam,.cs-fam-arch,.cs-fam-peek,.cs-sig-b,.cs-obs-tab{transition:none}
}

/* ── CORRECTIF composition : l'astrolabe reste dans la zone haute, jamais sur « Mes outils » ── */
.cs-home-on #cs-dial{position:relative!important;top:auto!important;overflow:clip;isolation:isolate;z-index:0;align-self:start}
.cs-home-on .cs-dial-glow{inset:0}
.cs-home-on .cs-dial-wrap svg{overflow:hidden}
.cs-home-on .cs-dial-wrap{margin-bottom:6px}
/* « Mes outils » : zone autonome, séparée par un filet et un vrai espace */
.cs-home-on #cs-tools{position:relative;z-index:2;margin-top:clamp(36px,6vw,72px);padding-top:clamp(28px,4vw,44px)}
.cs-home-on #cs-tools::before{content:"✦";position:absolute;left:0;right:0;top:-10px;height:20px;text-align:center;line-height:20px;font-size:13px;color:var(--cs-gold);
  background:linear-gradient(90deg,transparent,rgba(217,179,76,.45) 20%,rgba(217,179,76,.45) 40%,transparent 41%,transparent 59%,rgba(217,179,76,.45) 60%,rgba(217,179,76,.45) 80%,transparent) center/100% 1px no-repeat}
.cs-home-on #cs-tools .cs-sec-h{padding-top:20px}
@media (max-width:979px){ .cs-home-on #cs-dial{padding-bottom:6px} }

/* hero desktop : Maintenant + astrolabe en haut ; Signal du jour dessous, sur deux colonnes */
@media (min-width:980px){
  .cs-home-on #cs-home{grid-template-areas:"now dial" "today today" "tools tools";row-gap:8px}
  .cs-home-on #cs-today{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px;align-content:start;max-width:none;padding-right:0;
    border-top:1px solid rgba(217,179,76,.16);margin-top:18px;padding-top:30px}
  .cs-home-on #cs-today > *{grid-column:1}
  .cs-home-on #cs-today > .cs-rows{grid-column:2;grid-row:1 / span 5;margin-top:0}
  .cs-home-on #cs-today > #cs-quest{grid-column:2;grid-row:6 / span 3}
  .cs-home-on #cs-today > .cs-link-btn{justify-self:start}
}

/* ── ZOOM de la roue annuelle : contrôles intégrés à l'astrolabe ── */
#cs-wheel-c{position:relative}
#main-canvas-wrap.cs-zoomed{cursor:grab}
#main-canvas-wrap.cs-grabbing{cursor:grabbing}
#constella-viewport:focus-visible{outline:1px solid rgba(242,214,117,.55);outline-offset:-2px;border-radius:12px}
.cs-zoomctl{position:absolute;right:10px;bottom:10px;z-index:6;display:flex;align-items:stretch;border-radius:999px;overflow:hidden;
  background:rgba(5,3,21,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(217,179,76,.38)}
.cs-zoomctl button{min-width:34px;height:34px;padding:0 10px;border:0;background:none;cursor:pointer;color:var(--cs-ink);font-family:var(--cs-sans);font-size:17px;line-height:1;
  transition:background .25s,color .25s;-webkit-tap-highlight-color:transparent}
.cs-zoomctl button + button{border-left:1px solid rgba(217,179,76,.22)}
.cs-zoomctl .cs-zoomctl-v{min-width:58px;font-size:12px;letter-spacing:1px;color:var(--cs-gold-l);font-variant-numeric:tabular-nums}
.cs-zoomctl button:hover:not(:disabled){background:rgba(217,179,76,.16);color:var(--cs-gold-l)}
.cs-zoomctl button:active:not(:disabled){background:rgba(217,179,76,.28)}
.cs-zoomctl button:disabled{opacity:.35;cursor:default}
.cs-zoomhint{position:absolute;left:50%;bottom:16px;z-index:6;transform:translateX(-50%);padding:6px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;
  font-family:var(--cs-sans);font-size:12.5px;letter-spacing:.5px;color:var(--cs-cy-l);background:rgba(5,3,21,.7);border:1px solid rgba(102,217,239,.3);transition:opacity .8s}
.cs-zoomhint.off{opacity:0}
@media (max-width:480px){ .cs-zoomctl{right:6px;bottom:6px} .cs-zoomctl button{height:38px;min-width:40px} .cs-zoomhint{max-width:60%;white-space:normal;text-align:center;bottom:50px} }
@media (prefers-reduced-motion:reduce){ .cs-zoomctl button,.cs-zoomhint{transition:none} }

/* date grégorienne : clairement étiquetée (≠ date CONSTELLA) */
.cs-now-date{text-align:right;line-height:1.25}
.cs-now-date small{display:block;font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cs-cy);margin-bottom:2px}

/* 3 portails : sur petit écran, le troisième occupe toute la largeur (pas d'orphelin) */
@media (max-width:979px){ .cs-fam-tiles .cs-fam:last-child:nth-child(odd){grid-column:1 / -1} }

/* ════ ASTROLABE ÉCLAIRÉ DE L'INTÉRIEUR — 3 niveaux de lumière (centre > anneaux > détails) ════ */
@keyframes csBreathe{0%,100%{opacity:.8;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}
@keyframes csHalo{0%,100%{opacity:.75}50%{opacity:1}}
#cs-dial .cs-dial-wrap::before{content:"";position:absolute;inset:-14%;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(255,236,190,.2) 0%,rgba(242,214,117,.1) 34%,rgba(121,103,200,.12) 52%,transparent 70%);animation:csHalo 10s ease-in-out infinite}
.cs-home-on .cs-dial-glow{background:radial-gradient(circle,rgba(150,130,230,.38) 0%,rgba(60,70,170,.2) 46%,transparent 72%)}
.cs-home-on #cs-dial svg{filter:drop-shadow(0 0 14px rgba(242,214,117,.2)) drop-shadow(0 0 40px rgba(121,103,200,.28))}
.cs-d-rim{filter:drop-shadow(0 0 3px rgba(246,227,160,.7))}
.cs-d-ring{filter:drop-shadow(0 0 3px rgba(242,214,117,.28))}
.cs-d-heart{transform-box:fill-box;transform-origin:center;animation:csBreathe 9s ease-in-out infinite}
.cs-d-orbit2{animation:csSpin 210s linear infinite reverse;transform-origin:200px 200px}
.cs-d-n{fill:#f1e6c6;opacity:.88;font-size:10px}
.cs-d-rep{fill:#fff0b8;font-size:12.5px}
.cs-d-cur{fill:#241800}
.cs-d-pl{font-size:9.5px;font-weight:700}
.cs-d-phase{opacity:.9}
.cs-d-cbig{fill:#fff1c9;filter:drop-shadow(0 0 12px rgba(255,226,140,.7)) drop-shadow(0 0 28px rgba(242,214,117,.35))}
.cs-d-csm{fill:#d6cfee}
.cs-d-cmo{fill:#efe6cc;font-size:11px}
.cs-d-cstep{font-size:9px;filter:drop-shadow(0 0 4px currentColor)}
.cs-d-now{filter:drop-shadow(0 0 9px rgba(255,226,140,.95))}
.cs-d-sun{animation-duration:9s}
/* roue annuelle : même lumière douce derrière, sans filtre sur le SVG lourd */
#cs-wheel-c::before{content:"";position:absolute;inset:-4%;pointer-events:none;z-index:-1;border-radius:50%;
  background:radial-gradient(circle,rgba(242,214,117,.12) 0%,rgba(121,103,200,.12) 45%,transparent 70%);animation:csHalo 12s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){ #cs-dial .cs-dial-wrap::before,.cs-d-heart,.cs-d-orbit2,#cs-wheel-c::before{animation:none} }

/* ═══ GRANDE ROUE ANNUELLE — éclairée de l'intérieur (4 niveaux : mois actif+centre > anneaux+phases > mois > décor) ═══ */
.cs-wh-breathe{transform-box:fill-box;transform-origin:center;animation:csBreathe 11s ease-in-out infinite}
.cs-wh-breathe2{animation-duration:13s;animation-delay:-4s}
.cs-wh-orbit{animation:csSpin 120s linear infinite}
#hand-h{box-shadow:0 0 7px rgba(246,222,140,.85)!important}
#hand-m{box-shadow:0 0 6px rgba(250,238,205,.7)!important}
#hand-s{box-shadow:0 0 5px rgba(240,196,74,.8)!important}
#cs-wheel-c::before{inset:-6%;background:radial-gradient(circle,rgba(255,226,150,.2) 0%,rgba(242,214,117,.1) 28%,rgba(121,103,200,.16) 52%,transparent 72%)}
@media (prefers-reduced-motion:reduce){ .cs-wh-breathe,.cs-wh-orbit{animation:none} }

/* ═══ 2026-10-01 · UN SEUL CADRAN, 13 MOIS CONSULTABLES ═══
   L'ancienne grande roue des 13 mois (#cs-wheel-c) n'est plus affichée : son DOM reste hors-champ
   (le moteur existant y dessine encore, sans rien casser) et le cadran du haut la remplace. */
.cs-home-on #cs-wheel-grid{grid-template-columns:1fr;max-width:920px;gap:22px;padding:6px 18px 0}
@media (min-width:700px){ .cs-home-on #cs-wheel-grid{grid-template-columns:1fr 1fr;gap:34px} }
.cs-home-on #cs-wheel-l,.cs-home-on #cs-wheel-r{align-self:start;text-align:left;margin:0;border-right:0;padding:4px 0 4px 18px;border-left:1px solid rgba(217,179,76,.28)}
.cs-home-on #cs-wheel-l .cs-wh-list li,.cs-home-on #cs-wheel-l .cs-wh-seas{flex-direction:row;text-align:left}

/* navigation ← mois · nom · mois → */
.cs-dial-nav{display:grid;grid-template-columns:minmax(44px,auto) 1fr minmax(44px,auto);align-items:center;gap:10px;max-width:640px;margin:0 auto 6px;padding:0 6px}
.cs-dn-b{min-height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:24px;background:rgba(255,255,255,.05);
  border:1px solid rgba(217,179,76,.35);color:var(--cs-gold-l);cursor:pointer;font-family:'Cinzel',serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;-webkit-tap-highlight-color:transparent;transition:background .25s,border-color .25s,transform .15s}
.cs-dn-b span{font-size:20px;line-height:1;letter-spacing:0}
.cs-dn-b:hover{background:rgba(217,179,76,.14);border-color:rgba(243,217,138,.7)}
.cs-dn-b:active{transform:scale(.96)}
.cs-dn-b:focus-visible,.cs-dn-back:focus-visible,.cs-m13:focus-visible{outline:2px solid var(--cs-gold-l);outline-offset:2px}
.cs-dn-mid{text-align:center;min-width:0}
.cs-dn-name{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(22px,6vw,34px);letter-spacing:clamp(2px,.8vw,5px);color:var(--cs-gold-l);margin:0;line-height:1.15;text-transform:uppercase;text-shadow:0 0 22px rgba(242,214,117,.35)}
.cs-dn-num{font-family:'Cinzel',serif;font-size:clamp(12px,3.2vw,15px);letter-spacing:3px;color:var(--cs-ink);margin-top:5px}
.cs-dn-per{font-family:var(--cs-sans);font-size:13.5px;color:var(--cs-dim);margin-top:3px}
.cs-dn-now,.cs-dn-back{display:inline-flex;align-items:center;justify-content:center;margin-top:9px;min-height:30px;padding:0 14px;border-radius:15px;font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:2px;text-transform:uppercase}
.cs-dn-now{color:#241800;background:linear-gradient(135deg,#f6dc90,#d9b34c);box-shadow:0 0 14px rgba(242,214,117,.35)}
.cs-dn-back{min-height:44px;margin-top:6px;color:var(--cs-gold-l);background:rgba(255,255,255,.04);border:1px solid rgba(243,217,138,.5);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cs-dn-back:hover{background:rgba(217,179,76,.16)}
@media (max-width:560px){ .cs-dn-b em{display:none} .cs-dn-b{padding:0} .cs-dial-nav{gap:6px} }

/* jours cliquables + légende des marqueurs */
.cs-d-day{cursor:pointer;outline:none}
.cs-d-day:hover path,.cs-d-day:focus-visible path{fill-opacity:.9;stroke-opacity:1;stroke-width:1.4}
.cs-d-day:focus-visible path{stroke:#fff1b8}
.cs-dial-legend .lg-note{background:#fff1b8;box-shadow:0 0 6px rgba(255,241,184,.7)}
.cs-dial-legend .lg-ev{background:#66d9ef;box-shadow:0 0 6px rgba(102,217,239,.7)}

/* transition d'astrolabe : le cercle s'éteint, pivote très légèrement, puis se rallume */
.cs-dial-wrap{transition:opacity .18s ease}
.cs-dial-wrap.cs-swap-out{opacity:.15}
.cs-dial-wrap.cs-swap-out svg{transform:rotate(-7deg) scale(.985);transition:transform .18s ease-in}
.cs-dial-wrap.cs-swap-in svg{animation:csDialIn .62s cubic-bezier(.2,.7,.2,1) both}
.cs-dial-wrap.cs-swap-in .cs-dial-glow{animation:csDialGlow .62s ease-out both}
.cs-dial-wrap.cs-swap-in .cs-d-ring{animation:csRingIn .62s cubic-bezier(.2,.7,.2,1) both;transform-origin:200px 200px}
@keyframes csDialIn{from{opacity:.2;transform:rotate(9deg) scale(.985)}to{opacity:1;transform:none}}
@keyframes csDialGlow{0%{opacity:.2}45%{opacity:1;filter:brightness(1.5)}100%{opacity:1;filter:none}}
@keyframes csRingIn{from{transform:rotate(-14deg)}to{transform:none}}
@media (prefers-reduced-motion:reduce){ .cs-dial-wrap,.cs-dial-wrap.cs-swap-in svg,.cs-dial-wrap.cs-swap-in .cs-dial-glow,.cs-dial-wrap.cs-swap-in .cs-d-ring{animation:none;transition:none} }

/* « Les 13 mois » : sélecteur compact, aucun calendrier */
#cs-months13{max-width:920px;margin:0 auto;padding:6px 18px 18px;text-align:center}
.cs-m13-h{margin-bottom:12px}
.cs-m13-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cs-m13{min-height:56px;padding:6px 2px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:var(--cs-ink);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;-webkit-tap-highlight-color:transparent;transition:background .25s,border-color .25s,transform .15s;position:relative}
.cs-m13 b{font-family:'Cinzel',serif;font-size:17px;font-weight:600;color:var(--cs-gold-l)}
.cs-m13 small{font-family:var(--cs-sans);font-size:10.5px;color:var(--cs-dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
.cs-m13:hover{background:rgba(217,179,76,.12);border-color:rgba(243,217,138,.5)}
.cs-m13:active{transform:scale(.96)}
.cs-m13.cur::after{content:"✦";position:absolute;top:3px;right:6px;font-size:9px;color:var(--cs-gold-l)}
.cs-m13.on{background:linear-gradient(160deg,rgba(212,168,32,.34),rgba(212,168,32,.12));border-color:var(--cs-gold-l);box-shadow:0 0 16px rgba(242,214,117,.28)}
.cs-m13.on small{color:var(--cs-ink)}
@media (max-width:420px){ .cs-m13-row{grid-template-columns:repeat(5,1fr);gap:6px} .cs-m13 small{font-size:9.5px} }

/* ═══ UN SEUL espace calendrier : année (roue des 13 mois) → mois (cadran) ═══ */
.cs-cal-pane[hidden]{display:none!important}
.cs-cal-pane.is-off{position:absolute;left:0;top:0;width:100%;visibility:hidden;pointer-events:none;height:0;overflow:hidden}
#cs-cal-year #cs-wheel-c{max-width:none;width:100%;margin:0}
.cs-y-top{text-align:center;padding:2px 8px 4px}
.cs-y-title{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(20px,5.4vw,30px);letter-spacing:clamp(2px,.8vw,5px);color:var(--cs-gold-l);margin:8px 0 4px;text-transform:uppercase;text-shadow:0 0 22px rgba(242,214,117,.35)}
.cs-y-title i{font-style:normal;font-size:.55em;letter-spacing:3px;color:var(--cs-ink)}
.cs-y-sub{font-family:var(--cs-sans);font-size:13.5px;color:var(--cs-dim);margin:0 0 8px}
.cs-y-cur{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:22px;color:#241800;background:linear-gradient(135deg,#f6dc90,#d9b34c);border:0;
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;box-shadow:0 0 14px rgba(242,214,117,.35);-webkit-tap-highlight-color:transparent}
.cs-y-cur:focus-visible,.cs-dn-year:focus-visible{outline:2px solid var(--cs-cy-l);outline-offset:2px}
.cs-dn-top{text-align:center;margin-bottom:8px}
.cs-dn-year{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:22px;background:rgba(102,217,239,.08);border:1px solid rgba(102,217,239,.4);
  color:var(--cs-cy-l);font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cs-dn-year:hover{background:rgba(102,217,239,.18)}
/* zoom année → mois : le cadran s'enfonce dans le secteur choisi, les autres mois s'effacent */
.cs-dial-wrap.cs-zoom-out svg{transform:scale(1.9);opacity:0;transition:transform .42s cubic-bezier(.55,0,.85,.35),opacity .42s ease-in}
.cs-dial-wrap.cs-zoom-out .cs-d-mo:not(.cs-sel){opacity:.12;transition:opacity .25s}
.cs-dial-wrap.cs-zoom-out .cs-d-mo.cs-sel path{filter:drop-shadow(0 0 10px rgba(255,226,140,1))}
.cs-dial-wrap.cs-zoom-from svg{animation:csYearFrom .62s cubic-bezier(.2,.7,.2,1) both}
@keyframes csYearFrom{from{transform:scale(1.9);opacity:0}to{transform:none;opacity:1}}
.cs-dial-wrap.cs-zoom-in svg{animation:csZoomIn .7s cubic-bezier(.2,.7,.2,1) both}
.cs-dial-wrap.cs-zoom-in .cs-dial-glow{animation:csDialGlow .7s ease-out both}
.cs-dial-wrap.cs-zoom-in .cs-d-ring{animation:csRingIn .7s cubic-bezier(.2,.7,.2,1) both;transform-origin:200px 200px}
@keyframes csZoomIn{from{opacity:0;transform:scale(.4) rotate(-22deg)}to{opacity:1;transform:none}}
.cs-dial-wrap.cs-zoom-away{opacity:0;transition:opacity .3s ease-in}
.cs-dial-wrap.cs-zoom-away svg{transform:scale(.45) rotate(12deg);transition:transform .3s ease-in}
.cs-cur-pulse{animation:csCurPulse 3.6s ease-in-out infinite}
@keyframes csCurPulse{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){ .cs-cur-pulse{animation:none} #cs-cal-ywheel{transition:none} .cs-dial-wrap.cs-zoom-in svg,.cs-dial-wrap.cs-zoom-in .cs-dial-glow,.cs-dial-wrap.cs-zoom-in .cs-d-ring, }
.cs-d-mn{font-family:'Cinzel',serif;font-size:6.6px;font-weight:600;letter-spacing:.5px;fill:#efe6cc;opacity:.92;pointer-events:none}
.cs-d-mo .cs-d-n{pointer-events:none}
.cs-d-ps{font-size:6.5px;font-weight:500;opacity:.85}
.cs-dial-wrap.cs-zoom-from svg{transform-origin:50% 50%}
