:root{--primary:#0b8e9a;--primary-dark:#086a73;--primary-soft:#dff7f8;--bg:#ecfbfc;--surface:#fff;--text:#15323a;--text-muted:#5d747b;--text-faint:#8aa0a6;--border:#d6ecef;--radius:16px;--shadow-soft:0 6px 20px #0f6d7812;--maxw:1220px;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-head:"Poppins", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:radial-gradient(circle at top left, #a6edf080, transparent 34rem), linear-gradient(180deg, #f5feff 0%, var(--bg) 52%, #f8ffff 100%);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;flex-direction:column;min-height:100vh;font-size:15px;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{font-family:var(--font-head);line-height:1.25}a{color:inherit;text-decoration:none}.logo-bar{border-bottom:1px solid var(--border);z-index:200;-webkit-backdrop-filter:blur(14px);background:#ffffffe6;position:sticky;top:0}.logo-bar-inner{max-width:var(--maxw);align-items:center;gap:1rem;min-height:72px;margin:0 auto;padding:0 1.5rem;display:flex}.brand-lockup,.logo-group{align-items:center;min-width:0;display:flex}.logo-item{justify-content:center;align-items:center;min-width:82px;height:52px;padding:0 1.1rem;display:inline-flex;position:relative}.logo-item:not(:last-child):after{content:"";background:var(--border);width:1px;height:64%;position:absolute;top:18%;right:0}.logo-item img{object-fit:contain;max-width:110px;max-height:38px;display:block}.logo-item.logo-moe img{max-height:42px}.timeline{top:15vh;bottom:12vh;left:calc((100vw - var(--maxw)) / 4 - 52px);z-index:150;position:fixed}.timeline ol{flex-direction:column;justify-content:space-between;height:100%;list-style:none;display:flex;position:relative}.timeline ol:before{content:"";background:#a3c9ce;border-radius:3px;width:4px;position:absolute;top:10px;bottom:10px;left:7px}.timeline button{cursor:pointer;font-family:var(--font-head);color:var(--text-muted);background:0 0;border:none;align-items:center;gap:13px;padding:9px 10px 9px 0;font-size:.82rem;font-weight:600;transition:color .15s;display:flex}.timeline button:hover{color:var(--text)}.timeline .tl-dot{z-index:1;background:var(--surface);border:4px solid #a3c9ce;border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .18s}.timeline li.active button{color:var(--text);font-weight:700}.timeline li.active .tl-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 20%, transparent)}.timeline .tl-label{white-space:nowrap}.page{width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:3.5rem 1.5rem 4rem}.intro{max-width:680px;margin-bottom:4rem}.intro-title{letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800}.intro-subtitle{color:var(--text-muted);font-size:1rem}.verticals{flex-direction:column;gap:3.25rem;display:flex}.panel{--tint:color-mix(in srgb, var(--accent) 7%, var(--surface));background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.5rem 1.6rem 1.7rem;scroll-margin-top:90px}.panel-head{flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.35rem;display:flex}.panel-name{color:var(--text);font-size:1.25rem;font-weight:700}.panel-spacer{flex:1}.panel-open{font-family:var(--font-head);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:.83rem;font-weight:600;transition:background .15s,transform .12s;display:inline-flex}.panel-open:hover{background:color-mix(in srgb, var(--accent) 14%, var(--surface));transform:translateY(-1px)}.panel-open.muted{color:var(--text-faint);border-color:var(--border);cursor:default;background:0 0}.stat-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1.4rem;display:flex}.stat-tile{background:var(--tint);border:1px solid var(--border);border-radius:11px;flex-direction:column;flex:150px;gap:3px;min-width:140px;padding:.85rem 1rem;display:flex}.stat-value{font-family:var(--font-head);color:var(--text);font-size:1.75rem;font-weight:700;line-height:1.05}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.stat-sub{color:var(--text-faint);font-size:.72rem}.meter-tile{background:var(--tint);border:1px solid var(--border);border-radius:11px;flex-direction:column;flex:190px;gap:6px;min-width:170px;padding:.85rem 1rem;display:flex}.meter-head{align-items:baseline;gap:8px;display:flex}.meter-value{font-family:var(--font-head);color:var(--text);font-size:1.5rem;font-weight:700;line-height:1}.meter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.meter-track{background:color-mix(in srgb, var(--text-muted) 16%, #fff);border-radius:5px;height:8px;overflow:hidden}.meter-fill{border-radius:5px;height:100%}.meter-sub{color:var(--text-faint);font-size:.72rem}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.1rem;display:grid}.chart-frame{border:1px solid var(--border);background:var(--surface);border-radius:13px;min-width:0;padding:.95rem 1.05rem 1.05rem}.chart-title{font-family:var(--font-head);color:var(--text);justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.7rem;font-size:.92rem;font-weight:600;display:flex}.chart-caption{font-family:var(--font-body);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500}.chart-body{width:100%;min-width:0}.chart-legend{margin-top:.6rem}.legend{flex-wrap:wrap;gap:.4rem .9rem;list-style:none;display:flex}.legend li{color:var(--text-muted);align-items:center;gap:6px;font-size:.76rem;display:inline-flex}.legend-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.legend-val{color:var(--text-faint);font-variant-numeric:tabular-nums}.pie-wrap{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pie-plot{flex:190px;min-width:180px;position:relative}.pie-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pie-total{font-family:var(--font-head);color:var(--text);font-size:1.4rem;font-weight:700;line-height:1}.pie-total-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.pie-wrap .legend{flex-direction:column;flex:130px;gap:.35rem}.confusion{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cm-cell{border-left:3px solid var(--cm);background:color-mix(in srgb, var(--cm) 8%, var(--surface));border-radius:10px;flex-direction:column;gap:2px;padding:.75rem .85rem;display:flex}.cm-code{font-family:var(--font-head);color:var(--cm);letter-spacing:.04em;font-size:.72rem;font-weight:700}.cm-value{font-family:var(--font-head);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1}.cm-label{color:var(--text-muted);font-size:.7rem}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);background:#ffffffb3;margin-top:auto}.footer-inner{max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.35rem 1.5rem;display:flex}.footer-left{font-size:.82rem;line-height:1.6}.footer-powered{color:var(--text-faint);font-size:.76rem}.footer-link{font-family:var(--font-head);color:var(--primary-dark);border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.footer-link:hover{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}@media (width<=1499px){.timeline{display:none}}@media (width<=720px){.logo-bar-inner{flex-wrap:wrap;min-height:auto;padding:.7rem 1rem}.logo-item{min-width:60px;height:42px;padding:0 .7rem}.logo-item img{max-width:80px;max-height:30px}.page{padding:1.75rem 1rem 3rem}.panel{padding:1.25rem 1.1rem 1.35rem}.panel-open{margin-left:auto}.footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
