@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--bg:#f3f6f7;--surface:#fff;--ink:#0f172a;--muted:#5b6b7f;--line:#e2e8f0;--teal:#0f766e;--teal-soft:#ccfbf1;--blue:#1d4ed8;--rose:#b91c1c;--amber:#c2610c;--violet:#6d28d9;--navy:#0b1720;--shadow:0 10px 30px rgba(15,23,42,.06);--r:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;margin:0;line-height:1.2}h3{font-size:17px}h4{font-size:14px}p{margin:0}.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}.app{min-height:100vh;display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--navy);color:#dbe7eb;padding:24px 14px;z-index:30;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;padding:6px 10px 26px}.brand-mark,.loading-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#14b8a6,#0f766e);display:grid;place-items:center;color:#fff;flex:none}.brand-mark,.brand-name,.loading-mark{font-family:Space Grotesk;font-weight:700}.brand-name{font-size:15px;letter-spacing:.02em}.brand-sub{font-size:11px;color:#8da4ad;margin-top:2px}.eyebrow,.side-label{font-size:10px;letter-spacing:.12em;font-weight:700;color:#7d95a0}.side-label{padding:0 12px 9px}.nav{width:100%;border:0;background:transparent;color:#aebfc5;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;margin:2px 0;text-align:left;font-size:14px}.nav:hover{background:hsla(0,0%,100%,.06);color:#fff}.nav.active{background:#12313a;color:#fff;box-shadow:inset 3px 0 0 #2dd4bf}.nav-arrow{margin-left:auto}.side-foot{margin-top:28px;border-top:1px solid #20313a;padding:16px 12px 0;display:flex;gap:9px;align-items:flex-start;font-size:11px;color:#8da4ad}.status-dot{width:7px;height:7px;background:#34d399;border-radius:50%;box-shadow:0 0 0 4px rgba(52,211,153,.12);margin-top:5px;flex:none}.main{margin-left:260px;width:calc(100% - 260px);min-width:0}.topbar{min-height:88px;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(243,246,247,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(226,232,240,.8)}.topbar .eyebrow{color:var(--muted)}h1{font-size:21px;margin-top:4px}.content{max-width:1440px;margin:auto;padding:30px 36px 50px;display:flex;flex-direction:column;gap:22px}.top-actions{gap:10px}.search,.top-actions{display:flex;align-items:center}.search{height:40px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 11px;gap:8px;color:#94a3b8}.search input{border:0;outline:0;width:190px;background:transparent}.search.light{height:36px}.search.wide{width:100%;max-width:420px}.search.wide input{width:100%}select{height:38px;padding:0 10px;color:#334155;max-width:240px}.mobile-menu,select{border:1px solid var(--line);background:#fff;border-radius:10px}.mobile-menu{display:none;width:40px;height:40px;place-items:center}.hero{background:linear-gradient(135deg,#0b1720 55%,#10303a);color:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:1fr 330px;grid-gap:32px;gap:32px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(45,212,191,.16);border-radius:50%;right:-120px;top:-190px;pointer-events:none}.hero h2{font-size:31px;line-height:1.18;max-width:760px;margin:16px 0}.hero h2 em{font-style:normal;color:#5eead4}.hero p{max-width:760px;color:#a9bdc3;line-height:1.65}.hero-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e6fffa;color:#0f766e;font-size:10px;font-weight:700;letter-spacing:.08em}.badge.dark{background:#16343c;color:#5eead4}.primary,.secondary{border:0;border-radius:10px;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14px}.primary{background:#14b8a6;color:#04201d}.primary:hover{background:#2dd4bf}.primary.sm{padding:8px 12px;font-size:13px}.secondary{background:#17303a;color:#d7eaee;border:1px solid #28454f}.secondary.light{background:#fff;color:#0f172a;border:1px solid var(--line)}.secondary:disabled{opacity:.45;cursor:default}.hero-score{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:16px;padding:22px;align-self:center;display:flex;flex-direction:column;gap:10px}.hero-score>span{font-size:11px;letter-spacing:.06em;color:#8fb0b8;font-weight:700}.mape-row{display:flex;justify-content:space-between;align-items:baseline;color:#e3f2f4;font-size:13px}.mape-row strong{font-family:Space Grotesk;font-size:28px;color:#5eead4}.mape-row.alt strong{color:#cbd5e1}.hero-score small{color:#9fb6bd;line-height:1.5;font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;font-weight:600}.kpi-icon{width:30px;height:30px;border-radius:9px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}.kpi strong{font-family:Space Grotesk;font-size:28px}.kpi small{color:var(--muted);font-size:12px;line-height:1.4}.kpi.danger strong{color:var(--rose)}.kpi.warn strong{color:var(--amber)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;gap:14px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.panel-head h3{margin-top:4px}.panel-head .sub{display:block;color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.45;max-width:640px}.panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px}.grid-2,.grid-map{display:grid;gap:22px}.grid-map{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);grid-gap:22px}.section-intro{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow)}.section-intro h2{font-size:26px;margin:12px 0 8px}.section-intro p{color:#475569;max-width:900px;line-height:1.65}.chart-box{width:100%;min-width:0}.callout{border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.55;border:1px solid}.callout strong{display:block;margin-bottom:3px}.callout.info{background:#f0fdfa;border-color:#99f6e4;color:#134e4a}.callout.warn{background:#fffbeb;border-color:#fcd34d;color:#78350f}.muted{color:var(--muted)}.small{font-size:12.5px}.accent{color:var(--teal);font-weight:600}.block{display:block}.row-gap{display:flex;gap:8px;align-items:center}.row-gap.wrap,.wrap{flex-wrap:wrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.tier{padding:3px 9px;border-radius:999px;font-size:11px;border:1px solid;white-space:nowrap}.pill,.tier{display:inline-flex;font-weight:700}.pill{padding:3px 8px;border-radius:999px;font-size:10px;letter-spacing:.05em}.pill.amber{background:#ffedd5;color:#9a3412}.pill.violet{background:#ede9fe;color:#5b21b6}.pill.slate{background:#f1f5f9;color:#64748b;margin-left:6px}.signal-stack{display:flex;gap:5px;flex-wrap:wrap}.shift{display:inline-flex;font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap}.shift.up{background:#fee2e2;color:#991b1b}.shift.down{background:#dcfce7;color:#166534}.shift.zero{background:#f1f5f9;color:#64748b}.stackbar{display:flex;border-radius:5px;overflow:hidden;background:#eef2f5;width:100%}.stackbar i{display:block;height:100%}.legend-row{display:flex;gap:14px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.legend-row span{display:inline-flex;gap:6px;align-items:center}.legend-row i{width:10px;height:10px;border-radius:3px;display:inline-block}.priority-list{display:flex;flex-direction:column;gap:8px}.priority-row{display:grid;grid-template-columns:34px 1fr auto auto 52px;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fafcfc}.priority-row:hover{border-color:#5eead4;background:#f0fdfa}.rank{font-family:Space Grotesk;font-weight:700;color:#94a3b8}.priority-main small{display:block;color:var(--muted);font-size:11px;line-height:1.3}.score{font-family:Space Grotesk;font-size:17px;text-align:right}.tier-bar{display:flex;height:34px;border-radius:10px;overflow:hidden}.tier-bar div{display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}.tier-list{display:flex;flex-direction:column;gap:8px}.tier-item{display:grid;grid-template-columns:170px 100px 1fr;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.tier-item small{color:var(--muted)}.tier-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.tier-card{background:#fff;border:2px solid;border-radius:var(--r);padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;opacity:.88}.tier-card.on,.tier-card:hover{opacity:1;box-shadow:var(--shadow)}.tier-card strong{font-family:Space Grotesk;font-size:30px}.tier-card small{color:var(--muted)}.tier-card p{font-size:12px;color:#475569;line-height:1.45}.architecture{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.arch-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafcfc}.arch-card span{font-family:Space Grotesk;color:#94a3b8;font-weight:700}.arch-card h4{margin:4px 0 2px}.arch-card b{font-size:11.5px;color:var(--teal)}.arch-card p{font-size:12.5px;color:#475569;margin-top:6px;line-height:1.5}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table-wrap.tall{max-height:640px}table{width:100%;border-collapse:collapse;font-size:13px}th{position:-webkit-sticky;position:sticky;top:0;background:#f8fafc;text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#64748b;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1}td,th{padding:10px 12px}td{border-bottom:1px solid #eef2f5;vertical-align:middle}tr:last-child td{border-bottom:0}tr.highlight td{background:#f0fdfa}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8fafc}.negative{color:var(--rose);font-weight:700}.positive{color:#15803d;font-weight:700}td.heat{text-align:center;font-weight:600;font-size:12px}.topic-table td:first-child{min-width:220px}.empty{padding:22px;text-align:center;color:var(--muted)}.text-btn{background:none;border:0;color:var(--teal);font-weight:600;display:inline-flex;gap:4px;align-items:center;font-size:13px}.seg{display:flex;flex-wrap:wrap;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px}.seg button{border:0;background:transparent;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:600;color:#475569}.seg button.on{background:#fff;color:var(--teal);box-shadow:0 1px 3px rgba(15,23,42,.12)}.map-shell{height:520px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.map-loading{height:520px;display:grid;place-items:center;color:var(--muted);background:#f8fafc;border-radius:12px}.map-legend{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}.gradient{flex:1 1;height:10px;border-radius:6px}.cluster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.cluster-card{border:1px solid var(--line);border-top:4px solid;border-radius:12px;padding:14px;background:#fafcfc}.cluster-top{display:flex;align-items:baseline;gap:8px}.cluster-top strong{font-family:Space Grotesk;font-size:22px}.cluster-top small{color:var(--muted);font-size:11px}.cid{color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}.cluster-card h4{margin:8px 0 4px;font-size:13px;line-height:1.3}.cluster-card p{font-size:12px;color:#475569;line-height:1.5}.mini-profile{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;width:100%}.stat-grid span{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:11.5px;color:var(--muted);display:flex;flex-direction:column}.stat-grid b{font-family:Space Grotesk;font-size:18px;color:var(--ink)}.profile{display:flex;flex-direction:column;gap:22px}.profile-bar{gap:10px}.profile-bar,.profile-hero{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.profile-hero{background:#fff;border:1px solid var(--line);border-left:6px solid;border-radius:var(--r);padding:24px 28px;gap:20px;box-shadow:var(--shadow)}.profile-hero h2{font-size:34px;margin:6px 0 4px}.profile-hero .row-gap{margin-top:12px}.profile-score{text-align:right;display:flex;flex-direction:column}.profile-score small{color:var(--muted)}.profile-score b{font-family:Space Grotesk;font-size:52px;line-height:1}.profile-score span{color:var(--muted);font-size:13px}.why{margin:0;padding-left:18px;gap:8px;font-size:14px;line-height:1.6;color:#334155}.decomp,.why{display:flex;flex-direction:column}.decomp{border:1px solid var(--line);border-radius:12px;padding:14px;gap:10px;background:#fafcfc}.decomp-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px}.decomp-head small{color:var(--muted)}.decomp-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.decomp-grid span{font-size:11px;color:var(--muted);display:flex;flex-direction:column}.decomp-grid b{font-family:Space Grotesk;font-size:16px;color:var(--ink)}.action-card{border:2px solid;border-radius:12px;padding:14px;align-items:flex-start;font-size:14px;line-height:1.55}.action-card,.hbars{display:flex;flex-direction:column;gap:8px}.hbar{display:grid;grid-template-columns:130px 1fr 52px;grid-gap:10px;gap:10px;align-items:center;font-size:12.5px}.hbar>div{background:#eef2f5;border-radius:6px;height:12px;overflow:hidden}.hbar i{display:block;height:100%}.hbar b{text-align:right}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.subh{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.subh.down{color:var(--rose)}.subh.up{color:#15803d}.line-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}.line-item:hover{background:#f8fafc}.line-item small{color:var(--muted)}.signal-list{display:flex;flex-direction:column}.flat-row{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid #eef2f5;font-size:13px}.flat-row b{color:var(--amber);min-width:52px}.flat-row b,.formula{font-family:Space Grotesk}.formula{font-size:22px;background:#0b1720;color:#5eead4;padding:16px 18px;border-radius:12px}.lim-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.lim{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafcfc}.lim>span{font-family:Space Grotesk;font-weight:700;color:#cbd5e1;font-size:22px}.lim b{font-size:14px}.lim p{font-size:13px;color:#475569;margin-top:3px;line-height:1.55}code{background:#f1f5f9;padding:1px 6px;border-radius:5px;font-size:12px}.sliders{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.slider{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600}.slider input{width:100%;accent-color:#0f766e}.slider b{font-family:Space Grotesk;font-size:18px;color:var(--teal)}.tip{position:relative;display:inline-block}.tip button{border:0;background:none;color:#94a3b8;padding:0 2px;vertical-align:middle;display:inline-grid}.tip-body{position:absolute;left:0;top:22px;width:230px;background:#0f172a;color:#e2e8f0;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;padding:10px 12px;border-radius:10px;z-index:30}.tip-body,.tt{font-size:12px;box-shadow:var(--shadow)}.tt{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.figure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.figure-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;color:inherit;text-decoration:none;background:#fff}.figure-card img{width:100%;height:150px;object-fit:contain;background:#f8fafc;display:block}.figure-card div{padding:10px 12px}.figure-card strong{font-size:13px;display:block}.figure-card small{color:var(--muted);font-size:11px}.table-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px}.data-card{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.data-card.selected{border-color:var(--teal);background:#f0fdfa}.data-card small{display:block;color:var(--muted);font-size:11px}.preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:6px}.preview-head{background:#f8fafc;padding:8px 12px;font-size:12px;color:var(--muted)}.download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:10px;gap:10px}.download-grid a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--teal);font-weight:600;text-decoration:none;font-size:13px;background:#fff}.download-grid a:hover{border-color:#5eead4;background:#f0fdfa}footer{padding:20px 36px 30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line)}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;grid-gap:10px;gap:10px;text-align:center;color:var(--muted);padding:24px}.loading h2{color:var(--ink)}@media(max-width:1180px){.grid-2,.grid-map,.hero{grid-template-columns:1fr}.sliders,.tier-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.mobile-menu{display:grid}.topbar{padding:12px 16px;flex-wrap:wrap}.content{padding:18px 14px 40px}.search input,.top-actions{width:100%}.search{flex:1 1}.priority-row{grid-template-columns:30px 1fr auto}.priority-row .shift,.priority-row .signal-stack{display:none}.architecture,.lim-grid,.two-col{grid-template-columns:1fr}.hero{padding:26px}.hero h2{font-size:24px}.decomp-grid{grid-template-columns:repeat(2,1fr)}.tier-item{grid-template-columns:1fr}.profile-hero h2{font-size:26px}.profile-score b{font-size:40px}footer{padding:16px}}@media print{.mobile-menu,.no-print,.sidebar,.skip,.topbar,footer{display:none!important}.main{margin:0;width:100%}body{background:#fff}.content{padding:0}.kpi,.panel,.profile-hero{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.grid-2{grid-template-columns:1fr 1fr}.hero{display:none}}