body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(1px 1px at 8% 12%,rgba(245,245,247,.4) 50%,transparent 50%),radial-gradient(1px 1px at 92% 8%,rgba(245,245,247,.3) 50%,transparent 50%),radial-gradient(1px 1px at 15% 85%,rgba(212,169,78,.25) 50%,transparent 50%),radial-gradient(1px 1px at 80% 75%,rgba(245,245,247,.25) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 50% 5%,rgba(212,169,78,.2) 50%,transparent 50%);opacity:.5}.shell{min-height:100vh;background:var(--color-canvas);color:var(--color-ink);position:relative;z-index:1}.topbar{position:sticky;top:0;z-index:100;background:#0d0d0fcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-hairline)}.topbar-inner{max-width:1200px;margin:0 auto;padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between}.topbar-inner.center{justify-content:center}.brand{font-family:var(--font-serif);font-size:24px;color:var(--color-gold);text-decoration:none}.topbar-right{display:flex;align-items:center;gap:var(--spacing-md)}.toplink{color:var(--color-ink-muted);text-decoration:none;font-size:var(--font-body-sm)}.toplink.gold{color:var(--color-gold)}.lang-switch-select{width:110px}.lang-switch-select .n-base-selection{background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--radius-full);color:var(--color-ink-muted);font-size:var(--font-caption)}.lang-switch-select .n-base-selection:hover{color:var(--color-gold);border-color:var(--color-gold-dim)}.lang-switch-select .n-base-selection-label{color:inherit}.user-chip{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:6px 10px;border-radius:var(--radius-full);border:1px solid var(--color-hairline);background:var(--color-surface-1)}.user-dot{width:8px;height:8px;border-radius:50%;background:var(--color-ink-subtle)}.user-dot.gold{background:var(--color-gold)}.user-name{font-size:var(--font-body-sm);color:var(--color-ink);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-tag{font-size:10px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-ink-subtle)}.level-tag.lv-premium{color:var(--color-jade);background:#4ea37c26}.level-tag.lv-vip{color:var(--color-gold);background:#d4a94e26}:root{--color-canvas: #0d0d0f;--color-surface-1: #161618;--color-surface-2: #1c1c1e;--color-surface-3: #232325;--color-hairline: #2a2a2e;--color-hairline-strong: #3a3a3e;--color-ink: #f5f5f7;--color-ink-muted: #a1a1a6;--color-ink-subtle: #6e6e73;--color-ink-disabled: #48484a;--color-gold: #d4a94e;--color-gold-bright: #e8c97a;--color-gold-dim: #8a7138;--color-cinnabar: #c0392b;--color-jade: #4ea37c;--five-metal: #d4a94e;--five-wood: #5b8c5a;--five-water: #4a6fa5;--five-fire: #c05a3a;--five-earth: #a98a4e;--color-success: #30d158;--color-warning: #ffd60a;--color-error: #ff453a;--font-serif: "Noto Serif SC", "Songti SC", serif;--font-sans: "PingFang SC", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-display: 44px;--font-h1: 32px;--font-h2: 24px;--font-h3: 18px;--font-body: 16px;--font-body-sm: 14px;--font-caption: 12px;--font-mono-size: 13px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--spacing-section: 64px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease: cubic-bezier(.4, 0, .2, 1);--dur-press: .12s;--dur-fast: .16s;--dur-base: .22s;--dur-slow: .32s;--shadow-card: 0 2px 16px rgba(0, 0, 0, .4);--shadow-lift: 0 8px 32px rgba(0, 0, 0, .5)}[data-theme=light]{--color-canvas: #f5f5f7;--color-surface-1: #ffffff;--color-surface-2: #f0f0f2;--color-surface-3: #e8e8ec;--color-hairline: #d2d2d7;--color-hairline-strong: #c0c0c5;--color-ink: #1d1d1f;--color-ink-muted: #48484a;--color-ink-subtle: #86868b;--color-ink-disabled: #aeaeb2;--color-gold: #8a6d2f;--color-gold-bright: #a8863c;--color-gold-dim: #c4a860;--shadow-card: 0 2px 16px rgba(0, 0, 0, .08);--shadow-lift: 0 8px 32px rgba(0, 0, 0, .12)}.text-gold{color:var(--color-gold)}@media(max-width:768px){:root,[data-theme=light]{--spacing-xxl: 20px;--spacing-xl: 16px;--spacing-lg: 14px;--font-h1: 24px;--font-h2: 20px;--font-h3: 16px}}html[data-rtl="1"] .shell{direction:rtl;text-align:right}html[data-rtl="1"] .topbar,html[data-rtl="1"] .topbar-inner,html[data-rtl="1"] .topbar-right{direction:ltr;text-align:left}html[data-rtl="1"] .shell .num,html[data-rtl="1"] .shell .lucky-num,html[data-rtl="1"] .shell .score-num,html[data-rtl="1"] .shell [class*=num-],html[data-rtl="1"] .shell .ganzhi,html[data-rtl="1"] .shell .compass,html[data-rtl="1"] .shell .pinyin{direction:ltr;unicode-bidi:isolate}html[data-rtl="1"] .shell .arrow-right,html[data-rtl="1"] .shell .fa-arrow-right,html[data-rtl="1"] .shell [class*=chevron-right]{transform:scaleX(-1)}.press{transition:transform var(--dur-press) var(--ease-out)}.press:active{transform:scale(.97)}.lift{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}}.rise{animation:rise-in var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:rise-in var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}.t-display{letter-spacing:-.03em}.t-tight{letter-spacing:-.01em}.t-gold{color:var(--color-gold)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-3);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(212,169,78,.08),transparent);animation:shimmer 1.6s var(--ease) infinite}@keyframes shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.rise,.stagger>*{animation:none}.press:active{transform:none}.lift{transition:box-shadow var(--dur-fast) var(--ease-out)}}
