/* ═══════════════════════════════════════════════
   PRAKASHA VIMARSHA · Global Styles
   ═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;500;600&family=Outfit:wght@200;300;400;500&display=swap');

:root {
  --bg:#06080f; --bg2:#0d1120; --bg3:#111827;
  --gold:#c9a84c; --gold-bright:#f0cc6a;
  --gold-dim:rgba(201,168,76,0.2);
  --gold-glow:rgba(201,168,76,0.07);
  --cream:#f0e6d3; --text:#c8c0b0; --text-dim:#7a7268;
  --card-w:380px; --card-h:570px;
  /* Category colours */
  --col-planet:#c9a84c;
  --col-sign:#c84040;
  --col-house:#3a6bc8;
  --col-nakshatra:#8a4ca8;
}

/* ── RESET ── */
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;font-weight:300;min-height:100vh;overflow-x:hidden}

/* ── STARS ── */
#stars{position:fixed;inset:0;pointer-events:none;z-index:0}
.star{position:absolute;border-radius:50%;background:white;animation:twinkle var(--d) ease-in-out infinite;opacity:0}
@keyframes twinkle{0%,100%{opacity:.03}50%{opacity:var(--op)}}

/* ── APP SHELL ── */
.app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}

/* ── HEADER ── */
header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 36px;border-bottom:1px solid var(--gold-dim);
  background:rgba(6,8,15,.95);backdrop-filter:blur(16px);
  position:sticky;top:0;z-index:100;
}
.logo-wrap .logo-main{font-family:'Cinzel',serif;font-size:17px;letter-spacing:4px;color:var(--gold)}
.logo-wrap .logo-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--text-dim);letter-spacing:2px;display:block;margin-top:2px}
.header-btns{display:flex;gap:12px}
.hbtn{background:none;border:1px solid var(--gold-dim);color:var(--gold);font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:9px 18px;border-radius:18px;cursor:pointer;transition:all .25s}
.hbtn:hover,.hbtn.active{background:rgba(201,168,76,.1);border-color:var(--gold)}

/* ── VIEWS ── */
.view{display:none;flex:1;flex-direction:column}
.view.active{display:flex}

/* ══ DECK VIEW ══ */
#view-deck{padding:44px 36px 100px;align-items:center}
.deck-hero{text-align:center;margin-bottom:48px;animation:fadeUp .8s ease forwards;opacity:0}
.deck-hero h1{font-family:'Cinzel',serif;font-size:12px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.deck-hero p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--text-dim)}
.cat-section{width:100%;max-width:1100px;margin-bottom:48px}
.cat-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.cat-header span{font-family:'Cinzel',serif;font-size:10px;letter-spacing:3.5px;text-transform:uppercase;white-space:nowrap}
.cat-header::after{content:'';flex:1;height:1px;background:var(--gold-dim)}
.cards-grid{display:flex;flex-wrap:wrap;gap:18px}

/* ── MINI CARD ── */
.mini-card{width:130px;height:195px;border-radius:11px;overflow:hidden;position:relative;cursor:pointer;transition:all .3s;border:1.5px solid var(--gold-dim);flex-shrink:0}
.mini-card:hover{transform:translateY(-6px) scale(1.04);border-color:var(--gold)}
.mini-card.selected{border-color:var(--gold);box-shadow:0 0 20px rgba(201,168,76,.4)}
.mini-card img{width:100%;height:100%;object-fit:cover;display:block}
.mini-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px 7px 8px;background:linear-gradient(transparent,rgba(3,2,0,.96));text-align:center}
.mini-name{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;color:var(--cream);text-transform:uppercase;display:block}
.mini-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:10px;color:var(--gold);display:block;margin-top:1px}
.select-check{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--gold);display:none;align-items:center;justify-content:center;font-size:10px;color:#000}
.mini-card.selected .select-check{display:flex}
.mini-card.placeholder{background:var(--bg2);cursor:default;border-style:dashed}
.mini-card.placeholder:hover{transform:none;border-color:var(--gold-dim)}
.ph-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;text-align:center}
.ph-num{font-family:'Cinzel',serif;font-size:15px;color:var(--text-dim)}
.ph-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;color:var(--text-dim);line-height:1.4}
.ph-soon{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(201,168,76,.3);margin-top:4px}

