*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#c9a84c;--gold-l:#f0d87a;--gold-d:#7a5e20;
  --pur:#7b2d8b;--txt:#f0e6ff;--txt2:#b8a8d0;
}
body{background:#05000f;color:var(--txt);font-family:'Noto Serif KR',serif;min-height:100vh;overflow-x:hidden}
#stars{position:fixed;inset:0;pointer-events:none;z-index:0}
.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--d,3s) var(--dl,0s) infinite ease-in-out}
@keyframes twinkle{0%,100%{opacity:.06;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}
.neb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}
.n1{width:600px;height:600px;background:radial-gradient(circle,rgba(100,30,160,.12) 0%,transparent 70%);top:-200px;left:-200px;animation:ndrift 22s infinite ease-in-out}
.n2{width:500px;height:500px;background:radial-gradient(circle,rgba(20,50,180,.09) 0%,transparent 70%);bottom:-150px;right:-150px;animation:ndrift 28s infinite ease-in-out reverse}
.n3{width:400px;height:400px;background:radial-gradient(circle,rgba(170,40,100,.07) 0%,transparent 70%);top:35%;left:30%;animation:ndrift 19s 6s infinite ease-in-out}
@keyframes ndrift{0%,100%{transform:translate(0,0)}33%{transform:translate(30px,-20px)}66%{transform:translate(-20px,28px)}}
@keyframes card-glow{0%,100%{box-shadow:0 8px 28px rgba(0,0,0,.6),0 0 8px rgba(201,168,76,.1)}50%{box-shadow:0 8px 28px rgba(0,0,0,.6),0 0 28px rgba(201,168,76,.4)}}

/* Layout */
.wrap{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:32px 20px 60px;text-align:center}

/* Nav */
.site-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid rgba(201,168,76,.14)}
.nav-link{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:rgba(201,168,76,.55);text-decoration:none;transition:color .25s;text-transform:uppercase}
.nav-link:hover{color:var(--gold-l)}
.nav-link-gold{color:var(--gold)}
.nav-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:rgba(201,168,76,.55);text-transform:uppercase}

/* Date badge */
.date-badge-z{display:inline-block;padding:5px 18px;border:1px solid rgba(201,168,76,.35);border-radius:24px;font-size:12px;color:var(--gold);letter-spacing:.8px;margin-top:8px}

