:root{--bg-gradient:linear-gradient(135deg, #ff9a9e 0%, #fecfef 99%, #fecfef 100%);--text-color:#333;--card-bg:#fffc;--shadow:0 8px 32px #1f26871a;--border:1px solid #ffffff4d}body.dark-mode{--bg-gradient:linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);--text-color:#e6e6e6;--card-bg:#16213ecc;--shadow:0 8px 32px #00000080;--border:1px solid #ffffff0d}body{background:var(--bg-gradient);color:var(--text-color);background-size:cover;background-attachment:fixed;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .5s,color .3s}.loader-container{z-index:9999;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity 1s,visibility 1s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.fireworks{pointer-events:none;width:100%;height:100%;position:absolute}.spark{background:#fff;border-radius:50%;width:10px;height:10px;animation:2s ease-out infinite firework;position:absolute;top:50%;left:50%;box-shadow:0 0 20px 10px #fffc,0 0 40px 20px #ffc80099}.spark:first-child{animation-delay:0s;top:40%;left:40%}.spark:nth-child(2){animation-delay:.4s;top:30%;left:60%}.spark:nth-child(3){animation-delay:.8s;top:60%;left:30%}.spark:nth-child(4){animation-delay:1.2s;top:65%;left:70%}.spark:nth-child(5){animation-delay:1.6s;top:50%;left:50%}@keyframes firework{0%{opacity:1;transform:scale(0)}50%{opacity:.8;transform:scale(10)}to{opacity:0;transform:scale(20)}}.banner{opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;text-align:center;background:linear-gradient(90deg,#ffffff1a,#ffffff4d,#ffffff1a);border:2px solid #ffd700cc;border-radius:20px;padding:20px 60px;animation:1.2s cubic-bezier(.175,.885,.32,1.275) forwards bannerIn;transform:scale(.5)translateY(50px);box-shadow:0 0 30px #ffd7004d}.banner h1{color:#fff;text-shadow:0 4px 15px #0000004d,0 0 20px #ffd70080;letter-spacing:4px;margin:0;font-size:3rem;font-weight:800}.skip-hint{color:#ffffffb3;letter-spacing:2px;margin-top:15px;font-size:14px;animation:2s infinite hintPulse}@keyframes hintPulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes bannerIn{to{opacity:1;transform:scale(1)translateY(0)}}.loader-hidden{opacity:0;visibility:hidden}.dashboard{max-width:1200px;margin:0 auto;padding:20px}.header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.realtime-info{color:#666;gap:20px;margin-top:10px;font-size:14px;display:flex}body.dark-mode .realtime-info{color:#aaa}.realtime-info span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4a90e226;border-radius:20px;padding:4px 12px;transition:all .3s}.btn{cursor:pointer;color:#fff;background-color:#4a90e2;border:none;border-radius:6px;padding:8px 16px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #4a90e24d}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #4a90e266}.grid-container{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;display:grid}.card{background-color:var(--card-bg);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);border:var(--border);border-radius:16px;padding:20px;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000026}body.dark-mode .card:hover{box-shadow:0 15px 35px #0009}.chart-container{width:100%;height:300px;margin-top:10px}.card-header-flex{border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.card-header-flex h3{margin:0;border-bottom:none!important;padding-bottom:0!important}.sign-select{color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:1px solid #ffffff4d;border-radius:6px;outline:none;padding:4px 8px;font-size:14px}body.dark-mode .sign-select{background:#0000004d;border-color:#ffffff1a}.sign-select option{color:#333;background:#fff}body.dark-mode .sign-select option{color:#e6e6e6;background:#16213e}.card-horoscope{color:#fff;background:linear-gradient(135deg,#667eead9 0%,#764ba2d9 100%);border:none}.horoscope-box{flex-direction:column;gap:8px;font-size:14px;line-height:1.6;display:flex}.horoscope-title{font-size:16px;font-weight:700}.horoscope-score{color:gold;text-shadow:0 2px 4px #0003;font-size:20px;font-weight:700}.horoscope-tags{opacity:.9}.horoscope-lucky{opacity:.85}.horoscope-summary{background:#ffffff26;border-radius:8px;margin-top:4px;padding:10px 14px;font-size:13px}.card-almanac{color:#fff;background:linear-gradient(135deg,#f093fbd9 0%,#f5576cd9 100%);border:none}.almanac-box{flex-direction:column;gap:8px;font-size:14px;line-height:1.6;display:flex}.almanac-date{font-size:15px;font-weight:700}.almanac-yi{background:#ffffff26;border-radius:6px;padding:6px 12px;font-size:13px}.almanac-ji{background:#00000026;border-radius:6px;padding:6px 12px;font-size:13px}.almanac-wuxing{opacity:.85;font-size:13px}.card h3{border-bottom:1px solid #0000000d;margin-top:0;margin-bottom:10px;padding-bottom:10px}body.dark-mode .card h3{border-bottom-color:#ffffff0d}
