.app-header{background:linear-gradient(180deg,#070714f2,#0d0d1fe6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-primary);padding:8px 24px;min-height:44px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 20px #00000080,0 1px #d4af371a;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--gold-border)}@media(max-width:768px){.app-header{padding:6px 14px;gap:8px}.app-header .subtitle,.app-header .header-phone{display:none}}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent);opacity:.4}.logo{font-size:20px;font-weight:700;text-decoration:none;background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold-primary) 50%,var(--gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;font-family:var(--font-serif);text-shadow:0 0 30px rgba(212,175,55,.3)}@media(max-width:768px){.logo{font-size:18px;letter-spacing:2px;text-shadow:none}}.subtitle{font-size:12px;color:var(--text-secondary);letter-spacing:2px}.user-link{font-size:13px;color:var(--text-secondary);text-decoration:none;padding:4px 12px;border:1px solid var(--gold-border);border-radius:16px;transition:all var(--transition-normal);background:#d4af3708}.user-link:hover{color:var(--gold-primary);border-color:var(--gold-border-strong);background:#d4af3714}.header-phone{font-size:12px;color:var(--text-muted);margin-right:4px}.header-login-btn{font-size:13px;color:var(--gold-primary);background:transparent;border:1px solid var(--gold-border-strong);padding:4px 14px;border-radius:16px;cursor:pointer;transition:all var(--transition-normal);letter-spacing:1px}.header-login-btn:hover{border-color:var(--gold-primary);background:#d4af371a;box-shadow:var(--shadow-gold)}.header-logout{font-size:12px;color:var(--text-muted);background:none;border:1px solid rgba(255,255,255,.1);padding:4px 12px;border-radius:12px;cursor:pointer;transition:all var(--transition-fast)}.header-logout:hover{color:var(--text-secondary);border-color:var(--gold-border)}.app-main{flex:1;padding:28px;max-width:1100px;margin:0 auto;width:100%;position:relative;z-index:1}.app-footer{text-align:center;padding:24px 16px;color:var(--text-muted);font-size:12px;border-top:1px solid var(--gold-border);background:#07071480;position:relative}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent);opacity:.3}.app-footer p{line-height:1.8}.copy{margin-top:6px;color:var(--gold-dark);letter-spacing:1px}.login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-box{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--gold-border-strong);border-radius:var(--radius-xl);padding:32px 28px;text-align:center;min-width:320px;box-shadow:0 20px 60px #00000080,var(--shadow-gold);z-index:10000;position:relative;animation:modalIn .3s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-box:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.login-box h3{margin:0 0 20px;font-size:18px;color:var(--gold-primary);font-family:var(--font-serif);letter-spacing:3px}.login-input{width:100%;padding:14px;border:1px solid var(--gold-border);border-radius:var(--radius-md);font-size:18px;text-align:center;margin-bottom:14px;box-sizing:border-box;outline:none;background:var(--bg-input);color:var(--text-primary);transition:all var(--transition-normal);letter-spacing:2px}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--gold-primary);background:var(--bg-input-focus);box-shadow:0 0 0 3px #d4af371a}.login-btn{width:100%;padding:14px;font-size:16px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--gold-dark),var(--gold-primary),var(--gold-light));color:#1a1a2e;cursor:pointer;font-weight:600;letter-spacing:3px;transition:all var(--transition-normal);box-shadow:0 4px 16px #d4af374d}.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #d4af3780}.login-btn:active{transform:translateY(0)}.login-tip{font-size:11px;color:var(--text-muted);margin-top:12px}.login-resend{font-size:11px;color:var(--gold-dark);cursor:pointer;border:none;background:none;margin-top:8px;padding:4px 8px;transition:color var(--transition-fast)}.login-resend:hover{color:var(--gold-primary)}.login-resend:disabled{color:var(--text-muted);cursor:default}.login-msg{font-size:12px;color:var(--color-error);margin-top:10px;text-align:center}:root{--bg-deep: #070714;--bg-main: #0d0d1f;--bg-card: rgba(255, 255, 255, .035);--bg-card-hover: rgba(255, 255, 255, .06);--bg-input: rgba(255, 255, 255, .04);--bg-input-focus: rgba(212, 175, 55, .06);--gold-primary: #d4af37;--gold-light: #f5e6a3;--gold-dark: #8b7355;--gold-dim: #6b5a3e;--gold-glow: rgba(212, 175, 55, .4);--gold-border: rgba(212, 175, 55, .25);--gold-border-strong: rgba(212, 175, 55, .5);--text-primary: #e8d5b7;--text-secondary: #a89880;--text-muted: #6b6050;--text-gold: #d4af37;--text-white: #f0e8d8;--color-ming: #c0392b;--color-ming-glow: rgba(192, 57, 43, .4);--color-shen: #3498db;--color-shen-glow: rgba(52, 152, 219, .4);--color-success: #27ae60;--color-error: #e74c3c;--color-warning: #f39c12;--wx-wood: #2ecc71;--wx-fire: #e74c3c;--wx-earth: #f1c40f;--wx-metal: #bdc3c7;--wx-water: #3498db;--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-gold: 0 0 20px rgba(212, 175, 55, .15);--shadow-gold-strong: 0 0 30px rgba(212, 175, 55, .3);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--font-serif: "Noto Serif SC", "Source Han Serif SC", "思源宋体", "STSong", "SimSun", serif;--font-sans: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-kai: "KaiTi", "STKaiti", "楷体", serif;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-main);color:var(--text-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(212,175,55,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(107,63,141,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(212,175,55,.02) 0%,transparent 70%);pointer-events:none;z-index:0}#app-root{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}.gold-text{background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold-primary) 50%,var(--gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gold-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-card);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent);opacity:.5}.card:hover{border-color:var(--gold-border-strong);box-shadow:var(--shadow-card),var(--shadow-gold)}.card-title{font-size:18px;font-weight:600;color:var(--text-gold);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--gold-border);font-family:var(--font-serif);letter-spacing:2px;position:relative}.card-title:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:linear-gradient(90deg,var(--gold-primary),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;border:none;border-radius:var(--radius-md);font-size:15px;cursor:pointer;transition:all var(--transition-normal);font-weight:500;font-family:var(--font-sans);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold-primary) 50%,var(--gold-light) 100%);color:#1a1a2e;font-weight:600;letter-spacing:2px;box-shadow:0 4px 16px #d4af374d}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left var(--transition-slow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #d4af3780}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;border:1px solid var(--gold-border-strong);color:var(--gold-primary)}.btn-outline:hover{background:#d4af371a;border-color:var(--gold-primary);box-shadow:var(--shadow-gold)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px;font-weight:500;letter-spacing:1px}.form-input,.form-select{width:100%;padding:10px 14px;border:1px solid var(--gold-border);border-radius:var(--radius-md);font-size:15px;background:var(--bg-input);color:var(--text-primary);transition:all var(--transition-normal);font-family:var(--font-sans)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--gold-primary);background:var(--bg-input-focus);box-shadow:0 0 0 3px #d4af371a}.form-select option{background:var(--bg-main);color:var(--text-primary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:10px 12px;text-align:center;border:1px solid var(--gold-border)}.data-table th{background:#d4af3714;color:var(--gold-primary);font-weight:600;font-family:var(--font-serif);letter-spacing:1px}.data-table td{background:#ffffff04;color:var(--text-primary)}.data-table tr:hover td{background:#d4af370a}.tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.tag-pillar{background:#d4af371f;color:var(--gold-primary);border:1px solid var(--gold-border)}.tag-shen{background:#f39c121f;color:var(--color-warning);border:1px solid rgba(243,156,18,.3)}.tag-star{background:#3498db1f;color:var(--color-shen);border:1px solid rgba(52,152,219,.3)}.tag-daymaster{background:#e74c3c1f;color:var(--color-ming);border:1px solid rgba(231,76,60,.3)}.palace-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--gold-border);padding:2px;border-radius:var(--radius-md)}.palace-cell{background:var(--bg-card);padding:12px 8px;text-align:center;min-height:80px}.palace-cell.ming{border:2px solid var(--color-ming);background:#c0392b0d}.palace-cell.shen{border:2px solid var(--color-shen);background:#3498db0d}.palace-name{font-size:12px;color:var(--text-muted);margin-bottom:4px}.palace-stars{font-size:13px;color:var(--text-primary);font-weight:500}.palace-branch{font-size:11px;color:var(--gold-dark)}.dayun-list{display:flex;flex-wrap:wrap;gap:8px}.dayun-item{padding:8px 14px;background:#d4af370d;border-radius:var(--radius-sm);font-size:13px;border:1px solid var(--gold-border);transition:all var(--transition-fast)}.dayun-item:hover{background:#d4af371a;border-color:var(--gold-border-strong)}.dayun-item .age{color:var(--gold-primary);font-weight:700}.dayun-item .gz{color:var(--text-primary);margin-left:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px #d4af3733}50%{box-shadow:0 0 25px #d4af3780}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-glow{animation:glowPulse 2s ease-in-out infinite}@media(max-width:768px){.app-main{padding:12px}.form-row{grid-template-columns:1fr}.palace-grid{grid-template-columns:repeat(3,1fr)}.card{padding:16px}}
