.al-page{--al-cream-50:#faf7f2;--al-champagne-100:#f3ece2;--al-champagne-600:#a89276;--al-rose-50:#faf2f0;--al-rose-400:#cfa39a;--al-rose-600:#b07d73;--al-sage-50:#f1f4f0;--al-sage-600:#62755e;--al-charcoal:#36322e;--al-gray-400:#9e968e;--al-border-soft:rgba(168,146,118,.2);--al-border-elegant:1px solid rgba(168,146,118,.3);--al-radius-sm:4px;--al-radius-md:10px;--al-radius-lg:14px;--al-font-editorial:"Cormorant Garamond",Georgia,serif;--al-font-sans:"Montserrat",-apple-system,BlinkMacSystemFont,"PingFang HK",sans-serif;--al-shadow-warm:0 4px 20px rgba(168,146,118,.06);min-height:100vh;font-family:var(--al-font-sans);background:var(--al-cream-50);color:var(--al-charcoal);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}.al-container{max-width:1100px;margin:0 auto;padding:0 2rem 6rem}.al-hero{text-align:center;border-bottom:1px double var(--al-border-soft);margin-bottom:2.5rem;padding:4rem 1rem 3rem}.al-eyebrow{font-family:var(--al-font-editorial);color:var(--al-sage-600);letter-spacing:.15em;margin-bottom:10px;font-size:18px;font-style:italic}.al-title{font-family:var(--al-font-editorial);color:var(--al-charcoal);margin:0 0 1rem;font-size:40px;font-weight:400}.al-sub{color:var(--al-gray-400);max-width:580px;margin:0 auto;font-size:15px;line-height:1.8}.al-filter-card{border:var(--al-border-elegant);border-radius:var(--al-radius-lg);box-shadow:var(--al-shadow-warm);background:#fff;margin-bottom:2rem;padding:1.75rem}.al-filter-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.al-filter-title{font-family:var(--al-font-editorial);color:var(--al-charcoal);margin:0;font-size:22px;font-weight:400}.al-clear-btn{color:var(--al-gray-400);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--al-font-sans);background:0 0;border:none}.al-clear-btn:hover{color:var(--al-champagne-600)}.al-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;display:grid}.al-field{flex-direction:column;gap:6px;display:flex}.al-field-full{grid-column:1/-1}.al-label{color:var(--al-gray-400);letter-spacing:.04em;font-size:12px;font-weight:700}.al-input,.al-select{border:1px solid var(--al-border-soft);border-radius:var(--al-radius-sm);font-size:14px;font-family:var(--al-font-sans);color:var(--al-charcoal);background:#fff;width:100%;padding:10px 14px}.al-input:focus,.al-select:focus{outline:2px solid var(--al-rose-400);outline-offset:1px}.al-chip-row{flex-wrap:wrap;gap:8px;display:flex}.al-chip{border:1px solid var(--al-border-soft);background:var(--al-cream-50);color:var(--al-charcoal);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--al-font-sans);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;transition:all .15s;display:inline-flex}.al-chip:hover{background:var(--al-champagne-100)}.al-chip.is-active{background:var(--al-champagne-600);border-color:var(--al-champagne-600);color:#fff}.al-check-row{flex-wrap:wrap;gap:14px 20px;display:flex}.al-check{color:var(--al-charcoal);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.al-check input{accent-color:var(--al-champagne-600)}.al-filter-actions{border-top:1px solid var(--al-cream-50);flex-wrap:wrap;align-items:center;gap:14px;margin-top:1.5rem;padding-top:1.25rem;display:flex}.al-btn-primary{background:var(--al-champagne-600);color:#fff;border-radius:var(--al-radius-sm);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--al-font-sans);border:none;align-items:center;gap:8px;padding:12px 22px;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px rgba(168,146,118,.2)}.al-btn-primary:hover{background:var(--al-charcoal)}.al-btn-primary.is-block{justify-content:center;width:100%}.al-tip{color:var(--al-gray-400);font-size:12px}.al-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:2rem;margin-bottom:3rem;display:grid}.al-calendar-card,.al-detail-card{border:var(--al-border-elegant);border-radius:var(--al-radius-lg);box-shadow:var(--al-shadow-warm);background:#fff;padding:1.75rem}.al-detail-card{position:-webkit-sticky;position:sticky;top:90px}.al-month-switch{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.al-month-title{font-family:var(--al-font-editorial);color:var(--al-charcoal);font-size:24px}.al-month-nav{gap:8px;display:flex}.al-month-btn{border:1px solid var(--al-border-soft);width:32px;height:32px;color:var(--al-champagne-600);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.al-month-btn:hover{background:var(--al-champagne-100)}.al-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);align-items:start;gap:6px;display:grid}.al-cal-dow{color:var(--al-gray-400);padding-bottom:8px;font-size:11px;font-weight:700}.al-cal-day{border-radius:var(--al-radius-sm);color:var(--al-charcoal);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--al-font-sans);box-sizing:border-box;background:0 0;border:none;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:72px;padding:10px 4px 12px;transition:background .15s;display:flex;position:relative}.al-cal-day:hover:not(.is-muted){background:var(--al-champagne-100)}.al-cal-day.is-sunday{color:#c45c5c}.al-cal-day.is-sunday.is-muted{color:#d4a0a0}.al-cal-day.is-sunday.is-selected{color:#fff}.al-cal-day.is-public-holiday:not(.is-muted):not(.is-selected) .al-cal-num{color:#c45c5c;font-weight:700}.al-cal-day.is-selected .al-cal-num{color:#fff}.al-cal-holiday{color:var(--al-gray-400);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:1px;font-size:10px;font-weight:500;line-height:1.2;display:block;overflow:hidden}.al-cal-day.is-public-holiday .al-cal-holiday{color:#c45c5c;font-size:9px;font-weight:600}.al-cal-day.is-muted .al-cal-holiday{color:var(--al-gray-400);opacity:.9}.al-cal-day.is-muted.is-public-holiday .al-cal-holiday{color:#d4a0a0}.al-cal-day.is-selected .al-cal-holiday{color:rgba(255,255,255,.8)}.al-cal-day.is-muted{color:var(--al-gray-400);opacity:.55;cursor:pointer}.al-cal-day.is-muted:hover{background:var(--al-champagne-100);opacity:.85}.al-cal-day.is-selected{background:var(--al-champagne-600);color:#fff}.al-cal-day.is-selected .al-lunar{color:rgba(255,255,255,.8)}.al-cal-day.is-selected .al-dot{background:#fff}.al-lunar{color:var(--al-gray-400);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:500;display:block;overflow:hidden}.al-dot-row{justify-content:center;gap:3px;height:6px;margin-top:4px;display:flex}.al-dot{background:var(--al-sage-600);border-radius:50%;width:5px;height:5px}.al-legend{border-top:1px solid var(--al-cream-50);color:var(--al-gray-400);flex-wrap:wrap;gap:20px;margin-top:1.5rem;padding-top:1.25rem;font-size:12px;display:flex}.al-legend-item{align-items:center;gap:6px;display:flex}.al-legend-dots{gap:3px;display:flex}.al-detail-date{font-family:var(--al-font-editorial);color:var(--al-charcoal);white-space:nowrap;margin-bottom:4px;font-size:max(22px,min(4.2vw,30px));line-height:1.25}.al-detail-weekday{font-family:var(--al-font-sans);color:var(--al-gray-400);letter-spacing:.02em;white-space:nowrap;font-size:.55em;font-style:normal;font-weight:500}.al-detail-lunar{color:var(--al-gray-400);margin-bottom:.75rem;font-size:13px}.al-ganzhi{color:var(--al-champagne-600);letter-spacing:.02em;margin-bottom:1rem;font-size:13.5px;font-weight:600}.al-day-flags{flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;display:flex}.al-blessing{background:var(--al-sage-50);border-left:3px solid var(--al-sage-600);border-radius:0 var(--al-radius-md)var(--al-radius-md)0;color:var(--al-sage-600);margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:14px;font-style:italic;line-height:1.7}.al-suit-list{margin-bottom:1.25rem}.al-suit-title{color:var(--al-gray-400);letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:700}.al-suit-tags{flex-wrap:wrap;gap:8px;display:flex}.al-tag{border-radius:var(--al-radius-sm);align-items:center;padding:4px 14px;font-size:12px;font-weight:600;display:inline-flex}.al-tag-champagne{background:var(--al-champagne-100);color:var(--al-champagne-600)}.al-tag-rose{background:var(--al-rose-50);color:var(--al-rose-600);border:1px solid rgba(176,125,115,.2)}.al-tag-sage{background:var(--al-sage-50);color:var(--al-sage-600)}.al-tag-highlight{background:var(--al-sage-600);color:#fff}.al-meta-row{flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;display:flex}.al-clash-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:1.25rem;display:flex}.al-clash-label{color:var(--al-gray-400);letter-spacing:.04em;font-size:12px;font-weight:700}.al-tag-clash{color:#b06a2b;background:#fff4e8;border:1px solid rgba(176,106,43,.25);gap:6px}.al-hour-clash{color:#b06a2b;margin-top:4px;font-size:11px;font-weight:700;line-height:1.4}.al-hours{border-top:1px solid var(--al-cream-50);margin-top:1.25rem;padding-top:1.25rem}.al-hour-grid{gap:10px;display:grid}.al-hour-card{background:var(--al-cream-50);border-radius:var(--al-radius-md);border:1px solid var(--al-border-soft);padding:12px 14px}.al-hour-card.is-match{background:var(--al-rose-50);border-color:rgba(176,125,115,.35)}.al-hour-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.al-hour-name{color:var(--al-charcoal);font-size:13px;font-weight:700}.al-hour-range{color:var(--al-gray-400);font-size:11px}.al-empty{text-align:center;color:var(--al-gray-400);padding:2.5rem 1rem}.al-empty-title{font-family:var(--al-font-editorial);color:var(--al-charcoal);margin:0 0 8px;font-size:22px}.al-empty-desc{font-size:14px;line-height:1.7}.al-state{text-align:center;color:var(--al-gray-400);padding:3rem 1rem}.al-spinner{border:2px solid var(--al-champagne-100);border-top-color:var(--al-champagne-600);border-radius:50%;width:28px;height:28px;margin:0 auto 1rem;animation:.8s linear infinite al-spin}@keyframes al-spin{to{transform:rotate(360deg)}}.al-error{background:var(--al-rose-50);color:var(--al-rose-600);border-radius:var(--al-radius-md);border:1px solid rgba(176,125,115,.25);margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:14px}.al-event-picker{border:var(--al-border-elegant);border-radius:var(--al-radius-lg);box-shadow:var(--al-shadow-warm);background:#fff;margin-bottom:2rem;padding:1.5rem 1.75rem}.al-event-picker-label{color:var(--al-gray-400);letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.al-event-chips{flex-wrap:wrap;gap:8px;display:flex}.al-event-chip{border:1px solid var(--al-border-soft);color:var(--al-gray-400);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--al-font-sans);background:#fff;border-radius:999px;padding:7px 16px;transition:all .2s}.al-event-chip:hover,.al-event-chip.is-active{background:var(--al-sage-600);color:#fff;border-color:var(--al-sage-600)}.al-cal-day.is-dim{opacity:1}.al-cal-day.is-match:not(.is-selected){background:var(--al-sage-50);box-shadow:inset 0 0 0 1.5px var(--al-sage-600)}.al-cal-day.is-match:not(.is-selected) .al-dot{background:var(--al-sage-600)}.al-cal-num{line-height:1.2;display:block}.al-cal-activity-mark{margin-top:1px;font-size:9px;line-height:1.2;display:block}.al-cal-day.is-selected .al-cal-activity-mark{filter:brightness(1.15)}.al-cal-zodiac-warn{margin-top:auto;padding-top:2px;font-size:10px;line-height:1;display:block}.al-shichen-link{text-align:center;color:var(--al-sage-600);margin-top:12px;font-size:12.5px;font-weight:600;text-decoration:none;display:block}.al-shichen-link:hover{color:var(--al-charcoal)}.al-shichen-section{border:var(--al-border-elegant);border-radius:var(--al-radius-lg);box-shadow:var(--al-shadow-warm);background:#fff;margin-bottom:3rem;padding:2rem 2.25rem;scroll-margin-top:100px}.al-shichen-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:.5rem;display:flex}.al-shichen-title{font-family:var(--al-font-editorial);color:var(--al-charcoal);font-size:24px;font-weight:400}.al-shichen-date-tag{color:var(--al-gray-400);font-size:12.5px;font-weight:600}.al-shichen-intro{color:var(--al-gray-400);white-space:nowrap;margin-bottom:1.75rem;font-size:13.5px;line-height:1.7;overflow-x:auto}.al-shichen-grid{grid-template-columns:repeat(6,1fr);align-items:stretch;gap:10px;margin-bottom:1.5rem;display:grid}.al-shichen-card{border:1px solid var(--al-cream-50);border-radius:var(--al-radius-md);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;height:100%;min-height:148px;padding:18px 8px 12px;transition:transform .15s;display:flex;position:relative}.al-shichen-clash-corner{color:#b06a2b;pointer-events:none;z-index:1;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;font-weight:700;line-height:1;display:flex;position:absolute;top:6px;right:6px}.al-shichen-clash-text{white-space:nowrap}.al-shichen-zodiac-warn{font-size:11px;font-weight:400;line-height:1;display:block}.al-shichen-auspice-corner{pointer-events:none;color:var(--al-champagne-600);font-size:13px;font-weight:700;line-height:1;position:absolute;top:6px;left:6px}.al-shichen-auspice-corner.is-good{color:var(--al-rose-600)}.al-shichen-auspice-corner.is-bad{color:var(--al-sage-600)}.al-shichen-card:hover{transform:translateY(-2px)}.al-shichen-card.is-good{background:var(--al-rose-50)}.al-shichen-card.is-bad{background:var(--al-sage-50)}.al-shichen-glyph{font-family:var(--al-font-editorial);color:var(--al-champagne-600);margin-bottom:2px;font-size:26px;line-height:1}.al-shichen-name{color:var(--al-charcoal);margin-bottom:1px;font-size:11.5px;font-weight:700}.al-shichen-time{color:var(--al-gray-400);margin-bottom:8px;font-size:10px}.al-shichen-badge{border-radius:999px;margin-bottom:6px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.al-shichen-badge.is-good{background:var(--al-rose-600);color:#fff}.al-shichen-badge.is-bad{background:var(--al-sage-600);color:#fff}.al-shichen-activity{color:var(--al-charcoal);opacity:.75;width:100%;min-height:1.4em;margin-top:auto;font-size:11px;line-height:1.4}.al-shichen-yi-ji{text-align:left;flex-direction:column;gap:4px;width:100%;margin-top:auto;display:flex}.al-shichen-yi-ji-row{align-items:flex-start;gap:4px;font-size:10.5px;line-height:1.35;display:flex}.al-shichen-yi-ji-label{flex-shrink:0;font-size:10px;font-weight:700}.al-shichen-yi-ji-label.is-yi{color:var(--al-rose-600)}.al-shichen-yi-ji-label.is-ji{color:var(--al-sage-600)}.al-shichen-yi-ji-text{color:var(--al-charcoal);opacity:.8;word-break:break-word;min-width:0}.al-shichen-legend{border-top:1px solid var(--al-cream-50);color:var(--al-gray-400);flex-wrap:wrap;gap:20px;padding-top:1.25rem;font-size:12px;display:flex}.al-shichen-legend-item{align-items:center;gap:6px;display:flex}.al-shichen-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.al-guide-section{margin-bottom:2rem}.al-grid-heading{font-family:var(--al-font-editorial);color:var(--al-champagne-600);border-bottom:1px solid var(--al-champagne-100);align-items:center;gap:8px;margin:0 0 .5rem;padding-bottom:.5rem;font-size:24px;font-weight:400;display:flex}.al-grid-heading:after{content:"⚜";opacity:.6;font-size:14px}.al-guide-intro{color:var(--al-gray-400);white-space:nowrap;margin-bottom:1.75rem;font-size:14px;line-height:1.8;overflow-x:auto}.al-guide-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.al-guide-card{border:var(--al-border-elegant);border-radius:var(--al-radius-lg);box-shadow:var(--al-shadow-warm);cursor:pointer;text-align:left;font-family:var(--al-font-sans);color:inherit;background:#fff;flex-direction:column;align-items:flex-start;width:100%;height:100%;padding:1.4rem 1.5rem;transition:transform .2s;display:flex;position:relative;overflow:hidden}.al-guide-card:hover{transform:translateY(-3px)}.al-guide-card.is-active{box-shadow:0 0 0 1.5px var(--al-sage-600),var(--al-shadow-warm)}.al-guide-card:before{content:"";background:linear-gradient(90deg,var(--al-champagne-100),var(--al-sage-600));height:3px;position:absolute;top:0;left:0;right:0}.al-guide-icon{margin-bottom:10px;font-size:20px}.al-guide-title{color:var(--al-charcoal);margin-bottom:6px;font-size:15.5px;font-weight:700}.al-guide-term{margin-bottom:8px}.al-guide-desc{color:var(--al-charcoal);opacity:.75;margin-bottom:0;font-size:13px;line-height:1.65}.al-guide-link{color:var(--al-sage-600);margin-top:auto;padding-top:10px;font-size:12px;font-weight:700}@media (max-width:860px){.al-container{padding:0 1.25rem 4rem}.al-hero{padding:3rem .5rem 2rem}.al-title{font-size:30px}.al-filter-grid,.al-layout{grid-template-columns:1fr}.al-detail-card{position:static}.al-shichen-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.al-shichen-grid{grid-template-columns:repeat(3,1fr)}.al-shichen-section{padding:1.5rem 1.25rem}}
