/* 고트사주 — 옻칠 바탕 위 금박. 무료 랭킹 페이지와 같은 결 */
:root{
  --ink:#140b0a; --lacquer:#22110e; --panel:#2c1612; --line:#4a2a20; --line2:#5e3627;
  --gold:#e9c27a; --gold-hi:#ffe3a8; --ember:#e2552b; --ember-hi:#ff6a3d; --text:#f3e7d8; --muted:#b59e88; --ok:#8fd19e; --bad:#ff8a73;
  --wood:#7fbf7a; --fire:#ff7a4d; --earth:#d9a85b; --metal:#cfd3dc; --water:#6fa8ff;
  --display:"Noto Serif KR","Nanum Myeongjo",serif; --body:"IBM Plex Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --glow:#3a1810; --art1:#2e1611; --art2:#1b0d0b; --soft:rgba(0,0,0,.22); --veil:20,11,10; --test-bg:#3a2e14; --test-fg:#f2cf86;
  --lv0:#8fd19e; --lv1:#c9e3a0; --lv2:#b59e88; --lv3:#ffb070; --lv4:#ff8a73; --radar-fill:rgba(233,194,122,.22); --shadow:rgba(0,0,0,.45);
  color-scheme:dark;
}
/* 밝은 화면 — 한지 바탕에 먹·주홍. 시스템이 밝은 모드이거나, 사용자가 「밝게」를 고른 경우 */
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --ink:#f6efe3; --lacquer:#fffaf2; --panel:#f0e5d3; --line:#e0d0b6; --line2:#c9b392;
  --gold:#8a5a12; --gold-hi:#6b3f06; --ember:#c2410c; --ember-hi:#a3340a; --text:#2a1a12; --muted:#6c5847; --ok:#2f7d45; --bad:#b3322a;
  --wood:#2f7d3a; --fire:#c2410c; --earth:#9a6410; --metal:#5f6672; --water:#1d5fbf;
  --glow:#f2dcc0; --art1:#fffaf2; --art2:#f3e7d4; --soft:rgba(120,80,30,.07); --veil:246,239,227; --test-bg:#fbefcf; --test-fg:#6b4a08;
  --lv0:#1f7a45; --lv1:#5f9a3a; --lv2:#8a7a6a; --lv3:#c96a1a; --lv4:#b3322a; --radar-fill:rgba(138,90,18,.16); --shadow:rgba(80,50,20,.16);
  color-scheme:light;
}}
:root[data-theme="light"]{
  --ink:#f6efe3; --lacquer:#fffaf2; --panel:#f0e5d3; --line:#e0d0b6; --line2:#c9b392;
  --gold:#8a5a12; --gold-hi:#6b3f06; --ember:#c2410c; --ember-hi:#a3340a; --text:#2a1a12; --muted:#6c5847; --ok:#2f7d45; --bad:#b3322a;
  --wood:#2f7d3a; --fire:#c2410c; --earth:#9a6410; --metal:#5f6672; --water:#1d5fbf;
  --glow:#f2dcc0; --art1:#fffaf2; --art2:#f3e7d4; --soft:rgba(120,80,30,.07); --veil:246,239,227; --test-bg:#fbefcf; --test-fg:#6b4a08;
  --lv0:#1f7a45; --lv1:#5f9a3a; --lv2:#8a7a6a; --lv3:#c96a1a; --lv4:#b3322a; --radar-fill:rgba(138,90,18,.16); --shadow:rgba(80,50,20,.16);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere;
  background-image:radial-gradient(1200px 600px at 50% -10%,var(--glow) 0%,transparent 70%)}
