/* idea 378 — 만세력·리포트 공용. 시스템 폰트만 사용(폰트 파일 재배포 없음) */
:root{--ink:#1d2433;--sub:#4b5563;--line:#e3ddd0;--paper:#fbf8f2;--card:#fff;--accent:#7a2e2e;--accent2:#24385b;--r:12px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Noto Sans CJK KR",system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--accent2)}
header.top{border-bottom:1px solid var(--line);background:#fff}
header.top .in,main,footer .in{max-width:860px;margin:0 auto;padding:0 20px}
header.top .in{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.brand span{color:var(--accent)}
nav a{margin-left:14px;font-size:14px;color:var(--sub);text-decoration:none;white-space:nowrap}
nav a:hover{color:var(--ink)}
.hero{padding:40px 0 16px}
.hero h1{font-size:36px;line-height:1.25;margin:0 0 12px;font-weight:800;letter-spacing:-.02em}
.hero p{max-width:640px}
.hero p{color:var(--sub);margin:0}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.badges li{font-size:13px;background:#f1ece1;border-radius:999px;padding:3px 10px;color:#5b4b33}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:18px 0}
form .row{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:center;margin:0 0 12px}
form .row>label{font-weight:600;font-size:14px}
input[type=date],input[type=time],input[type=number],input:not([type]),select{font:inherit;padding:9px 10px;border:1px solid #cfc7b6;border-radius:8px;background:#fff;min-width:0;width:100%;max-width:280px}
#lk{max-width:none;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px}
.inl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inl input{max-width:200px}
.seg{display:flex;gap:14px;flex-wrap:wrap}.seg.col{flex-direction:column;gap:6px}
.seg label{font-size:15px}
small#lunarOut{display:block;color:var(--accent2);grid-column:2}
small#lunarOut:empty{display:none}
details.adv{margin:4px 0 14px;border-top:1px dashed var(--line);padding-top:10px}
details.adv summary{cursor:pointer;color:var(--sub);font-size:14px;margin-bottom:10px}
button.go,a.go{display:inline-block;font:inherit;font-weight:700;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:12px 22px;cursor:pointer;text-decoration:none;text-align:center}
button.go:hover,a.go:not(.off):hover{background:#652424}
:focus-visible{outline:3px solid #24385b;outline-offset:2px}
a.go.off{background:#ece5d8;color:#5b4b33;border:1px dashed #b9aea0;cursor:not-allowed}
.err{color:#b42318;font-weight:600}
.hint{font-size:13px;color:var(--sub)}
/* 결과·리포트 */
.report h2{font-family:"Noto Serif KR","Nanum Myeongjo","AppleMyungjo",Georgia,serif;font-size:23px;margin:34px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.report h3{font-size:17px;margin:22px 0 6px}
.report p{margin:0 0 12px}
.meta{font-size:14px;color:var(--sub)}
table.chart{width:100%;border-collapse:collapse;text-align:center;margin:10px 0 6px;table-layout:fixed}
table.chart th,table.chart td{border:1px solid var(--line);padding:8px 4px;font-size:13px}
@media(max-width:420px){:lang(en) table.chart td{font-size:12px;letter-spacing:-.2px;padding:6px 1px;hyphens:auto;-webkit-hyphens:auto}:lang(en) table.chart thead th:first-child{width:48px}:lang(en) table.chart tbody th{width:48px;font-size:11.5px}}
table.chart thead th{background:#f4efe4;font-size:14px}
table.chart tbody th{background:#faf7f0;font-weight:600;width:84px}
.ch{display:flex;flex-direction:column;align-items:center}
.ch .han{font-size:34px;line-height:1.15;color:var(--c);font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-weight:700}
.ch .sub{font-size:12px;color:var(--sub)}
.unk{color:#6b7280}
.bars{margin:8px 0 10px}
.bar{display:grid;grid-template-columns:88px 1fr 34px;gap:10px;align-items:center;font-size:14px;margin:4px 0}
.bt{height:12px;background:#efe9dc;border-radius:6px;overflow:hidden}.bt span{display:block;height:100%}
.bv{text-align:right;color:var(--sub)}
.luck{overflow-x:auto}
.luck table{border-collapse:collapse;text-align:center;min-width:560px;width:100%}
.luck td{border:1px solid var(--line);padding:6px 2px;vertical-align:top;position:relative}
.luck td.cur{background:#fbefe6;outline:2px solid var(--accent);outline-offset:-2px}
.luck .age{font-size:12px;color:var(--sub)}.luck .lp{font-size:22px;font-weight:700;line-height:1.2;font-family:"Noto Serif KR",serif}.luck .lg{font-size:11px;color:var(--sub)}
.nowtag{font-size:11px;color:var(--accent);font-weight:700}
ul.yrs{margin:4px 0 12px;padding-left:20px}
.teaser{margin-top:22px;background:#24385b;color:#f4efe4;border-radius:var(--r);padding:20px}
.teaser .kicker{font-size:12px;letter-spacing:.08em;opacity:.8}
.teaser .tp{font-size:26px;font-weight:700;font-family:"Noto Serif KR",serif}
.teaser .img{font-style:italic;font-size:18px;margin:4px 0 10px}
.buy h2{margin-top:0}
.buy ul{padding-left:20px}
.price{font-size:28px;font-weight:800;margin:2px 0 10px}.price small{font-size:15px;font-weight:500;color:var(--sub)}
.agree{display:flex;gap:10px;align-items:flex-start;min-height:44px;margin:12px 0;font-size:.95rem;line-height:1.45;color:var(--sub);cursor:pointer}
.agree input{margin:.1em 0 0;width:22px;height:22px;flex:0 0 auto;accent-color:var(--accent)}.agree span{white-space:pre-line}
@media (max-width:480px){.agree{margin:10px 0;line-height:1.4}.agree span{white-space:normal}}
.note{font-size:13px;color:var(--sub)}
.disc,.notice{font-size:13px;color:var(--sub);background:#f4efe4;border-radius:8px;padding:12px 14px;margin:18px 0}
.disc h2{font-size:15px;border:0;margin:0 0 6px;padding:0}
.faq dt{font-weight:700;margin-top:12px}.faq dd{margin:4px 0 0}
.cover{text-align:center;padding:40px 0 30px;border-bottom:1px solid var(--line)}
.cover .kicker{font-size:12px;letter-spacing:.1em;color:var(--sub)}
.cover h1{font-family:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;font-size:34px;margin:10px 0 22px}
.cover-pillars{display:flex;justify-content:center;gap:18px}
.cover-pillars div{display:flex;flex-direction:column;align-items:center}
.cp-l{font-size:12px;color:var(--sub)}.cp{font-size:48px;line-height:1.1;font-weight:700;font-family:"Noto Serif KR","Noto Serif CJK KR",serif}
.cover .img{font-style:italic;font-size:19px;margin:20px 0 6px}
footer{border-top:1px solid var(--line);margin-top:50px;background:#fff}
footer .in{padding:20px;font-size:13px;color:var(--sub)}
footer a{color:var(--sub)}
.tools{margin:10px 0 0}
@media (max-width:640px){
  header.top .in{height:auto;flex-direction:column;align-items:flex-start;gap:2px;padding-top:10px;padding-bottom:8px}
  nav{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  nav a{margin:0 14px 0 0;font-size:13px;line-height:2}
  .hero{padding-top:28px}
  .hero h1{font-size:28px}
  form .row{grid-template-columns:1fr;gap:4px}
  small#lunarOut{grid-column:1}
  input[type=date],input[type=time],select{max-width:none}
  .ch .han{font-size:26px}
  table.chart tbody th{width:58px;font-size:12px}
  table.chart th,table.chart td{padding:6px 2px}
  .cp{font-size:36px}
  button.go,a.go{width:100%}
}
/* 유나 10-08: 휴대폰 첫 화면(360x740)에 입력칸·'만세력 보기' 버튼이 스크롤 없이 보이게 압축 */
@media (max-width:640px){
  .hero{padding:16px 0 4px}
  .hero h1{font-size:26px;margin:0 0 6px}
  .hero p{font-size:14px;line-height:1.55}
  .badges{flex-wrap:nowrap;overflow-x:auto;margin-top:10px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .badges li{white-space:nowrap;flex:none}
  .card{padding:16px;margin:12px 0}
  form .row{margin:0 0 8px}
  form .row:has(>.seg:not(.col)){display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:0}
  .seg:not(.col){flex-wrap:nowrap}.seg label{white-space:nowrap}
  .inl{flex-wrap:nowrap}.inl input[type=time]{max-width:150px}.inl label{white-space:nowrap;font-size:15px}
  input[type=date],input[type=time],select{padding:7px 10px}
  details.adv{margin:2px 0 10px;padding-top:8px}
  details.adv summary{margin-bottom:4px}
  button.go{padding:12px 22px}
}
@media print{
  @page{size:A4;margin:16mm 15mm}
  body{background:#fff;font-size:11pt}
  header.top,footer,.noprint,#form,.hero,.card.inputcard,.buy{display:none!important}
  .card{border:0;padding:0;margin:0}
  main{max-width:none;padding:0}
  .report section{break-inside:auto}
  .report h2{break-after:avoid;margin-top:22px}
  .report h3{break-after:avoid}
  .cover{break-after:page;padding-top:80px}
  .report>section:nth-of-type(3),.report>section:nth-of-type(7),.report>section:nth-of-type(10){break-before:page}
  table,.bars,.luck{break-inside:avoid}
  .luck table{min-width:0}
  a{color:inherit;text-decoration:none}
}
