#app{min-height:100vh;background-color:#f8fafc}:root{--p-violet: #8EC5FC;--p-violet-d: #4C9FE3;--p-violet-deep: #2E8BC0;--p-lilac: #A8E6CF;--p-lilac-soft: #EAF9F2;--p-bg: #F0F9FF;--p-bg-2: #FDFCF8;--p-text: #4A5568;--p-text-soft: #718096;--p-line: #E2E8F0;--p-pink: #EC6AA0;--p-amber: #F5A623;--p-blue: #4C9FE3;--p-rose: #7BC6A7;--p-night: #1E2A4A;--p-night-2: #2E4A7B;--p-gold: #F5C77E;--st-load: #8EC5FC;--st-ok: #22C55E;--st-empty: #94A3B8;--st-err: #EF4444;--st-lock: #F5A623;--st-exp: #94A3B8;--serif: "Noto Serif SC", "Fraunces", serif;--display: "Fraunces", "Noto Serif SC", serif;--sans: "Noto Sans SC", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", monospace;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-xl: 32px;--shadow-card: 0 8px 30px -14px rgba(142, 197, 252, .35);--shadow-soft: 0 4px 16px -8px rgba(142, 197, 252, .22);--color-primary: #8EC5FC;--color-primary-light: #A8E6CF;--color-primary-dark: #4C9FE3;--color-bg: #F0F9FF;--color-bg-deep: #FDFCF8;--color-text: #4A5568;--color-text-secondary: #718096;--color-text-tertiary: #94A3B8;--color-border: #E2E8F0;--color-success: #22C55E;--color-error: #EF4444;--color-warn: #F5A623;--p-talent: #5B8DEF;--p-talent-rgb: 91, 141, 239;--p-talent-soft: rgba(91, 141, 239, .12);--p-interest: #F5A623;--p-interest-rgb: 245, 166, 35;--p-interest-soft: rgba(245, 166, 35, .14);--p-personality: #4C9FE3;--p-personality-rgb: 76, 159, 227;--p-personality-soft: rgba(76, 159, 227, .14);--p-soulmate: #7BC6A7;--p-soulmate-rgb: 123, 198, 167;--p-soulmate-soft: rgba(123, 198, 167, .14);--p-fortune: #F5A623;--p-fortune-rgb: 245, 166, 35;--p-fortune-soft: rgba(245, 166, 35, .14)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--sans);font-size:14px;color:var(--p-text);background-color:var(--p-bg);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}#app{min-height:100vh}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes blink{50%{opacity:0}}@keyframes pulseG{0%,to{transform:translate(-50%,-50%) scale(.7);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes spinRev{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-p{font-family:var(--sans);border:0;cursor:pointer;border-radius:999px;font-weight:600;transition:all .25s ease;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;outline:none}.btn-p:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#8ec5fc,#a8e6cf);color:#fff;padding:14px 28px;font-size:14px;box-shadow:0 6px 20px #8ec5fc66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8ec5fc80}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translate(-120%);transition:transform .6s ease}.btn-primary:hover:after{transform:translate(120%)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:disabled:after{display:none}.btn-ghost{background:#ffffffb3;color:var(--p-violet-d);border:1px solid var(--p-lilac);padding:11px 20px;font-size:13px}.btn-ghost:hover{background:#fff}.btn-amber{background:#fff;color:var(--st-err);border:1px solid #ecc9a3;padding:11px 20px;font-size:13px;border-radius:999px;cursor:pointer;font-family:var(--sans);font-weight:600;transition:all .25s ease}.btn-amber:hover{background:#fef7ee}.scroll-container{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.scroll-container::-webkit-scrollbar{display:none}@media (max-width: 768px){body{font-size:13px}}
