#app{min-height:100vh;background-color:var(--p-bg)}.page-enter-active,.page-leave-active{transition:opacity .3s ease,transform .3s ease}.page-enter-from{opacity:0;transform:translate(24px)}.page-leave-to{opacity:0;transform:translate(-24px)}@media (prefers-reduced-motion: reduce){.page-enter-active,.page-leave-active{transition:none}}:root{--p-violet: #8EC5FC;--p-violet-rgb: 142, 197, 252;--p-violet-d: #4C9FE3;--p-violet-deep: #2E8BC0;--p-lilac: #A8E6CF;--p-lilac-rgb: 168, 230, 207;--p-lilac-soft: #EAF9F2;--p-mint: #7BC6A7;--p-mint-soft: #DCEDC1;--p-bg: #FAFCFE;--p-bg-1: #F0F9FF;--p-bg-2: #FDFCF8;--p-bg-3: #F0FFF4;--p-bg-card: #FFFFFF;--p-glass: rgba(255, 255, 255, .72);--p-ink: #1F2937;--p-text: #374151;--p-text-soft: #6B7280;--p-text-mute: #9CA3AF;--p-line: #E5E7EB;--p-line-soft: #F3F4F6;--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", "Songti SC", serif;--display: "Noto Serif SC", "Fraunces", serif;--sans: "Noto Sans SC", system-ui, -apple-system, sans-serif;--mono: "DM Mono", "JetBrains Mono", monospace;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 32px;--r-pill: 999px;--shadow-card: 0 8px 30px -14px rgba(142, 197, 252, .35);--shadow-soft: 0 4px 16px -8px rgba(142, 197, 252, .22);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px -8px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .04);--shadow-lg: 0 20px 50px -16px rgba(15, 23, 42, .12);--shadow-azure: 0 12px 32px -12px rgba(142, 197, 252, .55);--shadow-mint: 0 12px 32px -12px rgba(168, 230, 207, .55);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--color-primary: #8EC5FC;--color-primary-light: #A8E6CF;--color-primary-dark: #4C9FE3;--color-bg: #FAFCFE;--color-bg-deep: #FDFCF8;--color-text: #374151;--color-text-secondary: #6B7280;--color-text-tertiary: #9CA3AF;--color-border: #E5E7EB;--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: #22C55E;--p-interest-rgb: 34, 197, 94;--p-interest-soft: rgba(34, 197, 94, .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)}}@keyframes orbBreath{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}@keyframes blobBreath{0%,to{opacity:.2}50%{opacity:.32}}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@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:var(--r-pill);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}.glass{background:var(--p-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6)}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,var(--p-violet),var(--p-lilac));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.text-gradient{background:linear-gradient(135deg,var(--p-violet-deep),var(--p-mint));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.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}}
