
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

body.oracle127-fusion-final{
  --o127-bg:#05070A;
  --o127-bg2:#080b13;
  --o127-panel:#0b0f17;
  --o127-panel2:#0e131d;
  --o127-gold:#c9a24e;
  --o127-gold-soft:#d7b56a;
  --o127-gold-bright:#f0d89a;
  --o127-ivory:#f2ede2;
  --o127-muted:#9aa0ab;
  --o127-line:rgba(201,162,78,.16);
  --o127-serif:'Cormorant Garamond',Georgia,serif;
  --o127-sans:'Jost',system-ui,-apple-system,sans-serif;
  --o127-mono:'IBM Plex Mono',ui-monospace,monospace;
  overflow-x:hidden;
}
body.oracle127-fusion-final .o127v2-portal{
  width:min(calc(100vw - 24px),1200px)!important;
  max-width:1200px!important;
  margin:20px auto 44px!important;
}
.o127v3-app{color:var(--o127-ivory);font-family:var(--o127-sans);font-weight:300}
.o127v3-app *{box-sizing:border-box}
.o127v3-hero{text-align:center;position:relative;padding:28px 0 4px}
.o127v3-hero h2{margin:0;font-family:var(--o127-serif);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(1.65rem,2.6vw,2.3rem);line-height:1;color:#fdf4dd}
.o127v3-hero p{margin:.7rem 0 0;font-family:var(--o127-serif);font-style:italic;font-size:clamp(1rem,1.7vw,1.35rem);color:var(--o127-muted)}
.o127v3-library-btn{position:absolute;right:0;top:32px;border:1px solid var(--o127-line);border-radius:999px;background:rgba(255,255,255,.02);color:var(--o127-gold-soft);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:11px 16px;cursor:pointer}

.o127v3-journeys{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px 0 22px}
.o127v3-journey{display:flex;align-items:center;gap:11px;border:1px solid var(--o127-line);background:rgba(255,255,255,.015);color:var(--o127-gold-soft);border-radius:999px;padding:11px 20px 11px 12px;cursor:pointer;font-family:var(--o127-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:.25s}
.o127v3-journey .num{width:26px;height:26px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--o127-serif);font-size:14px}
.o127v3-journey.is-active{background:linear-gradient(180deg,var(--o127-gold-bright),var(--o127-gold));color:#231a08;border-color:var(--o127-gold-bright);box-shadow:0 10px 30px rgba(201,162,78,.22)}

.o127v3-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.78fr);gap:26px;align-items:start;padding-bottom:14px}
.o127v3-stage-col{min-width:0}
.o127v3-stage{position:relative;aspect-ratio:1;width:100%;max-width:720px;margin:auto}
.o127v3-portal-aura{position:absolute;inset:10%;z-index:0;width:80%;height:80%;object-fit:cover;border-radius:50%;opacity:.12;filter:saturate(.75) contrast(1.08);mask-image:radial-gradient(circle,#000 22%,rgba(0,0,0,.72) 54%,transparent 76%);pointer-events:none}
.o127v3-mandala{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.o127v3-grid{stroke:#8f8a7d;stroke-width:1;fill:none;opacity:.06}
.o127v3-ring-faint{fill:none;stroke:var(--o127-gold);opacity:.12;stroke-width:1.4}
.o127v3-ring{fill:none;stroke:var(--o127-gold-soft);stroke-width:3;opacity:.85;filter:drop-shadow(0 0 10px rgba(201,162,78,.35))}
.o127v3-star{fill:none;stroke:var(--o127-gold);stroke-width:1.1;opacity:.22}
.o127v3-hept{fill:none;stroke:var(--o127-gold);stroke-width:1.1;opacity:.3}
.o127v3-rays{stroke:var(--o127-gold);stroke-width:1;opacity:.16;stroke-dasharray:7 12}
.o127v3-node{fill:var(--o127-gold-soft);opacity:.9;filter:drop-shadow(0 0 7px rgba(201,162,78,.7))}
.o127v3-center-ring{fill:none;stroke:var(--o127-gold-soft);stroke-width:1.5;opacity:.5}
.o127v3-center{fill:var(--o127-gold-bright);filter:drop-shadow(0 0 10px rgba(240,216,154,.7))}
.o127v3-cards{position:absolute;inset:0}
.o127v3-center-label{position:absolute;left:50%;top:calc(50% + 210px);transform:translate(-50%,-50%);text-align:center;color:var(--o127-muted);pointer-events:none;opacity:1}
.o127v3-center-label span{font-family:var(--o127-serif);font-size:20px;color:var(--o127-gold-soft);letter-spacing:.05em}
.o127v3-center-label small{display:block;font-size:11px;letter-spacing:.12em;margin-top:2px;text-transform:uppercase}

/* CARTE = IMAGE PURE */
.o127v3-card{position:absolute;transform:translate(-50%,-50%) scale(.6);opacity:0;width:150px;aspect-ratio:5/8;cursor:pointer;border:0;padding:0;background:none;transition:left .8s cubic-bezier(.2,.8,.2,1),top .8s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s;z-index:12}
.o127v3-card.is-in{opacity:1;transform:translate(-50%,-50%) scale(1)}
.o127v3-card-frame{position:relative;width:100%;height:100%;border-radius:11px;border:1px solid rgba(201,162,78,.55);overflow:hidden;background:#04060a;box-shadow:0 18px 40px rgba(0,0,0,.6),inset 0 0 0 3px rgba(0,0,0,.6),inset 0 0 0 4px rgba(201,162,78,.18)}
.o127v3-card.is-selected .o127v3-card-frame{border-color:var(--halo);box-shadow:0 0 0 1px var(--halo),0 12px 46px color-mix(in srgb,var(--halo) 45%,transparent),0 18px 40px rgba(0,0,0,.6)}
.o127v3-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#04060a}
.o127v3-card-tag{position:absolute;left:50%;transform:translateX(-50%);top:-22px;white-space:nowrap;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--o127-gold-soft);text-shadow:0 2px 8px #05070A;pointer-events:none;opacity:0;transition:opacity .4s;display:none}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-tag{display:block;opacity:1}
.o127v3-stage[data-parcours="cercle"] .o127v3-card[data-flip="bottom"] .o127v3-card-tag{top:auto;bottom:-22px}

.o127v3-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:720px;margin:22px auto 0}
.o127v3-btn{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--o127-line);background:rgba(255,255,255,.02);color:var(--o127-gold-soft);border-radius:999px;padding:12px 20px;font-family:var(--o127-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.o127v3-btn[hidden]{display:none}

/* READING */
.o127v3-reading{position:sticky;top:18px;border:1px solid var(--o127-line);border-radius:22px;background:linear-gradient(180deg,var(--o127-panel2),var(--o127-panel));padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);min-height:520px}
.o127v3-reading::before{content:"";display:block;height:2px;width:44px;border-radius:2px;background:var(--halo,#c9a24e);opacity:.8;margin-bottom:18px}
.o127v3-eyebrow{margin:0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--o127-muted)}
.o127v3-pill{display:inline-block;margin:12px 0;padding:6px 12px;border:1px solid var(--o127-line);border-radius:999px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--o127-gold-soft)}
.o127v3-reading h2{margin:0;font-family:var(--o127-serif);font-weight:500;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.02;color:#f6ebcf}
.o127v3-sub{margin:.2rem 0 0;font-family:var(--o127-serif);font-style:italic;font-size:1.15rem;color:var(--halo,#c9a24e)}
.o127v3-intro{margin:1rem 0 1.4rem;color:#cfcabf;line-height:1.62}
.o127v3-rsec{border-top:1px solid var(--o127-line)}
.o127v3-rsec-head{width:100%;display:grid;grid-template-columns:1fr 16px;align-items:center;gap:14px;padding:16px 2px;background:none;border:0;cursor:pointer;text-align:left;color:inherit}
.o127v3-rsec-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--o127-ivory);font-weight:400}
.o127v3-rsec-desc{display:block;margin-top:3px;font-size:12.5px;color:var(--o127-muted);line-height:1.4}
.o127v3-rsec-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.o127v3-rsec.is-open .o127v3-rsec-body{max-height:1600px}
.o127v3-rsec-body-inner{padding:0 2px 18px}
.o127v3-rsec-body-inner p{margin:0;color:#d7d2c7;line-height:1.62}
.o127v3-sciences{display:grid;gap:9px}
.o127v3-science{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:start;padding:10px;border:1px solid rgba(215,181,106,.14);border-radius:12px;background:rgba(255,255,255,.018)}
.o127v3-science-visual{display:block;width:68px;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border:1px solid rgba(215,181,106,.22);border-radius:8px;background:#070a12;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.o127v3-science-copy{min-width:0}
.o127v3-science-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.o127v3-science strong{color:#f1e5c8;font-family:var(--o127-serif);font-size:16px;font-weight:500}
.o127v3-science small{color:var(--o127-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.o127v3-science p{margin-top:5px;font-size:13px;line-height:1.45}
.o127v3-science .o127v3-science-direction{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.06);color:#efe3c7;font-size:12.5px}
.o127v3-science a{display:inline-flex;margin-top:7px;color:#d7b56a;text-decoration:none;border-bottom:1px solid rgba(215,181,106,.35);font-size:11px}
.o127v3-science a:hover{color:#f0d89d;border-bottom-color:currentColor}
.o127v3-analogy-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--o127-line);border-radius:12px;overflow:hidden}
.o127v3-analogy{padding:11px 13px;border-bottom:1px solid var(--o127-line)}
.o127v3-analogy:nth-child(odd){border-right:1px solid var(--o127-line)}
.o127v3-analogy span{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--o127-muted)}
.o127v3-analogy strong{display:block;margin-top:3px;font-family:var(--o127-serif);font-weight:500;font-size:15px;color:#efe6d4}
.o127v3-quote{margin-top:20px;display:flex;gap:12px;padding:16px;border:1px solid var(--o127-line);border-radius:14px;background:rgba(201,162,78,.03)}
.o127v3-quote p{margin:0;font-family:var(--o127-serif);font-style:italic;font-size:1.02rem;color:#d8d0bf;line-height:1.5}

/* FORMULAIRE */
.o127v3-form{margin:40px auto 0;padding:clamp(22px,4vw,44px) 0;border-top:1px solid var(--o127-line);text-align:center}
.o127v3-form .eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--o127-gold-soft)}
.o127v3-form h3{margin:.5rem 0 .4rem;font-family:var(--o127-serif);font-weight:500;font-size:clamp(1.45rem,2.1vw,1.9rem);color:#f4ead0}
.o127v3-form .lead{font-family:var(--o127-serif);font-style:italic;color:var(--o127-muted);max-width:640px;margin:0 auto 26px}
.o127v3-form-row{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:14px;max-width:900px;margin:0 auto;text-align:left}
.o127v3-form .field label{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--o127-muted);margin-bottom:7px}
.o127v3-form .field select,.o127v3-form .field input{width:100%;padding:14px 15px;background:var(--o127-panel);border:1px solid var(--o127-line);border-radius:12px;color:var(--o127-ivory);font-family:var(--o127-sans);font-size:14px}
.o127v3-ritual{display:flex;justify-content:center;gap:clamp(14px,4vw,52px);flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid var(--o127-line)}
.o127v3-ritual .step{text-align:left}
.o127v3-ritual b{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--o127-ivory)}
.o127v3-ritual span{font-size:11px;color:var(--o127-muted)}

body.o127v2-fusion-mounted .o127v2-legacy-source.o127v2-hidden{display:none!important}

@media(max-width:980px){.o127v3-workspace{grid-template-columns:1fr}.o127v3-reading{position:relative;top:auto;max-width:720px;margin:8px auto 0}}
@media(max-width:900px){.o127v3-library-btn{position:static;margin:18px auto 0}.o127v3-hero{padding-bottom:0}}
@media(max-width:700px){
  .o127v3-form-row{grid-template-columns:1fr}
  .o127v3-card{width:90px}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card{width:58px!important}
  .o127v3-stage[data-parcours="seuil"] .o127v3-card{width:120px!important}
  .o127v3-analogy-grid{grid-template-columns:1fr}
  .o127v3-analogy:nth-child(odd){border-right:0}
}

/* v2.3.1 — Formulaire réellement interactif */
.o127v3-form-actions{
  max-width:900px;
  margin:18px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.o127v3-launch{
  appearance:none;
  border:1px solid var(--o127-gold-bright);
  border-radius:999px;
  padding:13px 24px;
  cursor:pointer;
  background:linear-gradient(180deg,var(--o127-gold-bright),var(--o127-gold));
  color:#211807;
  font-family:var(--o127-sans);
  font-weight:600;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 10px 28px rgba(201,162,78,.16);
}
.o127v3-launch:hover{transform:translateY(-1px);box-shadow:0 13px 32px rgba(201,162,78,.24)}
.o127v3-form-status{
  margin:0;
  color:var(--o127-muted);
  font-size:12px;
  line-height:1.4;
  max-width:480px;
  text-align:left;
}
.o127v3-ritual .step{
  appearance:none;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  opacity:.48;
  transition:.25s;
}
.o127v3-ritual .step:hover{opacity:.82;background:rgba(201,162,78,.035)}
.o127v3-ritual .step.is-current{
  opacity:1;
  background:rgba(201,162,78,.07);
  box-shadow:inset 0 0 0 1px rgba(201,162,78,.22);
}
.o127v3-ritual .step.is-current b{color:var(--o127-gold-bright)}
.o127v3-ritual .step.is-done{opacity:.72}
.o127v3-ritual .step.is-done b::before{content:"✓ ";color:var(--o127-gold-soft)}
.o127v3-needs-question [data-o127v3-question]{
  border-color:#d7b56a!important;
  box-shadow:0 0 0 3px rgba(215,181,106,.10)!important;
}
@media(max-width:700px){
  .o127v3-form-actions{display:block;text-align:center}
  .o127v3-form-status{text-align:center;margin:10px auto 0}
}


/* v2.3.2 — cartes restaurées et fallback visible */
.o127v3-card-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px;
  background:
    radial-gradient(circle at 50% 38%,rgba(201,162,78,.14),transparent 42%),
    #05070A;
  color:#f2ede2;
  text-align:center;
}
.o127v3-card-fallback strong{
  font-family:var(--o127-serif);
  font-size:15px;
  line-height:1.1;
  color:var(--o127-gold-bright);
  font-weight:500;
}
.o127v3-card-fallback small{
  color:var(--o127-muted);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.o127v3-card-art{z-index:2}


/* v2.3.3 — source unique Atelier des Cartes (badge de debug retiré en v2.4.2) */
.o127v3-app::after{content:none;display:none}


/* v2.3.6 — cascade Atelier (texte de debug retiré en v2.4.2) */
.o127v3-card-fallback::after{content:none;display:none}

/* v2.4.0 — cartes réellement visibles */
@media(max-width:700px){
 .o127v3-stage[data-parcours="cercle"] .o127v3-card{width:82px!important;z-index:30}
 .o127v3-stage[data-parcours="dialogue"] .o127v3-card{width:112px!important}
 .o127v3-card-frame{min-height:100%;background:#080b13}
 .o127v3-card-tag{font-size:8px;letter-spacing:.10em}
}
@media(max-width:390px){.o127v3-stage[data-parcours="cercle"] .o127v3-card{width:72px!important}}
body.o127v2-fusion-ready .o127v2-legacy-source{display:block!important}


/* ==========================================================
   v2.4.1 — CORRECTIF STRUCTUREL : CARTES TOUJOURS VISIBLES
   ========================================================== */

.o127v3-cards{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  overflow:visible!important;
  pointer-events:none!important;
  z-index:20!important;
}

.o127v3-card{
  display:block!important;
  position:absolute!important;
  width:150px;
  height:auto!important;
  aspect-ratio:5 / 8!important;
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1)!important;
  visibility:visible!important;
  overflow:visible!important;
  pointer-events:auto!important;
  z-index:30!important;
}

/* CRITIQUE : le span doit être un vrai bloc dimensionné. */
.o127v3-card-frame{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  aspect-ratio:5 / 8!important;
  overflow:hidden!important;
  background:#080b13!important;
}

/* Image et fallback remplissent exactement le cadre. */
.o127v3-card-art,
.o127v3-card-fallback{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

.o127v3-card-art{
  display:block;
  object-fit:contain!important;
  object-position:center!important;
  z-index:2!important;
  background:#05070A!important;
}

.o127v3-card-fallback{
  display:flex;
  z-index:1!important;
}

/* Plus aucune carte cachée en attendant une classe d'animation. */
.o127v3-card.is-in{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,-50%) scale(1)!important;
}

@media(max-width:700px){
  .o127v3-stage[data-parcours="seuil"] .o127v3-card{
    width:130px!important;
  }
  .o127v3-stage[data-parcours="dialogue"] .o127v3-card{
    width:104px!important;
  }
  .o127v3-stage[data-parcours="cercle"] .o127v3-card{
    width:76px!important;
  }
}

/* ==========================================================
   6.2.0 — FUSION RÉELLE + CANON VISUEL 127
   ========================================================== */
.oracle127-theme-engine .oni-oracle-page__body{width:min(1220px,calc(100% - 28px));margin-inline:auto}
.o127v3-app{position:relative;isolation:isolate}
.o127v3-hero-logo{width:72px;height:72px;margin:0 auto 16px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(201,162,78,.25))}

/* Trois Souffles : 11×11 argent, 7×7 or fin, cercle et Portes lumineux. */
.o127v3-square-grid{stroke:var(--o127-gold);stroke-width:1.2;fill:none;opacity:.12}
.o127v3-grid{stroke:#d8dce8;opacity:.075}
.o127v3-center{stroke:#fff0ba;stroke-width:7}
.o127v3-node{stroke:#fff0ba;stroke-width:3}
@media(prefers-reduced-motion:no-preference){
  .o127v3-grid{animation:o127-breath-matrix 12s ease-in-out infinite}
  .o127v3-square-grid{animation:o127-breath-square 12s ease-in-out infinite}
  .o127v3-ring,.o127v3-hept,.o127v3-rays,.o127v3-node{animation:o127-breath-circle 12s ease-in-out infinite}
}
@keyframes o127-breath-matrix{0%,100%{opacity:.05}18%,32%{opacity:.20}52%,86%{opacity:.08}}
@keyframes o127-breath-square{0%,22%,100%{opacity:.08}40%,60%{opacity:.60}76%{opacity:.18}}
@keyframes o127-breath-circle{0%,48%,100%{opacity:.18}66%,88%{opacity:.88}}

/* Dos canonique : le logo appartient désormais à toutes les cartes. */
.o127v3-card-fallback::before{display:none!important}
.o127v3-card-fallback>img{display:block!important;width:62%!important;height:auto!important;max-height:62%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(201,162,78,.22));opacity:.92}
.o127v3-cardback-preview{position:absolute;left:50%;top:50%;z-index:18;width:clamp(118px,22%,166px);aspect-ratio:5/8;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(201,162,78,.62);border-radius:12px;background:radial-gradient(circle at 50% 42%,rgba(85,63,160,.25),transparent 46%),linear-gradient(160deg,#101332,#05070a);box-shadow:0 22px 55px rgba(0,0,0,.62),inset 0 0 0 4px #060912,inset 0 0 0 5px rgba(201,162,78,.2)}
.o127v3-cardback-preview[hidden]{display:none}
.o127v3-cardback-preview img{width:68%;height:auto;filter:drop-shadow(0 0 18px rgba(201,162,78,.26))}

/* La question n'est plus perdue après le clic. */
.o127v3-question-chip{position:absolute;left:50%;bottom:2.4%;z-index:42;transform:translateX(-50%);max-width:min(80%,580px);margin:0;padding:8px 14px;border:1px solid rgba(201,162,78,.24);border-radius:999px;background:rgba(5,7,10,.88);color:#d7d2c7;font-family:var(--o127-serif);font-style:italic;font-size:clamp(.72rem,1.2vw,.92rem);line-height:1.3;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.o127v3-question-chip[hidden]{display:none}
.o127v3-question-echo{margin:14px 0 16px;padding:12px 15px;border-left:2px solid var(--halo,#c9a24e);background:rgba(201,162,78,.04);color:#d8d0bf;font-family:var(--o127-serif);font-style:italic;line-height:1.45}
.o127v3-question-echo[hidden]{display:none}

/* Bibliothèque intégrée : aucun retour vers une extension ou une seconde page. */
.o127v3-library{width:min(1060px,calc(100vw - 28px));max-height:min(86vh,900px);padding:0;border:1px solid rgba(201,162,78,.34);border-radius:22px;background:#090d16;color:var(--o127-ivory);box-shadow:0 30px 100px rgba(0,0,0,.72);overflow:auto}
.o127v3-library::backdrop{background:rgba(2,3,7,.82);backdrop-filter:blur(7px)}
.o127v3-library-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--o127-line);background:rgba(9,13,22,.94);backdrop-filter:blur(12px)}
.o127v3-library-head h3{margin:3px 0 0;font-family:var(--o127-serif);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:500}
.o127v3-library-head .eyebrow{margin:0;color:var(--o127-gold-soft);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.o127v3-library-close{width:42px;height:42px;border:1px solid var(--o127-line);border-radius:50%;background:transparent;color:var(--o127-ivory);font-size:27px;line-height:1;cursor:pointer}
.o127v3-library-search{display:block;padding:18px 24px 8px}
.o127v3-library-search span{display:block;margin-bottom:7px;color:var(--o127-muted);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.o127v3-library-search input{width:100%;padding:13px 15px;border:1px solid var(--o127-line);border-radius:12px;background:#0d1320;color:var(--o127-ivory);font:400 14px var(--o127-sans)}
.o127v3-library-count{margin:8px 24px;color:var(--o127-muted);font-size:12px}
.o127v3-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:12px 24px 28px}
.o127v3-library-card{min-width:0;padding:0;border:1px solid var(--o127-line);border-radius:13px;background:#0b101a;color:inherit;overflow:hidden;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s}
.o127v3-library-card:hover,.o127v3-library-card:focus-visible{transform:translateY(-3px);border-color:rgba(201,162,78,.62);outline:none}
.o127v3-library-card>img,.o127v3-library-back{display:block;width:100%;aspect-ratio:5/8;object-fit:cover;background:#05070a}
.o127v3-library-back{display:grid;place-items:center;background:radial-gradient(circle,rgba(85,63,160,.22),transparent 50%),#05070a}
.o127v3-library-back img{width:58%;height:auto}
.o127v3-library-card>span:last-child{display:block;padding:10px}
.o127v3-library-card small{display:block;color:var(--o127-gold-soft);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.o127v3-library-card strong{display:block;margin-top:4px;color:#efe6d4;font-family:var(--o127-serif);font-size:15px;font-weight:500;line-height:1.08}

@media(max-width:900px){.o127v3-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){
  .oracle127-theme-engine .oni-oracle-page__body{width:min(100% - 16px,1220px)}
  .o127v3-hero-logo{width:58px;height:58px}
  .o127v3-question-chip{bottom:-20px;max-width:92%;border-radius:14px}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-name{display:none!important}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card.is-selected .o127v3-card-name{display:block!important}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-label{width:76px!important;max-width:76px!important}
  .o127v3-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-inline:14px}
  .o127v3-library-search{padding-inline:14px}.o127v3-library-count{margin-inline:14px}
}
@media(prefers-reduced-motion:reduce){.o127v3-grid,.o127v3-square-grid,.o127v3-ring,.o127v3-hept,.o127v3-rays,.o127v3-node{animation:none!important}}


/* ==========================================================
   v2.4.2 — RÈGLE : LA LAME EST UNE IMAGE PURE
   - Aucun titre / message / analogie superposé sur la carte.
   - Le titre vit UNIQUEMENT sous la lame (hors du cadre).
   - Toute la lecture reste dans le panneau séparé.
   - Repli sans image = motif discret, sans aucun texte.
   ========================================================== */

/* Libellé sous la lame (ou au-dessus si la carte est en bas de scène) */
.o127v3-card-label{
  position:absolute;left:50%;transform:translateX(-50%);
  top:calc(100% + 10px);
  width:max-content;max-width:150px;text-align:center;
  pointer-events:none;opacity:0;transition:opacity .4s;z-index:6;
}
.o127v3-card.is-in .o127v3-card-label{opacity:1}
.o127v3-card[data-labelpos="above"] .o127v3-card-label{top:auto;bottom:calc(100% + 10px)}
.o127v3-card-eyebrow{
  display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--o127-gold-soft);text-shadow:0 2px 8px #05070A;
}
.o127v3-card-name{
  display:block;margin-top:3px;font-family:var(--o127-serif);font-weight:500;
  font-size:16px;line-height:1.06;color:#efe6d4;text-shadow:0 2px 10px #05070A;
}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-label{max-width:118px}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-eyebrow{font-size:9px;letter-spacing:.14em}

/* Repli sans image : motif discret, aucun texte dans le cadre */
.o127v3-card-fallback{
  background:
    radial-gradient(circle at 50% 40%,rgba(201,162,78,.10),transparent 55%),
    #080b13!important;
}
.o127v3-card-fallback::before{
  content:"";
  width:34%;aspect-ratio:1;border:1px solid rgba(201,162,78,.5);border-radius:50%;
  box-shadow:inset 0 0 14px rgba(201,162,78,.12);
}
.o127v3-card-fallback strong,
.o127v3-card-fallback small{display:none!important}

/* Confort de mouvement */
@media(prefers-reduced-motion:reduce){
  .o127v3-card,.o127v3-card-label{transition:none!important}
}

/* Accessibilité clavier */
.o127v3-card:focus-visible{outline:2px solid var(--o127-gold-soft);outline-offset:4px;border-radius:12px}
.o127v3-rsec-head:focus-visible,
.o127v3-btn:focus-visible,
.o127v3-journey:focus-visible{outline:2px solid var(--o127-gold-soft);outline-offset:3px}


/* ==========================================================
   v2.5.0 — STABILISATION
   ========================================================== */

.o127v3-journey:disabled,
.o127v3-journey[aria-disabled="true"]{
  opacity:.32!important;
  cursor:not-allowed!important;
  filter:saturate(.45);
  box-shadow:none!important;
}

/* Les 7 titres doivent être lisibles hors de la peinture. */
.o127v3-stage[data-parcours="cercle"] .o127v3-card-label{
  display:block!important;
  width:122px!important;
  max-width:122px!important;
}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-name{
  display:block!important;
  font-size:12px!important;
  line-height:1.08!important;
  overflow-wrap:anywhere;
}

/* Plus de respiration autour du cercle. */
.o127v3-stage[data-parcours="cercle"]{
  margin-bottom:32px;
}

/* Mobile : maintenant que le frame ne s'effondre plus, taille équilibrée. */
@media(max-width:700px){
  .o127v3-stage[data-parcours="cercle"] .o127v3-card{
    width:66px!important;
  }
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-label{
    width:80px!important;
    max-width:80px!important;
  }
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-name{
    font-size:8px!important;
  }
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-eyebrow{
    font-size:7px!important;
  }
}

/* Priorité finale mobile : une seule étiquette détaillée à la fois. */
@media(max-width:700px){
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-name{display:none!important}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card.is-selected .o127v3-card-name{display:block!important}
  .o127v3-stage[data-parcours="cercle"] .o127v3-card-label{width:76px!important;max-width:76px!important}
}

/* Dos réel : chaque lame passe par le logo avant de révéler son image. */
.o127v3-card-back{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(85,63,160,.28),transparent 48%),linear-gradient(160deg,#101332,#05070a);opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.o127v3-card-back img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(223,194,125,.24))}
.o127v3-card.is-revealed .o127v3-card-back{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.o127v3-card-back{transition:none}}

/* 6.3.0 — Les Deux Portes : Corne, Ivoire et parole d’Irma. */
.o127v3-gates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px;padding:12px;border:1px solid rgba(215,181,106,.22);border-radius:16px;background:rgba(4,6,10,.54)}
.o127v3-gates[hidden]{display:none}
.o127v3-gates article{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.02)}
.o127v3-gates small{display:block;margin-bottom:5px;color:var(--o127-gold-soft);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.o127v3-gates strong{display:block;color:#f6ebcf;font-family:var(--o127-serif);font-size:18px;font-weight:500}
.o127v3-gates p{margin:7px 0 0;color:#d7d2c7;font-size:12.5px;line-height:1.5}
.o127v3-between-gates{grid-column:1/-1;padding:12px 13px;border-left:2px solid var(--o127-gold);background:linear-gradient(90deg,rgba(215,181,106,.08),transparent)}
.o127v3-between-gates p{font-family:var(--o127-serif);font-size:15px;color:#efe4ca}

/* Ouverture rituelle du Cercle : Centre → rayons → Portes → lames. */
@media(prefers-reduced-motion:no-preference){
  .o127v3-stage.is-circle-casting .o127v3-center-ring{transform-box:fill-box;transform-origin:center;animation:o127-center-awakening 1.25s ease-out both}
  .o127v3-stage.is-circle-casting .o127v3-center{transform-box:fill-box;transform-origin:center;animation:o127-center-heart 1.1s ease-in-out 2}
  .o127v3-stage.is-circle-casting .o127v3-rays line{stroke-dasharray:1100;stroke-dashoffset:1100;opacity:0;animation:o127-ray-opening .8s ease-out calc(.28s + (var(--portal-index) * .22s)) forwards}
  .o127v3-stage.is-circle-casting .o127v3-node{opacity:0;transform-box:fill-box;transform-origin:center;animation:o127-portal-light .55s ease-out calc(.86s + (var(--portal-index) * .22s)) forwards}
  .o127v3-stage.is-circle-casting .o127v3-hept{stroke-dasharray:6200;stroke-dashoffset:6200;animation:o127-hept-opening 1.55s ease-out .3s forwards}
  .o127v3-stage.is-circle-awake .o127v3-center{animation:o127-center-afterglow 4.8s ease-in-out infinite}
  .o127v3-stage.is-circle-awake .o127v3-card.is-selected .o127v3-card-frame{animation:o127-selected-oracle 2.8s ease-in-out infinite}
}
@keyframes o127-center-awakening{0%{opacity:.15;transform:scale(.45)}55%{opacity:1;transform:scale(1.35)}100%{opacity:.72;transform:scale(1)}}
@keyframes o127-center-heart{0%,100%{opacity:.45;transform:scale(.72)}50%{opacity:1;transform:scale(1.7)}}
@keyframes o127-ray-opening{0%{stroke-dashoffset:1100;opacity:0}30%{opacity:.9}100%{stroke-dashoffset:0;opacity:.78}}
@keyframes o127-portal-light{0%{opacity:0;transform:scale(.25)}70%{opacity:1;transform:scale(1.9)}100%{opacity:.95;transform:scale(1)}}
@keyframes o127-hept-opening{from{stroke-dashoffset:6200;opacity:.18}to{stroke-dashoffset:0;opacity:.9}}
@keyframes o127-center-afterglow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes o127-selected-oracle{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@media(max-width:560px){.o127v3-gates{grid-template-columns:1fr}.o127v3-between-gates{grid-column:1}}
@media(prefers-reduced-motion:reduce){
  .o127v3-stage.is-circle-casting .o127v3-rays line,.o127v3-stage.is-circle-casting .o127v3-node,.o127v3-stage.is-circle-casting .o127v3-hept,.o127v3-stage.is-circle-casting .o127v3-center,.o127v3-stage.is-circle-casting .o127v3-center-ring{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}
}

/* ==========================================================
   6.4.0 — FIGURES RITUELLES ET LECTURE POSITIONNELLE
   ========================================================== */
.o127v3-magic-formula{font:500 12px/1.2 var(--o127-mono)!important;font-style:normal!important;letter-spacing:.08em;color:var(--o127-gold-soft)!important;opacity:.78}
.o127v3-magic-formula sub{font-size:.7em}
.o127v3-draw-signature{display:block;width:max-content;max-width:100%;margin:7px auto 0;padding:5px 10px;border:1px solid rgba(215,181,106,.2);border-radius:999px;color:#cdbb8d;font:500 9px/1.2 var(--o127-mono);letter-spacing:.1em;text-transform:uppercase}
.o127v3-draw-signature[hidden]{display:none}
.o127v3-spread-guide{display:none;fill:none;stroke:var(--o127-gold-bright);stroke-width:3;opacity:.52;stroke-dasharray:28 18;filter:drop-shadow(0 0 10px rgba(201,162,78,.3))}
.o127v3-stage[data-parcours="triangle"] .o127v3-guide-triangle,
.o127v3-stage[data-parcours="croix"] .o127v3-guide-cross,
.o127v3-stage[data-parcours="etoile"] .o127v3-guide-star{display:block}
.o127v3-stage:not([data-parcours="cercle"]) .o127v3-rays,
.o127v3-stage:not([data-parcours="cercle"]) [data-o127v3-nodes]{opacity:.16}
@media(prefers-reduced-motion:no-preference){
 .o127v3-stage.is-dealing .o127v3-spread-guide{stroke-dasharray:7000;stroke-dashoffset:7000;animation:o127-figure-draw 1.35s ease-out forwards}
 .o127v3-cardback-preview.is-cutting{animation:o127-real-cut .8s cubic-bezier(.22,.78,.22,1)}
 .o127v3-stage.is-sealed .o127v3-ring{animation:o127-seal 1.2s ease-out both}
}
@keyframes o127-figure-draw{to{stroke-dashoffset:0;opacity:.9}}
@keyframes o127-real-cut{0%{transform:translate(-50%,-50%) rotate(0)}40%{transform:translate(-78%,-56%) rotate(-10deg)}70%{transform:translate(-24%,-44%) rotate(8deg)}100%{transform:translate(-50%,-50%) rotate(0)}}
@keyframes o127-seal{0%{filter:drop-shadow(0 0 8px rgba(201,162,78,.3))}45%{filter:drop-shadow(0 0 32px rgba(240,216,154,.9))}100%{filter:drop-shadow(0 0 12px rgba(201,162,78,.42))}}
.o127v3-order{position:absolute;right:7px;top:7px;z-index:7;width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(240,216,154,.52);border-radius:50%;background:rgba(5,7,10,.82);color:#f0d89a;font:500 10px var(--o127-mono);transition:opacity .35s}
.o127v3-card.is-revealed .o127v3-order{opacity:.32}
.o127v3-rite-controls{max-width:900px;margin:24px auto 0;padding:18px;border:1px solid rgba(215,181,106,.28);border-radius:18px;background:linear-gradient(135deg,rgba(201,162,78,.08),rgba(9,13,22,.8));text-align:left}
.o127v3-rite-controls[hidden]{display:none}
.o127v3-rite-instruction small{display:block;color:var(--o127-gold-soft);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.o127v3-rite-instruction strong{display:block;margin-top:5px;color:#f6ebcf;font:500 22px var(--o127-serif)}
.o127v3-rite-instruction p{margin:7px 0 0;color:#d4cec1;font-size:13px;line-height:1.6}
.o127v3-rite-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.o127v3-rite-button{border:1px solid var(--o127-gold-bright);border-radius:999px;padding:11px 18px;background:linear-gradient(180deg,var(--o127-gold-bright),var(--o127-gold));color:#211807;font:600 10px var(--o127-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.o127v3-rite-button[hidden]{display:none}
.o127v3-rite-button:disabled{opacity:.45;cursor:wait}
.o127v3-spread-reading{margin:18px 0;padding:15px;border:1px solid rgba(215,181,106,.24);border-radius:16px;background:rgba(4,6,10,.54)}
.o127v3-spread-reading[hidden]{display:none}
.o127v3-spread-reading summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:#f2dfad;font:600 10px var(--o127-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;list-style:none}
.o127v3-spread-reading summary::-webkit-details-marker{display:none}
.o127v3-spread-reading summary::after{content:'+';font-size:20px;font-weight:300;line-height:1;transition:transform .25s ease}
.o127v3-spread-reading details[open] summary::after{transform:rotate(45deg)}
.o127v3-spread-reading-body{padding-top:14px;border-top:1px solid rgba(215,181,106,.18)}
.o127v3-spread-reading-body>small{color:var(--o127-gold-soft);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.o127v3-spread-reading h3{margin:5px 0 12px;color:#f6ebcf;font:500 22px var(--o127-serif)}
.o127v3-position-list{display:grid;gap:8px}
.o127v3-position-list article{padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.018)}
.o127v3-position-list small{display:block;color:var(--o127-gold-soft);font-size:8px;letter-spacing:.09em;text-transform:uppercase}
.o127v3-position-list strong{display:block;margin-top:4px;color:#f1e5c8;font:500 17px var(--o127-serif)}
.o127v3-position-list p{margin:4px 0;color:#d7d2c7;font-size:12px;line-height:1.45}
.o127v3-position-list em{display:block;margin-top:6px;color:#aeb5c4;font-size:10.5px;line-height:1.4}
.o127v3-spread-reading blockquote{margin:13px 0 0;padding:12px 13px;border-left:2px solid var(--o127-gold);background:linear-gradient(90deg,rgba(215,181,106,.08),transparent);color:#efe4ca;font:italic 15px/1.55 var(--o127-serif)}

/* 6.7.8 — sur l’Oracle, la navigation quitte l’écran pendant la lecture. */
body.o127-oracle-active .site-header{position:relative!important;top:auto!important}
body.o127-oracle-active .o127v3-app,
body.o127-oracle-active .o127v3-reading{scroll-margin-top:24px!important}
@media(max-width:700px){
 .o127v3-journeys{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 4px 8px;scrollbar-width:thin}
 .o127v3-journey{flex:0 0 auto;padding-right:15px}
 .o127v3-stage[data-parcours="triangle"] .o127v3-card{width:88px!important}
 .o127v3-stage[data-parcours="croix"] .o127v3-card,
 .o127v3-stage[data-parcours="etoile"] .o127v3-card{width:70px!important}
 .o127v3-stage[data-parcours="croix"] .o127v3-card-name,
 .o127v3-stage[data-parcours="etoile"] .o127v3-card-name{display:none!important}
 .o127v3-stage[data-parcours="croix"] .o127v3-card.is-selected .o127v3-card-name,
 .o127v3-stage[data-parcours="etoile"] .o127v3-card.is-selected .o127v3-card-name{display:block!important;font-size:9px!important}
}

/* 6.4.2 — retournement robuste, lame appelée au centre et lecture ouverte. */
.o127v3-optional{color:var(--o127-gold-soft);font-weight:400;text-transform:none;letter-spacing:.04em}
.o127v3-card-frame{overflow:hidden!important;background:#05070A!important;will-change:transform;transform-origin:center}
.o127v3-card-front,.o127v3-card-back{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:inherit;overflow:hidden!important}
.o127v3-card-front{display:block!important;z-index:4;background:#05070A;opacity:0!important;visibility:hidden!important}
.o127v3-card-back{display:grid!important;z-index:5;opacity:1!important;visibility:visible!important}
.o127v3-card.is-revealed .o127v3-card-front{opacity:1!important;visibility:visible!important}
.o127v3-card.is-revealed .o127v3-card-back{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.o127v3-card:not(.is-revealed) .o127v3-card-name{display:none!important}
.o127v3-card.is-revealed .o127v3-order{opacity:0}
.o127v3-card.is-facedown{cursor:alias}
.o127v3-card.is-turning{pointer-events:none;filter:drop-shadow(0 24px 30px rgba(0,0,0,.72)) drop-shadow(0 0 18px color-mix(in srgb,var(--halo) 48%,transparent))}
@media(prefers-reduced-motion:no-preference){
 .o127v3-card.is-next:not(.is-turning) .o127v3-card-frame{animation:o127-lame-call 1.55s ease-in-out infinite}
 .o127v3-card.is-next:not(.is-turning)::after{content:"TOUCHER";position:absolute;left:50%;bottom:-22px;z-index:20;transform:translateX(-50%);padding:3px 7px;border:1px solid color-mix(in srgb,var(--halo) 58%,transparent);border-radius:999px;background:rgba(5,7,10,.9);color:#f5e8c5;font:600 7px var(--o127-sans);letter-spacing:.14em;white-space:nowrap;animation:o127-touch-call 1.55s ease-in-out infinite}
 .o127v3-card.is-turning{animation:o127-card-flight 1.12s cubic-bezier(.2,.78,.2,1) both}
 .o127v3-card.is-turning .o127v3-card-frame{animation:o127-card-turn 1.12s cubic-bezier(.55,.02,.28,1) both!important}
}
@keyframes o127-lame-call{0%,100%{transform:translateY(0) rotateZ(0);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 0 color-mix(in srgb,var(--halo) 0%,transparent)}50%{transform:translateY(-8px) rotateZ(1.5deg);box-shadow:0 24px 48px rgba(0,0,0,.7),0 0 0 7px color-mix(in srgb,var(--halo) 18%,transparent)}}
@keyframes o127-touch-call{0%,100%{opacity:.5;transform:translateX(-50%) translateY(1px)}50%{opacity:1;transform:translateX(-50%) translateY(-2px)}}
@keyframes o127-card-flight{0%,100%{left:var(--origin-x);top:var(--origin-y)}42%,58%{left:50%;top:50%}}
@keyframes o127-card-turn{0%,100%{transform:scaleX(1) translateY(0)}49%,51%{transform:scaleX(.04) translateY(-10px)}}
.o127v3-after-reading{margin-top:15px;padding-top:14px;border-top:1px solid var(--o127-line)}
.o127v3-after-reading[hidden]{display:none}
.o127v3-after-reading p{margin:0 0 10px;color:#efe4ca;font:500 16px var(--o127-serif)}
.o127v3-after-reading>div{display:flex;gap:8px;flex-wrap:wrap}
.o127v3-after-reading button{padding:10px 13px;border:1px solid rgba(215,181,106,.36);border-radius:999px;background:rgba(201,162,78,.07);color:var(--o127-gold-bright);font:500 9px var(--o127-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.o127v3-after-reading button:hover{background:rgba(201,162,78,.14);border-color:var(--o127-gold-soft)}
@media(prefers-reduced-motion:reduce){.o127v3-card-frame{animation:none!important;transition:none!important}.o127v3-card.is-next .o127v3-card-frame{outline:2px solid var(--halo);outline-offset:3px}}

/* Les formes restent disponibles dans le tirage approfondi ; elles ne concurrencent plus l’action principale. */
.o127v3-journeys{display:none}
.o127v3-form{margin-top:28px;padding-top:24px}
.o127v3-deep-draw{max-width:920px;margin:0 auto;border:1px solid var(--o127-line);border-radius:18px;background:rgba(255,255,255,.012);overflow:hidden}
.o127v3-deep-draw summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 20px;color:var(--o127-gold-soft);cursor:pointer;font:500 11px/1.3 var(--o127-sans);letter-spacing:.13em;text-transform:uppercase}
.o127v3-deep-draw summary::-webkit-details-marker{display:none}
.o127v3-deep-draw summary::before{content:"＋";font-size:18px;line-height:1;font-weight:300}
.o127v3-deep-draw[open] summary::before{content:"−"}
.o127v3-deep-draw[open] summary{border-bottom:1px solid var(--o127-line);background:rgba(201,162,78,.035)}
.o127v3-deep-draw-body{padding:clamp(22px,4vw,38px)}
.o127v3-deep-draw-body>.eyebrow{margin-top:0}

@media(max-width:700px){
 .o127v3-hero{padding-top:18px}
 .o127v3-deep-draw-body{padding:22px 14px}
}

/* ==========================================================
   6.6.0 — UX ORACLE : LE CERCLE EST LE BOUTON
   ========================================================== */
.o127v3-hero{padding:18px 0 0}
.o127v3-hero-logo{width:58px;height:58px;margin-bottom:10px}
.o127v3-hero-kicker{margin:0 0 7px!important;color:var(--o127-gold-soft)!important;font:500 9px/1.2 var(--o127-sans)!important;font-style:normal!important;letter-spacing:.2em;text-transform:uppercase}
.o127v3-hero h2{font-size:clamp(1.65rem,2.5vw,2.2rem)}
.o127v3-hero>p:not(.o127v3-hero-kicker):not(.o127v3-magic-formula){margin-top:.55rem;font-size:clamp(1rem,1.5vw,1.2rem)}
.o127v3-magic-formula{margin-top:8px!important;font-size:10px!important;opacity:.5}

.o127v3-app[data-view="idle"] .o127v3-workspace,
.o127v3-app[data-view="drawing"] .o127v3-workspace{display:block;max-width:700px;margin:10px auto 0}
.o127v3-app[data-view="idle"] .o127v3-reading,
.o127v3-app[data-view="drawing"] .o127v3-reading{display:none}
.o127v3-app[data-view="idle"] .o127v3-stage,
.o127v3-app[data-view="drawing"] .o127v3-stage{max-width:620px}
.o127v3-app[data-view="idle"] .o127v3-actions,
.o127v3-app[data-view="drawing"] .o127v3-actions{display:none}
.o127v3-app[data-view="idle"] .o127v3-cardback-preview,
.o127v3-app[data-view="drawing"] .o127v3-cardback-preview{display:none!important}
.o127v3-app[data-view="reading"] .o127v3-workspace,
.o127v3-app[data-view="ritual"] .o127v3-workspace{grid-template-columns:minmax(440px,1fr) minmax(440px,1fr);gap:32px}
.o127v3-app[data-view="reading"] .o127v3-stage,
.o127v3-app[data-view="ritual"] .o127v3-stage{max-width:600px}

.o127v3-direct-deck{position:absolute;left:50%;top:50%;z-index:40;display:grid;justify-items:center;gap:8px;width:220px;padding:0;border:0;background:transparent;color:var(--o127-ivory);transform:translate(-50%,-46%);cursor:pointer;font-family:var(--o127-sans)}
.o127v3-direct-deck[hidden]{display:none!important}
.o127v3-direct-card{position:relative;display:grid;place-items:center;width:132px;aspect-ratio:5/8;border:1px solid rgba(240,216,154,.68);border-radius:13px;background:radial-gradient(circle at 50% 38%,rgba(104,78,184,.3),transparent 48%),linear-gradient(155deg,#111538,#05070a);box-shadow:0 22px 54px rgba(0,0,0,.62),0 0 0 4px rgba(5,7,10,.9),0 0 0 5px rgba(201,162,78,.24),0 0 38px rgba(201,162,78,.16);transition:transform .22s ease,box-shadow .22s ease}
.o127v3-direct-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(240,216,154,.2);border-radius:8px}
.o127v3-direct-card img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit;filter:drop-shadow(0 0 18px rgba(240,216,154,.3))}
.o127v3-direct-deck strong{margin-top:8px;color:#f7e7bd;font:500 23px/1 var(--o127-serif);letter-spacing:.03em}
.o127v3-direct-deck small{color:#aaa392;font-size:10px;letter-spacing:.08em}
.o127v3-direct-deck:hover .o127v3-direct-card{transform:translateY(-6px) rotate(1.2deg);box-shadow:0 30px 64px rgba(0,0,0,.68),0 0 0 4px rgba(5,7,10,.9),0 0 0 5px rgba(240,216,154,.38),0 0 48px rgba(201,162,78,.27)}
.o127v3-direct-deck:active .o127v3-direct-card{transform:translateY(-1px) scale(.98)}
.o127v3-direct-deck:focus-visible{outline:2px solid var(--o127-gold-bright);outline-offset:9px;border-radius:18px}

.o127v3-stage.is-direct-drawing::after{content:"";position:absolute;left:50%;top:50%;width:42%;aspect-ratio:1;border:1px solid rgba(240,216,154,.7);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:o127-direct-wave .82s ease-out both}
.o127v3-card.is-direct-flight{z-index:60!important}
.o127v3-card.is-direct-suspended{z-index:61!important;filter:drop-shadow(0 28px 36px rgba(0,0,0,.78)) drop-shadow(0 0 28px var(--halo))}
.o127v3-card.is-direct-revealed .o127v3-card-frame{animation:o127-direct-turn .52s cubic-bezier(.55,.02,.25,1) both}
@media(prefers-reduced-motion:no-preference){
 .o127v3-app[data-view="idle"] .o127v3-direct-card{animation:o127-direct-breathe 3.6s ease-in-out infinite}
 .o127v3-app[data-view="idle"] .o127v3-ring{animation:o127-direct-ring 9s ease-in-out infinite}
 .o127v3-card.is-direct-flight{animation:o127-direct-flight .76s cubic-bezier(.18,.8,.2,1) both}
 .o127v3-card.is-direct-suspended .o127v3-card-frame{animation:o127-direct-suspension .46s ease-in-out infinite alternate}
 .o127v3-reading.is-oracle-arriving{animation:o127-oracle-arrival .68s cubic-bezier(.2,.75,.25,1) both}
}
@keyframes o127-direct-breathe{0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-5px);filter:brightness(1.08)}}
@keyframes o127-direct-ring{0%,100%{opacity:.64;filter:drop-shadow(0 0 7px rgba(201,162,78,.28))}50%{opacity:1;filter:drop-shadow(0 0 18px rgba(240,216,154,.5))}}
@keyframes o127-direct-flight{0%{opacity:0;transform:translate(-50%,14%) scale(.62) rotate(-8deg)}58%{opacity:1;transform:translate(-50%,-56%) scale(1.08) rotate(1.6deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes o127-direct-turn{0%,100%{transform:scaleX(1)}48%,52%{transform:scaleX(.035)}}
@keyframes o127-direct-wave{0%{opacity:.7;transform:translate(-50%,-50%) scale(.45)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
@keyframes o127-direct-suspension{from{transform:translateY(-2px) scale(1);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 8px color-mix(in srgb,var(--halo) 35%,transparent)}to{transform:translateY(-9px) scale(1.025);box-shadow:0 26px 54px rgba(0,0,0,.72),0 0 26px color-mix(in srgb,var(--halo) 65%,transparent)}}
@keyframes o127-oracle-arrival{0%{opacity:.35;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}

.o127v3-after-reading>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.o127v3-after-reading button{min-height:42px;text-align:center}
.o127v3-after-reading [data-o127v3-restart]{border-color:var(--o127-gold-bright);background:linear-gradient(180deg,var(--o127-gold-bright),var(--o127-gold));color:#211807;font-weight:700}

/* 6.6.1 — le thème parent dimensionne ses sections comme des écrans complets.
   Le moteur Oracle neutralise cet héritage pour garder une lecture compacte. */
.o127v3-app .o127v3-reading{
 min-width:0!important;
 min-height:0!important;
 height:auto!important;
 align-self:start!important;
 padding:24px!important;
}
.o127v3-app .o127v3-reading [data-o127v3-sections]{min-height:0!important;height:auto!important}
.o127v3-app[data-has-reading="false"] .o127v3-reading [data-o127v3-sections],
.o127v3-app[data-has-reading="false"] .o127v3-reading .o127v3-flow,
.o127v3-app[data-has-reading="false"] .o127v3-reading .o127v3-reading-details-label,
.o127v3-app[data-has-reading="false"] .o127v3-reading .o127v3-after-reading,
.o127v3-app[data-has-reading="false"] .o127v3-reading .o127v3-quote{display:none!important}
.o127v3-app .o127v3-reading .o127v3-rsec{
 display:block!important;
 min-height:0!important;
 height:auto!important;
 margin:0!important;
 padding:0!important;
}
.o127v3-app .o127v3-reading .o127v3-rsec-head{
 min-height:0!important;
 height:auto!important;
 margin:0!important;
 padding:14px 2px!important;
}
.o127v3-app .o127v3-reading .o127v3-rsec-body{
 min-height:0!important;
 height:auto!important;
 margin:0!important;
 padding:0!important;
}
.o127v3-app .o127v3-reading .o127v3-spread-reading{
 display:block;
 min-height:0!important;
 height:auto!important;
 margin:16px 0!important;
 padding:15px!important;
}
.o127v3-app .o127v3-reading .o127v3-spread-reading[hidden]{display:none!important}
.o127v3-app .o127v3-intro{margin-bottom:16px}
.o127v3-app .o127v3-after-reading{margin-top:14px;padding-top:14px}
.o127v3-app .o127v3-quote{margin-top:14px}

@media(max-width:980px){
 .o127v3-app[data-view="reading"] .o127v3-workspace,
 .o127v3-app[data-view="ritual"] .o127v3-workspace{grid-template-columns:1fr}
}
@media(max-width:700px){
 .o127v3-hero{padding-top:10px}
 .o127v3-hero-logo{width:50px;height:50px}
 .o127v3-magic-formula{display:none}
 .o127v3-app[data-view="idle"] .o127v3-workspace,
 .o127v3-app[data-view="drawing"] .o127v3-workspace{margin-top:2px}
 .o127v3-app[data-view="idle"] .o127v3-stage,
 .o127v3-app[data-view="drawing"] .o127v3-stage{width:min(100%,520px)}
 .o127v3-direct-deck{width:190px}
 .o127v3-direct-card{width:112px}
 .o127v3-direct-deck strong{font-size:21px}
 .o127v3-after-reading>div{grid-template-columns:1fr}
 .o127v3-after-reading [data-o127v3-restart]{grid-column:auto}
 .o127v3-science{grid-template-columns:56px minmax(0,1fr)}
 .o127v3-science-visual{width:56px}
}

/* 6.7.5 — une parole continue avant les repères détaillés */
.o127v3-flow{
 position:relative;
 max-width:60ch;
 margin:18px 0 4px;
 padding:20px 20px 18px;
 border-left:2px solid var(--halo,var(--o127-gold));
 border-radius:0 14px 14px 0;
 background:linear-gradient(105deg,color-mix(in srgb,var(--halo,var(--o127-gold)) 9%,transparent),rgba(255,255,255,.018) 72%);
}
.o127v3-flow[hidden]{display:none!important}
.o127v3-flow>small{
 display:block;
 margin-bottom:10px;
 color:var(--halo,var(--o127-gold-soft));
 font:600 9px/1.2 var(--o127-sans);
 letter-spacing:.16em;
 text-transform:uppercase;
}
.o127v3-flow p{max-width:56ch;margin:0;color:#d8d2c6;font-size:15px;line-height:1.68}
.o127v3-flow p+p{margin-top:9px}
.o127v3-flow .o127v3-flow-lead{
 color:#f3e8cf;
 font:italic 21px/1.42 var(--o127-serif);
}
.o127v3-flow .o127v3-flow-close{color:#f0dfb8}
.o127v3-reading-details-label{
 display:flex;
 align-items:baseline;
 gap:9px;
 margin:22px 0 3px;
 color:var(--o127-muted);
}
.o127v3-reading-details-label[hidden]{display:none!important}
.o127v3-reading-details-label small{color:var(--o127-gold-soft);font:600 9px/1 var(--o127-sans);letter-spacing:.15em;text-transform:uppercase}
.o127v3-reading-details-label span{font-size:12px;line-height:1.4}
.o127v3-app .o127v3-after-reading{margin-top:16px;padding-top:16px}
.o127v3-next-draw{
 margin:16px 0 4px;
 padding:14px 14px 12px;
 border:1px solid rgba(215,181,106,.18);
 border-radius:15px;
 background:linear-gradient(115deg,rgba(9,16,25,.96),rgba(23,23,31,.92));
 overflow:hidden;
}
.o127v3-after-reading[hidden]+.o127v3-next-draw{display:none!important}
.o127v3-next-draw>header{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:center}
.o127v3-next-draw figure{width:64px;height:78px;margin:0;overflow:hidden;border:1px solid rgba(215,181,106,.28);border-radius:10px;background:#05070a}
.o127v3-next-draw img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;opacity:.86}
.o127v3-next-draw small{display:block;color:var(--o127-gold-soft);font:600 9px/1.2 var(--o127-sans);letter-spacing:.14em;text-transform:uppercase}
.o127v3-next-draw p{margin:5px 0 0;color:#d8d2c6;font-size:13px;line-height:1.45}
.o127v3-reading-fan{
 display:flex;
 justify-content:center;
 align-items:flex-start;
 min-height:148px;
 margin-top:5px;
 padding:18px 12px 8px;
 perspective:900px;
}
.o127v3-reading-fan button{
 position:relative;
 flex:0 0 62px;
 width:62px;
 height:104px;
 margin-inline:-5px;
 padding:0;
 border:1px solid rgba(231,197,116,.62);
 border-radius:9px;
 background:
  radial-gradient(circle at 50% 43%,rgba(222,180,80,.2) 0 2px,transparent 3px 12px,rgba(222,180,80,.11) 13px 14px,transparent 15px),
  radial-gradient(circle at 50% 45%,rgba(36,60,91,.5),transparent 43%),
  linear-gradient(165deg,#141b31,#070a12 72%);
 box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 0 0 3px rgba(4,7,13,.94),inset 0 0 0 4px rgba(215,181,106,.18);
 color:#f1dfad;
 cursor:pointer;
 transform-origin:50% 126%;
 transform:translateY(var(--lift)) rotate(var(--turn));
 transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease;
 animation:o127-fan-arrive .45s cubic-bezier(.2,.78,.24,1) var(--delay) both;
}
.o127v3-reading-fan button::before{
 content:"";
 position:absolute;
 inset:7px;
 border:1px solid rgba(215,181,106,.24);
 border-radius:5px;
 background:radial-gradient(circle at center,rgba(215,181,106,.1),transparent 46%);
 pointer-events:none;
}
.o127v3-reading-fan button::after{
 content:"127";
 position:absolute;
 inset:40px 0 auto;
 color:rgba(232,201,126,.74);
 font:500 11px/1 var(--o127-serif);
 letter-spacing:.04em;
}
.o127v3-reading-fan button span{position:absolute;top:15px;inset-inline:0;color:#d7b56a;font:600 8px/1 var(--o127-sans);letter-spacing:.08em}
.o127v3-reading-fan button strong{position:absolute;top:111px;left:50%;width:76px;transform:translateX(-50%) rotate(calc(-1 * var(--turn)));color:#cfc6b5;font:600 8px/1.15 var(--o127-sans);letter-spacing:.05em;text-transform:uppercase;transition:color .2s ease}
.o127v3-reading-fan button:hover,.o127v3-reading-fan button:focus-visible,.o127v3-reading-fan button.is-chosen{
 z-index:4;
 border-color:#f1cf79;
 filter:brightness(1.18);
 transform:translateY(calc(var(--lift) - 15px)) rotate(0deg) scale(1.08);
 box-shadow:0 18px 36px rgba(0,0,0,.48),0 0 24px rgba(215,181,106,.22),inset 0 0 0 3px rgba(4,7,13,.94),inset 0 0 0 4px rgba(241,207,121,.36);
}
.o127v3-reading-fan button:hover strong,.o127v3-reading-fan button:focus-visible strong,.o127v3-reading-fan button.is-chosen strong{color:#fff0c8}
.o127v3-reading-fan button:focus-visible{outline:2px solid #fff0c8;outline-offset:3px}
.o127v3-reading-fan button.is-chosen{animation:o127-card-chosen .36s ease both}
@keyframes o127-fan-arrive{from{opacity:0;filter:blur(3px) brightness(.7)}to{opacity:1;filter:none}}
@keyframes o127-card-chosen{50%{box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 38px rgba(241,207,121,.48),inset 0 0 0 3px rgba(4,7,13,.94),inset 0 0 0 4px rgba(241,207,121,.5)}}

@media(max-width:700px){
 .o127v3-flow{padding:17px 15px 16px;margin-top:15px}
 .o127v3-flow .o127v3-flow-lead{font-size:19px}
 .o127v3-flow p{font-size:14px;line-height:1.62}
 .o127v3-reading-details-label{display:block}
 .o127v3-reading-details-label span{display:block;margin-top:5px}
 .o127v3-next-draw{padding:11px 8px 9px}
 .o127v3-next-draw>header{grid-template-columns:54px minmax(0,1fr);padding-inline:3px}
 .o127v3-next-draw figure{width:54px;height:68px}
 .o127v3-reading-fan{justify-content:flex-start;min-height:132px;margin-inline:-3px;padding:16px 12px 7px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}
 .o127v3-reading-fan button{flex-basis:54px;width:54px;height:91px;margin-inline:-3px;scroll-snap-align:center}
 .o127v3-reading-fan button::after{inset-block-start:35px;font-size:10px}
 .o127v3-reading-fan button strong{top:98px;width:66px;font-size:7px}
}

@media(prefers-reduced-motion:reduce){
 .o127v3-reading-fan button{animation:none;transition:none}
 .o127v3-reading-fan button.is-chosen{animation:none}
}

/* 6.7.3 — parcours visible et préoccupations incarnées */
.o127v3-concerns{max-width:900px;margin:18px auto 8px;text-align:center}
.o127v3-concerns>p{margin:0 0 10px;color:#d8d0bf;font:italic 17px/1.3 var(--o127-serif)}
.o127v3-concerns>p small{color:var(--o127-muted);font:500 9px/1 var(--o127-sans);letter-spacing:.12em;text-transform:uppercase}
.o127v3-concerns>div{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.o127v3-concerns button{min-height:36px;padding:8px 13px;border:1px solid rgba(215,181,106,.2);border-radius:999px;background:rgba(255,255,255,.018);color:#c9c3b7;font:500 10px/1 var(--o127-sans);letter-spacing:.04em;cursor:pointer;transition:.2s}
.o127v3-concerns button:hover,.o127v3-concerns button.is-active{border-color:var(--o127-gold-soft);background:rgba(201,162,78,.1);color:#f4e6bf;transform:translateY(-1px)}
.o127v3-concerns button.is-global{border-color:var(--o127-gold-bright);background:linear-gradient(180deg,var(--o127-gold-bright),var(--o127-gold));color:#211807;font-weight:700}
.o127v3-reading>.o127v3-rite-controls{max-width:none;margin:14px 0 18px;padding:16px;background:linear-gradient(135deg,rgba(201,162,78,.11),rgba(9,13,22,.92));box-shadow:0 12px 34px rgba(0,0,0,.24)}
.o127v3-reading>.o127v3-rite-controls .o127v3-rite-actions{display:block}
.o127v3-reading>.o127v3-rite-controls .o127v3-rite-button{width:100%;min-height:46px;font-size:11px}
.o127v3-stage[data-parcours="global"] .o127v3-card{width:76px}
.o127v3-stage[data-parcours="global"].is-global-choosing .o127v3-card{width:50px!important}
.o127v3-stage.is-global-choosing .o127v3-card-label{display:none}
.o127v3-stage.is-global-choosing .o127v3-card.is-choice{z-index:24;cursor:pointer;filter:brightness(.86);transition:left .42s ease,top .42s ease,width .42s ease,filter .2s ease,opacity .28s ease,transform .2s ease}
.o127v3-stage.is-global-choosing .o127v3-card.is-choice:hover,.o127v3-stage.is-global-choosing .o127v3-card.is-choice:focus-visible{filter:brightness(1.18) drop-shadow(0 0 10px rgba(215,181,106,.5));transform:translate(-50%,-54%) scale(1.08)}
.o127v3-stage.is-global-choosing .o127v3-card.is-chosen{z-index:40!important;width:76px!important;filter:brightness(1.15) drop-shadow(0 0 12px rgba(215,181,106,.48));pointer-events:none}
.o127v3-stage.is-global-choosing .o127v3-card.is-chosen .o127v3-card-label{display:block}
.o127v3-stage.is-global-choosing .o127v3-card.is-dismissed{opacity:0!important;transform:translate(-50%,-50%) scale(.72)!important;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
 .o127v3-app[data-view="ritual"] .o127v3-reading>.o127v3-rite-controls{animation:o127-ritual-arrival .5s cubic-bezier(.2,.75,.25,1) both}
 .o127v3-stage[data-parcours="global"] .o127v3-card.is-turning{animation:o127-card-flight 1.12s cubic-bezier(.2,.78,.2,1) both}
 .o127v3-stage.is-global-choosing .o127v3-card.is-choice{animation:o127-choice-breathe 2.2s ease-in-out infinite}
}
@keyframes o127-ritual-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes o127-choice-breathe{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.04) drop-shadow(0 0 7px rgba(215,181,106,.26))}}
@media(max-width:700px){
 .o127v3-concerns{margin:12px auto 4px;padding:0 8px}
 .o127v3-concerns>div{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
 .o127v3-concerns button{flex:0 0 auto}
 .o127v3-stage[data-parcours="global"] .o127v3-card{width:48px!important}
 .o127v3-stage[data-parcours="global"].is-global-choosing .o127v3-card{width:34px!important}
 .o127v3-stage[data-parcours="global"].is-global-choosing .o127v3-card.is-chosen{width:48px!important}
}

/* 6.7.4 — espace de tirage stable, même sous les styles du thème parent */
.o127v3-app{scroll-margin-top:calc(var(--header-height,72px) + var(--sisters-height,48px) + 18px)}
.o127v3-app .o127v3-hero{padding-top:clamp(42px,5vw,76px)!important}
.o127v3-app .o127v3-concerns{
 position:relative!important;
 z-index:80!important;
 width:min(100%,980px)!important;
 padding-inline:16px!important;
}
.o127v3-concerns button.is-gates{border-color:rgba(169,143,208,.48);color:#ded2f2;background:rgba(169,143,208,.07)}
.o127v3-concerns button.is-gates:hover,.o127v3-concerns button.is-gates:focus-visible{border-color:#c7afe7;background:rgba(169,143,208,.14);color:#fff7df}
.o127v3-concerns button.is-daily{border-color:rgba(240,216,154,.54);color:#f4dfa9;background:linear-gradient(180deg,rgba(240,216,154,.12),rgba(201,162,78,.04))}
.o127v3-concerns button.is-daily-sister{border-color:rgba(126,147,173,.52);color:#dce7f0;background:linear-gradient(180deg,rgba(126,147,173,.14),rgba(126,147,173,.035))}
.o127v3-concerns button.is-daily:hover,.o127v3-concerns button.is-daily-sister:hover,.o127v3-concerns button.is-daily:focus-visible,.o127v3-concerns button.is-daily-sister:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.25)}
.o127v3-daily-companion{display:grid;grid-template-columns:84px minmax(0,1fr);gap:15px;align-items:center;margin-top:16px;padding:14px;border:1px solid rgba(215,181,106,.24);border-radius:15px;background:linear-gradient(135deg,rgba(215,181,106,.09),rgba(9,13,22,.78));box-shadow:0 14px 34px rgba(0,0,0,.2)}
.o127v3-daily-companion[hidden]{display:none!important}
.o127v3-daily-companion img{display:block;width:84px;height:104px;object-fit:cover;object-position:50% 18%;border:1px solid rgba(240,216,154,.36);border-radius:10px;background:#05070a;box-shadow:0 10px 26px rgba(0,0,0,.42)}
.o127v3-daily-companion small{display:block;color:var(--o127-gold-soft);font:600 9px/1.3 var(--o127-sans);letter-spacing:.12em;text-transform:uppercase}
.o127v3-daily-companion h3{margin:5px 0 7px;color:#f4ead0;font:500 23px/1.05 var(--o127-serif)}
.o127v3-daily-companion p{margin:0;color:#d7d2c7;font-size:13.5px;line-height:1.55}
.o127v3-reading.is-card-focus{animation:o127-reading-focus .56s ease both}
.o127v3-stage[data-parcours="global"] .o127v3-card.is-revealed{pointer-events:auto;cursor:pointer}
@keyframes o127-reading-focus{0%{box-shadow:0 24px 60px rgba(0,0,0,.35)}45%{box-shadow:0 0 0 1px var(--halo,#c9a24e),0 24px 72px color-mix(in srgb,var(--halo,#c9a24e) 28%,transparent)}100%{box-shadow:0 24px 60px rgba(0,0,0,.35)}}
.o127v3-app[data-view="idle"] .o127v3-workspace,
.o127v3-app[data-view="drawing"] .o127v3-workspace{
 display:block!important;
 position:relative!important;
 width:min(100%,760px)!important;
 max-width:760px!important;
 min-width:0!important;
 min-height:0!important;
 margin:18px auto 0!important;
 padding:0!important;
 clear:both!important;
}
.o127v3-app[data-view="idle"] .o127v3-stage-col,
.o127v3-app[data-view="drawing"] .o127v3-stage-col{
 display:block!important;
 position:relative!important;
 width:100%!important;
 min-width:0!important;
 margin:0!important;
}
.o127v3-app[data-view="idle"] .o127v3-stage,
.o127v3-app[data-view="drawing"] .o127v3-stage{
 display:block!important;
 position:relative!important;
 width:min(100%,680px)!important;
 max-width:680px!important;
 height:clamp(500px,34vw,590px)!important;
 min-height:500px!important;
 aspect-ratio:auto!important;
 margin:0 auto!important;
 overflow:visible!important;
 isolation:isolate!important;
}
.o127v3-app[data-view="idle"] .o127v3-direct-deck,
.o127v3-app[data-view="drawing"] .o127v3-direct-deck{
 left:50%!important;
 top:50%!important;
 margin:0!important;
 transform:translate(-50%,-50%)!important;
}
.o127v3-app .o127v3-form{
 display:block!important;
 position:relative!important;
 z-index:5!important;
 width:100%!important;
 min-height:0!important;
 height:auto!important;
 margin-top:24px!important;
 clear:both!important;
}
@media(max-width:700px){
 .o127v3-app .o127v3-hero{padding-top:34px!important}
 .o127v3-app .o127v3-concerns{padding-inline:8px!important}
 .o127v3-app[data-view="idle"] .o127v3-workspace,
 .o127v3-app[data-view="drawing"] .o127v3-workspace{margin-top:8px!important}
 .o127v3-app[data-view="idle"] .o127v3-stage,
 .o127v3-app[data-view="drawing"] .o127v3-stage{
  width:min(100%,520px)!important;
  height:clamp(390px,118vw,510px)!important;
  min-height:390px!important;
 }
 .o127v3-app .o127v3-form{margin-top:12px!important}
 .o127v3-daily-companion{grid-template-columns:66px minmax(0,1fr);gap:12px;padding:12px}
 .o127v3-daily-companion img{width:66px;height:84px}
 .o127v3-daily-companion h3{font-size:20px}
}

/* 6.8.0 — sept lames lisibles, sans chevauchement ni double légende. */
.o127v3-stage[data-parcours="cercle"] .o127v3-card{
 width:clamp(72px,7vw,86px)!important;
 max-width:86px!important;
}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-label{
 width:104px!important;
 max-width:104px!important;
 padding:5px 6px!important;
 border:1px solid rgba(215,181,106,.14);
 border-radius:8px;
 background:rgba(4,6,10,.84);
 box-shadow:0 5px 16px rgba(0,0,0,.28);
 pointer-events:none;
}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-eyebrow{
 display:block!important;
 color:#eed28a!important;
 font-size:9px!important;
 line-height:1.15!important;
 letter-spacing:.11em!important;
}
.o127v3-stage[data-parcours="cercle"] .o127v3-card-name{display:none!important}
.o127v3-stage[data-parcours="cercle"] .o127v3-card.is-selected .o127v3-card-label{
 border-color:var(--halo,#c9a24e);
 background:rgba(7,10,16,.94);
}
@media(max-width:700px){
 .o127v3-stage[data-parcours="cercle"] .o127v3-card{width:58px!important;max-width:58px!important}
 .o127v3-stage[data-parcours="cercle"] .o127v3-card-label{width:68px!important;max-width:68px!important;padding:4px!important}
 .o127v3-stage[data-parcours="cercle"] .o127v3-card-eyebrow{font-size:7px!important;letter-spacing:.07em!important}
}

/* Une lecture principale unique : cinq clés utilisables, les détails restent facultatifs. */
.o127v3-practical{margin-top:18px;padding:18px;border:1px solid rgba(215,181,106,.28);border-radius:18px;background:linear-gradient(145deg,rgba(215,181,106,.075),rgba(8,12,20,.8));box-shadow:0 18px 44px rgba(0,0,0,.22)}
.o127v3-practical[hidden]{display:none!important}
.o127v3-practical header{margin-bottom:13px;padding-bottom:13px;border-bottom:1px solid rgba(215,181,106,.18)}
.o127v3-practical header>small{display:block;color:var(--o127-gold-soft);font:700 9px/1.2 var(--o127-sans);letter-spacing:.16em;text-transform:uppercase}
.o127v3-practical h3{margin:6px 0 4px;color:#f6ecd4;font:500 clamp(22px,2vw,28px)/1.12 var(--o127-serif)}
.o127v3-practical header p{margin:0;color:#aaa69d;font-size:12px;line-height:1.45}
.o127v3-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.o127v3-practical-grid article{min-width:0;padding:12px 13px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(3,6,11,.55)}
.o127v3-practical-grid article>span{display:block;margin-bottom:6px;color:#d5b765;font:700 9px/1.25 var(--o127-sans);letter-spacing:.1em;text-transform:uppercase}
.o127v3-practical-grid article p{margin:0;color:#e0dcd3;font-size:13.5px;line-height:1.52}
.o127v3-practical-grid .is-issue,.o127v3-practical-grid .is-action{grid-column:1/-1}
.o127v3-practical-grid .is-issue{border-left:3px solid #8ca9bc}
.o127v3-practical-grid .is-action{border-color:rgba(215,181,106,.42);background:linear-gradient(90deg,rgba(215,181,106,.13),rgba(3,6,11,.58))}
.o127v3-practical-grid .is-action p{color:#fff2ce;font-weight:600}
.o127v3-practical-grid .is-action small{display:block;margin-top:7px;color:#d5b765;font:700 10px/1.3 var(--o127-sans);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:600px){.o127v3-practical{padding:14px}.o127v3-practical-grid{grid-template-columns:1fr}.o127v3-practical-grid .is-issue,.o127v3-practical-grid .is-action{grid-column:auto}}

/* Sœur du jour : présence, carte, conseil et rituel dans un seul bloc. */
.o127v3-daily-companion{grid-template-columns:146px minmax(0,1fr)}
.o127v3-daily-visuals{position:relative;width:140px;height:132px}
.o127v3-daily-visuals img{position:absolute!important;width:82px!important;height:112px!important;object-fit:cover!important}
.o127v3-daily-visuals [data-o127v3-daily-portrait]{left:0;top:0;z-index:1;transform:rotate(-4deg)}
.o127v3-daily-visuals [data-o127v3-daily-card-art]{right:0;bottom:0;z-index:2;transform:rotate(5deg);object-fit:contain!important;background:#06080e}
.o127v3-daily-card-name,.o127v3-daily-guidance,.o127v3-daily-ritual{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;margin:8px 0 0!important;padding-top:8px;border-top:1px solid rgba(215,181,106,.13)}
.o127v3-daily-card-name strong,.o127v3-daily-guidance strong,.o127v3-daily-ritual strong{color:#d5b765;font:700 9px/1.35 var(--o127-sans);letter-spacing:.08em;text-transform:uppercase}
.o127v3-daily-card-name span,.o127v3-daily-guidance span,.o127v3-daily-ritual span{color:#ded9cf;font-size:12.5px;line-height:1.48}
.o127v3-daily-ritual span{color:#fff0c9}
@media(max-width:600px){
 .o127v3-daily-companion{grid-template-columns:1fr}
 .o127v3-daily-visuals{width:124px;height:116px;margin:auto}
 .o127v3-daily-visuals img{width:72px!important;height:100px!important}
 .o127v3-daily-card-name,.o127v3-daily-guidance,.o127v3-daily-ritual{grid-template-columns:78px minmax(0,1fr)}
}

/* 7.3.0 — Rencontre quotidienne : une promesse, une action, une mémoire. */
.o127v3-daily-invitation{margin-bottom:10px!important;color:#f2dea8!important;font-family:var(--o127-serif)!important;font-size:clamp(20px,3vw,28px)!important;letter-spacing:.02em!important;text-transform:none!important}
.o127v3-concerns>div:first-of-type{display:flex;justify-content:center}
.o127v3-concerns button.is-daily{min-height:58px;padding:15px 28px;border-color:#e2c779;color:#17120a;background:linear-gradient(135deg,#f4e3b5,#c9a24e);box-shadow:0 16px 44px rgba(201,162,78,.28);font-size:13px;letter-spacing:.08em}
.o127v3-concerns button.is-daily:hover,.o127v3-concerns button.is-daily:focus-visible{box-shadow:0 20px 54px rgba(201,162,78,.42)}
.o127v3-concerns button.is-daily.is-returning{color:#f5e8c8;background:rgba(201,162,78,.1);box-shadow:inset 0 0 0 1px rgba(201,162,78,.25)}
.o127v3-other-paths{max-width:900px;margin:18px auto 0;text-align:center}
.o127v3-other-paths summary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;color:#b9bfd0;font:600 11px/1.2 var(--o127-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.o127v3-other-paths summary::marker{color:#c9a24e}
.o127v3-other-paths>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding-top:12px}
.o127v3-daily-companion{grid-template-columns:146px minmax(0,1fr)!important;gap:18px!important;padding:18px!important;background:radial-gradient(circle at 15% 10%,rgba(201,162,78,.12),transparent 38%),linear-gradient(145deg,rgba(11,16,29,.98),rgba(5,7,12,.98))!important}
.o127v3-sky{grid-column:1/-1;display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid rgba(169,143,208,.24);border-radius:13px;background:rgba(169,143,208,.065)}
.o127v3-sky>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(215,207,249,.38);border-radius:50%;color:#e4d8ff;font-size:24px;box-shadow:0 0 24px rgba(169,143,208,.2)}
.o127v3-sky p{display:grid;gap:2px!important;margin:0!important;padding:0!important;border:0!important}
.o127v3-sky small{color:#bfa9dd!important}
.o127v3-sky strong{color:#f4ead0;font:500 18px/1.1 var(--o127-serif)}
.o127v3-sky p span{color:#bfc4d2;font-size:12px;line-height:1.45}
.o127v3-daily-companion>div:nth-of-type(2){min-width:0}
.o127v3-daily-keys{display:grid;gap:8px;margin-top:12px}
.o127v3-daily-keys p{display:grid;grid-template-columns:116px minmax(0,1fr);gap:10px;margin:0!important;padding:10px 0!important;border-top:1px solid rgba(215,181,106,.13)!important}
.o127v3-daily-keys p.is-action{margin-top:2px!important;padding:12px!important;border:1px solid rgba(215,181,106,.28)!important;border-radius:12px;background:rgba(215,181,106,.075)}
.o127v3-daily-keys strong{color:#d5b765;font:700 9px/1.35 var(--o127-sans);letter-spacing:.08em;text-transform:uppercase}
.o127v3-daily-keys span{color:#ded9cf;font-size:13px;line-height:1.5}
.o127v3-daily-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.o127v3-daily-actions button,.o127v3-daily-actions a,.o127v3-evening button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid rgba(215,181,106,.32);border-radius:999px;background:rgba(255,255,255,.025);color:#e9ddbd;font:700 10px/1.2 var(--o127-sans);letter-spacing:.05em;cursor:pointer}
.o127v3-daily-actions button:first-child{border-color:#d5b765;background:linear-gradient(135deg,#eed79d,#b99039);color:#1f1708}
.o127v3-daily-actions button:disabled{opacity:.72;cursor:default}
.o127v3-evening,.o127v3-constellation{grid-column:1/-1;margin-top:2px;padding:16px;border:1px solid rgba(215,181,106,.2);border-radius:14px;background:rgba(255,255,255,.022)}
.o127v3-evening[hidden]{display:none!important}
.o127v3-evening small,.o127v3-constellation small{color:#d5b765;font:700 9px/1.3 var(--o127-sans);letter-spacing:.12em;text-transform:uppercase}
.o127v3-evening h4{margin:5px 0 4px;color:#f4ead0;font:500 21px/1.15 var(--o127-serif)}
.o127v3-evening p{margin:0 0 12px!important;color:#bfc4d2!important;font-size:12.5px!important}
.o127v3-evening>div{display:flex;flex-wrap:wrap;gap:8px}
.o127v3-evening button.is-selected{border-color:#e2c779;background:rgba(226,199,121,.14);color:#fff0c9}
.o127v3-evening output{display:block;min-height:18px;margin-top:10px;color:#aebf9d;font-size:12px}
.o127v3-constellation{display:grid;grid-template-columns:minmax(155px,.7fr) minmax(180px,1.3fr);gap:12px 18px;align-items:center}
.o127v3-constellation>div:first-child{display:grid;gap:4px}
.o127v3-constellation strong{color:#f4ead0;font:500 20px/1.1 var(--o127-serif)}
.o127v3-constellation span{color:#adb4c5;font-size:11px;line-height:1.4}
.o127v3-constellation-sky{position:relative;display:grid!important;grid-template-columns:repeat(7,1fr);gap:7px;min-height:54px;padding:10px;border-radius:12px;background:radial-gradient(circle at 30% 30%,rgba(169,143,208,.13),transparent 50%),#060812}
.o127v3-constellation-sky span{display:block;width:7px;height:7px;justify-self:center;align-self:center;border-radius:50%;background:#7d8190;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.o127v3-constellation-sky span.is-complete{background:#f0d58d;box-shadow:0 0 10px #d5b765}
.o127v3-constellation-sky span.is-new{grid-column:4;background:#d7cff9;box-shadow:0 0 14px #a98fd0}
.o127v3-constellation progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:999px;overflow:hidden;background:#171b26}
.o127v3-constellation progress::-webkit-progress-bar{background:#171b26}
.o127v3-constellation progress::-webkit-progress-value{background:linear-gradient(90deg,#a98fd0,#d5b765)}
.o127v3-constellation progress::-moz-progress-bar{background:linear-gradient(90deg,#a98fd0,#d5b765)}
.o127v3-app[data-daily-reading="true"] .o127v3-next-draw,.o127v3-app[data-daily-reading="true"] .o127v3-reading-details-label{display:none!important}
@media(max-width:620px){
 .o127v3-concerns button.is-daily{width:100%;font-size:11px}
 .o127v3-daily-companion{grid-template-columns:1fr!important;padding:14px!important}
 .o127v3-sky,.o127v3-evening,.o127v3-constellation{grid-column:1}
 .o127v3-daily-keys p{grid-template-columns:1fr;gap:4px}
 .o127v3-daily-actions>*{width:100%}
 .o127v3-evening>div{display:grid}
 .o127v3-constellation{grid-template-columns:1fr}
 .o127v3-constellation progress{grid-column:1}
}


/* =========================================================
   7.3.20 — LE PASSAGE, tirage central 127
   ========================================================= */
.o127v3-passage-entry{
  width:min(860px,calc(100% - 24px));margin:28px auto 34px;padding:clamp(22px,4vw,34px);
  border:1px solid rgba(223,194,125,.34);border-radius:24px;text-align:center;
  background:radial-gradient(circle at 50% 0%,rgba(98,80,118,.20),transparent 55%),rgba(255,255,255,.018);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}
.o127v3-passage-kicker{margin:0 0 7px;color:var(--o127-gold-soft);font:700 9px/1.3 var(--o127-sans);letter-spacing:.19em;text-transform:uppercase}
.o127v3-passage-entry h3{margin:0;color:#f7ecd2;font:500 clamp(2rem,4vw,3.1rem)/1 var(--o127-serif)}
.o127v3-passage-entry>p:not(.o127v3-passage-kicker){max-width:650px;margin:12px auto 20px;color:var(--o127-muted);font:400 16px/1.65 var(--o127-sans)}
.o127v3-passage-question{display:grid;gap:7px;max-width:650px;margin:0 auto 14px;text-align:left}
.o127v3-passage-question span{color:#c9c1b2;font:600 10px/1.3 var(--o127-sans);letter-spacing:.08em;text-transform:uppercase}
.o127v3-passage-question em{font-style:normal;color:#8e887c;font-weight:400}
.o127v3-passage-question input{width:100%;min-height:50px;padding:12px 15px;border:1px solid rgba(223,194,125,.22);border-radius:12px;background:#080a12;color:#f1e7d1;font:400 15px/1.4 var(--o127-sans);outline:none}
.o127v3-passage-question input:focus{border-color:rgba(223,194,125,.62);box-shadow:0 0 0 3px rgba(223,194,125,.08)}
.o127v3-passage-launch{min-height:52px;padding:14px 28px;border:1px solid rgba(239,214,154,.62);border-radius:999px;background:linear-gradient(180deg,rgba(201,162,78,.18),rgba(201,162,78,.06));color:#f7df9f;font:700 11px/1 var(--o127-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.25s ease}
.o127v3-passage-launch:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(201,162,78,.26),rgba(201,162,78,.08));box-shadow:0 12px 30px rgba(201,162,78,.10)}
.o127v3-passage-entry>small{display:block;margin-top:11px;color:#857f74;font:400 10px/1.5 var(--o127-sans)}
.o127v3-stage[data-parcours="passage"] .o127v3-card{width:82px!important}
.o127v3-stage[data-parcours="passage"] .o127v3-card-label{max-width:100px}
.o127v3-stage[data-parcours="passage"] .o127v3-rays,[data-parcours="passage"] [data-o127v3-nodes]{opacity:.12}
.o127v3-passage-summary{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.o127v3-passage-summary[hidden]{display:none!important}
.o127v3-passage-summary article{padding:14px;border:1px solid rgba(215,181,106,.18);border-radius:14px;background:rgba(5,7,10,.48)}
.o127v3-passage-summary article.is-pivot{border-color:rgba(215,181,106,.48);background:linear-gradient(135deg,rgba(215,181,106,.09),rgba(98,80,118,.09))}
.o127v3-passage-summary article.is-action{border-color:rgba(154,78,58,.34)}
.o127v3-passage-summary small{display:block;margin-bottom:6px;color:var(--o127-gold-soft);font:700 9px/1.3 var(--o127-sans);letter-spacing:.12em;text-transform:uppercase}
.o127v3-passage-summary strong{display:block;margin-bottom:6px;color:#fff1ca;font:500 22px/1.1 var(--o127-serif)}
.o127v3-passage-summary p{margin:0;color:#d8d0c0;font:400 13px/1.6 var(--o127-sans)}
.o127v3-passage-summary blockquote{grid-column:1/-1;margin:0;padding:14px 16px;border-left:2px solid var(--o127-gold);background:rgba(215,181,106,.05);color:#f3e4bd;font:italic 17px/1.55 var(--o127-serif)}
@media(max-width:760px){
  .o127v3-passage-entry{width:calc(100% - 12px);padding:20px 14px;border-radius:18px}
  .o127v3-passage-summary{grid-template-columns:1fr}
  .o127v3-passage-summary blockquote{grid-column:1}
  .o127v3-stage[data-parcours="passage"] .o127v3-card{width:58px!important}
  .o127v3-stage[data-parcours="passage"] .o127v3-card-label{width:70px!important;max-width:70px!important;padding:4px!important}
  .o127v3-stage[data-parcours="passage"] .o127v3-card-eyebrow{font-size:7px!important;letter-spacing:.05em!important}
  .o127v3-stage[data-parcours="passage"] .o127v3-card-name{display:none!important}
  .o127v3-stage[data-parcours="passage"] .o127v3-card.is-selected .o127v3-card-name{display:block!important;font-size:8px!important}
}
