:root {
  --paper:#f3eee3; --paper-2:#e9e0cf; --ink:#171815; --muted:#706d64;
  --line:rgba(23,24,21,.18); --red:#b52626; --green:#143f36; --gold:#b68b42;
  --serif:"Songti SC","STSong","Noto Serif CJK SC",serif;
  --sans:Inter,"PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box} body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(23,24,21,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,24,21,.035) 1px,transparent 1px);background-size:28px 28px}
button,input,select{font:inherit} button{cursor:pointer}.site-head,main,footer{width:min(1380px,calc(100% - 36px));margin:auto}
.site-head{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--ink)}
.site-head>div{display:flex;align-items:center;gap:10px}.site-head p{margin:0;font:700 10px/1.2 monospace;letter-spacing:.12em}.seal{display:grid;place-items:center;width:32px;height:32px;color:var(--paper);background:var(--red);font:700 20px/1 var(--serif)}
.back{color:var(--ink);font-size:13px;text-decoration:none}.site-head>button{justify-self:end;padding:9px 13px;border:1px solid var(--ink);background:transparent}
main{padding-bottom:50px}.hero{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:28px;padding:45px 0 36px}.kicker,.section-title p{margin:0;color:var(--red);font:700 11px/1 monospace;letter-spacing:.14em}.hero h1{margin:8px 0 10px;font:900 clamp(4.8rem,10vw,10rem)/.82 var(--serif);letter-spacing:-.08em}.intro{max-width:570px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.date-search{justify-self:end;width:min(100%,440px);padding:20px;border:1px solid var(--ink);background:var(--paper-2)}.date-search label{display:block;margin-bottom:10px;font-weight:700}.date-search>div{display:grid;grid-template-columns:1fr auto}.date-search input{min-width:0;padding:12px;border:1px solid var(--ink);background:var(--paper)}.date-search button,.converter button{border:0;color:var(--paper);background:var(--green);padding:0 18px;font-weight:700}
.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);border:1px solid var(--ink)}.calendar-card{padding:22px}.month-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:22px}.month-toolbar>div{text-align:center}.month-toolbar strong{display:block;font:800 28px/1.2 var(--serif)}.month-toolbar span{display:block;margin-top:5px;color:var(--muted);font-size:11px}.nav{width:44px;height:44px;border:1px solid var(--ink);background:transparent}.nav:hover{color:var(--paper);background:var(--green)}
.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-row{border:1px solid var(--line);border-bottom:0}.week-row span{text-align:center;padding:9px;font-size:11px;font-weight:700}.weekend{color:var(--red)}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}
.day{position:relative;min-height:94px;padding:10px 9px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;color:var(--ink);background:rgba(255,255,255,.12)}.day:hover{background:#fff9e9}.day.out{color:#aaa69d}.day.today::after{content:"今";position:absolute;right:6px;top:6px;color:var(--red);font:700 10px/1 var(--serif)}.day.selected{color:var(--paper);background:var(--green)}.day strong{display:block;font:700 20px/1 var(--serif)}.day span{display:block;overflow:hidden;margin-top:9px;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.day em{display:block;margin-top:5px;color:var(--red);font:normal 10px/1.2 var(--sans)}.day.selected em{color:#f2c6b5}
.day-detail{padding:28px;border-left:1px solid var(--ink);background:var(--green);color:var(--paper)}.detail-date{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid rgba(243,238,227,.25);padding-bottom:20px}.detail-date strong{font:800 76px/.85 var(--serif)}.detail-date p{margin:0;text-align:right;font-size:12px;line-height:1.7}.detail-lunar{margin:22px 0 8px;font:800 23px/1.3 var(--serif)}.ganzhi{margin:0;color:#d9d0be;font-size:12px}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.pill{padding:6px 8px;border:1px solid rgba(243,238,227,.3);font-size:10px}.directions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:18px 0;background:rgba(243,238,227,.25)}.directions div{padding:12px;background:var(--green)}.directions small{display:block;color:#aebbb3}.directions b{display:block;margin-top:4px}.yi-ji{display:grid;gap:12px}.yi-ji>div{display:grid;grid-template-columns:32px 1fr;gap:10px}.yi-ji b{display:grid;place-items:center;width:30px;height:30px;background:var(--gold);color:var(--green);font:700 17px/1 var(--serif)}.yi-ji .ji{color:var(--paper);background:var(--red)}.yi-ji p{margin:3px 0 0;font-size:12px;line-height:1.7}.minor{margin-top:18px;padding-top:16px;border-top:1px solid rgba(243,238,227,.25);color:#c8c2b5;font-size:11px;line-height:1.7}
.conversion{padding-top:44px}.section-title{display:flex;align-items:center;gap:16px;margin-bottom:16px}.section-title>span{display:grid;place-items:center;width:42px;height:42px;background:var(--red);color:#fff;font:700 12px monospace}.section-title h2{margin:3px 0 0;font:800 28px/1 var(--serif)}.converter-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.converter{padding:24px}.converter+.converter{border-left:1px solid var(--ink)}.converter h3{margin:0 0 18px;font:800 21px var(--serif)}.converter label{display:grid;gap:7px;font-size:12px;font-weight:700}.converter input,.converter select{width:100%;padding:11px;border:1px solid var(--line);background:#faf6ed;color:var(--ink)}.converter>button{min-height:42px;margin-top:14px}.converter output{display:block;min-height:57px;margin-top:14px;padding:14px;background:var(--paper-2);font-size:13px;line-height:1.7}.lunar-inputs{display:grid;grid-template-columns:1fr .8fr .8fr;gap:10px}.converter .check{display:flex;align-items:center;gap:8px;margin-top:12px}.check input{width:auto}.notice{margin:28px 0 0;color:var(--muted);font-size:11px;line-height:1.7}footer{padding:20px 0 35px;border-top:1px solid var(--line);color:var(--muted);font:10px/1.5 monospace}
@media(max-width:960px){.workspace{grid-template-columns:1fr}.day-detail{border-left:0;border-top:1px solid var(--ink)}.hero{grid-template-columns:1fr}.date-search{justify-self:start}.converter-grid{grid-template-columns:1fr}.converter+.converter{border-left:0;border-top:1px solid var(--ink)}}
@media(max-width:620px){.site-head,main,footer{width:min(100% - 20px,1380px)}.site-head{grid-template-columns:1fr 1fr}.site-head>div{display:none}.hero{padding:30px 0 24px}.hero h1{font-size:23vw}.calendar-card{padding:10px}.day{min-height:72px;padding:7px 5px}.day strong{font-size:16px}.day span{font-size:9px}.day em{font-size:8px}.day-detail{padding:20px}.directions{grid-template-columns:repeat(2,1fr)}.lunar-inputs{grid-template-columns:1fr 1fr}.converter{padding:18px}.week-row span{padding:7px 2px}}
