@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300;1,6..72,400&display=swap";:root{--black: #191919;--near-black: #252525;--gray-dark: #37352F;--gray-mid: #6B6B6B;--gray-light: #9B9A97;--gray-line: #E9E9E7;--gray-bg: #F7F7F5;--white: #FFFFFF;--water-deep: #0A3554;--water-mid: #1565A0;--water-light: #4A90C4;--water-pale: #E8F4FA;--green: #0F7B6C;--green-bg: #EDFAF7;--amber: #C17D39;--amber-bg: #FBF3E4;--red: #C73535;--red-bg: #FEF3F2;--blue: #2383E2;--blue-light: #EBF3FD;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-read: "Newsreader", Georgia, serif;--text-display: clamp(42px, 6.5vw, 72px);--text-h2: clamp(28px, 3.5vw, 44px);--text-h3: 1.625rem;--text-page: 1.75rem;--text-body-lg: 1.125rem;--text-body: 1rem;--text-body-sm: .9375rem;--text-label: .8125rem;--text-caption: .75rem;--text-micro: .6875rem;--lh-heading: 1.2;--lh-body: 1.6;--lh-label: 1.55;--ls-eyebrow: 1px;--ls-badge: .5px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-14: 56px;--space-20: 80px;--sidebar-w: 220px;--topnav-h: 52px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-full: 9999px;--border: 1px solid var(--gray-line);--border-focus: 1px solid var(--water-mid);--shadow-card: 0 4px 24px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--shadow-float: 0 4px 8px rgba(0,0,0,.04), 0 16px 40px rgba(0,0,0,.08);--shadow-modal: 0 24px 64px rgba(0,0,0,.2);--transition-fast: .1s ease;--transition-base: .12s ease;--transition-reveal: .55s ease;--transition-score: 1.8s cubic-bezier(.16, 1, .3, 1);--z-topnav: 200;--z-modal: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-ui);font-weight:400;color:var(--gray-dark);background:var(--gray-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:var(--font-ui)}img,svg{display:block;max-width:100%}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;flex:1;padding-top:var(--topnav-h)}.main-content{flex:1;padding:28px 32px;min-width:0;background:var(--gray-bg)}.topnav{position:fixed;top:0;left:0;right:0;z-index:var(--z-topnav);height:var(--topnav-h);display:flex;align-items:center;padding:0 20px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:var(--border);gap:12px}.topnav-logo-mark{width:28px;height:28px;background:var(--water-deep);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--white);font-family:var(--font-read);font-size:14px}.topnav-wordmark{font-family:var(--font-read);font-size:15px;font-weight:400;color:var(--black);letter-spacing:-.2px}.topnav-spacer{flex:1}.topnav-actions{display:flex;align-items:center;gap:8px}.topnav-trial-badge{font-size:11px;font-weight:500;color:var(--amber);background:var(--amber-bg);padding:3px 10px;border-radius:var(--r-xs)}.sidebar{width:var(--sidebar-w);flex-shrink:0;padding:16px 12px;border-right:var(--border);background:var(--white);overflow-y:auto;height:calc(100vh - var(--topnav-h));position:sticky;top:var(--topnav-h)}.sidebar-section{margin-bottom:24px}.sidebar-section-label{font-size:11px;font-weight:500;color:var(--gray-light);text-transform:uppercase;letter-spacing:.8px;padding:0 12px;margin-bottom:4px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:var(--r-xs);font-size:13px;color:var(--gray-mid);font-weight:400;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-decoration:none;position:relative}.sidebar-item:hover{background:var(--gray-bg);color:var(--gray-dark)}.sidebar-item.active{background:var(--gray-line);color:var(--black);font-weight:500}.sidebar-icon{width:18px;font-size:14px;flex-shrink:0;text-align:center;display:flex;align-items:center;justify-content:center}.sidebar-badge{margin-left:auto;background:var(--amber-bg);color:var(--amber);font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--r-xs);line-height:1.4}.page-title{font-family:var(--font-read);font-size:var(--text-page);font-weight:400;color:var(--black);line-height:var(--lh-heading);margin-bottom:4px}.page-subtitle{font-size:var(--text-caption);color:var(--gray-light);margin-bottom:20px}.card{background:var(--white);border:var(--border);border-radius:var(--r-md)}.card-section{background:var(--white);border:var(--border);border-radius:var(--r-md);padding:var(--space-6)}.card-elevated{background:var(--white);border:var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float)}.score-ring-container{position:relative;flex-shrink:0}.score-ring-track{fill:none;stroke:var(--gray-line);stroke-width:8}.score-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;stroke-dasharray:220;transition:stroke-dashoffset var(--transition-score)}.score-ring-fill.score-good{stroke:var(--water-mid)}.score-ring-fill.score-warn{stroke:var(--amber)}.score-ring-fill.score-critical{stroke:var(--red)}.score-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.score-number{font-family:var(--font-read);font-weight:400;color:var(--black);line-height:1}.score-number-lg{font-size:28px}.score-number-sm{font-size:20px}.score-of{font-size:10px;color:var(--gray-light);font-family:var(--font-ui);margin-top:1px}.score-card-row{display:flex;align-items:center;gap:20px;padding:var(--space-6)}.score-summary{flex:1;min-width:0}.score-eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--gray-light);margin-bottom:4px}.score-headline{font-family:var(--font-read);font-size:18px;font-weight:400;color:var(--black);line-height:var(--lh-heading);margin-bottom:4px}.score-meta{font-size:13px;color:var(--gray-mid);line-height:var(--lh-label);margin-bottom:8px}.tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:var(--r-xs);white-space:nowrap;line-height:1.4}.tag-good{background:var(--green-bg);color:var(--green)}.tag-warn{background:var(--amber-bg);color:var(--amber)}.tag-bad{background:var(--red-bg);color:var(--red)}.tag-info{background:var(--blue-light);color:var(--blue)}.tag-neutral{background:var(--gray-bg);color:var(--gray-mid);border:var(--border)}.param-tag-row{display:flex;flex-wrap:wrap;gap:6px}.callout{display:flex;align-items:flex-start;gap:10px;border-radius:var(--r-xs);padding:12px 14px}.callout-icon{font-size:16px;flex-shrink:0;line-height:1.4;display:inline-flex}.callout-body{font-size:13px;color:var(--gray-dark);line-height:var(--lh-label)}.callout-body strong{font-weight:600}.callout-action{background:var(--amber-bg)}.callout-info{background:var(--blue-light)}.callout-success{background:var(--green-bg)}.callout-alert{background:var(--red-bg);border-left:3px solid var(--red)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{font-size:11px;font-weight:500;color:var(--gray-light);text-transform:uppercase;letter-spacing:var(--ls-badge);padding:6px 12px;border-bottom:var(--border);text-align:left;background:var(--white)}.data-table tbody td{font-size:13px;color:var(--gray-dark);padding:8px 12px;border-bottom:1px solid var(--gray-bg);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:var(--gray-bg)}.data-table .col-muted{color:var(--gray-mid)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;font-family:var(--font-ui);font-weight:500;border-radius:var(--r-xs);transition:background var(--transition-base),transform var(--transition-base),border-color var(--transition-base),color var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--black);color:var(--white);font-size:15px;padding:11px 22px}.btn-primary:hover{background:var(--near-black);transform:translateY(-1px)}.btn-ghost{background:none;border:var(--border);color:var(--gray-mid);font-size:14px;padding:10px 18px}.btn-ghost:hover{border-color:var(--gray-dark);color:var(--black)}.btn-nav{background:var(--black);color:var(--white);font-size:14px;padding:7px 14px}.btn-nav:hover{background:var(--near-black)}.btn-sm{font-size:13px;padding:7px 14px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none!important;pointer-events:none}.input{display:block;width:100%;background:var(--white);border:var(--border);border-radius:var(--r-xs);padding:8px 12px;font-size:14px;font-family:var(--font-ui);color:var(--gray-dark);transition:border-color var(--transition-base);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:var(--water-mid)}.input::placeholder{color:var(--gray-light)}.input-label{display:block;font-size:12px;font-weight:500;color:var(--gray-mid);margin-bottom:4px;text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}.input-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:24px}.modal-panel{background:var(--white);border-radius:var(--r-md);padding:48px 40px;max-width:420px;width:100%;box-shadow:var(--shadow-modal);animation:fadeUp .3s ease both}.modal-title{font-family:var(--font-read);font-size:22px;font-weight:400;color:var(--black);margin-bottom:8px;line-height:var(--lh-heading)}.modal-body{font-size:14px;color:var(--gray-mid);line-height:var(--lh-body);margin-bottom:24px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;gap:8px}.empty-state-icon{font-size:32px;margin-bottom:4px;color:var(--gray-light);display:flex;align-items:center;justify-content:center}.empty-state-title{font-family:var(--font-read);font-size:18px;font-weight:400;color:var(--black)}.empty-state-body{font-size:13px;color:var(--gray-mid);line-height:var(--lh-label);max-width:320px;margin-bottom:16px}.skeleton{background:var(--gray-line);border-radius:var(--r-xs);animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.4}}.dot-loader{display:inline-flex;gap:4px;align-items:center}.dot-loader span{width:6px;height:6px;border-radius:50%;background:var(--gray-light);animation:pulseDot 1s ease-in-out infinite}.dot-loader span:nth-child(2){animation-delay:.15s}.dot-loader span:nth-child(3){animation-delay:.3s}@keyframes pulseDot{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scoreFill{0%{stroke-dashoffset:220}}.score-ring-fill{animation:scoreFill var(--transition-score) .8s both}.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--transition-reveal),transform var(--transition-reveal)}.reveal.in{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.font-read{font-family:var(--font-read)}.font-ui{font-family:var(--font-ui)}.text-black{color:var(--black)}.text-dark{color:var(--gray-dark)}.text-mid{color:var(--gray-mid)}.text-light{color:var(--gray-light)}.text-water{color:var(--water-mid)}.eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--gray-light)}.stack>*+*{margin-top:16px}.stack-lg>*+*{margin-top:24px}@media (max-width: 860px){.sidebar{display:none}.main-content{padding:20px 16px}}@media (max-width: 600px){.main-content{padding:16px 12px}.modal-panel{padding:32px 20px}.topnav-wordmark{display:none}.score-card-row{flex-direction:column;align-items:flex-start;gap:16px}}
