/* 사주팔자 플러그인 스타일 (sp- 프리픽스로 테마 충돌 방지) */
.sp-wrap{
  --sp-ink:#2b2b33;--sp-soft:#5b5b66;--sp-card:#fff;--sp-line:#e7e1d6;
  --sp-brand:#6b4fa3;--sp-brand-d:#513c80;
  --sp-mok:#2e8b57;--sp-hwa:#c0392b;--sp-to:#b8860b;--sp-geum:#8a8f99;--sp-su:#2c3e6b;
  max-width:680px;margin:0 auto;color:inherit;line-height:1.7;
  font-family:inherit;
}
.sp-wrap *{box-sizing:border-box}

/* 카드는 항상 흰 배경이므로 내부 글자색을 어둡게 고정(다크모드에서도 카드 안은 가독성 유지) */
.sp-form,.sp-card{background:var(--sp-card);color:var(--sp-ink);border:1px solid var(--sp-line);border-radius:14px;box-shadow:0 4px 18px rgba(40,30,60,.07);padding:20px;margin:16px 0}
.sp-field{margin-bottom:16px}
.sp-field>label{display:block;font-weight:700;margin-bottom:8px;font-size:14px}
.sp-opt{font-weight:400;color:var(--sp-soft);font-size:12px}
.sp-row{display:flex;gap:8px}
.sp-row select{flex:1;min-width:0;padding:12px 10px;font-size:15px;border:1px solid var(--sp-line);border-radius:10px;background:#fff;color:var(--sp-ink)}
.sp-seg{gap:10px}
.sp-seg-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--sp-line);border-radius:10px;cursor:pointer;font-size:15px}
.sp-seg-opt:has(input:checked){border-color:var(--sp-brand);background:#f3effa;color:var(--sp-brand-d);font-weight:700}
.sp-btn{display:block;width:100%;padding:15px;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,var(--sp-brand),var(--sp-brand-d));color:#fff;font-size:17px;font-weight:800;text-align:center;text-decoration:none}
.sp-btn:hover{filter:brightness(1.05);color:#fff}
.sp-note{font-size:12px;color:var(--sp-soft);text-align:center;margin:12px 0 0}

/* 상단(카드 밖) 텍스트는 테마 색을 따라감 — 다크모드에서도 자동 가독 */
.sp-result-head{text-align:center;margin:6px 0 18px}
.sp-h1{font-size:19px;margin:0 0 8px;color:inherit}
.sp-palja{font-size:22px;font-weight:800;letter-spacing:1px;margin:0 0 6px;color:inherit}
.sp-palja .sp-hanja{font-size:14px;color:inherit;opacity:.6;font-weight:400}
.sp-zodiac{font-size:14px;color:inherit;opacity:.75;margin:0}

.sp-card-title{margin:0 0 14px;font-size:17px}
.sp-pillars{width:100%;border-collapse:separate;border-spacing:8px;text-align:center}
.sp-pillars th{font-size:13px;color:var(--sp-soft);font-weight:700}
.sp-pillars td{border-radius:12px;padding:12px 4px;color:#fff}
.sp-pillars td.sp-empty{background:#eee;color:#aaa}
.sp-pillars td .sp-han{display:block;font-size:26px;font-weight:800;line-height:1.1}
.sp-pillars td .sp-ko{display:block;font-size:12px;opacity:.9;margin-top:2px}
.sp-mok{background:var(--sp-mok)}.sp-hwa{background:var(--sp-hwa)}.sp-to{background:var(--sp-to)}.sp-geum{background:var(--sp-geum)}.sp-su{background:var(--sp-su)}

.sp-elements{display:flex;gap:8px;margin-top:16px}
.sp-elem{flex:1;text-align:center;border-radius:10px;padding:10px 4px;color:#fff}
.sp-elem .sp-lab{display:block;font-size:13px;font-weight:700}
.sp-elem .sp-cnt{display:block;font-size:20px;font-weight:800}
.sp-elem.sp-zero{opacity:.3}
.sp-hint,.sp-notice{font-size:13px;color:var(--sp-soft);margin-top:12px}
.sp-notice{background:#fff8e6;border-color:#f0e2b8;color:#8a6d1f}

.sp-interp h3{font-size:17px;color:var(--sp-brand-d);margin:22px 0 8px;padding-left:10px;border-left:4px solid var(--sp-brand)}
.sp-interp h3:first-child{margin-top:0}
.sp-interp p{margin:0 0 12px;font-size:15.5px}
.sp-interp .sp-disc{font-size:12.5px;color:var(--sp-soft);margin-top:18px;border-top:1px dashed var(--sp-line);padding-top:12px}

.sp-loading{text-align:center;padding:40px 16px}
.sp-spinner{width:46px;height:46px;margin:0 auto 18px;border:4px solid var(--sp-line);border-top-color:var(--sp-brand);border-radius:50%;animation:sp-spin .9s linear infinite}
@keyframes sp-spin{to{transform:rotate(360deg)}}
.sp-loading-t{font-weight:800;font-size:16px;margin:0 0 6px;color:var(--sp-brand-d)}
.sp-loading-s{font-size:13px;color:var(--sp-soft);margin:0}
/* 엿보기 갤러리 */
.sp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:16px 0}
.sp-gcard{background:var(--sp-card);color:var(--sp-ink);border:1px solid var(--sp-line);border-radius:12px;box-shadow:0 4px 18px rgba(40,30,60,.07);padding:16px;display:flex;flex-direction:column}
.sp-gmeta{font-weight:800;font-size:13.5px;color:var(--sp-brand-d);margin-bottom:8px;line-height:1.5}
.sp-gteaser{font-size:13.5px;line-height:1.65;margin:0 0 10px;color:var(--sp-ink);flex:1}
.sp-gmore{font-size:12px;color:var(--sp-soft)}
.sp-gempty{text-align:center;padding:34px 16px;color:var(--sp-soft)}
.sp-error p{margin:0 0 12px}
.sp-again{margin:22px 0}
.sp-ad{margin:18px 0;min-height:60px}

@media (max-width:520px){.sp-pillars td .sp-han{font-size:22px}.sp-elem .sp-cnt{font-size:18px}}