/* zodiac.html header */
.zodiac-page-eyebrow{font-family:'Cinzel',serif;font-size:9px;letter-spacing:5px;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:14px}
.zodiac-page-title{font-family:'Cinzel',serif;font-size:clamp(22px,5vw,36px);font-weight:600;background:linear-gradient(135deg,#c9a84c 0%,#ead98b 50%,#c9a84c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}
.zodiac-page-sub{font-family:'Noto Serif KR',serif;font-size:13px;color:rgba(184,168,208,.62);letter-spacing:.5px}

/* Zodiac selection grid */
.zodiac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.zodiac-card{background:rgba(20,4,45,.65);border:1px solid rgba(201,168,76,.22);border-radius:14px;padding:18px 10px;cursor:pointer;text-decoration:none;display:block;transition:border-color .3s,box-shadow .3s,transform .25s;color:var(--txt)}
.zodiac-card:hover{border-color:rgba(201,168,76,.75);box-shadow:0 0 22px rgba(201,168,76,.18);transform:translateY(-4px)}
.zodiac-card-sym{font-size:26px;margin-bottom:7px;line-height:1}
.zodiac-card-name{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1.5px;color:var(--gold-l);margin-bottom:5px}
.zodiac-card-date{font-size:9px;color:rgba(184,168,208,.42);letter-spacing:.3px}

/* Zodiac detail header */
.zodiac-header{margin-bottom:24px}
.zodiac-symbol-big{font-size:clamp(40px,10vw,60px);margin-bottom:8px;line-height:1;filter:drop-shadow(0 0 12px rgba(201,168,76,.45))}
.zodiac-header h1{font-family:'Cinzel',serif;font-size:clamp(20px,5vw,30px);font-weight:600;background:linear-gradient(135deg,#c9a84c 0%,#ead98b 50%,#c9a84c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}
.zodiac-meta{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:rgba(201,168,76,.52)}

/* Sections */
.zd-section{background:rgba(20,4,45,.55);border:1px solid rgba(201,168,76,.2);border-radius:14px;padding:18px 20px;margin-bottom:12px;text-align:left}
.zd-sec-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:3px;color:rgba(201,168,76,.62);text-transform:uppercase;margin-bottom:11px;text-align:center}
.zd-text{font-family:'Noto Serif KR',serif;font-size:13px;color:rgba(184,168,208,.85);line-height:1.9;letter-spacing:.3px}
.zd-stars{font-size:18px;color:var(--gold);margin-bottom:10px;letter-spacing:3px;text-align:center}

/* Lucky row */
.zd-lucky-row{display:flex;gap:12px;justify-content:center}
.zd-lucky-item{display:flex;flex-direction:column;align-items:center;flex:1;max-width:160px}
.zd-lucky-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:6px}
.zd-lucky-val{font-family:'Cinzel',serif;font-size:20px;color:var(--gold-l);font-weight:600}

/* Tarot mini card */
.tarot-mini{display:flex;flex-direction:column;align-items:center;padding:6px 0}
.tarot-mini-img{height:140px;width:auto;border-radius:8px;border:1px solid rgba(201,168,76,.5);box-shadow:0 6px 28px rgba(0,0,0,.6),0 0 16px rgba(201,168,76,.15);animation:card-glow 3.4s ease-in-out infinite;margin-bottom:10px}
.tarot-mini-name{font-family:'Cinzel',serif;font-size:13px;letter-spacing:2px;color:var(--gold-l);margin-bottom:4px}
.tarot-mini-kw{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:rgba(201,168,76,.52);margin-bottom:10px}
.tarot-mini-msg{font-family:'Noto Serif KR',serif;font-size:12px;color:rgba(184,168,208,.78);line-height:1.9;text-align:center;max-width:320px}

/* Share + toast */
.zd-share{margin:18px 0 6px;text-align:center}
.zd-btn{background:transparent;border:1px solid rgba(201,168,76,.55);color:var(--gold);font-family:'Cinzel',serif;font-size:11px;letter-spacing:3px;padding:14px 44px;cursor:pointer;border-radius:32px;text-transform:uppercase;transition:all .3s}
.zd-btn:hover{background:rgba(201,168,76,.08);box-shadow:0 0 28px rgba(201,168,76,.28);transform:translateY(-2px)}
.share-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(20,4,45,.95);border:1px solid rgba(201,168,76,.45);color:var(--gold-l);font-family:'Cinzel',serif;font-size:11px;letter-spacing:2px;padding:10px 26px;border-radius:24px;opacity:0;transition:opacity .35s,transform .35s;z-index:9999}
.share-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Footer */
footer{margin-top:28px;padding-top:18px;border-top:1px solid rgba(201,168,76,.1);font-size:11px;color:rgba(255,255,255,.45);text-align:center}
.foot-link{color:rgba(201,168,76,.55);text-decoration:none;letter-spacing:.5px;transition:color .2s}
.foot-link:hover{color:var(--gold-l)}

/* Mobile */
@media(max-width:600px){
  .zodiac-grid{grid-template-columns:repeat(3,1fr);gap:9px}
  .zodiac-card{padding:14px 8px}
  .zodiac-card-sym{font-size:22px}
  .zd-lucky-row{flex-direction:column;align-items:center}
  .tarot-mini-img{height:120px}
}
@media(max-width:380px){
  .zodiac-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── 별자리별 해석 텍스트 ── */
.zd-interpretation{background:rgba(30,5,60,.6);border-color:rgba(201,168,76,.3)}
.zd-interpretation-text{
  font-family:'Noto Serif KR',serif;font-size:14px;
  color:rgba(240,230,255,.92);line-height:1.95;letter-spacing:.4px;
  text-align:center;
}

/* ── 별자리 정보 행 ── */
.zd-info-row{display:flex;gap:12px;justify-content:center}
.zd-info-item{display:flex;flex-direction:column;align-items:center;flex:1;max-width:160px}
.zd-info-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:5px}
.zd-info-val{font-family:'Cinzel',serif;font-size:16px;color:var(--gold-l);font-weight:600}

/* ── zodiac.html 오늘의 카드 미리보기 ── */
.zd-card-preview{text-align:center}
.today-card-preview{display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0 8px}
.today-card-img-small{height:80px;width:auto;border-radius:6px;border:1px solid rgba(201,168,76,.5);box-shadow:0 4px 16px rgba(0,0,0,.55),0 0 10px rgba(201,168,76,.12);animation:card-glow 3.4s ease-in-out infinite}
.today-card-name{font-family:'Cinzel',serif;font-size:12px;letter-spacing:1.5px;color:var(--gold-l);margin-bottom:4px}
.today-card-kw{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1px;color:rgba(201,168,76,.5)}
.today-card-desc{font-family:'Noto Serif KR',serif;font-size:11px;color:rgba(184,168,208,.55);letter-spacing:.3px}

/* ── ad banners ── */
.ad-banner{
  width:100%;max-width:560px;margin:20px auto;
  border:1px solid #3a2a6b;border-radius:12px;
  background:#1d1140;padding:12px 16px;
  text-align:center;position:relative;box-sizing:border-box;
}
.ad-label{
  position:absolute;top:6px;left:10px;
  font-size:9px;color:#6a5a9a;letter-spacing:2px;
  font-family:'Cinzel',serif;
}
.ad-content{
  min-height:80px;display:flex;
  align-items:center;justify-content:center;
}
.ad-placeholder{color:#4a3a6b;font-size:12px;letter-spacing:1px}
.ad-sticky{
  display:none;position:fixed;bottom:0;left:0;right:0;
  height:60px;background:#1d1140;
  border-top:1px solid #3a2a6b;z-index:900;
  align-items:center;justify-content:center;
}
.ad-sticky__close{
  position:absolute;top:4px;right:8px;
  background:none;border:none;color:#6a5a9a;
  font-size:12px;cursor:pointer;min-width:24px;min-height:24px;
}
@media(max-width:480px){
  .ad-banner{margin:14px auto}
  .ad-content{min-height:60px}
  .ad-sticky{display:flex}
  body{padding-bottom:60px}
}
