@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-void:#f4f4f9;--bg-deep:#fff;--bg-surface:#f9f9fb;--bg-elevated:#fff;--bg-card:#fff;--bg-hover:#fdf8fa;--border-subtle:#ebeafa;--border-medium:#dbd9f4;--border-strong:#bcb9df;--text-primary:#1a1a24;--text-secondary:#4a4a5e;--text-muted:#787891;--text-faint:#a5a5c0;--gold:#f44f9a;--gold-dim:#d4367e;--gold-glow:#f44f9a33;--teal:#2a9d8f;--teal-dim:#1e7a6f;--teal-glow:#2a9d8f33;--rose:#e76f6f;--rose-dim:#c45555;--rose-glow:#e76f6f22;--violet:#9b7fd4;--violet-dim:#7b5fb4;--violet-glow:#9b7fd433;--success:#52b788;--warning:#f4a261;--error:#e76f6f;--info:#4a9fd4;--phoenix:#e8611a;--river:#4a9fd4;--moon:#7b68c8;--bloom:#e8a87c;--storm:#6b8fa6;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001f;--shadow-gold:0 0 20px var(--gold-glow);--shadow-teal:0 0 20px var(--teal-glow);--shadow-violet:0 0 20px var(--violet-glow);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--sidebar-width:260px;--sidebar-collapsed:64px;--topbar-height:64px;--bottombar-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:var(--gold);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-primary)}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--text-secondary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-gold{color:var(--gold)}.text-teal{color:var(--teal)}.text-rose{color:var(--rose)}.text-violet{color:var(--violet)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.card-elevated{background:var(--bg-elevated);border-color:var(--border-medium)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border:none;padding:10px 20px;font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--gold), var(--gold-dim));color:var(--bg-deep)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-gold);transform:translateY(-1px)}.btn-teal{background:linear-gradient(135deg, var(--teal), var(--teal-dim));color:#fff}.btn-teal:hover:not(:disabled){box-shadow:var(--shadow-teal);transform:translateY(-1px)}.btn-violet{background:linear-gradient(135deg, var(--violet), var(--violet-dim));color:#fff}.btn-violet:hover:not(:disabled){box-shadow:var(--shadow-violet);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.btn-danger{background:var(--rose);color:#fff}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:1rem}.btn-sm{padding:6px 12px;font-size:.75rem}.input,.textarea,.select{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:all var(--transition-fast);outline:none;padding:10px 14px;font-size:.875rem}.input:focus,.textarea:focus,.select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.input::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:80px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-gold{background:var(--gold-glow);color:var(--gold);border:1px solid var(--gold)}.badge-teal{background:var(--teal-glow);color:var(--teal);border:1px solid var(--teal)}.badge-rose{background:var(--rose-glow);color:var(--rose);border:1px solid var(--rose)}.badge-violet{background:var(--violet-glow);color:var(--violet);border:1px solid var(--violet)}.badge-success{color:var(--success);background:#52b78822}.badge-warning{color:var(--warning);background:#f4a26122}.archetype-phoenix{color:var(--phoenix);border:1px solid var(--phoenix);background:#e8611a22}.archetype-river{color:var(--river);border:1px solid var(--river);background:#4a9fd422}.archetype-moon{color:var(--moon);border:1px solid var(--moon);background:#7b68c822}.archetype-bloom{color:var(--bloom);border:1px solid var(--bloom);background:#e8a87c22}.archetype-storm{color:var(--storm);border:1px solid var(--storm);background:#6b8fa622}.kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.kpi-card .kpi-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.75rem;font-weight:700}.kpi-card .kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.kpi-card .kpi-change{font-size:.75rem;font-weight:600}.kpi-card .kpi-change.positive{color:var(--success)}.kpi-card .kpi-change.negative{color:var(--error)}.table-container{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{background:var(--bg-surface);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:.75rem;font-weight:600}tbody td{border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:.875rem}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}.soulskin-bg{background:linear-gradient(135deg, #ffebf4 0%, var(--bg-deep) 100%)}.soulskin-text-glow{text-shadow:0 0 30px var(--violet-glow)}.score-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring .score-value{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;position:absolute}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-hover) 50%, var(--bg-card) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-gold{0%,to{box-shadow:0 0 0 0 var(--gold-glow)}50%{box-shadow:0 0 0 8px #0000}}@keyframes counter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.animate-slide-up{animation:.4s ease-out forwards slideUp}@media (width<=768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card{padding:var(--space-md)}}
