/* 萬年曆 */
.cal{padding:16px 14px}
.cal-head{display:flex;align-items:center;gap:6px}
.cal-title{flex:1;display:flex;justify-content:center;gap:6px}
.cal-title select{min-height:40px;padding:4px 30px 4px 12px;border-radius:999px;border:1px solid var(--gold-line);background:var(--surface);font-family:var(--f-display);font-size:1.05rem;letter-spacing:.06em;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.btn.icon{width:40px;min-width:40px;padding:0;font-size:1.4rem;line-height:1}
.cal-subrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 2px 10px}
.cal-sub{margin:0;font-size:.8rem;color:var(--muted);letter-spacing:.04em;min-width:0}
.today-btn{min-height:34px;padding:2px 12px;font-size:.8rem;flex:none}
.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-week span{text-align:center;font-size:.78rem;color:var(--muted);padding:4px 0}
.cal-week span:first-child,.cal-week span:last-child{color:var(--accent)}
.cal-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:58px;padding:4px 0;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink)}
.cal-grid button:hover{background:var(--accent-soft)}
.cal-grid .n{font-size:1.08rem;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}
.cal-grid .l{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cal-grid .l.jq{color:var(--accent);font-weight:600}
.cal-grid .l.fest{color:var(--bad);font-weight:600}
.cal-grid .l.m1{color:var(--ink);font-weight:500}
.cal-grid .wk .n{color:var(--accent)}
.cal-grid .out{opacity:.35}
.cal-grid .today{border-color:var(--accent)}
.cal-grid [aria-selected="true"]{background:var(--btn-bg);border-color:var(--btn-bg)}
.cal-grid [aria-selected="true"] .n,.cal-grid [aria-selected="true"] .l{color:var(--btn-ink)!important}
/* 選取日資訊 */
.alm-card{display:flex;flex-direction:column;gap:12px}
.alm-top{display:flex;gap:16px;align-items:center}
.alm-day{display:flex;flex-direction:column;align-items:center;min-width:76px;padding-right:16px;border-right:1px solid var(--line)}
.alm-day b{font-family:var(--f-display);font-size:2.8rem;line-height:1}
.alm-day span{font-size:.74rem;color:var(--muted);margin-top:6px;white-space:nowrap}
.alm-lunar{display:flex;flex-direction:column;gap:3px;min-width:0}
.alm-lunar b{font-family:var(--f-display);font-size:1.3rem;letter-spacing:.12em}
.alm-lunar span{font-size:.84rem;color:var(--muted)}
.alm-fest{color:var(--bad)!important;font-weight:500}
.alm-jq{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--accent-soft);font-size:.9rem;line-height:1.55}
.alm-jq small{color:var(--muted);font-size:.82rem}
.alm-jq b{color:var(--accent)}
.alm-dot{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--accent)}
.alm-yj{margin:0;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.alm-yj div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline}
.alm-yj dt{font-family:var(--f-display);font-weight:700;width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.alm-yj dt.yi{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
.alm-yj dt.ji{background:var(--bad-bg);color:var(--bad)}
.alm-yj dd{margin:0;line-height:1.75}
.alm-cs{margin:0;font-size:.82rem;color:var(--muted)}
/* 節氣表 */
.terms{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.terms li{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:12px;border:1px solid var(--line);background:var(--bg);cursor:pointer}
.terms li b{font-family:var(--f-display);font-size:1rem;letter-spacing:.06em}
.terms li span{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}
.terms li.now{border-color:var(--accent);background:var(--accent-soft)}
.terms li.past b{color:var(--muted)}
@media (min-width:640px){ .terms{grid-template-columns:repeat(6,minmax(0,1fr))} .cal-grid button{min-height:68px} }
.alm-lunar span i{font-style:normal;white-space:nowrap;margin-right:.4em}
.alm-yj dd span{display:inline-block;white-space:nowrap;margin-right:.95em}
.alm-cs{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.terms li span{display:flex;flex-direction:column;align-items:center;line-height:1.3}
.terms li span small{font-size:.68rem;opacity:.85}
.cal{overflow:hidden}
