/* 사주 화면 — public.css 의 색·간격 변수를 그대로 쓴다. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header nav a[aria-current=page]{background:#282035;color:var(--gold)}
[data-el=wood]{--el:#6cc07e}[data-el=fire]{--el:#ef7a70}[data-el=earth]{--el:#d8b25a}[data-el=metal]{--el:#c9d0da}[data-el=water]{--el:#86a8ee}

.saju-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:start;padding:40px 0 56px}
.saju-intro-copy{padding-top:28px;min-width:0}
.saju-points{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:#d7cbe4;font-size:14px}
.saju-points li:before{content:"✦";color:var(--gold);margin-right:9px;font-size:11px}
.saju-topics{border:0;min-width:0;padding:0;margin:24px 0 0}
.saju-topics legend{font-size:15px;font-weight:700;margin-bottom:12px;padding:0}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.topic-choice{position:relative;min-width:0;cursor:pointer}
.topic-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.topic-choice>span{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:82px;height:100%;padding:11px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:left}
.topic-choice b{font-size:13px;color:var(--text);line-height:1.45}
.topic-choice small{font-size:10px;color:var(--muted);line-height:1.5;word-break:keep-all;overflow-wrap:break-word}
.topic-choice input:checked+span{background:#302536;border-color:var(--gold);box-shadow:inset 0 0 0 1px #d4ab5733}
.topic-choice input:checked+span b{color:var(--gold)}
.topic-choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.topic-status{font-size:12px;color:var(--gold);line-height:1.7;margin:0 0 10px}
.topic-basis{border-top:1px solid var(--line);margin-top:16px;padding-top:4px}
.topic-basis summary{cursor:pointer;display:flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted)}
.saju-section .topic-basis p{font-size:12px;color:var(--muted);line-height:1.75}
.saju-result [tabindex="-1"],#gender-field{scroll-margin-top:85px}

.saju-form{background:linear-gradient(160deg,#1d1833,#151126);border:1px solid var(--line);border-radius:20px;padding:26px 24px 22px;min-width:0;box-shadow:0 24px 60px #0006}
.form-title{font-size:19px;letter-spacing:-.5px;margin-bottom:18px}
.field{border:0;padding:0;margin:0 0 18px;min-width:0}
.field>legend,.field>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;padding:0}
.optional{font-weight:400;color:var(--muted);font-size:11px;margin-left:5px}
.field-hint{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.6}
.saju-form input[type=text],.saju-form input[type=time],.saju-form select{width:100%;min-width:0;min-height:46px;border:1px solid #42344f;border-radius:10px;background:#171323;color:var(--text);padding:10px 12px;font-size:15px}
.saju-form input::placeholder{color:#83778f}
.saju-form input:focus,.saju-form select:focus{border-color:var(--gold);outline-offset:2px}
.saju-form input:disabled{opacity:.45}
.segmented{display:flex;gap:6px;margin-bottom:10px}
.segmented label{position:relative;flex:1;min-width:0}
.segmented input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.segmented span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);font-size:13px;text-align:center;line-height:1.3}
.segmented input:checked+span{border-color:var(--gold);background:#302536;color:var(--gold)}
.segmented input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.date-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.date-row label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);min-width:0}
.time-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.time-row input{flex:1 1 150px;width:auto}
.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#d7cbe4;min-height:44px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--gold);margin:0;flex:none}
.advanced{border-top:1px solid var(--line);padding-top:4px}
.advanced summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--muted)}
#saju-submit{width:100%;margin-top:4px}
.form-note{font-size:11px;color:var(--muted);text-align:center;margin:12px 0 0;line-height:1.7}

.saju-result{padding:36px 0 44px;border-top:1px solid #332940;outline:none}
.saju-result-head h2{font-size:28px;letter-spacing:-1px;margin-bottom:4px}
.saju-chips{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:6px}
.saju-chips li{background:#251e35;color:#e2d3ae;border:1px solid #4a3b5a;padding:5px 11px;border-radius:999px;font-size:12px}
.saju-warnings{border:1px solid #806744;background:#2a2230;border-radius:12px;padding:12px 15px;margin-bottom:18px;font-size:13px;line-height:1.7;color:#ecd9ad}
.saju-warnings p{margin:0}.saju-warnings p+p{margin-top:6px}
.result-jump{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px;margin-bottom:20px}
.result-jump a{flex:none;display:flex;align-items:center;padding:8px 13px;min-height:40px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);background:var(--panel)}
.result-jump a:hover{color:var(--gold);border-color:#806744}
.saju-summary{margin-bottom:20px}
.saju-summary .summary-keywords{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:12px 0 0}
.saju-summary .summary-keywords li{background:#251e35;padding:4px 9px;border-radius:7px;color:#baa7d2;font-size:11px}

.saju-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:22px}
.pillar-board,.element-board{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;min-width:0}
.board-title{font-size:13px;font-weight:700;margin:0 0 12px}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pillar{min-width:0;text-align:center}
.pillar-label{font-size:11px;color:var(--muted);margin:0 0 6px}
.pillar.is-day .pillar-label{color:var(--gold);font-weight:700}
.glyph{border:1px solid var(--line);border-top:3px solid var(--el,var(--line));border-radius:10px;background:#141024;padding:7px 3px 8px;margin-bottom:6px;display:grid;gap:1px;min-width:0}
.glyph strong{font-size:clamp(26px,4.4vw,36px);line-height:1.2;color:var(--el);font-weight:600;font-family:"Noto Serif KR","Batang","Apple SD Gothic Neo",serif}
.glyph-god{font-size:10px;color:#cdbfe0}
.glyph-ko{font-size:11px;color:var(--muted)}
.pillar.is-day .glyph{background:#1f1830}
.pillar.is-empty .glyph{min-height:96px;place-items:center;color:var(--muted);font-size:12px}
.pillar-extra{margin-top:8px;font-size:12px;color:var(--muted)}
.pillar-extra summary{cursor:pointer;min-height:40px;display:flex;align-items:center}
.extra-table-wrap{overflow-x:auto}
.extra-table{width:100%;border-collapse:collapse;font-size:12px;text-align:center;color:#d7cbe4}
.extra-table th,.extra-table td{padding:6px 2px;border-top:1px solid var(--line)}
.extra-table th{color:var(--muted);font-weight:400;text-align:left;white-space:nowrap;padding-right:8px}
.extra-note{margin:8px 0 2px;font-size:11px}
.element-bars{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.element-bars li{display:grid;grid-template-columns:48px minmax(0,1fr) 20px 44px;gap:8px;align-items:center;font-size:13px}
.el-name{color:var(--el);font-weight:700;white-space:nowrap}
.el-track{height:10px;border-radius:6px;background:#261f37;overflow:hidden}
.el-fill{display:block;height:100%;border-radius:6px;background:var(--el);min-width:3px}
.el-count{text-align:right;color:#e0d8e9}
.el-tag{font-size:10px;color:var(--muted);white-space:nowrap}
.el-tag.is-rec{color:var(--gold)}
.element-note{font-size:11px;color:var(--muted);margin:12px 0 0;line-height:1.7}

.saju-card{border-radius:16px;border:1px solid #69533477;background:linear-gradient(125deg,#342a31,#211a2d);padding:20px 22px;margin-bottom:22px;scroll-margin-top:16px}
.saju-card h3{font-size:20px;letter-spacing:-.5px;line-height:1.5;margin-bottom:8px}
.saju-card p{font-size:14px;line-height:1.9;color:#ddd3e8;margin-bottom:10px}
.saju-card .eyebrow{font-size:10px;line-height:1.6;color:var(--gold);margin-bottom:10px}
.saju-card .card-sub{color:#e2d3ae}
.saju-card .card-step{border-top:1px solid #8d785d3a;padding-top:12px;margin:12px 0 0}
.card-step b{color:var(--gold);margin-right:8px;font-size:12px}
.saju-card .card-note{font-size:12px;color:var(--muted);margin:0}
.saju-sections{display:grid;gap:14px;margin-bottom:22px}
.saju-section{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;scroll-margin-top:16px;min-width:0}
.section-kicker{font-size:11px;color:var(--gold);letter-spacing:.3px;margin:0 0 4px;line-height:1.6}
.saju-section h3{font-size:19px;letter-spacing:-.5px;margin-bottom:10px}
.section-lead{font-size:15px;color:#f3e6c6;font-weight:600;margin-bottom:8px}
.saju-section p{font-size:14px;line-height:1.95;color:#e0d8e9;margin-bottom:10px}
.saju-section p:last-child{margin-bottom:0}
.pro-con{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.pro-con>div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#141024;min-width:0}
.pro-con h4{font-size:12px;margin:0 0 6px;color:#b7d6c1}.pro-con .cons h4{color:#e9b4b8}
.pro-con ul,.tip-list{margin:0;padding-left:18px;font-size:13px;line-height:1.8;color:#d7cbe4}
.saju-section .section-advice{border-left:2px solid var(--gold);padding-left:12px;color:#e6c783;font-size:13px}
.tip-title{font-size:12px;font-weight:700;color:var(--gold);margin:14px 0 6px}
.shinsal-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.shinsal-list li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#141024;font-size:13px;line-height:1.8;color:#d7cbe4}
.shinsal-list b{color:#f3e6c6;margin-right:6px}.shinsal-where{font-size:11px;color:var(--muted)}
.daewoon-list{list-style:none;padding:0 0 6px;margin:14px 0 12px;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.daewoon-list li{flex:none;scroll-snap-align:start}
.daewoon-item{display:grid;gap:1px;justify-items:center;width:100%;min-height:96px;padding:9px 4px;border:1px solid var(--line);border-radius:12px;background:#141024;color:var(--muted);font-size:11px;line-height:1.5}
.daewoon-item strong{font-size:21px;color:var(--text);font-weight:600;font-family:"Noto Serif KR","Batang",serif}
.daewoon-item.is-current{border-color:#806744}
.daewoon-item[aria-pressed=true]{border-color:var(--gold);background:#302536;color:var(--gold)}
.daewoon-now{font-size:10px;color:var(--gold)}
.saju-basis{border:1px solid var(--line);border-radius:12px;padding:2px 16px;margin-bottom:18px;font-size:13px;color:#cfc4dc}
.saju-basis summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:12px}
.saju-basis dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:7px 12px;margin:4px 0 14px;line-height:1.7}
.saju-basis dt{color:var(--muted)}.saju-basis dd{margin:0}
.saju-closing{font-size:14px;color:#e6c783;line-height:1.9;margin-bottom:8px}
.saju-notes p,.saju-disclaimer{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:6px}
.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.result-actions .primary{font-size:14px;min-height:48px;padding:12px 18px;gap:12px}
.saju-page .history-section{min-height:180px}

@media(max-width:860px){
  .daewoon-list{grid-template-columns:repeat(5,minmax(0,1fr))}
  .saju-intro{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px}
  .saju-intro-copy{padding-top:0}
  .saju-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .daewoon-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .saju-page .site-header{gap:10px}.saju-page .site-header nav{gap:2px}.saju-page .site-header nav a{font-size:11px;padding:8px 7px}
  .topic-choice>span{padding:10px 8px;min-height:78px}.topic-choice b{font-size:12px}
  .saju-intro{padding-bottom:36px}
  .saju-intro h1{font-size:clamp(27px,7.4vw,34px)}
  .saju-intro .intro br{display:none}
  .saju-form{padding:20px 16px 18px;border-radius:16px}
  .saju-form input[type=text],.saju-form input[type=time],.saju-form select{font-size:16px;padding:10px 9px}
  .date-row{gap:6px}
  .segmented span{font-size:12px}
  .saju-result-head h2{font-size:24px}
  .pro-con{grid-template-columns:minmax(0,1fr)}
  .saju-section,.saju-card{padding:17px 16px}
  .pillar-board,.element-board{padding:12px}
  .pillars{gap:5px}
  .glyph strong{font-size:26px}
  .glyph-god,.glyph-ko{font-size:10px}
  .element-bars li{grid-template-columns:42px minmax(0,1fr) 16px 38px;gap:6px}
  .saju-basis dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .saju-basis dt{margin-top:8px}
  .result-actions>*{flex:1}
}
