*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;color:#1d1d1f;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%);min-height:100vh;line-height:1.6;overflow-x:hidden}.glass-header{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.3)}.glass-header .app-title{font-size:24px;font-weight:600;color:#1d1d1f}.glass-header .app-title i{color:#007aff}.btn-glass{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s ease;color:#1d1d1f}.btn-glass:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.1)}.btn-glass:active{transform:translateY(0)}.glass-card{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:16px;overflow:hidden;transition:all .3s ease}.glass-card:hover{box-shadow:0 12px 48px rgba(0,0,0,.1)}.glass-card .card-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.5)}.glass-card .card-header .card-title{font-size:18px;font-weight:600;margin:0;color:#1d1d1f}.glass-card .card-header .card-title i{color:#007aff}.glass-card .card-body{padding:1.5rem}.glass-card .accordion-item{background:0 0;border:none}.glass-card .accordion-button:not(.collapsed){background:rgba(255,255,255,.3);color:#1d1d1f;font-weight:600;box-shadow:none}.glass-card .accordion-button:focus{box-shadow:none;border-color:none}.date-selector input[type=date]{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;padding:1rem;font-size:16px;width:100%;transition:all .3s ease}.date-selector input[type=date]:focus{outline:0;border-color:#007aff;box-shadow:0 0 0 3px rgba(0,122,255,.1)}.date-info{text-align:center}.date-info .solar-date h3{font-size:32px;font-weight:700;color:#1d1d1f}.date-info .lunar-date h4{font-size:24px;font-weight:600;color:#007aff}.info-box{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.info-box:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.info-box .info-label{font-size:14px;color:#6e6e73;margin-bottom:.5rem;font-weight:500}.info-box .info-value{font-size:18px;font-weight:600;color:#1d1d1f}.info-box .info-value.good{color:#34c759}.info-box .info-value.bad{color:#ff3b30}.alert-section .alert-item{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;padding:1rem;margin-bottom:.75rem;border-left:4px solid #ff3b30}.alert-section .alert-item.warning{border-left-color:#ff9500}.alert-section .alert-item.info{border-left-color:#007aff}.alert-section .alert-item .alert-title{font-weight:600;margin-bottom:.5rem}.alert-section .alert-item .alert-desc{font-size:14px;color:#6e6e73}.hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.hours-grid .hour-item{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.hours-grid .hour-item.good{border-left:4px solid #34c759}.hours-grid .hour-item.good:hover{background:rgba(52,199,89,.1)}.hours-grid .hour-item.bad{border-left:4px solid #ff3b30}.hours-grid .hour-item.bad:hover{background:rgba(255,59,48,.1)}.hours-grid .hour-item .hour-time{font-weight:600;margin-bottom:.5rem;font-size:16px}.hours-grid .hour-item .hour-name{font-size:14px;color:#6e6e73}.hours-grid .hour-item .hour-label{font-size:14px;font-weight:500;margin-top:.5rem}.hours-grid .hour-item .hour-label.good{color:#34c759}.hours-grid .hour-item .hour-label.bad{color:#ff3b30}.accordion-body .daily-content-brief{font-size:14px;font-weight:400}.accordion-body hr{margin:.5rem 0}.accordion-body .daily-content-author{font-size:12px}.accordion-body .daily-content-full{font-size:14px;line-height:1.6;margin-top:.75rem}.daily-content-brief{font-size:18px;font-weight:500;color:#1d1d1f;padding:1rem;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px;border-left:4px solid #007aff}.daily-content-author{margin-top:.5rem;font-size:14px;color:#6e6e73;font-style:italic}.daily-content-full{font-size:16px;color:#6e6e73;line-height:1.8}.daily-content-full p{margin-bottom:1rem}.month-navigation{display:flex;align-items:center;gap:1rem}.month-navigation .month-title{font-weight:600;font-size:18px;color:#1d1d1f;min-width:200px;text-align:center}.dual-calendar-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width:992px){.dual-calendar-container{grid-template-columns:1fr;gap:1.5rem}}.calendar-section .calendar-section-title{font-size:16px;font-weight:600;color:#1d1d1f;margin-bottom:1rem;text-align:center;padding:.75rem;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:12px}.calendar-section .calendar-section-title i{color:#007aff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.calendar-grid .calendar-header{text-align:center;font-weight:600;padding:.75rem;color:#6e6e73;font-size:14px}.calendar-grid .calendar-day{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);border-radius:4px;text-align:center;cursor:pointer;transition:all .3s ease;min-height:80px;display:flex;flex-direction:column}.calendar-grid .calendar-day:hover:not(.other-month){transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.calendar-grid .calendar-day.other-month{opacity:.3;cursor:default}.calendar-grid .calendar-day.today{background:rgba(0,122,255,.1);border:2px solid #007aff}.calendar-grid .calendar-day.selected{background:#007aff;color:#fff}.calendar-grid .calendar-day.selected .lunar-day,.calendar-grid .calendar-day.selected .lunar-day-num{color:rgba(255,255,255,.8)}.calendar-grid .calendar-day.selected .lunar-month-label{color:rgba(255,255,255,.9)}.calendar-grid .calendar-day .solar-day{font-size:18px;font-weight:600;margin-bottom:.5rem}.calendar-grid .calendar-day .lunar-day{font-size:14px;color:#86868b}.calendar-grid .calendar-day .lunar-day-num{font-size:18px;font-weight:600;color:#1d1d1f;margin-bottom:.5rem}.calendar-grid .calendar-day .lunar-day-zodiac-name{font-size:12px;margin-top:2px}.calendar-grid .calendar-day .lunar-month-label{font-size:11px;color:#007aff;font-weight:600;margin-top:2px}.calendar-grid .calendar-day.lunar-first-day{border-left:3px solid #34c759}.glass-footer{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.05);margin-top:3rem;border-top:1px solid rgba(255,255,255,.3)}.glass-footer p{margin:0}@media (max-width:768px){.glass-header .app-title{font-size:18px}.calendar-grid{gap:4px}.calendar-grid .calendar-day{min-height:60px;padding:4px}.calendar-grid .calendar-day .solar-day{font-size:16px}.calendar-grid .calendar-day .lunar-day{font-size:11px}.hours-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:8px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s ease-in-out infinite}