
/* ============================================================
   TIPOGRÁFIA — apple.com szabályok szerint
   - Elsődleges betű: SF Pro rendszer-stack (-apple-system)
   - Skála:   hero 44–76px / 1.05 / -0.015em / 700
              h2   32–48px / 1.08 / -0.012em / 600
              h3   21–28px / 1.14 / -0.010em / 600
              lede 19–24px / 1.38 / -0.011em / 400
              body 17px    / 1.47 / -0.010em / 400
              caption 12px / 1.33 /  0.000em / 400
   - Serif akcentus kizárólag helyi rendszerbetűkkel:
     kártyanevek, megerősítések, idézetek (az üst "hangja")
   ============================================================ */
:root{
  --f-ui:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Roboto,Ubuntu,sans-serif;
  --f-serif:Georgia,"Times New Roman",serif;

  --night:#fdfcf9;
  --deep:#f6f1e7;
  --pool:#ece4d4;
  --mist:#7a6f5d;
  --moon:#161310;
  --body-ink:#3f382c;
  --gold:#a37c2c;
  --gold-soft:#8a681f;
  --blossom:#a34e66;
  --ember:#b05f37;
  --line:rgba(163,124,44,.35);
  --card-ink:#eef3f5;
  --card-w:150px;
  --card-h:236px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--night);
  color:var(--moon);
  font-family:var(--f-ui);
  font-size:17px;
  font-weight:400;
  line-height:1.47;
  letter-spacing:-.01em;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(201,168,106,.3)}

/* ---------- ambient world ---------- */
.mist-layer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.mist{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.m1{width:60vw;height:38vh;background:radial-gradient(ellipse,rgba(163,124,44,.18),transparent 70%);top:-8%;left:-12%;animation:drift1 38s ease-in-out infinite alternate}
.m2{width:50vw;height:32vh;background:radial-gradient(ellipse,rgba(163,78,102,.10),transparent 70%);bottom:-6%;right:-10%;animation:drift2 46s ease-in-out infinite alternate}
.m3{width:34vw;height:26vh;background:radial-gradient(ellipse,rgba(201,168,106,.10),transparent 70%);top:42%;left:36%;animation:drift1 52s ease-in-out infinite alternate-reverse}
@keyframes drift1{from{transform:translate(0,0)}to{transform:translate(6vw,4vh)}}
@keyframes drift2{from{transform:translate(0,0)}to{transform:translate(-5vw,-3vh)}}
#stars{position:fixed;inset:0;pointer-events:none;z-index:0}
#stars circle{animation:twinkle 4s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.1}50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.15s !important}
}

/* ---------- shell ---------- */
.shell{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 22px 90px}

header.site{padding:30px 0 4px;display:flex;flex-direction:column;align-items:center;text-align:center}
.awen{width:52px;height:52px;margin-bottom:12px;filter:drop-shadow(0 0 12px rgba(201,168,106,.35))}
.awen-seal{display:block;overflow:visible}
.awen-seal .ring{fill:none;stroke:var(--gold)}
.awen-seal .beam,.awen-seal .dot{fill:var(--gold);stroke:var(--gold)}
.awen-seal .beam{stroke-width:2.6;stroke-linecap:round;fill:none}
.hero-awen-wrap{display:flex;justify-content:center;margin:8px 0 12px}
.hero-awen{width:72px;height:72px;opacity:.95;filter:drop-shadow(0 0 20px rgba(201,168,106,.16))}
.awen-meaning{max-width:620px;margin:14px auto 0;color:var(--mist);font-size:14px;line-height:1.6}
.awen-meaning strong{color:var(--gold);font-weight:600}
footer.site .awen{width:42px;height:42px;margin-bottom:12px;opacity:.88;filter:drop-shadow(0 0 14px rgba(201,168,106,.12))}

h1.brand{
  font-family:var(--f-ui);font-weight:700;
  color:var(--moon);
}
h1.brand em{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold);}
.brand-sub{font-size:12px;line-height:1.33;letter-spacing:.34em;text-transform:uppercase;color:var(--mist);margin-top:10px}

nav.tabs{
  display:flex;gap:2px;justify-content:center;flex-wrap:wrap;
  margin:26px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:8px 0;position:sticky;top:0;background:linear-gradient(var(--night) 82%,transparent);z-index:20;
}
nav.tabs button{
  background:none;border:none;color:var(--mist);font-family:var(--f-ui);
  font-weight:500;
  padding:9px 16px;cursor:pointer;transition:color .3s;position:relative;
}
nav.tabs button::after{content:"";position:absolute;left:50%;bottom:2px;width:0;height:2px;border-radius:2px;background:var(--gold);transform:translateX(-50%);transition:width .3s}
nav.tabs button:hover{color:var(--moon);}
nav.tabs button.on{color:var(--gold);}
nav.tabs button.on::after{width:46%}
nav.tabs button:focus-visible{outline:1px solid var(--gold);outline-offset:2px;}

.view{display:none;animation:fadein .6s ease}
.view.on{display:block}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- type roles ---------- */
h2.rune{font-family:var(--f-ui);font-weight:600;color:var(--moon);text-align:center;margin-bottom:10px;}
.rune-sub{text-align:center;color:var(--mist);text-transform:uppercase;margin-bottom:36px;}
h3.sect{font-family:var(--f-ui);font-weight:600;color:var(--moon);}
.divider{display:flex;align-items:center;gap:14px;justify-content:center;margin:48px 0}
.divider::before,.divider::after{content:"";height:1px;width:min(120px,22vw);background:var(--line)}
.divider svg{width:20px;height:20px;opacity:.8}
p.lede{font-family:var(--f-ui);font-weight:400;max-width:660px;margin:0 auto 24px;text-align:center;color:#332d22;}
p.lede .q{font-family:var(--f-serif);font-style:italic;}
.prose{max-width:660px;margin:0 auto;color:var(--body-ink);font-size:17px}
.prose p{margin-bottom:18px;}
.prose strong{color:var(--gold);font-weight:600}
.caption{color:rgba(122,111,93,.8);}

/* ---------- GATE (Bejárat) ---------- */
.gate-hero{position:relative;text-align:center;padding:34px 0 10px}
.cave{width:min(560px,92%);margin:0 auto;display:block}
.gate-title{font-family:var(--f-ui);font-weight:700;font-size:clamp(2.4rem,6.6vw,4.4rem);letter-spacing:-.015em;line-height:1.05;margin:6px 0 8px}
.gate-title em{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold)}
.gate-lede{max-width:560px;margin:0 auto 28px;color:var(--body-ink);font-size:clamp(1.05rem,2vw,1.25rem);letter-spacing:-.011em;line-height:1.4}
.step-dots{display:flex;gap:10px;justify-content:center;margin:34px 0 26px}
.step-dots span{width:8px;height:8px;border-radius:50%;background:rgba(122,111,93,.35);transition:all .4s}
.step-dots span.on{background:var(--gold);box-shadow:0 0 10px rgba(201,168,106,.6)}
.gate-step{display:none;max-width:640px;margin:0 auto;text-align:center;animation:fadein .6s ease}
.gate-step.on{display:block}
.gate-step h3{font-weight:600;margin-bottom:10px;}
.gate-step .gs-sub{color:var(--mist);font-size:15px;margin-bottom:28px}

.breath-wrap{display:flex;flex-direction:column;align-items:center;gap:24px;margin:14px 0 30px}
.breath{width:170px;height:170px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}
.breath::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(201,168,106,.5);background:radial-gradient(circle,rgba(201,168,106,.14),transparent 65%)}
.breath.go::before{animation:breathe 8s ease-in-out infinite}
@keyframes breathe{0%{transform:scale(.72);opacity:.6}45%{transform:scale(1.12);opacity:1}55%{transform:scale(1.12);opacity:1}100%{transform:scale(.72);opacity:.6}}
.breath .bt{font-family:var(--f-serif);font-style:italic;font-size:1.25rem;color:var(--moon);position:relative;z-index:1}
.breath-count{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--mist)}

.sit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;text-align:left;margin-bottom:8px}
.sit-btn{border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.45),transparent);color:var(--moon);padding:18px 18px;cursor:pointer;font-family:var(--f-ui);transition:border-color .3s,transform .3s,background .3s;}
.sit-btn:hover{border-color:rgba(201,168,106,.55);transform:translateY(-2px);}
.sit-btn.on{border-color:var(--gold);background:linear-gradient(160deg,rgba(201,168,106,.14),rgba(231,222,204,.4));}
.sit-btn h4{font-weight:600;margin-bottom:4px;}
.sit-btn p{color:var(--mist);}
.reco{margin:24px auto 0;max-width:520px;border:1px solid rgba(201,168,106,.4);padding:20px 22px;background:linear-gradient(160deg,rgba(201,168,106,.1),transparent);display:none;text-align:left;animation:fadein .5s ease}
.reco.on{display:block}
.reco .rl{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.reco h4{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold);}
.reco p{color:var(--body-ink);margin-top:6px;}

.gate-step textarea{width:100%;max-width:560px;background:rgba(255,255,255,.6);border:1px solid var(--line);color:var(--moon);font-family:var(--f-ui);padding:14px 16px;resize:vertical;min-height:88px;border-radius:2px;}
.gate-step textarea:focus{outline:none;border-color:var(--gold);}
.qtips{max-width:560px;margin:16px auto 0;text-align:left;font-size:13.5px;color:var(--mist);line-height:1.6}
.qtips strong{color:var(--gold);font-weight:600}
.gate-nav{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}

/* ---------- houses ---------- */
.houses{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:44px 0 10px}
.house-card{border:1px solid var(--line);padding:26px 20px;background:linear-gradient(160deg,rgba(231,222,204,.5),rgba(255,255,255,.2));text-align:center;transition:border-color .3s, transform .3s}
.house-card:hover{border-color:rgba(201,168,106,.5);transform:translateY(-3px)}
.house-card svg{width:44px;height:44px;margin-bottom:12px}
.house-card h3{font-weight:600;color:var(--moon);margin-bottom:2px;}
.house-card .count{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px}
.house-card p{color:var(--mist);}

/* ---------- spread picker ---------- */
.spreads{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:34px}
.spread-btn{border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.45),transparent);color:var(--moon);padding:22px 18px;cursor:pointer;text-align:left;font-family:var(--f-ui);transition:border-color .3s,background .3s}
.spread-btn:hover{border-color:rgba(201,168,106,.55)}
.spread-btn.on{border-color:var(--gold);background:linear-gradient(160deg,rgba(201,168,106,.12),rgba(231,222,204,.4))}
.spread-btn h3{font-family:var(--f-serif);font-style:italic;font-weight:500;margin-bottom:2px;}
.spread-btn .sn{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft)}
.spread-btn p{color:var(--mist);margin-top:8px;}
.spread-btn .sit{font-size:12px;color:var(--blossom);margin-top:8px;line-height:1.45}
.spread-btn .sit b{font-weight:600}

.controls{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.btn{font-family:var(--f-ui);font-weight:500;padding:13px 32px;cursor:pointer;border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:2px;transition:background .3s,color .3s,box-shadow .3s;}
.btn:hover{background:var(--gold);color:var(--night);box-shadow:0 0 24px rgba(201,168,106,.35);}
.btn.ghost{border-color:rgba(122,111,93,.4);color:var(--mist);}
.btn.ghost:hover{background:rgba(122,111,93,.15);color:var(--moon);box-shadow:none;}
.btn:disabled{opacity:.35;cursor:default;}
.btn:disabled:hover{background:transparent;color:var(--gold);box-shadow:none;}
.toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mist);cursor:pointer;user-select:none}
.toggle input{appearance:none;width:38px;height:20px;border:1px solid var(--line);border-radius:20px;position:relative;cursor:pointer;transition:border-color .3s;background:rgba(231,222,204,.6);}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--mist);transition:transform .3s,background .3s}
.toggle input:checked{border-color:var(--gold);}
.toggle input:checked::after{transform:translateX(18px);background:var(--gold)}

/* ---------- cauldron ---------- */
.cauldron-stage{display:flex;flex-direction:column;align-items:center;margin:6px 0 30px;min-height:150px}
.cauldron{width:150px;height:132px;position:relative}
.cauldron .steam{position:absolute;bottom:78px;left:50%;width:8px;height:8px;border-radius:50%;background:rgba(232,240,242,.5);filter:blur(4px);opacity:0}
.brewing .steam{animation:rise 2.6s ease-out infinite}
.brewing .steam.s2{animation-delay:.9s;margin-left:-16px}
.brewing .steam.s3{animation-delay:1.7s;margin-left:14px}
@keyframes rise{0%{opacity:0;transform:translateY(0) scale(1)}25%{opacity:.8}100%{opacity:0;transform:translateY(-56px) scale(2.4)}}
.cauldron .spark{position:absolute;bottom:80px;left:50%;width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:0}
.brewing .spark{animation:sparkup 2.2s ease-out infinite}
.brewing .spark.p2{animation-delay:.7s;margin-left:-22px}
.brewing .spark.p3{animation-delay:1.4s;margin-left:20px}
@keyframes sparkup{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-70px) translateX(6px)}}
.cauldron-note{font-family:var(--f-serif);font-style:italic;font-size:1.1rem;color:var(--mist);margin-top:8px;text-align:center;min-height:1.6em}

/* ---------- drawn cards ---------- */
.table{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin-bottom:26px}
.slot{display:flex;flex-direction:column;align-items:center;gap:10px;width:var(--card-w);animation:deal .7s cubic-bezier(.2,.7,.3,1) both}
@keyframes deal{from{opacity:0;transform:translateY(26px) scale(.94)}to{opacity:1;transform:none}}
.slot .pos{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);text-align:center;line-height:1.5;min-height:2.6em;display:flex;align-items:flex-end;font-weight:500}
.cardbox{width:var(--card-w);height:var(--card-h);perspective:1100px;cursor:pointer}
.cardbox:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.flipper{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,.1,.2,1)}
.cardbox.flipped .flipper{transform:rotateY(180deg)}
.cardbox:not(.flipped):hover .flipper{transform:rotateY(12deg) translateY(-4px)}
.face{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--line);overflow:hidden;border-radius:4px}
.face.back{background:radial-gradient(circle at 50% 34%,rgba(201,168,106,.16),transparent 55%),linear-gradient(165deg,#122733,#0a141b);display:flex;align-items:center;justify-content:center}
.face.back svg{width:68%;max-width:140px;max-height:72%;display:block;opacity:.96;margin:auto}
.face.front{transform:rotateY(180deg);background:linear-gradient(170deg,#142d3a,#0c1a23);display:flex;flex-direction:column}
.face.front.rev .art{transform:rotate(180deg)}
.art{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 10px 4px;transition:transform .5s;text-align:center}
.art svg{width:76%;max-width:170px;max-height:100%;display:block;margin:auto}
.cardname{padding:6px 8px 12px;text-align:center}
.cardname .no{font-size:10px;letter-spacing:.3em;color:#c9a86a}
.cardname .nm{font-family:var(--f-serif);font-size:1rem;font-weight:500;color:var(--card-ink);line-height:1.22}
.cardname .rv{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#d9a7b8;margin-top:2px}
.slot .hint{font-size:11px;color:var(--mist);opacity:.7}

/* ---------- reading ---------- */
.reading{max-width:680px;margin:0 auto}
.reading-card{border-left:1px solid var(--line);padding:4px 0 18px 22px;margin-bottom:22px}
.reading-card h4{font-family:var(--f-serif);font-weight:500;color:var(--moon);}
.reading-card h4 span{font-style:italic;color:var(--mist);}
.reading-card .meta{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:8px;font-weight:500}
.reading-card p{color:var(--body-ink);margin-bottom:8px;}
.reading-card .aff{font-family:var(--f-serif);font-style:italic;font-size:1.15rem;color:var(--blossom)}
.kw{display:inline-block;font-size:12px;letter-spacing:.06em;color:var(--mist);border:1px solid rgba(122,111,93,.3);padding:2px 11px;margin:0 6px 6px 0;border-radius:20px}
.postdraw{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:6px 0 10px}

/* ---------- priestess ---------- */
.priestess{max-width:680px;margin:40px auto 0;border:1px solid var(--line);padding:34px 28px;background:linear-gradient(170deg,rgba(231,222,204,.45),rgba(255,255,255,.3));position:relative}
.flame{position:absolute;top:-17px;left:50%;transform:translateX(-50%);width:26px;height:34px}
.flame path{transform-origin:50% 100%;animation:flick 1.6s ease-in-out infinite alternate}
@keyframes flick{from{transform:scaleY(1) skewX(0)}to{transform:scaleY(1.12) skewX(3deg)}}
.priestess h3{font-family:var(--f-serif);font-style:italic;font-weight:500;text-align:center;color:var(--gold);margin-bottom:4px;}
.priestess .ps{text-align:center;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mist);margin-bottom:20px}
.priestess textarea{width:100%;background:rgba(255,255,255,.6);border:1px solid var(--line);color:var(--moon);font-family:var(--f-ui);padding:13px 15px;resize:vertical;min-height:70px;border-radius:2px;}
.priestess textarea:focus{outline:none;border-color:var(--gold);}
.priestess .row{display:flex;justify-content:center;margin-top:16px}
.oracle-out{margin-top:22px;font-size:16px;color:#332d22;white-space:pre-wrap;line-height:1.65}
.oracle-out.thinking{color:var(--mist);font-style:italic;text-align:center}

.ai-prompt-copy{display:none;margin:16px auto 0;max-width:680px;border:1px solid rgba(163,124,44,.22);background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(231,222,204,.18));border-radius:14px;padding:16px 16px 18px;color:var(--body-ink)}
.ai-prompt-copy.on{display:block}
.ai-prompt-copy h4{font-family:var(--f-ui);font-weight:600;color:var(--moon);margin:0 0 6px;}
.ai-prompt-copy p{margin:0 0 12px;color:var(--mist);}
.ai-prompt-copy textarea{width:100%;min-height:170px;resize:vertical;box-sizing:border-box;border:1px solid rgba(163,124,44,.22);border-radius:10px;background:rgba(255,255,255,.58);padding:12px 13px;font:14px/1.55 var(--f-ui);color:var(--moon);margin:0 0 12px;}
.ai-prompt-copy .row{justify-content:flex-start;margin-top:0}
.small-note{color:rgba(122,111,93,.8);text-align:center;margin-top:16px;}

/* ---------- lexicon ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}
.chip{font-family:var(--f-ui);font-weight:500;border:1px solid rgba(122,111,93,.35);background:none;color:var(--mist);padding:7px 15px;border-radius:24px;cursor:pointer;transition:all .3s;}
.chip:hover{color:var(--moon);border-color:var(--mist);}
.chip.on{border-color:var(--gold);color:var(--gold);}
.chip:disabled,.spread-btn:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.15);}
.chip:disabled:hover{color:var(--mist);border-color:rgba(122,111,93,.35);}
.spread-btn:disabled:hover{border-color:var(--line);transform:none;box-shadow:none}
.searchrow{display:flex;justify-content:center;margin-bottom:30px}
.searchrow input{width:min(380px,100%);background:rgba(231,222,204,.4);border:1px solid var(--line);color:var(--moon);font-family:var(--f-ui);padding:11px 16px;border-radius:2px;}
.searchrow input:focus{outline:none;border-color:var(--gold);}
.lexgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.lexcard{border:1px solid var(--line);background:linear-gradient(170deg,#122733,#0b1720);aspect-ratio:150/210;cursor:pointer;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;border-radius:4px}
.lexcard:hover{transform:translateY(-4px);border-color:rgba(201,168,106,.55);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.lexcard:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.lexcard .art{padding:14px 12px 0}
.lexcard .cardname{padding-bottom:10px}

/* ---------- modal ---------- */
.veil{position:fixed;inset:0;background:rgba(43,36,24,.4);backdrop-filter:blur(6px);z-index:60;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:5vh 18px}
.veil.on{display:flex}
.scroll{background:linear-gradient(170deg,#ffffff,#f6f1e7);border:1px solid rgba(201,168,106,.4);max-width:600px;width:100%;padding:46px 40px;position:relative;animation:fadein .4s ease;margin-bottom:5vh;border-radius:4px}
.scroll .close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--mist);font-size:1.5rem;cursor:pointer;line-height:1}
.scroll .close:hover{color:var(--gold)}
.scroll .emblem{display:flex;justify-content:center;margin-bottom:14px}
.scroll .emblem svg{width:76px;height:76px}
.scroll .mh{text-align:center;margin-bottom:22px}
.scroll .mh .no{font-size:11px;letter-spacing:.3em;color:var(--gold-soft)}
.scroll .mh h3{font-family:var(--f-serif);font-weight:500;color:var(--moon);}
.scroll .mh .st{font-family:var(--f-serif);font-style:italic;color:var(--mist);font-size:1.1rem}
.scroll .kwrow{text-align:center;margin-bottom:20px}
.scroll section{margin-bottom:18px}
.scroll section h5{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:600}
.scroll section p{color:#3f382c;}
.scroll .aff{font-family:var(--f-serif);font-style:italic;font-size:1.25rem;color:var(--blossom);text-align:center;margin-top:26px}

/* ---------- journal ---------- */
.journal-empty{text-align:center;color:var(--mist);font-family:var(--f-serif);font-style:italic;font-size:1.2rem;padding:40px 0}
.jentry{border:1px solid var(--line);padding:24px 24px 18px;margin-bottom:18px;background:linear-gradient(170deg,rgba(231,222,204,.35),transparent)}
.jentry .jdate{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);font-weight:500}
.jentry h4{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--moon);margin:2px 0 10px;}
.jentry .jcards{font-size:14.5px;color:var(--body-ink);margin-bottom:8px}
.jentry .jq{font-size:14px;color:var(--mist);font-style:italic;margin-bottom:8px}
.jentry details{margin-top:8px}
.jentry summary{text-transform:uppercase;color:var(--gold);cursor:pointer;font-weight:500;}
.jentry .jtext{font-size:14.5px;color:#3f382c;white-space:pre-wrap;margin-top:10px;line-height:1.65}
.jactions{display:flex;justify-content:center;gap:14px;margin-bottom:26px;flex-wrap:wrap}

/* ============================================================
   KÖZÖS JÁTÉK-UI + CERIDWEN-BESZÉLGETÉS
   ============================================================ */
.gwrap{max-width:760px;margin:0 auto}
.gchat{margin-top:26px;border:1px solid var(--line);background:linear-gradient(170deg,rgba(231,222,204,.45),rgba(255,255,255,.3));padding:26px 24px;display:none}
.gchat.on{display:block}
.gchat h3{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold);text-align:center;margin-bottom:4px;}
.gchat .ps{text-align:center;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mist);margin-bottom:18px}
.gchat-log{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:14px;padding-right:4px}
.gmsg{max-width:85%;padding:10px 14px;border-radius:4px;font-size:15.5px;line-height:1.55;white-space:pre-wrap}
.gmsg.user{align-self:flex-end;background:rgba(201,168,106,.14);border:1px solid rgba(201,168,106,.35);color:var(--moon)}
.gmsg.cer{align-self:flex-start;background:rgba(231,222,204,.6);border:1px solid rgba(122,111,93,.3);color:#3f382c}
.gmsg.cer .who{font-family:var(--f-serif);font-style:italic;color:var(--gold);display:block;margin-bottom:2px}
.gchat-row{display:flex;gap:10px}
.gchat-row input{flex:1;background:rgba(255,255,255,.6);border:1px solid var(--line);color:var(--moon);font-family:var(--f-ui);padding:11px 14px;border-radius:2px;}
.gchat-row input:focus{outline:none;border-color:var(--gold);}
.gactions{display:flex;justify-content:center;gap:12px;margin-top:14px;flex-wrap:wrap}

/* ============================================================
   AZ ÁRNYÉK TÜKRE — sötét energiák és tisztítás
   ============================================================ */
#dkMirror{width:190px;height:190px;border-radius:50%;margin:10px auto 30px;position:relative;
  background:radial-gradient(circle at 40% 32%,#1a2c3a,#04070b 72%);
  border:2px solid rgba(201,168,106,.5);
  box-shadow:0 0 46px rgba(0,0,0,.85), inset 0 0 46px #000, 0 0 22px rgba(211,164,181,.12)}
#dkMirror::before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(211,164,181,.2)}
#dkMirror.scan::after{content:"";position:absolute;inset:8px;border-radius:50%;border-top:2px solid rgba(211,164,181,.85);animation:dkspin 1.1s linear infinite}
@keyframes dkspin{to{transform:rotate(360deg)}}
.dk-energy{border:1px solid rgba(211,164,181,.35);padding:22px 24px;margin-bottom:16px;background:linear-gradient(170deg,rgba(163,78,102,.10),rgba(255,255,255,.3))}
.dk-energy h4{font-family:var(--f-serif);font-weight:500;color:var(--blossom);}
.dk-energy .lvl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist)}
.dk-bar{height:6px;background:rgba(122,111,93,.18);border-radius:4px;overflow:hidden;margin:8px 0 12px}
.dk-bar i{display:block;height:100%;background:linear-gradient(90deg,#7e3c52,#d3a4b5);border-radius:4px;transition:width 1.4s ease}
.dk-energy h5{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:12px 0 4px;font-weight:600}
.dk-energy p{color:var(--body-ink);}
.dk-results.sweep{position:relative;overflow:hidden}
.dk-results.sweep::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(201,168,106,.4) 50%,transparent 70%);transform:translateX(-130%);animation:dksweep 1.7s ease forwards}
@keyframes dksweep{to{transform:translateX(130%)}}
#dkBless{display:none;border:1px solid var(--gold);padding:28px 26px;text-align:center;margin-top:22px;background:linear-gradient(170deg,rgba(201,168,106,.12),transparent)}
#dkBless.on{display:block;animation:fadein .8s ease}
#dkBless h4{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold);margin-bottom:8px;}
#dkBless p{color:var(--body-ink);max-width:520px;margin:0 auto;}
.dk-grid-card{cursor:pointer}
.dk-grid-card:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.dk-grid-card .tgs{font-size:11px;color:var(--mist);letter-spacing:.06em;margin-top:8px}

/* ============================================================
   KÁRTYÁNKÉNTI INGA — igen/nem + tisztítás
   ============================================================ */
.card-pendulum{margin-top:18px;border:1px solid rgba(122,111,93,.28);background:linear-gradient(160deg,rgba(231,222,204,.35),rgba(255,255,255,.28));padding:16px 16px 14px;border-radius:4px}
.card-pendulum .cp-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:4px}
.card-pendulum .cp-lead{font-size:13px;color:var(--mist);line-height:1.5;margin-bottom:12px}
.card-pendulum .cp-body{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.card-pendulum svg{width:150px;max-width:100%;height:auto;display:block}
.card-pendulum .cp-form{display:flex;flex-direction:column;gap:10px}
.card-pendulum input{width:100%;background:rgba(255,255,255,.72);border:1px solid var(--line);color:var(--moon);font-family:var(--f-ui);padding:10px 12px;border-radius:2px;}
.card-pendulum input:focus{outline:none;border-color:var(--gold);}
.card-pendulum .cp-actions{display:flex;gap:8px;flex-wrap:wrap}
.card-pendulum .cp-actions .btn{padding:9px 14px;}
.card-pendulum .cp-status{font-size:13.5px;color:var(--body-ink);line-height:1.55;min-height:2.2em}
.card-pendulum .cp-status strong{color:var(--gold);font-weight:600}
.card-pendulum .cp-note{font-size:11.5px;color:rgba(122,111,93,.78);line-height:1.45;margin-top:8px}
.card-pendulum .cp-arc{fill:rgba(231,222,204,.55);stroke:rgba(163,124,44,.28);stroke-width:1}
.card-pendulum .cp-label{font-family:var(--f-ui);font-size:10px;letter-spacing:.08em;fill:#6b6152;font-weight:600}
.card-pendulum .cpNeedle{transform-origin:80px 24px}
@media(max-width:560px){.card-pendulum .cp-body{grid-template-columns:1fr}.card-pendulum svg{margin:0 auto}}

/* ============================================================
   Inga — inga és táblázatok
   ============================================================ */
.pendulum-stage{max-width:560px;margin:0 auto;text-align:center}
#pendulumChart{width:100%;height:auto;display:block}
#pendulumChart .wedge{fill:rgba(231,222,204,.55);stroke:rgba(201,168,106,.35);stroke-width:1;transition:fill .4s}
#pendulumChart .wedge.sel{fill:rgba(201,168,106,.28);stroke:var(--gold)}
#pendulumChart .wlabel{fill:#6b6152;font-family:var(--f-ui);font-size:10.5px;letter-spacing:.02em}
#pendulumChart .wlabel.sel{fill:var(--gold);font-weight:600}
#pendulumNeedle{transition:none}
.pendulum-status{font-family:var(--f-serif);font-style:italic;font-size:1.18rem;color:var(--moon);min-height:2.4em;margin:12px auto 8px;max-width:480px}
.pendulum-sub{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:6px;min-height:1.2em}
.pendulum-cleared{opacity:.55}
.pendulum-cleared .dk-bar i{width:0 !important}

/* ============================================================
   RITUÁLÉ — tértisztítás · test–lélek–szellem · Felsőbb Én
   ============================================================ */
.rit-card{max-width:560px;margin:0 auto;text-align:left;border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.55),transparent);padding:24px 24px 16px;position:relative}
.rit-card p{color:var(--body-ink);margin-bottom:12px;}
.rit-card .rit-say{font-family:var(--f-serif);font-style:italic;font-size:1.12rem;color:var(--gold)}
.rit-card .rit-tip{font-size:13px;color:var(--mist)}
.rit-orb{width:54px;height:54px;border-radius:50%;margin:0 auto 16px;background:radial-gradient(circle,rgba(163,124,44,.35),rgba(163,124,44,.05) 70%);border:1px solid var(--line);animation:breathe 6s ease-in-out infinite}
.ritual-gate{max-width:680px;margin:0 auto 28px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.5),transparent);padding:20px 22px 18px}
.rg-head{font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--moon)}
.rg-sub{color:var(--mist);margin:4px 0 14px;}
.rg-steps{display:flex;gap:8px;flex-wrap:wrap}
.rg-btn{font-family:var(--f-ui);font-weight:500;padding:9px 16px;border:1px solid rgba(122,111,93,.4);background:rgba(255,255,255,.6);color:var(--body-ink);cursor:pointer;border-radius:2px;transition:all .3s;}
.rg-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold);}
.rg-btn:disabled{opacity:.4;cursor:default;}
.rg-btn.done{border-color:var(--gold);color:var(--gold);background:rgba(163,124,44,.08);}
.rg-text{font-family:var(--f-serif);font-size:1.05rem;color:var(--body-ink);line-height:1.7;margin-top:14px}
.ritual-ok{max-width:680px;margin:0 auto 26px;text-align:center;color:var(--gold);font-size:14px}
.rg-renew,.rg-quick{background:none;border:none;color:var(--mist);text-decoration:underline;cursor:pointer;font-size:12px;margin-left:10px;font-family:var(--f-ui)}
.rg-quick{color:var(--gold-soft)}
/* ---- Mai holdállás kártya ---- */
.moon-card{max-width:540px;margin:28px auto 4px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.55),transparent);padding:18px 22px;display:flex;gap:18px;align-items:center;text-align:left}
.moon-card svg{flex:0 0 60px}

.moon-card h4{font-family:var(--f-serif);color:var(--moon);font-weight:500;}

@media(max-width:520px){.moon-card{flex-direction:column;text-align:center}.moon-card .mt{margin-top:2px}}


.daily-gate{max-width:620px;margin:32px auto 0;text-align:center}
.daily-gate__head{font-family:var(--f-serif);font-style:italic;font-size:1.75rem;color:var(--gold);line-height:1.1;margin-bottom:6px}
.daily-gate__sub{font-size:13px;color:var(--mist);line-height:1.55;max-width:460px;margin:0 auto 18px}
.daily-gate .moon-card,.daily-gate .daily-visitor-card{margin-left:auto;margin-right:auto}
.gate-nav--primary{margin:24px auto 26px}
@media(max-width:560px){.daily-gate{margin-top:28px}.daily-gate__head{font-size:1.52rem}.daily-gate__sub{font-size:12.5px;padding:0 8px}.gate-nav--primary{margin-top:20px;margin-bottom:24px}}


.awen-seal--large{width:112px;height:112px;filter:drop-shadow(0 0 28px rgba(201,168,106,.14))}
.awen-block{max-width:920px;margin:0 auto 16px;display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:start;border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.46),rgba(255,255,255,.28));padding:28px 28px 24px;border-radius:4px;box-shadow:0 18px 60px rgba(22,19,16,.04), inset 0 1px 0 rgba(255,255,255,.35)}
.awen-block__seal{display:flex;justify-content:center;align-items:flex-start;padding-top:4px}
.awen-block__text.prose{max-width:none}
.awen-triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.awen-ray{border:1px solid rgba(163,124,44,.22);background:linear-gradient(180deg,rgba(253,252,249,.78),rgba(231,222,204,.34));padding:16px 16px 14px;border-radius:3px}
.awen-ray h3{font-weight:600;color:var(--gold-soft);margin-bottom:6px;}
.awen-ray p{color:var(--body-ink);}
.awen-note{font-family:var(--f-serif);font-style:italic;color:var(--gold-soft)}
.random-panel{max-width:640px;margin:0 auto 18px;padding:18px 20px 16px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(231,222,204,.5),rgba(255,255,255,.3));border-radius:4px;text-align:center}
.random-panel__head{font-family:var(--f-serif);font-style:italic;font-size:1.35rem;color:var(--gold);margin-bottom:3px}
.random-panel__sub{font-size:13px;color:var(--mist);margin-bottom:12px}
.random-panel__modes{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.random-panel__modes .chip{min-width:150px;}
.random-panel__desc{font-size:13.5px;line-height:1.6;color:var(--body-ink);max-width:540px;margin:0 auto}
@media(max-width:760px){.awen-block{grid-template-columns:1fr;text-align:center}.awen-block__seal{padding-top:0}.awen-triad{grid-template-columns:1fr}}

footer.site{margin-top:80px;text-align:center;border-top:1px solid var(--line);padding-top:26px}
footer.site p{color:rgba(122,111,93,.75);max-width:580px;margin:0 auto;}


@media(max-width:560px){
  :root{--card-w:126px;--card-h:200px}
  .scroll{padding:36px 22px}
  nav.tabs button{padding:8px 10px;}
}

/* ---------- üsttér finomhangolás ---------- */
body{
  background:
    radial-gradient(1200px 380px at 50% -8%, rgba(15,35,43,.18), transparent 62%),
    radial-gradient(860px 260px at 50% 7%, rgba(163,124,44,.11), transparent 64%),
    linear-gradient(180deg, #fbf8f1 0%, #f5efdf 34%, #eee4d0 100%);
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.22), transparent 30%),
    radial-gradient(circle at 15% 0%, rgba(24,49,57,.11), transparent 34%),
    radial-gradient(circle at 85% 0%, rgba(24,49,57,.10), transparent 30%),
    linear-gradient(180deg, rgba(9,16,20,.16), transparent 16%, transparent 82%, rgba(9,16,20,.12));
  mix-blend-mode:multiply;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  box-shadow:inset 0 0 120px rgba(13,20,24,.10), inset 0 0 320px rgba(163,124,44,.06);
}
.shell{max-width:1140px;padding:0 24px 98px}
.shell::before{
  content:"";position:absolute;inset:16px 6px 18px;z-index:-1;pointer-events:none;border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(231,222,204,.18));
  border:1px solid rgba(163,124,44,.10);
  box-shadow:0 30px 90px rgba(22,19,16,.05), inset 0 1px 0 rgba(255,255,255,.3);
}
header.site{padding:34px 0 10px}
nav.tabs{
  position:sticky;top:0;z-index:8;padding:12px 10px;margin:8px auto 28px;
  background:linear-gradient(180deg, rgba(250,247,240,.92), rgba(241,235,221,.86));
  border:1px solid rgba(163,124,44,.16);backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(18,17,15,.05), inset 0 1px 0 rgba(255,255,255,.5);
}
nav.tabs button{border-radius:18px;padding:10px 14px;}
nav.tabs button.on{background:rgba(163,124,44,.08);}
h2.rune{position:relative;}
h2.rune::after{content:"";display:block;width:84px;height:1px;margin:12px auto 0;background:linear-gradient(90deg,transparent,rgba(163,124,44,.75),transparent)}
.rune-sub{color:#85765f;}
.gate-hero{
  position:relative;padding:38px 28px 28px;margin-bottom:16px;border:1px solid rgba(163,124,44,.24);border-radius:8px;overflow:hidden;
  background:
    radial-gradient(480px 180px at 50% 20%, rgba(201,168,106,.14), transparent 72%),
    radial-gradient(320px 120px at 50% 76%, rgba(20,56,65,.16), transparent 72%),
    linear-gradient(180deg, rgba(16,30,38,.035), rgba(255,255,255,.24));
  box-shadow:0 22px 60px rgba(14,15,18,.08), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -40px 90px rgba(14,28,35,.05);
}
.gate-hero::before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(163,124,44,.10);border-radius:6px;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.gate-hero::after{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-34px;height:128px;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.38), rgba(255,255,255,0) 70%);
  filter:blur(12px);opacity:.85;
}
.gate-hero .cave{width:min(100%,720px);filter:drop-shadow(0 16px 40px rgba(9,19,24,.16))}
.gate-title{font-size:clamp(2.6rem,5vw,4.2rem);text-shadow:0 1px 0 rgba(255,255,255,.4), 0 0 24px rgba(163,124,44,.08)}
.gate-lede{max-width:640px;color:#352f25;line-height:1.5}
.awen-meaning{max-width:660px;font-size:14.5px}
.moon-card,.rit-card,.house-card,.spread-btn,.priestess,.gchat,.random-panel,.awen-block,.jentry,.card-pendulum,.dk-energy,.oracle-out,.journal,.reco{
  box-shadow:0 18px 50px rgba(15,14,12,.04), inset 0 1px 0 rgba(255,255,255,.44);
}
.house-card,.spread-btn,.rit-card,.moon-card,.random-panel,.priestess,.gchat,.awen-block{
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), rgba(231,222,204,.34)),
    linear-gradient(160deg, rgba(20,56,65,.02), rgba(163,124,44,.02));
}
.house-card{border-radius:6px;overflow:hidden}
.house-card::before,.spread-btn::before,.rit-card::before,.moon-card::before,.priestess::before,.gchat::before,.random-panel::before,.awen-block::before{
  content:"";display:block;position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(163,124,44,.55),transparent);opacity:.75;
}
.house-card,.spread-btn,.rit-card,.moon-card,.priestess,.gchat,.random-panel,.awen-block{position:relative}
.house-card:hover,.spread-btn:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(15,14,12,.07), inset 0 1px 0 rgba(255,255,255,.5)}
.spread-btn.on{box-shadow:0 16px 42px rgba(163,124,44,.10), inset 0 1px 0 rgba(255,255,255,.56)}
.moon-card{max-width:620px;border-radius:6px;padding:20px 24px}
.rit-card{border-radius:6px}
.priestess,.gchat,.awen-block,.random-panel{border-radius:7px}
.btn{border-radius:999px;padding:13px 28px;background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));}
.btn:hover{box-shadow:0 0 24px rgba(201,168,106,.22), 0 10px 24px rgba(15,14,12,.06);}
.btn.ghost{background:rgba(255,255,255,.24);}
.chip{background:rgba(255,255,255,.26);}
.chip.on{background:rgba(163,124,44,.08);}
footer.site{margin-top:88px;padding-top:34px;position:relative}
footer.site::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:220px;height:1px;background:linear-gradient(90deg,transparent,rgba(163,124,44,.8),transparent)}
@media(max-width:760px){
  .shell{padding:0 16px 92px}
  nav.tabs{padding:10px 8px;margin-bottom:24px}
  .gate-hero{padding:26px 16px 20px}
  .moon-card{padding:18px 18px}
}


