
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#07110d; --forest:#0b1b14; --forest2:#10291e; --moss:#173b2a;
  --gold:#d7b45d; --gold2:#f3d996; --cream:#f4ecd8; --muted:#b7b6a8;
  --line:rgba(215,180,93,.38); --glow:rgba(215,180,93,.18);
  --danger:#a95645;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--cream); background:
    radial-gradient(circle at 15% 15%,rgba(44,87,62,.38),transparent 28%),
    radial-gradient(circle at 80% 0%,rgba(112,86,40,.16),transparent 28%),
    linear-gradient(180deg,#050b08,#07120d 45%,#050a08);
  font-family:"EB Garamond",Georgia,serif; min-height:100vh;
}
body:before{
 content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;
 background-image:url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 45C20 20 30 20 45 45S70 70 85 45M45 5C20 20 20 30 45 45s25 25 0 40' fill='none' stroke='%23d7b45d' stroke-width='.5'/%3E%3C/svg%3E");
}
a{color:inherit}
.shell{width:min(1240px,calc(100% - 34px));margin:auto}
.topbar{
 position:sticky;top:0;z-index:50;background:rgba(5,11,8,.88);backdrop-filter:blur(16px);
 border-bottom:1px solid var(--line)
}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brandmark{
 width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;
 color:var(--gold);box-shadow:0 0 25px var(--glow);font-size:21px
}
.brandname{font:500 21px/1 "Cinzel",serif;letter-spacing:.07em;color:var(--gold2)}
.tagline{font-size:12px;color:#c6bea7;margin-top:4px;letter-spacing:.05em}
.navlinks{display:flex;gap:26px;font-family:Inter,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.navlinks a{text-decoration:none;color:#ded6c2}
.btn{
 appearance:none;border:1px solid var(--gold);background:linear-gradient(180deg,#d9b65e,#a8782b);
 color:#171006;padding:12px 20px;border-radius:5px;font-family:"Cinzel",serif;letter-spacing:.03em;
 cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.28),0 0 20px rgba(215,180,93,.1);transition:.2s
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--gold2)}
.btn.small{padding:8px 13px;font-size:12px}
.hero{padding:48px 0 22px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch}
.panel{
 border:1px solid var(--line);border-radius:12px;background:
 linear-gradient(180deg,rgba(18,49,34,.76),rgba(6,17,12,.88));
 box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.03);
 overflow:hidden;position:relative
}
.panel:after{content:"";position:absolute;inset:8px;border:1px solid rgba(215,180,93,.12);border-radius:8px;pointer-events:none}
.hero-copy{padding:48px;min-height:475px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font:500 12px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}
h1,h2,h3{font-family:"Cinzel",serif;font-weight:500;color:var(--gold2)}
h1{font-size:clamp(42px,7vw,78px);line-height:.98;margin:14px 0 20px}
h2{font-size:30px;margin:0 0 16px}
h3{font-size:18px}
.lede{font-size:21px;line-height:1.55;color:#e3dccb;max-width:620px}
.hero-art{
 min-height:475px;background:
 linear-gradient(180deg,transparent,rgba(4,10,7,.55)),
 radial-gradient(circle at 66% 27%,rgba(232,204,129,.44) 0 5%,transparent 6%),
 linear-gradient(155deg,#1b3327 0 22%,#0d1b15 22% 50%,#172d22 50% 58%,#07100c 58%);
 display:flex;align-items:flex-end;padding:36px
}
.stone-ring{width:100%;height:250px;border:20px solid #2a3027;border-radius:50% 50% 46% 46%;opacity:.85;
 box-shadow:inset 0 0 0 3px #101710,0 0 60px rgba(222,190,111,.09)}
.quote-card{position:absolute;bottom:28px;left:28px;right:28px;background:rgba(5,14,9,.78);border:1px solid var(--line);padding:18px 20px;text-align:center;font-size:18px}
.section{padding:38px 0}
.center{text-align:center}
.muted{color:#afa999}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ask-wrap{padding:30px}
label{display:block;font-family:Inter,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#c9c1af;margin-bottom:8px}
textarea,input,select{
 width:100%;border:1px solid rgba(215,180,93,.32);border-radius:6px;background:#07130d;color:#efe7d4;
 padding:14px 15px;font:16px "EB Garamond",serif;outline:none
}
textarea:focus,input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(215,180,93,.08)}
textarea{min-height:110px;resize:vertical}
.field{margin-bottom:22px}
.style-grid,.deck-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.style-option,.deck-option{
 border:1px solid rgba(215,180,93,.27);border-radius:9px;padding:16px 12px;background:#07140e;cursor:pointer;
 min-height:116px;text-align:center;transition:.2s;position:relative
}
.style-option:hover,.deck-option:hover,.style-option.active,.deck-option.active{
 border-color:var(--gold);box-shadow:0 0 24px rgba(215,180,93,.12);transform:translateY(-1px)
}
.style-option.active:after,.deck-option.active:after{
 content:"✓";position:absolute;right:8px;top:7px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
 background:var(--gold);color:#111;font-family:Inter,sans-serif;font-size:11px
}
.style-icon{font-size:24px;color:var(--gold);margin-bottom:7px}
.style-title,.deck-title{font-family:"Cinzel",serif;color:#f0ddaa;font-size:13px}
.style-desc{font-size:13px;color:#aead9f;margin-top:6px}
.deck-grid{grid-template-columns:1fr 1fr}
.deck-option{min-height:140px;display:flex;flex-direction:column;justify-content:center}
.deck-swatch{width:58px;height:82px;margin:0 auto 10px;border:1px solid var(--gold);border-radius:5px;background:
 radial-gradient(circle at center,rgba(215,180,93,.22),transparent 34%),
 linear-gradient(135deg,#10291e,#07100c);display:grid;place-items:center;color:var(--gold);font-size:24px}
.card-stage{padding:26px}
.card-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}
.tarot-card{
 aspect-ratio:3/5;border:1px solid var(--gold);border-radius:9px;background:
 radial-gradient(circle at center,rgba(215,180,93,.17),transparent 26%),
 repeating-radial-gradient(circle at center,transparent 0 10px,rgba(215,180,93,.08) 11px 12px),
 linear-gradient(145deg,#10291d,#06100b);
 cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;
 box-shadow:0 16px 30px rgba(0,0,0,.3);transition:.22s;overflow:hidden
}
.tarot-card:hover{transform:translateY(-5px)}
.tarot-card.selected{box-shadow:0 0 0 2px var(--gold),0 0 34px rgba(215,180,93,.24)}
.tarot-card.revealed{background:linear-gradient(160deg,#efe5cb,#bfa66c);color:#241c0c;border-color:#ead48e}
.tarot-card .back-symbol{font-size:36px;color:var(--gold)}
.tarot-card .front{display:none}
.tarot-card.revealed .back-symbol{display:none}
.tarot-card.revealed .front{display:block}
.tarot-card .card-name{font:600 12px "Cinzel",serif;margin-bottom:8px}
.tarot-card .keywords{font-size:12px;line-height:1.35}
.count{font-family:Inter,sans-serif;color:#bbb4a4;font-size:12px;text-align:center;margin-top:10px}
.reading{display:none;padding:34px}
.reading.show{display:block}
.reading-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}
.reading-card{padding:20px 0;border-bottom:1px solid rgba(215,180,93,.14)}
.reading-card:last-child{border:0}
.reading-card h3{margin:0 0 6px}
.reading-card .meta{font-family:Inter,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.reading-card p{font-size:18px;line-height:1.55;margin:8px 0}
.invocation{font-style:italic;color:#d8cba9}
.danu-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center}
.danu-portrait{aspect-ratio:4/5;max-height:450px;border:1px solid var(--line);border-radius:12px;background:
 radial-gradient(circle at 50% 22%,rgba(235,207,132,.38),transparent 20%),
 radial-gradient(circle at 50% 42%,#8c6d3d 0 8%,#34291c 9% 15%,transparent 16%),
 linear-gradient(155deg,#244b36,#08120d 62%);position:relative}
.danu-portrait:after{content:"᚛ ✦ ᚜";position:absolute;inset:auto 0 25px;text-align:center;color:var(--gold);font-size:30px;letter-spacing:.3em}
.story p{font-size:19px;line-height:1.65;color:#ded7c5}
.note{border-left:2px solid var(--gold);padding:10px 15px;background:rgba(215,180,93,.06);color:#c9c1af}
.premium{padding:34px}
.premium-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#b9b3a5}
.consent input{width:auto;margin-top:3px}
.footer{border-top:1px solid var(--line);padding:30px 0 45px;color:#9e9a8f;font-size:13px}
.hidden{display:none!important}
.toast{position:fixed;right:20px;bottom:20px;background:#13291e;border:1px solid var(--gold);padding:13px 16px;border-radius:7px;z-index:90;opacity:0;transform:translateY(10px);transition:.25s}
.toast.show{opacity:1;transform:none}
@media(max-width:900px){
 .navlinks{display:none}.hero-grid,.grid2,.danu-section{grid-template-columns:1fr}
 .hero-copy,.hero-art{min-height:380px}.style-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .shell{width:min(100% - 20px,1240px)}.hero{padding-top:20px}.hero-copy{padding:28px}
 .style-grid,.deck-grid,.premium-grid{grid-template-columns:1fr}.card-row{gap:6px}
 .tarot-card .card-name{font-size:9px}.tarot-card .keywords{font-size:9px}
 h1{font-size:44px}
}

/* ADMIN */
.admin-body{font-family:Inter,sans-serif;background:#06100b}
.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.sidebar{padding:25px 18px;border-right:1px solid var(--line);background:#07130d;position:sticky;top:0;height:100vh}
.side-link{display:block;padding:11px 12px;border-radius:6px;color:#bbb6a8;text-decoration:none;margin:4px 0;font-size:13px}
.side-link:hover,.side-link.active{background:#10261b;color:var(--gold2)}
.admin-main{padding:26px}
.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpi{padding:18px;border:1px solid var(--line);background:#0a1a12;border-radius:8px}
.kpi .n{font:24px "Cinzel",serif;color:var(--gold2);margin-top:8px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#08160f}
table{width:100%;border-collapse:collapse;font-size:12px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid rgba(215,180,93,.13);vertical-align:top}
th{color:var(--gold2);font-weight:500;background:#0d2117;position:sticky;top:0}
.badge{display:inline-block;border:1px solid rgba(215,180,93,.35);border-radius:999px;padding:3px 8px;color:#d9cfb5}
.admin-card{border:1px solid var(--line);border-radius:8px;padding:18px;background:#08160f;margin-bottom:16px}
.admin-login{max-width:430px;margin:15vh auto;padding:30px}
.bar{height:8px;background:#10291d;border-radius:10px;overflow:hidden;margin:7px 0 14px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#8f6927,#ddbd65)}
@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpis{grid-template-columns:1fr 1fr}}
/* Real Star of Danu art + full-deck selection */
.danu-hero{min-height:475px;background:#030806}.danu-hero>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 32%}.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,8,6,.86))}.danu-portrait{background:none;overflow:hidden}.danu-portrait img{width:100%;height:100%;object-fit:cover}.danu-portrait:after{display:none}
.card-stage{grid-column:1/-1}.card-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px;max-height:690px;overflow:auto;padding:18px 10px 24px;margin-top:12px;perspective:1200px}.tarot-card{appearance:none;border:0;background:none;padding:0;aspect-ratio:2/3;min-width:0;overflow:visible;box-shadow:none}.tarot-card:hover{transform:translateY(-7px)}.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tarot-card.revealed .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--gold);border-radius:5px;overflow:hidden;box-shadow:0 12px 25px rgba(0,0,0,.4)}.card-back img,.card-face{width:100%;height:100%;object-fit:cover;display:block}.card-front{transform:rotateY(180deg);background:#0a120e}.tarot-card.selected .card-back{outline:2px solid var(--gold2);outline-offset:3px;box-shadow:0 0 28px rgba(243,217,150,.42)}.rws-back{width:100%;height:100%;display:grid;place-content:center;background:radial-gradient(circle,#244633,#07110d 58%);color:var(--gold2);font:32px Cinzel;text-align:center}.rws-back span{font-size:10px;letter-spacing:.2em}.classic-face{height:100%;display:flex;flex-direction:column;justify-content:center;padding:10px;color:var(--gold2);font:12px Cinzel}.classic-face small{font:11px 'EB Garamond';margin-top:10px;color:#d5ccb5}
.magic-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .35s;background:#020705}.magic-overlay.show{opacity:1;pointer-events:auto}.magic-bg{position:absolute;inset:0;background:linear-gradient(rgba(2,7,5,.34),rgba(2,7,5,.7)),url('/assets/danu-listening.png') center/cover no-repeat;filter:saturate(.85)}.magic-content{position:relative;text-align:center;width:min(760px,90vw);text-shadow:0 3px 18px #000}.magic-kicker{font:500 clamp(24px,4vw,48px) Cinzel;color:var(--gold2);letter-spacing:.09em}.magic-copy{font-size:clamp(18px,2vw,25px);line-height:1.5;color:#ead9ac}.magic-star{width:190px;height:190px;margin:28px auto;position:relative;filter:drop-shadow(0 0 18px #f6cf6c)}.magic-star:before,.magic-star:after,.magic-star span:before,.magic-star span:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.1);background:linear-gradient(90deg,transparent,#fff7ca 42%,#fff 50%,#fff7ca 58%,transparent);opacity:0}.magic-star:before{width:190px;height:4px}.magic-star:after{width:4px;height:190px;background:linear-gradient(transparent,#fff7ca 42%,#fff 50%,#fff7ca 58%,transparent)}.magic-star span:before{width:145px;height:3px;transform:translate(-50%,-50%) rotate(45deg) scale(.1)}.magic-star span:after{width:145px;height:3px;transform:translate(-50%,-50%) rotate(-45deg) scale(.1)}.magic-overlay.ignite .magic-star:before,.magic-overlay.ignite .magic-star:after{animation:starIgnite 1.8s ease-out infinite}.magic-overlay.ignite .magic-star span:before,.magic-overlay.ignite .magic-star span:after{animation:starDiag 1.8s .12s ease-out infinite}@keyframes starIgnite{0%{opacity:0;transform:translate(-50%,-50%) scale(.05)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:.9;transform:translate(-50%,-50%) scale(.86)}100%{opacity:.2;transform:translate(-50%,-50%) scale(1.15)}}@keyframes starDiag{0%{opacity:0}35%{opacity:.9}100%{opacity:.15}}.reading-intro,.thread{font-size:20px}
@media(max-width:620px){.card-row{grid-template-columns:repeat(4,1fr);gap:10px;max-height:620px}.magic-star{width:130px;height:130px}.magic-star:before{width:130px}.magic-star:after{height:130px}.magic-star span:before,.magic-star span:after{width:100px}}
