/* dayfortune.co 랜딩·법적 고지·블로그 공통 — 토큰은 design/app/app.css 와 같다(흰 바탕 + 남보라 강조 1색) */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@800&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
:root{
  --bg:#FFFFFF;--surface-2:#F7F7FA;--ink:#16182B;--ink-2:#45485F;--muted:#7A7D92;--line:#E5E6EE;
  --accent:#4F4AA8;--accent-hover:#433E96;--accent-soft:rgba(79,74,168,.08);--moon:#C9A24E;
  --kr:#A0605C;--west:#5F78A6;--ved:#9A7849;--num:#4F857C;--cn:#7B6EA6;--tj:#A57766;--zw:#6C7FAE;
  --r-lg:28px;--r-md:20px;--r-sm:14px;--max:1120px;--read:720px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:'Pretendard Variable',Pretendard,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;text-wrap:pretty}
a{color:var(--accent)}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
@media (max-width:640px){.wrap{padding:0 16px}}

/* 머리글 */
.hdr{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);box-shadow:inset 0 -1px 0 var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{font-family:'Manrope','Pretendard Variable',system-ui,sans-serif;font-weight:800;font-size:19px;letter-spacing:-.025em;color:var(--ink);text-decoration:none}
.brand i{font-style:normal;color:var(--moon)}
.hdr nav{margin-left:auto;display:flex;gap:4px}
.hdr nav a{padding:8px 11px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.hdr nav a:hover,.hdr nav a[aria-current]{background:rgba(22,24,43,.05);color:var(--ink)}
@media (max-width:560px){.hdr nav a.opt{display:none}}

/* 첫 화면 */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:72px;padding-bottom:56px}
.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.12;letter-spacing:-.03em;font-weight:800}
.hero .lead{margin-top:20px;font-size:18px;color:var(--ink-2);max-width:34em}
.hero .art{aspect-ratio:1;background:url(/img/hero.webp) center/contain no-repeat}
@media (max-width:820px){.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:32px}.hero .art{display:none}}
.cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:15px}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--moon)}
.cta a{font-weight:700;font-size:15px;text-decoration:none;padding:12px 6px}

/* 구역 */
section{padding:56px 0;border-top:1px solid var(--line)}
section h2{font-size:clamp(24px,3vw,32px);line-height:1.25;letter-spacing:-.02em;font-weight:800}
section .sub{margin-top:10px;color:var(--ink-2);max-width:40em}

/* 운세 7가지 */
.systems{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.sys{border:1px solid var(--line);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:8px}
.sys img{width:96px;height:96px;object-fit:contain;margin-bottom:4px}
.sys h3{font-size:17px;font-weight:800}
.sys p{font-size:14.5px;color:var(--ink-2)}
.sys .need{margin-top:auto;padding-top:8px;font-size:13px;color:var(--muted)}

/* 계산 근거 */
.proof{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proof h3{font-size:17px;font-weight:800}
.proof p{margin-top:6px;font-size:15px;color:var(--ink-2)}
@media (max-width:820px){.proof{grid-template-columns:1fr}}

/* 가격 */
.price-box{margin-top:28px;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}
.price-box .amt{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1}
.price-box .amt small{display:block;font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:8px}
.topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.topics li{padding:7px 14px;border-radius:999px;background:var(--surface-2);font-size:14px;font-weight:600}
.price-box ul.facts{margin-top:16px;padding-left:18px;color:var(--ink-2);font-size:15px}
.price-box ul.facts li+li{margin-top:4px}
@media (max-width:640px){.price-box{grid-template-columns:1fr;padding:22px}}

/* 자주 묻는 질문 */
.faq{margin-top:24px;max-width:var(--read)}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--muted);font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin-top:10px;color:var(--ink-2)}
.note{margin-top:20px;font-size:14px;color:var(--muted);max-width:var(--read)}

