:root {
  --ink: #26241f;
  --muted: #777267;
  --line: #e9e3d8;
  --paper: #fbfaf7;
  --cream: #f4efe6;
  --wine: #8b3d49;
  --wine-dark: #6d2935;
  --gold: #c69a54;
  --sage: #718a79;
  --shadow: 0 20px 50px rgba(62, 48, 31, .10);
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'Noto Sans KR', sans-serif; font-size: 16px; line-height: 1.65; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.topbar { height: 92px; display:flex; align-items:center; justify-content:space-between; border-bottom: 1px solid var(--line); }
.brand { display:flex; align-items:center; border:0; padding:0; background:transparent; }
.brand-logo { display:block; width:270px; height:auto; max-height:78px; object-fit:contain; object-position:left center; }
.nav { display:flex; gap: 24px; color:var(--muted); font-size:14px; }
.nav button { background:none; border:0; color:inherit; }
.hero { display:grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items:center; padding: 84px 0 76px; }
.eyebrow { color:var(--wine); font-weight:800; font-size:13px; letter-spacing:.13em; }
h1, h2, h3, p { margin-top:0; }
h1, h2, h3, .brand { font-family:'Gowun Batang', serif; }
h1 { font-size: clamp(40px, 6vw, 72px); line-height:1.12; letter-spacing:-.075em; margin: 18px 0 24px; }
h2 { font-size: 32px; letter-spacing:-.06em; line-height:1.25; }
h3 { font-size: 20px; letter-spacing:-.04em; }
.lead { color:var(--muted); font-size:18px; max-width: 570px; }
.hero-actions { display:flex; gap: 12px; margin-top:34px; align-items:center; }
.btn { border:0; border-radius: 999px; padding: 14px 23px; font-weight:800; transition:.2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color:#fff; background:var(--wine); box-shadow: 0 10px 22px rgba(139,61,73,.22); }
.btn-primary:hover { background:var(--wine-dark); }
.btn-ghost { color:var(--ink); background:transparent; border:1px solid var(--line); }
.btn-small { padding: 10px 15px; font-size:13px; }
.test-secondary { margin-top:10px; box-shadow:none; }
.paid-ready { background:linear-gradient(135deg,#f8edf0,#f2eef7); border-color:#e0ccd4; }
.test-mode-note.paid { background:#edf6f0; border-color:#cfe4d5; }
.payment-result { min-height:calc(100vh - 76px); display:grid; place-items:center; padding:48px 20px; background:radial-gradient(circle at 75% 12%,#f4eaf2,transparent 35%),linear-gradient(145deg,#fbfaf7,#f4f0ea); }
.payment-result-card { width:min(680px,100%); padding:56px; border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.94); box-shadow:var(--shadow); text-align:center; }
.payment-result-card > span { display:inline-flex; padding:7px 12px; border-radius:999px; color:#2e6641; background:#e8f4ec; font-size:12px; font-weight:800; }
.payment-result-card.failed > span { color:var(--wine); background:#f9e9ec; }
.payment-result-card h1 { margin:20px auto 18px; font-size:42px; max-width:540px; }
.payment-result-card p { color:var(--muted); margin:0 auto 28px; max-width:520px; }
.checkout-page { background:radial-gradient(circle at 86% 6%,#f3e8ef,transparent 30%),var(--paper); }
.checkout-review { max-width:850px; margin:0 auto; padding:56px 24px 90px; }
.checkout-review > h1 { font-size:48px; margin:10px 0 18px; }
.checkout-card { margin-top:30px; padding:32px; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:var(--shadow); }
.checkout-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.checkout-summary article { min-height:126px; padding:20px; border:1px solid var(--line); border-radius:17px; background:#fcfbf9; }
.checkout-summary span,.checkout-summary small { display:block; color:var(--muted); }
.checkout-summary span { font-size:11px; font-weight:800; letter-spacing:.08em; }
.checkout-summary strong { display:block; margin:10px 0 5px; font-size:18px; word-break:break-word; }
.checkout-summary small { font-size:12px; }
.checkout-summary .price { background:#f8eff1; border-color:#ead6db; }
.checkout-summary .price strong { color:var(--wine); font-size:27px; }
.checkout-partner { margin-top:12px; padding:16px 19px; border-radius:14px; background:#f4f0f6; }
.checkout-partner span { display:block; color:var(--muted); font-size:11px; }
.checkout-partner b { display:block; margin-top:4px; }
.checkout-agreements { display:grid; gap:10px; margin:25px 0; }
.checkout-agreements label { display:flex; gap:11px; align-items:flex-start; padding:15px 17px; border:1px solid var(--line); border-radius:13px; cursor:pointer; }
.checkout-agreements input { width:19px; height:19px; margin-top:2px; accent-color:var(--wine); flex:none; }
.checkout-agreements span { font-size:14px; color:#4c4841; }
.checkout-notice { padding:17px 19px; border-radius:14px; background:#f7f3ec; }
.checkout-notice b { font-size:13px; }
.checkout-notice p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.checkout-actions { display:flex; justify-content:space-between; gap:12px; margin-top:25px; }
.hero-card { min-height: 390px; border-radius: 28px; padding: 28px; background: radial-gradient(circle at 80% 15%, #fff 0 14%, transparent 15%), linear-gradient(145deg,#f2e8dc,#e7d7cc); position:relative; overflow:hidden; box-shadow:var(--shadow); }
.hero-card:after { content:''; position:absolute; width:260px; height:260px; border-radius:50%; border:1px solid rgba(139,61,73,.22); right:-70px; bottom:-90px; box-shadow: 0 0 0 26px rgba(139,61,73,.06), 0 0 0 54px rgba(139,61,73,.04); }
.moon { font-size: 86px; color:var(--wine); font-family:'Playfair Display'; line-height:1; opacity:.9; }
.card-label { font-size:12px; color:var(--wine); font-weight:800; letter-spacing:.1em; }
.hero-card h3 { font-size:28px; max-width:260px; line-height:1.3; margin: 44px 0 10px; }
.quote { font-family:'Playfair Display'; font-size:18px; color:#604c42; max-width:260px; }
.section { padding: 70px 0; }
.section-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:28px; }
.section-head p { color:var(--muted); margin-bottom:3px; }
.segment-grid, .feature-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.product-card { min-height:0; text-align:left; border:1px solid var(--line); background:#fff; border-radius:18px; padding:0; position:relative; overflow:hidden; transition:.2s; }
.product-card:hover { border-color:var(--gold); box-shadow:var(--shadow); transform:translateY(-2px); }
.product-cover { aspect-ratio:2 / 2.55; position:relative; overflow:hidden; background:var(--cream); }
.product-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.product-badge { position:absolute; top:14px; left:14px; border-radius:8px; padding:4px 8px; color:#fff; background:#ed1c24; font-size:11px; font-weight:800; }
.product-copy { padding:17px 18px 20px; position:relative; }
.product-card strong { display:block; font-size:18px; letter-spacing:-.04em; margin:0 0 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.product-copy > span:not(.product-no) { display:block; color:var(--muted); font-size:14px; }
.product-card small { display:block; color:var(--wine); font-weight:800; margin-top:16px; }
.product-no { position:absolute; top:14px; right:17px; color:var(--gold); font-family:'Playfair Display'; font-size:19px; }
.selected-product { display:flex; justify-content:space-between; align-items:center; border:1px solid #ead8cd; border-radius:12px; padding:15px 16px; color:var(--wine); font-weight:800; background:#fbf1f1; }
.selected-product span { color:var(--muted); font-size:13px; font-weight:500; }
.trust-section { background:#f4efe6; }
.trust-grid, .review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.trust-card, .review-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:23px; }
.trust-card b { color:var(--wine); font-family:'Playfair Display'; font-size:25px; }
.trust-card strong { display:block; margin:14px 0 6px; }
.trust-card p, .review-card p { color:var(--muted); font-size:14px; margin:0; }
.review-top { display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.review-top b { color:var(--ink); } .review-card p { color:var(--ink); margin:19px 0; line-height:1.7; } .review-card small { color:var(--muted); font-size:12px; }
.preview-list { display:flex; flex-direction:column; gap:10px; margin-top:18px; padding:19px; border-radius:16px; background:#f8f4ed; font-size:13px; }
.preview-list span { color:var(--muted); }
.segment, .feature, .panel { border:1px solid var(--line); background:#fff; border-radius:18px; padding:24px; }
.segment { min-height: 155px; text-align:left; position:relative; overflow:hidden; }
.segment:hover { border-color: var(--gold); box-shadow: var(--shadow); }
.segment strong { display:block; font-size:18px; margin-bottom:6px; }
.segment span { color:var(--muted); font-size:14px; }
.segment b { position:absolute; right:22px; bottom:17px; color:var(--gold); font-size:25px; font-family:'Playfair Display'; }
.feature-grid { grid-template-columns:repeat(4,1fr); }
.feature strong { display:block; margin:14px 0 6px; }
.feature p { color:var(--muted); font-size:14px; margin:0; }
.feature-icon { font-size:25px; color:var(--wine); }
.footer { border-top:1px solid var(--line); padding:30px 0 45px; color:var(--muted); font-size:13px; }
.business-footer { padding:42px 0 48px; background:#f7f3ed; }
.footer-brand { display:flex; align-items:baseline; gap:14px; margin-bottom:19px; }
.footer-brand strong { color:var(--ink); font-family:'NanumGothic','Noto Sans KR',sans-serif; font-size:21px; }
.footer-brand span { font-size:13px; }
.footer-business { display:flex; flex-wrap:wrap; gap:6px 16px; max-width:980px; color:#6f685f; line-height:1.75; }
.footer-business span:not(:last-child)::after { content:''; display:inline-block; width:1px; height:10px; margin-left:16px; background:#d7cec2; }
.footer-legal { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 16px; }
.footer-legal button { padding:7px 11px; border:1px solid #d8cec2; border-radius:999px; background:#fffaf5; color:#4d4740; font-size:12px; font-weight:700; }
.footer-disclaimer { max-width:850px; margin:0 0 15px; color:#7d746b; line-height:1.7; }
.business-footer small { color:#9a9086; }
.legal-page { background:linear-gradient(180deg,#fffdf9 0,#f8f3f5 100%); }
.legal-shell { max-width:940px; padding-top:42px; padding-bottom:90px; }
.legal-back { padding:0; background:transparent; color:var(--muted); font-size:13px; font-weight:700; }
.legal-heading { margin:38px 0 30px; padding:42px 45px; border:1px solid #eadfd8; border-radius:28px; background:linear-gradient(135deg,#fff8f4,#f8f3fb); box-shadow:0 16px 45px rgba(77,57,65,.07); }
.legal-heading h1 { margin:10px 0 12px; font-size:48px; }
.legal-heading p { max-width:670px; margin:0 0 18px; color:#5f5751; line-height:1.8; }
.legal-heading span { color:#948981; font-size:12px; }
.legal-content { display:grid; gap:14px; }
.legal-content section,.legal-callout { padding:28px 30px; border:1px solid #e6ddd5; border-radius:20px; background:rgba(255,255,255,.9); }
.legal-content h2 { margin:0 0 13px; font-size:20px; }
.legal-content p,.legal-content li { color:#59534d; font-size:14px; line-height:1.9; }
.legal-content p { margin:0; }
.legal-content ul { margin:0; padding-left:21px; }
.legal-callout { background:#f7e9ec; }
.legal-callout b { display:block; margin-bottom:8px; color:var(--wine); }
.legal-callout a,.legal-content a,.checkout-agreements a { color:var(--wine); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-table-wrap { overflow-x:auto; margin-bottom:15px; }
.legal-table { width:100%; min-width:680px; border-collapse:collapse; font-size:13px; }
.legal-table th,.legal-table td { padding:13px 14px; border:1px solid #e7ddd6; text-align:left; vertical-align:top; line-height:1.65; }
.legal-table th { background:#f6efeb; color:#4b443f; }
.page { min-height:100vh; }
.progress { height:4px; background:var(--cream); } .progress i { display:block; height:100%; background:var(--wine); transition:.3s; }
.form-wrap, .report-wrap { max-width: 920px; margin:0 auto; padding: 52px 0 80px; }
.step-kicker { color:var(--wine); font-weight:800; font-size:13px; margin-bottom:9px; }
.form-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:32px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.couple-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; padding:18px; border:1px solid #ead8cd; border-radius:16px; background:#fbf5ef; }
.couple-note { margin-top:10px; }
.field { display:flex; flex-direction:column; gap:7px; } .field.full { grid-column:1/-1; }
.field label { font-size:14px; font-weight:700; } .hint { font-size:12px; color:var(--muted); font-weight:400; }
input, select, textarea { width:100%; padding:13px 14px; border:1px solid #ddd7cd; border-radius:11px; background:#fff; color:var(--ink); outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--wine); box-shadow:0 0 0 3px rgba(139,61,73,.11); }
textarea { min-height:96px; resize:vertical; }
.choices { display:flex; flex-wrap:wrap; gap:8px; } .choice { border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 15px; } .choice.active { color:var(--wine); border-color:var(--wine); background:#fbf1f1; font-weight:700; }
.form-actions { display:flex; justify-content:space-between; align-items:center; margin-top:28px; }
.note { padding:12px 15px; border-radius:12px; background:#f8f4ed; color:var(--muted); font-size:13px; }
.result-hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; margin-bottom:26px; }
.result-hero h1 { font-size:45px; margin:7px 0 10px; }
.pill { border-radius:999px; color:var(--wine); background:#f8e9e8; padding:8px 13px; font-size:13px; font-weight:700; white-space:nowrap; }
.result-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
.metric { margin:17px 0; } .metric-head { display:flex; justify-content:space-between; font-size:14px; margin-bottom:5px; } .bar { height:10px; border-radius:10px; background:#eee9e0; overflow:hidden; } .bar i { display:block; height:100%; border-radius:10px; background:var(--wine); }
.locked { background:linear-gradient(140deg,#fff, #faf2ec); border:1px solid #ead8cd; border-radius:18px; padding:24px; margin-top:18px; }
.locked ul { color:var(--muted); padding-left:20px; }
.price { font-size:34px; font-weight:800; letter-spacing:-.05em; } .price small { font-size:13px; font-weight:500; color:var(--muted); } .price-old { color:var(--muted); font-size:20px; font-weight:600; text-decoration:line-through; margin-right:8px; } .price-sale { color:var(--ink); }
.test-access { display:grid; gap:8px; margin:-4px -4px 22px; padding:18px; border:1px solid #dfc0c6; border-radius:16px; background:linear-gradient(135deg,#fff8fa,#f6eef6); }
.test-access span { width:max-content; padding:5px 9px; border-radius:999px; background:var(--wine); color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; }
.test-access strong { color:var(--ink); font-size:17px; line-height:1.5; }
.test-access p, .test-help { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.test-report-button { width:100%; margin-top:14px; }
.test-report-button:disabled { cursor:not-allowed; opacity:.6; transform:none; box-shadow:none; }
.test-help { margin-top:10px; text-align:center; }
.test-mode-note { display:flex; align-items:center; gap:10px; margin:0 0 22px; padding:14px 17px; border:1px solid #dfc0c6; border-radius:14px; background:#fff8fa; color:var(--muted); font-size:13px; }
.test-mode-note b { flex:none; color:var(--wine); }
.report-nav { display:flex; gap:8px; overflow:auto; padding: 8px 0 18px; } .report-nav button { flex:0 0 auto; border:1px solid var(--line); background:#fff; border-radius:999px; padding:8px 13px; font-size:13px; } .report-nav button.active { color:#fff; background:var(--wine); border-color:var(--wine); }
.report-layout { display:grid; grid-template-columns: 1fr 300px; gap:18px; } .report-content { min-height:520px; } .report-content h2 { margin-bottom:12px; } .report-content p { color:#5f5b54; } .report-side { height:max-content; position:sticky; top:20px; }
.action-list { padding:0; list-style:none; } .action-list li { display:flex; gap:10px; margin:12px 0; color:var(--muted); } .action-list b { color:var(--wine); }
.chat { display:flex; flex-direction:column; gap:12px; max-height:360px; overflow:auto; margin-bottom:16px; } .bubble { padding:12px 14px; border-radius:15px; max-width:90%; font-size:14px; } .bubble.ai { background:#f6f0e9; align-self:flex-start; } .bubble.me { background:var(--wine); color:#fff; align-self:flex-end; }
.chat-form { display:flex; gap:7px; } .chat-form input { min-width:0; }
.toast { position:fixed; right:22px; bottom:22px; background:#26241f; color:#fff; padding:13px 17px; border-radius:10px; box-shadow:var(--shadow); font-size:14px; z-index:5; }
.pillar-grid,.daewun-grid,.month-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:24px 0; }
.pillar-grid > div,.daewun-grid > div,.month-grid > div { border:1px solid var(--line); background:#fbf8f3; border-radius:14px; padding:15px 12px; text-align:center; }
.pillar-grid small,.daewun-grid small { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }
.pillar-grid strong { display:block; font-family:'Gowun Batang',serif; font-size:29px; color:var(--wine); }
.daewun-grid { grid-template-columns:repeat(4,1fr); }
.daewun-grid strong,.daewun-grid span,.month-grid span { display:block; }
.daewun-grid strong { color:var(--wine); font-size:20px; }
.daewun-grid span { color:var(--muted); font-size:12px; margin-top:6px; }
.month-grid { grid-template-columns:repeat(3,1fr); }
.month-grid b { display:block; color:var(--wine); margin-bottom:5px; }
.month-grid span { color:var(--muted); font-size:12px; }
@media (max-width:600px) { .pillar-grid,.daewun-grid { grid-template-columns:repeat(2,1fr); } .month-grid { grid-template-columns:repeat(3,1fr); gap:7px; } .pillar-grid > div,.daewun-grid > div,.month-grid > div { padding:12px 8px; } }

/* 운명담음 첫 화면 */
.home-page { background: radial-gradient(circle at 78% 10%, rgba(198,154,84,.10), transparent 28%), var(--paper); }
.destiny-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; padding:58px 0 78px; }
.hero-copy h1 { font-size:clamp(52px,7vw,88px); line-height:1.1; }
.hero-copy h1 em { color:var(--wine); font-style:normal; }
.hero-portrait { min-height:520px; max-width:460px; justify-self:end; position:relative; overflow:hidden; border-radius:34px; background:#1d1713; box-shadow:0 24px 60px rgba(62,48,31,.20); }
.hero-portrait:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(29,23,19,.84) 100%); pointer-events:none; }
.hero-portrait img { display:block; width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center top; }
.portrait-caption { position:absolute; z-index:1; left:27px; right:27px; bottom:25px; color:#fff; }
.portrait-caption span { color:#e4c58c; font-size:12px; letter-spacing:.12em; font-weight:800; }
.portrait-caption strong { display:block; margin-top:7px; font-size:26px; line-height:1.3; letter-spacing:-.06em; }
.category-section { padding-top:24px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.category-card { text-align:left; border:1px solid var(--line); background:#fff; border-radius:22px; padding:0; position:relative; overflow:hidden; transition:.25s; box-shadow:0 10px 28px rgba(62,48,31,.04); }
.category-card:hover { transform:translateY(-6px); border-color:var(--gold); box-shadow:0 22px 40px rgba(62,48,31,.14); }
.category-photo { aspect-ratio: .82 / 1; position:relative; overflow:hidden; background:#efe6db; }
.category-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(24,16,16,.54)); pointer-events:none; }
.category-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; transition:transform .4s; }
.category-card:hover .category-photo img { transform:scale(1.045); }
.category-no { position:absolute; z-index:1; top:15px; left:16px; color:#fff; font:700 22px 'Playfair Display',serif; text-shadow:0 2px 10px rgba(0,0,0,.3); }
.category-badge { position:absolute; z-index:1; top:15px; right:15px; color:#fff; background:rgba(72,35,34,.72); border:1px solid rgba(255,255,255,.28); border-radius:99px; padding:5px 9px; font-size:10px; font-weight:800; backdrop-filter:blur(8px); }
.category-copy { padding:17px 18px 19px; }
.category-copy strong { display:block; color:var(--ink); font-size:20px; letter-spacing:-.06em; }
.category-copy span { display:block; color:var(--muted); font-size:13px; margin-top:3px; min-height:21px; }
.category-copy small { display:block; color:var(--wine); font-size:12px; font-weight:800; margin-top:15px; }
.category-copy small b { font-size:16px; margin-left:4px; }
.category-2 .category-copy strong { color:#a45560; }
.category-3 .category-copy strong { color:#80648d; }
.category-4 .category-copy strong { color:#5d6879; }
.category-5 .category-copy strong { color:#8d6a35; }
.category-6 .category-copy strong { color:#68836e; }
.category-7 .category-copy strong { color:#c07a67; }
.category-8 .category-copy strong { color:#5a617e; }
.daily-membership { margin-top:24px; min-height:390px; display:grid; grid-template-columns:.82fr 1.18fr; overflow:hidden; border:1px solid #dacdde; border-radius:30px; background:linear-gradient(135deg,#f8edf5 0%,#edf2fa 58%,#faf3e8 100%); box-shadow:0 20px 48px rgba(74,52,79,.11); }
.daily-membership-image { position:relative; min-height:390px; overflow:hidden; }
.daily-membership-image:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#f0eff7 100%),linear-gradient(180deg,transparent 58%,rgba(42,29,48,.45)); }
.daily-membership-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 30%; }
.daily-membership-image > span { position:absolute; z-index:2; top:22px; left:22px; padding:7px 11px; border-radius:99px; background:rgba(63,42,68,.72); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:10px; font-weight:800; letter-spacing:.08em; backdrop-filter:blur(8px); }
.daily-membership-copy { align-self:center; padding:42px 46px 42px 40px; }
.daily-membership-copy h3 { margin:10px 0 14px; font-family:'Gowun Batang',serif; font-size:clamp(31px,3.3vw,46px); line-height:1.34; letter-spacing:-.055em; }
.daily-membership-copy > p { max-width:570px; margin:0; color:#665e67; line-height:1.75; }
.daily-membership-tags { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0 28px; }
.daily-membership-tags span { padding:7px 10px; border:1px solid rgba(118,91,125,.18); border-radius:99px; background:rgba(255,255,255,.56); color:#715d73; font-size:11px; font-weight:700; }
.daily-membership-bottom { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.daily-membership-price strong { color:#302733; font-size:29px; letter-spacing:-.06em; }
.daily-membership-price > span { margin-left:4px; color:#756b75; font-size:13px; }
.daily-membership-price small { display:block; margin-top:4px; color:#8a7d88; font-size:10px; }
.daily-page { background:radial-gradient(circle at 76% 9%,rgba(186,164,207,.18),transparent 27%),linear-gradient(180deg,#fbfaf9,#f7f2f7 55%,#faf8f2); }
.daily-hero { display:grid; grid-template-columns:1fr .84fr; gap:68px; align-items:center; padding-top:58px; padding-bottom:76px; }
.daily-hero-copy h1 { margin:17px 0; font-size:clamp(46px,6vw,72px); line-height:1.18; }
.daily-hero-copy > p { max-width:610px; color:#625b62; font-size:17px; line-height:1.85; }
.daily-new { display:inline-block; margin-top:19px; padding:7px 11px; border:1px solid #d8c5da; border-radius:99px; background:#fff8fd; color:#7d5f80; font-size:11px; font-weight:800; }
.daily-price { margin:26px 0 22px; }
.daily-price strong,.daily-price span { display:block; }
.daily-price strong { font-size:30px; color:#6f4b72; }
.daily-price span { margin-top:4px; color:var(--muted); font-size:11px; }
.daily-hero-photo { min-height:560px; position:relative; overflow:hidden; border-radius:34px; box-shadow:0 24px 65px rgba(67,46,72,.2); }
.daily-hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(39,28,43,.79)); }
.daily-hero-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center top; }
.daily-hero-photo > div { position:absolute; z-index:2; left:27px; right:27px; bottom:26px; color:#fff; }
.daily-hero-photo span { color:#e8cde5; font-size:11px; font-weight:800; letter-spacing:.12em; }
.daily-hero-photo strong { display:block; margin-top:7px; font-family:'Gowun Batang',serif; font-size:27px; line-height:1.35; }
.daily-preview-section { background:#302734; color:#fff; }
.daily-preview-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.daily-preview-intro .eyebrow { color:#ddbddc; }
.daily-preview-intro h2 { margin:10px 0 15px; color:#fff; font-size:42px; }
.daily-preview-intro p { color:rgba(255,255,255,.66); line-height:1.8; }
.daily-letter { padding:30px; border:1px solid rgba(255,255,255,.17); border-radius:25px; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.06)); box-shadow:0 18px 45px rgba(15,9,17,.18); }
.daily-letter-head,.daily-time { display:flex; justify-content:space-between; align-items:center; }
.daily-letter-head { color:#e6d4e4; font-size:12px; }
.daily-letter-head b { padding:5px 8px; border-radius:99px; background:#ad7ca8; color:#fff; font-size:10px; }
.daily-score { margin:23px 0; }
.daily-score strong { font-family:'Playfair Display',serif; font-size:58px; color:#f5d9b8; }
.daily-score > span { color:#b9abb9; }
.daily-score p { display:inline; margin-left:14px; color:#fff; font-family:'Gowun Batang',serif; font-size:18px; }
.daily-flow { display:grid; gap:8px; }
.daily-flow > div { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.07); }
.daily-flow small { color:#d4b8d2; font-weight:800; }
.daily-flow b { font-size:12px; font-weight:500; }
.daily-time { margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:#d4c6d3; font-size:12px; }
.daily-time strong { color:#f3d8b9; font-size:16px; }
.daily-plan { padding-bottom:90px; }
.daily-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.daily-feature-grid article { padding:24px; border:1px solid #e0d5e3; border-radius:19px; background:rgba(255,255,255,.8); }
.daily-feature-grid b { color:#9b739a; font-family:'Playfair Display',serif; font-size:22px; }
.daily-feature-grid strong { display:block; margin:12px 0 7px; }
.daily-feature-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.daily-subscribe-bar { margin-top:22px; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:22px; background:#fff; border:1px solid #dfd4e2; box-shadow:0 14px 38px rgba(70,52,74,.08); }
.daily-subscribe-bar span,.daily-subscribe-bar strong,.daily-subscribe-bar small { display:block; }
.daily-subscribe-bar span { color:#8d6a8d; font-size:11px; font-weight:800; }
.daily-subscribe-bar strong { margin:3px 0; font-size:24px; }
.daily-subscribe-bar small { color:var(--muted); }
.daily-signup-shell { max-width:1080px; margin:0 auto; padding:48px 24px 90px; }
.daily-back { border:0; padding:0; background:transparent; color:#796d78; font-weight:700; }
.daily-signup-heading { max-width:670px; margin:42px 0 28px; }
.daily-signup-heading h1 { margin:12px 0 15px; font-size:clamp(40px,5vw,58px); line-height:1.27; }
.daily-signup-heading p { color:var(--muted); }
.daily-signup-card { display:grid; grid-template-columns:1.35fr .65fr; gap:28px; padding:32px; border:1px solid #e0d5e2; border-radius:29px; background:rgba(255,255,255,.9); box-shadow:0 20px 55px rgba(65,47,69,.1); }
.daily-form { display:grid; grid-template-columns:1fr 1fr; gap:19px 16px; align-content:start; }
.daily-order-summary { padding:28px; border-radius:22px; background:linear-gradient(150deg,#342a37,#514058); color:#fff; }
.daily-order-summary > span { color:#d9bdd8; font-size:11px; font-weight:800; letter-spacing:.08em; }
.daily-order-summary > strong { display:block; margin:9px 0 20px; font-size:31px; }
.daily-order-summary > strong small { color:#d3c3d2; font-size:13px; }
.daily-order-summary ul { margin:0 0 24px; padding:18px 0 18px 20px; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); color:#eee6ee; font-size:12px; line-height:2; }
.daily-agreements { display:grid; gap:12px; }
.daily-agreements label { display:grid; grid-template-columns:18px 1fr; gap:8px; align-items:start; color:#e7dde7; font-size:11px; line-height:1.55; }
.daily-agreements input { margin-top:3px; accent-color:#c58cbb; }
.daily-agreements a { color:#f1c8d7; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.daily-order-summary .btn { width:100%; margin-top:24px; }
.daily-order-summary .btn:disabled { background:#8e7f91; color:#e1d9e1; box-shadow:none; cursor:not-allowed; }
.daily-secure-note { margin:11px 0 0; color:#cbbdca; font-size:10px; line-height:1.55; text-align:center; }
.daily-complete { min-height:calc(100vh - 76px); display:grid; place-items:center; padding:48px 20px; }
.daily-complete-card { width:min(650px,100%); padding:55px; border:1px solid #dfd2e1; border-radius:30px; background:rgba(255,255,255,.94); box-shadow:0 24px 65px rgba(64,45,68,.13); text-align:center; }
.daily-complete-card > span { display:inline-block; padding:7px 11px; border-radius:99px; background:#f1e4f0; color:#7a5779; font-size:11px; font-weight:800; }
.daily-complete-card h1 { margin:20px 0 16px; font-size:44px; }
.daily-complete-card > p { color:var(--muted); line-height:1.8; }
.daily-complete-card > div { display:flex; justify-content:space-between; align-items:center; padding:14px 4px; border-bottom:1px solid #eee5ee; }
.daily-complete-card > div small { color:var(--muted); }
.daily-complete-card > div strong { font-size:16px; }
.daily-complete-card .btn { margin-top:28px; }
.daily-complete-card .daily-complete-actions { border:0; padding:8px 0 0; gap:10px; }
.daily-complete-actions .btn { flex:1; margin-top:20px; }
.daily-manage-card > span.daily-status-active { background:#e2f1e9; color:#376c52; }
.daily-manage-card > span.daily-status-past_due,.daily-manage-card > span.daily-status-payment_failed { background:#f7e9df; color:#9a5538; }
.daily-manage-card > span.daily-status-cancelled { background:#ece9ee; color:#6f6772; }
.daily-cancel-button { border:1px solid #d7b9c1; background:#fff7f8; color:#9b4352; }
.daily-manage-note { margin:18px 0 0; padding:13px 15px; border-radius:13px; background:#fbf0e8; color:#8a604c!important; font-size:12px; text-align:left; }
.sample-invite { margin:34px auto 54px; padding:38px 42px; border:1px solid #dfd5e6; border-radius:28px; background:linear-gradient(135deg,#f8f1f7 0%,#eef3f8 54%,#f8f1e8 100%); display:flex; align-items:center; justify-content:space-between; gap:30px; box-shadow:0 18px 45px rgba(67,49,73,.08); }
.sample-invite h2 { margin:8px 0; font-size:32px; }
.sample-invite p { margin:0; color:var(--muted); }
.sample-page { background:radial-gradient(circle at 82% 6%,rgba(173,151,195,.15),transparent 27%),linear-gradient(180deg,#fbfaf8,#f5f1f4 62%,#f8f6f0); }
.sample-shell { max-width:1120px; margin:0 auto; padding:42px 24px 90px; }
.sample-heading { text-align:center; max-width:760px; margin:0 auto 34px; position:relative; }
.sample-heading h1 { font-size:clamp(38px,5vw,62px); margin:12px 0 18px; }
.sample-heading p { color:var(--muted); line-height:1.8; }
.sample-heading p span { color:#8a718e; font-family:'Gowun Batang',serif; }
.sample-back { position:absolute; left:-140px; top:4px; border:0; background:transparent; color:var(--muted); font-weight:700; }
.sample-tabs { display:grid; grid-template-columns:repeat(8,1fr); gap:9px; margin-bottom:24px; }
.sample-tabs button { border:1px solid var(--line); background:rgba(255,255,255,.88); border-radius:16px; padding:8px; color:var(--ink); text-align:left; transition:.2s; }
.sample-tabs button:hover { transform:translateY(-2px); border-color:#bca8c4; }
.sample-tabs button.active { color:#fff; background:#745c79; border-color:#745c79; box-shadow:0 12px 25px rgba(91,65,99,.2); }
.sample-tabs img { width:100%; aspect-ratio:1.1/1; object-fit:cover; object-position:center top; border-radius:11px; display:block; margin-bottom:8px; }
.sample-tabs span { display:flex; justify-content:space-between; align-items:center; gap:3px; font-weight:800; font-size:12px; }
.sample-tabs small { opacity:.7; font-size:9px; white-space:nowrap; }
.sample-cover { min-height:480px; border-radius:34px; overflow:hidden; position:relative; display:grid; grid-template-columns:1.15fr .85fr; background:linear-gradient(135deg,#f4eaf2 0%,#e8eef5 55%,#f6efe4 100%); border:1px solid rgba(147,120,150,.2); box-shadow:0 25px 70px rgba(65,47,70,.14); }
.sample-cover:before { content:''; position:absolute; width:260px; height:260px; border:1px solid rgba(117,87,120,.15); border-radius:50%; left:-80px; top:-100px; box-shadow:0 0 0 35px rgba(255,255,255,.14),0 0 0 70px rgba(255,255,255,.1); }
.sample-cover-copy { padding:58px 56px; position:relative; z-index:2; align-self:center; }
.sample-cover-copy .sample-to { color:#765c79; font-family:'Gowun Batang',serif; margin:36px 0 8px; }
.sample-cover-copy h2 { font-family:'Gowun Batang',serif; font-size:clamp(32px,4vw,49px); line-height:1.42; margin:0 0 22px; letter-spacing:-.055em; }
.sample-cover-copy > p:last-of-type { color:#625b62; line-height:1.85; max-width:620px; }
.sample-cover > img { width:100%; height:100%; min-height:480px; object-fit:cover; object-position:center top; display:block; filter:saturate(.82) contrast(.98); }
.sample-cover:after { content:''; position:absolute; right:0; top:0; bottom:0; width:42%; background:linear-gradient(90deg,#e9edf2 0%,transparent 34%); pointer-events:none; }
.sample-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:28px; }
.sample-meta span { background:rgba(255,255,255,.64); border:1px solid rgba(117,87,120,.15); border-radius:99px; padding:7px 10px; color:#715e72; font-size:11px; font-weight:700; }
.sample-partner { position:absolute; right:26px; bottom:24px; width:34%; z-index:3; padding:13px 15px; border-radius:14px; background:rgba(38,28,39,.72); backdrop-filter:blur(9px); color:#fff; }
.sample-partner b,.sample-partner span { display:block; }
.sample-partner b { color:#ead5e8; font-size:11px; margin-bottom:4px; }
.sample-partner span { font-size:11px; line-height:1.55; }
.sample-book { display:grid; grid-template-columns:260px 1fr; gap:28px; margin-top:32px; align-items:start; }
.sample-toc { position:sticky; top:20px; border-radius:22px; padding:25px; background:rgba(255,255,255,.78); border:1px solid var(--line); }
.sample-toc ol { padding-left:20px; margin:18px 0; }
.sample-toc li { padding:6px 0; color:#514b51; font-family:'Gowun Batang',serif; }
.sample-toc p { color:var(--muted); font-size:12px; line-height:1.75; padding-top:14px; border-top:1px solid var(--line); }
.sample-chapters { display:grid; gap:22px; }
.sample-sheet { min-height:560px; padding:64px 68px 54px; border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(249,245,249,.94)); border:1px solid #e4dbe3; box-shadow:0 14px 38px rgba(66,49,68,.08); position:relative; overflow:hidden; }
.sample-sheet:before { content:''; position:absolute; width:190px; height:190px; right:-75px; top:-75px; border-radius:50%; background:radial-gradient(circle,rgba(206,185,212,.2),rgba(206,185,212,0) 70%); }
.sheet-number { position:absolute; right:28px; top:25px; font:700 24px 'Gowun Batang',serif; color:#9b829f; }
.sheet-number span { font-size:11px; color:#b9a9bb; }
.sample-sheet h2 { font-family:'Gowun Batang',serif; font-size:37px; line-height:1.45; max-width:600px; margin:12px 0 28px; }
.sample-sheet p { font-family:'Gowun Batang',serif; font-size:17px; color:#554f54; line-height:2.05; margin:0 0 18px; word-break:keep-all; }
.sample-sheet p + p { padding-top:18px; border-top:1px solid #eee5ec; color:#6d596d; }
.sheet-footer { position:absolute; left:68px; right:68px; bottom:28px; display:flex; justify-content:space-between; color:#a291a4; font-size:10px; letter-spacing:.05em; }
.sheet-footer b { font-weight:500; }
.sample-next { margin-top:34px; padding:42px; background:#302634; color:#fff; border-radius:28px; display:grid; grid-template-columns:.8fr 1.2fr; gap:38px; }
.sample-next .eyebrow { color:#d7b6d3; }
.sample-next h2 { font-size:31px; color:#fff; }
.sample-next-buttons { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; align-content:center; }
.sample-next-buttons button { border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.07); color:#fff; padding:12px 14px; display:flex; justify-content:space-between; text-align:left; }
.sample-next-buttons span { color:#d9c2d7; font-size:11px; }
@media (max-width: 800px) { .destiny-hero{grid-template-columns:1fr;gap:36px;padding:44px 0 58px}.hero-portrait{justify-self:stretch;max-width:none;min-height:420px}.hero-portrait img{min-height:420px}.category-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 600px) {
  .shell { padding-left:16px; padding-right:16px; }
  .topbar { height:74px; padding-left:16px; padding-right:16px; }
  .brand-logo { width:190px; max-height:58px; }
  .destiny-hero { padding-top:30px; padding-bottom:44px; gap:28px; }
  .hero-copy .eyebrow { font-size:11px; letter-spacing:.1em; }
  .hero-copy h1 { font-size:clamp(42px,12vw,58px); line-height:1.13; margin:13px 0 18px; }
  .hero-copy .lead { font-size:15px; line-height:1.75; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:9px; margin-top:24px; }
  .hero-actions .btn { width:100%; padding:13px 16px; }
  .hero-copy .hint { font-size:11px; line-height:1.55; }
  .hero-portrait, .hero-portrait img { min-height:360px; }
  .hero-portrait { border-radius:24px; }
  .portrait-caption { left:20px; right:20px; bottom:20px; }
  .portrait-caption strong { font-size:22px; }
  .section { padding-top:42px; padding-bottom:42px; }
  .section-head { display:block; margin-bottom:20px; }
  .section-head h2 { font-size:27px; margin:8px 0 10px; }
  .section-head > p { font-size:13px; line-height:1.6; margin:0; }
  .category-section { padding-top:4px; }
  .category-grid { gap:10px; }
  .category-photo { aspect-ratio:.78 / 1; }
  .category-no { top:10px; left:11px; font-size:18px; }
  .category-badge { top:10px; right:10px; padding:4px 7px; font-size:9px; }
  .category-copy { padding:12px 11px 14px; }
  .category-copy strong { font-size:16px; }
  .category-copy span { font-size:11px; line-height:1.45; min-height:31px; }
  .category-copy small { margin-top:9px; font-size:10px; }
  .category-copy small b { font-size:14px; }
  .daily-membership { grid-template-columns:1fr; margin-top:14px; border-radius:23px; }
  .daily-membership-image { min-height:320px; }
  .daily-membership-image:after { background:linear-gradient(180deg,transparent 54%,rgba(42,29,48,.64)); }
  .daily-membership-copy { padding:27px 21px 24px; }
  .daily-membership-copy h3 { font-size:30px; }
  .daily-membership-copy > p { font-size:13px; }
  .daily-membership-tags { margin:16px 0 22px; }
  .daily-membership-bottom { align-items:stretch; flex-direction:column; }
  .daily-membership-bottom .btn { width:100%; }
  .daily-hero { grid-template-columns:1fr; gap:30px; padding-top:32px; padding-bottom:48px; }
  .daily-hero-copy h1 { font-size:42px; }
  .daily-hero-copy > p { font-size:15px; }
  .daily-hero-photo { min-height:430px; border-radius:25px; }
  .daily-preview-grid { grid-template-columns:1fr; gap:28px; }
  .daily-preview-intro h2 { font-size:31px; }
  .daily-letter { padding:21px 17px; }
  .daily-score p { display:block; margin:8px 0 0; font-size:16px; }
  .daily-feature-grid { grid-template-columns:1fr; }
  .daily-subscribe-bar { align-items:stretch; flex-direction:column; padding:22px 20px; }
  .daily-subscribe-bar .btn { width:100%; }
  .daily-signup-shell { padding:28px 16px 55px; }
  .daily-signup-heading { margin-top:28px; }
  .daily-signup-heading h1 { font-size:37px; }
  .daily-signup-card { grid-template-columns:1fr; padding:20px; border-radius:23px; }
  .daily-form { grid-template-columns:1fr; }
  .daily-order-summary { padding:23px 20px; }
  .daily-complete-card { padding:38px 23px; }
  .daily-complete-card h1 { font-size:34px; }
  .trust-grid, .review-grid { grid-template-columns:1fr; }
  .trust-card, .review-card { padding:19px; }
  .sample-invite { margin:22px 16px 44px; padding:27px 23px; display:block; }
  .sample-invite h2 { font-size:25px; }
  .sample-invite .btn { margin-top:22px; }
  .sample-shell { padding:25px 14px 60px; }
  .sample-back { position:static; display:block; margin:0 auto 22px; }
  .sample-tabs { grid-template-columns:repeat(4,1fr); gap:7px; }
  .sample-tabs button { padding:6px; border-radius:12px; }
  .sample-tabs img { border-radius:8px; }
  .sample-tabs span { font-size:10px; }
  .sample-tabs small { display:none; }
  .sample-cover { grid-template-columns:1fr; min-height:0; }
  .sample-cover-copy { padding:38px 25px 32px; }
  .sample-cover-copy .sample-to { margin-top:24px; }
  .sample-cover > img { height:340px; min-height:340px; }
  .sample-cover:after { top:auto; width:100%; height:90px; background:linear-gradient(180deg,#f0edf2,transparent); }
  .sample-partner { width:auto; left:18px; right:18px; bottom:18px; }
  .sample-book { grid-template-columns:1fr; }
  .sample-toc { position:static; }
  .sample-sheet { min-height:590px; padding:52px 25px 64px; }
  .sample-sheet h2 { font-size:29px; }
  .sample-sheet p { font-size:15px; line-height:1.95; }
  .sheet-footer { left:25px; right:25px; }
  .sample-next { padding:28px 22px; grid-template-columns:1fr; }
  .sample-next h2 { font-size:26px; }
  .sample-next-buttons { grid-template-columns:1fr; }
}
@media (max-width: 360px) {
  .shell { padding-left:12px; padding-right:12px; }
  .category-grid { gap:8px; }
  .category-copy { padding-left:9px; padding-right:9px; }
  .category-copy strong { font-size:15px; }
  .category-copy span { font-size:10px; }
  .category-badge { display:none; }
}
@media (max-width: 800px) { .shell{padding:0 18px}.brand-logo{width:190px;max-height:58px}.nav{display:none}.hero{grid-template-columns:1fr;gap:38px;padding:55px 0}.hero-card{min-height:280px}.segment-grid,.feature-grid,.product-grid,.trust-grid,.review-grid{grid-template-columns:1fr 1fr}.form-grid,.couple-fields,.result-grid,.report-layout{grid-template-columns:1fr}.form-card{padding:22px}.report-side{position:static}.result-hero{align-items:start;flex-direction:column}.test-mode-note{align-items:flex-start;flex-direction:column}.section{padding:52px 0} }
@media (max-width: 480px) { h1{font-size:44px}.segment-grid,.feature-grid,.product-grid,.trust-grid,.review-grid{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.btn{width:100%}.form-actions{gap:12px;align-items:stretch;flex-direction:column-reverse}.form-actions .btn{width:100%}.selected-product{align-items:flex-start;gap:8px;flex-direction:column} }
@media (max-width: 480px) { .payment-result-card{padding:38px 22px}.payment-result-card h1{font-size:32px} }
@media (max-width: 600px) { .checkout-review{padding:38px 16px 70px}.checkout-review>h1{font-size:38px}.checkout-card{padding:20px}.checkout-summary{grid-template-columns:1fr}.checkout-summary article{min-height:0}.checkout-actions{flex-direction:column-reverse}.checkout-actions .btn{width:100%} }
@media (max-width: 600px) {
  .business-footer { padding:34px 0 40px; }
  .footer-brand { align-items:flex-start; flex-direction:column; gap:5px; }
  .footer-business { display:grid; gap:5px; }
  .footer-business span::after { display:none!important; }
  .legal-shell { padding-top:28px; padding-bottom:60px; }
  .legal-heading { margin:28px 0 20px; padding:30px 23px; border-radius:22px; }
  .legal-heading h1 { font-size:38px; }
  .legal-content section,.legal-callout { padding:23px 21px; }
  .legal-table { min-width:620px; }
}

/* 무료 운영 테스트 대시보드 */
.admin-page { min-height:100vh; background:linear-gradient(180deg,#f8f4f6 0,#f5f2ed 100%); }
.admin-header { min-height:78px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.admin-header > div { display:flex; align-items:center; gap:14px; }
.admin-header > div > span { color:var(--wine); font-size:12px; font-weight:800; letter-spacing:.08em; }
.admin-shell { max-width:1220px; margin:0 auto; padding:52px 24px 90px; }
.admin-title { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.admin-title h1 { margin:11px 0 13px; font-size:48px; }
.admin-title p { max-width:680px; margin:0; color:var(--muted); line-height:1.75; }
.admin-actions { display:flex; gap:9px; flex:none; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:22px; }
.admin-metrics article { min-height:145px; padding:24px; background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:20px; box-shadow:0 12px 30px rgba(57,41,42,.05); }
.admin-metrics article.accent { color:#fff; background:linear-gradient(135deg,#8f3947,#6f2940); border-color:transparent; }
.admin-metrics span,.admin-metrics small { display:block; color:var(--muted); }
.admin-metrics .accent span,.admin-metrics .accent small { color:rgba(255,255,255,.72); }
.admin-metrics span { font-size:12px; font-weight:700; }
.admin-metrics strong { display:block; margin:12px 0 8px; font-size:29px; }
.admin-metrics small { font-size:11px; }
.admin-subscription-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:11px; margin:22px 0 16px; }
.admin-subscription-metrics article { padding:18px 20px; border:1px solid #ddd3df; border-radius:17px; background:linear-gradient(145deg,#fff,#faf6fb); }
.admin-subscription-metrics span,.admin-subscription-metrics small { display:block; color:var(--muted); font-size:11px; }
.admin-subscription-metrics strong { display:block; margin-top:7px; font-size:23px; }
.admin-subscription-metrics .daily-send-count { color:#fff; border-color:transparent; background:linear-gradient(135deg,#725776,#4e3c54); }
.admin-subscription-metrics .daily-send-count span,.admin-subscription-metrics .daily-send-count small { color:rgba(255,255,255,.72); }
.admin-subscription-panel { margin-bottom:22px; }
.admin-subscription-panel .admin-panel-head > small { color:var(--muted); }
.admin-subscription-table { min-width:850px; }
.admin-status.subscription-active { background:#e5f2ea; color:#376c52; }
.admin-status.subscription-past_due,.admin-status.subscription-payment_failed { background:#f7e8df; color:#995438; }
.admin-status.subscription-cancelled { background:#ece9ee; color:#6f6772; }
.admin-panel { padding:28px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 36px rgba(57,41,42,.05); }
.admin-panel-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:21px; }
.admin-panel-head h2 { margin:6px 0 0; }
.admin-panel-head button,.admin-table button { border:1px solid var(--line); background:#fff; color:var(--muted); border-radius:9px; padding:8px 10px; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:1050px; }
.admin-table th { padding:11px 12px; color:var(--muted); font-size:11px; text-align:left; border-bottom:1px solid var(--line); }
.admin-table td { padding:15px 12px; color:var(--ink); font-size:13px; border-bottom:1px solid #f0ebe5; vertical-align:middle; }
.admin-table td small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.admin-table td b { font-size:12px; }
.admin-status { display:inline-block; padding:6px 9px; border-radius:99px; background:#f6edf0; color:var(--wine); font-size:11px; font-weight:800; white-space:nowrap; }
.admin-row-actions { display:flex; flex-wrap:wrap; gap:5px; min-width:220px; }
.admin-row-actions label { display:inline-flex; align-items:center; border:1px solid var(--line); background:#fff; color:var(--muted); border-radius:9px; padding:8px 10px; cursor:pointer; font-size:11px; white-space:nowrap; }
.admin-row-actions label:hover,.admin-row-actions button:hover { border-color:#b88998; color:var(--wine); }
.admin-row-actions input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.admin-empty { padding:45px!important; text-align:center; color:var(--muted)!important; }
.admin-connections { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-top:22px; }
.admin-connections article { display:flex; gap:12px; padding:19px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.72); }
.admin-connections b { font-size:13px; }
.admin-connections p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.connection-test { margin-top:10px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--wine); font-size:10px; font-weight:800; }
.connection-test:disabled { opacity:.55; cursor:wait; }
.connection-dot { width:10px; height:10px; margin-top:4px; border-radius:50%; flex:none; }
.connection-dot.ready { background:#4d9770; box-shadow:0 0 0 4px rgba(77,151,112,.12); }
.connection-dot.waiting { background:#c89b53; box-shadow:0 0 0 4px rgba(200,155,83,.14); }
.admin-security { margin-top:22px; padding:19px 22px; border-radius:16px; background:#292228; color:#fff; }
.admin-security b { color:#e7c6cf; }
.admin-security p { margin:6px 0 0; color:rgba(255,255,255,.7); font-size:12px; line-height:1.7; }

.calculation-standard { display:flex; align-items:flex-start; gap:12px; margin-top:18px; padding:14px 16px; border:1px solid #e6d9df; border-radius:14px; background:#fbf6f8; color:var(--muted); font-size:12px; line-height:1.65; }
.calculation-standard b { flex:none; color:var(--wine); }
.calculation-standard.detailed { margin:22px 0 14px; }
.time-mode-help { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr; gap:8px 12px; margin:16px 0 0; padding:15px 17px; border:1px solid #e6d9df; border-radius:15px; background:#fbf7f9; }
.time-mode-help b { color:var(--wine); font-size:10px; white-space:nowrap; }
.time-mode-help span { color:var(--muted); font-size:10px; line-height:1.5; }
.time-correction { margin:22px 0; padding:20px; border:1px solid #dfd3da; border-radius:18px; background:linear-gradient(145deg,#fff,#faf5f8); }
.time-correction.boundary { border-color:#b8798b; box-shadow:0 8px 24px rgba(139,58,73,.09); }
.time-correction > div { display:grid; gap:4px; }
.time-correction small { color:#9b6b7b; font-size:9px; font-weight:800; letter-spacing:.08em; }
.time-correction strong { color:var(--ink); font-size:16px; }
.time-correction span { color:var(--muted); font-size:11px; }
.time-correction dl { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:16px 0 0; }
.time-correction dl div { padding:10px; border-radius:12px; background:#f7f1f4; }
.time-correction dt { color:var(--muted); font-size:8px; }
.time-correction dd { margin:4px 0 0; color:var(--ink); font-size:10px; font-weight:800; }
.time-correction > p { margin:13px 0 0!important; color:var(--muted); font-size:10px!important; line-height:1.6!important; }
.time-correction > p b { color:var(--wine); margin-right:6px; }
.calculation-summary { display:grid; gap:7px; margin-top:22px; padding:20px 22px; border:1px solid #dfcfd8; border-radius:17px; background:linear-gradient(135deg,#fbf5f8,#f4f1f7); }
.calculation-summary b { color:var(--wine); font-size:15px; }
.calculation-summary span { color:var(--ink); font-size:13px; line-height:1.6; }
.calculation-summary small { color:var(--muted); font-size:11px; line-height:1.6; }
.manse-board { margin:0 0 24px; overflow:hidden; border:1px solid #e3d8d0; border-radius:24px; background:rgba(255,255,255,.88); box-shadow:0 18px 46px rgba(61,45,38,.08); }
.manse-board-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:25px 28px 22px; border-bottom:1px solid #e9dfd8; background:radial-gradient(circle at 92% 0,rgba(198,154,84,.16),transparent 34%),linear-gradient(135deg,#fffdf9,#f8f1f3); }
.manse-board-head > div > span { color:var(--wine); font-size:10px; font-weight:800; letter-spacing:.14em; }
.manse-board-head h2 { margin:5px 0 4px; font-size:31px; }
.manse-board-head h2 small,.manse-section-title h3 small { color:#9b7a72; font-family:'Noto Sans KR',sans-serif; font-size:.48em; font-weight:600; letter-spacing:.03em; }
.manse-board-head p { margin:0; color:var(--muted); font-size:11px; }
.manse-method { display:grid; gap:2px; min-width:145px; padding:11px 14px; border:1px solid #e3d3d8; border-radius:14px; background:rgba(255,255,255,.8); text-align:right; }
.manse-method b { color:var(--wine); font-family:'Gowun Batang',serif; font-size:15px; }
.manse-method span { color:var(--muted); font-size:9px; }
.manse-board-grid { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.35fr); }
.manse-origin { padding:23px 20px; border-right:1px solid #ebe2dc; }
.manse-flow-area { display:grid; gap:22px; padding:23px 22px; min-width:0; }
.manse-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; }
.manse-section-title h3 { margin:0; font-size:18px; }
.manse-section-title > span { color:var(--muted); font-size:9px; text-align:right; }
.manse-pillar-row,.professional-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.manse-pillar-card { min-width:0; padding:10px 6px; border:1px solid #e8ded8; border-radius:14px; background:#fff; text-align:center; }
.manse-pillar-label { display:block; margin-bottom:7px; color:#5f5960; font-size:10px; font-weight:800; }
.manse-character-stack { display:grid; gap:5px; }
.manse-character { display:grid; place-items:center; min-height:61px; padding:6px 3px 5px; border-radius:10px; color:#fff; box-shadow:inset 0 -1px 0 rgba(0,0,0,.12); }
.manse-character strong { font-family:'Gowun Batang',serif; font-size:26px; line-height:1; }
.manse-character span { margin-top:3px; color:rgba(255,255,255,.88); font-size:8px; font-weight:700; }
.manse-pillar-card > b { display:block; margin-top:8px; color:var(--ink); font-size:9px; }
.manse-pillar-card > span { display:block; margin-top:3px; overflow:hidden; color:var(--muted); font-size:7.5px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.manse-pillar-card.unknown .manse-character { background:#b9b4b0; }
.wood { background:#3f7c58!important; }
.fire { background:#b7473c!important; }
.earth { background:#ad6f22!important; }
.metal { background:#727d89!important; }
.water { background:#344966!important; }
.neutral { background:#aaa29d!important; }
.manse-flow-block { min-width:0; }
.manse-flow-scroll { display:grid; grid-auto-flow:column; grid-auto-columns:64px; gap:7px; overflow-x:auto; padding:2px 2px 7px; scrollbar-width:thin; }
.manse-flow-card,.manse-year-card { position:relative; padding:8px 6px; border:1px solid #e5ddd7; border-radius:12px; background:#fff; text-align:center; }
.manse-flow-card.current,.manse-year-card.current { border-color:var(--wine); background:#fff8fa; box-shadow:0 6px 16px rgba(139,61,73,.10); }
.manse-flow-card small,.manse-year-card small { display:block; color:var(--ink); font-size:9px; font-weight:800; }
.manse-flow-card > div,.manse-year-card > div { display:grid; gap:2px; margin:6px 0 5px; }
.manse-flow-card > div span,.manse-year-card > div span { display:grid; place-items:center; min-height:25px; border-radius:6px; color:#fff; font-family:'Gowun Batang',serif; font-size:16px; line-height:1; }
.manse-flow-card b,.manse-year-card b { display:block; color:var(--muted); font-size:8px; }
.manse-flow-card em { display:block; margin-top:2px; color:#9a8e88; font-size:7px; font-style:normal; }
.manse-flow-card i { position:absolute; right:3px; bottom:3px; padding:2px 4px; border-radius:10px; background:var(--wine); color:#fff; font-size:6px; font-style:normal; font-weight:800; }
.manse-year-row { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.manse-year-card { padding:9px 7px; }
.manse-year-card > div { grid-template-columns:1fr 1fr; }
.manse-year-card > div span { min-height:31px; }
.manse-empty { grid-column:1 / -1; margin:0; padding:18px; border-radius:12px; background:#f7f3f0; color:var(--muted); font-size:11px; }
.manse-elements { padding:20px 24px 22px; border-top:1px solid #ebe2dc; background:#fcfaf8; }
.manse-element-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.manse-element-row { display:grid; grid-template-columns:18px 1fr 31px; align-items:center; gap:7px; }
.manse-element-row b { color:var(--ink); font-size:10px; }
.manse-element-row i { height:7px; overflow:hidden; border-radius:10px; background:#ece7e2; }
.manse-element-row i span { display:block; height:100%; border-radius:10px; background:currentColor; }
.manse-element-row strong { color:var(--muted); font-size:8px; text-align:right; }
.manse-element-row.wood { color:#3f7c58; background:transparent!important; }
.manse-element-row.fire { color:#b7473c; background:transparent!important; }
.manse-element-row.earth { color:#ad6f22; background:transparent!important; }
.manse-element-row.metal { color:#727d89; background:transparent!important; }
.manse-element-row.water { color:#344966; background:transparent!important; }
.manse-elements > p { margin:15px 0 0; color:var(--muted); font-size:9px; }
.manse-elements > p b { color:var(--wine); }
.manse-elements > p span { margin:0 5px; color:#c4b8b2; }
.professional-pillars { margin:24px 0; gap:10px; }
.professional-pillars .manse-pillar-card { padding:13px 10px; border-radius:16px; }
.professional-pillars .manse-character { min-height:68px; }
.professional-pillars .manse-character strong { font-size:30px; }
.professional-pillars .manse-pillar-card > b { margin-top:10px; color:var(--wine); font-size:10px; }
.professional-pillars dl { display:grid; gap:8px; margin:14px 0 0; text-align:left; }
.professional-pillars dl div { padding-top:7px; border-top:1px solid #eee7ea; }
.professional-pillars dt { color:var(--muted); font-size:9px; }
.professional-pillars dd { margin:3px 0 0; color:var(--ink); font-size:10px; line-height:1.4; }
.minor-pillars { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.minor-pillars span { padding:8px 11px; border:1px solid #e6d9df; border-radius:30px; color:var(--muted); font-size:10px; }
.minor-pillars b { color:var(--wine); }
.advanced-reading { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 22px; }
.advanced-reading section { padding:17px; border:1px solid #e5d9df; border-radius:16px; background:linear-gradient(145deg,#fff,#fbf7f9); }
.advanced-reading small { display:block; margin-bottom:8px; color:#9b6b7b; font-size:9px; font-weight:800; letter-spacing:.08em; }
.advanced-reading b { display:block; color:var(--ink); font-size:13px; line-height:1.5; }
.advanced-reading p { margin:7px 0!important; color:var(--muted); font-size:10px!important; line-height:1.65!important; }
.advanced-reading em { display:block; color:#9a7f8a; font-size:9px; font-style:normal; line-height:1.5; }
.ten-god-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; margin:24px 0; }
.ten-god-grid > div { display:grid; grid-template-columns:37px 1fr 30px; align-items:center; gap:8px; }
.ten-god-grid span { color:var(--ink); font-size:11px; font-weight:700; }
.ten-god-grid i { height:7px; overflow:hidden; border-radius:9px; background:#eee7eb; }
.ten-god-grid i b { display:block; height:100%; border-radius:9px; background:linear-gradient(90deg,#9d5268,#c89aa9); }
.ten-god-grid em { color:var(--muted); font-size:9px; font-style:normal; text-align:right; }
.balance-candidates { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.balance-candidates section { padding:18px; border:1px solid #dfd2da; border-radius:17px; background:#fff; }
.balance-candidates small { display:block; color:#9a6b7b; font-size:9px; font-weight:800; }
.balance-candidates strong { display:block; margin:7px 0 12px; color:var(--wine); font-family:'Gowun Batang',serif; font-size:25px; }
.balance-candidates p { margin:8px 0 0!important; color:var(--muted); font-size:10px!important; line-height:1.6!important; }
.balance-candidates p b { display:inline-block; margin-right:6px; padding:2px 6px; border-radius:20px; background:#f4eaf0; color:var(--wine); font-size:8px; }
.professional-daewun .current { border-color:var(--wine); background:#f8eef2; box-shadow:0 8px 24px rgba(139,58,73,.12); }
.professional-daewun em { display:block; margin-top:5px; color:#9a8790; font-size:9px; font-style:normal; line-height:1.45; }
.current-flow-detail { margin-top:16px; padding:19px; border:1px solid #ddccd5; border-radius:17px; background:linear-gradient(135deg,#fbf4f7,#f3f2f8); }
.current-flow-detail small { display:block; margin-bottom:6px; color:#9a6879; font-size:9px; font-weight:800; letter-spacing:.1em; }
.current-flow-detail > b { color:var(--ink); font-size:13px; }
.annual-flow { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:24px 0; }
.flow-card { display:grid; grid-template-columns:46px 44px 1fr; align-items:center; gap:5px 10px; padding:16px; border:1px solid var(--line); border-radius:15px; background:#fff; text-align:left; }
.flow-card.current { border-color:var(--wine); background:#f8eef2; }
.flow-card small { color:var(--muted); font-size:10px; }
.flow-card strong { font-family:'Gowun Batang',serif; font-size:23px; }
.flow-card span { color:var(--wine); font-size:11px; font-weight:800; }
.flow-card em { color:var(--muted); font-size:9px; font-style:normal; line-height:1.45; }
.flow-tags { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.flow-tags span,.flow-card .flow-tags span { padding:4px 7px; border-radius:20px; background:#f2e9ee; color:#7f5362; font-size:8px; font-weight:700; line-height:1.4; }
.flow-tags.quiet span { background:#f1f0ee; color:#90898d; }
.flow-legend { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:-10px; color:var(--muted); font-size:9px; }
.flow-legend b { color:var(--wine); }
.exact-months { grid-template-columns:repeat(2,1fr); }
.exact-months > div { display:grid; grid-template-columns:38px 40px 1fr; align-items:center; gap:4px 8px; text-align:left; }
.exact-months > div > small { grid-column:1 / -1; color:#9a6879; font-size:8px; }
.exact-months > div > b { margin:0; }
.exact-months > div > span { font-size:9px; line-height:1.4; }
.exact-months .flow-tags { margin-top:5px; }
.professional-months div { display:grid; gap:3px; }
.professional-months strong { color:var(--ink); font-family:'Gowun Batang',serif; font-size:17px; }
.professional-months span { color:var(--wine); font-size:10px; }
.flow-footnote { margin-top:14px!important; color:var(--muted); font-size:11px!important; }
.compatibility-summary { display:grid; grid-template-columns:130px 1fr; gap:18px; align-items:center; margin-top:16px; padding:20px; border:1px solid #d9cad7; border-radius:18px; background:linear-gradient(135deg,#f6eef5,#eef4f5); }
.compatibility-summary > div { padding:14px; border-radius:14px; background:#fff; text-align:center; }
.compatibility-summary small { display:block; color:var(--muted); font-size:9px; }
.compatibility-summary strong { display:block; margin-top:5px; color:var(--wine); font-family:'Gowun Batang',serif; font-size:30px; }
.compatibility-summary p { display:grid; gap:5px; margin:0!important; }
.compatibility-summary p b { color:var(--ink); font-size:13px; }
.compatibility-summary p span { color:var(--muted); font-size:11px; line-height:1.55; }

.print-report { display:none; }
.pdf-guide { display:flex; align-items:center; gap:12px; margin:-8px 0 22px; padding:13px 16px; border:1px solid #e8d8df; border-radius:14px; background:#fbf6f8; color:var(--muted); font-size:13px; line-height:1.55; }
.pdf-guide b { flex:none; color:var(--wine); }
.pdf-preparing { position:fixed; inset:0; z-index:5000; display:grid; place-items:center; padding:20px; background:rgba(35,27,33,.58); backdrop-filter:blur(7px); }
.pdf-preparing > div { width:min(430px,100%); padding:34px; border-radius:24px; background:#fff; box-shadow:0 24px 80px rgba(35,27,33,.28); text-align:center; }
.pdf-preparing b { display:block; margin:14px 0 7px; color:var(--ink); font-size:19px; }
.pdf-preparing p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.pdf-preparing i { display:block; height:7px; margin-top:22px; overflow:hidden; border-radius:20px; background:#eee7eb; }
.pdf-preparing i span { display:block; width:42%; height:100%; border-radius:20px; background:linear-gradient(90deg,#9a4050,#c88b99); transition:width .35s ease; }
.pdf-spinner { display:inline-block; width:34px; height:34px; border:3px solid #eadce2; border-top-color:var(--wine); border-radius:50%; animation:pdf-spin .8s linear infinite; }
@keyframes pdf-spin { to { transform:rotate(360deg); } }
@media (max-width:800px) {
  .admin-shell { padding:34px 16px 60px; }
  .admin-title { display:block; }
  .admin-title h1 { font-size:36px; }
  .admin-actions { margin-top:22px; }
  .admin-metrics,.admin-connections { grid-template-columns:1fr 1fr; }
  .admin-subscription-metrics { grid-template-columns:repeat(2,1fr); }
  .professional-pillars { grid-template-columns:1fr 1fr; }
  .manse-board-grid { grid-template-columns:1fr; }
  .manse-origin { border-right:0; border-bottom:1px solid #ebe2dc; }
  .advanced-reading,.balance-candidates { grid-template-columns:1fr; }
  .time-mode-help { grid-template-columns:auto 1fr; }
  .time-correction dl { grid-template-columns:repeat(2,1fr); }
  .annual-flow { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) {
  .admin-header > div > span { display:none; }
  .admin-actions { display:grid; }
  .admin-metrics,.admin-connections,.admin-subscription-metrics { grid-template-columns:1fr; }
  .admin-panel { padding:20px 15px; }
  .manse-board-head { align-items:flex-start; padding:21px 18px 18px; }
  .manse-board-head h2 { font-size:27px; }
  .manse-method { min-width:120px; padding:9px 10px; }
  .manse-origin,.manse-flow-area,.manse-elements { padding:18px 15px; }
  .manse-pillar-row { grid-template-columns:repeat(4,78px); overflow-x:auto; padding-bottom:6px; }
  .manse-flow-scroll { grid-auto-columns:62px; }
  .manse-year-row { grid-template-columns:repeat(5,63px); overflow-x:auto; padding-bottom:6px; }
  .manse-element-grid { grid-template-columns:1fr 1fr; }
  .professional-pillars { grid-template-columns:1fr 1fr; }
  .ten-god-grid { grid-template-columns:1fr; }
  .time-correction dl { grid-template-columns:1fr 1fr; }
  .annual-flow,.exact-months { grid-template-columns:1fr; }
  .calculation-standard { display:block; }
  .calculation-standard b { display:block; margin-bottom:5px; }
  .compatibility-summary { grid-template-columns:1fr; }
}
@media (max-width:390px) {
  .manse-board-head { display:grid; }
  .manse-method { min-width:0; text-align:left; }
}

@media print {
  @page { size:A4; margin:0; }
  body > *:not(#print-report) { display:none!important; }
  body { margin:0; background:#fff!important; }
  .print-report { display:block!important; color:#2d282c; font-family:'Gowun Batang',serif; }
  .print-cover,.print-page { width:210mm; min-height:297mm; box-sizing:border-box; page-break-after:always; position:relative; overflow:hidden; }
  .print-cover { display:grid; grid-template-columns:1fr .82fr; align-items:stretch; background:linear-gradient(145deg,#f6edf4,#edf2f6 58%,#f7f0e8); }
  .print-cover > img { width:100%; height:297mm; object-fit:cover; object-position:center top; grid-column:2; }
  .print-cover > div { grid-row:1; grid-column:1; align-self:center; padding:28mm 16mm 28mm 22mm; }
  .print-cover p { margin:25mm 0 6mm; color:#745c79; font-size:13pt; }
  .print-cover h1 { margin:0 0 10mm; font-size:31pt; line-height:1.45; }
  .print-cover blockquote { margin:0 0 15mm; color:#4d414a; font-size:16pt; line-height:1.75; font-weight:700; }
  .print-cover span { color:#746d72; font-size:9pt; line-height:1.7; }
  .print-page { padding:25mm 22mm 22mm; background:linear-gradient(145deg,#fff,#fcf8fb); }
  .print-page:before { content:''; position:absolute; width:65mm; height:65mm; right:-28mm; top:-28mm; border-radius:50%; background:rgba(216,196,217,.18); }
  .print-page h2 { margin:5mm 0 9mm; font-size:25pt; line-height:1.45; }
  .print-page p { font-size:12.2pt; line-height:2; }
  .print-page .locked { margin-top:10mm; padding:8mm; border-radius:5mm; background:#f5edf2; border:1px solid #e3d4de; }
  .print-page .metric { margin:4mm 0; }
  .print-page .pillar-grid,.print-page .daewun-grid,.print-page .month-grid { break-inside:avoid; }
  .print-page-no { position:absolute; right:18mm; top:15mm; color:#a48b9e; font-size:16pt; }
  .print-page footer { position:absolute; left:22mm; right:22mm; bottom:12mm; display:flex; justify-content:space-between; padding-top:3mm; border-top:1px solid #eadfe6; color:#a0929d; font-size:8pt; }
  .print-toc h2 { margin-bottom:4mm; }
  .print-toc ol { display:grid; grid-template-columns:1fr 1fr; grid-auto-flow:column; grid-template-rows:repeat(29,auto); gap:0 9mm; margin:2mm 0 0; padding:0; list-style:none; }
  .print-toc li { display:grid; grid-template-columns:10mm 1fr; align-items:center; min-height:5.8mm; padding:.55mm 0; border-bottom:1px solid #eee5eb; font-size:7.5pt; line-height:1.2; }
  .print-toc li b { grid-row:1 / span 2; color:#9a6275; font-size:7pt; }
  .print-toc li span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .print-toc li small { color:#9d9098; font-size:6.2pt; }
  .print-letter-box { margin-top:8mm; padding:12mm; border:1px solid #eadce4; border-radius:7mm; background:rgba(255,255,255,.82); }
  .print-letter-box p { margin:0 0 7mm; font-size:11.5pt; line-height:1.9; }
  .print-letter-box b { color:#9a526a; }
  .print-pillar-row { display:grid; grid-template-columns:repeat(4,1fr); margin:8mm 0 10mm; overflow:hidden; border:1px solid #decfd9; border-radius:5mm; }
  .print-pillar-row div { padding:6mm 3mm; border-right:1px solid #decfd9; text-align:center; background:#fff; }
  .print-pillar-row div:last-child { border-right:0; }
  .print-pillar-row small { display:block; margin-bottom:2mm; color:#9b6879; font-size:8pt; }
  .print-pillar-row strong { font-size:19pt; }
  .print-metrics { margin:4mm 0 9mm; }
  .print-metric { display:grid; grid-template-columns:12mm 1fr 14mm; align-items:center; gap:4mm; margin:4mm 0; font-size:9pt; }
  .print-metric i { height:4mm; overflow:hidden; border-radius:4mm; background:#eee8ec; }
  .print-metric i span { display:block; height:100%; border-radius:4mm; background:linear-gradient(90deg,#a7647b,#c9a8b5); }
  .print-metric em { color:#8c7a84; font-style:normal; text-align:right; }
  .print-highlight,.print-question { padding:7mm 8mm; border:1px solid #e4d7df; border-radius:5mm; background:#f8f1f5; }
  .print-highlight b,.print-question b,.print-topic-body b { color:#9a526a; font-size:9.5pt; }
  .print-highlight p,.print-question p { margin:2mm 0 0; font-size:10.5pt; line-height:1.75; }
  .print-guide-grid,.print-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:6mm; margin-top:12mm; }
  .print-guide-grid section,.print-summary-grid section { min-height:48mm; padding:8mm; border:1px solid #e7dce3; border-radius:6mm; background:rgba(255,255,255,.88); }
  .print-guide-grid b,.print-summary-grid b { color:#9a526a; font-size:11pt; }
  .print-guide-grid p,.print-summary-grid p { margin:4mm 0 0; font-size:10.5pt; line-height:1.8; }
  .print-summary blockquote { margin:12mm 0; padding:10mm; border-left:3mm solid #ba8396; background:#f7eef3; color:#493d45; font-size:18pt; line-height:1.7; font-weight:700; }
  .print-topic h2 { max-width:145mm; margin-bottom:4mm; font-size:22pt; }
  .print-topic-lead { margin:0 0 4mm; color:#51464d; font-size:11.1pt!important; line-height:1.72!important; }
  .print-evidence { display:flex; flex-wrap:wrap; align-items:center; gap:2mm; margin:0 0 4mm; padding:3mm 4mm; border:1px solid #eadde5; border-radius:4mm; background:#fbf6f9; }
  .print-evidence b { margin-right:1mm; color:#8f5268; font-size:7.5pt; }
  .print-evidence span { padding:1.1mm 2.3mm; border-radius:8mm; background:#fff; color:#74636d; font-size:7pt; line-height:1.2; }
  .print-topic-body { display:grid; gap:3.5mm; }
  .print-topic-body section { padding:4.7mm 6mm; border:1px solid #e8dce4; border-radius:5mm; background:rgba(255,255,255,.86); break-inside:avoid; }
  .print-topic-body section p { margin:1.5mm 0 0; font-size:9.8pt; line-height:1.62; }
  .print-question { margin-top:4mm; padding:4.5mm 6mm; background:#eef6f2; }
  .print-question p { font-size:9.6pt; line-height:1.55; }
  .print-topic.layout-1 .print-topic-body section:nth-child(2),.print-topic.layout-3 .print-topic-body section:first-child { background:#f7f0f6; }
  .print-topic.layout-2 .print-topic-body { grid-template-columns:1fr 1fr; }
  .print-topic.layout-2 .print-topic-body section:first-child { grid-column:1 / -1; }
  .print-topic.layout-3 .print-question { background:#f5f0f8; }
}