a{color:var(--gold)}
.wrap{max-width:880px;margin:0 auto;padding:0 16px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display)}
.logo .seal-ic{width:46px;height:46px;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.logo .lw{display:grid;gap:2px;line-height:1}
.logo .lw b{font-weight:900;font-size:26px;color:var(--gold-hi);letter-spacing:.02em}
.logo .lw small{font-family:var(--mono);font-size:10.5px;letter-spacing:.5em;color:var(--gold)}
.logo .lw i{font-style:normal;font-size:11px;color:var(--muted);font-family:var(--body);margin-top:2px}
@media (max-width:620px){.logo .seal-ic{width:38px;height:38px}.logo .lw b{font-size:22px}.logo .lw i{display:none}}
.top nav a{font-size:13px;color:var(--muted);text-decoration:none;margin-left:14px}
.top nav a:hover{color:var(--gold)}
.hero{padding:44px 0 26px;display:grid;gap:12px}
.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(30px,6.4vw,50px);line-height:1.18;margin:0;color:var(--gold-hi);text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--ember-hi)}
.hero p{margin:0;color:var(--muted);max-width:52ch;font-size:16px}
.trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.trust span{font-size:12px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;color:var(--text)}
section{margin:22px 0}
h2{font-family:var(--display);font-weight:700;font-size:21px;color:var(--gold);margin:0 0 12px}
h3{font-size:15px;margin:0 0 8px;color:var(--gold-hi)}
.card{background:var(--lacquer);border:1px solid var(--line);border-radius:14px;padding:18px}
form.birth{display:grid;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}
form.birth .f{display:grid;gap:6px;min-width:0}
form.birth .s2{grid-column:span 2}.s3{grid-column:span 3}.s6{grid-column:1/-1}
label.l,.lab{font-size:12px;letter-spacing:.05em;color:var(--muted)}
input,select{font:inherit;font-size:16px;color:var(--text);background:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:10px;width:100%;min-width:0}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.seg{display:flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden}
.seg label{flex:1;text-align:center;padding:10px 4px;cursor:pointer;font-size:15px;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--gold);color:var(--ink);font-weight:700}
.seg label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:-3px}
.chk{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.chk input{width:18px;height:18px;flex:none}
.btn{font:inherit;font-weight:700;font-size:16px;border:0;border-radius:10px;padding:13px 16px;cursor:pointer;background:var(--ember);color:#fff;text-align:center;text-decoration:none;display:inline-block}
.btn:hover{background:var(--ember-hi)}
.btn.gold{background:var(--gold);color:var(--ink)}.btn.gold:hover{background:var(--gold-hi)}
.btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--text);font-weight:500}
.btn[disabled]{opacity:.5;cursor:wait}
.err{color:var(--bad);font-weight:600;margin:0}
.muted{color:var(--muted)} .small{font-size:13px}
/* 결과 */
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pillar{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 4px 12px;text-align:center;display:grid;gap:3px}
.pillar.day{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.pillar .pl{font-size:12px;color:var(--muted);letter-spacing:.1em}
.pillar .gd{font-size:12px;color:var(--gold);min-height:1.2em}
.pillar .gl{font-family:var(--display);font-weight:900;font-size:clamp(32px,8vw,50px);line-height:1.1}
.pillar .ko{font-size:12px;color:var(--muted)}
.e0{color:var(--wood)}.e1{color:var(--fire)}.e2{color:var(--earth)}.e3{color:var(--metal)}.e4{color:var(--water)}
.scorebox{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.big{font-family:var(--mono);font-size:clamp(56px,13vw,84px);line-height:1;color:var(--gold-hi);font-variant-numeric:tabular-nums}
.big span{font-size:.3em;color:var(--muted)}
.grade{display:inline-block;font-family:var(--display);font-weight:900;font-size:20px;color:var(--ink);background:var(--gold);border-radius:6px;padding:2px 10px;margin-top:8px}
.rank{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:6px 0;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.rank b{font-family:var(--mono);color:var(--gold-hi)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.bar{display:grid;grid-template-columns:5.5em 1fr 3.6em;gap:10px;align-items:center;font-size:13px;margin-bottom:8px}
.track{height:10px;background:var(--panel);border-radius:6px;overflow:hidden}
.fill{height:100%;background:linear-gradient(90deg,var(--ember),var(--gold));border-radius:6px}
.val{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}
canvas{width:100%;height:150px;display:block;background:var(--ink);border:1px solid var(--line);border-radius:10px}
ul.read{margin:0;padding-left:1.1em;display:grid;gap:8px}
/* 잠긴 맛보기 */
.locked{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.lk{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:4px}
.lk .k{font-size:12px;color:var(--muted)} .lk .v{font-family:var(--display);font-weight:700;font-size:18px}
.lk .v.blur{filter:blur(6px);user-select:none}
/* 상품 */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.prod{background:var(--lacquer);border:1px solid var(--line);border-radius:16px;padding:20px 18px;display:grid;gap:12px;align-content:start;position:relative}
.prod.best{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 10px 40px rgba(233,194,122,.12)}
.prod .badge{position:absolute;top:-11px;left:16px;background:var(--gold);color:var(--ink);font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px}
.prod h3{font-family:var(--display);font-size:19px;margin:0;color:var(--text)}
.prod .price{font-family:var(--mono);font-size:30px;color:var(--gold-hi);line-height:1}
.prod .price small{font-family:var(--body);font-size:14px;color:var(--muted);margin-left:2px}
.prod ul{margin:0;padding-left:1.1em;display:grid;gap:4px;font-size:14px}
.prod .btn{width:100%}
/* 결제 창 */
dialog{border:0;padding:0;background:transparent;max-width:min(560px,100vw);width:100%;color:var(--text)}
dialog::backdrop{background:rgba(8,4,3,.72)}
.pay{background:var(--lacquer);border:1px solid var(--line2);border-radius:16px;padding:18px;display:grid;gap:12px;max-height:92vh;overflow:auto}
.pay .head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pay .head button{background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}
.sum{display:grid;gap:4px;background:var(--panel);border-radius:10px;padding:12px}
.sum .row{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.sum .row b{font-family:var(--mono);font-size:18px;color:var(--gold-hi)}
#payment-method,#agreement{background:#fff;border-radius:10px;min-height:20px;color:#111}
.testnote{font-size:12px;background:var(--test-bg);color:var(--test-fg);border-radius:8px;padding:8px 10px}
/* 안내·약관 */
.faq details{border-bottom:1px solid var(--line);padding:10px 0}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0;color:var(--muted)}
.doc h1{font-family:var(--display);color:var(--gold);font-size:26px;margin:28px 0 8px}
.doc h2{font-size:17px;margin:22px 0 6px}
.doc p,.doc li{color:var(--text);max-width:72ch}
.doc table{border-collapse:collapse;width:100%;font-size:14px}.doc th,.doc td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
footer.biz{border-top:1px solid var(--line);margin-top:40px;padding:18px 0 40px;font-size:12px;color:var(--muted);display:grid;gap:6px}
footer.biz .links a{margin-right:14px;color:var(--text)}
@media (max-width:620px){form.birth{grid-template-columns:repeat(2,minmax(0,1fr))}form.birth .s2,form.birth .s3{grid-column:span 1}form.birth .w2{grid-column:1/-1}.scorebox{grid-template-columns:1fr}.top nav{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* 7대 관심사 */
.fgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:center}
.radar svg{max-width:420px;margin:0 auto;display:block}
.ftags{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ftags li{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:15px}
.ftags li span{font-family:var(--display);font-weight:700}
.heatlock{position:relative;border:1px solid var(--line);border-radius:12px;padding:14px;overflow:hidden}
.hgrid{display:grid;grid-template-columns:3em repeat(12,1fr);gap:3px;filter:blur(3px);opacity:.75}
.hgrid i{font-style:normal;font-size:11px;color:var(--muted);text-align:center;line-height:22px}
.hgrid .r{text-align:left;color:var(--text)} .hgrid .c{border-radius:4px;background:var(--panel)}
.hgrid .c:nth-child(5n+2){background:#2f5f3c}.hgrid .c:nth-child(7n+3){background:#7a4320}.hgrid .c:nth-child(11n+4){background:#3f8f58}
.lockmsg{position:absolute;inset:44px 14px 14px;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;background:radial-gradient(closest-side,rgba(var(--veil),.92),rgba(var(--veil),.55))}
.lockmsg b{font-family:var(--display);font-size:18px;color:var(--gold-hi)} .lockmsg span{font-size:13px;color:var(--muted);max-width:34ch}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}.ftags{grid-template-columns:1fr 1fr}.ftags li{padding:7px 10px;font-size:14px}.hgrid{grid-template-columns:2.6em repeat(12,1fr)}.hgrid i{font-size:9px}}
.ftags li.na{opacity:.6;border-style:dashed}
/* 왜 사주를 보나 */
.whyhead{margin:0;font-family:var(--display);font-size:18px;color:var(--gold-hi);line-height:1.5}
.whylist{margin:0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:w}
.whylist li{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:12px 14px;display:grid;gap:6px;counter-increment:w}
.whylist p{margin:0}.whylist .wv{font-size:13px;color:var(--muted)}
.wh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wh b{font-family:var(--display);font-size:16px}.wh b::before{content:counter(w) ". ";color:var(--gold)}
.wl{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.wl i{width:70px;height:6px;background:var(--ink);border-radius:3px;overflow:hidden;display:block}.wl em{display:block;height:100%;background:var(--ember)}
.prod .pimg{width:calc(100% + 36px);height:auto;margin:-20px -18px 0;border-radius:15px 15px 0 0;display:block;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line)}
.prod.best .pimg{border-bottom-color:var(--gold)}
.prod .badge{z-index:1}
.pterms{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.pterms dt{color:var(--text);font-weight:600}.pterms dd{margin:0}
/* ===== 대표(사주) · 2순위(자미두수·타로) 소개 ===== */
.eyebrow{margin:0;font-size:12.5px;letter-spacing:.14em;color:var(--muted)}
.eyebrow b{display:inline-block;background:var(--ember);color:#fff;letter-spacing:.04em;border-radius:4px;padding:1px 8px;margin-right:8px;font-size:12px}
.flag{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:44px 0 30px}
.flag-copy{display:grid;gap:14px;min-width:0}
.flag h1{font-family:var(--display);font-weight:900;font-size:clamp(36px,6.6vw,60px);line-height:1.1;margin:0;color:var(--gold-hi);text-wrap:balance;letter-spacing:-.01em}
.flag h1 em{font-style:normal;color:var(--ember-hi)}
.flag .lead{margin:0;color:var(--muted);max-width:44ch;font-size:16px}
.flag-cta{display:flex;flex-wrap:wrap;gap:10px}
.flag-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:4px 26px;margin:6px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.flag-stats div{display:grid}.flag-stats dt{font-size:12px;color:var(--muted)}
.flag-stats dd{margin:0;font-family:var(--mono);font-size:22px;color:var(--gold-hi);font-variant-numeric:tabular-nums}.flag-stats small{font-family:var(--body);font-size:12px;color:var(--muted);margin-left:2px}
.flag-art{margin:0;background:linear-gradient(180deg,var(--art1),var(--art2));border:1px solid var(--gold);border-radius:20px;padding:18px;display:grid;gap:14px;box-shadow:0 30px 60px var(--shadow),0 0 0 6px rgba(233,194,122,.06);transform:rotate(1.2deg)}
.fa-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fa-board div{display:grid;justify-items:center;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:6px 0 8px}
.fa-board div.d{border-color:var(--gold)}
.fa-board span{font-size:11px;color:var(--muted)}.fa-board b{font-family:var(--display);font-weight:900;font-size:clamp(26px,4.4vw,38px);line-height:1.15}
.e0{color:var(--wood)}.e1{color:var(--fire)}.e2{color:var(--earth)}.e3{color:var(--metal)}.e4{color:var(--water)}
.fa-score{display:flex;align-items:center;gap:16px}
.fa-score .ring{--p:80;width:86px;height:86px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0)}
.fa-score .ring span{width:68px;height:68px;border-radius:50%;background:var(--art2);display:grid;place-items:center;font-family:var(--mono);font-size:20px;color:var(--gold-hi)}
.fa-score b{display:block;font-family:var(--display);font-size:20px;color:var(--gold-hi)}.fa-score small{color:var(--text);font-size:13px;line-height:1.5}
.flag-art figcaption{font-size:11.5px;color:var(--muted);text-align:center}
.duo{padding:8px 0 30px}
.duo-h{font-size:clamp(20px,3.4vw,26px);color:var(--text);text-wrap:balance;word-break:keep-all}.duo-h em{font-style:normal;color:var(--gold-hi)}
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.duo-card{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:var(--text);background:var(--lacquer);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s,border-color .2s}
.duo-card:hover,.duo-card:focus-visible{transform:translateY(-3px);border-color:var(--gold);outline:none}
.duo-art{height:170px;display:grid;place-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.duo-card.zw .duo-art{background:radial-gradient(260px 140px at 50% 50%,#1d2a52,#0e1124)}
.duo-card.tr .duo-art{background:radial-gradient(260px 140px at 50% 60%,#4a1d12,#160a08)}
.zwmap{display:grid;grid-template-columns:repeat(4,58px);grid-template-rows:repeat(4,34px);gap:3px}
.zwmap i{font-style:normal;display:grid;place-items:center;font-family:var(--display);font-size:13px;color:#c9d4ff;border:1px solid rgba(160,180,255,.25);border-radius:4px;line-height:1.05;text-align:center}
.zwmap i small{display:block;font-size:9px;color:#ffd98a}
.zwmap i.c{grid-column:2/4;grid-row:2/4;border-color:rgba(255,217,138,.5);color:#ffd98a;font-size:15px;font-weight:700}
.zwmap i.me{border-color:#ffd98a;background:rgba(255,217,138,.12);color:#fff}
.zwmap i:nth-child(7){grid-column:4;grid-row:2}.zwmap i:nth-child(8){grid-column:1;grid-row:3}.zwmap i:nth-child(9){grid-column:4;grid-row:3}
.zwmap i:nth-child(5){grid-column:1;grid-row:2}
#duoTarot{display:flex;justify-content:center;align-items:center}
#duoTarot span{width:78px;margin:0 -8px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}#duoTarot svg{width:100%;height:auto;display:block}
#duoTarot span:nth-child(1){transform:rotate(-12deg) translateY(10px)}#duoTarot span:nth-child(2){transform:translateY(-6px);z-index:1}#duoTarot span:nth-child(3){transform:rotate(12deg) translateY(10px)}
.duo-body{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}
.duo-body h3{margin:0;font-family:var(--display);font-size:21px;color:var(--ember-hi)}.duo-body p{margin:0;font-size:14.5px}
.duo-body .eyebrow{font-size:11.5px}
.duo-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px!important;padding-top:10px;border-top:1px dashed var(--line2)}
.duo-meta span{font-size:12.5px;color:var(--muted)}.duo-meta b{font-family:var(--mono);font-size:20px;color:var(--gold-hi)}
.sub2{margin-top:26px}
.products.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){
  .flag{grid-template-columns:1fr;padding-top:30px;gap:22px}.flag-art{transform:none}
  .flag-stats{grid-template-columns:repeat(2,auto);gap:8px 28px}
  .duo-grid,.products.two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.duo-card{transition:none}}
.mailbox{display:grid;gap:6px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.mailbox label{font-weight:700;color:var(--gold-hi)}
.mailbox div{display:flex;gap:8px;flex-wrap:wrap}
.mailbox input{flex:1 1 220px;min-width:0}
.mailbox p{margin:0}
/* 왜 고트사주인가 */
.why-goat{padding:10px 0 34px;display:grid;gap:14px}
.wg-h{font-size:clamp(22px,4vw,32px);line-height:1.3;color:var(--text);margin:0;text-wrap:balance}.wg-h em{font-style:normal;color:var(--gold-hi)}
.wg-lead{margin:0;color:var(--muted);max-width:62ch;font-size:15.5px}
.wg-score{display:flex;border-radius:12px;overflow:hidden;border:1px solid var(--gold);margin:6px 0 4px}
.wg-score div{flex:var(--w) 1 0;min-width:0;padding:12px 10px;display:grid;gap:1px;background:linear-gradient(180deg,rgba(233,194,122,.16),rgba(233,194,122,.04))}
.wg-score div+div{border-left:1px solid var(--line2)}
.wg-score b{font-family:var(--display);font-size:18px;color:var(--gold-hi)}.wg-score span{font-family:var(--mono);font-size:14px;color:var(--text)}.wg-score small{font-size:12px;color:var(--muted)}
.wg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wg-grid article{background:var(--lacquer);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;gap:8px;align-content:start}
.wg-grid h3{margin:0;font-family:var(--display);font-size:18px;color:var(--gold-hi)}.wg-grid p{margin:0;font-size:14.5px}
.wg-q{font-family:var(--display);font-size:17px!important;color:var(--gold);border-left:2px solid var(--ember);padding-left:10px}.wg-q span{font-family:var(--body);font-size:12px;color:var(--muted)}
@media (max-width:760px){.wg-grid{grid-template-columns:1fr}.wg-score b{font-size:15px}.wg-score div{padding:10px 6px}}
.prod .price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.prod .pgs{margin-left:auto;font-family:var(--body);font-size:13px;color:var(--text);border:1px solid var(--gold);border-radius:999px;padding:3px 10px;align-self:center}
.prod .pgs b{font-family:var(--mono);color:var(--gold-hi);font-size:15px}
.toc{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--soft);font-size:13.5px}
.toc summary{cursor:pointer;color:var(--gold);font-weight:700}
.toc ol{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.toc li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:3px}
.toc li b{flex:none;font-family:var(--mono);font-weight:500;color:var(--gold-hi);font-size:13px}
.toc p{margin:8px 0 0;color:var(--muted);font-size:12.5px}

/* 화면 밝기 전환 버튼 */
.theme-tg{font:inherit;font-size:13px;color:var(--text);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:5px 12px;cursor:pointer;margin-left:14px;white-space:nowrap}
.theme-tg:hover{border-color:var(--gold);color:var(--gold)}
.top{flex-wrap:wrap}.top nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}
html,body{overflow-x:clip}
/* 하늘에서 사주가 내려와 자리에 앉는 장면 — 하늘 빛기둥, 금가루, 착지 충격파, 마지막 금빛 폭발 */
.fa-board b{position:relative;display:block}
.fa-board div{position:relative;overflow:visible}
.flag-art{isolation:isolate}
.rain .fa-board b,.rain .fa-score .ring,.rain .fa-score > div:last-child{opacity:0}
.rain::before{content:"";position:absolute;left:50%;top:-70%;width:78%;height:170%;transform:translateX(-50%);z-index:-1;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse 50% 60% at 50% 40%,color-mix(in srgb,var(--gold-hi) 55%,transparent),transparent 70%),linear-gradient(to bottom,transparent,color-mix(in srgb,var(--gold) 26%,transparent) 30%,transparent 92%);filter:blur(6px)}
.rain.go::before{animation:beam 3.6s ease-out both}
.heaven-cap{position:absolute;left:0;right:0;top:-46px;text-align:center;font-family:var(--display);font-weight:900;font-size:18px;letter-spacing:.5em;color:var(--gold-hi);opacity:0;pointer-events:none;text-shadow:0 0 14px color-mix(in srgb,var(--gold) 70%,transparent)}
.rain.go .heaven-cap{animation:cap 3.4s ease-out both}
.dust{position:absolute;top:-120px;width:3px;height:3px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 6px var(--gold-hi);opacity:0;pointer-events:none;z-index:2;animation:dust var(--t) linear var(--d) both}
.rain.go .fa-board b{animation:fall .75s cubic-bezier(.5,0,.75,0) var(--d) both,land .45s ease-out calc(var(--d) + .75s) forwards}
.rain.go .fa-board b::before{content:"";position:absolute;left:50%;bottom:60%;width:4px;height:240px;transform:translateX(-50%);border-radius:4px;background:linear-gradient(to top,var(--gold-hi),color-mix(in srgb,var(--gold) 40%,transparent) 40%,transparent);filter:blur(1px);opacity:0;animation:streak .9s ease-out var(--d) both;pointer-events:none}
.rain.go .fa-board b::after{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;border:2px solid var(--gold-hi);opacity:0;animation:shock .6s ease-out calc(var(--d) + .72s) both;pointer-events:none}
.rain.go .fa-board div{animation:seat .7s ease-out var(--s) both}
.rain.hit{animation:quake .22s ease-out}
.rain .burst{position:absolute;inset:-30%;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold-hi) 60%,transparent),transparent 60%);opacity:0;pointer-events:none}
.rain.go .burst{animation:burst 1.4s ease-out 2.55s both}
.rain .shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,#fff 45%,transparent) 50%,transparent 65%);background-size:250% 100%;background-position:150% 0;opacity:0}
.rain.go .shine{animation:shine 1.1s ease-in-out 2.6s both}
.rain.go .fa-score .ring{animation:rise .5s ease-out 2.6s both}
.rain.go .fa-score > div:last-child{animation:gradeIn .6s cubic-bezier(.2,1.4,.4,1) 3.05s both}
@keyframes beam{0%{opacity:0}15%{opacity:1}70%{opacity:.75}100%{opacity:.18}}
@keyframes cap{0%{opacity:0;transform:translateY(-10px);letter-spacing:.9em}18%{opacity:1;transform:none;letter-spacing:.5em}78%{opacity:1}100%{opacity:0}}
@keyframes dust{0%{opacity:0;transform:translateY(0)}10%{opacity:.95}85%{opacity:.7}100%{opacity:0;transform:translateY(var(--h))}}
@keyframes fall{0%{opacity:0;transform:translateY(-420px) scale(2.3);filter:blur(6px)}25%{opacity:1}100%{opacity:1;transform:translateY(0) scale(1.08);filter:blur(0);text-shadow:0 0 26px var(--gold-hi),0 0 8px var(--gold-hi)}}
@keyframes land{0%{opacity:1;transform:scale(1.08) translateY(0);text-shadow:0 0 26px var(--gold-hi)}35%{transform:scale(.94,1.04) translateY(3px)}100%{opacity:1;transform:none;text-shadow:0 0 0 transparent}}
@keyframes streak{0%{opacity:0}20%{opacity:1}80%{opacity:.8}100%{opacity:0}}
@keyframes shock{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.9)}}
@keyframes seat{0%{box-shadow:none}35%{box-shadow:0 0 0 1px var(--gold) inset,0 0 34px -2px var(--gold),0 0 70px -10px var(--gold-hi)}100%{box-shadow:none}}
@keyframes quake{0%{translate:0 0}25%{translate:0 4px}55%{translate:0 -2px}100%{translate:0 0}}
@keyframes burst{0%{opacity:0;transform:scale(.4)}25%{opacity:.85}100%{opacity:0;transform:scale(1.35)}}
@keyframes shine{0%{opacity:1;background-position:150% 0}100%{opacity:1;background-position:-60% 0}}
@keyframes rise{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
@keyframes gradeIn{0%{opacity:0;transform:scale(1.8);filter:blur(3px)}100%{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.rain .fa-board b,.rain .fa-score .ring,.rain .fa-score > div:last-child{opacity:1;animation:none!important}.rain::before,.rain .burst,.rain .shine,.heaven-cap,.dust{display:none}}

/* 경고 문구 */
footer.biz .warn{border:1px solid var(--ember);border-left-width:4px;border-radius:10px;padding:12px 14px;background:color-mix(in srgb,var(--ember) 8%,transparent);color:var(--text);font-size:13px;line-height:1.6;display:grid;gap:4px;margin-bottom:6px}
footer.biz .warn b:first-child{color:var(--ember-hi);font-size:14px}
footer.biz .warn p{margin:0}
.paywarn{font-size:12.5px;line-height:1.55;margin:0;padding:9px 11px;border-radius:8px;border:1px solid var(--line2);background:var(--soft);color:var(--text)}
.paywarn b{color:var(--ember-hi)}

/* 자주 묻는 질문 */
.faq .faq-g{margin:18px 0 6px;font-family:var(--display);font-size:16px;color:var(--gold-hi);border-bottom:1px solid var(--line);padding-bottom:6px}
.faq details{border-bottom:1px dashed var(--line);padding:2px 0}
.faq summary{cursor:pointer;padding:10px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-family:var(--mono);flex:none}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 0 12px;font-size:14.5px;line-height:1.75;color:var(--text);max-width:70ch}
.faq .ans p{margin:0 0 8px;color:var(--text)}.faq .ans ul{margin:0 0 8px;padding-left:1.2em;display:grid;gap:4px}
