:root{--red:#b5121b;--red2:#8e0e15;--ink:#1a1410;--ink2:#5a4630;--paper:#f5ead0;--card:#fdf7e8;--gold:#b8892b;--gold2:#d9b25a;--line:rgba(181,18,27,.22);
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r:16px;--rs:10px;--shadow:0 1px 2px rgba(90,50,10,.06),0 6px 18px rgba(90,50,10,.08)}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;color:var(--ink);font:19px/1.65 "Noto Serif TC","Songti TC","PMingLiU","MingLiU",serif;background:var(--paper);
 background-image:radial-gradient(rgba(140,100,40,.06) 1px,transparent 1px);background-size:6px 6px}
main{max-width:1080px;margin:0 auto;padding:var(--s4) var(--s4) var(--s6);display:grid;gap:var(--s4)}
.card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold2);border-radius:var(--r);padding:var(--s4) var(--s4);box-shadow:var(--shadow);min-width:0}
h2{font-size:21px;margin:0 0 var(--s3);font-weight:900;letter-spacing:.12em;color:var(--red);display:flex;align-items:center;gap:var(--s2)}
/* masthead */
.masthead{position:relative;text-align:center;background:linear-gradient(180deg,#c01a23,var(--red2));color:#fff6e0;border-radius:var(--r);padding:var(--s3) var(--s4);box-shadow:var(--shadow),inset 0 0 0 1px rgba(217,178,90,.6)}
h1{font-size:30px;font-weight:900;margin:0;letter-spacing:.35em;text-indent:.35em;line-height:1.3}
.sub{font-size:14px;letter-spacing:.3em;color:var(--gold2)}
.seal{position:absolute;right:var(--s4);top:50%;transform:translateY(-50%) rotate(4deg);width:40px;padding:3px 0;border:2px solid #fff6e0;border-radius:8px;font-size:15px;line-height:1.15;font-weight:900}
/* hero */
.hero{display:grid;gap:var(--s4);text-align:center;padding:var(--s5) var(--s4)}
.solarline{display:flex;justify-content:center;align-items:baseline;gap:var(--s3);flex-wrap:wrap}
.solar{font-size:24px;font-weight:700}.week{font-size:18px;color:var(--ink2)}
.lunar{font-size:clamp(34px,10.5vw,52px);white-space:nowrap;line-height:1.2;font-weight:900;color:var(--red);letter-spacing:.08em;margin:var(--s2) 0}
.ganzhi{font-size:19px;color:var(--ink2)}.jieqi{display:inline-block;margin-top:var(--s2);font-size:17px;color:#fff6e0;background:var(--red);border-radius:999px;padding:2px 14px;font-weight:700}
.hero-ctl{display:grid;gap:var(--s3)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s2)}
button,input{font:inherit;font-size:18px;min-height:48px;border-radius:var(--rs);border:1px solid rgba(26,20,16,.35);background:#fffaf0;color:var(--ink);padding:0 var(--s3);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
input{cursor:text;width:100%;min-width:0}input[type=date]{cursor:pointer;-webkit-appearance:none;appearance:none;display:block}
button:hover{border-color:var(--red);color:var(--red)}input:focus,button:focus-visible{outline:2px solid var(--gold2);outline-offset:1px;border-color:var(--red)}
.pick{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s3);font-weight:700;font-size:17px;color:var(--ink2)}
.summary{margin:0;font-size:18px;font-weight:700;background:#fff3d6;border:1px solid rgba(184,137,43,.35);border-radius:var(--rs);padding:var(--s3) var(--s4)}
/* yi ji */
.yiji{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s3)}
.yiji .card{padding:var(--s4) var(--s3)}
ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
li{font-size:19px;font-weight:700;padding:1px 10px;border-radius:999px}
.tag{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:21px;font-weight:900;border-radius:8px;color:#fff6e0;box-shadow:inset 0 0 0 2px rgba(255,246,224,.55)}
.yi .tag{background:var(--red)}.yi li{color:var(--red);background:rgba(181,18,27,.07)}
.ji{border-top-color:var(--ink)}.ji h2{color:var(--ink)}.ji .tag{background:var(--ink)}.ji li{color:var(--ink);background:rgba(26,20,16,.06)}
/* ask */
.ask{border:1px solid rgba(181,18,27,.35);border-top:4px solid var(--red);padding:var(--s5) var(--s4)}
.ask-title{flex-wrap:wrap;font-size:24px}.ask-title small{font-size:14px;font-weight:400;letter-spacing:.05em;color:var(--ink2);width:100%}
.ask-body{display:grid;gap:var(--s4)}
.askf{display:grid;gap:var(--s3)}.askf label{display:grid;gap:var(--s1);font-size:16px;font-weight:700;color:var(--ink2)}
.btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.btns button{font-size:17px;font-weight:700;border-radius:999px;min-height:42px;padding:0 6px}
.btns button.on{border-color:var(--red);background:var(--red);color:#fff6e0}
.go{min-height:52px;font-size:21px;font-weight:900;letter-spacing:.3em;background:linear-gradient(180deg,#c01a23,var(--red2));color:#fff6e0;border:0;border-radius:999px;box-shadow:0 3px 10px rgba(142,14,21,.25),inset 0 0 0 1px rgba(217,178,90,.7)}
.go:hover{color:#fff;filter:brightness(1.07)}.go:disabled{opacity:.6}
.answer{margin:0;font-size:17px;color:var(--ink2)}.answer:empty{display:none}
.result{padding:var(--s4);background:#fff3d6;border:1px solid rgba(184,137,43,.4);border-radius:var(--r)}
.badge{display:inline-block;font-size:21px;font-weight:900;padding:4px 18px;letter-spacing:.15em;border-radius:999px;color:#fff6e0;box-shadow:inset 0 0 0 2px rgba(255,246,224,.5)}
.badge.r0{background:var(--ink)}.badge.r1{background:var(--gold)}.badge.r2{background:var(--red)}
.reason{font-size:18px;line-height:1.8;margin:var(--s3) 0 var(--s2)}.conf{font-size:14px;color:#7a6346;margin:0}
.chong p{margin:0;font-size:18px}
footer{text-align:center;font-size:15px;color:var(--ink2);letter-spacing:.1em;padding-top:var(--s2)}
@media(min-width:760px){
 main{padding:var(--s5) var(--s5) var(--s6);gap:var(--s5)}
 .hero{grid-template-columns:1.3fr 1fr;align-items:center;text-align:left;padding:var(--s5) var(--s6);gap:var(--s4) var(--s6)}
 .hero-date{text-align:center;border-right:1px solid var(--line);padding-right:var(--s6)}
 .summary{grid-column:1/-1;text-align:center}
 .lunar{font-size:60px}
 .yiji{gap:var(--s5)}.yiji .card{padding:var(--s5)}
 .ask{padding:var(--s5) var(--s6)}
 .ask-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:start}
 .ask-out{position:sticky;top:var(--s4)}
 .answer{padding:var(--s5);border:1px dashed rgba(184,137,43,.6);border-radius:var(--r);text-align:center}
}
.hero-date{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%}
.hero-date>*{margin-left:auto;margin-right:auto}.solarline{width:100%}
@media(min-width:760px){.hero{align-items:stretch}.hero-ctl{align-self:center}.hero-date{padding:0 var(--s5);height:100%}}
.lunar{letter-spacing:.08em;text-indent:.08em}

.faq details{border-top:1px solid var(--line);padding:var(--s2) 0}.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:var(--s3)}
.faq summary::after{content:"＋";color:var(--red)}.faq details[open] summary::after{content:"－"}.faq summary::-webkit-details-marker{display:none}
.faq p{margin:var(--s2) 0 0;font-size:17px;color:var(--ink2);line-height:1.8}
.sub{margin:0}

.answer.notice{display:block;padding:var(--s3) var(--s4);border:1px solid rgba(184,137,43,.45);border-radius:var(--r);background:#fffaf0;color:var(--ink2);font-size:17px;text-align:left}
.answer.notice::before{content:"ⓘ ";color:var(--gold);font-weight:700}