/* ── SPREAD BAR ── */
.spread-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(6,8,15,.97);border-top:1px solid var(--gold-dim);padding:14px 36px;display:flex;align-items:center;justify-content:space-between;transform:translateY(100%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);z-index:200;backdrop-filter:blur(20px)}
.spread-bar.visible{transform:translateY(0)}
.sb-info{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:var(--gold)}
.sb-info span{color:var(--text-dim);font-size:9px;font-family:'Outfit',sans-serif;display:block;margin-top:2px;letter-spacing:1px}
.sb-actions{display:flex;gap:12px;align-items:center}
.btn-clear{background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;padding:7px;transition:color .2s}
.btn-clear:hover{color:var(--gold)}
.btn-open-spread{background:var(--gold);color:#000;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;border-radius:18px;border:none;cursor:pointer;transition:all .2s}
.btn-open-spread:hover{background:var(--gold-bright)}

/* ══ CARD VIEW ══ */
#view-card{align-items:stretch;padding:0;min-height:calc(100vh - 65px)}

.card-stage{
  display:grid;
  grid-template-columns:100px 1fr 230px;
  gap:0;flex:1;
  align-items:center;justify-items:center;
  padding:32px 24px;
  max-width:1000px;margin:0 auto;width:100%;
}
.col-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%}
.col-centre{display:flex;align-items:center;justify-content:center}
.col-right{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding-left:32px;height:100%}

.arrow-btn{width:52px;height:52px;border-radius:50%;background:none;border:1px solid var(--gold-dim);color:var(--gold);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0}
.arrow-btn:hover{background:rgba(201,168,76,.1);border-color:var(--gold);transform:scale(1.1)}

.nav-select{background:var(--bg2);border:1px solid var(--gold-dim);color:var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;padding:9px 32px 9px 14px;border-radius:16px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23c9a84c'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;width:100%}
.nav-select:focus{outline:none;border-color:var(--gold)}

.action-btn{background:none;border:1px solid var(--gold-dim);color:var(--gold);font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:11px 20px;border-radius:20px;cursor:pointer;transition:all .25s;width:100%;text-align:left;display:flex;align-items:center;gap:8px}
.action-btn:hover{background:var(--gold-glow);border-color:var(--gold)}
.btn-illuminate-main{background:var(--gold);color:#000;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:13px 20px;border-radius:20px;border:none;cursor:pointer;transition:all .25s;width:100%;display:flex;align-items:center;gap:8px}
.btn-illuminate-main:hover{background:var(--gold-bright);transform:translateY(-1px)}
.col-divider{width:100%;height:1px;background:var(--gold-dim);margin:4px 0}
.card-counter{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase}

/* ── CARD SCENE ── */
.card-scene{width:var(--card-w);height:var(--card-h);perspective:1400px;cursor:pointer;animation:cardReveal .8s ease forwards .1s;opacity:0}
@keyframes cardReveal{from{opacity:0;transform:translateY(20px) rotateY(-6deg)}to{opacity:1;transform:none}}
.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.645,.045,.355,1)}
.card-scene.flipped .card-inner{transform:rotateY(180deg)}
.card-face{position:absolute;inset:0;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}

/* Card front */
.card-front{background:#0d0a05;box-shadow:0 0 0 1.5px var(--cc,var(--gold)),0 0 50px rgba(0,0,0,.8),0 0 80px var(--cg,rgba(201,168,76,.1))}
.card-front img{width:100%;height:100%;object-fit:cover;display:block}
.front-strip{position:absolute;bottom:0;left:0;right:0;padding:44px 18px 16px;background:linear-gradient(transparent,rgba(3,2,0,.97));text-align:center}
.fs-cat{font-family:'Outfit',sans-serif;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;display:block;margin-bottom:4px}
.fs-sanskrit{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);display:block;margin-bottom:2px}
.fs-name{font-family:'Cinzel',serif;font-size:24px;font-weight:500;color:var(--cream);letter-spacing:2.5px;display:block}
.fs-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--gold);display:block;margin-top:3px}
.card-num{position:absolute;top:11px;left:11px;width:30px;height:30px;border-radius:50%;background:rgba(3,2,0,.85);border:1px solid rgba(201,168,76,.25);display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:11px;color:var(--gold)}
.tap-hint{position:absolute;top:11px;right:11px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:rgba(201,168,76,.35);animation:pulse 3s ease-in-out infinite 3s}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:.75}}

/* Card back (flip side) */
.card-back{transform:rotateY(180deg);background:linear-gradient(180deg,#0e0b06 0%,#080604 100%);background-image:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.06) 0%,transparent 65%);display:flex;flex-direction:column;padding:20px 18px 16px;border:1.5px solid var(--cc,var(--gold));box-shadow:0 0 50px rgba(0,0,0,.8),0 0 80px var(--cg,rgba(201,168,76,.1))}
.back-header{text-align:center;padding-bottom:12px;border-bottom:1px solid var(--gold-dim);margin-bottom:12px}
.bh-cat{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;display:block;font-family:'Outfit',sans-serif;margin-bottom:4px}
.bh-name{font-family:'Cinzel',serif;font-size:26px;font-weight:500;color:var(--cream);letter-spacing:2px;display:block;line-height:1}
.bh-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--gold);display:block;margin-top:4px}
.glyphs{display:flex;justify-content:center;gap:16px;margin-bottom:12px}
.glyph{display:flex;flex-direction:column;align-items:center;gap:3px}
.g-sym{font-size:20px;color:var(--gold);line-height:1}
.g-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'Outfit',sans-serif}
.divider{height:1px;background:var(--gold-dim);margin:0 0 11px}
.keywords{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px;justify-content:center}
.kw{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;border:1px solid;padding:3px 9px;border-radius:10px;font-family:'Outfit',sans-serif}
.back-desc{font-family:'Cormorant Garamond',serif;font-size:14px;line-height:1.75;color:var(--text);flex:1;overflow-y:auto;scrollbar-width:none}
.back-desc::-webkit-scrollbar{display:none}
.back-desc em{color:var(--gold);font-style:italic}
.attrs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:10px 0}
.attr{text-align:center;padding:6px 4px;background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.1);border-radius:7px}
.attr-val{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--cream);display:block;margin-bottom:2px}
.attr-lbl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);font-family:'Outfit',sans-serif}
.essence{padding-top:10px;border-top:1px solid var(--gold-dim);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:var(--gold);text-align:center;line-height:1.5}