/* 글 (법적 고지·블로그) */
.doc{max-width:var(--read);margin:0 auto;padding:48px 24px 72px}
@media (max-width:640px){.doc{padding:32px 16px 56px}}
.doc h1{font-size:clamp(28px,4vw,38px);line-height:1.2;letter-spacing:-.025em;font-weight:800}
.doc .meta{margin-top:10px;color:var(--muted);font-size:14px}
.doc h2{margin-top:40px;font-size:22px;line-height:1.3;letter-spacing:-.015em;font-weight:800}
.doc h3{margin-top:24px;font-size:17px;font-weight:800}
.doc p,.doc ul,.doc ol,.doc table,.doc blockquote{margin-top:14px}
.doc ul,.doc ol{padding-left:22px}
.doc li+li{margin-top:6px}
.doc table{width:100%;border-collapse:collapse;font-size:14.5px;display:block;overflow-x:auto}
.doc th,.doc td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.doc th{background:var(--surface-2);font-weight:700}
.doc blockquote{border-left:3px solid var(--line);padding-left:16px;color:var(--ink-2)}
.posts{list-style:none;margin-top:28px;padding:0}
.posts li{border-bottom:1px solid var(--line);padding:20px 0}
.posts a{font-size:19px;font-weight:800;text-decoration:none;color:var(--ink)}
.posts a:hover{color:var(--accent)}
.posts p{margin-top:6px;color:var(--ink-2);font-size:15px}

/* 바닥글 */
.ftr{border-top:1px solid var(--line);padding:32px 0 48px;font-size:13px;color:var(--muted)}
.ftr .links{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}
.ftr .links a{color:var(--ink-2);font-weight:600;text-decoration:none}
.ftr p+p{margin-top:4px}

/* 언어 고르기 */
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;padding:8px 11px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.lang summary::-webkit-details-marker{display:none}
.lang summary::after{content:"";display:inline-block;width:6px;height:6px;margin-inline-start:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.lang[open] summary,.lang summary:hover{background:rgba(22,24,43,.05);color:var(--ink)}
.lang-list{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(22,24,43,.10);padding:6px;display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:2px;z-index:20}
.lang-list a{padding:8px 10px;border-radius:10px;font-size:14px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.lang-list a:hover{background:var(--surface-2);color:var(--ink)}
.lang-list a[aria-current]{color:var(--accent);font-weight:700}
@media (max-width:560px){.lang-list{grid-template-columns:1fr;max-height:70vh;overflow:auto}}

/* 오른쪽→왼쪽 언어 */
[dir=rtl] .hdr nav{margin-left:0;margin-right:auto}
[dir=rtl] .doc blockquote{border-left:0;border-right:3px solid var(--line);padding-left:0;padding-right:16px}
[dir=rtl] .doc th,[dir=rtl] .doc td{text-align:right}
[dir=rtl] .price-box ul.facts{padding-left:0;padding-right:18px}

/* 문자 체계별 글꼴 — Pretendard 에 없는 글자는 운영체제 글꼴이 한 벌로 그리게 한다 */
html:lang(ja) body{font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',system-ui,sans-serif}
html:lang(zh-Hans) body{font-family:'PingFang SC','Noto Sans SC','Microsoft YaHei',system-ui,sans-serif}
html:lang(zh-Hant) body{font-family:'PingFang TC','Noto Sans TC','Microsoft JhengHei',system-ui,sans-serif}
html:lang(ar) body{font-family:'Geeza Pro','Noto Sans Arabic','Segoe UI',system-ui,sans-serif}
html:lang(hi) body{font-family:'Kohinoor Devanagari','Noto Sans Devanagari','Nirmala UI',system-ui,sans-serif}
html:lang(th) body{font-family:'Thonburi','Noto Sans Thai','Leelawadee UI',system-ui,sans-serif;line-height:1.75}
html:lang(ja) body,html:lang(zh-Hans) body,html:lang(zh-Hant) body{word-break:normal;line-break:strict}
