@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap";:root{--font-heading: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--grid-size: 40px}:root,[data-theme=dark]{--bg-primary: #1a1a1f;--bg-secondary: #212126;--bg-surface: #242429;--bg-surface-hover: #2a2a30;--bg-elevated: #2e2e35;--text-primary: #f5f5f5;--text-secondary: #b8b8bf;--text-muted: #7a7a85;--text-inverse: #1a1a1f;--accent: #3b82f6;--accent-hover: #2563eb;--accent-subtle: rgba(59, 130, 246, .12);--accent-glow: rgba(59, 130, 246, .25);--success: #22c55e;--success-subtle: rgba(34, 197, 94, .12);--warning: #eab308;--warning-subtle: rgba(234, 179, 8, .12);--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .12);--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--border-strong: rgba(255, 255, 255, .2);--glass-bg: rgba(36, 36, 41, .75);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px rgba(59, 130, 246, .15);--grid-color: rgba(255, 255, 255, .03)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--bg-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-subtle: rgba(37, 99, 235, .1);--accent-glow: rgba(37, 99, 235, .2);--success: #16a34a;--success-subtle: rgba(22, 163, 74, .1);--warning: #d97706;--warning-subtle: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-subtle: rgba(220, 38, 38, .1);--border: #e2e8f0;--border-hover: #cbd5e1;--border-strong: #94a3b8;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-glow: 0 0 30px rgba(37, 99, 235, .15);--grid-color: rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh}.grid-bg{background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}h3{font-size:clamp(1.1rem,2vw,1.4rem)}.serif{font-family:var(--font-heading)}.serif-italic{font-family:var(--font-heading);font-style:italic}.mono{font-family:var(--font-mono)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.label{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:var(--font-body);font-size:14px;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 0 48px #3b82f640}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-hover)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:8px 16px}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-surface)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:8px 16px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:16px 32px;font-size:16px;border-radius:var(--radius-lg)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--border-hover)}.card-interactive:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-md)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.input{width:100%;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:14px;transition:all var(--transition-fast);outline:none}.input::-moz-placeholder{color:var(--text-muted)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.textarea{resize:vertical;min-height:120px;line-height:1.6}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-full);border:1px solid transparent;letter-spacing:.02em}.badge-accent{background:var(--accent-subtle);color:var(--accent);border-color:#3b82f640}.badge-success{background:var(--success-subtle);color:var(--success);border-color:#22c55e40}.badge-warning{background:var(--warning-subtle);color:var(--warning);border-color:#eab30840}.badge-danger{background:var(--danger-subtle);color:var(--danger);border-color:#ef444440}.badge-neutral{background:#ffffff0d;color:var(--text-muted);border-color:var(--border)}.progress-track{width:100%;height:4px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .5s ease}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:10px 16px;color:var(--text-muted);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-hover)}td{padding:10px 16px;color:var(--text-secondary);border-bottom:1px solid var(--border)}tr:hover td{background:#ffffff05}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}.page{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.container-sm{max-width:800px;margin:0 auto;padding:0 var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.pointer-events-none{pointer-events:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cursor-pointer{cursor:pointer}.line-through{text-decoration:line-through}.page-enter{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-enter{animation:slideInRight .25s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.marquee-outer{overflow:hidden}.marquee-inner{display:flex;width:-moz-max-content;width:max-content;animation:marqueeScroll 32s linear infinite}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes carouselProgress{0%{width:0%}to{width:100%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}.navbar{position:fixed;top:16px;left:50%;transform:translate(-50%);width:calc(100% - 48px);max-width:1200px;z-index:100;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:0 var(--space-lg);height:56px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 24px #0000004d}.navbar-brand{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.01em}.navbar-links{display:flex;align-items:center;gap:var(--space-xs)}.navbar-link{padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.navbar-link:hover,.navbar-link.active{color:var(--text-primary);background:#ffffff0f}.navbar-link.active{background:#3b82f61f;color:var(--accent)}.has-navbar{padding-top:88px}.divider{height:1px;background:var(--border);border:none}.divider-accent{height:2px;background:linear-gradient(90deg,var(--accent),transparent);border:none}.dropzone{border:2px dashed var(--border-hover);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:all var(--transition-base);text-align:center}.dropzone:hover{border-color:var(--accent);background:var(--accent-subtle)}.dropzone.dragging{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 4px #3b82f61a}.dropzone.uploaded{border-color:var(--success);background:var(--success-subtle)}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.stat-value{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--accent);line-height:1}.stat-label{font-size:13px;color:var(--text-muted);margin-top:8px}.tab-bar{display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;overflow-x:auto}.tab-item{padding:8px 18px;font-size:13px;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-family:var(--font-body)}.tab-item:hover{color:var(--text-primary);background:#ffffff0a}.tab-item.active{background:var(--accent);color:#fff;font-weight:600}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile-only{display:none!important}}.score-tab-enter>*{animation:chartSlideUp .5s ease-out both}.score-tab-enter>*:nth-child(1){animation-delay:0s}.score-tab-enter>*:nth-child(2){animation-delay:.1s}.score-tab-enter>*:nth-child(3){animation-delay:.2s}.score-tab-enter>*:nth-child(4){animation-delay:.3s}@keyframes chartSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.score-card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default}.score-card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d,0 0 0 1px #ffffff14;border-color:#ffffff26}.card-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 50%,transparent 100%);transition:left .6s ease;pointer-events:none}.score-card-hover:hover .card-shimmer{left:100%}.stress-flipped-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(239,68,68,.08) 0%,transparent 60%);animation:stressFlash 3s ease-in-out infinite;pointer-events:none}@keyframes stressFlash{0%,to{opacity:.3}50%{opacity:.8}}.stress-bar-fill{animation:stressBarGrow 1s ease-out both;animation-delay:.5s;transform-origin:left}@keyframes stressBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.recharts-bar-rectangle{transition:filter .25s ease,opacity .25s ease}.recharts-radar-polygon{transition:fill-opacity .3s ease}.recharts-tooltip-wrapper{transition:transform .15s ease,opacity .15s ease!important}.recharts-dot.recharts-active-dot circle{filter:drop-shadow(0 0 6px currentColor)}.force-graph-glow{box-shadow:inset 0 0 60px #3b82f60a}@keyframes radarFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.recharts-polar-angle-axis-tick text{animation:radarFadeIn .5s ease-out both}@media(max-width:768px){.score-tab-enter [style*="grid-template-columns: 280px"]{grid-template-columns:1fr!important}}