/* ══ SPREAD VIEW ══ */
#view-spread{flex-direction:column}
.spread-top{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 36px 0}
.spread-top h2{font-family:'Cinzel',serif;font-size:12px;letter-spacing:4px;color:var(--gold);text-transform:uppercase}
.spread-top p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--text-dim);margin-top:4px}
.spread-scroll{flex:1;overflow-x:auto;overflow-y:hidden;padding:32px 48px 48px;display:flex;align-items:flex-start;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}
.spread-track{display:flex;gap:28px;align-items:flex-start}
.spread-card-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;scroll-snap-align:center;flex-shrink:0}
.spread-card-wrap .card-scene{width:260px;height:390px;animation:none;opacity:1}

/* ══ ILLUMINATE ══ */
.il-overlay{position:fixed;inset:0;z-index:300;background:rgba(4,5,10,.97);backdrop-filter:blur(20px);display:none;flex-direction:column}
.il-overlay.open{display:flex;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.il-header{display:flex;align-items:center;justify-content:space-between;padding:22px 36px;border-bottom:1px solid var(--gold-dim);flex-shrink:0}
.il-title .il-cat{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);font-family:'Outfit',sans-serif;display:block;margin-bottom:4px}
.il-title .il-name{font-family:'Cinzel',serif;font-size:22px;color:var(--gold);letter-spacing:2px}
.il-title .il-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--text-dim);display:block;margin-top:3px}
.btn-close{background:none;border:1px solid var(--gold-dim);color:var(--text-dim);font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:9px 18px;border-radius:16px;cursor:pointer;transition:all .2s}
.btn-close:hover{border-color:var(--gold);color:var(--gold)}
.il-body{flex:1;overflow-y:auto;padding:44px 36px 64px;max-width:780px;margin:0 auto;width:100%}
.il-body h2{font-family:'Cinzel',serif;font-size:12px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin:32px 0 12px}
.il-body h2:first-child{margin-top:0}
.il-body h3{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--cream);margin:24px 0 10px;font-weight:400}
.il-body p{font-family:'Cormorant Garamond',serif;font-size:17px;line-height:1.9;color:var(--text);margin-bottom:16px}
.il-body em{color:var(--gold);font-style:italic}
.il-body strong{color:var(--cream);font-weight:500}
.ptable{width:100%;border-collapse:collapse;margin:14px 0 24px}
.ptable th{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);text-align:left;padding:11px 12px;border-bottom:1px solid var(--gold-dim)}
.ptable td{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.7;color:var(--text);padding:11px 12px;border-bottom:1px solid rgba(201,168,76,.07);vertical-align:top}
.ptable td:first-child{color:var(--cream);white-space:nowrap;width:160px}
.ptable tr:hover td{background:var(--gold-glow)}
.practice-box{background:rgba(201,168,76,.04);border:1px solid var(--gold-dim);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:22px 24px;margin:18px 0}
.practice-box p{font-size:16px}
.skt-verse{text-align:center;padding:24px 20px;border-top:1px solid var(--gold-dim);margin-top:24px}
.skt-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--gold);display:block;margin-bottom:8px;line-height:1.6}
.skt-trans{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--text-dim);font-style:italic}
.essence-final{text-align:center;padding:32px 20px 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--cream);line-height:1.75}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px}

/* ── RESPONSIVE ── */
@media(max-width:800px){
  .card-stage{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:20px 16px 48px;gap:20px;justify-items:center}
  .col-left{flex-direction:row;height:auto;gap:12px;justify-content:center}
  .col-right{padding-left:0;align-items:center;width:100%;max-width:400px}
  .action-btn,.btn-illuminate-main{text-align:center;justify-content:center}
  header{padding:14px 18px}
  .logo-wrap .logo-sub{display:none}
  .il-body{padding:24px 18px 52px}
  .il-header{padding:16px 18px}
  :root{--card-w:300px;--card-h:450px}
}

@media(max-width:480px){
  :root{--card-w:260px;--card-h:390px}
  #view-deck{padding:24px 16px 80px}
  .mini-card{width:110px;height:165px}
}
