:root{--color-parchment:#f5f0e8;--color-ink:#2c1810;--color-vermillion:#c41e3a;--color-jade:#2d8a6e;--color-gold:#b8860b;--color-slate:#4a5568}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-parchment);color:var(--color-ink);background-image:radial-gradient(at 20%,#b8860b0d 0%,#0000 50%),radial-gradient(at 80% 20%,#2d8a6e0a 0%,#0000 50%);min-height:100vh;font-family:STSong,Songti SC,Noto Serif SC,SimSun,serif;line-height:1.7}#root{min-height:100vh}.chinese-card{background:linear-gradient(135deg,#fefcf7 0%,#f7f3ea 100%);border:1px solid #b8860b33;border-radius:8px;transition:all .3s;box-shadow:0 2px 12px #0000000f}.chinese-card:hover{border-color:#b8860b66;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c41e3a 0%,#a01830 100%);border:none;border-radius:6px;padding:12px 32px;font-family:inherit;font-size:1.05rem;transition:all .3s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #c41e3a66}.btn-secondary{color:var(--color-vermillion);border:1.5px solid var(--color-vermillion);cursor:pointer;background:0 0;border-radius:6px;padding:10px 28px;font-family:inherit;font-size:1rem;transition:all .3s}.btn-secondary:hover{background:#c41e3a0d}.seal-stamp{color:var(--color-vermillion);border:3px solid var(--color-vermillion);letter-spacing:2px;padding:4px 12px;font-weight:700;display:inline-block;transform:rotate(-5deg)}.ink-divider{background:linear-gradient(to right, transparent, var(--color-ink), transparent);opacity:.15;height:1px;margin:24px 0}.page-title{text-align:center;color:var(--color-ink);letter-spacing:4px;margin-bottom:8px;font-size:2.2rem}.page-subtitle{text-align:center;color:var(--color-slate);margin-bottom:32px;font-size:1rem}.fade-in{animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float-anim{animation:3s ease-in-out infinite float}@keyframes pulse-glow{0%,to{box-shadow:0 0 #c41e3a4d}50%{box-shadow:0 0 0 8px #c41e3a00}}.pulse-glow{animation:2s infinite pulse-glow}.tooltip{position:relative}.tooltip:after{content:attr(data-tip);background:var(--color-ink);color:var(--color-parchment);white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px;padding:4px 12px;font-size:.8rem;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}