/* ---------- AWEN elhelyezés finomítás ---------- */
header.site .awen{display:none}
.footer-awen{display:flex;justify-content:center;align-items:center;margin:26px auto 0}
.footer-awen__svg{width:28px !important;height:28px !important;margin:0 auto !important;opacity:.58 !important;filter:none !important}
footer.site .footer-awen .awen{width:28px !important;height:28px !important}


/* ---------- Jony Ive szemléletű design-audit finomítás ----------
   Kevesebb vizuális zaj, több levegő, egyetlen tiszta fókusz: az üst felett, nagy távolsággal napként ragyogó Awen. */
.cave-stage{position:relative;width:min(100%,720px);margin:0 auto 18px}
.cave-stage .cave{width:100%;margin:0 auto;display:block}
.hero-awen-wrap{
  position:absolute;left:50%;top:11.5%;transform:translate(-50%,-50%);
  margin:0;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:center;
  width:132px;height:132px;border-radius:999px;
  background:radial-gradient(circle, rgba(255,238,184,.42) 0%, rgba(201,168,106,.18) 32%, rgba(201,168,106,0) 72%);
  filter:drop-shadow(0 0 36px rgba(201,168,106,.20));
}
.hero-awen-wrap::before{
  content:"";position:absolute;inset:10px;border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.28), rgba(255,255,255,0) 62%);
  opacity:.88;
}
.hero-awen{
  position:relative;z-index:1;width:72px;height:72px;opacity:.95;
  filter:drop-shadow(0 0 22px rgba(201,168,106,.40)) drop-shadow(0 12px 20px rgba(10,20,26,.12));
}
.gate-hero{
  padding:42px 30px 34px;
  border-color:rgba(163,124,44,.16);
  background:
    radial-gradient(480px 220px at 50% 45%, rgba(201,168,106,.11), transparent 68%),
    radial-gradient(380px 160px at 50% 76%, rgba(20,56,65,.10), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(231,222,204,.18));
  box-shadow:0 18px 54px rgba(14,15,18,.055), inset 0 1px 0 rgba(255,255,255,.52);
}
.gate-hero::before{inset:16px;border-color:rgba(163,124,44,.075)}
.gate-hero::after{opacity:.55;height:92px;bottom:-28px;filter:blur(18px)}
.gate-title{margin-top:4px;margin-bottom:12px;letter-spacing:-.035em;font-weight:650;color:#201b14}
.gate-title em{letter-spacing:-.02em;color:#9b762b}
.gate-lede,.awen-meaning{max-width:690px;color:#4f4535}
.gate-lede{font-size:16px;line-height:1.62;margin-top:12px}
.awen-meaning{font-size:14px;line-height:1.7;margin-top:12px;color:#6e614f}
.moon-card{margin-top:24px}
.btn,.chip,nav.tabs button{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;}
.house-card:hover,.spread-btn:hover,.btn:hover{transform:translateY(-2px);}
.moon-card,.rit-card,.house-card,.spread-btn,.priestess,.gchat,.random-panel,.jentry,.card-pendulum,.dk-energy,.oracle-out,.journal,.reco{
  border-color:rgba(163,124,44,.14);
  box-shadow:0 14px 38px rgba(15,14,12,.035), inset 0 1px 0 rgba(255,255,255,.40);
}
.house-card::before,.spread-btn::before,.rit-card::before,.moon-card::before,.priestess::before,.gchat::before,.random-panel::before{opacity:.38;height:1px}
nav.tabs{border-radius:999px;max-width:960px}
nav.tabs button.on{background:rgba(163,124,44,.075);box-shadow:inset 0 0 0 1px rgba(163,124,44,.08);}
footer.site p{max-width:850px;margin-left:auto;margin-right:auto;}
@media(max-width:760px){
  .gate-hero{padding:30px 16px 26px}
  .cave-stage{margin-bottom:14px}
  .hero-awen{width:58px;height:58px}
  .hero-awen-wrap{top:10.5%;width:108px;height:108px}
  .gate-title{font-size:clamp(2.2rem,10vw,3rem)}
}


/* AWEN új helye: a Hello It's Me fölött, letisztult hero-jelként */
header.site .hero-awen-wrap{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 auto 14px !important;
  width:92px !important;
  height:92px !important;
  z-index:2;
}
header.site .hero-awen{width:52px !important;height:52px !important}
.cave-stage .hero-awen-wrap{display:none !important}
@media(max-width:760px){
  header.site .hero-awen-wrap{width:78px !important;height:78px !important;margin-bottom:10px !important}
  header.site .hero-awen{width:44px !important;height:44px !important}
}


/* AWEN a márkajel fölött: fekete jel, arany homály */
header.site .hero-awen-wrap{
  background:
    radial-gradient(circle, rgba(255,238,186,.66) 0%, rgba(201,168,106,.28) 33%, rgba(201,168,106,.10) 52%, rgba(201,168,106,0) 74%) !important;
  filter:drop-shadow(0 0 36px rgba(201,168,106,.34)) drop-shadow(0 0 78px rgba(201,168,106,.18)) !important;
}
header.site .hero-awen-wrap::before{
  background:radial-gradient(circle, rgba(255,248,224,.42), rgba(255,255,255,0) 66%) !important;
}
header.site .hero-awen .ring{stroke:#050403 !important}
header.site .hero-awen .beam{stroke:#050403 !important}
header.site .hero-awen .dot{fill:#050403 !important;stroke:#050403 !important}
header.site .hero-awen{
  filter:drop-shadow(0 0 14px rgba(201,168,106,.50)) drop-shadow(0 0 30px rgba(201,168,106,.18)) drop-shadow(0 10px 18px rgba(10,20,26,.18)) !important;
}
.footer-awen .awen-seal{filter:drop-shadow(0 0 14px rgba(201,168,106,.26)) drop-shadow(0 0 30px rgba(201,168,106,.12)) !important}


/* ---------- Ceridwen-módszer audit: kérdésfegyelem, fogadalom, integráció ---------- */
.question-refiner,.ceridwen-vow,.integration-panel,.moon-lens,.deck-tone{border:1px solid rgba(201,168,106,.28);background:linear-gradient(160deg,rgba(255,255,255,.56),rgba(231,222,204,.18));border-radius:8px;padding:14px 15px;margin:12px auto 0;max-width:680px;color:var(--body-ink)}
.question-refiner__title,.ceridwen-vow__title,.integration-panel__title,.moon-lens__title,.deck-tone__title{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);font-weight:650;margin-bottom:6px}
.question-refiner p,.ceridwen-vow p,.integration-panel p,.moon-lens p,.deck-tone p{margin:0 0 8px;color:var(--mist);}
.question-refiner__out{display:none;margin-top:10px;padding:10px 12px;border-left:2px solid var(--gold);background:rgba(255,255,255,.48);font-size:13.5px;line-height:1.55;color:var(--body-ink)}
.question-refiner__out.on{display:block}
.integration-panel{display:none;margin:22px auto 0;max-width:760px}
.integration-panel.on{display:block}
.integration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.integration-grid textarea{min-height:86px;background:rgba(255,255,255,.74);}
.vow-line{font-family:var(--f-serif);font-style:italic;font-size:1.05rem;color:var(--moon);line-height:1.45;margin:8px 0 0}
.reading-card .moon-lens,.reading-card .deck-tone{margin:14px 0 0;max-width:none;padding:12px 13px}
.reading-card .moon-lens p,.reading-card .deck-tone p{margin-bottom:0;}
@media(max-width:720px){.integration-grid{grid-template-columns:1fr}.question-refiner,.ceridwen-vow,.integration-panel{padding:13px 12px}}



/* ---------- Felület-tisztítás + kisiskolás útvezetés audit ---------- */
:root{--flow-max:760px;--section-gap: clamp(42px, 6vw, 78px);}
.shell{max-width:1120px}
.view{max-width:1040px;margin-left:auto;margin-right:auto}
.view > h2.rune:first-child{margin-top:8px;}
.rune-sub{margin-bottom:24px;}
p.lede{max-width:var(--flow-max);margin-bottom:20px;}
.prose{max-width:var(--flow-max);font-size:16px;line-height:1.72}
.divider{margin:var(--section-gap) 0 34px}

.flow-guide,.simple-path,.kid-hint{max-width:var(--flow-max);margin:0 auto 28px;border:1px solid rgba(163,124,44,.16);background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(231,222,204,.20));border-radius:14px;box-shadow:0 14px 34px rgba(15,14,12,.028),inset 0 1px 0 rgba(255,255,255,.5);}
.flow-guide{padding:14px 16px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center;color:#5f5444;font-size:13.5px;line-height:1.45}
.flow-guide strong{color:#1f1a13;font-weight:650;margin-right:2px}
.flow-guide span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.52);border:1px solid rgba(163,124,44,.10);white-space:nowrap}
.flow-guide span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.72}
.simple-path{padding:18px 20px 16px;text-align:left;}
.simple-path__eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:650;margin-bottom:8px}
.simple-path h3{margin-bottom:10px;color:#1f1a13;}
.simple-path ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;counter-reset:step;margin-top:12px;}
.simple-path li{counter-increment:step;border:1px solid rgba(163,124,44,.12);background:rgba(255,255,255,.48);border-radius:12px;padding:12px 12px 11px;color:#5f5444;}
.simple-path li::before{content:counter(step);display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:rgba(163,124,44,.12);color:var(--gold-soft);font-weight:700;margin-right:7px;font-size:12px}
.kid-hint{padding:12px 15px;text-align:center;color:#6a5f4d;margin-bottom:18px;}
.kid-hint strong{color:var(--gold-soft);font-weight:650;}

.soft-detail{max-width:var(--flow-max);margin:18px auto;border:1px solid rgba(163,124,44,.16);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(231,222,204,.22));box-shadow:0 14px 34px rgba(15,14,12,.028),inset 0 1px 0 rgba(255,255,255,.45);overflow:hidden}
.soft-detail > summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:650;color:#211c14;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.soft-detail > summary::-webkit-details-marker{display:none;}
.soft-detail > summary::after{content:"+";flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(163,124,44,.22);color:var(--gold-soft);font-weight:700;background:rgba(255,255,255,.45)}
.soft-detail[open] > summary::after{content:"–"}
.soft-detail__body{padding:0 18px 18px;color:var(--body-ink);font-size:14.5px;line-height:1.65}
.soft-detail__body p{margin:0 0 12px;}.soft-detail__body p:last-child{margin-bottom:0;}
.soft-detail.compact{max-width:680px;margin-top:16px;margin-bottom:18px}.soft-detail.compact .random-panel{box-shadow:none;border:none;background:transparent;margin:0 auto;padding:0 0 6px}.soft-detail.compact .small-note{margin-bottom:0 !important;}

.gate-hero{padding-top:34px;padding-bottom:30px;margin-bottom:26px}.gate-title{margin-top:2px}.gate-lede{max-width:620px;margin-bottom:10px}.awen-meaning{max-width:620px;margin-top:10px}
.moon-card{margin-top:22px;margin-bottom:10px}
.gate-step{max-width:690px}.rit-card{padding:22px 22px 14px}.gate-nav{margin-top:24px}
.sit-grid,.houses,.spreads,.lexgrid{gap:18px}.houses{margin-top:32px}.spreads{margin-top:22px}.filters{gap:8px 10px}.controls{gap:12px;margin-top:24px;margin-bottom:28px}
.question-refiner,.ceridwen-vow,.integration-panel,.moon-lens,.deck-tone{border-color:rgba(163,124,44,.16);box-shadow:none}
.reading{margin-top:32px}.reading-card{margin-bottom:22px}.priestess{margin-top:34px}.integration-panel.on{margin-top:28px}

@media(max-width:760px){
  body{font-size:16px;line-height:1.55}.shell{padding-left:14px;padding-right:14px}.shell::before{display:none}
  header.site{padding-top:24px}.brand-sub{font-size:10.5px;letter-spacing:.18em;max-width:300px}
  nav.tabs{position:sticky;top:0;display:flex;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:10px -4px 24px;padding:8px;border-radius:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  nav.tabs::-webkit-scrollbar{display:none}nav.tabs button{flex:0 0 auto;padding:9px 12px;white-space:nowrap;}
  .flow-guide{align-items:flex-start;justify-content:flex-start;text-align:left;margin-bottom:22px;overflow-x:auto;flex-wrap:nowrap}.flow-guide strong{flex:0 0 100%;margin-bottom:2px}.flow-guide span{font-size:12.5px}
  .gate-hero{padding:24px 14px 22px;border-radius:14px}.gate-lede{font-size:15px;line-height:1.58}.awen-meaning{font-size:13.5px;line-height:1.58}.moon-card{border-radius:14px}
  .simple-path{padding:15px 14px;}.simple-path ol{grid-template-columns:1fr;gap:8px;}.simple-path li{padding:10px 11px;}
  .soft-detail{border-radius:13px;margin:14px auto}.soft-detail > summary{padding:14px 15px;}.soft-detail__body{padding:0 15px 15px;font-size:14px}
  .sit-grid,.houses,.spreads,.lexgrid{grid-template-columns:1fr !important;gap:12px}.house-card,.spread-btn,.sit-btn{padding:18px 16px;}.divider{margin:42px 0 26px}
  .controls{flex-direction:column;align-items:stretch}.controls .btn,.gate-nav .btn{width:100%;justify-content:center;}.gate-nav{gap:10px}.btn{padding:12px 20px;}
  .ritual-gate,.ritual-ok,.pendulum-stage,.priestess,.gchat,.reading,.integration-panel{max-width:100%}.rg-steps{display:grid;grid-template-columns:1fr}.rg-btn{text-align:center;}.footer-awen{margin-top:20px}
}

/* ---------- Audit finomítás: az útvonal ne legyen külön box ---------- */
.flow-guide{
  max-width:var(--flow-max);
  margin:4px auto 30px;
  padding:0 4px;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  display:block;
  text-align:center;
  color:#756b5b;
  font-size:13.5px;
  line-height:1.65;
}
.flow-guide strong{
  display:inline;
  margin:0 8px 0 0;
  color:#1f1a13;
  font-weight:650;
}
.flow-guide span{
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
  white-space:normal;
}
.flow-guide span::before{content:none}
.flow-guide span + span::before{
  content:" → ";
  color:var(--gold-soft);
  opacity:.74;
}
@media(max-width:760px){
  .flow-guide{
    margin:0 auto 22px;
    padding:0 10px;
    text-align:left;
    overflow:visible;
    display:block;
    font-size:13px;
    line-height:1.6;
  }
  .flow-guide strong{
    display:block;
    margin:0 0 4px;
    flex:auto;
  }
  .flow-guide span{font-size:13px}
}


/* ---------- Audit finomítás: laza útvonal + üres blokkok eltüntetése ---------- */
.flow-guide{
  max-width:var(--flow-max);
  margin:6px auto 34px;
  padding:0 10px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 14px;
  text-align:center;
  color:#756b5b;
  font-size:13.5px;
  line-height:1.65;
}
.flow-guide strong{
  color:#1f1a13;
  font-weight:650;
  margin-right:2px;
}
.flow-guide span{
  display:inline-flex !important;
  align-items:center;
  gap:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  white-space:nowrap;
}
.flow-guide span::before{content:none !important}
.flow-guide span + span::before{content:none !important}
.flow-guide span:not(:last-child)::after{
  content:"·";
  display:inline-block;
  margin-left:14px;
  color:var(--gold-soft);
  opacity:.62;
  transform:translateY(-.02em);
}
.reading:empty,
.oracle-out:empty,
.reco:empty,
.integration-panel:empty,
#dkBless:empty,
#pendulumOut:empty,
#chatOut:empty,
#oracleOut:empty{
  display:none !important;
}
@media(max-width:760px){
  .flow-guide{
    justify-content:flex-start;
    text-align:left;
    gap:6px 10px;
    margin:2px auto 24px;
    padding:0 16px;
    font-size:13px;
    line-height:1.58;
  }
  .flow-guide strong{
    flex:0 0 100%;
    margin:0 0 2px;
  }
  .flow-guide span{font-size:13px}
  .flow-guide span:not(:last-child)::after{
    margin-left:10px;
  }
}
@media(max-width:420px){
  .flow-guide{gap:4px 8px}
  .flow-guide span:not(:last-child)::after{margin-left:8px}
}



/* ---------- Holdállapot visszaállítása: fontos, mindig látható információs kártya ---------- */
.moon-card{
  display:flex !important;
  max-width:540px !important;
  margin:28px auto 24px !important;
  border:1px solid var(--line) !important;
  background:linear-gradient(160deg,rgba(231,222,204,.55),transparent) !important;
  padding:18px 22px !important;
  gap:18px !important;
  align-items:center !important;
  text-align:left !important;
  border-radius:6px !important;
}
.moon-card svg{flex:0 0 60px !important}
.moon-card .mt{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px}
.moon-card h4{font-family:var(--f-serif);color:var(--moon);font-weight:500;margin:0;}
.moon-card p{color:var(--body-ink);margin-top:5px;}
@media(max-width:520px){.moon-card{flex-direction:column !important;text-align:center !important;margin-top:24px !important;margin-bottom:22px !important}.moon-card .mt{margin-top:2px}}
/* ---- Látogatói napi lap a Hold alatt ---- */
.daily-visitor-card{max-width:620px;margin:12px auto 26px;border:1px solid rgba(163,124,44,.22);background:linear-gradient(160deg,rgba(255,255,255,.54),rgba(231,222,204,.28));border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;text-align:left;box-shadow:0 16px 44px rgba(22,19,16,.045),inset 0 1px 0 rgba(255,255,255,.42)}
.daily-visitor-card .art{width:96px;height:auto;filter:drop-shadow(0 14px 22px rgba(22,19,16,.10))}
.daily-visitor-card .mt{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:5px}
.daily-visitor-card h4{font-family:var(--f-serif);color:var(--moon);font-weight:500;margin:0 0 4px;}
.daily-visitor-card p{color:var(--body-ink);margin:6px 0 0;}
.daily-visitor-card .caption{color:var(--mist);margin-top:8px;}
@media(max-width:520px){.daily-visitor-card{grid-template-columns:1fr;text-align:center;margin-top:10px;padding:18px}.daily-visitor-card .art{margin:0 auto;width:92px}}



/* ---------- Holdgrafika tisztítása ---------- */
.moon-glyph{overflow:visible}
.moon-card svg.moon-glyph{filter:drop-shadow(0 8px 18px rgba(52,43,29,.10))}
@media(max-width:520px){.moon-card svg.moon-glyph{width:56px;height:56px}}



/* ---------- Végső reszponzív audit: ne lógjon ki szöveg, az útvonal csak lenyílóban legyen ---------- */
html,body{max-width:100%;overflow-x:hidden}
.shell,.view,.gate-hero,.soft-detail,.moon-card,.daily-visitor-card{max-width:100%;min-width:0}
*,*::before,*::after{overflow-wrap:break-word}

/* A főoldalon nincs külön útvonal-sáv; csak a “Mit kell itt csinálnom?” lenyílóban él. */
body > .flow-guide,
.shell > .flow-guide{display:none !important}
.soft-detail__body .flow-guide.in-detail{
  display:flex !important;
  margin:2px 0 14px !important;
  padding:0 !important;
  max-width:100% !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  justify-content:flex-start !important;
  text-align:left !important;
  gap:7px 12px !important;
  flex-wrap:wrap !important;
}
.soft-detail__body .flow-guide.in-detail strong{flex:0 0 100%;margin:0 0 2px !important;font-weight:700;color:#1f1a13}
.soft-detail__body .flow-guide.in-detail span{display:inline-flex !important;white-space:normal !important;font-size:13.5px;line-height:1.45;color:#675c4d}
.soft-detail__body .flow-guide.in-detail span:not(:last-child)::after{content:"·";margin-left:12px;color:var(--gold-soft);opacity:.58}

/* Mobilon a navigáció törhet két sorba, de semmi nem vághatja le a betűket. */
@media(max-width:760px){
  .shell{width:100%;padding-left:14px;padding-right:14px}
  header.site{padding-top:24px}
  
  .brand-sub{max-width:340px;margin-left:auto;margin-right:auto;font-size:10.5px;letter-spacing:.16em;line-height:1.45;word-spacing:.08em}
  nav.tabs{
    width:100%;max-width:100%;box-sizing:border-box;
    margin:14px 0 28px !important;
    padding:8px !important;
    display:flex !important;flex-wrap:wrap !important;overflow:visible !important;
    justify-content:center !important;align-items:center;gap:6px !important;
    border-radius:20px;
  }
  nav.tabs button{
    flex:0 1 auto !important;min-width:0;max-width:100%;
    padding:9px 12px !important;
    white-space:normal !important;text-align:center;
  }
  nav.tabs button::after{bottom:3px}
  .gate-hero{padding:22px 12px 22px !important;margin-bottom:20px !important;overflow:hidden}
  .gate-hero .cave-stage,.gate-hero .cave{max-width:100% !important}
  .gate-title{font-size:clamp(2.25rem,11vw,3.25rem);line-height:1.03}
  .gate-lede{font-size:15px;line-height:1.56;max-width:96%}
  .awen-meaning{font-size:13.5px;line-height:1.56;max-width:96%}
  .soft-detail{width:100%;margin:14px 0 22px !important}
  .soft-detail > summary{gap:10px;}
  .soft-detail__body{font-size:14.5px;line-height:1.62}
  .soft-detail__body .flow-guide.in-detail{gap:6px 10px !important}
  .soft-detail__body .flow-guide.in-detail span{font-size:13px}
  .soft-detail__body .flow-guide.in-detail span:not(:last-child)::after{margin-left:10px}
  .moon-card,.daily-visitor-card{width:100%;max-width:100% !important;box-sizing:border-box}
}
@media(max-width:390px){
  .shell{padding-left:12px;padding-right:12px}
  .brand-sub{font-size:10px;letter-spacing:.13em;max-width:310px}
  nav.tabs{gap:5px !important;padding:7px !important}
  nav.tabs button{padding:8px 10px !important;}
  .gate-title{font-size:clamp(2.05rem,10.5vw,2.8rem)}
}


/* ---------- Apple.com jellegű tipográfiai finomhangolás ---------- */
:root{
  --f-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-serif:Georgia,"Times New Roman",serif;
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{
  font-family:var(--f-ui);
  font-size:17px;
  line-height:1.47059;
  letter-spacing:-.022em;
  font-weight:400;
}
p,li,summary,input,textarea,button{
  font-family:var(--f-ui);
  
  
}
h1,h2,h3,h4,h5,.gate-title,.brand,.sect,.rune{
  font-family:var(--f-ui);
  
  
  font-weight:600;
}

.gate-title{
  font-size:clamp(2.05rem,5.2vw,3.45rem) !important;
  font-weight:600 !important;
  letter-spacing:-.04em !important;
  line-height:1.075 !important;
  margin:10px auto 12px !important;
  max-width:760px;
}
.gate-title em{
  font-family:var(--f-serif);
  font-style:italic;
  font-weight:500;
  letter-spacing:-.025em;
}
.gate-lede{
  max-width:620px !important;
  font-size:clamp(1rem,1.65vw,1.12rem) !important;
  line-height:1.52 !important;
  letter-spacing:-.021em !important;
  color:rgba(51,45,34,.82) !important;
}

.btn,.chip,nav.tabs button{
  font-weight:500;
  
  
}
@media(max-width:520px){
  body{font-size:16px;line-height:1.5;letter-spacing:-.018em}
  .gate-title{font-size:clamp(2rem,9.4vw,2.72rem) !important;line-height:1.06 !important;margin-top:8px !important}
  .gate-lede{font-size:15.5px !important;line-height:1.55 !important}
  
  .brand-sub{letter-spacing:.22em;line-height:1.36}
}


/* ---------- látogatóvezető nyíl ---------- */
.flow-nudge{position:fixed;left:50%;bottom:18px;transform:translate(-50%,120%);z-index:80;opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease;width:min(92vw,440px);display:flex;justify-content:center}
.flow-nudge.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.flow-nudge button{appearance:none;border:1px solid rgba(163,124,44,.28);background:rgba(255,252,245,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(52,43,29,.16);border-radius:999px;padding:12px 18px;color:var(--moon);font-family:var(--f-ui);font-weight:600;display:flex;align-items:center;gap:10px;cursor:pointer;max-width:100%;text-align:left;}
.flow-nudge .arrow{width:28px;height:28px;border-radius:999px;background:rgba(163,124,44,.14);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:18px;line-height:1;animation:nudgeDown 1.25s ease-in-out infinite}
@keyframes nudgeDown{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
.next-guide{display:none;max-width:640px;margin:16px auto 18px;padding:13px 16px;border:1px solid rgba(163,124,44,.22);background:rgba(255,252,245,.56);border-radius:14px;color:var(--body-ink);font-size:14px;line-height:1.45;align-items:center;justify-content:center;gap:10px;text-align:center}
.next-guide.on{display:flex}
.next-guide .arrow{color:var(--gold);font-size:22px;line-height:1;animation:nudgeDown 1.25s ease-in-out infinite}
@media(max-width:520px){.flow-nudge{bottom:14px}.flow-nudge button{padding:11px 14px;}.next-guide{font-size:13.5px;margin:14px auto 16px}}



/* ---------- Végső cella- és tipográfiai harmonizálás — Apple / Jony Ive audit ---------- */
:root{
  --cell-radius:16px;
  --cell-pad-y:18px;
  --cell-pad-x:18px;
  --cell-min-h:108px;
  --cell-gap:14px;
  --copy-max:680px;
}

/* általános olvasási ritmus */
.view{max-width:100%}
.rune-sub,p.lede,.gate-lede,.awen-meaning,.gs-sub,.small-note{max-width:var(--copy-max);margin-left:auto;margin-right:auto;}
p.lede{color:rgba(63,56,44,.78);}
h2.rune{margin-bottom:12px;}

.rune-sub{margin-bottom:34px;color:rgba(122,111,93,.86);}

/* cellák: egységes szélesség, magasság, optikai súly */
.sit-grid,.houses,.spreads,.lexgrid,.rg-steps,.integration-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}
.sit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cell-gap);max-width:860px;margin-left:auto;margin-right:auto}
.houses{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cell-gap);max-width:980px;margin-left:auto;margin-right:auto}
.spreads{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cell-gap);max-width:920px;margin-left:auto;margin-right:auto}
.lexgrid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:var(--cell-gap);max-width:980px;margin-left:auto;margin-right:auto}

.sit-btn,.house-card,.spread-btn,.dk-grid-card,.lex-card,.rg-btn{
  width:100%;height:100%;min-height:var(--cell-min-h);
  border-radius:var(--cell-radius) !important;
  padding:var(--cell-pad-y) var(--cell-pad-x) !important;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;
}
.spread-btn{text-align:left;align-items:flex-start;justify-content:flex-start;min-height:148px}
.house-card{min-height:190px;justify-content:flex-start}
.lex-card{min-height:156px;justify-content:flex-start}
.dk-grid-card{min-height:132px}
.rg-btn{min-height:92px;}

.sit-btn b,.house-card h3,.spread-btn h3,.dk-grid-card h3,.lex-card h4,.rg-head{
  font-family:var(--f-ui) !important;
  font-weight:600 !important;
  
  
}
.sit-btn b{display:block;margin-bottom:4px;color:var(--moon);}
.sit-btn span,.house-card p,.spread-btn p,.spread-btn .sit,.dk-grid-card p,.lex-card p,.rg-text{
  
  
  
  color:rgba(122,111,93,.88) !important;
}
.house-card h3{margin:2px 0 5px !important;}
.spread-btn h3{margin:6px 0 2px !important;}


/* gombok: Apple-szerű konzisztens ritmus */
.btn,.chip,nav.tabs button{
  border-radius:999px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn{padding:12px 22px;}
.chip{padding:10px 15px;}
nav.tabs{max-width:980px;margin-left:auto;margin-right:auto;border-radius:999px;background:rgba(255,252,245,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(163,124,44,.18);box-shadow:0 12px 38px rgba(22,19,16,.04)}
nav.tabs button{padding:9px 15px;white-space:nowrap;}

/* ritmus és sűrűség csökkentése */
.gate-step{max-width:900px}
.gate-step h3{margin-bottom:12px;}
.gate-step .gs-sub{font-size:15.5px;line-height:1.52;margin-bottom:26px;color:rgba(122,111,93,.86)}
.rit-card,.moon-card,.daily-visitor-card,.priestess,.gchat,.oracle-out,.journal,.reco,.integration-panel,.random-panel,.card-pendulum{
  border-radius:18px !important;
}
.reading-card{border-left:0;border:1px solid rgba(163,124,44,.18);background:rgba(255,252,245,.42);border-radius:16px;padding:18px 18px 16px;margin-bottom:16px}
.reading-card h4{font-family:var(--f-ui) !important;font-weight:600;}
.reading-card p{color:rgba(63,56,44,.84);}

/* reszponzív cellaritmus */
@media(max-width:980px){
  .houses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spreads{grid-template-columns:repeat(2,minmax(0,1fr))}
  .house-card{min-height:168px}
}
@media(max-width:760px){
  :root{--cell-min-h:96px;--cell-gap:10px;--cell-pad-y:16px;--cell-pad-x:14px}
  
  .rune-sub{margin-bottom:26px;}
  .sit-grid,.houses,.spreads,.lexgrid,.rg-steps,.integration-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-width:100%;
  }
  .sit-btn,.spread-btn,.house-card,.dk-grid-card,.lex-card,.rg-btn{
    min-height:92px;
    padding:16px 14px !important;
  }
  .house-card{min-height:138px}
  .spread-btn{min-height:118px}
  .lex-card{min-height:130px}
  
  
  
  
  nav.tabs{border-radius:20px;justify-content:center}
  nav.tabs button{padding:9px 11px;min-height:40px;white-space:normal;}
}
@media(max-width:390px){
  .sit-btn,.spread-btn,.house-card,.dk-grid-card,.lex-card,.rg-btn{padding-left:12px !important;padding-right:12px !important;}
  .btn{padding:11px 18px;}
}


/* ---------- Betűméret-harmonizálás — végső Apple scale ---------- */
:root{
  --fs-micro:11px;
  --fs-caption:12.5px;
  --fs-small:13.5px;
  --fs-body:15.5px;
  --fs-body-lg:17px;
  --fs-cell-title:16.5px;
  --fs-card-title:20px;
  --fs-section:clamp(1.72rem,3vw,2.34rem);
  --fs-page:clamp(2rem,4.4vw,3rem);
  --fs-hero:clamp(2.25rem,5vw,3.25rem);
  --lh-tight:1.08;
  --lh-title:1.16;
  --lh-body:1.54;
  --lh-small:1.45;
}
body{font-size:var(--fs-body-lg) !important;line-height:var(--lh-body) !important}

h1.brand{font-weight:650 !important;}
.brand-sub{font-size:var(--fs-caption) !important;line-height:1.42 !important;letter-spacing:.16em !important;word-spacing:.08em !important}
.gate-title{font-size:var(--fs-hero) !important;line-height:var(--lh-tight) !important;letter-spacing:-.045em !important;font-weight:620 !important}
h2.rune{font-weight:650 !important;}
h3.sect,.gate-step h3{font-weight:640 !important;}
.rune-sub,.ps,.sn,.mt,.caption,.daily-gate__head,.question-refiner__title,.ceridwen-vow__title,.integration-panel__title,.moon-lens__title,.deck-tone__title{text-transform:uppercase;}
.daily-gate__sub{font-size:var(--fs-small) !important;line-height:var(--lh-small) !important;letter-spacing:-.01em !important;text-transform:none}
.sit-btn b,.house-card h3,.spread-btn h3,.dk-grid-card h3,.lex-card h4,.rg-head{font-weight:620 !important;}
.spread-btn h3,.reading-card h4,.moon-card h4,.daily-visitor-card h4,.jentry h4{font-weight:620 !important;font-family:var(--f-ui) !important;}


.btn{font-weight:580 !important;}
nav.tabs button{font-weight:560 !important;}
.soft-detail > summary{font-weight:640 !important;}

@media(max-width:760px){
  :root{--fs-body-lg:16px;--fs-body:14.5px;--fs-small:13px;--fs-cell-title:15.5px;--fs-card-title:18px;--fs-section:clamp(1.55rem,7.5vw,2.15rem);--fs-page:clamp(1.85rem,8.6vw,2.62rem);--fs-hero:clamp(1.95rem,8.8vw,2.58rem)}
  
  .brand-sub{font-size:10.5px !important;letter-spacing:.13em !important;line-height:1.42 !important;max-width:340px}
  .gate-title{max-width:94%;margin-top:8px !important;margin-bottom:10px !important}
  
  
}
@media(max-width:390px){
  :root{--fs-body:14px;--fs-small:12.5px;--fs-cell-title:15px;--fs-card-title:17.5px;--fs-hero:clamp(1.82rem,8.4vw,2.32rem)}
  .brand-sub{font-size:10px !important;letter-spacing:.11em !important}
  
}



/* ---------- AWEN láthatóság és footer méret ---------- */
header.site .hero-awen{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
header.site .hero-awen-wrap{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
.footer-awen{margin:34px auto 0 !important}
.footer-awen__svg,
footer.site .footer-awen .awen{
  width:52px !important;
  height:52px !important;
  opacity:.82 !important;
}
@media(max-width:760px){
  .footer-awen__svg,
  footer.site .footer-awen .awen{width:46px !important;height:46px !important;opacity:.82 !important}
}



/* ---------- Végső reszponzív harmónia — egységes kártyaszélességek + látható AWEN ---------- */
:root{--front-card-w:640px;--front-card-w-wide:920px}

/* A főoldali információs elemek azonos vizuális tengelyre kerülnek */
.soft-detail,
.gate-nav--primary,
.daily-gate,
.daily-gate .moon-card,
.daily-gate .daily-visitor-card{
  width:min(100%,var(--front-card-w)) !important;
  max-width:var(--front-card-w) !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.daily-gate .moon-card,
.daily-gate .daily-visitor-card{
  padding:22px 24px !important;
}
.gate-nav--primary{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.gate-nav--primary .btn{
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
}

/* Az azonos funkciójú választócellák mindig azonos szélességi ritmusban működnek */
.sit-grid,
.spreads,
.houses,
.lexgrid,
.rg-steps,
.integration-grid{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.sit-grid{max-width:var(--front-card-w-wide) !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.spreads{max-width:var(--front-card-w-wide) !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.houses{max-width:var(--front-card-w-wide) !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.lexgrid{max-width:var(--front-card-w-wide) !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.sit-btn,.house-card,.spread-btn,.dk-grid-card,.lex-card,.rg-btn{
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.sit-btn *,.house-card *,.spread-btn *,.dk-grid-card *,.lex-card *,.rg-btn *{
  overflow-wrap:anywhere;
}

/* Hero AWEN: legyen valóban látható, fekete jel arany homállyal */
header.site .hero-awen-wrap{
  width:118px !important;
  height:118px !important;
  margin:0 auto 16px !important;
  background:radial-gradient(circle, rgba(255,239,190,.78) 0%, rgba(201,168,106,.36) 34%, rgba(201,168,106,.16) 56%, rgba(201,168,106,0) 76%) !important;
  filter:drop-shadow(0 0 38px rgba(201,168,106,.38)) drop-shadow(0 0 86px rgba(201,168,106,.22)) !important;
}
header.site .hero-awen{
  width:64px !important;
  height:64px !important;
  opacity:1 !important;
}
header.site .hero-awen .ring,
header.site .hero-awen .beam,
header.site .hero-awen .dot{
  stroke:#050403 !important;
}
header.site .hero-awen .dot{fill:#050403 !important}
header.site .hero-awen .beam{stroke-width:3.3 !important}

/* Footer AWEN: csendes, de elég nagy zárópecsét */
.footer-awen{margin:38px auto 0 !important}
.footer-awen__svg,
footer.site .footer-awen .awen{
  width:68px !important;
  height:68px !important;
  opacity:.9 !important;
}

/* Footerből minden korábbi intézményi kredit vizuálisan is eltávolítva, ha maradt volna üres sor */
footer.site p:empty{display:none !important;}

@media(max-width:980px){
  .houses,.lexgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  :root{--front-card-w:100%;--front-card-w-wide:100%}
  .gate-nav--primary{grid-template-columns:1fr !important;gap:10px !important}
  .daily-gate .moon-card,
  .daily-gate .daily-visitor-card{padding:18px 18px !important}
  .sit-grid,.spreads,.houses,.lexgrid,.rg-steps,.integration-grid{grid-template-columns:1fr !important}
  header.site .hero-awen-wrap{width:92px !important;height:92px !important;margin-bottom:12px !important}
  header.site .hero-awen{width:54px !important;height:54px !important}
  .footer-awen__svg,
  footer.site .footer-awen .awen{width:58px !important;height:58px !important;opacity:.88 !important}
}



/* ==========================================================
   Végső tipográfiai tisztítás: természetes olvasás, balra zárt
   ========================================================== */
:root{
  --copy-max: 760px;
  --section-gap-xl: clamp(56px, 7vw, 104px);
  --section-gap-lg: clamp(36px, 5vw, 72px);
  --section-gap-md: clamp(24px, 3.5vw, 44px);
}

/* Az oldal szövege Apple-szerűen természetes, nem plakátszerű. */
body{
  font-family: var(--f-ui) !important;
  font-size: 16px;
  line-height: 1.58;
  letter-spacing: -0.011em;
  text-align: left;
}

/* Maximum 3 tipográfiai hang: rendszerbetű, visszafogott serif-akcentus, kis címke. */
h1,h2,h3,h4,h5,h6,
.brand,.brand-sub,.rune-sub,.mt,.ps,.sn,.count,.meta,.rl,.rg-sub,.pendulum-sub,
.cardname .no,.cardname .rv,.question-refiner__title,.ceridwen-vow__title,
.integration-panel__title,.moon-lens__title,.deck-tone__title,
.daily-gate__head,.daily-gate__sub,.random-panel__head,.random-panel__sub,
.soft-detail summary,.gate-title,.gate-lede,.awen-meaning,
footer.site p{
  text-align: left !important;
}

/* A végig nagybetűs, nagy betűtávolságú címkéket olvashatóvá tesszük. */
.brand-sub,.rune-sub,.mt,.ps,.sn,.count,.meta,.rl,.pendulum-sub,.rg-sub,
.cardname .no,.cardname .rv,.question-refiner__title,.ceridwen-vow__title,
.integration-panel__title,.moon-lens__title,.deck-tone__title,
.cp-title,.simple-path__eyebrow,.daily-gate__head,.daily-gate__sub{
  text-transform: none !important;
  
  
  
}

/* A valódi főcímek maradjanak erősek, de ne legyen túl sok méretlépcső. */

.brand-sub{
  max-width: var(--copy-max);
  margin: 12px 0 0 !important;
  color: rgba(83,75,63,.78) !important;
}
h2.rune{
  
  
  
  margin-bottom: 12px !important;
}
h2.rune::after{margin-left:0 !important;margin-right:auto !important;}

.gate-title{
  font-size: clamp(2rem, 5.5vw, 3.4rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.038em !important;
  font-weight: 640 !important;
  max-width: var(--copy-max);
  margin-left: auto !important;
  margin-right: auto !important;
}
.gate-title em{letter-spacing:-0.025em !important;}

/* Bekezdések: kevesebb középre zárás, több természetes ritmus. */
p,.gate-lede,.awen-meaning,.prose,.prose p,.rit-card p,.reading-card p,
.moon-card p,.daily-visitor-card p,.random-panel__desc,.oracle-out,
.gmsg,.caption,.small-note,footer.site p{
  
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
p.lede,.gate-lede,.awen-meaning,.prose,.daily-gate__sub,
.random-panel__desc,footer.site p{
  max-width: var(--copy-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Szakaszok közötti levegő: az új blokk valóban új szakasznak érződjön. */
.view{max-width:1080px !important;}
.view > .divider,
.view > .ritual-gate,
.view > .random-panel,
.view > .priestess,
.view > .journal,
.view > .gchat,
.view > .houses,
.view > .spreads,
.view > .table,
.view > .reading,
.view > .daily-gate,
.view > .soft-detail,
.view > .gate-nav,
.view > .flow-guide{
  margin-top: var(--section-gap-lg) !important;
}
.divider{justify-content:flex-start !important;margin-top:var(--section-gap-xl) !important;margin-bottom:var(--section-gap-md) !important;}
.daily-gate,
.priestess,
.random-panel,
.ritual-gate,
.gchat,
.journal,
.reco,
.dk-energy,
.oracle-out,
.ai-prompt-copy{
  margin-top: var(--section-gap-lg) !important;
}
.moon-card + .daily-visitor-card,
.rit-card + .gate-nav,
.reading-card + .reading-card,
.spreads + .controls,
.houses + .deck-tone,
.question-refiner + .ceridwen-vow{
  margin-top: var(--section-gap-md) !important;
}

/* Egységes kártyaszélesség és balra zárt cellaszövegek. */
.moon-card,.daily-visitor-card,.soft-detail,.gate-nav--primary,
.random-panel,.ritual-gate,.priestess,.gchat,.journal,.oracle-out,
.ai-prompt-copy,.flow-guide,.kid-hint,.simple-path{
  width: min(100%, var(--copy-max)) !important;
  max-width: var(--copy-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.moon-card,.daily-visitor-card{
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) !important;
  gap: 22px !important;
  align-items: center !important;
  text-align: left !important;
  padding: 24px 28px !important;
}
.moon-card > div,.daily-visitor-card > div{min-width:0 !important;}
.moon-card svg,.daily-visitor-card .art{justify-self:center !important;}

.houses,.spreads,.sit-grid,.problem-grid,.lex-grid,.dk-grid{
  display:grid !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.houses{grid-template-columns: repeat(auto-fit,minmax(230px,1fr)) !important;}
.spreads,.sit-grid,.problem-grid,.lex-grid,.dk-grid{grid-template-columns: repeat(auto-fit,minmax(260px,1fr)) !important;}
.house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card,
.card-pendulum,.question-refiner,.ceridwen-vow,.integration-panel,.moon-lens,.deck-tone{
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  text-align:left !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.house-card h3,.spread-btn h3,.sit-btn h4,.problem-card h3,.lex-card h3,.dk-grid-card h3,
.house-card p,.spread-btn p,.sit-btn p,.problem-card p,.lex-card p,.dk-grid-card p{
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
  text-align:left !important;
}
.house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{
  min-height: 132px !important;
  padding: 22px 22px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

/* Gombok és navigáció: természetes sortörés, nincs kilógás. */
.btn,nav.tabs button,.chip,.spread-btn,.sit-btn,.problem-card{
  white-space: normal !important;
  overflow-wrap:anywhere !important;
  
}
nav.tabs{justify-content:flex-start !important;align-items:stretch !important;gap:8px !important;}
nav.tabs button{text-align:left !important;flex:1 1 124px !important;min-width:0 !important;}
.controls,.gate-nav{justify-content:flex-start !important;}

/* Fejléc: a szöveg balra zárt, a jel maradhat finom központi márkajelként. */
header.site{align-items:stretch !important;text-align:left !important;}
header.site .hero-awen-wrap{align-self:center !important;}
.brand,.brand-sub{width:min(100%, var(--copy-max));margin-left:auto !important;margin-right:auto !important;}
.cave-stage{margin-top: var(--section-gap-md) !important;margin-bottom: var(--section-gap-md) !important;}
.gate-hero{text-align:left !important;}
.gate-hero .cave{margin-left:auto !important;margin-right:auto !important;}

/* Lenyíló szekciók: legyen egyértelműen külön blokk. */
.soft-detail{
  margin-top: var(--section-gap-md) !important;
  margin-bottom: var(--section-gap-md) !important;
}

.soft-detail__body{padding-top:18px !important;}

@media(max-width:760px){
  :root{--copy-max:100%;--section-gap-xl:52px;--section-gap-lg:34px;--section-gap-md:22px;}
  .shell{padding-left:18px !important;padding-right:18px !important;}
  header.site{padding-top:24px !important;}
  
  .brand-sub{font-size:13px !important;line-height:1.45 !important;}
  .gate-title{font-size:clamp(1.9rem,9vw,2.75rem) !important;}
  .moon-card,.daily-visitor-card{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:22px 20px !important;
  }
  .moon-card svg,.daily-visitor-card .art{justify-self:start !important;}
  .houses,.spreads,.sit-grid,.problem-grid,.lex-grid,.dk-grid{grid-template-columns:1fr !important;}
  .house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{min-height:auto !important;padding:20px 18px !important;}
  nav.tabs button{flex:1 1 calc(50% - 8px) !important;}
}

@media(max-width:420px){
  .shell{padding-left:14px !important;padding-right:14px !important;}
  nav.tabs button{flex:1 1 100% !important;text-align:left !important;}
  .btn{width:100% !important;text-align:center !important;}
}


/* ---------- HU/EN nyelvváltó + középre igazított címek/gombok ---------- */
.language-switch{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px auto 0;flex-wrap:wrap}
.language-switch button{border:1px solid rgba(163,124,44,.28);background:rgba(255,252,245,.72);color:var(--mist);font-family:var(--f-ui);font-weight:560;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;}
.language-switch button.on{color:var(--moon);background:rgba(163,124,44,.10);border-color:rgba(163,124,44,.42);}
.language-switch button:hover{transform:translateY(-1px);color:var(--moon);}
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.reading-card h4,.journal h3,.simple-path h3{text-align:center !important;}
.gate-nav,.controls,.jactions,.row,.filters{justify-content:center !important;text-align:center !important}
.btn,.chip,nav.tabs button,.language-switch button{text-align:center !important;}
nav.tabs{justify-content:center !important}
@media(max-width:620px){
  .gate-nav,.controls,.jactions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .gate-nav .btn,.controls .btn,.jactions .btn{width:100%;max-width:420px;margin-left:auto;margin-right:auto;}
  nav.tabs{justify-content:center !important}
}



/* ---------- Végső olvashatósági audit: nagyobb sorköz, Ceridwen-csend ---------- */
:root{--lh-reading:1.86;--lh-text:1.78;--para-gap:15px;}
.reading-card,
.oracle-out,
.priestess,
.gchat,
.journal,
.reco,
.dk-energy,
.card-pendulum,
.moon-lens,
.deck-tone,
.integration-panel,
.question-refiner,
.ceridwen-vow,
.rit-card,
.soft-detail__body{
  overflow:visible !important;
}
.reading-card{padding:8px 0 28px 24px !important;margin-bottom:34px !important;max-width:100% !important;}
.reading-card p,
.reading-card li,
.reading-card .deck-tone p,
.reading-card .moon-lens p,
.oracle-out,
.oracle-out p,
.ai-prompt-copy p,
.priestess p,
.gmsg,
.jentry .jtext,
.dk-energy p,
.card-pendulum .cp-status,
.card-pendulum .cp-lead,
.rit-card p,
.soft-detail__body p,
.question-refiner p,
.ceridwen-vow p,
.integration-panel p,
.moon-lens p,
.deck-tone p,
.reco p,
.journal p{
  
  margin-bottom:var(--para-gap) !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}
.reading-card h4{margin-bottom:14px !important;}
.reading-card .meta{line-height:1.55 !important;margin-bottom:12px !important;letter-spacing:.035em !important;text-transform:none !important;}
.tag{margin-bottom:7px !important;}
.deck-tone,.moon-lens,.question-refiner,.ceridwen-vow,.integration-panel{padding:15px 16px !important;margin-top:18px !important;margin-bottom:18px !important;}
.view > section,.view > .reading,.view > .priestess,.view > .integration-panel,.view > .ritual-gate,.view > .random-panel,.view > .journal,.view > .gchat,.view > .table{margin-top:clamp(44px,5.5vw,82px) !important;margin-bottom:clamp(44px,5.5vw,82px) !important;}
.divider{margin-top:clamp(58px,7vw,104px) !important;margin-bottom:clamp(46px,5.6vw,86px) !important;}
/* A gombok és fő címek maradnak középen, a hosszú olvasatok levegősebben balra olvashatók. */
.btn,.chip,nav.tabs button,.language-switch button,.gate-nav,.controls,.jactions{text-align:center !important;justify-content:center !important;}
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.journal h3,.simple-path h3,.gate-step h3{text-align:center !important;}
.reading-card h4{text-align:left !important;}
@media(max-width:760px){
  :root{--lh-reading:1.82;--lh-text:1.74;--para-gap:14px;}
  .reading-card{padding-left:18px !important;margin-bottom:30px !important;}
  
  .view > section,.view > .reading,.view > .priestess,.view > .integration-panel,.view > .ritual-gate,.view > .random-panel,.view > .journal,.view > .gchat,.view > .table{margin-top:46px !important;margin-bottom:54px !important;}
}


/* ---------- Ceridwen látványosabb gondolkodás + hero pöttyök ---------- */
.oracle-out.thinking{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-height:112px !important;
  padding:22px 18px 54px !important;
  border:1px solid rgba(163,124,44,.18) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 24%, rgba(201,168,106,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(231,222,204,.34)) !important;
  color:var(--moon) !important;
  font-style:normal !important;
  font-size:15.5px !important;
  line-height:1.75 !important;
  text-align:center !important;
  overflow:hidden !important;
  box-shadow:0 16px 44px rgba(18,16,12,.05), inset 0 1px 0 rgba(255,255,255,.45) !important;
}
.oracle-out.thinking::before{
  content:"";
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  width:110px;
  height:42px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(201,168,106,.18), rgba(201,168,106,0));
  filter:blur(8px);
  animation:ceridwenGlow 1.8s ease-in-out infinite;
  pointer-events:none;
}
.oracle-out.thinking::after{
  content:"•  •  •";
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  font-size:24px;
  line-height:1;
  letter-spacing:10px;
  color:var(--gold);
  opacity:.88;
  animation:ceridwenDots 1.2s ease-in-out infinite;
  white-space:pre;
}
@keyframes ceridwenGlow{
  0%,100%{opacity:.55;transform:translateX(-50%) scale(.96)}
  50%{opacity:1;transform:translateX(-50%) scale(1.08)}
}
@keyframes ceridwenDots{
  0%,100%{opacity:.28;letter-spacing:10px;transform:translateX(-50%) translateY(0)}
  50%{opacity:1;letter-spacing:16px;transform:translateX(-50%) translateY(-2px)}
}
@media (max-width: 767px){
  .oracle-out.thinking{
    min-height:104px !important;
    padding:20px 14px 50px !important;
    font-size:15px !important;
    line-height:1.68 !important;
    border-radius:16px !important;
  }
}
.hero-sparks .hero-spark{fill:rgba(201,168,106,.92)}
.hero-sparks .hero-spark.soft{fill:rgba(232,240,242,.78)}


/* ---------- Egységes hero szövegtengely mobilon és asztalin ---------- */
.gate-hero .gate-lede,
.gate-hero .awen-meaning,
.gate-hero .cave-disclaimer,
.gate-hero .soft-detail,
.gate-hero .gate-nav--primary,
.gate-hero .daily-gate{
  width:min(760px, calc(100% - 64px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.gate-hero .gate-lede,
.gate-hero .awen-meaning,
.gate-hero .cave-disclaimer{
  text-align:left !important;
}
.gate-hero .gate-lede{margin-top:16px !important;margin-bottom:14px !important;}
.gate-hero .awen-meaning{margin-top:0 !important;margin-bottom:16px !important;}
.gate-hero .cave-disclaimer{margin-top:18px !important;margin-bottom:22px !important;}
@media(max-width:520px){
  .gate-hero .gate-lede,
  .gate-hero .awen-meaning,
  .gate-hero .cave-disclaimer,
  .gate-hero .soft-detail,
  .gate-hero .gate-nav--primary,
  .gate-hero .daily-gate{
    width:calc(100% - 40px) !important;
  }
}
@media(max-width:380px){
  .gate-hero .gate-lede,
  .gate-hero .awen-meaning,
  .gate-hero .cave-disclaimer,
  .gate-hero .soft-detail,
  .gate-hero .gate-nav--primary,
  .gate-hero .daily-gate{
    width:calc(100% - 32px) !important;
  }
}


/* ---------- Hero AWEN finomítás ---------- */
.awen-seal .outer-ring{fill:none;stroke:var(--gold);opacity:.92}
header.site .hero-awen .outer-ring{stroke:var(--gold) !important;stroke-width:1.8 !important}
header.site .hero-awen{width:60px !important;height:60px !important}
header.site .hero-awen-wrap{width:96px !important;height:96px !important}
@media (min-width: 768px){
  header.site .hero-awen{width:68px !important;height:68px !important}
  header.site .hero-awen-wrap{width:108px !important;height:108px !important}
}


/* ---------- Bővített kelta holdréteg + kétnyelvű mitológiai blokkok ---------- */
.moon-card{max-width:760px !important;align-items:flex-start !important}
.moon-card .moon-lore{margin-top:12px;display:grid;gap:9px}
.moon-card .moon-lore p{margin:0 !important;}
.moon-card .moon-lore strong{color:var(--gold-soft);font-weight:650}
.i18n-en,.i18n-block-en{display:none}
.i18n-block-hu,.i18n-block-en{width:100%}
html[lang="en"] .i18n-hu,html[lang="en"] .i18n-block-hu{display:none !important}
html[lang="en"] .i18n-en{display:inline !important}
html[lang="en"] .i18n-block-en{display:block !important}
html[lang="hu"] .i18n-block-hu{display:block !important}
@media(max-width:640px){
  .moon-card{flex-direction:column !important;gap:14px !important}
  .moon-card svg{align-self:center}
  .moon-card .moon-lore{gap:8px}
}


/* ---------- Mély kelta panteon + évkör blokkok ---------- */
.myth-grid,.wheel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 10px}
.myth-card,.wheel-card{border:1px solid rgba(163,124,44,.20);background:linear-gradient(180deg,rgba(253,252,249,.78),rgba(231,222,204,.30));border-radius:14px;padding:16px 16px 15px;min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:none}
.myth-card h3,.wheel-card h3{font-family:var(--f-ui);margin:0 0 8px;color:var(--moon);font-weight:700;text-align:left;}
.myth-card p,.wheel-card p{margin:0 0 8px;color:var(--body-ink);}
.myth-card p:last-child,.wheel-card p:last-child{margin-bottom:0;}
.source-discipline{border-left:2px solid rgba(163,124,44,.42);padding:12px 0 12px 16px;margin:14px 0 18px;color:var(--mist);font-size:14px;line-height:1.62}
@media(max-width:760px){.myth-grid,.wheel-grid{grid-template-columns:1fr;gap:12px}.myth-card,.wheel-card{padding:15px 14px}}


/* ---------- Footer tartalom vissza a heroba ---------- */
.hero-footer-note{
  width:min(100%, var(--copy-max, 680px));
  margin:18px auto 16px !important;
  padding:18px 18px 16px;
  border:1px solid rgba(163,124,44,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(231,222,204,.24));
  box-shadow:0 18px 48px rgba(18,16,12,.045), inset 0 1px 0 rgba(255,255,255,.42);
  text-align:center;
}
.hero-footer-note__seal{display:flex;justify-content:center;align-items:center;margin:0 auto 12px}
.hero-footer-note__seal .awen{width:54px !important;height:54px !important;margin:0 auto !important;opacity:.92 !important;filter:drop-shadow(0 0 14px rgba(201,168,106,.16)) !important}
.hero-footer-note p{color:rgba(51,45,34,.82) !important;max-width:620px;margin:0 auto 10px !important;}
.hero-footer-note p:last-child{margin-bottom:0 !important;color:rgba(122,111,93,.84) !important;}
.hero-footer-note strong{font-weight:700;color:var(--gold-soft)}
@media(max-width:640px){.hero-footer-note{padding:16px 14px;border-radius:16px;margin-top:16px !important}.hero-footer-note__seal .awen{width:50px !important;height:50px !important}}
footer.site{display:none !important}


/* ===== Full layout, card-library and responsive alignment correction ===== */
.soft-detail > summary{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 46px !important;
  align-items:center !important;
  gap:16px !important;
  text-align:left !important;
  padding:22px 72px 22px 28px !important;
  position:relative !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.soft-detail > summary::after{position:absolute !important;right:22px !important;top:50% !important;transform:translateY(-50%) !important;}
.soft-detail > summary > span{display:block;min-width:0;max-width:100%;}
.soft-detail__body{padding:28px !important;text-align:left !important;}
.soft-detail__body > .sect,.soft-detail__body > .rune,.soft-detail__body > .rune-sub{text-align:center !important;margin-left:auto !important;margin-right:auto !important;}
.section-display,.all-cards-heading{text-align:center !important;}
.section-display{font-size:clamp(32px,5vw,56px);line-height:1.05;letter-spacing:-.045em;margin:0 0 14px;font-weight:700;}
.section-intro{max-width:760px;margin:0 auto 28px !important;text-align:center !important;}
.deck-overview{max-width:1040px;margin:38px auto 44px;padding:0 4px;}
.deck-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.deck-overview-card{background:rgba(255,255,255,.76);border:1px solid rgba(163,124,44,.18);border-radius:24px;padding:24px;box-shadow:0 12px 34px rgba(35,29,21,.055);text-align:left;min-width:0;}
.deck-overview-card h3{margin:0 0 10px;text-align:left;}
.deck-overview-card p{margin:0;}
.deck-overview-card--wide{grid-column:1/-1;}
.all-cards-heading{font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.035em;font-weight:700;margin:36px 0 20px;}
#lexFilters,#dkFilters{max-width:100%;padding:0 4px;}
#lexGrid.lexgrid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important;max-width:1040px !important;margin:26px auto 0 !important;align-items:stretch !important;}
.lexcard{min-width:0 !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-start !important;text-align:center !important;padding:18px 14px !important;border-radius:20px !important;background:rgba(255,255,255,.78) !important;border:1px solid rgba(163,124,44,.16) !important;box-shadow:0 10px 28px rgba(35,29,21,.05) !important;}
.lexcard .art{width:100%;min-height:150px;display:flex;align-items:center;justify-content:center;}
.lexcard .art svg{margin:auto !important;display:block !important;max-width:118px !important;max-height:138px !important;}
.lexcard .cardname{text-align:center !important;width:100%;padding:8px 4px 2px !important;}
#dkGrid.houses{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;max-width:1040px !important;margin:24px auto 0 !important;align-items:stretch !important;}
#dkGrid .dk-grid-card{height:100% !important;min-width:0 !important;padding:22px !important;text-align:left !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:flex-start !important;}
#dkGrid .dk-grid-card h3,#dkGrid .dk-grid-card p,#dkGrid .dk-grid-card .tgs{text-align:left !important;width:100% !important;}
#dkGrid .dk-grid-card p{margin-top:8px !important;}
#dkGrid .dk-grid-card .tgs{margin-top:auto !important;padding-top:14px !important;}
.pendulum-stage,.svt-stage,.random-panel,.controls,.question-refiner,.integration-panel,.dk-energy{box-sizing:border-box;max-width:100%;}
.pendulum-stage .sect,.pendulum-stage>h3,.soft-detail__body>.sect{text-align:center !important;}
.controls{width:100%;align-items:stretch;}
.controls .btn{max-width:100%;box-sizing:border-box;}
.btn{background:linear-gradient(180deg,#b38a3d,#8f6a28) !important;color:#fff !important;border-color:transparent !important;box-shadow:none !important;}
.btn:hover{background:linear-gradient(180deg,#9f7833,#7f5e24) !important;}
.btn.ghost{background:rgba(255,255,255,.66) !important;color:#5a4932 !important;border:1px solid rgba(163,124,44,.25) !important;}
@media(max-width:900px){
  #lexGrid.lexgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #dkGrid.houses{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .soft-detail > summary{grid-template-columns:minmax(0,1fr) 42px !important;padding:20px 62px 20px 20px !important;}
  .soft-detail > summary::after{right:16px !important;}
  .soft-detail__body{padding:22px 18px !important;}
  .deck-overview{margin:28px auto 34px;}
  .deck-overview-grid{grid-template-columns:1fr;gap:14px;}
  .deck-overview-card--wide{grid-column:auto;}
  .deck-overview-card{padding:20px;border-radius:20px;}
  #lexGrid.lexgrid,#dkGrid.houses{grid-template-columns:1fr !important;gap:14px !important;width:100% !important;}
  .lexcard{padding:18px !important;}
  .lexcard .art{min-height:165px;}
  .controls{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .controls .btn{width:100% !important;min-height:54px !important;}
  .pendulum-stage,.svt-stage,.question-refiner{padding-left:16px !important;padding-right:16px !important;}
  .rune{overflow-wrap:normal !important;word-break:normal !important;hyphens:none !important;}
}




/* ---------- Hero AWEN fény eltávolítása ---------- */
header.site .hero-awen-wrap{
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
}
header.site .hero-awen-wrap::before{
  display:none !important;
  content:none !important;
  background:none !important;
}
header.site .hero-awen{
  filter:none !important;
}

/* ---------- Apple-szerű finom görgetési mozgás ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal-on-scroll{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.992);
    filter:blur(5px);
    transition:
      opacity .72s cubic-bezier(.16,1,.3,1),
      transform .72s cubic-bezier(.16,1,.3,1),
      filter .72s cubic-bezier(.16,1,.3,1);
    will-change:opacity,transform,filter;
  }
  .reveal-on-scroll.is-visible{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
  .reveal-on-scroll.reveal-soft-delay{transition-delay:.08s}
  .reveal-on-scroll.reveal-card{
    transform:translate3d(0,20px,0) scale(.985);
  }
  .reveal-on-scroll.reveal-card.is-visible{
    transform:translate3d(0,0,0) scale(1);
  }
}
@media (prefers-reduced-motion:reduce){
  .reveal-on-scroll{opacity:1 !important;transform:none !important;filter:none !important}
}


/* ---------- Végső tipográfiai tisztítás: max. 2 betűcsalád, kevesebb méret, cella-törésvédelem ---------- */
:root{
  --fs-xs:12px;
  --fs-sm:14px;
  --fs-body:16px;
  --fs-lede:18px;
  --fs-title:28px;
  --fs-hero:clamp(2.15rem,4.6vw,3.6rem);
  --lh-tight:1.12;
  --lh-body:1.56;
  --lh-soft:1.66;
}
html,body{font-family:var(--f-ui) !important}
body{font-size:var(--fs-body) !important;line-height:var(--lh-body) !important;letter-spacing:-.012em !important;text-rendering:optimizeLegibility}
body *{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-break:normal;hyphens:auto}

/* csak két betűcsalád marad: rendszer sans + visszafogott serif akcentus */
h1,h2,h3,h4,h5,h6,p,button,input,textarea,summary,li,div,span,label{font-family:var(--f-ui) !important;}
h1.brand em,.gate-title em,.q,.bt,.rit-say,.vow-line,.reco h4,.card-title em,.reading-card h4 em{font-family:var(--f-serif) !important;font-style:italic;}

/* kevesebb, természetesebb méretlépcső */
h1.brand{font-weight:700 !important;}
.brand-sub,.rune-sub,.mt,.count,.sn,.rl,.moon-lens__title,.deck-tone__title,.question-refiner__title,.ceridwen-vow__title,.integration-panel__title{text-transform:none !important;}
h2.rune{font-weight:650 !important;}
h3.sect,.gate-step h3{font-weight:650 !important;}
p.lede,.gate-lede{color:var(--body-ink) !important;}


/* Hero cím finomabb, természetesebb */
.gate-title{font-size:var(--fs-hero) !important;line-height:1.08 !important;letter-spacing:-.035em !important;font-weight:650 !important;margin:10px auto 8px !important;max-width:760px !important}
.gate-title em{font-weight:500 !important;color:var(--gold) !important}
.awen-meaning{font-size:var(--fs-sm) !important;line-height:1.62 !important;max-width:620px !important}

/* cellák: azonos ritmus, ne lógjon ki szöveg */
.sit-grid,.spreads,.houses,.lexgrid,.rg-steps,.integration-grid,.dk-grid{align-items:stretch !important;grid-auto-rows:1fr !important}
.sit-btn,.spread-btn,.house-card,.lex-card,.rg-btn,.dk-grid-card,.rit-card,.reading-card,.oracle-out,.journal,.reco,.card-pendulum,.dk-energy,.question-refiner,.ceridwen-vow,.integration-panel,.moon-lens,.deck-tone{
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.sit-btn,.spread-btn,.house-card,.lex-card,.rg-btn,.dk-grid-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  min-height:128px !important;
  padding:20px 18px !important;
  gap:6px !important;
}
.spread-btn{align-items:flex-start !important;text-align:left !important;justify-content:flex-start !important;min-height:164px !important}
.house-card{min-height:172px !important}
.lex-card,.dk-grid-card,.rg-btn{min-height:132px !important;}
.sit-btn h4,.spread-btn h3,.house-card h3,.lex-card h4,.rg-head,.dk-grid-card h4{
  
  
  
  font-weight:650 !important;
  margin:0 0 2px !important;
  width:100% !important;
}
.spread-btn h3{font-style:normal !important;font-weight:650 !important;}
.sit-btn p,.spread-btn p,.spread-btn .sit,.house-card p,.lex-card p,.rg-btn p,.dk-grid-card p{
  width:100% !important;
  margin:0 !important;
  color:var(--mist) !important;
}

/* főoldali kártyák azonos, elegáns szélességi tengelyen */
.soft-detail,.gate-nav--primary,.daily-gate,.daily-gate .moon-card,.daily-gate .daily-visitor-card{max-width:640px !important;width:min(100%,640px) !important}
.moon-card,.daily-visitor-card{display:grid !important;grid-template-columns:76px minmax(0,1fr) !important;gap:18px !important;align-items:center !important;text-align:left !important;min-height:168px !important}
.daily-visitor-card .art{width:56px !important;height:84px !important;justify-self:center !important}
.moon-card h4,.daily-visitor-card h4{font-weight:650 !important;margin:0 0 4px !important;}

/* gombok és nav: természetes, nem túl sokféle méret */
.btn,nav.tabs button,.chip,.spread-btn,.sit-btn,summary{white-space:normal !important;}
nav.tabs{gap:4px !important;padding:8px !important}
nav.tabs button{padding:10px 14px !important;font-weight:600 !important;}

/* mobil: minden cella egyforma, teljes szélesség, biztonságos töréssel */
@media(max-width:760px){
  body{font-size:15.5px !important;line-height:1.58 !important}
  .shell{padding-left:18px !important;padding-right:18px !important}
  .gate-title{font-size:clamp(2rem,11vw,3rem) !important;line-height:1.08 !important;letter-spacing:-.038em !important}
  
  .brand-sub{letter-spacing:.16em !important;font-size:11px !important}
  .sit-btn,.spread-btn,.house-card,.lex-card,.rg-btn,.dk-grid-card{min-height:118px !important;padding:18px 16px !important;text-align:center !important;align-items:center !important;}
  .spread-btn{min-height:148px !important;align-items:center !important;text-align:center !important}
  .moon-card,.daily-visitor-card{grid-template-columns:1fr !important;justify-items:center !important;text-align:center !important;min-height:unset !important;padding:20px 18px !important}
  .moon-card svg{margin:0 auto !important}
  .btn{width:100% !important;max-width:100% !important;padding:13px 18px !important;}
  nav.tabs button{flex:1 1 auto !important;min-width:82px !important;}
}
@media(max-width:390px){
  .shell{padding-left:14px !important;padding-right:14px !important}
  .brand-sub{letter-spacing:.12em !important}
  
  
}


/* ---------- HU/EN nyelvváltó + középre igazított címek/gombok ---------- */
.language-switch{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px auto 0;flex-wrap:wrap}
.language-switch button{border:1px solid rgba(163,124,44,.28);background:rgba(255,252,245,.72);color:var(--mist);font-family:var(--f-ui);font-weight:560;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;}
.language-switch button.on{color:var(--moon);background:rgba(163,124,44,.10);border-color:rgba(163,124,44,.42);}
.language-switch button:hover{transform:translateY(-1px);color:var(--moon);}
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.reading-card h4,.journal h3,.simple-path h3{text-align:center !important;}
.gate-nav,.controls,.jactions,.row,.filters{justify-content:center !important;text-align:center !important}
.btn,.chip,nav.tabs button,.language-switch button{text-align:center !important;}
nav.tabs{justify-content:center !important}
@media(max-width:620px){
  .gate-nav,.controls,.jactions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .gate-nav .btn,.controls .btn,.jactions .btn{width:100%;max-width:420px;margin-left:auto;margin-right:auto;}
  nav.tabs{justify-content:center !important}
}



/* ---------- Végső Ceridwen tipográfiai és kártyaszöveg finomítás ---------- */
:root{
  --fs-card-name:13.5px;
  --fs-card-meta:9.5px;
  --section-gap-xl:clamp(64px,8vw,116px);
  --section-gap-lg:clamp(42px,5.5vw,84px);
}
.cardname .nm{font-size:var(--fs-card-name) !important;line-height:1.18 !important;letter-spacing:-.012em !important;font-weight:520 !important;overflow-wrap:anywhere !important}
.cardname .no,.cardname .rv{font-size:var(--fs-card-meta) !important;line-height:1.2 !important;letter-spacing:.04em !important;text-transform:none !important}
.cardname{padding:5px 7px 10px !important}
.lexcard .cardname .nm{font-size:13px !important}
.reverse-info{max-width:640px !important;margin:18px auto 30px !important}
.reverse-info summary{text-align:center !important;font-weight:650 !important;}
.reverse-info p{text-align:left !important;}
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.reading-card h4,.journal h3,.simple-path h3,.gate-step h3{text-align:center !important;}
.btn,.chip,nav.tabs button,.language-switch button{text-align:center !important;justify-content:center !important;}
.view > .divider{margin-top:var(--section-gap-xl) !important;margin-bottom:var(--section-gap-lg) !important}
.view > h2.rune{margin-top:var(--section-gap-lg) !important;}
.view > h2.rune:first-child{margin-top:0 !important;}
.prose,.soft-detail,.simple-path,.ritual-gate,.controls,.cauldron-stage,.table,.reading,.integration-panel,.priestess,.daily-gate{margin-top:clamp(20px,3vw,34px) !important;margin-bottom:clamp(28px,4vw,54px) !important;}
@media(max-width:760px){.cardname .nm{font-size:12.8px !important}.cardname .no,.cardname .rv{font-size:9px !important}.reverse-info{margin:16px auto 26px !important}.view > .divider{margin-top:56px !important;margin-bottom:38px !important}}

/* ---------- Végső tipográfiai és rács-audit: természetes ritmus ---------- */
:root{--copy-max:760px;--card-w:760px;--grid-w:980px;--read-lh:1.92;--body-lh:1.72;}
body{font-family:var(--f-ui) !important;line-height:var(--body-lh) !important;}
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.journal h3,.simple-path h3{text-align:center !important;}
.gate-nav,.controls,.jactions,.row,.filters{justify-content:center !important;text-align:center !important;}
.view>p,.view .ps,.gate-lede,.awen-meaning,.daily-gate__sub{max-width:var(--copy-max);margin-left:auto !important;margin-right:auto !important;}
.view>section,.moon-card,.daily-visitor-card,.soft-detail,.priestess,.gchat,.journal,.reco,.random-panel,.ritual-gate{max-width:var(--card-w) !important;width:100% !important;box-sizing:border-box !important;}
.houses,.spreads,.sit-grid,.problem-grid,.lexgrid,.dk-grid{max-width:var(--grid-w) !important;margin-left:auto !important;margin-right:auto !important;align-items:stretch !important;}
.sit-grid,.spreads{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.houses{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{box-sizing:border-box !important;min-width:0 !important;height:100% !important;overflow:hidden !important;overflow-wrap:anywhere !important;hyphens:auto !important;}
.house-card,.spread-btn,.sit-btn,.problem-card,.dk-grid-card{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;gap:7px !important;min-height:150px !important;padding:22px 20px !important;}
.house-card h3,.spread-btn h3,.sit-btn h4,.problem-card h3,.dk-grid-card h3{margin:0 0 4px !important;}
.house-card p,.spread-btn p,.sit-btn p,.problem-card p,.dk-grid-card p{margin:0 !important;}
.reading-card,.dk-energy,.oracle-out,.ai-prompt-copy,.scroll section,.moon-lens,.deck-tone,.integration-panel,.question-refiner,.ceridwen-vow{max-width:var(--card-w) !important;overflow-wrap:anywhere !important;hyphens:auto !important;}
.reading-card{padding:28px 28px 30px !important;margin:0 auto 40px !important;border-radius:18px !important;}
.reading-card p,.reading-card li,.dk-energy p,.oracle-out,.oracle-out p,.scroll p,.priestess p,.ai-prompt-copy p,.gmsg,.jentry .jtext,.moon-lens p,.deck-tone p,.integration-panel p,.question-refiner p,.ceridwen-vow p{margin-top:0 !important;margin-bottom:18px !important;}

.cardname .nm{font-size:clamp(15px,1.5vw,18px) !important;line-height:1.2 !important;letter-spacing:-.01em !important;overflow-wrap:anywhere !important;}
.cardname .no,.cardname .rv{font-size:10px !important;line-height:1.25 !important;letter-spacing:.08em !important;}
.face.front{overflow:hidden !important;}
.face.front .art{min-height:0 !important;}
.kw{font-size:13px !important;line-height:1.25 !important;}
.view>.divider{margin-top:64px !important;margin-bottom:44px !important;}
.view>*+h2.rune,.view>*+h3.sect,.view>*+section,.view>*+.priestess,.view>*+.journal,.view>*+.gchat{margin-top:52px !important;}
@media(max-width:900px){.houses{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.sit-grid,.spreads{grid-template-columns:1fr !important}:root{--card-w:100%;--grid-w:100%;--copy-max:100%;}}
@media(max-width:560px){.shell{padding-left:16px !important;padding-right:16px !important}.house-card,.spread-btn,.sit-btn,.problem-card,.dk-grid-card{min-height:auto !important;padding:20px 18px !important;}.reading-card{padding:24px 20px 26px !important}.gate-title{font-size:clamp(1.85rem,8vw,2.55rem) !important}}



/* ============================================================
   VÉGSŐ KÉTNYELVŰ RESZPONZÍV ÉS TIPOGRÁFIAI AUDIT
   - nincs indokolatlan végig nagybetű
   - címkék bold / természetes szedés
   - cellán belüli törésvédelem
   - tiszta szekciótávolság minden nézetben
   ============================================================ */
:root{
  --page-max: min(1120px, calc(100vw - 40px));
  --content-max: min(760px, calc(100vw - 40px));
  --card-max: min(760px, calc(100vw - 40px));
  --grid-max: min(1040px, calc(100vw - 40px));
  --section-gap: clamp(54px, 7vw, 92px);
  --block-gap: clamp(26px, 4vw, 44px);
  --cell-min-h: 148px;
}

/* Természetes olvasás: ahol korábban díszítő nagybetű volt, ott inkább bold címke legyen. */
.brand-sub,
.rune-sub,
.ps,
.sn,
.mt,
.caption,
.daily-gate__head,
.question-refiner__title,
.ceridwen-vow__title,
.integration-panel__title,
.moon-lens__title,
.deck-tone__title,
.breath-count,
.reco .rl,
.house-card .count,
.spread-btn .sn,
.slot .pos,
.cardname .rv,
.reading-card .meta,
.scroll section h5,
.jentry .jdate,
.jentry summary,
.gchat .ps,
.dk-energy .lvl,
.dk-energy h5,
.card-pendulum .cp-title,
.pendulum-sub,
.simple-path__eyebrow,
[style*="text-transform:uppercase"],
[style*="text-transform: uppercase"]{
  text-transform:none !important;
  
  font-weight:700 !important;
  
}

/* A fő márkasor maradhat finom címke, de ne legyen széthúzott és ne törjön csúnyán. */
.brand-sub{
  max-width:var(--content-max) !important;
  margin:12px auto 0 !important;
  font-size:clamp(12px,1.2vw,14px) !important;
  color:rgba(122,111,93,.9) !important;
  word-spacing:.04em !important;
}

/* Címek és gombok középen maradnak, a tartalmi olvasás balra zár. */
h1.brand,
.gate-title,
h2.rune,
h3.sect,
.daily-gate__head,
.rune-sub,
.ps,
.priestess h3,
.journal h3,
.gate-nav,
.controls,
.jactions,
.row,
.filters{
  text-align:center !important;
}

.view p,
.view li,
.soft-detail__body,
.reading-card,
.moon-card,
.daily-visitor-card,
.oracle-out,
.ai-prompt-copy,
.journal,
.reco,
.gchat,
.dk-energy,
.question-refiner,
.ceridwen-vow,
.integration-panel,
.moon-lens,
.deck-tone{
  text-align:left !important;
}

/* Szakaszok tisztább elkülönítése. */
.view > section,
.view > .daily-gate,
.view > .priestess,
.view > .journal,
.view > .gchat,
.view > .random-panel,
.view > .reco,
.view > .ritual-gate,
.view > .soft-detail,
.view > .moon-card,
.view > .daily-visitor-card,
.view > .reading-card,
.view > .oracle-out,
.view > .dk-energy{
  margin-top:var(--section-gap) !important;
  margin-bottom:var(--block-gap) !important;
}

.gate-hero .daily-gate,
.daily-gate .moon-card,
.daily-gate .daily-visitor-card{
  margin-top:clamp(26px,4vw,42px) !important;
}

.divider,
.view > .divider{
  margin-top:clamp(70px,8vw,112px) !important;
  margin-bottom:clamp(52px,6vw,84px) !important;
}

/* Egységes, biztonságos kártya- és cellaszélességek. */
.shell,
.view,
.gate-hero,
.daily-gate,
.moon-card,
.daily-visitor-card,
.soft-detail,
.priestess,
.gchat,
.journal,
.reco,
.random-panel,
.ritual-gate,
.ai-prompt-copy,
.oracle-out,
.dk-energy,
.reading-card{
  max-width:100% !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}

.moon-card,
.daily-visitor-card,
.soft-detail,
.priestess,
.gchat,
.journal,
.reco,
.random-panel,
.ritual-gate,
.ai-prompt-copy,
.oracle-out,
.dk-energy,
.reading-card{
  width:var(--card-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.houses,
.spreads,
.sit-grid,
.problem-grid,
.lexgrid,
.dk-grid{
  width:var(--grid-max) !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  gap:clamp(16px,2vw,24px) !important;
  align-items:stretch !important;
}

.problem-grid,
.sit-grid,
.spreads,
.dk-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.houses,
.lexgrid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.house-card,
.spread-btn,
.sit-btn,
.problem-card,
.lex-card,
.dk-grid-card,
.rit-card,
.slot,
.face,
.card-pendulum,
.reading-card,
.moon-card,
.daily-visitor-card,
.soft-detail{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  hyphens:auto !important;
}

.house-card,
.spread-btn,
.sit-btn,
.problem-card,
.lex-card,
.dk-grid-card{
  height:100% !important;
  min-height:var(--cell-min-h) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:clamp(18px,2.2vw,24px) !important;
}

.house-card h3,
.spread-btn h3,
.sit-btn h4,
.problem-card h3,
.lex-card h4,
.dk-grid-card h3,
.rg-head{
  margin:0 0 3px !important;
  
  
  
  font-weight:700 !important;
  overflow-wrap:anywhere !important;
}

.house-card p,
.spread-btn p,
.spread-btn .sit,
.sit-btn p,
.sit-btn span,
.problem-card p,
.lex-card p,
.dk-grid-card p,
.rg-text,
.small-note,
.caption{
  
  
  
  margin:0 !important;
  overflow-wrap:anywhere !important;
}

/* Hosszú olvasatok: ne legyen sűrű, ne ütközzön a cella falához. */
.reading-card,
.dk-energy,
.oracle-out,
.ai-prompt-copy,
.scroll section,
.moon-lens,
.deck-tone,
.integration-panel,
.question-refiner,
.ceridwen-vow,
.jentry{
  padding:clamp(22px,3.2vw,34px) !important;
  border-radius:clamp(14px,2vw,20px) !important;
}

.reading-card p,
.reading-card li,
.dk-energy p,
.oracle-out,
.oracle-out p,
.scroll p,
.priestess p,
.ai-prompt-copy p,
.gmsg,
.jentry .jtext,
.moon-lens p,
.deck-tone p,
.integration-panel p,
.question-refiner p,
.ceridwen-vow p,
.rit-card p,
.soft-detail__body p,
footer.site p{
  
  
  
  margin-top:0 !important;
  margin-bottom:1.15em !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}

.reading-card h4,
.scroll .mh h3,
.moon-card h4,
.daily-visitor-card h4,
.jentry h4,
.dk-energy h4{
  
  
  
  font-weight:700 !important;
  overflow-wrap:anywhere !important;
}

.kw{
  font-size:13px !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
  font-weight:600 !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}

/* Kártyákon kisebb, stabilabb tipó. */
.cardname{
  padding-left:10px !important;
  padding-right:10px !important;
  max-width:100% !important;
}
.cardname .nm{
  font-size:clamp(13px,1.15vw,16px) !important;
  line-height:1.25 !important;
  letter-spacing:-.006em !important;
  font-weight:600 !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}
.cardname .no,
.cardname .rv{
  font-size:10px !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
  font-weight:700 !important;
  text-transform:none !important;
}
.face.front,
.face.back{
  padding:14px 10px !important;
}

/* Űrlapok, gombok: ne lógjanak túl. */
button,
.btn,
.chip,
input,
textarea,
select{
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}
.gate-nav,
.controls,
.jactions,
.row,
.filters{
  flex-wrap:wrap !important;
  gap:12px !important;
}

/* Mobil és keskeny tablet: minden egy oszlop, egységes falak. */
@media(max-width:980px){
  :root{--page-max:calc(100vw - 32px);--content-max:calc(100vw - 32px);--card-max:calc(100vw - 32px);--grid-max:calc(100vw - 32px);--section-gap:clamp(48px,9vw,76px);}
  .houses,.lexgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:680px){
  :root{--page-max:calc(100vw - 28px);--content-max:calc(100vw - 28px);--card-max:calc(100vw - 28px);--grid-max:calc(100vw - 28px);--cell-min-h:auto;}
  .shell{padding-left:14px !important;padding-right:14px !important;}
  .problem-grid,.sit-grid,.spreads,.dk-grid,.houses,.lexgrid{grid-template-columns:1fr !important;width:100% !important;}
  .house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{width:100% !important;min-height:auto !important;padding:20px 18px !important;}
  .moon-card,.daily-visitor-card{display:flex !important;flex-direction:column !important;text-align:left !important;align-items:flex-start !important;gap:16px !important;}
  .moon-card svg,.daily-visitor-card .art{align-self:center !important;}
  .reading-card,.dk-energy,.oracle-out,.ai-prompt-copy,.scroll section,.moon-lens,.deck-tone,.integration-panel,.question-refiner,.ceridwen-vow,.jentry{padding:22px 18px !important;}
  
  nav.tabs{max-width:100% !important;overflow-x:auto !important;overflow-y:hidden !important;white-space:nowrap !important;padding:8px !important;}
  nav.tabs button{flex:0 0 auto !important;white-space:nowrap !important;}
}
@media(max-width:390px){
  :root{--card-max:calc(100vw - 22px);--grid-max:calc(100vw - 22px);--content-max:calc(100vw - 22px);}
  .shell{padding-left:11px !important;padding-right:11px !important;}
  .house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{padding:18px 16px !important;}
  .reading-card,.dk-energy,.oracle-out,.ai-prompt-copy,.scroll section,.moon-lens,.deck-tone,.integration-panel,.question-refiner,.ceridwen-vow,.jentry{padding:20px 16px !important;}
}



/* ---------- Mobil hero-sorrend és törésmentes olvashatóság ---------- */
.brand-sub{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:.35em .62em !important;
  max-width:min(760px,100%) !important;
  margin:12px auto 0 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
  line-height:1.55 !important;
  text-wrap:balance !important;
  hyphens:none !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.brand-sub__main{
  display:inline-block !important;
  font-weight:700 !important;
  color:var(--moon) !important;
}
.brand-sub__details{
  display:inline-block !important;
  font-weight:500 !important;
  color:var(--mist) !important;
}
.brand-sub__main::after{
  content:"·";
  margin-left:.62em;
  color:var(--gold-soft);
  font-weight:500;
}
.gate-title{
  display:flex !important;
  justify-content:center !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  column-gap:.26em !important;
  row-gap:.08em !important;
  text-wrap:balance !important;
}
.gate-title__lead,
.gate-title__rest{
  display:inline-block !important;
  white-space:normal !important;
  text-wrap:balance !important;
}
body,
body *{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
p,li,.gate-lede,.awen-meaning,.daily-gate__sub,.soft-detail__body,
.reading-card p,.oracle-out p,.jtext,.gmsg,.rit-card p,
.house-card p,.spread-btn p,.sit-btn p,.problem-card p,.lex-card p,.dk-grid-card p{
  text-wrap:pretty !important;
}
h1,h2,h3,h4,.brand-sub,.gate-title,.btn,button,.chip,
.house-card h3,.spread-btn h3,.sit-btn h4,.problem-card h3,.lex-card h4,.dk-grid-card h4,
.cardname .nm,.cardname .no,.cardname .rv{
  text-wrap:balance !important;
}
.problem-grid,.sit-grid,.spreads,.houses,.lexgrid,.dk-grid{
  gap:clamp(14px,2.2vw,22px) !important;
}
.house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{
  overflow:visible !important;
  padding-left:clamp(18px,2.2vw,26px) !important;
  padding-right:clamp(18px,2.2vw,26px) !important;
}


@media(max-width:680px){
  .brand-sub{
    display:block !important;
    text-align:center !important;
    max-width:min(340px,100%) !important;
    line-height:1.55 !important;
  }
  .brand-sub__main,
  .brand-sub__details{
    display:block !important;
  }
  .brand-sub__main{
    font-size:14px !important;
    margin-bottom:6px !important;
  }
  .brand-sub__main::after{content:none !important;}
  .brand-sub__details{
    font-size:13px !important;
    max-width:310px !important;
    margin:0 auto !important;
  }
  .gate-title{
    display:block !important;
    text-align:center !important;
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(1.85rem,9.2vw,2.55rem) !important;
    line-height:1.1 !important;
  }
  .gate-title__lead,
  .gate-title__rest{
    display:block !important;
  }
  .gate-title__rest{
    margin-top:.08em !important;
  }
  .gate-lede,
  .awen-meaning,
  .daily-gate__sub{
    max-width:330px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .btn,
  .gate-nav .btn{
    max-width:330px !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .house-card,.spread-btn,.sit-btn,.problem-card,.lex-card,.dk-grid-card{
    padding:20px 20px !important;
  }
}
@media(max-width:390px){
  .brand-sub{max-width:300px !important;}
  .brand-sub__details{max-width:286px !important;font-size:12.5px !important;}
  .gate-title,.gate-lede,.awen-meaning,.daily-gate__sub,.btn,.gate-nav .btn{max-width:300px !important;}
  
  
}

/* ---------- végső mobil / tipográfia / díszítő audit ---------- */
html,body,body *{
  -webkit-hyphens:none !important;
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  text-wrap:pretty;
}
.cardname .nm,.sit-btn b,.sit-btn span,.house-card h3,.house-card p,.spread-btn h3,.spread-btn p,.dk-grid-card h3,.dk-grid-card p,.lex-card h4,.lex-card p,.reading-card p,.oracle-out,.gmsg,.small-note,.moon-card p,.daily-visitor-card p{
  -webkit-hyphens:none !important;
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
}
.divider,.view > .divider{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:min(460px,86vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:18px !important;
}
.divider::before,.divider::after{flex:1 1 0 !important;width:auto !important;max-width:160px !important;min-width:64px !important;}
.divider svg{flex:0 0 20px !important;display:block !important;}
.cave-disclaimer{margin-top:18px !important;max-width:680px !important;text-align:center !important;}
.flow-nudge{z-index:9999 !important;bottom:calc(28px + env(safe-area-inset-bottom)) !important;}
@media(max-width:760px){
  .flow-nudge{bottom:calc(88px + env(safe-area-inset-bottom)) !important;width:min(92vw,390px) !important;}
  .flow-nudge button{padding:12px 14px !important;box-shadow:0 14px 40px rgba(52,43,29,.20) !important;}
  .flow-nudge .arrow{width:26px !important;height:26px !important;font-size:17px !important;}
  .divider,.view > .divider{max-width:82vw !important;margin-top:54px !important;margin-bottom:38px !important;}
  .divider::before,.divider::after{min-width:48px !important;}
  .reading-card,.dk-energy,.oracle-out,.ai-prompt-copy,.scroll section,.moon-lens,.deck-tone,.integration-panel,.question-refiner,.ceridwen-vow,.jentry{padding-left:18px !important;padding-right:18px !important;}
}
@media(max-width:390px){
  .flow-nudge{bottom:calc(96px + env(safe-area-inset-bottom)) !important;width:min(94vw,350px) !important;}
  
  .divider::before,.divider::after{min-width:36px !important;}
}




/* ---------- Hero címsor és fontos szavak végső finomítás ---------- */
.gate-title{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.04em !important;
  text-align:center !important;
}
.gate-title__lead,
.gate-title__rest{
  display:block !important;
  font-family:var(--f-ui) !important;
  font-style:normal !important;
  font-weight:650 !important;
  color:var(--moon) !important;
  letter-spacing:-.04em !important;
  line-height:1.05 !important;
  white-space:normal !important;
  text-wrap:balance !important;
}
.gate-title__rest{
  max-width:min(100%, 760px) !important;
}
@media(max-width:560px){
  .gate-title__lead,.gate-title__rest{
    font-size:clamp(2rem,9.2vw,2.78rem) !important;
    line-height:1.04 !important;
  }
  .gate-title__rest{white-space:nowrap !important;font-size:clamp(1.78rem,7.6vw,2.28rem) !important;}
}
@media(max-width:370px){
  .gate-title__rest{font-size:clamp(1.58rem,7vw,2rem) !important;}
}
strong[data-ceridwen-highlight]{
  font-weight:700 !important;
  color:inherit !important;
}



/* ---------- Fix header + hamburger minden nézetben ---------- */
:root{--fixed-head:118px;--fixed-nav-top:118px}

header.site{
  position:fixed !important;
  top:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(100%,1080px) !important;
  z-index:10020 !important;
  padding:10px clamp(14px,3vw,24px) 10px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto auto !important;
  grid-template-areas:"awen brand lang menu" "awen sub lang menu" !important;
  align-items:center !important;
  column-gap:12px !important;
  row-gap:2px !important;
  text-align:left !important;
  background:linear-gradient(180deg,rgba(253,252,249,.96),rgba(253,252,249,.90)) !important;
  border-bottom:1px solid rgba(163,124,44,.20) !important;
  box-shadow:0 12px 38px rgba(28,22,14,.055) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}
header.site .hero-awen-wrap{grid-area:awen !important;margin:0 !important;width:52px !important;height:52px !important;align-self:center !important}
header.site .hero-awen{width:50px !important;height:50px !important;margin:0 !important}
header.site .brand{grid-area:brand !important;margin:0 !important;white-space:nowrap !important;text-align:left !important;}
header.site .brand-sub{grid-area:sub !important;margin:2px 0 0 !important;text-align:left !important;max-width:none !important;font-size:12px !important;line-height:1.25 !important;letter-spacing:.01em !important;text-transform:none !important}
header.site .brand-sub__main,header.site .brand-sub__details{display:inline !important}
header.site .brand-sub__main::after{content:"·" !important;margin:0 .48em !important;color:var(--gold-soft)}
header.site .language-switch{grid-area:lang !important;margin:0 !important;justify-self:end !important;white-space:nowrap !important}
.menu-toggle{
  grid-area:menu;
  width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(163,124,44,.30);
  background:rgba(255,255,255,.68);
  color:var(--moon);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.menu-toggle span{position:relative;width:18px;height:2px;background:var(--moon);display:block;border-radius:2px;transition:background .25s}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--moon);border-radius:2px;transition:transform .25s,top .25s}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
body.menu-open .menu-toggle span{background:transparent}
body.menu-open .menu-toggle span::before{top:0;transform:rotate(45deg)}
body.menu-open .menu-toggle span::after{top:0;transform:rotate(-45deg)}
nav.tabs{
  position:fixed !important;
  top:var(--fixed-nav-top) !important;
  left:50% !important;
  transform:translateX(-50%) translateY(-8px) !important;
  width:min(calc(100% - 28px),760px) !important;
  z-index:10010 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 !important;
  padding:14px !important;
  border:1px solid rgba(163,124,44,.22) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,rgba(253,252,249,.98),rgba(246,241,231,.96)) !important;
  box-shadow:0 26px 70px rgba(30,24,17,.16) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .24s ease,transform .24s ease,visibility .24s !important;
}
body.menu-open nav.tabs{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:translateX(-50%) translateY(0) !important}
nav.tabs button{border:1px solid rgba(163,124,44,.16) !important;border-radius:14px !important;background:rgba(255,255,255,.52) !important;padding:12px 10px !important;text-align:center !important;}
nav.tabs button::after{display:none !important}
nav.tabs button.on{background:rgba(163,124,44,.10) !important;border-color:rgba(163,124,44,.32) !important;color:var(--gold-soft) !important;font-weight:700 !important;}
body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(22,19,16,.10);z-index:9990;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;pointer-events:none !important}
header.site,nav.tabs{isolation:isolate}
/* A menüpanel szövege nem homályosodik: a háttér nem kap blur réteget, a panel saját rétegen éles marad. */
body.menu-open::after{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;filter:none !important;z-index:9990 !important;pointer-events:none !important}
body.menu-open nav.tabs{z-index:10040 !important;filter:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;transform:translateX(-50%) translateY(0) translateZ(0) !important}
body.menu-open nav.tabs,body.menu-open nav.tabs button{opacity:1 !important;text-shadow:none !important;-webkit-font-smoothing:antialiased !important;filter:none !important;}
body.menu-open header.site{z-index:10050 !important}

@media(max-width:760px){
  :root{--fixed-head:106px;--fixed-nav-top:106px}
  header.site{grid-template-columns:auto minmax(0,1fr) auto !important;grid-template-areas:"awen brand menu" "awen sub menu" "lang lang lang" !important;column-gap:10px !important;padding:9px 13px !important}
  header.site .language-switch{justify-self:center !important;margin-top:4px !important}
  header.site .hero-awen-wrap{width:44px !important;height:44px !important}
  header.site .hero-awen{width:42px !important;height:42px !important}
  
  header.site .brand-sub{font-size:11.6px !important;line-height:1.28 !important;max-width:100% !important}
  header.site .brand-sub__main,header.site .brand-sub__details{display:block !important;text-align:left !important}
  header.site .brand-sub__main::after{content:none !important}
  nav.tabs{grid-template-columns:1fr 1fr !important;width:min(calc(100% - 20px),420px) !important;gap:8px !important;padding:12px !important;border-radius:18px !important}
}
@media(max-width:390px){
  :root{--fixed-head:112px;--fixed-nav-top:112px}
  header.site .brand-sub{font-size:11px !important}
  nav.tabs{grid-template-columns:1fr !important;max-height:calc(100vh - 132px);overflow:auto !important}
}
/* ---------- Teljes kelta térkép lenyitható blokk ---------- */
.myth-overview{margin-top:clamp(28px,4vw,46px) !important;margin-bottom:clamp(30px,4vw,54px) !important}
.myth-overview .soft-detail__body{padding-top:18px !important}
.myth-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.myth-overview-card{border:1px solid rgba(163,124,44,.20);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(231,222,204,.26));padding:14px 14px 13px;min-width:0}
.myth-overview-card h3{margin:0 0 7px !important;font-weight:720 !important;text-align:left !important;color:var(--moon) !important;}
.myth-overview-card p{margin:0 !important;color:var(--body-ink) !important;}
.myth-overview-card .tag{display:inline-block;margin-bottom:7px;color:var(--gold-soft);font-weight:700;}
.myth-overview-note{border-left:2px solid rgba(163,124,44,.40);padding:12px 0 12px 14px;margin:14px 0 18px;color:var(--mist) !important}
@media(max-width:900px){.myth-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.myth-overview-grid{grid-template-columns:1fr}.myth-overview-card{padding:14px 13px}}

/* ---------- Header minimal, logo/szöveg vissza a heroba ---------- */
:root{--fixed-head:64px !important;--fixed-nav-top:64px !important}
.shell{padding-top:var(--fixed-head) !important}
header.site{
  grid-template-columns:1fr auto !important;
  grid-template-areas:"lang menu" !important;
  justify-content:end !important;
  align-items:center !important;
  min-height:56px !important;
  width:min(100%,1080px) !important;
  padding:8px clamp(14px,3vw,24px) !important;
}
header.site .language-switch{grid-area:lang !important;justify-self:end !important;margin:0 !important}
header.site .menu-toggle{grid-area:menu !important}
.gate-hero .hero-brandblock{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto clamp(18px,3.2vw,28px);max-width:720px;padding-top:4px}
.gate-hero .hero-awen-wrap{display:flex !important;justify-content:center;align-items:center;margin:0 auto 12px !important;width:108px !important;height:108px !important;position:relative !important;top:auto !important}
.gate-hero .hero-awen{width:68px !important;height:68px !important;opacity:.98 !important;filter:none !important;margin:0 !important}
.gate-hero .hero-awen .outer-ring{stroke:var(--gold) !important;stroke-width:1.8 !important}
.gate-hero .hero-awen .ring,.gate-hero .hero-awen .beam{stroke:#050403 !important}
.gate-hero .hero-awen .dot{fill:#050403 !important;stroke:#050403 !important}
.gate-hero .brand{margin:0 auto 8px !important;text-align:center !important;max-width:min(100%,720px) !important;font-weight:700 !important;}
.gate-hero .brand-sub{margin:0 auto !important;text-align:center !important;max-width:min(100%,620px) !important;font-size:13px !important;line-height:1.55 !important;letter-spacing:.02em !important;text-transform:none !important;color:var(--mist) !important}
.gate-hero .brand-sub__main,.gate-hero .brand-sub__details{display:block !important;text-align:center !important}
.gate-hero .brand-sub__main{font-weight:700 !important;color:var(--moon) !important;font-size:clamp(16px,2.4vw,20px) !important;margin-bottom:2px !important}
.gate-hero .brand-sub__main::after{content:none !important}
.gate-hero .brand-sub__details{font-weight:500 !important;color:var(--gold-soft) !important;font-size:13px !important}
@media(max-width:760px){
  :root{--fixed-head:60px !important;--fixed-nav-top:60px !important}
  header.site{min-height:52px !important;padding:7px 12px !important}
  .gate-hero .hero-brandblock{margin-bottom:18px;padding-top:2px}
  .gate-hero .hero-awen-wrap{width:94px !important;height:94px !important;margin-bottom:10px !important}
  .gate-hero .hero-awen{width:60px !important;height:60px !important}
  
  .gate-hero .brand-sub{max-width:330px !important;line-height:1.48 !important}
  .gate-hero .brand-sub__details{font-size:12.2px !important;max-width:310px !important;margin-left:auto !important;margin-right:auto !important}
}
@media(max-width:390px){
  :root{--fixed-head:58px !important;--fixed-nav-top:58px !important}
  .gate-hero .brand-sub__details{font-size:11.8px !important;max-width:292px !important}
}




/* ---------- Hero AWEN vissza a régi, középre zárt helyére ---------- */
header.site .hero-awen-wrap,
header.site .brand,
header.site .brand-sub{display:none !important;}
.gate-hero{
  text-align:center !important;
  padding-top:clamp(20px,3.2vw,42px) !important;
}
.gate-hero .hero-brandblock{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%,760px) !important;
  margin:0 auto clamp(20px,3.4vw,32px) !important;
  padding:0 !important;
  text-align:center !important;
}
.gate-hero .hero-awen-wrap{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:112px !important;
  height:112px !important;
  margin:0 auto 14px !important;
  align-self:center !important;
}
.gate-hero .hero-awen{
  display:block !important;
  width:70px !important;
  height:70px !important;
  margin:0 auto !important;
  opacity:.98 !important;
  filter:none !important;
}
.gate-hero .brand{
  display:block !important;
  width:100% !important;
  margin:0 auto 8px !important;
  text-align:center !important;
}
.gate-hero .brand-sub{
  display:block !important;
  margin:0 auto !important;
  text-align:center !important;
}
@media(max-width:760px){
  .gate-hero{padding-top:18px !important;}
  .gate-hero .hero-brandblock{margin-bottom:20px !important;}
  .gate-hero .hero-awen-wrap{width:98px !important;height:98px !important;margin-bottom:12px !important;}
  .gate-hero .hero-awen{width:62px !important;height:62px !important;}
}
@media(max-width:390px){
  .gate-hero .hero-awen-wrap{width:92px !important;height:92px !important;}
  .gate-hero .hero-awen{width:58px !important;height:58px !important;}
}



/* ---------- Nyelvváltó balra a fix headerben ---------- */
header.site{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  grid-template-areas:"lang . menu" !important;
  justify-content:stretch !important;
}
header.site .language-switch{
  grid-area:lang !important;
  justify-self:start !important;
  margin:0 !important;
}
header.site .menu-toggle{
  grid-area:menu !important;
  justify-self:end !important;
}
@media(max-width:760px){
  header.site{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    grid-template-areas:"lang . menu" !important;
  }
  header.site .language-switch{justify-self:start !important;}
}



/* ============================================================
   Teljes UI audit — letisztult, reszponzív, Apple-szerű ritmus
   ============================================================ */
:root{
  --fixed-head:64px !important;
  --fixed-nav-top:64px !important;
  --page-max:1120px;
  --content-max:780px;
  --panel-max:920px;
  --wide-grid:1040px;
}
html{scroll-padding-top:calc(var(--fixed-head) + 18px) !important;}
.shell{max-width:var(--page-max) !important;margin:0 auto !important;padding-top:calc(var(--fixed-head) + 18px) !important;padding-left:clamp(18px,3vw,34px) !important;padding-right:clamp(18px,3vw,34px) !important;}
header.site{
  min-height:58px !important;
  width:min(100%,var(--page-max)) !important;
  grid-template-columns:auto minmax(24px,1fr) auto !important;
  grid-template-areas:"lang . menu" !important;
  padding:8px clamp(16px,3vw,28px) !important;
  border-bottom:1px solid rgba(163,124,44,.18) !important;
  background:rgba(253,252,249,.96) !important;
  backdrop-filter:saturate(160%) blur(12px) !important;
  -webkit-backdrop-filter:saturate(160%) blur(12px) !important;
}
header.site .language-switch{grid-area:lang !important;justify-self:start !important;gap:8px !important;max-width:calc(100vw - 96px) !important;overflow:hidden !important;}
header.site .language-switch button{padding:8px 13px !important;white-space:nowrap !important;border-radius:999px !important;}
header.site .menu-toggle{grid-area:menu !important;justify-self:end !important;width:42px !important;height:42px !important;flex:0 0 auto !important;}
nav.tabs{top:var(--fixed-nav-top) !important;width:min(calc(100% - 32px),680px) !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;padding:14px !important;border-radius:22px !important;background:rgba(253,252,249,.98) !important;box-shadow:0 24px 70px rgba(28,22,14,.16) !important;}
nav.tabs button{min-height:46px !important;border-radius:16px !important;text-align:center !important;justify-content:center !important;font-weight:650 !important;}
body.menu-open::after{background:rgba(22,19,16,.08) !important;}

/* Központi címek: középen. Tartalmi szöveg: olvasható balra. */
h1.brand,.brand-sub,.gate-title,h2.rune,h3.sect,.daily-gate__head,.rune-sub,.ps,.priestess h3,.journal h3,.simple-path h3,.soft-detail>summary,.reverse-info summary{text-align:center !important;}
.lede,.gate-lede,.awen-meaning,.small-note,.kid-hint,.soft-detail__body>p,.prose p,.reading-card p,.oracle-out p,.journal p{max-width:var(--content-max) !important;margin-left:auto !important;margin-right:auto !important;}
.myth-overview-card h3,.myth-card h3,.wheel-card h3,.lex-card h4,.reading-card h4,.dk-grid-card h3,.dk-grid-card h4{text-align:left !important;}
.myth-overview-card p,.myth-card p,.wheel-card p,.lex-card p,.dk-grid-card p{text-align:left !important;}

/* Kezdőlap: levegősebb, csak a belépés és a napi kapu marad fókuszban. */
.gate-hero{max-width:860px !important;margin:0 auto 34px !important;padding:26px clamp(16px,4vw,34px) 32px !important;border-radius:28px !important;}
.gate-hero .cave{width:min(100%,620px) !important;}
.gate-title{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;}
.hero-footer-note{max-width:var(--panel-max) !important;margin:28px auto !important;}
.lex-foundation-note{margin-top:20px !important;margin-bottom:24px !important;}
.daily-gate{max-width:860px !important;margin-left:auto !important;margin-right:auto !important;}
.moon-card,.daily-visitor-card{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;border-radius:22px !important;}

/* Vetés menü: régebbi, elegánsabb kártyaválasztó érzet. */
.spreads{max-width:1040px !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;margin:26px auto 38px !important;}
.spread-btn{
  min-height:178px !important;
  padding:24px 22px !important;
  border-radius:22px !important;
  text-align:center !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(231,222,204,.30)) !important;
  box-shadow:0 14px 38px rgba(28,22,14,.045), inset 0 1px 0 rgba(255,255,255,.70) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.spread-btn:hover{transform:translateY(-3px) !important;box-shadow:0 22px 54px rgba(28,22,14,.08), inset 0 1px 0 rgba(255,255,255,.75) !important;}
.spread-btn .sn{order:-1 !important;margin-bottom:7px !important;letter-spacing:.14em !important;text-align:center !important;}
.spread-btn h3{text-align:center !important;margin:2px 0 8px !important;}
.spread-btn p,.spread-btn .sit{text-align:center !important;max-width:28em !important;margin-left:auto !important;margin-right:auto !important;}

/* Inga menü: központi, tiszta kontrollpanel. */
#v-pendulum .simple-path,#v-pendulum .ritual-gate,#v-pendulum .soft-detail,#v-pendulum .pendulum-stage,#v-pendulum .reading,#v-pendulum .priestess{max-width:860px !important;margin-left:auto !important;margin-right:auto !important;}
#pendulumType.filters{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;justify-content:center !important;display:flex !important;gap:10px !important;}
#pendulumType .chip,.filters .chip{border-radius:999px !important;padding:10px 15px !important;text-align:center !important;}
.searchrow{max-width:720px !important;margin-left:auto !important;margin-right:auto !important;}
.pendulum-stage{padding:22px clamp(14px,3vw,28px) !important;border-radius:24px !important;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(231,222,204,.18)) !important;border:1px solid rgba(163,124,44,.13) !important;}
#pendulumChart,#qaChart{max-width:560px !important;margin:0 auto !important;}

/* Lexikon: a teljes mitológiai háttér a lapok fölé került, ezért itt kap széles, olvasható rácsot. */
#v-lex>.kid-hint{margin-bottom:18px !important;}
#v-lex .myth-overview{max-width:var(--wide-grid) !important;margin:26px auto 36px !important;}
.myth-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;}
.myth-overview-card{padding:18px 18px 17px !important;border-radius:18px !important;}


.lexgrid{max-width:1040px !important;margin-left:auto !important;margin-right:auto !important;}

/* Footer minden nézetben látható. */
footer.site{display:block !important;visibility:visible !important;opacity:1 !important;margin:72px auto 34px !important;padding:30px 20px 0 !important;text-align:center !important;border-top:1px solid rgba(163,124,44,.20) !important;max-width:860px !important;}
footer.site::before{display:none !important;}
footer.site .footer-awen{display:flex !important;justify-content:center !important;align-items:center !important;margin:0 auto 14px !important;}
footer.site .footer-awen__svg{width:48px !important;height:48px !important;opacity:.84 !important;filter:drop-shadow(0 0 16px rgba(201,168,106,.16)) !important;}
footer.site p{display:block !important;color:rgba(79,70,55,.78) !important;max-width:680px !important;margin:0 auto !important;}

/* Finom reszponzív lépcsők. */
@media(min-width:1080px){
  .houses{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .sit-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:980px){
  .spreads{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .myth-overview-grid{grid-template-columns:1fr !important;}
}
@media(max-width:760px){
  :root{--fixed-head:58px !important;--fixed-nav-top:58px !important;}
  .shell{padding-top:calc(var(--fixed-head) + 14px) !important;padding-left:16px !important;padding-right:16px !important;}
  header.site{min-height:54px !important;padding:7px 12px !important;grid-template-columns:auto minmax(12px,1fr) auto !important;}
  header.site .language-switch{gap:6px !important;}
  header.site .language-switch button{padding:8px 11px !important;}
  header.site .menu-toggle{width:40px !important;height:40px !important;}
  nav.tabs{grid-template-columns:repeat(2,minmax(0,1fr)) !important;width:min(calc(100% - 20px),430px) !important;padding:12px !important;gap:8px !important;}
  .gate-hero{padding:20px 14px 24px !important;border-radius:22px !important;}
  .spreads{grid-template-columns:1fr !important;gap:12px !important;}
  .spread-btn{min-height:142px !important;padding:20px 18px !important;}
  #pendulumType.filters{gap:8px !important;}
  #pendulumType .chip,.filters .chip{flex:1 1 calc(50% - 8px) !important;}
  .myth-overview-card{padding:16px 15px !important;}
  footer.site{margin-top:58px !important;padding-left:12px !important;padding-right:12px !important;}
}
@media(max-width:390px){
  nav.tabs{grid-template-columns:1fr !important;max-height:calc(100vh - 84px) !important;overflow:auto !important;}
  header.site .language-switch button{padding:7px 9px !important;}
}



/* ==========================================================
   2026-07 — Restore the earlier entrance / spread / pendulum
   composition while retaining the current bilingual content,
   mythology, random engine, fixed header and footer.
   ========================================================== */

/* Shared presentation logic: decorative headings centred,
   longer explanatory copy left aligned for comfortable reading. */
#v-gate,#v-draw,#v-pendulum{width:100%;max-width:1120px;margin-inline:auto;}
#v-gate h2.rune,#v-gate h3,#v-draw h2.rune,#v-draw h3.sect,#v-pendulum h2.rune,#v-pendulum h3.sect,
#v-gate .rune-sub,#v-draw .rune-sub,#v-pendulum .rune-sub{text-align:center!important;}
#v-gate p,#v-draw .soft-detail__body,#v-draw .question-refiner,#v-draw .integration-panel,
#v-pendulum .lede,#v-pendulum .small-note,#v-pendulum .question-refiner,#v-pendulum .soft-detail__body{text-align:left!important;}

/* ENTRANCE — return to the older two-part journey:
   first the ceremonial hero, then the five-step guided entry. */
#v-gate .gate-hero{
  max-width:980px!important;
  margin:0 auto 34px!important;
  padding:30px clamp(18px,4vw,54px) 34px!important;
  text-align:center!important;
  border:1px solid rgba(163,124,44,.14)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(248,244,235,.58))!important;
  box-shadow:0 28px 80px rgba(35,28,18,.07)!important;
}
#v-gate .hero-brandblock,#v-gate .cave-stage,#v-gate .gate-title,#v-gate .gate-lede,
#v-gate .awen-meaning,#v-gate .cave-disclaimer,#v-gate .soft-detail,#v-gate .gate-nav--primary,
#v-gate .daily-gate{margin-left:auto!important;margin-right:auto!important;}
#v-gate .hero-brandblock{text-align:center!important;max-width:760px!important;}
#v-gate .cave-stage{max-width:720px!important;margin-top:22px!important;margin-bottom:14px!important;}
#v-gate .gate-title{display:block!important;text-align:center!important;max-width:760px!important;margin:8px auto 12px!important;}
#v-gate .gate-title__lead,#v-gate .gate-title__rest{display:block!important;text-align:center!important;}
#v-gate .gate-lede,#v-gate .awen-meaning,#v-gate .cave-disclaimer{max-width:650px!important;text-align:center!important;}
#v-gate .gate-nav{justify-content:center!important;}
#v-gate #gateFlow{max-width:820px!important;margin:0 auto!important;padding:4px 0 28px!important;}
#v-gate .gate-step{max-width:760px!important;margin:0 auto!important;text-align:center!important;}
#v-gate .gate-step>h3{margin:0 auto 8px!important;}
#v-gate .gate-step .gs-sub{max-width:650px!important;margin:0 auto 22px!important;text-align:center!important;line-height:1.65!important;}
#v-gate .rit-card{max-width:700px!important;margin:0 auto!important;padding:26px clamp(20px,4vw,36px)!important;text-align:left!important;border-radius:22px!important;}

#v-gate .sit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;max-width:760px!important;margin:22px auto!important;}
#v-gate .sit-btn{min-height:118px!important;text-align:left!important;padding:22px!important;border-radius:20px!important;}
#v-gate .reco{max-width:700px!important;margin:18px auto!important;text-align:left!important;}
#v-gate #gateQuestion{max-width:700px!important;margin-inline:auto!important;display:block!important;}
#v-gate .qtips{max-width:700px!important;margin-inline:auto!important;text-align:left!important;}

/* SPREAD — restore the older visual hierarchy and card picker. */
#v-draw{padding-bottom:24px!important;}
#v-draw>.simple-path,#v-draw>.ritual-gate,#v-draw>.ritual-ok,#v-draw>.soft-detail,
#v-draw>#darkTargetRow,#v-draw>.controls,#v-draw>.cauldron-stage,#v-draw>.integration-panel,
#v-draw>.priestess,#v-draw>.reading{margin-left:auto!important;margin-right:auto!important;}
#v-draw>.simple-path{max-width:760px!important;text-align:center!important;padding:24px 28px!important;border-radius:22px!important;}
#v-draw>.simple-path h3{text-align:center!important;}
#v-draw>.simple-path ol{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin:20px 0 0!important;list-style:none!important;counter-reset:steps;}
#v-draw>.simple-path li{counter-increment:steps;text-align:center!important;padding:14px 8px!important;border:1px solid rgba(163,124,44,.16)!important;border-radius:14px!important;background:rgba(255,255,255,.48)!important;}
#v-draw>.simple-path li::before{content:counter(steps);display:block;margin:0 auto 7px;width:25px;height:25px;line-height:25px;border-radius:50%;background:rgba(163,124,44,.12);color:var(--gold);font-weight:700;}
#v-draw .ritual-gate{max-width:820px!important;border-radius:24px!important;padding:26px!important;}
#v-draw .rg-head,#v-draw .rg-sub{text-align:center!important;}
#v-draw .rg-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
#v-draw .filters{justify-content:center!important;align-items:center!important;gap:10px!important;}
#v-draw #spreadPicker.spreads{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;max-width:1040px!important;margin:24px auto 32px!important;align-items:stretch!important;}
#v-draw .spread-btn{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:184px!important;padding:24px 22px!important;text-align:left!important;border-radius:22px!important;}
#v-draw .spread-btn .sn,#v-draw .spread-btn .sd,#v-draw .spread-btn .ss{text-align:left!important;}
#v-draw .spread-btn.on{transform:translateY(-2px)!important;box-shadow:0 20px 48px rgba(50,38,18,.10)!important;}
#v-draw>.controls{max-width:820px!important;justify-content:center!important;gap:12px!important;padding:18px!important;border:1px solid rgba(163,124,44,.14)!important;border-radius:22px!important;background:rgba(255,255,255,.52)!important;}
#v-draw>.soft-detail{max-width:820px!important;border-radius:20px!important;overflow:hidden!important;}
#v-draw>.soft-detail>summary{min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px 56px!important;text-align:center!important;}
#v-draw>.soft-detail .soft-detail__body{max-width:720px!important;margin:auto!important;padding:22px 26px 26px!important;}
#v-draw .cauldron-stage{max-width:700px!important;padding:18px 0 4px!important;}
#v-draw #table.table{margin-top:28px!important;}

/* PENDULUM — central ceremonial instrument, with controls beneath it. */
#v-pendulum>.simple-path,#v-pendulum>.ritual-gate,#v-pendulum>.ritual-ok,#v-pendulum>.lede,
#v-pendulum>.small-note,#v-pendulum>.searchrow,#v-pendulum>.pendulum-stage,#v-pendulum>.controls,
#v-pendulum>.soft-detail,#v-pendulum>.priestess{margin-left:auto!important;margin-right:auto!important;}
#v-pendulum>.simple-path{max-width:760px!important;text-align:center!important;padding:24px 28px!important;border-radius:22px!important;}
#v-pendulum>.simple-path h3{text-align:center!important;}
#v-pendulum>.simple-path ol{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin:20px 0 0!important;list-style:none!important;counter-reset:psteps;}
#v-pendulum>.simple-path li{counter-increment:psteps;text-align:center!important;padding:14px 8px!important;border:1px solid rgba(163,124,44,.16)!important;border-radius:14px!important;background:rgba(255,255,255,.48)!important;}
#v-pendulum>.simple-path li::before{content:counter(psteps);display:block;margin:0 auto 7px;width:25px;height:25px;line-height:25px;border-radius:50%;background:rgba(163,124,44,.12);color:var(--gold);font-weight:700;}
#v-pendulum>.lede,#v-pendulum>.small-note{max-width:720px!important;text-align:center!important;}
#v-pendulum .filters{justify-content:center!important;gap:10px!important;max-width:820px!important;margin-left:auto!important;margin-right:auto!important;}
#v-pendulum>.searchrow{max-width:700px!important;}
#v-pendulum>.pendulum-stage{max-width:640px!important;padding:22px clamp(14px,3vw,30px) 26px!important;border:1px solid rgba(163,124,44,.14)!important;border-radius:28px!important;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.92),rgba(244,238,225,.58))!important;box-shadow:0 24px 70px rgba(38,28,16,.08)!important;text-align:center!important;}
#v-pendulum #pendulumChart{max-width:560px!important;margin:0 auto!important;}
#v-pendulum .pendulum-sub,#v-pendulum .pendulum-status{text-align:center!important;}
#v-pendulum>.controls{max-width:720px!important;justify-content:center!important;gap:12px!important;}
#v-pendulum>.soft-detail{max-width:820px!important;border-radius:20px!important;overflow:hidden!important;}
#v-pendulum>.soft-detail>summary{text-align:center!important;}

@media(max-width:900px){
  #v-draw #spreadPicker.spreads{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #v-draw>.simple-path ol,#v-pendulum>.simple-path ol{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  #v-gate .gate-hero{padding:22px 16px 26px!important;border-radius:20px!important;}
  #v-gate .sit-grid{grid-template-columns:1fr!important;}
  #v-gate .rit-card{padding:22px 18px!important;border-radius:18px!important;}
  #v-draw #spreadPicker.spreads{grid-template-columns:1fr!important;gap:12px!important;}
  #v-draw .spread-btn{min-height:auto!important;padding:20px 18px!important;}
  #v-draw>.simple-path ol,#v-pendulum>.simple-path ol{grid-template-columns:1fr!important;}
  #v-draw .rg-steps{grid-template-columns:1fr!important;}
  #v-draw>.controls,#v-pendulum>.controls{flex-direction:column!important;align-items:stretch!important;}
  #v-draw>.controls .btn,#v-pendulum>.controls .btn{width:100%!important;}
  #v-pendulum>.pendulum-stage{border-radius:20px!important;padding:18px 10px 22px!important;}
}



/* Dekoratív elválasztók és záró elemek végső középre igazítása */
.divider,
.view > .divider,
.section-divider,
.ornament,
.separator,
.sigil,
.footer-awen,
.hero-footer-note__seal{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  justify-content:center !important;
  align-items:center !important;
}
.divider, .view > .divider{
  display:flex !important;
  width:min(460px,86vw) !important;
  max-width:100% !important;
}
.divider svg,
.section-divider svg,
.ornament svg,
.separator svg,
.sigil svg{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Az önálló díszítő jelek ne örököljenek balra igazítást. */
.view > [aria-hidden="true"]:not(.veil):not(.moon-glyph),
.view > .decorative,
.view > .ornament{
  text-align:center !important;
}
/* Footer teljes tipográfiája középre igazítva minden nyelven és nézetben. */
footer.site,
footer.site p,
footer.site strong,
footer.site .i18n-block-hu,
footer.site .i18n-block-en{
  text-align:center !important;
}
footer.site p{
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:760px){
  .divider, .view > .divider{ width:min(82vw,390px) !important; }
}

/* Footer language separation: only the active language may be visible. */
html[lang="hu"] footer.site .i18n-block-en,
html[lang="hu"] footer.site .i18n-en{display:none !important;}
html[lang="en"] footer.site .i18n-block-hu,
html[lang="en"] footer.site .i18n-hu{display:none !important;}
html[lang="hu"] footer.site .i18n-block-hu,
html[lang="en"] footer.site .i18n-block-en{display:block !important;}




/* =========================================================
   Final technical UI audit — wrapping, controls, mobile safety
   ========================================================= */
:root{
  --action:#9a7428;
  --action-hover:#84601f;
  --action-soft:rgba(154,116,40,.11);
}

/* No UI label may split inside a word or collide with its container. */
button,.btn,.chip,.rg-btn,.sit-btn,.spread-btn,.soft-detail>summary,
.reverse-info>summary,.toggle,.random-panel__head,.random-panel__sub,
.random-panel__desc,h1,h2,h3,h4,.sect,.gate-title,.cardname .nm{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  min-width:0 !important;
}

/* Expander title: one text column + one icon column. */
.soft-detail>summary,.reverse-info>summary{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 32px !important;
  align-items:center !important;
  column-gap:14px !important;
  width:100% !important;
  padding:17px 18px 17px 22px !important;
  text-align:left !important;
  text-wrap:pretty !important;
  white-space:normal !important;
}
.soft-detail>summary::after,.reverse-info>summary::after{
  position:static !important;
  transform:none !important;
  justify-self:end !important;
  align-self:center !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Primary actions use the site's restrained gold, never generic blue. */
.btn.primary,.btn.gold,.btn:not(.ghost):not(.secondary){
  background:var(--action) !important;
  border-color:var(--action) !important;
  color:#fff !important;
}
.btn.primary:hover,.btn.gold:hover,.btn:not(.ghost):not(.secondary):hover{
  background:var(--action-hover) !important;
  border-color:var(--action-hover) !important;
}
input:focus,textarea:focus,select:focus{
  outline:3px solid rgba(154,116,40,.16) !important;
  border-color:var(--action) !important;
}

/* Draw controls: exact content box, no oversized decorative shell. */
#v-draw>.controls{
  width:min(100%,760px) !important;
  padding:18px !important;
  border:1px solid rgba(154,116,40,.14) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.64) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
#v-draw>.controls .btn{
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Toggle geometry: knob stays inside the track. */
.toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  line-height:1.25 !important;
  white-space:normal !important;
}
.toggle input{
  flex:0 0 46px !important;
  width:46px !important;
  height:28px !important;
  min-width:46px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.14) !important;
  background:#e7e2d8 !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08) !important;
}
.toggle input::after{
  top:3px !important;
  left:3px !important;
  width:20px !important;
  height:20px !important;
  background:#807665 !important;
  box-shadow:0 1px 3px rgba(0,0,0,.18) !important;
}
.toggle input:checked{
  background:var(--action-soft) !important;
  border-color:rgba(154,116,40,.42) !important;
}
.toggle input:checked::after{
  transform:translateX(18px) !important;
  background:var(--action) !important;
}

/* Random mode buttons remain balanced and never escape their card. */
.random-panel{width:100% !important;max-width:100% !important;overflow:hidden !important;}
.random-panel__modes{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;width:100% !important;gap:12px !important;}
.random-panel__modes .chip{width:100% !important;min-width:0 !important;max-width:100% !important;white-space:normal !important;}

/* Mobile: content walls, button sizes and text wrapping. */
@media(max-width:760px){
  .shell{width:min(calc(100% - 20px),var(--content-wide)) !important;}
  .view{width:100% !important;max-width:100% !important;overflow:visible !important;}
  .soft-detail,.reverse-info,.random-panel,#v-draw>.controls,
  .ritual-gate,.simple-path,.integration-panel,.priestess,.pendulum-stage{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .soft-detail>summary,.reverse-info>summary{
    grid-template-columns:minmax(0,1fr) 32px !important;
    padding:16px 14px 16px 18px !important;
    
    
  }
  .soft-detail__body{padding:14px 16px 20px !important;}
  .random-panel{padding:0 !important;}
  .random-panel__head{font-size:22px !important;line-height:1.18 !important;text-align:left !important;}
  .random-panel__sub,.random-panel__desc{text-align:left !important;}
  .random-panel__modes{grid-template-columns:1fr !important;gap:10px !important;}
  .random-panel__modes .chip{min-height:52px !important;}

  #v-draw>.controls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:20px !important;
  }
  #v-draw>.controls .toggle{
    width:100% !important;
    min-height:52px !important;
    padding:8px 4px !important;
  }
  #v-draw>.controls .btn{
    width:100% !important;
    min-height:54px !important;
    margin:0 !important;
    
    
    white-space:normal !important;
  }
  #v-draw>.controls .btn:disabled{opacity:.42 !important;}

  .ritual-ok,.small-note,.rg-sub,.random-panel__desc,.soft-detail__body p{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media(max-width:390px){
  .shell{width:min(calc(100% - 16px),var(--content-wide)) !important;}
  .soft-detail>summary,.reverse-info>summary{padding-left:14px !important;column-gap:10px !important;}
  #v-draw>.controls{padding:12px !important;}
}



/* Final component cleanup: one geometry system for mobile and desktop. */
:root{
  --cer-gold:#9a7428;
  --cer-gold-dark:#7d5c1f;
  --cer-ink:#1d1d1f;
  --cer-copy:#4b4b50;
  --cer-line:rgba(123,92,31,.18);
  --cer-surface:rgba(255,255,255,.88);
}

/* Never show both languages at once, even before JS settles. */
html[lang="hu"] .i18n-en,html[lang="hu"] .i18n-block-en{display:none!important}
html[lang="en"] .i18n-hu,html[lang="en"] .i18n-block-hu{display:none!important}
html[lang="hu"] .i18n-hu{display:inline!important}
html[lang="en"] .i18n-en{display:inline!important}
html[lang="hu"] .i18n-block-hu,html[lang="en"] .i18n-block-en{display:block!important}

/* Editorial copy is left aligned; titles and decisions use the center axis. */
.prose,.prose p,.soft-detail__body p,.myth-overview-card p,.myth-card p,.wheel-card p,
.reading-card p,.dk-energy p,.jentry p,.hero-footer-note p{ text-align:left!important; }
.rune,.rune-sub,.sect,.simple-path__eyebrow,.simple-path>h3,.pendulum-sub,.pendulum-status,
.soft-detail__body>.rune,.soft-detail__body>.rune-sub{ text-align:center!important; }

/* Stable disclosure headers. */
.soft-detail>summary,.reverse-info>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-width:0!important;
  width:100%!important;
  padding:18px 68px 18px 22px!important;
  position:relative!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.soft-detail>summary>span,.reverse-info>summary>span{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.soft-detail>summary::after,.reverse-info>summary::after{
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  flex:none!important;
}
.soft-detail__body{padding:22px!important;min-height:0!important}

/* Remove accidental empty height from expanded editorial panels. */
.soft-detail__body>.rune{margin:0 auto 8px!important;}
.soft-detail__body>.rune-sub{margin:0 auto 22px!important;}
#v-lex .soft-detail__body,#v-pendulum .soft-detail__body{padding-bottom:24px!important}
#v-lex .soft-detail,#v-pendulum .soft-detail{min-height:0!important;height:auto!important}

/* Lexicon and deck overview. */
.deck-overview-grid,.myth-overview-grid,.myth-grid,.wheel-grid{align-items:stretch!important}
.deck-overview-card,.myth-overview-card,.myth-card,.wheel-card{height:auto!important;min-height:0!important}
#lexGrid.lexgrid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#dkGrid.houses{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lexcard,.dk-grid-card{min-width:0!important;overflow:hidden!important}
.lexcard .art{display:flex!important;align-items:center!important;justify-content:center!important}
.lexcard .art svg{display:block!important;margin:auto!important}

/* Controls and buttons use the site palette, never generic blue. */
.btn,.rg-btn,.chip,.spread-btn,.sit-btn{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.btn:not(.ghost):not(.secondary),.btn.primary,.btn.gold{
  background:linear-gradient(180deg,#a98235,#8a6624)!important;
  border-color:#8a6624!important;
  color:#fff!important;
}
.btn:not(.ghost):not(.secondary):hover,.btn.primary:hover,.btn.gold:hover{
  background:linear-gradient(180deg,#957329,#75571d)!important;
}
.btn:disabled,.btn[disabled]{
  background:rgba(154,116,40,.10)!important;
  border-color:rgba(154,116,40,.12)!important;
  color:rgba(29,29,31,.34)!important;
  opacity:1!important;
  box-shadow:none!important;
}
.btn.ghost,.btn.secondary,.rg-btn,.chip{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(123,92,31,.18)!important;
  color:var(--cer-ink)!important;
}
.btn:focus-visible,.rg-btn:focus-visible,.chip:focus-visible,.spread-btn:focus-visible,.sit-btn:focus-visible{
  outline:3px solid rgba(154,116,40,.22)!important;
  outline-offset:2px!important;
}

/* Draw control card and switch geometry. */
#v-draw .controls{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:min(100%,760px)!important;
  margin-inline:auto!important;
  padding:18px!important;
  border:1px solid var(--cer-line)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.72)!important;
}
#v-draw .controls .btn{flex:1 1 220px!important;min-width:0!important;}
.switchline{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-width:0!important;flex-wrap:wrap!important}
.switchline label,.switchline span{white-space:normal!important;overflow-wrap:break-word!important;}
.toggle,.switch{flex:none!important;box-sizing:border-box!important}

/* Pendulum cards should fit their content, not reserve empty space. */
#v-pendulum .soft-detail__body>.sect{margin:0 auto 8px!important;}
#v-pendulum .soft-detail__body>.small-note{margin:0 auto 18px!important;}
#v-pendulum .pendulum-stage{height:auto!important;min-height:0!important;padding:22px!important}
#v-pendulum .question-refiner{height:auto!important;min-height:0!important}
#v-pendulum .controls{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important}

/* Header reaches edge-to-edge on every viewport. */
header.site{left:0!important;right:0!important;width:100vw!important;max-width:none!important;margin:0!important}

/* Content must never hit a wall. */
.view,.simple-path,.soft-detail,.reverse-info,.hero-footer-note,.pendulum-stage,.question-refiner,
.random-panel,.integration-panel,.priestess,.gchat,.journal,.reading,.reco{min-width:0!important;max-width:100%!important;}
p,li,h1,h2,h3,h4,h5,h6,summary,button,label,.btn,.chip,.spread-btn,.sit-btn{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}

@media(max-width:980px){
  #lexGrid.lexgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #dkGrid.houses{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .shell{width:calc(100% - 24px)!important}
  .soft-detail>summary,.reverse-info>summary{
    padding:18px 58px 18px 18px!important;
    
    
  }
  .soft-detail>summary::after,.reverse-info>summary::after{right:14px!important}
  .soft-detail__body{padding:18px!important}
  #v-draw .controls{display:grid!important;grid-template-columns:1fr!important;padding:16px!important}
  #v-draw .controls .btn{width:100%!important;min-height:52px!important;}
  #v-draw .switchline{width:100%!important}
  .deck-overview-grid,.myth-overview-grid,.myth-grid,.wheel-grid,#lexGrid.lexgrid,#dkGrid.houses{
    grid-template-columns:1fr!important;
  }
  .deck-overview-card,.myth-overview-card,.myth-card,.wheel-card,.lexcard,.dk-grid-card{
    padding:18px!important;
  }
  #v-pendulum .pendulum-stage{padding:18px!important}
  #v-pendulum .controls{display:grid!important;grid-template-columns:1fr!important}
  #v-pendulum .controls .btn{width:100%!important;}
  .hero-footer-note{padding:18px!important}
  
}
@media(max-width:390px){
  .soft-detail>summary,.reverse-info>summary{padding-left:16px!important;}
  
}



:root{
  --action-primary:#9a7428;
  --action-primary-hover:#7f5d1f;
  --surface:#fffdfa;
  --surface-soft:rgba(255,253,250,.88);
  --radius-card:24px;
  --radius-control:16px;
  --content-pad:clamp(20px,4vw,36px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body{overflow-x:hidden}
button,input,textarea,select{max-width:100%;font:inherit;}
button{min-width:0;}
.btn,.chip,.sit-btn,.spread-btn,.rg-btn,.dk-btn,.rit-btn{overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal;text-wrap:balance;}
.btn.primary,.btn.gold,.btn:not(.ghost):not(.secondary){background:var(--action-primary)!important;border-color:var(--action-primary)!important;color:#fff!important;box-shadow:none!important;}
.btn.primary:hover,.btn.gold:hover,.btn:not(.ghost):not(.secondary):hover{background:var(--action-primary-hover)!important;}
.soft-detail,.priestess,.gchat,.random-panel,.controls,.pendulum-stage,.dk-energy,.integration-panel,.myth-overview,.awen-block{height:auto!important;min-height:0!important}
.soft-detail summary{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:center!important;gap:12px!important;padding:18px 20px!important;text-align:left!important;}
.soft-detail summary>*:first-child{min-width:0!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
.soft-detail summary::after{grid-column:2!important;justify-self:end!important;align-self:center!important}
.soft-detail__body{padding:0 var(--content-pad) var(--content-pad)!important;max-width:100%!important}
.soft-detail__body>*,.prose>*,.reading-card>*,.dk-energy>*{max-width:100%!important}
.prose,.soft-detail__body,.reading-card,.dk-energy,.modal-scroll section{text-align:left!important}
.prose h1,.prose h2,.prose h3,.section-title,.gate-title,.priestess h3{text-align:center!important;text-wrap:balance;}
.modal-scroll{width:min(720px,calc(100vw - 24px))!important;max-height:calc(100dvh - 28px)!important;padding:clamp(22px,4vw,38px)!important}
.modal-scroll section{padding:18px 0!important}
.controls .row,.random-panel .row,.postdraw,.filters,.pakli-row{gap:12px!important;align-items:stretch!important}
.controls .row>*{flex:1 1 220px!important}
.toggle{flex:0 0 auto!important}
.toggle input+span,.toggle .track{overflow:hidden!important;}
.table{width:100%;justify-content:center!important;align-items:flex-start!important}
.art,.art svg,.face.back svg,.emblem,.emblem svg{display:block;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
footer.site,footer.site *{text-align:center!important}
.i18n-block-hu[hidden],.i18n-block-en[hidden],.i18n-hu[hidden],.i18n-en[hidden]{display:none!important}
@media(max-width:760px){
  header.site{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}
  main,.view,.content-wrap{width:100%!important;max-width:100%!important}
  .soft-detail,.controls,.random-panel,.priestess,.gchat,.pendulum-stage,.dk-energy,.integration-panel{border-radius:20px!important}
  .soft-detail summary{grid-template-columns:minmax(0,1fr) 42px!important;padding:17px 16px!important;}
  
  .controls .row,.random-panel .row,.postdraw{display:grid!important;grid-template-columns:1fr!important}
  .controls .row>*,.random-panel .row>*,.postdraw>*{width:100%!important;min-width:0!important}
  .btn,.sit-btn,.spread-btn,.rg-btn{width:100%!important;}
  .cardbox{max-width:min(var(--card-w),72vw)!important}
  .lexgrid,.dk-grid{grid-template-columns:1fr!important}
  
}



/* ============================================================
   Javítás: teljes szélességű asztali header, rendezett summary címek,
   és stabilan látható vetéskártyák
   ============================================================ */
:root{
  --fixed-head:64px !important;
  --fixed-nav-top:64px !important;
}

/* A header háttere érjen ki a böngésző széléig, ne csak a tartalom max-szélességéig. */
header.site{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  width:100vw !important;
  max-width:none !important;
  min-height:62px !important;
  padding:8px max(18px,env(safe-area-inset-left)) 8px max(18px,env(safe-area-inset-right)) !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  grid-template-areas:"lang . menu" !important;
  background:rgba(253,252,249,.965) !important;
  border-bottom:1px solid rgba(163,124,44,.18) !important;
  box-shadow:0 10px 34px rgba(28,22,14,.055) !important;
  backdrop-filter:saturate(160%) blur(12px) !important;
  -webkit-backdrop-filter:saturate(160%) blur(12px) !important;
}
header.site .language-switch{
  grid-area:lang !important;
  justify-self:start !important;
  margin:0 !important;
}
header.site .menu-toggle{
  grid-area:menu !important;
  justify-self:end !important;
  margin:0 !important;
}
.shell{
  padding-top:calc(var(--fixed-head) + 22px) !important;
}

/* A lenyitható panelek címe ne essen szét több flex-oszlopra.
   A +/− jel abszolút pozíciót kap, a cím szövege középen marad. */
.soft-detail > summary{
  position:relative !important;
  display:block !important;
  width:100% !important;
  padding:17px 56px 17px 56px !important;
  text-align:center !important;
  
  white-space:normal !important;
  text-wrap:balance !important;
}
.soft-detail > summary::after{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
}
.soft-detail > summary strong,
.soft-detail > summary span{
  display:inline !important;
}

/* A két beállítási panel maradjon nyugodt, középre szervezett asztali panel. */
#v-draw > .soft-detail,
#v-draw > .reverse-info{
  max-width:920px !important;
  width:min(100%,920px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#v-draw > .soft-detail .soft-detail__body,
#v-draw > .reverse-info .soft-detail__body{
  text-align:left !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Visszahozza a lapok vizuális súlyát: látható, középre rendezett asztali kártyasor. */
#table.table,
.table{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:clamp(20px,2.4vw,30px) !important;
  width:100% !important;
  max-width:1040px !important;
  margin:clamp(28px,4vw,46px) auto clamp(32px,4.4vw,54px) !important;
  min-height:0 !important;
  overflow:visible !important;
}
#table.table:not(:empty){
  min-height:280px !important;
}
#table .slot{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:clamp(150px,15vw,176px) !important;
  max-width:176px !important;
  overflow:visible !important;
  opacity:1 !important;
  visibility:visible !important;
}
#table .slot .pos{
  min-height:2.6em !important;
  margin-bottom:10px !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1.25 !important;
  letter-spacing:.04em !important;
  color:var(--gold-soft) !important;
}
#table .cardbox{
  display:block !important;
  width:clamp(150px,15vw,176px) !important;
  height:calc(clamp(150px,15vw,176px) * 1.573) !important;
  max-width:176px !important;
  max-height:277px !important;
  opacity:1 !important;
  visibility:visible !important;
}
#table .flipper,
#table .face{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
#table .face{
  overflow:hidden !important;
  border-radius:18px !important;
}
#table .hint{
  text-align:center !important;
  min-height:1.4em !important;
  margin-top:8px !important;
}

/* Asztali nézetben a kontrollsor ne ússzon túl szélesre, és maradjon középen. */
#v-draw .controls{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
#v-draw .controls .toggle,
#v-draw .controls .btn{
  flex:0 1 auto !important;
}

@media(max-width:760px){
  :root{--fixed-head:58px !important;--fixed-nav-top:58px !important;}
  header.site{
    min-height:56px !important;
    padding-left:max(12px,env(safe-area-inset-left)) !important;
    padding-right:max(12px,env(safe-area-inset-right)) !important;
  }
  .shell{padding-top:calc(var(--fixed-head) + 16px) !important;}
  .soft-detail > summary{
    padding:15px 48px 15px 18px !important;
    text-align:left !important;
  }
  .soft-detail > summary::after{right:14px !important;}
  #table.table:not(:empty){min-height:0 !important;}
  #table .slot{width:150px !important;max-width:calc(50vw - 28px) !important;}
  #table .cardbox{width:150px !important;height:236px !important;max-width:calc(50vw - 28px) !important;}
}
@media(max-width:390px){
  #table .slot{width:142px !important;max-width:calc(50vw - 22px) !important;}
  #table .cardbox{width:142px !important;height:224px !important;max-width:calc(50vw - 22px) !important;}
}



/* Decorative separators and short ornamental labels must sit on the visual axis. */
.divider,
.view > .divider,
.reading .divider,
.oracle-out .divider,
.journal .divider{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%,760px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.divider::before,
.divider::after{
  flex:1 1 0 !important;
}
.divider svg{
  display:block !important;
  flex:0 0 auto !important;
  margin:0 auto !important;
}

/* Short section markers and ornamental captions are centered;
   paragraph-length explanatory copy remains left aligned. */
.view > .mt,
.view > .ps,
.view > .rune-sub,
.view > .daily-gate__head,
.view > .caption,
.reading > .ps,
.oracle-out > .ps,
.journal > .ps,
.mt,
.ps,
.rune-sub{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Footer: every visible item shares one centered text axis. */
footer.site,
footer.site .footer-awen,
footer.site p,
footer.site div,
footer.site span,
footer.site small,
footer.site a{
  text-align:center !important;
}
footer.site{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
footer.site p,
footer.site .footer-copy,
footer.site .footer-note{
  width:100% !important;
  max-width:680px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
footer.site .footer-awen,
footer.site svg{
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  .divider,
  .view > .divider{
    width:min(88vw,620px) !important;
  }
}



/* =========================================================
   Apple-inspired complete visual system
   Clear hierarchy · generous spacing · restrained surfaces
   ========================================================= */
:root{
  --apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --apple-bg:#f5f5f7;
  --apple-surface:#ffffff;
  --apple-surface-soft:rgba(255,255,255,.76);
  --apple-ink:#1d1d1f;
  --apple-copy:#424245;
  --apple-muted:#6e6e73;
  --apple-line:rgba(0,0,0,.10);
  --apple-line-soft:rgba(0,0,0,.065);
  --action-primary:#9a7428;
  --action-primary-hover:#84601f;
  --apple-radius:28px;
  --apple-radius-sm:18px;
  --apple-shadow:0 12px 36px rgba(0,0,0,.075);
  --apple-shadow-soft:0 3px 16px rgba(0,0,0,.055);
  --content-wide:1180px;
  --content-copy:760px;
}

html{scroll-behavior:smooth;background:var(--apple-bg) !important;}
body{
  font-family:var(--apple-font) !important;
  color:var(--apple-ink) !important;
  background:
    radial-gradient(circle at 50% -12%,rgba(255,255,255,.98),rgba(245,245,247,.72) 34%,transparent 60%),
    var(--apple-bg) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-.012em;
}
*{box-sizing:border-box;}
img,svg{max-width:100%;}

/* Full-width fixed navigation, content aligned to a calm inner grid. */
header.site{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  width:100% !important;
  max-width:none !important;
  min-height:56px !important;
  padding:7px max(22px,calc((100vw - var(--content-wide))/2)) !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  grid-template-areas:"lang spacer menu" !important;
  align-items:center !important;
  background:rgba(250,250,252,.86) !important;
  border-bottom:1px solid rgba(0,0,0,.075) !important;
  box-shadow:none !important;
  backdrop-filter:saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter:saturate(180%) blur(20px) !important;
  z-index:10050 !important;
}
header.site .language-switch{grid-area:lang !important;justify-self:start !important;display:flex !important;gap:6px !important;}
header.site .menu-toggle{grid-area:menu !important;justify-self:end !important;}
header.site .hero-awen-wrap,header.site .brand,header.site .brand-sub{display:none !important;}
.language-switch button{
  min-height:36px !important;
  padding:7px 13px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--apple-muted) !important;
  font:600 13px/1 var(--apple-font) !important;
  
}
.language-switch button:hover{background:rgba(0,0,0,.045) !important;color:var(--apple-ink) !important;}
.language-switch button.active,.language-switch button[aria-pressed="true"]{
  background:var(--apple-ink) !important;
  color:#fff !important;
}
.menu-toggle{
  width:40px !important;height:40px !important;
  border:0 !important;border-radius:50% !important;
  background:rgba(0,0,0,.045) !important;
  color:var(--apple-ink) !important;
}
.menu-toggle:hover{background:rgba(0,0,0,.075) !important;transform:none !important;}

.shell{
  width:min(calc(100% - 40px),var(--content-wide)) !important;
  max-width:var(--content-wide) !important;
  padding-top:88px !important;
  margin-inline:auto !important;
}
.view{width:100% !important;max-width:none !important;padding-inline:0 !important;}

/* Hero: one centered visual axis, strong headline, restrained supporting copy. */
.gate-hero{
  max-width:980px !important;
  margin:0 auto clamp(48px,7vw,88px) !important;
  padding:clamp(42px,7vw,82px) clamp(20px,4vw,54px) !important;
  border:0 !important;
  border-radius:var(--apple-radius) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,255,255,.68)) !important;
  box-shadow:var(--apple-shadow-soft) !important;
  text-align:center !important;
}
.gate-hero .hero-awen-wrap{margin:0 auto 24px !important;display:flex !important;justify-content:center !important;}
.gate-title{
  max-width:900px !important;
  margin:0 auto 18px !important;
  font-family:var(--apple-font) !important;
  font-size:clamp(42px,7.4vw,86px) !important;
  font-weight:700 !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance !important;
  color:var(--apple-ink) !important;
}
.gate-title em,h1.brand em{font-family:var(--apple-font) !important;font-style:normal !important;color:inherit !important;}
.gate-lede,.awen-meaning{
  max-width:680px !important;
  margin-left:auto !important;margin-right:auto !important;
  font-family:var(--apple-font) !important;
  color:var(--apple-copy) !important;
  font-size:clamp(17px,2vw,21px) !important;
  line-height:1.45 !important;
  letter-spacing:-.022em !important;
  text-align:center !important;
}
.awen-meaning{font-size:15px !important;color:var(--apple-muted) !important;}

/* Global typography hierarchy. */
h1,h2,h3,h4,h5,h6,p,li,button,input,textarea,summary,label,select{font-family:var(--apple-font) !important;}
h2.rune{
  max-width:900px !important;
  margin-left:auto !important;margin-right:auto !important;
  
  
  
  font-weight:700 !important;
  color:var(--apple-ink) !important;
  text-align:center !important;
  text-wrap:balance !important;
}
h2.rune::after{display:none !important;}
h3.sect,.gate-step>h3,.simple-path h3,.priestess h3,.journal h3{
  
  
  
  font-weight:700 !important;
  color:var(--apple-ink) !important;
  text-align:center !important;
  text-wrap:balance !important;
}
.rune-sub,p.lede,.gs-sub{
  max-width:var(--content-copy) !important;
  margin-left:auto !important;margin-right:auto !important;
  color:var(--apple-copy) !important;
  
  
  
  text-align:center !important;
}
p,li,.prose,.prose p,.rit-card p,.reading-card p,.moon-card p,.daily-visitor-card p,.myth-card p,.myth-overview-card p,.wheel-card p{
  color:var(--apple-copy) !important;
  
  
  
}
.prose,.soft-detail__body,.reading,.journal,.oracle-out{max-width:var(--content-copy) !important;margin-inline:auto !important;}
.prose p,.soft-detail__body p,.reading-card p,.journal p,.oracle-out{text-align:left !important;}

/* Consistent section rhythm. */
.view>*+*{margin-top:clamp(24px,4vw,48px);}
.view>*+h2.rune,.view>*+section,.view>*+.priestess,.view>*+.journal,.view>*+.gchat{margin-top:clamp(64px,9vw,112px) !important;}
.divider{margin-top:48px !important;margin-bottom:48px !important;opacity:.48 !important;}

/* Surfaces: fewer borders, larger radii, quiet depth. */
.house-card,.spread-btn,.sit-btn,.rit-card,.moon-card,.daily-visitor-card,.myth-card,.myth-overview-card,.wheel-card,
.priestess,.gchat,.random-panel,.awen-block,.jentry,.card-pendulum,.dk-energy,.oracle-out,.journal,.reco,
.soft-detail,.reverse-info,.integration-panel,.reading-card{
  border:1px solid var(--apple-line-soft) !important;
  border-radius:var(--apple-radius-sm) !important;
  background:var(--apple-surface-soft) !important;
  box-shadow:var(--apple-shadow-soft) !important;
}
.house-card::before,.spread-btn::before,.rit-card::before,.moon-card::before,.priestess::before,.gchat::before,.random-panel::before,.awen-block::before{display:none !important;}
.house-card,.spread-btn,.sit-btn,.rit-card,.moon-card,.daily-visitor-card,.myth-card,.myth-overview-card,.wheel-card{
  padding:clamp(20px,2.5vw,30px) !important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease !important;
}
.house-card:hover,.spread-btn:hover,.sit-btn:hover,.rit-card:hover,.myth-card:hover,.myth-overview-card:hover,.wheel-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:var(--apple-shadow) !important;
  border-color:var(--apple-line) !important;
}
.house-card h3,.spread-btn h3,.sit-btn h4,.myth-card h3,.myth-overview-card h3,.wheel-card h3,.lex-card h4{
  
  
  font-weight:700 !important;
  
  color:var(--apple-ink) !important;
  margin:0 0 8px !important;
}
/* Editorial cards remain left-aligned; choice cards stay centered. */
.myth-card,.myth-overview-card,.wheel-card,.lex-card,.reading-card,.jentry,.dk-energy{text-align:left !important;}
.spread-btn,.sit-btn,.house-card{text-align:center !important;}
.spread-btn h3,.sit-btn h4,.house-card h3{text-align:center !important;}

/* Grids use predictable Apple-like spacing. */
.houses,.spread-grid,.sit-grid,.rit-grid,.myth-grid,.myth-overview-grid,.wheel-grid,.lexgrid{
  gap:20px !important;
  align-items:stretch !important;
}
.spread-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.houses,.sit-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.myth-grid,.myth-overview-grid,.wheel-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.lexgrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}

/* Buttons follow a clear primary / secondary system. */
.btn,.rg-btn,.chip{
  min-height:44px !important;
  border-radius:999px !important;
  padding:11px 22px !important;
  
  
  font-weight:600 !important;
  
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease !important;
}
.btn.primary,.btn.gold,.btn:not(.ghost):not(.secondary){
  border-color:var(--action-primary) !important;
  background:var(--action-primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.btn.primary:hover,.btn.gold:hover,.btn:not(.ghost):not(.secondary):hover{background:var(--action-primary-hover) !important;transform:none !important;}
.btn.ghost,.btn.secondary,.rg-btn,.chip{
  border:1px solid var(--apple-line) !important;
  background:rgba(255,255,255,.82) !important;
  color:var(--apple-ink) !important;
}
.btn.ghost:hover,.btn.secondary:hover,.rg-btn:hover,.chip:hover{background:#fff !important;transform:none !important;}
.chip.on{background:var(--apple-ink) !important;color:#fff !important;border-color:var(--apple-ink) !important;}

/* Inputs and controls. */
input,textarea,select,.searchrow input,.gate-step textarea,.priestess textarea,.gchat-row input,.card-pendulum input{
  border:1px solid var(--apple-line) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--apple-ink) !important;
  
  
  padding:14px 16px !important;
  box-shadow:inset 0 1px 0 rgba(0,0,0,.02) !important;
}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(154,116,40,.18) !important;border-color:var(--action-primary) !important;}

/* Expanders resemble quiet settings panels. */
.soft-detail,.reverse-info{overflow:hidden !important;box-shadow:none !important;}
.soft-detail>summary,.reverse-info>summary{
  min-height:56px !important;
  padding:17px 54px 17px 22px !important;
  
  
  font-weight:650 !important;
  
  color:var(--apple-ink) !important;
  text-align:left !important;
  background:rgba(255,255,255,.72) !important;
}
.soft-detail>summary::after,.reverse-info>summary::after{right:20px !important;color:var(--apple-muted) !important;}
.soft-detail__body{padding:8px 22px 24px !important;}

/* Spread and pendulum are feature experiences, not utility forms. */
#v-draw .simple-path,#v-pendulum .simple-path,#v-gate .simple-path{
  max-width:1000px !important;
  margin-inline:auto !important;
  padding:clamp(28px,4vw,48px) !important;
  border-radius:var(--apple-radius) !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid var(--apple-line-soft) !important;
  box-shadow:var(--apple-shadow-soft) !important;
}
#v-draw .spread-grid,#v-gate .sit-grid{margin-top:28px !important;}
#v-pendulum .pendulum-stage,#v-pendulum .card-pendulum{max-width:900px !important;margin-inline:auto !important;}
.pendulum-status{font-family:var(--apple-font) !important;font-style:normal !important;font-weight:600 !important;letter-spacing:-.02em !important;color:var(--apple-ink) !important;}

/* Cards: elegant, centered art, restrained labels. */
#table.table{gap:30px !important;max-width:1100px !important;}
#table .slot{width:176px !important;}
#table .cardbox{width:176px !important;height:277px !important;}
#table .face{
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:22px !important;
  box-shadow:0 14px 36px rgba(10,20,27,.18) !important;
}
.face.back{background:radial-gradient(circle at 50% 38%,rgba(201,168,106,.14),transparent 52%),linear-gradient(160deg,#16303f,#0a1821) !important;}
.face.back svg{width:68% !important;max-width:128px !important;margin:auto !important;}
.art{display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;padding:18px 14px 8px !important;}
.art svg{width:74% !important;max-width:140px !important;margin:auto !important;}
.cardname{padding:8px 12px 16px !important;text-align:center !important;}
.cardname .nm{font-family:var(--apple-font) !important;font-size:16px !important;line-height:1.22 !important;font-weight:650 !important;letter-spacing:-.025em !important;}
.cardname .no,.cardname .rv,.slot .pos,.slot .hint{font-family:var(--apple-font) !important;letter-spacing:.04em !important;}

/* Menu: crisp solid panel, no accidental blur over text. */
.menu-panel,.mobile-menu,.nav-drawer{
  background:rgba(255,255,255,.98) !important;
  color:var(--apple-ink) !important;
  border:1px solid var(--apple-line-soft) !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.16) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.menu-panel a,.menu-panel button,.mobile-menu a,.mobile-menu button,.nav-drawer a,.nav-drawer button{
  color:var(--apple-ink) !important;
  font-weight:600 !important;
  
}

/* Footer stretches cleanly while keeping a readable text measure. */
footer.site{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:clamp(72px,10vw,120px) !important;
  padding:38px max(20px,calc((100vw - var(--content-wide))/2)) 42px !important;
  background:rgba(255,255,255,.68) !important;
  border-top:1px solid var(--apple-line-soft) !important;
  text-align:center !important;
}
footer.site p{max-width:720px !important;margin-inline:auto !important;color:var(--apple-muted) !important;text-align:center !important;}
footer.site .footer-awen{margin:0 auto 16px !important;}

@media(max-width:980px){
  .spread-grid,.houses,.sit-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .lexgrid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .myth-grid,.myth-overview-grid,.wheel-grid{grid-template-columns:1fr !important;}
}
@media(max-width:760px){
  header.site{
    min-height:54px !important;
    padding:7px max(12px,env(safe-area-inset-left)) 7px max(12px,env(safe-area-inset-right)) !important;
  }
  .shell{width:min(calc(100% - 24px),var(--content-wide)) !important;padding-top:76px !important;}
  .gate-hero{padding:36px 18px 42px !important;border-radius:22px !important;margin-bottom:52px !important;}
  .gate-title{font-size:clamp(38px,13vw,58px) !important;line-height:1 !important;}
  
  
  
  .spread-grid,.houses,.sit-grid,.lexgrid{grid-template-columns:1fr !important;}
  .house-card,.spread-btn,.sit-btn{text-align:left !important;}
  .house-card h3,.spread-btn h3,.sit-btn h4{text-align:left !important;}
  #v-draw .simple-path,#v-pendulum .simple-path,#v-gate .simple-path{padding:24px 16px !important;border-radius:22px !important;}
  .soft-detail>summary,.reverse-info>summary{text-align:left !important;padding-left:18px !important;}
  #table.table{gap:18px 12px !important;}
  #table .slot{width:calc(50vw - 24px) !important;max-width:156px !important;}
  #table .cardbox{width:100% !important;height:auto !important;aspect-ratio:176/277 !important;}
  footer.site{padding-left:18px !important;padding-right:18px !important;}
}
@media(max-width:390px){
  .language-switch button{padding:7px 10px !important;}
  .menu-toggle{width:38px !important;height:38px !important;}
  .gate-title{font-size:36px !important;}
  #table .slot{width:calc(50vw - 20px) !important;max-width:146px !important;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

/* ===== Runtime/layout repair v2: stable mobile controls and reading flow ===== */
#v-draw .sit-btn,
#v-draw .reco,
#v-draw .question-box,
#v-draw .random-panel,
#v-draw .controls,
#v-draw .soft-detail,
#v-draw .reading,
#v-draw .priestess,
#v-draw .integration-panel{
  width:min(100%, 860px) !important;
  max-width:860px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
#v-draw .sit-btn{min-height:auto !important;height:auto !important;padding:24px 22px !important;text-align:left !important;overflow:hidden !important;}
#v-draw .sit-btn>*{max-width:100% !important;overflow-wrap:break-word !important;word-break:normal !important;}
#v-draw .sit-btn b,#v-draw .sit-btn span,#v-draw .sit-btn p{display:block !important;width:100% !important;text-align:left !important;}
#v-draw #pakliRow{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:10px !important;width:min(100%,860px) !important;margin:0 auto 12px !important}
#v-draw #pakliRow .chip{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:44px !important;white-space:normal !important;text-align:center !important;max-width:100% !important;}
#v-draw .soft-detail>summary{grid-template-columns:minmax(0,1fr) auto !important;gap:14px !important;padding:20px 22px !important;align-items:center !important;}
#v-draw .soft-detail>summary .soft-detail__title,
#v-draw .soft-detail>summary>span:first-child{min-width:0 !important;max-width:100% !important;text-align:left !important;overflow-wrap:break-word !important;word-break:normal !important;}
#v-draw .soft-detail>summary::after{justify-self:end !important}
#v-draw .controls{padding:24px 22px !important;overflow:hidden !important}
#v-draw .controls>*{max-width:100% !important;box-sizing:border-box !important}
#v-draw .table{width:min(100%,1100px) !important;max-width:1100px !important;margin-left:auto !important;margin-right:auto !important;justify-content:center !important}
#v-draw .reading{display:block !important;min-height:0 !important;margin-top:28px !important;margin-bottom:32px !important}
#v-draw .reading:empty{display:none !important}
#v-draw .reading:not(:empty){display:block !important}
#v-draw .reading-card{width:min(100%,760px) !important;max-width:760px !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box !important}
#cauldronNote{max-width:min(92vw,760px) !important;margin-left:auto !important;margin-right:auto !important;overflow-wrap:break-word !important}
@media(max-width:640px){
  #v-draw .sit-btn{padding:22px 18px !important;}
  #v-draw .soft-detail>summary{padding:18px 18px !important;grid-template-columns:minmax(0,1fr) 44px !important;}
  
  #v-draw .controls{padding:22px 16px !important}
  #v-draw #pakliRow{display:grid !important;grid-template-columns:1fr !important}
  #v-draw #pakliRow .chip{width:100% !important;}
  #v-draw .table{gap:20px !important}
}



/* ===== JONY IVE FRONTEND CONSOLIDATION — FINAL LAYER ===== */
:root{
  --ui-max:1180px;
  --ui-copy:720px;
  --ui-radius:28px;
  --ui-radius-sm:20px;
  --ui-gap:clamp(14px,2vw,24px);
  --ui-pad:clamp(18px,3vw,32px);
  --ui-border:rgba(128,105,60,.16);
  --ui-surface:rgba(255,255,255,.82);
  --ui-shadow:0 18px 50px rgba(24,20,14,.055);
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
.view>*,main>*,section>*{min-width:0}
.view{width:100%;max-width:100%;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.view>h1,.view>h2,.view>.sect,.section-display{max-width:var(--ui-max);margin-left:auto!important;margin-right:auto!important;text-wrap:balance;}
.prose,.section-intro,.lede,.small-note{max-width:var(--ui-copy);margin-left:auto;margin-right:auto;}

/* One geometric language for every cell. */
.house-card,.spread-btn,.sit-btn,.dk-grid-card,.deck-overview-card,.wheel-card,.myth-overview-card,.lexcard,.soft-detail,.random-panel,.pendulum-stage,.reading-card,.integration-panel,.priestess,.gchat,.ritual-gate,.ritual-ok{
  border-radius:var(--ui-radius-sm)!important;
  border:1px solid var(--ui-border)!important;
  background:var(--ui-surface)!important;
  box-shadow:var(--ui-shadow)!important;
  max-width:100%!important;
  min-width:0!important;
}
.house-card,.spread-btn,.sit-btn,.dk-grid-card,.deck-overview-card,.wheel-card,.myth-overview-card{padding:var(--ui-pad)!important;height:auto!important;min-height:0!important;text-align:left!important;overflow:hidden;}
.house-card h3,.spread-btn h3,.sit-btn h3,.dk-grid-card h3,.deck-overview-card h3,.wheel-card h3,.myth-overview-card h3{margin:0 0 10px!important;overflow-wrap:anywhere;word-break:normal;hyphens:none;}
.house-card p,.spread-btn p,.sit-btn p,.dk-grid-card p,.deck-overview-card p,.wheel-card p,.myth-overview-card p{margin:0;overflow-wrap:anywhere;word-break:normal;hyphens:none;}

/* Responsive grids: never force a fixed card count. */
.houses,.spreads,.spread-grid,.sit-grid,.problem-grid,.deck-overview-grid,.wheel-grid,.myth-grid,.myth-overview-grid,.dk-grid,#dkGrid,.lexgrid,#lexGrid{
  width:min(100%,var(--ui-max))!important;
  max-width:var(--ui-max)!important;
  margin-left:auto!important;margin-right:auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;
  gap:var(--ui-gap)!important;
  align-items:stretch!important;
}
#dkGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}
#lexGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important}

/* Lexicon cards remain visible and proportional. */
.lexcard{display:flex!important;flex-direction:column!important;aspect-ratio:3/4!important;min-height:260px!important;overflow:hidden!important;background:linear-gradient(165deg,#15303d,#0c1b24)!important;cursor:pointer}
.lexcard .art{min-height:0;flex:1 1 auto;padding:18px 16px 8px!important;display:flex;align-items:center;justify-content:center}
.lexcard .art svg{display:block;margin:auto;max-width:82%;max-height:100%}
.lexcard .cardname{padding:12px 14px 16px!important;text-align:center!important}
.lexcard .cardname .nm{overflow-wrap:anywhere;hyphens:none}
.lexcard .cardname .rv{margin-top:5px;white-space:normal;text-transform:none;letter-spacing:.02em}

/* Filters are independent, tappable and horizontally safe. */
.filters{width:min(100%,var(--ui-max));margin-left:auto!important;margin-right:auto!important;display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;padding:2px 0 12px!important;overflow:visible!important}
.filters .chip{flex:0 1 auto;min-height:44px;padding:10px 16px!important;white-space:normal!important;text-align:center;border-radius:999px!important;overflow-wrap:anywhere;}
.filters .chip.on{background:#a57a24!important;border-color:#a57a24!important;color:#fff!important;}

/* Details titles: true centered title with an independent icon. */
.soft-detail>summary{position:relative!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;gap:8px!important;padding:20px 18px!important;text-align:center!important;list-style:none!important;}
.soft-detail>summary::before{content:"";width:44px;height:44px}
.soft-detail>summary::after{position:static!important;justify-self:end!important;margin:0!important}
.soft-detail>summary>*{min-width:0;}
.soft-detail>summary{overflow-wrap:anywhere;word-break:normal;hyphens:none;}
.soft-detail[open]>.soft-detail__body,.soft-detail[open]>.random-panel{padding:0 var(--ui-pad) var(--ui-pad)!important}

/* Avoid decorative empty vertical zones. */
.view,.soft-detail,.dk-section,.lexicon-section,.pendulum-stage,.reading,.priestess{min-height:0!important;height:auto!important}
.divider{margin:clamp(28px,5vw,56px) auto!important}
footer.site{margin-top:clamp(32px,6vw,72px)!important}

/* Header and controls. */
header.site{width:100vw!important;max-width:none!important;left:0!important;right:0!important}
.btn,button.btn,input,textarea,select{max-width:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;}
.btn{min-height:48px;border-radius:999px!important;padding:12px 24px!important;white-space:normal;}
.controls{width:min(100%,var(--ui-copy));margin-left:auto!important;margin-right:auto!important;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.controls>*{min-width:0}
.searchrow{width:min(100%,var(--ui-copy));margin-left:auto!important;margin-right:auto!important}
.searchrow input{width:100%!important;min-width:0;border-radius:16px!important;}

@media (max-width:820px){
  :root{--ui-radius:22px;--ui-radius-sm:18px;--ui-pad:20px}
  .houses,.spreads,.spread-grid,.sit-grid,.problem-grid,.deck-overview-grid,.wheel-grid,.myth-grid,.myth-overview-grid,#dkGrid,#lexGrid{grid-template-columns:1fr!important}
  #lexGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .lexcard{min-height:230px!important}
  .controls{flex-direction:column!important;align-items:stretch!important}
  .controls>.btn,.controls>button{width:100%!important;}
}
@media (max-width:430px){
  .view{padding-left:14px!important;padding-right:14px!important}
  #lexGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lexcard{min-height:210px!important;border-radius:16px!important}
  .lexcard .cardname{padding:9px 8px 12px!important}
  .lexcard .cardname .nm{font-size:14px!important;line-height:1.2!important}
  .lexcard .cardname .rv{font-size:10px!important}
  .filters{justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:2px 2px 12px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters .chip{flex:0 0 auto;white-space:nowrap!important;}
  .soft-detail>summary{grid-template-columns:36px minmax(0,1fr) 36px!important;padding:17px 12px!important;}
  .soft-detail>summary::before{width:36px;height:36px}
}

/* ===== DESKTOP + LEXICON RELIABILITY REPAIR ===== */
.soft-detail > summary{
  grid-template-columns:minmax(0,1fr) 48px !important;
  padding:20px 22px !important;
  min-height:72px !important;
  text-align:center !important;
}
.soft-detail > summary::before{display:none !important;content:none !important}
.soft-detail > summary .summary-title{
  grid-column:1 !important;
  min-width:0 !important;
  max-width:100% !important;
  justify-self:center !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance;
}
.soft-detail > summary::after{
  grid-column:2 !important;
  justify-self:end !important;
  align-self:center !important;
}
#v-draw .soft-detail.compact{
  width:min(100%,980px) !important;
  max-width:980px !important;
  margin:24px auto 28px !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
}
#v-draw .soft-detail.compact[open] > .soft-detail__body{
  padding:0 24px 24px !important;
}
#v-draw .soft-detail.compact .random-panel{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:22px !important;
  min-height:0 !important;
  height:auto !important;
}
#v-draw .random-panel__modes{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
#v-draw .random-panel__modes .chip{min-height:52px !important;}
#lexGrid{
  min-height:240px !important;
  visibility:visible !important;
  opacity:1 !important;
}
#lexGrid .lexcard{
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
}
@media (min-width:900px){
  
  #lexGrid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media (max-width:899px){
  .soft-detail > summary{grid-template-columns:minmax(0,1fr) 44px !important;padding:18px 16px !important;}
  #v-draw .soft-detail.compact[open] > .soft-detail__body{padding:0 16px 18px !important}
  #v-draw .random-panel__modes{grid-template-columns:1fr !important}
  #lexGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:520px){
  #lexGrid{grid-template-columns:1fr !important}
}




/* ===== Final responsive control, summary and selection repair ===== */
.soft-detail > summary{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:72px !important;
  padding:18px 76px 18px 24px !important;
  position:relative !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  
}
.soft-detail > summary .summary-label{
  display:block !important;
  width:min(100%,720px) !important;
  min-width:0 !important;
  margin:0 auto !important;
  text-align:center !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance;
}
.soft-detail > summary::after{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  flex:0 0 44px !important;
}

/* Selection controls must never compress into overlapping labels. */
#pendulumType,
#dkFilters,
#lexFilters,
#dtType{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  flex-wrap:nowrap !important;
  padding:4px 4px 14px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
#pendulumType::-webkit-scrollbar,
#dkFilters::-webkit-scrollbar,
#lexFilters::-webkit-scrollbar,
#dtType::-webkit-scrollbar{display:none}
#pendulumType .chip,
#dkFilters .chip,
#lexFilters .chip,
#dtType .chip{
  flex:0 0 auto !important;
  min-width:max-content !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  scroll-snap-align:start;
  padding:11px 17px !important;
}
.chip.on,
.sit-btn.on,
.spread-btn.on{
  background:linear-gradient(180deg,#b38a3d,#8f6a28) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 8px 22px rgba(143,106,40,.18) !important;
}
.chip.on *, .sit-btn.on *, .spread-btn.on *{color:#fff !important;}

#dkTargets{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  width:min(100%,760px) !important;
  max-width:760px !important;
}
#dkTargets .sit-btn{
  width:100% !important;
  min-width:0 !important;
  min-height:132px !important;
  height:auto !important;
  padding:20px !important;
  text-align:left !important;
  overflow:hidden !important;
}
#dkTargets .sit-btn h4,
#dkTargets .sit-btn p{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
#dkTargets .sit-btn p{margin-top:8px !important;}

/* Prevent narrow-stage controls from overflowing their cards. */
.pendulum-stage,
.question-refiner,
.soft-detail__body,
.dk-energy,
.reading,
.controls,
.searchrow,
.searchrow input{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.pendulum-stage{overflow:hidden !important}
.pendulum-stage svg{max-width:100% !important;height:auto !important;display:block !important;margin-inline:auto !important}

@media (min-width:901px){
  #pendulumType,#dkFilters,#lexFilters,#dtType{
    justify-content:center !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
  }
  #dkTargets{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:1040px !important}
}
@media (max-width:640px){
  .soft-detail > summary{
    min-height:68px !important;
    padding:16px 66px 16px 18px !important;
    
  }
  .soft-detail > summary::after{right:12px !important;width:42px !important;height:42px !important}
  #dkTargets{grid-template-columns:1fr !important;gap:12px !important}
  #dkTargets .sit-btn{min-height:0 !important;padding:18px !important;}
  #pendulumType .chip,#dkFilters .chip,#lexFilters .chip,#dtType .chip{padding:10px 15px !important;}
}




#v-lex #deckOverview,
#v-lex .all-cards-heading,
#v-lex #lexFilters,
#v-lex .searchrow,
#v-lex #lexGrid{
  display: block;
  visibility: visible;
  opacity: 1;
}
#v-lex #lexGrid{
  display: grid !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 24px auto 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
#v-lex #lexGrid .lexcard{
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 0 !important;
}
@media (max-width: 900px) {
  #v-lex #lexGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 560px) {
  #v-lex #lexGrid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  #v-lex #lexGrid .lexcard{
    width: 100% !important;
    min-height: 220px !important;
    aspect-ratio: auto !important;
  }
}



#v-lex #lexGrid:empty::before{content:"A kártyák betöltése…";grid-column:1/-1;text-align:center;padding:32px;color:var(--mist)}
#v-lex .lexcard--static{display:flex!important;flex-direction:column;justify-content:space-between;min-height:230px;padding:20px;border:1px solid rgba(163,124,44,.18);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(35,29,21,.05);overflow:hidden;cursor:pointer}
#v-lex .lexcard-static-art{min-height:112px;display:grid;place-items:center;position:relative}
#v-lex .lexcard-static-ring{width:74px;height:74px;border:1.5px solid rgba(163,124,44,.56);border-radius:50%;box-shadow:inset 0 0 0 6px rgba(163,124,44,.06)}
#v-lex .lexcard-static-mark{position:absolute;color:var(--gold-soft);font-size:34px;line-height:1;transform:rotate(90deg)}
#v-lex .lexcard--static .cardname{text-align:center;padding:10px 4px 2px}
#v-lex .lexcard--static .nm{font-size:20px;line-height:1.15;margin:7px 0}
#v-lex .lexcard--static .rv{font-size:14px;line-height:1.4;color:var(--mist)}
@media(max-width:560px){#v-lex .lexcard--static{min-height:210px;padding:18px}}



.language-switch .lang-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(163,124,44,.28);background:rgba(255,252,245,.72);color:var(--mist);font-family:var(--f-ui);font-size:13px;font-weight:560;line-height:1;padding:8px 13px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.language-switch .lang-link.on{color:var(--moon);background:rgba(163,124,44,.10);border-color:rgba(163,124,44,.42)}
.language-switch .lang-link:hover{transform:translateY(-1px);color:var(--moon)}



/* Final mobile sizing pass: prevent nested result cards from exceeding their parent. */
*,*::before,*::after{box-sizing:border-box}
.priestess,
.reading,
.reading-card,
.oracle-out,
.ai-prompt-copy,
.integration-panel,
.question-refiner,
.ceridwen-vow,
.card-pendulum,
.dk-energy,
.gchat,
.journal,
.reco{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow-x:hidden !important;
}
.oracle-out,
.oracle-out p,
.reading-card,
.reading-card p,
.priestess p,
.ai-prompt-copy,
.ai-prompt-copy p,
.integration-panel,
.integration-panel p,
.question-refiner,
.question-refiner p,
.ceridwen-vow,
.ceridwen-vow p{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  hyphens:none !important;
}
.oracle-out{display:block !important;white-space:pre-wrap !important;}
.priestess > .oracle-out,
.priestess > .ai-prompt-copy,
.priestess > .row,
.priestess > textarea{
  width:100% !important;
  max-width:100% !important;
}
@media (max-width:640px){
  .shell{padding-left:14px !important;padding-right:14px !important;}
  .priestess,
  .reading,
  .reading-card,
  .oracle-out,
  .ai-prompt-copy,
  .integration-panel,
  .question-refiner,
  .ceridwen-vow,
  .card-pendulum,
  .dk-energy,
  .gchat,
  .journal,
  .reco{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .priestess{padding:22px 16px !important;border-radius:20px !important;}
  .oracle-out{padding:20px 16px !important;border-radius:18px !important;margin-top:16px !important;}
  .reading-card,.ai-prompt-copy,.integration-panel,.question-refiner,.ceridwen-vow,.card-pendulum,.dk-energy{
    padding:20px 16px !important;
    border-radius:18px !important;
  }
  .priestess .row{display:flex !important;flex-direction:column !important;gap:12px !important;}
  .priestess .row .btn{width:100% !important;max-width:100% !important;}
  .guide-next,.flow-nudge{max-width:calc(100vw - 28px) !important;left:14px !important;right:14px !important;width:auto !important;}
}



/* — 2026-07 audit polish: Apple-szintű tipográfiai finomítás — */
h1,h2,h3,.rune,.section-display{text-wrap:balance;}
p,li{text-wrap:pretty;}



/* ================================================================
   APPLE TYPE SYSTEM — 2026-07 dizájn audit (Jony Ive-elv)
   Egyetlen autoritatív réteg: 8 lépcsős skála, egységes sortáv,
   betűköz és 8pt-rácsra igazított térköz. Minden korábbi eseti
   méretet felülír. Reszponzív: clamp() minden kijelzőn.
   Skála (SF Pro / apple.com szabvány):
     hero    clamp(40→72px) / 1.05  / -0.015em / 700
     h2      clamp(32→48px) / 1.08  / -0.012em / 700
     h3      clamp(21→28px) / 1.14  / -0.010em / 600
     h4      19px           / 1.21  / -0.010em / 600
     lede    clamp(18→21px) / 1.38  / -0.011em / 400
     body    17px           / 1.47  / -0.014em / 400
     callout 14px           / 1.43  / -0.010em / 400
     caption 12px           / 1.33  /  0       / 400
   ================================================================ */
:root{
  --t-hero:clamp(40px,6.5vw,72px);
  --t-h2:clamp(32px,4.6vw,48px);
  --t-h3:clamp(21px,2.6vw,28px);
  --t-h4:19px;
  --t-lede:clamp(18px,2vw,21px);
  --t-body:17px;
  --t-callout:14px;
  --t-caption:12px;
  --sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:48px;--sp-6:64px;--sp-7:96px;
  /* serif akcentus megszüntetése — egyetlen betűcsalád az egész oldalon */
  --f-serif:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",Roboto,Ubuntu,sans-serif;
}

/* ---------- betűcsalád: egységesen SF-stack, serif kivezetve ---------- */
:is(#awen-cast,*) body, :is(#awen-cast,*) button, :is(#awen-cast,*) input, :is(#awen-cast,*) textarea, :is(#awen-cast,*) select, :is(#awen-cast,*) em, :is(#awen-cast,*) i, :is(#awen-cast,*) blockquote, :is(#awen-cast,*) .oracle, :is(#awen-cast,*) .serif{
  font-family:var(--f-ui) !important;
}

/* ---------- címsor-skála ---------- */
:is(#awen-cast,*) h1, :is(#awen-cast,*) .brand{
  font-size:var(--t-hero) !important;
  line-height:1.05 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
}
:is(#awen-cast,*) h2, :is(#awen-cast,*) .rune, :is(#awen-cast,*) .section-display, :is(#awen-cast,*) h3.sect{
  font-size:var(--t-h2) !important;
  line-height:1.08 !important;
  letter-spacing:-.012em !important;
  font-weight:700 !important;
}
:is(#awen-cast,*) h3{
  font-size:var(--t-h3) !important;
  line-height:1.14 !important;
  letter-spacing:-.01em !important;
  font-weight:600 !important;
}
:is(#awen-cast,*) h4{
  font-size:var(--t-h4) !important;
  line-height:1.21 !important;
  letter-spacing:-.01em !important;
  font-weight:600 !important;
}
/* kártyákon, rácsokban a h3 kisebb fokozata */
:is(#awen-cast,*) .myth-overview-card h3, :is(#awen-cast,*) .deck-overview-card h3, :is(#awen-cast,*) .lexcard h3, :is(#awen-cast,*) .rg-card h3, :is(#awen-cast,*) .step-card h3, :is(#awen-cast,*) .journal-entry h3{
  font-size:var(--t-h4) !important;
  line-height:1.21 !important;
}

/* ---------- lede / alcím ---------- */
:is(#awen-cast,*) .rune-sub, :is(#awen-cast,*) .lede, :is(#awen-cast,*) .gate-lede, :is(#awen-cast,*) .hero-sub{
  font-size:var(--t-lede) !important;
  line-height:1.381 !important;
  letter-spacing:-.011em !important;
  font-weight:400 !important;
}

/* ---------- törzsszöveg ---------- */
:is(#awen-cast,*) p, :is(#awen-cast,*) li, :is(#awen-cast,*) summary, :is(#awen-cast,*) label, :is(#awen-cast,*) .soft-detail__body, :is(#awen-cast,*) blockquote{
  font-size:var(--t-body) !important;
  line-height:1.47 !important;
  letter-spacing:-.014em !important;
}
:is(#awen-cast,*) summary{font-weight:600 !important}
:is(#awen-cast,*) input, :is(#awen-cast,*) textarea, :is(#awen-cast,*) select{
  font-size:var(--t-body) !important;
  line-height:1.47 !important;
  letter-spacing:-.014em !important;
}

/* ---------- callout: jegyzetek, kísérőszövegek ---------- */
:is(#awen-cast,*) .small-note, :is(#awen-cast,*) .kid-hint, :is(#awen-cast,*) .kid-hint *, :is(#awen-cast,*) .rg-sub, :is(#awen-cast,*) .caption, :is(#awen-cast,*) .moon-card p, :is(#awen-cast,*) .daily-visitor-card p, :is(#awen-cast,*) .footer-awen ~ p, :is(#awen-cast,*) footer.site p, :is(#awen-cast,*) .hero-footer-note p, :is(#awen-cast,*) p.small-note, :is(#awen-cast,*) p.caption{
  font-size:var(--t-callout) !important;
  line-height:1.43 !important;
  letter-spacing:-.01em !important;
}

/* ---------- caption / eyebrow ---------- */
:is(#awen-cast,*) .tag, :is(#awen-cast,*) .eyebrow, :is(#awen-cast,*) small, :is(#awen-cast,*) .hero-meta, :is(#awen-cast,*) .chip-note{
  font-size:var(--t-caption) !important;
  line-height:1.33 !important;
  letter-spacing:.06em !important;
  font-weight:600 !important;
  text-transform:uppercase;
}

/* ---------- vezérlők: egyetlen gombméret ---------- */
:is(#awen-cast,*) button, :is(#awen-cast,*) .btn, :is(#awen-cast,*) .chip, :is(#awen-cast,*) .rg-btn, :is(#awen-cast,*) .sit-btn{
  font-size:var(--t-callout) !important;
  line-height:1.23 !important;
  letter-spacing:-.01em !important;
  font-weight:600 !important;
}
:is(#awen-cast,*) nav.tabs button{font-size:var(--t-callout) !important;font-weight:600 !important}
:is(#awen-cast,*) .menu-toggle{font-size:0 !important}

/* ---------- függőleges ritmus: 8pt rács ---------- */
:is(#awen-cast,*) h2.rune, :is(#awen-cast,*) .section-display{margin-bottom:var(--sp-2) !important}
:is(#awen-cast,*) .rune-sub{margin-bottom:var(--sp-5) !important}
:is(#awen-cast,*) h3{margin-bottom:var(--sp-1) !important}
:is(#awen-cast,*) p+p{margin-top:var(--sp-2) !important}
:is(#awen-cast,*) .view>section, :is(#awen-cast,*) .view>.soft-detail, :is(#awen-cast,*) .deck-overview{
  margin-block:var(--sp-5) !important;
}
:is(#awen-cast,*) .soft-detail__body{padding-top:var(--sp-2) !important}
:is(#awen-cast,*) .kid-hint{margin-bottom:var(--sp-4) !important}
:is(#awen-cast,*) .divider{margin-block:clamp(var(--sp-5),7vw,var(--sp-7)) !important}
:is(#awen-cast,*) footer.site{padding-block:var(--sp-6) var(--sp-7) !important}

/* ---------- kóbor méretek a skálára igazítva ---------- */
:is(#awen-cast,*) :is(#v-draw,#v-pendulum,#v-cleanse) .simple-path li{
  font-size:var(--t-callout) !important;
  line-height:1.43 !important;
  letter-spacing:-.01em !important;
}
:is(#awen-cast,*) :is(#v-draw,#v-pendulum,#v-cleanse,#v-lex,#v-cave,#v-gate,#v-journal) summary{
  font-size:var(--t-body) !important;
  line-height:1.47 !important;
  letter-spacing:-.014em !important;
  font-weight:600 !important;
}

/* ---------- eyebrow-ök és rács-fejek a skálán ---------- */
:is(#awen-cast,*) .simple-path__eyebrow, :is(#awen-cast,*) [class*="__eyebrow"], :is(#awen-cast,*) [class*="-eyebrow"]{
  font-size:var(--t-caption) !important;
  line-height:1.33 !important;
  letter-spacing:.06em !important;
  font-weight:600 !important;
  text-transform:uppercase;
}
:is(#awen-cast,*) .rg-head, :is(#awen-cast,*) .grid-head, :is(#awen-cast,*) .card-head{
  font-size:var(--t-body) !important;
  line-height:1.29 !important;
  letter-spacing:-.014em !important;
  font-weight:600 !important;
}

/* ---------- lenyíló címek és kicker-feliratok ---------- */
:is(#awen-cast,*) .summary-title{
  font-size:var(--t-body) !important;
  line-height:1.29 !important;
  letter-spacing:-.014em !important;
  font-weight:600 !important;
}
:is(#awen-cast,*) .pendulum-sub, :is(#awen-cast,*) .question-refiner__title,
:is(#awen-cast,*) .daily-gate__head, :is(#awen-cast,*) .mt{
  font-size:var(--t-caption) !important;
  line-height:1.33 !important;
  letter-spacing:.02em !important;
  font-weight:600 !important;
}

/* ---------- display-címek spanjei: mindig a szülő méretét öröklik ---------- */
:is(#awen-cast,*) h1 span, :is(#awen-cast,*) h2 span, :is(#awen-cast,*) h3 span,
:is(#awen-cast,*) .gate-title__lead, :is(#awen-cast,*) .gate-title__rest{
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}
:is(#awen-cast,*) .gate-title, :is(#awen-cast,*) [class*="gate-title"]{
  font-size:var(--t-hero) !important;
  line-height:1.05 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
}

/* ---------- komponens-feliratok a skálán ---------- */
:is(#awen-cast,*) .brand-sub__main{
  font-size:var(--t-lede) !important;line-height:1.381 !important;letter-spacing:-.011em !important;
}
:is(#awen-cast,*) .brand-sub__details, :is(#awen-cast,*) .moon-meta, :is(#awen-cast,*) .moon-inline{
  font-size:var(--t-caption) !important;line-height:1.33 !important;letter-spacing:.02em !important;
}
:is(#awen-cast,*) .lang-link{
  font-size:var(--t-callout) !important;line-height:1.23 !important;letter-spacing:-.01em !important;font-weight:600 !important;
}
:is(#awen-cast,*) .cauldron-note, :is(#awen-cast,*) .arrow{
  font-size:var(--t-body) !important;line-height:1.47 !important;letter-spacing:-.014em !important;
}
:is(#awen-cast,*) .pendulum-status, :is(#awen-cast,*) .journal-empty{
  font-size:var(--t-lede) !important;line-height:1.381 !important;letter-spacing:-.011em !important;
}
/* A kártyalapok belső tipográfiája (.no · .nm · .rv) szándékos
   komponens-kivétel — a lap „artwork", saját, zárt arányrenddel. */

/* ---------- utolsó két komponens a skálán ---------- */
:is(#awen-cast,*) .moon-card h4 span{
  font-size:var(--t-caption) !important;line-height:1.33 !important;letter-spacing:.02em !important;font-weight:600 !important;
}
:is(#awen-cast,*) .all-cards-heading{
  font-size:var(--t-h2) !important;line-height:1.08 !important;letter-spacing:-.012em !important;font-weight:700 !important;
}
:is(#awen-cast,*) .all-cards-heading span{
  font-size:inherit !important;line-height:inherit !important;letter-spacing:inherit !important;
}

/* ---------- mobil finomítás ---------- */




@media (max-width:640px){
:root{--t-body:16px;--t-callout:14px}
:is(#awen-cast,*) p, :is(#awen-cast,*) li, :is(#awen-cast,*) summary, :is(#awen-cast,*) label{line-height:1.5 !important}
:is(#awen-cast,*) h2, :is(#awen-cast,*) .rune, :is(#awen-cast,*) .section-display{letter-spacing:-.01em !important}
}



/* ================================================================
   AVALON-SZÍNPAD — erdei háttér (napszak-érzékeny), Ceridwen háza,
   madarak · lepkék · szentjánosbogarak, üst- / tükör- / kártya-
   animációk. Tiszteli a prefers-reduced-motion beállítást.
   ================================================================ */
#forestScene{position:relative;width:100%;height:clamp(340px,46vh,560px);z-index:1;
  pointer-events:none;overflow:hidden;margin-top:-24px}
#forestScene::before{content:"";position:absolute;inset:0 0 auto 0;height:34%;z-index:5;
  background:linear-gradient(to bottom,#f5f2ea,rgba(245,242,234,0));}
.shell,nav.tabs,.lang-switch,.menu-toggle,.veil{position:relative;z-index:1}
.veil{z-index:60}
#fsSky{position:absolute;inset:0;width:100%;height:100%}
.fs-band{position:absolute;left:0;right:0;bottom:0;width:100%}
.fs-back{height:62%;opacity:.55}
.fs-mid{height:52%;opacity:.85}
.fs-front{height:38%}
.fs-treeline path{transition:fill 1.2s ease}
.fs-back .fs-treeline path{fill:#c6cdb9}
.fs-mid .fs-treeline path{fill:#a8b399}
.fs-front .fs-treeline path{fill:#8b987e}

/* — Ceridwen háza — */
#fsHouse .hs-wall{fill:#e7dcc4;stroke:#8a7554;stroke-width:1.4}
#fsHouse .hs-roof{fill:#7a6547;stroke:#5f4e37;stroke-width:1.2}
#fsHouse .hs-door{fill:#5f4a33}
#fsHouse .hs-chimney{fill:#8a7554}
#fsHouse #hsWindow,#fsHouse .hs-window2{fill:#cfe0e4;transition:fill 1.2s ease}
#fsHouse .hs-mullion{stroke:#5f4e37;stroke-width:1}
#fsHouse .hs-smoke circle{fill:rgba(210,210,205,.55);animation:hsSmoke 5s ease-out infinite}
#fsHouse .hs-smoke .k2{animation-delay:1.6s}
#fsHouse .hs-smoke .k3{animation-delay:3.2s}
@keyframes hsSmoke{
  0%{transform:translate(0,0) scale(.5);opacity:0}
  15%{opacity:.7}
  100%{transform:translate(14px,-46px) scale(1.7);opacity:0}
}

/* — égitestek, csillagok — */
#fsSun,#fsMoon,#fsStars{transition:opacity 1.2s ease}
#fsMoon{opacity:0}
#fsStars circle{fill:#e8e4cf;animation:fsTwinkle 3.4s ease-in-out infinite}
@keyframes fsTwinkle{0%,100%{opacity:.25}50%{opacity:.9}}

/* — madarak — */
.fs-fauna{position:absolute;inset:0}
.fs-bird{position:absolute;width:34px;height:20px;opacity:0}
.fs-bird .wing{stroke:#5c5546;animation:fsFlap .5s ease-in-out infinite alternate}
@keyframes fsFlap{from{d:path("M2 14 Q12 2 20 12 Q28 2 38 14")}to{d:path("M2 10 Q12 18 20 12 Q28 18 38 10")}}
.b1{top:14%;animation:fsFly1 34s linear infinite}
.b2{top:26%;animation:fsFly2 46s linear infinite 8s}
.b3{top:8%;width:26px;animation:fsFly1 41s linear infinite 17s}
@keyframes fsFly1{0%{left:-6%;opacity:0}4%{opacity:.8}50%{transform:translateY(-28px)}96%{opacity:.8}100%{left:104%;opacity:0}}
@keyframes fsFly2{0%{left:104%;opacity:0;transform:scaleX(-1)}4%{opacity:.7}55%{transform:scaleX(-1) translateY(22px)}96%{opacity:.7}100%{left:-6%;opacity:0;transform:scaleX(-1)}}

/* — lepkék — */
.fs-btf{position:absolute;width:16px;height:14px;opacity:0}
.fs-btf .w{position:absolute;top:2px;width:8px;height:11px;border-radius:60% 60% 45% 45%;background:#c98da4;opacity:.85}
.fs-btf .wl{left:0;transform-origin:right center;animation:btfL .34s ease-in-out infinite alternate}
.fs-btf .wr{right:0;transform-origin:left center;animation:btfR .34s ease-in-out infinite alternate}
@keyframes btfL{from{transform:rotateY(18deg)}to{transform:rotateY(72deg)}}
@keyframes btfR{from{transform:rotateY(-18deg)}to{transform:rotateY(-72deg)}}
.f1{bottom:44%;left:12%;animation:btfPath1 22s ease-in-out infinite}
.f2{bottom:38%;left:78%;animation:btfPath2 27s ease-in-out infinite 5s}
.f2 .w{background:#a3b06e}
.f3{bottom:50%;left:46%;animation:btfPath1 25s ease-in-out infinite 11s;transform:scale(.8)}
.f3 .w{background:#c9a86a}
@keyframes btfPath1{
  0%{transform:translate(0,0);opacity:0}5%{opacity:.9}
  25%{transform:translate(70px,-60px)}50%{transform:translate(-34px,-26px)}
  75%{transform:translate(92px,-84px)}95%{opacity:.9}100%{transform:translate(20px,0);opacity:0}
}
@keyframes btfPath2{
  0%{transform:translate(0,0);opacity:0}5%{opacity:.9}
  30%{transform:translate(-80px,-72px)}55%{transform:translate(24px,-32px)}
  80%{transform:translate(-100px,-90px)}95%{opacity:.9}100%{transform:translate(-12px,0);opacity:0}
}

/* — szentjánosbogarak (éjjel) — */
.fs-fly{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffe9a3;
  box-shadow:0 0 8px 3px rgba(255,233,163,.55);opacity:0}
.y1{bottom:26%;left:18%;animation:fsGlow 6s ease-in-out infinite, btfPath1 31s ease-in-out infinite}
.y2{bottom:34%;left:64%;animation:fsGlow 7s ease-in-out infinite 2s, btfPath2 37s ease-in-out infinite 3s}
.y3{bottom:22%;left:84%;animation:fsGlow 5.4s ease-in-out infinite 1s, btfPath1 29s ease-in-out infinite 9s}
.y4{bottom:38%;left:36%;animation:fsGlow 6.6s ease-in-out infinite 3s, btfPath2 33s ease-in-out infinite 6s}
.y5{bottom:30%;left:50%;animation:fsGlow 5.8s ease-in-out infinite 2.4s, btfPath1 35s ease-in-out infinite 14s}
@keyframes fsGlow{0%,100%{opacity:0}50%{opacity:.85}}

/* ============ NAPSZAKOK ============ */
body.tod-day .fs-fly{display:none}
body.tod-day #fsMoon{opacity:0}
body.tod-day #fsStars{opacity:0}

body.tod-dusk #fsSkyRect{fill:url(#fsSkyDusk)}
body.tod-dusk #fsSun{opacity:.55}
body.tod-dusk #fsMoon{opacity:.35}
body.tod-dusk #fsStars{opacity:.35}
body.tod-dusk .fs-back .fs-treeline path{fill:#b9ab93}
body.tod-dusk .fs-mid .fs-treeline path{fill:#94886e}
body.tod-dusk .fs-front .fs-treeline path{fill:#6f6550}
body.tod-dusk .fs-bird .wing{stroke:#4c4438}

body.tod-night #fsSkyRect{fill:url(#fsSkyNight)}
body.tod-night #fsSun{opacity:0}
body.tod-night #fsMoon{opacity:1}
body.tod-night #fsStars{opacity:1}
body.tod-night .fs-back .fs-treeline path{fill:#2a3a4e}
body.tod-night .fs-mid .fs-treeline path{fill:#20303f}
body.tod-night .fs-front .fs-treeline path{fill:#15222e}
body.tod-night .fs-bird{display:none}
body.tod-night .fs-btf{opacity:0;animation:none}
body.tod-night #fsHouse .hs-wall{fill:#3a4453;stroke:#232c38}
body.tod-night #fsHouse .hs-roof{fill:#232c38;stroke:#1a212b}
body.tod-night #fsHouse .hs-door{fill:#1c242e}
body.tod-night #fsHouse .hs-chimney{fill:#2c3542}
body.tod-night #fsHouse #hsWindow,body.tod-night #fsHouse .hs-window2{
  fill:#ffd98a;filter:drop-shadow(0 0 6px rgba(255,217,138,.8));
  animation:hsWarm 4s ease-in-out infinite}
@keyframes hsWarm{0%,100%{fill:#ffd98a}50%{fill:#ffcf6e}}

/* ============ ÜST-ANIMÁCIÓ ============ */
.cauldron{animation:cldBreathe 6s ease-in-out infinite;transform-origin:50% 90%}
@keyframes cldBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
.cauldron svg{overflow:visible}
.cauldron::after{content:"";position:absolute;left:50%;bottom:70px;width:90px;height:26px;
  transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(42,91,107,.5),transparent 70%);
  filter:blur(6px);animation:cldGlow 4s ease-in-out infinite;pointer-events:none}
@keyframes cldGlow{0%,100%{opacity:.45}50%{opacity:.9}}
.cld-bubble{fill:rgba(232,240,242,.55)}

/* ============ VARÁZSTÜKÖR ============ */
.magic-mirror{width:118px;margin:0 auto 22px;animation:mmFloat 7s ease-in-out infinite}
@keyframes mmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.magic-mirror svg{width:100%;height:auto;display:block;filter:drop-shadow(0 14px 24px rgba(30,40,50,.22))}
.mm-sheen{animation:mmSheen 5.5s ease-in-out infinite;transform-origin:80px 100px}
@keyframes mmSheen{0%,55%,100%{opacity:0;transform:translateX(-40px) rotate(8deg)}72%{opacity:1}88%{opacity:0;transform:translateX(44px) rotate(8deg)}}
.mm-mist ellipse{animation:mmMist 9s ease-in-out infinite}
.mm-mist ellipse:last-child{animation-delay:3.5s}
@keyframes mmMist{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}
.mm-star{animation:fsTwinkle 3s ease-in-out infinite}
.mm-star.s2{animation-delay:1s}.mm-star.s3{animation-delay:2s}

/* ============ KÁRTYA-ANIMÁCIÓK ============ */
.card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.card:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 22px 44px rgba(43,36,24,.18)}
.grid .card,.spreadrow .card{animation:cardDeal .6s cubic-bezier(.2,.7,.25,1.1) backwards}
.grid .card:nth-child(2),.spreadrow .card:nth-child(2){animation-delay:.07s}
.grid .card:nth-child(3),.spreadrow .card:nth-child(3){animation-delay:.14s}
.grid .card:nth-child(4),.spreadrow .card:nth-child(4){animation-delay:.21s}
.grid .card:nth-child(5),.spreadrow .card:nth-child(5){animation-delay:.28s}
.grid .card:nth-child(6),.spreadrow .card:nth-child(6){animation-delay:.35s}
.grid .card:nth-child(7),.spreadrow .card:nth-child(7){animation-delay:.42s}
@keyframes cardDeal{
  from{opacity:0;transform:translateY(26px) rotateY(28deg) scale(.94)}
  to{opacity:1;transform:translateY(0) rotateY(0) scale(1)}
}
.scroll .emblem{animation:embFloat 6s ease-in-out infinite}
@keyframes embFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ============ KÁRTYALEÍRÁS (scroll modal) — tipográfiai rend ============ */
:is(#awen-cast,*) .scroll .mh{text-align:center !important;margin:18px 0 22px !important}
:is(#awen-cast,*) .scroll .mh .no{
  font-size:var(--t-caption) !important;line-height:1.33 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;color:var(--gold);font-weight:600 !important;text-align:center !important}
:is(#awen-cast,*) .scroll .mh h3{
  font-size:var(--t-h3) !important;line-height:1.14 !important;
  letter-spacing:-.01em !important;font-weight:700 !important;margin:10px 0 8px !important;text-align:center !important}
:is(#awen-cast,*) .scroll .mh .st{
  font-size:var(--t-lede) !important;line-height:1.381 !important;
  letter-spacing:-.011em !important;color:var(--mist);text-align:center !important}
:is(#awen-cast,*) .scroll .kwrow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 26px !important}
:is(#awen-cast,*) .scroll section{margin:0 0 24px !important}
:is(#awen-cast,*) .scroll section h5{
  font-size:var(--t-caption) !important;line-height:1.33 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;color:var(--gold);
  font-weight:600 !important;margin:0 0 6px !important}
:is(#awen-cast,*) .scroll section p{
  font-size:var(--t-body) !important;line-height:1.47 !important;
  letter-spacing:-.014em !important;margin:0 !important}
:is(#awen-cast,*) .scroll .aff{
  text-align:center;font-size:var(--t-lede) !important;line-height:1.381 !important;
  letter-spacing:-.011em !important;font-style:italic;color:var(--gold);
  margin-top:30px !important;padding-top:22px;border-top:1px solid rgba(201,168,106,.35)}

/* ============ INGA: IGEN–NEM láthatóan ============ */
#qaChart .wedge{fill:rgba(231,222,204,.55);stroke:rgba(201,168,106,.4);stroke-width:1;transition:fill .4s}
#qaChart .wedge.sel{fill:rgba(201,168,106,.3);stroke:var(--gold)}
#qaChart .wlabel,#pendulumChart .wlabel{fill:#4c4438;font-family:var(--f-ui);font-weight:700;letter-spacing:.08em}
#qaChart .wlabel{font-size:17px}
#qaChart .wlabel.sel,#pendulumChart .wlabel.sel{fill:var(--gold)}

/* ============ reduced motion ============ */
@media (prefers-reduced-motion:reduce){
  #forestScene *,.cauldron,.cauldron::after,.magic-mirror,.mm-sheen,.mm-mist ellipse,
  .card,.grid .card,.spreadrow .card,.scroll .emblem{animation:none !important;transition:none !important}
}
@media (max-width:700px){
  #forestScene{height:300px}
  .fs-back{height:58%}.fs-mid{height:48%}.fs-front{height:36%}
  .magic-mirror{width:96px}
}


/* ==================== 2026-07-08 technikai stabilizálás ==================== */
/* A későbbi erdei-jelenet szabály korábban position:relative értékre írta át
   a modált. A lexikon tartalma ezért a dokumentum alján, a nézeten kívül nyílt meg. */
.veil{
  position:fixed !important;
  inset:0 !important;
  z-index:10080 !important;
  width:100vw;
  min-height:100dvh;
  padding:max(18px,5dvh) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  overscroll-behavior:contain;
}
.veil.on{display:flex !important}
.veil .scroll{
  max-height:calc(100dvh - max(36px,10dvh));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
body.modal-open{overflow:hidden !important}

/* Élő, de visszafogott háttérpontok: kisebb elemszám mobilon, GPU-barát transzformáció. */
#stars{width:100vw;height:100dvh;overflow:hidden}
#stars .ambient-dot{
  fill:rgba(163,124,44,.48);
  opacity:var(--opacity,.22);
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform,opacity;
  animation:
    ambientDotDrift var(--duration,18s) ease-in-out var(--delay,0s) infinite alternate,
    ambientDotPulse var(--pulse,5s) ease-in-out var(--delay,0s) infinite;
}
@keyframes ambientDotDrift{
  from{transform:translate3d(0,0,0) scale(.92)}
  to{transform:translate3d(var(--dx,12px),var(--dy,-16px),0) scale(1.08)}
}
@keyframes ambientDotPulse{
  0%,100%{opacity:.07}
  50%{opacity:var(--opacity,.22)}
}
@media(max-width:680px){
  #stars .ambient-dot{fill:rgba(163,124,44,.42)}
  .veil{align-items:flex-start;padding-top:max(12px,env(safe-area-inset-top))}
  .veil .scroll{max-height:calc(100dvh - 24px);padding:38px 18px 26px}
}
@media(prefers-reduced-motion:reduce){
  #stars .ambient-dot{animation:none !important;opacity:.16 !important;will-change:auto}
}


/* ===== Full technical hardening 2026-07-08 ===== */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important
}
.jactions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.journal-file-input{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}
.jmeta{font-size:.76rem;line-height:1.5;color:var(--mist);margin-top:8px;overflow-wrap:anywhere}
.view{content-visibility:auto;contain-intrinsic-size:900px}
#veil.on{content-visibility:visible}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{
  animation-play-state:paused!important;transition-duration:0.001ms!important
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}
}

/* Per-result AI explanation prompts */
.result-ai-prompt{margin-top:18px;padding:14px 16px;border:1px solid rgba(163,124,44,.28);border-radius:16px;background:rgba(255,255,255,.48)}
.result-ai-prompt summary{cursor:pointer;font-weight:650;color:var(--gold);letter-spacing:.01em}
.result-ai-prompt p{margin:10px 0;color:var(--muted);font-size:.92rem;line-height:1.55}
.result-ai-text{width:100%;min-height:240px;resize:vertical;border:1px solid rgba(80,70,60,.18);border-radius:12px;padding:12px;background:rgba(255,255,255,.78);color:var(--ink);font:500 .84rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.result-ai-copy{margin-top:10px}
.result-ai-status{margin-left:10px;font-size:.86rem;color:var(--gold)}
@media(max-width:640px){.result-ai-prompt{padding:12px}.result-ai-text{min-height:280px;font-size:.78rem}.result-ai-copy{width:100%}.result-ai-status{display:block;margin:8px 0 0}}


.shadow-incantation{margin-top:18px;padding:18px;border:1px solid rgba(212,175,55,.28);border-radius:18px;background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(255,255,255,.025))}.shadow-incantation h5{margin:0 0 10px;color:var(--gold)}.shadow-incantation__text{font-family:var(--f-serif);font-size:1.05rem;line-height:1.65;color:var(--blossom)}.shadow-intent-status{min-height:1.5em;margin-top:10px;color:var(--gold-soft);font-size:.9rem}.shadow-intent-btn.is-active{transform:scale(.98);filter:brightness(1.15)}

/* ==================== 2026-07-10 iPhone UI hibajavítás ==================== */
/* Lexikon/modál: nagy, jól látható, safe-area alatt maradó bezárás. */
.veil .scroll{position:relative!important;scrollbar-gutter:stable both-edges}
.veil .scroll .close{
  position:sticky!important;
  top:max(8px,env(safe-area-inset-top))!important;
  margin-left:auto!important;
  right:auto!important;
  z-index:50!important;
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  border:1px solid rgba(163,124,44,.32)!important;
  background:rgba(255,255,255,.96)!important;
  color:#171512!important;
  font-size:32px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:0 8px 28px rgba(20,16,10,.18)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
}
.veil .scroll .close:focus-visible{outline:3px solid rgba(163,124,44,.5)!important;outline-offset:3px}

/* Inga SVG: a szélső feliratok ne lógjanak ki a félkörből. */
#pendulumChart{overflow:visible!important;padding-inline:8px;box-sizing:border-box}
#pendulumChart .wlabel{font-size:9.5px!important;letter-spacing:.015em!important}

/* A harmadik tisztítás után a kártyák maradjanak nyitva és stabilan láthatók. */
#pendulumClear{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}
#pendulumClear .dk-energy{display:block!important;height:auto!important;min-height:0!important;opacity:1!important;visibility:visible!important}
#pendulumClear .pendulum-cleared{opacity:.72!important;max-height:none!important;transform:none!important}
.pendulum-clearing-complete{margin-top:18px;padding:20px;border:1px solid rgba(163,124,44,.24);border-radius:20px;background:rgba(255,255,255,.66);text-align:center}
.pendulum-clearing-complete p{margin:8px auto 16px;max-width:620px}

/* Rituálé állapotsáv: mobilon ne torlódjon és ne fusson ki. */
.ritual-ok{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important;line-height:1.45!important}
.ritual-ok .rg-quick,.ritual-ok .rg-renew{white-space:normal!important;overflow-wrap:anywhere!important}

/* Haladó beállítás összecsukó gomb: cím és ikon ne fedje egymást. */
.soft-detail>summary{grid-template-columns:minmax(0,1fr) 48px!important;column-gap:12px!important}
.soft-detail>summary::after{width:44px!important;height:44px!important;min-width:44px!important;display:grid!important;place-items:center!important;justify-self:end!important}
.soft-detail>summary .summary-title{padding-right:0!important;overflow-wrap:break-word!important}

@media(max-width:640px){
  .veil{padding:0!important;align-items:stretch!important}
  .veil .scroll{width:100%!important;max-width:none!important;max-height:100dvh!important;border-radius:0!important;padding:10px 18px calc(28px + env(safe-area-inset-bottom))!important}
  .veil .scroll .close{top:calc(8px + env(safe-area-inset-top))!important;margin-right:2px!important}
  #pendulumChart{width:calc(100% - 8px)!important;margin-inline:auto!important}
  #pendulumChart .wlabel{font-size:8.6px!important}
  .ritual-ok{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:16px!important;text-align:left!important}
  .ritual-ok .rg-quick,.ritual-ok .rg-renew{display:block!important;width:100%!important;margin:0!important;padding:11px 12px!important;text-align:center!important;border-radius:12px!important}
  .soft-detail>summary{grid-template-columns:minmax(0,1fr) 46px!important;padding:16px!important;text-align:left!important}
  .soft-detail>summary .summary-title{font-size:clamp(1rem,4.4vw,1.18rem)!important;line-height:1.28!important}
}


/* ==================== 2026-07-10 teljes felület-audit javításai ==================== */
html,body{max-width:100%;overflow-x:clip}
button,input,textarea,select,summary{touch-action:manipulation}
button,.btn,[role="button"],summary{min-height:44px}
:focus-visible{outline:3px solid rgba(163,124,44,.55);outline-offset:3px}
img,svg,video,canvas{max-width:100%}
.searchrow input,.searchrow textarea{font-size:16px!important}

/* Modál bezárása mindig a látható jobb felső sarokban. */
.veil .scroll .close{
  position:fixed!important;
  top:calc(12px + env(safe-area-inset-top))!important;
  right:calc(12px + env(safe-area-inset-right))!important;
  margin:0!important;
}
.veil .scroll{padding-top:calc(72px + env(safe-area-inset-top))!important}

/* Inga táblák: mobilon a szélső szövegek ne vágódjanak le. */
.pendulum-stage{overflow:hidden}
#pendulumChart,#qaChart{display:block;width:min(100%,520px)!important;height:auto!important;margin-inline:auto!important;overflow:visible!important}
#pendulumChart .wlabel,#qaChart .wlabel{paint-order:stroke;stroke:rgba(255,255,255,.82);stroke-width:2px;stroke-linejoin:round}

/* A tisztítási eredménykártyák állapota nem omlik össze. */
#pendulumClear,#pendulumClear *{box-sizing:border-box}
#pendulumClear .dk-energy{contain:none!important;content-visibility:visible!important}
#pendulumClear .pendulum-cleared{display:block!important;max-height:none!important;overflow:visible!important;opacity:.82!important}
#pendulumClear .pendulum-one-clear[disabled]{pointer-events:none}

/* Összecsukható panelek és állapotsávok mobilon. */
.soft-detail>summary{align-items:center!important}
.ritual-ok{word-break:normal;overflow-wrap:anywhere}
.ritual-ok button{min-width:0}

@media(max-width:640px){
  .wrap,.view{max-width:100%!important}
  .view{overflow-x:clip}
  .pendulum-stage,.panel,.soft-detail,.reading,.dk-energy{max-width:100%!important}
  #pendulumChart,#qaChart{width:100%!important;padding-inline:16px!important}
  #pendulumChart .wlabel,#qaChart .wlabel{font-size:8px!important;letter-spacing:0!important}
  .veil .scroll{padding-inline:18px!important;padding-bottom:calc(36px + env(safe-area-inset-bottom))!important}
  .result-ai-text{max-width:100%;min-height:220px}
  .controls{display:grid!important;grid-template-columns:1fr!important}
  .controls>.btn,.controls>button{width:100%!important}
  .ritual-ok{padding:14px!important}
  .ritual-ok .rg-quick,.ritual-ok .rg-renew{font-size:.95rem!important}
  .soft-detail>summary{padding:14px 16px!important}
}

/* 2026-07-10 supplied chart system + ritual persistence */
.ritual-gate.is-complete{display:block!important}.ritual-gate.is-complete .rg-text{min-height:6.5em}.pendulum-method{margin:18px 0}.pendulum-clearing-complete{display:block!important;max-height:none!important;overflow:visible!important}.pendulum-one-clear{touch-action:manipulation}

/* Pendulum chart readability: full labels remain available below dense charts. */
.pendulum-chart-key{margin:10px auto 16px;max-width:560px;text-align:left}
.pendulum-chart-key[hidden]{display:none!important}
.pendulum-key-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 8px;font-weight:700}
.pendulum-key-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.pendulum-key-item{appearance:none;border:1px solid rgba(163,124,44,.22);background:rgba(255,255,255,.72);border-radius:12px;padding:9px 10px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;text-align:left;color:inherit;font:inherit;min-width:0;cursor:pointer}
.pendulum-key-item span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(163,124,44,.12);color:#7c5a18;font-size:12px;font-weight:800}
.pendulum-key-item b{font-size:13px;line-height:1.3;font-weight:650;overflow-wrap:anywhere;hyphens:auto}
.pendulum-key-item.sel{border-color:var(--gold);background:rgba(201,168,106,.18);box-shadow:0 0 0 2px rgba(201,168,106,.12)}
.pendulum-key-item.sel span{background:var(--gold);color:#fff}
@media(max-width:700px){
  #pendulumChart{padding-inline:4px!important}
  #pendulumChart .wlabel{font-size:9px!important;stroke-width:2.4px!important}
  .pendulum-chart-key{margin-top:4px}
  .pendulum-key-list{grid-template-columns:1fr;max-height:248px;overflow:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin}
  .pendulum-key-item{min-height:46px;padding:8px 9px}
  .pendulum-key-item b{font-size:14px;line-height:1.35}
}
@media(min-width:701px){.pendulum-key-item:hover{border-color:rgba(163,124,44,.55);background:#fff}}


/* 2026-07-11 — guided flow arrows + entry/exit protocol */
.flow-down-arrow{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:18px auto 8px;border:1px solid rgba(163,124,44,.26);border-radius:50%;background:rgba(255,255,255,.82);color:var(--gold);font-size:26px;line-height:1;box-shadow:0 8px 24px rgba(38,28,16,.08);cursor:pointer;animation:flowArrowPulse 1.8s ease-in-out infinite}
.flow-down-arrow:hover,.flow-down-arrow:focus-visible{transform:translateY(2px);border-color:var(--gold);outline:none}
@keyframes flowArrowPulse{0%,100%{transform:translateY(0);opacity:.72}50%{transform:translateY(6px);opacity:1}}
.flow-target{outline:3px solid rgba(201,168,106,.34)!important;outline-offset:6px;transition:outline-color .5s ease}
.srt-protocol-card,.srt-identity,.srt-add-subject,.srt-clearing,.srt-closing-formula{max-width:760px;margin:18px auto!important}
.srt-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:800;margin-bottom:8px}
.srt-needs-clear{border-color:rgba(160,68,90,.34)!important}
.srt-identity label,.srt-add-subject label{display:block;font-weight:700;margin:12px 0 6px}
.srt-identity input,.srt-add-subject input{width:100%;min-height:48px;border:1px solid rgba(163,124,44,.24);border-radius:14px;padding:12px 14px;font:inherit;background:#fff}
.srt-choice-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.srt-extra-name{margin-top:16px}.srt-extra-name[hidden]{display:none!important}
#pendulumFound:empty{display:none!important}
@media(max-width:700px){.flow-down-arrow{width:44px;height:44px;margin:14px auto 6px}.srt-choice-row{display:grid;grid-template-columns:1fr}.srt-choice-row .btn{width:100%}.srt-protocol-card,.srt-identity,.srt-add-subject,.srt-clearing,.srt-closing-formula{margin:14px 0!important}}
@media(prefers-reduced-motion:reduce){.flow-down-arrow{animation:none}}

/* ============================================================
   2026-07-11 — teljes szélességű, Apple-jellegű mobil térhasználat
   Cél: a rendelkezésre álló szélesség kihasználása, következetes
   oldalsó biztonsági térrel és egymásra rakódó belső margók nélkül.
   ============================================================ */
:root{
  --mobile-gutter:clamp(16px,4.8vw,22px);
  --mobile-card-pad:clamp(16px,4.8vw,22px);
}

@media (max-width:700px){
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-padding-top:82px;
  }
  body{
    width:100%;
    min-width:0;
    overflow-x:clip;
  }

  /* Egyetlen, következetes külső margó. */
  .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:max(var(--mobile-gutter),env(safe-area-inset-left))!important;
    padding-right:max(var(--mobile-gutter),env(safe-area-inset-right))!important;
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
  }
  .view,
  .view.on{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-inline:0!important;
  }

  /* A fejlécek és bevezetők is a teljes hasznos szélességet kapják. */
  header.site,
  .gate-hero,
  .gate-step,
  .simple-path,
  p.lede,
  .prose,
  .small-note,
  .rune-sub,
  .awen-meaning{
    width:100%!important;
    max-width:none!important;
  }
  header.site{padding-inline:0!important}
  h2.rune{font-size:clamp(2rem,9vw,2.8rem);line-height:1.06;overflow-wrap:anywhere}
  h3.sect{font-size:clamp(1.55rem,7vw,2rem);line-height:1.12;overflow-wrap:anywhere}
  p.lede{font-size:clamp(1.02rem,4.7vw,1.18rem);line-height:1.48}
  .small-note{font-size:clamp(.94rem,4.1vw,1.02rem);line-height:1.52}

  /* Ne legyen dupla oldalsó behúzás az egymásba ágyazott blokkoknál. */
  :is(
    .panel,.soft-detail,.accordion,.priestess,.ritual-gate,.ritual-ok,
    .simple-path,.reading,.reading-card,.dk-energy,.ai-prompt-copy,
    .result-ai-prompt,.srt-protocol-card,.srt-identity,.srt-add-subject,
    .srt-clearing,.srt-closing-formula,.pendulum-clearing-complete,
    #pendulumBless,.question-refiner,.reco
  ){
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* Kártyák: Apple-szerű, tágas, de nem pazarló belső tér. */
  :is(
    .panel,.ritual-gate,.ritual-ok,.simple-path,.priestess,.dk-energy,
    .result-ai-prompt,.ai-prompt-copy,.srt-protocol-card,.srt-identity,
    .srt-add-subject,.srt-clearing,.srt-closing-formula,
    .pendulum-clearing-complete,#pendulumBless,.question-refiner,.reco
  ){
    padding-left:var(--mobile-card-pad)!important;
    padding-right:var(--mobile-card-pad)!important;
    border-radius:24px!important;
  }

  /* Az összecsukható blokkok fejléce és teste ugyanarra a rácsra áll. */
  .soft-detail>summary,
  .accordion>summary{
    width:100%!important;
    padding:16px var(--mobile-card-pad)!important;
    box-sizing:border-box!important;
  }
  .soft-detail__body,
  .accordion-body{
    width:100%!important;
    max-width:none!important;
    padding-left:var(--mobile-card-pad)!important;
    padding-right:var(--mobile-card-pad)!important;
    box-sizing:border-box!important;
  }

  /* Inga: a grafika és a jelmagyarázat használja a teljes kártyaszélességet. */
  .pendulum-stage{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  #pendulumChart,#qaChart{
    width:100%!important;
    max-width:520px!important;
    padding-inline:0!important;
  }
  .pendulum-chart-key,
  .pendulum-key-list,
  .pendulum-status{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .pendulum-key-list{padding-right:0!important}
  .pendulum-key-item{width:100%!important}

  /* Űrlapok és gombok: teljes szélesség, egységes belső margó. */
  .searchrow,
  .searchrow input,
  .searchrow textarea,
  .gate-step textarea,
  .priestess textarea,
  .result-ai-text,
  .ai-prompt-copy textarea,
  .srt-identity input,
  .srt-add-subject input{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .searchrow input,
  .searchrow textarea,
  .gate-step textarea,
  .priestess textarea,
  .srt-identity input,
  .srt-add-subject input{
    padding-left:16px!important;
    padding-right:16px!important;
    border-radius:14px!important;
  }
  .controls,
  .gate-nav,
  .postdraw,
  .srt-choice-row{
    width:100%!important;
    max-width:none!important;
    gap:10px!important;
  }
  .controls>.btn,
  .controls>button,
  .gate-nav>.btn,
  .postdraw>.btn,
  .srt-choice-row>.btn,
  .result-ai-copy{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
    white-space:normal!important;
  }

  /* Eredmény- és tisztításkártyák: nincs fölösleges második behúzás. */
  .reading{padding-inline:0!important}
  .reading-card{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:18px var(--mobile-card-pad)!important;
    border-left:0!important;
    border:1px solid rgba(163,124,44,.2)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.68)!important;
  }
  .reading-card :is(p,h4,.meta,.aff){max-width:none!important;overflow-wrap:anywhere}

  /* Rácsok mobilon egy oszlopon használják ki a rendelkezésre álló teret. */
  .houses,.spreads,.sit-grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:12px!important;
  }
  .house-card,.spread-btn,.sit-btn{width:100%!important;max-width:none!important}

  /* A navigáció ne adjon hozzá extra vízszintes szűkítést. */
  nav.tabs{
    width:calc(100% + (2 * var(--mobile-gutter)))!important;
    margin-left:calc(-1 * var(--mobile-gutter))!important;
    margin-right:calc(-1 * var(--mobile-gutter))!important;
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
    box-sizing:border-box!important;
  }

  /* Hosszú címek, programnevek és AI-szövegek ne futhassanak ki. */
  :is(h1,h2,h3,h4,p,li,label,summary,button,.pendulum-status,.srt-kicker,.result-ai-prompt){
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }

  /* Dekoratív elválasztók ne vegyenek el feleslegesen sok helyet. */
  .divider{margin:34px 0!important}
  .divider::before,.divider::after{width:min(96px,26vw)!important}
}

@media (max-width:390px){
  :root{--mobile-gutter:16px;--mobile-card-pad:16px}
  h2.rune{font-size:clamp(1.9rem,9.6vw,2.35rem)}
  h3.sect{font-size:clamp(1.4rem,7.4vw,1.8rem)}
}


/* =========================================================
   KIDS INNER COMPASS — mobile-first, playful and grounded
   ========================================================= */
.kids-pendulum-view{--kids-blue:#4b74d9;--kids-purple:#7257c8;--kids-sun:#f0b63f;--kids-mint:#4ca987;--kids-ink:#202124}
.kids-hero{text-align:center;max-width:760px;margin:0 auto 28px;padding:clamp(20px,5vw,38px);border-radius:30px;background:linear-gradient(145deg,rgba(75,116,217,.10),rgba(240,182,63,.10));border:1px solid rgba(75,116,217,.16)}
.kids-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff;font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--kids-purple);box-shadow:0 8px 24px rgba(30,40,80,.08)}
.kids-mascot{font-size:clamp(3.4rem,12vw,5.5rem);line-height:1;margin:18px 0 8px;filter:drop-shadow(0 10px 16px rgba(40,50,100,.14))}
.kids-lede{max-width:640px;margin:16px auto 0;font-size:clamp(1rem,2.8vw,1.16rem);line-height:1.65;color:var(--body-ink)}
.kids-parent-note{max-width:760px;margin:0 auto 24px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.74);border:1px solid rgba(0,0,0,.08);font-size:.9rem;line-height:1.55}
.kids-card,.kids-result{max-width:760px;margin:0 auto 22px;padding:clamp(20px,5vw,34px);border-radius:28px;background:rgba(255,255,255,.90);border:1px solid rgba(80,90,120,.12);box-shadow:0 18px 48px rgba(35,45,80,.09)}
.kids-card[hidden],.kids-result[hidden]{display:none!important}
.kids-step{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--kids-purple);margin-bottom:8px}
.kids-card h3,.kids-result h3{font-size:clamp(1.45rem,5vw,2rem);line-height:1.18;margin:0 0 10px;color:var(--kids-ink)}
.kids-card p,.kids-result p{font-size:1rem;line-height:1.6;margin:0 0 18px}
.kids-label{display:block;font-weight:750;margin:18px 0 8px}
.kids-card textarea{width:100%;min-height:116px;resize:vertical;border:1px solid rgba(70,80,110,.22);border-radius:18px;padding:16px;font:inherit;font-size:16px;line-height:1.5;background:#fff;color:var(--kids-ink);margin-bottom:16px}
.kids-primary{width:100%;background:linear-gradient(135deg,var(--kids-blue),var(--kids-purple));border-color:transparent;color:#fff}
.kids-feelings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kids-feelings button{min-height:58px;padding:12px;border-radius:18px;border:1px solid rgba(75,116,217,.18);background:#fff;font:inherit;font-weight:750;font-size:1rem;color:var(--kids-ink);box-shadow:0 8px 20px rgba(30,40,80,.06);cursor:pointer}
.kids-feelings button:hover,.kids-feelings button:focus-visible,.kids-feelings button.on{border-color:var(--kids-blue);background:rgba(75,116,217,.09);transform:translateY(-1px)}
.kids-compass{display:flex;justify-content:center;margin:20px 0}
.kids-compass__ring{position:relative;width:min(78vw,330px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 28%,rgba(255,255,255,.86) 29% 49%,rgba(75,116,217,.10) 50% 100%);border:2px solid rgba(75,116,217,.24);box-shadow:inset 0 0 0 10px rgba(255,255,255,.52),0 16px 40px rgba(40,60,110,.12)}
.kids-compass__dot{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:var(--kids-sun);transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 0 6px rgba(240,182,63,.18)}
.kids-needle{position:absolute;left:50%;top:50%;width:4px;height:39%;border-radius:4px;background:linear-gradient(to top,var(--kids-purple),var(--kids-sun));transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg);transition:transform 1.35s cubic-bezier(.2,.85,.2,1);z-index:2}
.kc-label{position:absolute;font-size:clamp(.72rem,2.5vw,.88rem);font-weight:800;color:#42465b;max-width:30%;text-align:center;line-height:1.1}
.kc-1{top:8%;left:50%;transform:translateX(-50%)}.kc-2{top:25%;right:4%}.kc-3{bottom:24%;right:4%}.kc-4{bottom:8%;left:50%;transform:translateX(-50%)}.kc-5{bottom:24%;left:4%}.kc-6{top:25%;left:4%}
.kids-status{text-align:center;margin-top:14px;font-weight:700;color:var(--kids-purple)}
.kids-result{border-color:rgba(76,169,135,.26);background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(76,169,135,.08))}
.kids-result__icon{font-size:3rem;line-height:1;margin-bottom:12px}.kids-result__tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(76,169,135,.13);color:#27795e;font-weight:800;font-size:.8rem;margin-bottom:12px}
.kids-result__action{padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(76,169,135,.2);margin:16px 0;font-weight:700;line-height:1.5}
.kids-result__buttons{display:flex;gap:10px;flex-wrap:wrap}.kids-result__buttons .btn{flex:1 1 220px}
@media(max-width:560px){.kids-hero,.kids-card,.kids-result{border-radius:22px}.kids-feelings{grid-template-columns:1fr 1fr;gap:9px}.kids-feelings button{font-size:.93rem;padding:10px 8px}.kids-parent-note{font-size:.84rem}.kids-compass__ring{width:min(84vw,310px)}}
@media(prefers-reduced-motion:reduce){.kids-needle,.kids-feelings button{transition:none!important}}

/* =========================================================
   EXPERIENCE 2.0 — progress, sound, milestones, summaries
   ========================================================= */
.experience-toolbar{max-width:1180px;margin:12px auto 22px;padding:14px clamp(16px,3vw,24px);border:1px solid rgba(163,124,44,.15);border-radius:22px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px 20px;align-items:center}
.experience-progress{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:10px;align-items:center;font-size:.78rem;font-weight:750}.experience-progress__track{height:6px;border-radius:99px;background:rgba(0,0,0,.08);overflow:hidden}.experience-progress__track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#7c6742);transition:width .5s ease}.experience-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.experience-chip{min-height:40px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:999px;padding:8px 13px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.experience-safety{grid-column:1/-1;margin:0;font-size:.76rem;line-height:1.45;color:var(--muted,#666)}
.experience-modal{position:fixed;inset:0;z-index:99999;background:rgba(15,16,20,.55);display:none;place-items:center;padding:20px}.experience-modal.is-open{display:grid}.experience-modal__card{position:relative;width:min(620px,100%);max-height:min(82vh,700px);overflow:auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.25)}.experience-modal__close{position:absolute;right:14px;top:14px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:1.8rem;line-height:1;cursor:pointer}.experience-badges{display:grid;gap:12px;margin-top:20px}.experience-badge{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:18px;opacity:.42}.experience-badge.is-earned{opacity:1;background:rgba(201,168,106,.09);border-color:rgba(163,124,44,.25)}.experience-badge>span{font-size:2rem}.experience-badge h3,.experience-badge p{margin:0}.experience-badge p{font-size:.88rem;margin-top:3px}
.experience-summary{max-width:760px;margin:0 auto 28px;padding:clamp(20px,4vw,32px);border:1px solid rgba(163,124,44,.18);border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(201,168,106,.08))}.experience-summary__eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a6337}.experience-summary h2{margin:.2em 0 .45em}.experience-summary ul{padding-left:1.2rem}.experience-next{margin-top:16px;padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.07)}.experience-next p{margin:.4em 0 0}.guided-breath{display:grid;gap:5px;margin:0 0 14px;padding:14px 16px;border-radius:16px;background:rgba(76,169,135,.09);border:1px solid rgba(76,169,135,.17);font-size:.9rem;line-height:1.45}
@media(max-width:700px){.experience-toolbar{margin:10px var(--mobile-gutter,16px) 18px;grid-template-columns:1fr;border-radius:20px;padding:13px 14px}.experience-actions{justify-content:stretch}.experience-chip{flex:1}.experience-progress{grid-template-columns:auto minmax(70px,1fr) auto}.experience-modal{padding:10px}.experience-modal__card{border-radius:22px;padding:24px 18px}.experience-safety{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.experience-progress__track i{transition:none}}

/* 2026-07-11 audit hardening */
html{overflow-wrap:anywhere;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body.modal-open{overflow:hidden}
noscript{display:block;margin:16px auto;padding:12px 16px;max-width:72rem;background:#fff3cd;color:#4f3d00;border:1px solid #ead48a;border-radius:12px}
.experience-modal__card:focus{outline:none}
.experience-progress[role="progressbar"]{min-width:0}
.experience-progress__track{overflow:hidden}
.experience-progress__track>i{display:block;min-height:100%;transition:width .35s ease}
.experience-modal__close{width:48px!important;height:48px!important;min-width:48px!important;display:grid!important;place-items:center!important;font-size:30px!important;line-height:1!important}
@media (max-width:700px){
  .experience-toolbar{width:calc(100% - 32px)!important;margin-inline:16px!important;padding:14px!important}
  .experience-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .experience-chip{min-height:44px;white-space:normal}
  .experience-safety{font-size:13px;line-height:1.45}
  .experience-modal{padding:env(safe-area-inset-top,0) 12px env(safe-area-inset-bottom,0)!important}
  .experience-modal__card{width:100%!important;max-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0) - 24px)!important;overflow:auto}
}
@media (prefers-reduced-motion:reduce){.experience-progress__track>i{transition:none!important}}

/* =========================================================
   2026-07-11 FULL RESPONSIVE TYPOGRAPHY + ENTRY WIZARD
   Apple-inspired scale, rhythm and spacing
   ========================================================= */
:root{--page-max:1280px;--content-max:980px;--reading-max:760px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--type-body:clamp(16px,1.15vw,19px);--type-small:clamp(13px,.9vw,15px);--type-h4:clamp(22px,2vw,30px);--type-h3:clamp(28px,3vw,44px);--type-h2:clamp(38px,5vw,68px);--type-h1:clamp(48px,7vw,92px)}
html{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;scroll-padding-top:92px}
body{font-size:var(--type-body);line-height:1.55;letter-spacing:-.012em}
p,li,label,input,textarea,button,summary{line-height:1.55}
h1,h2,h3,h4{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:var(--type-h1);line-height:1.02}h2,.rune{font-size:var(--type-h2);line-height:1.08}h3,.sect{font-size:var(--type-h3);line-height:1.12}h4{font-size:var(--type-h4);line-height:1.18}
.small-note,.caption,.srt-kicker,.srt-step-label{font-size:var(--type-small);line-height:1.45}
.view{width:min(100%,var(--page-max));margin-inline:auto;padding-block:clamp(32px,6vw,80px)}
.view>*,.view .reading,.view .pendulum-method{max-width:var(--content-max);margin-inline:auto}.view :is(p,li){max-width:72ch}
.dk-energy,.reading-card,.pendulum-stage,.soft-detail,.accordion,.srt-wizard-card{border-radius:clamp(20px,2.2vw,30px)}
.dk-energy,.srt-wizard-card{padding:clamp(22px,3.5vw,44px)}
.srt-wizard-card{width:min(100%,820px);margin-inline:auto;background:rgba(255,255,255,.9);box-shadow:0 22px 70px rgba(28,25,20,.09);border:1px solid rgba(148,115,57,.16)}
.srt-step-label{font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark,#8b671f);margin-bottom:10px}
.srt-wizard-card label{display:block;font-weight:700;margin:24px 0 8px}.srt-wizard-card input{width:100%;min-height:58px;padding:14px 16px;font:inherit;font-size:16px;border-radius:16px;border:1px solid rgba(0,0,0,.14);background:#fff}
.srt-inline-start,.srt-prep-next{width:100%;margin-top:18px;min-height:56px}.srt-inline-start:disabled{opacity:.38;cursor:not-allowed}
.srt-progress{display:grid;gap:10px;margin-bottom:28px;font-size:14px;font-weight:700;color:#70592f}.srt-progress>i{display:block;height:6px;background:rgba(0,0,0,.08);border-radius:99px;overflow:hidden}.srt-progress>i>b{display:block;height:100%;background:linear-gradient(90deg,#a87b23,#d1b06d);border-radius:inherit;transition:width .35s ease}
.srt-prep-icon{font-size:clamp(44px,6vw,72px);line-height:1;margin:4px 0 22px;color:#a87b23}.srt-prep-card{text-align:left}.srt-prep-card p{font-size:clamp(17px,1.35vw,21px);line-height:1.62}
.flow-down-arrow{display:none!important}.flow-down-arrow--singleton{display:grid!important;position:fixed!important;left:50%!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;z-index:8000!important;width:50px!important;height:50px!important;border-radius:50%!important;border:1px solid rgba(158,118,39,.28)!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px)!important;place-items:center!important;color:#9b7428!important;font-size:22px!important;box-shadow:0 12px 34px rgba(0,0,0,.12)!important}.flow-down-arrow--singleton[hidden]{display:none!important}
section,.simple-path,.ritual-gate,.ritual-ok,.pendulum-stage,.reading:not(:empty),.integration-panel{scroll-margin-top:100px}
@media (min-width:900px){.view{padding-inline:clamp(28px,4vw,64px)}.pendulum-stage{padding:clamp(28px,4vw,52px)}.reading:not(:empty){margin-top:var(--space-6)}}
@media (max-width:899px){:root{--mobile-gutter:clamp(16px,4.6vw,22px);--mobile-card-pad:clamp(17px,4.8vw,22px)}body{font-size:16px;line-height:1.55}.view{width:100%;padding:28px var(--mobile-gutter) 64px}.view>*{max-width:100%}.view :is(p,li){max-width:none}h1{font-size:clamp(42px,12vw,60px)}h2,.rune{font-size:clamp(34px,9.5vw,48px)}h3,.sect{font-size:clamp(27px,7.4vw,36px)}h4{font-size:clamp(21px,5.7vw,27px)}.dk-energy,.reading-card,.pendulum-stage,.soft-detail,.accordion,.srt-wizard-card{width:100%!important;max-width:none!important;margin-inline:0!important;padding:var(--mobile-card-pad)!important;border-radius:22px!important}.srt-wizard-card{box-shadow:0 14px 40px rgba(28,25,20,.08)}.srt-wizard-card input{min-height:56px;border-radius:14px}.btn,button{min-height:48px}.pendulum-stage svg{width:100%;height:auto;max-height:none}.pendulum-chart-key{font-size:15px;line-height:1.5}.accordion-body{padding-inline:0}.divider{margin-block:32px!important}}
@media (max-width:420px){:root{--mobile-gutter:16px;--mobile-card-pad:17px}.view{padding-top:22px}.srt-prep-card p{font-size:17px}.flow-down-arrow--singleton{width:46px!important;height:46px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}}
@media (prefers-reduced-motion:reduce){.srt-progress>i>b{transition:none}.flow-down-arrow--singleton{animation:none!important}}


/* =========================================================
   2026-07-11 RELEASE CANDIDATE DESIGN SYSTEM
   Final cascade layer: typography, rhythm, responsive width and density.
   ========================================================= */
@layer release {
  :root{
    --rc-gutter:clamp(16px,4vw,32px);
    --rc-section:clamp(48px,8vw,104px);
    --rc-card:clamp(18px,3vw,32px);
    --rc-reading:68ch;
    --rc-ui:980px;
  }
  html{scroll-behavior:smooth}
  body{font-size:clamp(16px,.35vw + 15px,19px);line-height:1.55;color:#1d1d1f}
  p,li{line-height:1.58}
  h1,h2,h3,h4{margin-block-start:0;text-wrap:balance}
  h1{line-height:1.01;letter-spacing:-.045em}
  h2{line-height:1.07;letter-spacing:-.038em}
  h3{line-height:1.12;letter-spacing:-.03em}
  h4{line-height:1.18;letter-spacing:-.022em}
  .view{padding-inline:var(--rc-gutter);padding-block:var(--rc-section)}
  .view>header,.view>.hero,.view>.intro,.view>.pendulum-method,.view>.reading,.view>.integration-panel,.view>.simple-path{width:min(100%,var(--rc-ui));margin-inline:auto}
  .view :is(.copy,.lead,.intro-copy,.method-copy,p:not(.caption):not(.small-note)){max-width:var(--rc-reading)}
  .srt-wizard-card,.srt-protocol-card,.pendulum-stage,.reading-card,.dk-energy,.kids-card,.kids-result{padding:var(--rc-card);border-radius:clamp(20px,2.2vw,30px)}
  .srt-wizard-card{width:min(100%,820px)}
  .srt-wizard-card p{margin-block:.55em 1em}
  .srt-wizard-card label{margin-top:clamp(18px,3vw,28px)}
  .srt-inline-start,.srt-prep-next,.btn{min-height:50px}
  .result-ai-prompt summary{min-height:48px;display:flex;align-items:center}
  .result-ai-prompt:not([open])>:not(summary){display:none}
  .flow-down-arrow--singleton{opacity:.94;transition:opacity .2s ease,transform .2s ease}
  .flow-down-arrow--singleton:hover{transform:translateX(-50%) translateY(-2px)}
  @media (max-width:899px){
    :root{--rc-gutter:clamp(16px,5vw,22px);--rc-section:clamp(36px,10vw,64px);--rc-card:clamp(17px,5vw,22px)}
    body{font-size:16px;line-height:1.55}
    .view{width:100%;max-width:none;padding-inline:var(--rc-gutter)}
    .view :is(p,li){max-width:100%}
    .srt-wizard-card,.srt-protocol-card,.pendulum-stage,.reading-card,.dk-energy,.kids-card,.kids-result{width:100%;max-width:none;margin-inline:0}
    .controls,.gate-nav,.postdraw,.srt-choice-row{display:grid;grid-template-columns:1fr;gap:10px}
    input,textarea,select{font-size:16px;max-width:100%}
    .experience-toolbar{width:calc(100% - 2*var(--rc-gutter));margin-inline:var(--rc-gutter)}
    .pendulum-chart-key,.pendulum-key-list{font-size:15px;line-height:1.48}
  }
  @media (min-width:900px){
    .view :is(.reading,.integration-panel){width:min(100%,900px)}
    .srt-wizard-card{padding:clamp(28px,3vw,44px)}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flow-down-arrow--singleton{transition:none}}
}


/* =========================================================
   2026-07-11 MOBILE DENSITY + PENDULUM ENTRY CLEANUP
   Final override: tighter vertical rhythm and full-width cards.
   ========================================================= */
@media (max-width:899px){
  :root{
    --compact-gap:18px;
    --compact-section:28px;
  }
  .view{
    padding-top:18px!important;
    padding-bottom:38px!important;
  }
  .view > :is(section,.simple-path,.soft-detail,.random-panel,.ritual-gate,.ritual-ok,.pendulum-stage,.reading,.integration-panel,.priestess,.gchat,.journal,.table,.daily-gate){
    margin-top:var(--compact-gap)!important;
    margin-bottom:var(--compact-section)!important;
  }
  .view > :is(.rune-sub,.lede,.small-note){
    margin-top:8px!important;
    margin-bottom:16px!important;
  }
  .gate-hero{
    width:100%!important;
    max-width:none!important;
    margin:0 0 22px!important;
    padding:18px 0 24px!important;
    border-radius:0!important;
  }
  .gate-hero > *{
    width:100%!important;
    max-width:none!important;
  }
  .daily-gate{
    width:100%!important;
    max-width:none!important;
    margin:18px 0 0!important;
    padding:0!important;
  }
  .daily-gate .moon-card,
  .daily-gate .daily-visitor-card{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0 0 14px!important;
    padding:18px!important;
    gap:12px!important;
    border-radius:20px!important;
  }
  .moon-card + .daily-visitor-card{margin-top:14px!important}
  .ritual-gate{
    padding:18px!important;
    min-height:0!important;
  }
  .ritual-gate.is-complete .rg-text{min-height:0!important}
  .ritual-ok{padding:14px!important}
  .rg-steps{gap:10px!important}
  .rg-btn{min-height:52px!important;padding:12px 14px!important}
  .divider{margin:24px 0!important}
  .reading-card,.dk-energy,.pendulum-stage,.soft-detail,.srt-wizard-card{
    margin-top:0!important;
    margin-bottom:16px!important;
  }
  .reading:not(:empty){margin-top:20px!important;margin-bottom:24px!important}
  .experience-summary{margin-bottom:18px!important}
}
@media (max-width:420px){
  .view{padding-top:14px!important;padding-bottom:30px!important}
  .gate-hero{padding-top:14px!important;padding-bottom:20px!important}
  .daily-gate .moon-card,
  .daily-gate .daily-visitor-card{padding:16px!important}
}

/* === Magical Experience & Navigation Layer · 2026-07-11 === */
:root{
  --magic-safe-x:clamp(16px,4.7vw,24px);
  --magic-glow:rgba(181,137,54,.28);
  --magic-panel:rgba(255,253,248,.94);
}
.magic-section{position:relative;scroll-margin-top:clamp(84px,10vh,124px)}
.magic-section::before{content:"";position:absolute;inset:-8px;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at 50% 0%,var(--magic-glow),transparent 58%);transition:opacity .55s ease}
.magic-section.magic-arrival::before{opacity:1}
.magic-compass-shell{position:fixed;z-index:2147482500;right:max(18px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px));font-family:inherit}
.magic-compass-trigger{width:54px;height:54px;border-radius:50%;border:1px solid rgba(181,137,54,.38);background:rgba(255,253,248,.9);color:#9b7020;display:grid;place-items:center;box-shadow:0 14px 38px rgba(36,28,15,.16),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.magic-compass-trigger:hover{transform:translateY(-2px) rotate(8deg);box-shadow:0 18px 44px rgba(36,28,15,.2),0 0 0 6px rgba(181,137,54,.08)}
.magic-compass-trigger:focus-visible,.magic-compass-close:focus-visible,.magic-compass-panel button:focus-visible{outline:3px solid rgba(157,112,32,.45);outline-offset:3px}
.magic-compass-glyph{font-size:25px;line-height:1;filter:drop-shadow(0 2px 4px rgba(181,137,54,.25))}
.magic-compass-backdrop{position:fixed;inset:0;background:rgba(17,14,10,.28);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.magic-compass-panel{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(84px,calc(env(safe-area-inset-bottom) + 78px));width:min(390px,calc(100vw - 36px));max-height:min(72dvh,720px);overflow:hidden;border:1px solid rgba(181,137,54,.24);border-radius:28px;background:var(--magic-panel);box-shadow:0 28px 90px rgba(20,16,9,.28);backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2);padding:22px;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .22s ease,transform .22s ease}
.magic-compass-panel.is-open{opacity:1;transform:none}
.magic-compass-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.magic-compass-eyebrow{display:block;color:#987127;font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.magic-compass-current{display:block;font-size:clamp(20px,4.8vw,27px);line-height:1.15;letter-spacing:-.025em;color:#171511}
.magic-compass-close{width:46px;height:46px;flex:0 0 46px;border-radius:50%;border:1px solid rgba(30,26,19,.12);background:#fff;color:#171511;font-size:30px;line-height:1;cursor:pointer}
.magic-compass-progress{height:4px;border-radius:999px;background:rgba(181,137,54,.13);overflow:hidden}
.magic-compass-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8d6419,#d6b467);transition:width .4s ease}
.magic-compass-count{margin:8px 0 13px;color:#766d61;font-size:13px;font-weight:650}
.magic-compass-nav{display:grid;gap:6px;max-height:min(40dvh,360px);overflow:auto;padding:2px 4px 8px 2px;overscroll-behavior:contain}
.magic-compass-nav button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:50px;padding:9px 12px;border:0;border-radius:15px;background:transparent;color:#25211b;text-align:left;font:inherit;cursor:pointer}
.magic-compass-nav button:hover{background:rgba(181,137,54,.08)}
.magic-compass-nav button.is-active{background:rgba(181,137,54,.12);color:#7e5a18;font-weight:700}
.magic-compass-number{font-variant-numeric:tabular-nums;color:#a78a55;font-size:12px;letter-spacing:.08em}
.magic-compass-nav small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#987127}
.magic-compass-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(181,137,54,.16)}
.magic-compass-actions button{min-height:48px;border-radius:999px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.magic-compass-next{border:0;background:#987127;color:#fff}
.magic-compass-next:disabled{opacity:.4;cursor:default}
.magic-compass-top{border:1px solid rgba(181,137,54,.26);background:#fff;color:#594721}
.magic-compass-open{overflow:hidden}
.magic-result-awake{animation:magicResultAwake 1.15s cubic-bezier(.2,.8,.2,1)}
@keyframes magicResultAwake{0%{transform:translateY(8px);filter:brightness(.98)}35%{transform:translateY(0);box-shadow:0 0 0 7px rgba(181,137,54,.08),0 20px 48px rgba(181,137,54,.13)}100%{box-shadow:none;filter:none}}

/* Cleaner hierarchy and touch rhythm across all viewports. */
@media (max-width:760px){
  .magic-compass-shell{right:max(14px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}
  .magic-compass-trigger{width:50px;height:50px}
  .magic-compass-panel{inset:auto var(--magic-safe-x) max(76px,calc(env(safe-area-inset-bottom) + 70px));width:auto;max-height:min(76dvh,700px);border-radius:24px;padding:18px}
  .magic-compass-nav{max-height:42dvh}
  .magic-compass-actions{grid-template-columns:1fr}
  .magic-compass-top{display:none}
  body :is(.card,.panel,.reading,.priestess,.kids-card,.deck-overview,.accordion-body,.ritual-card){max-width:100%}
  body :is(.card,.panel,.reading,.priestess,.kids-card,.deck-overview){padding-left:clamp(16px,5vw,22px);padding-right:clamp(16px,5vw,22px)}
  body :is(h1,h2,h3,p,li,label,summary,button){overflow-wrap:anywhere}
  details.accordion[open]>.accordion-body{animation:magicAccordionIn .28s ease both}
}
@keyframes magicAccordionIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .magic-section::before,.magic-compass-trigger,.magic-compass-panel,.magic-compass-progress span{transition:none!important}
  .magic-result-awake,details.accordion[open]>.accordion-body{animation:none!important}
}

/* Separate yes/no pendulum entry points */
.tabs .tab-page-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:999px;color:inherit;text-decoration:none;font-weight:650;white-space:nowrap}
.tabs .tab-page-link:hover,.tabs .tab-page-link:focus-visible{background:rgba(163,124,44,.1);outline:none}
.yesno-teaser{max-width:680px;margin:clamp(18px,4vw,34px) auto;padding:clamp(20px,4vw,32px);border:1px solid rgba(163,124,44,.2);border-radius:26px;background:rgba(255,255,255,.72);text-align:center}
.yesno-teaser h3{margin:0 0 10px;font-size:clamp(1.35rem,3vw,1.8rem)}.yesno-teaser p{margin:0 auto 18px;max-width:520px;line-height:1.55}
@media(max-width:760px){.tabs .tab-page-link{width:100%}.yesno-teaser{margin:16px 0;border-radius:22px}}

/* YES-NO REDESIGN 2026-07-12 */
.tabs > .tab-page-link{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:600;
  line-height:1.2;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.tabs > .tab-page-link:hover,
.tabs > .tab-page-link:focus-visible{
  background:rgba(163,124,44,.11);
  color:var(--gold);
  transform:translateX(2px);
}

.yesno-page{
  min-height:100svh;
  margin:0;
  background:var(--night);
  color:var(--body-ink);
}
.yesno-app-shell{min-height:100svh}
.yesno-site-header{position:sticky;top:0;z-index:40}
.yesno-tabs{z-index:39}
.yesno-tabs > .tab-page-link{justify-content:center;text-align:center}
.yesno-shell{
  position:relative;
  z-index:1;
  width:min(100%,900px);
  margin:0 auto;
  padding:clamp(34px,6vw,68px) clamp(16px,3vw,24px) calc(48px + env(safe-area-inset-bottom));
}
.yesno-hero{
  max-width:680px;
  margin:0 auto clamp(28px,4vw,42px);
  text-align:center;
}
.yesno-orb{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 auto 16px;
  border:1px solid rgba(163,124,44,.28);
  border-radius:50%;
  background:rgba(255,255,255,.64);
  color:var(--gold);
  font-size:30px;
  box-shadow:0 10px 30px rgba(51,42,27,.06);
}
.yesno-kicker{
  margin:0 0 8px;
  color:var(--gold-soft);
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.yesno-hero h1{
  margin:0 0 12px;
  color:var(--moon);
  font-family:var(--f-ui);
  font-size:clamp(2.15rem,5.4vw,3.55rem);
  font-weight:680;
  line-height:1.04;
  letter-spacing:-.035em;
}
.yesno-hero p{
  max-width:590px;
  margin:0 auto;
  color:var(--body-ink);
  font-size:clamp(1rem,1.7vw,1.16rem);
  line-height:1.5;
  letter-spacing:-.012em;
}
.yesno-card{
  width:min(100%,700px);
  margin:0 auto;
  padding:clamp(22px,3.5vw,34px);
  border:1px solid rgba(163,124,44,.15);
  border-radius:26px;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 46px rgba(43,35,22,.07);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.yesno-card + .yesno-card{margin-top:20px}
.yesno-step-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--gold-soft);
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.yesno-progress{
  height:4px;
  margin:14px 0 22px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(163,124,44,.12);
}
.yesno-progress span{
  display:block;
  width:33.333%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold));
  transition:width .35s ease;
}
.yesno-card h2{
  margin:0 0 10px;
  color:var(--moon);
  font-family:var(--f-ui);
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:650;
  line-height:1.13;
  letter-spacing:-.025em;
}
.yesno-card p{
  margin:0 0 22px;
  color:var(--body-ink);
  font-size:clamp(1rem,1.4vw,1.08rem);
  line-height:1.55;
}
.yesno-card label{
  display:block;
  margin:0 0 10px;
  color:var(--moon);
  font-size:16px;
  font-weight:650;
  line-height:1.4;
}
.yesno-form[hidden],.yesno-card[hidden]{display:none!important}
.yesno-primary{min-width:180px}
.yesno-stage{max-width:430px;margin:20px auto 14px}
.yesno-stage svg{display:block;width:100%;height:auto}
#qaNeedle{transform-origin:210px 225px;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.yesno-result{
  display:grid;
  gap:6px;
  margin:16px 0;
  padding:18px;
  border:1px solid rgba(163,124,44,.2);
  border-radius:18px;
  background:rgba(201,168,106,.08);
  text-align:center;
}
.yesno-result strong{color:var(--gold);font-size:clamp(1.55rem,4vw,1.95rem);line-height:1.1}
.yesno-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.yesno-actions .btn{flex:1 1 220px;min-height:50px}
.yesno-note{
  width:min(100%,660px);
  margin:20px auto 0;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.48);
  color:var(--mist);
  font-size:14px;
  line-height:1.5;
  text-align:center;
}
.yesno-return{
  display:table;
  margin:22px auto 0;
  color:var(--gold-soft);
  font-size:15px;
  font-weight:620;
  text-decoration:none;
}
.yesno-return:hover{text-decoration:underline}
@media(max-width:700px){
  .yesno-shell{padding-top:28px;padding-inline:16px}
  .yesno-hero{margin-bottom:24px}
  .yesno-orb{width:44px;height:44px;margin-bottom:14px}
  .yesno-hero h1{font-size:clamp(2rem,10vw,2.75rem)}
  .yesno-hero p{font-size:16px;line-height:1.52}
  .yesno-card{padding:22px 18px;border-radius:22px}
  .yesno-card h2{font-size:1.55rem}
  .yesno-card p{font-size:16px;line-height:1.52}
  .yesno-actions{display:grid}
  .yesno-primary{width:100%}
  .yesno-tabs > .tab-page-link{justify-content:flex-start;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .yesno-progress span,#qaNeedle,.tabs > .tab-page-link{transition:none!important}
}
