@font-face{font-family:Onest;src:url('./fonts/Onest-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Onest;src:url('./fonts/Onest-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Onest;src:url('./fonts/Onest-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Onest;src:url('./fonts/Onest-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:'JetBrains Mono';src:url('./fonts/JetBrainsMono-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'JetBrains Mono';src:url('./fonts/JetBrainsMono-500.ttf') format('truetype');font-weight:500 700;font-display:swap}
:root{--paper:#f8f8f4;--sheet:#fff;--soft:#edf0e5;--line:#d8dbce;--line-strong:#b8c0aa;--ink:#263024;--muted:#69725f;--olive:#657a54;--olive-dark:#3d5234;--accent:#ed462d;--warning:#996b2c;--danger:#b54835;--unknown:#858b80;--font:Onest,system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--radius:3px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}svg{flex:none;vertical-align:middle}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #7d925f;outline-offset:3px}[hidden]{display:none!important}::selection{background:#d9e1c9;color:#24321e}
.prototype-bar{background:#292f25;color:#f8f8f1;padding:11px 28px;display:flex;align-items:center;gap:22px;justify-content:space-between;font-size:12px}.prototype-bar strong{font-weight:500}.prototype-bar span{color:#b8c1ac}.prototype-bar button{background:none;border:0;color:inherit;padding:4px;font-size:12px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.prototype-controls{padding:18px 28px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;background:#fff}.concept-switch{display:flex;gap:5px;flex:1;min-width:0}.concept-switch a{text-decoration:none;border:1px solid transparent;border-radius:3px;padding:9px 12px;font-size:12px;color:var(--muted);white-space:nowrap}.concept-switch a b{font:10px var(--mono);margin-right:8px;color:#8c957f}.concept-switch a[aria-current=page]{border-color:var(--line-strong);background:var(--soft);color:var(--ink)}.prototype-filter{display:flex;align-items:center;gap:8px;flex:none}.prototype-filter label{font-size:11px;color:var(--muted)}.prototype-filter select{background:var(--paper);border:1px solid var(--line);padding:8px 28px 8px 10px;border-radius:3px;font-size:12px;color:var(--ink);max-width:215px}.period-switch{display:flex;gap:2px;border:1px solid var(--line);padding:2px;border-radius:3px}.period-switch button{background:none;border:0;padding:7px 9px;font-size:11px;color:var(--muted);white-space:nowrap}.period-switch button[aria-pressed=true]{background:#e7ecde;color:#34452b;border-radius:2px}
#app{max-width:1680px;margin:0 auto;min-height:70vh}.app-footer{max-width:1600px;margin:32px auto 0;padding:20px 32px 26px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.app-footer a{text-underline-offset:3px}.brand{font-weight:700;font-size:26px;letter-spacing:-1.3px;text-decoration:none;line-height:1}.brand i{color:var(--accent);font-style:normal}.eyebrow{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.caption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}.divider{height:1px;background:var(--line);margin:20px 0}.soft{background:var(--soft)}.panel{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.section-head h2{font-size:16px;font-weight:500;letter-spacing:-.25px;line-height:1.4}.section-head p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.6}.badge{display:inline-flex;gap:6px;align-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:2px;font-size:10px;line-height:1.4;background:#f5f6f0;white-space:nowrap}.badge.warn{background:#faf1e4;border-color:#e0c9a5;color:#845d2e}.badge.high{background:#f9e9e4;border-color:#dfb7ab;color:#9d4131}.badge.unknown{background:#f0f1ed;color:#6e7666}.badge.ok{background:#eaf0e1;border-color:#cbd6bf;color:#4c643d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;color:var(--ink);border:1px solid var(--line-strong);padding:10px 13px;border-radius:3px;font-size:12px;text-decoration:none;min-height:40px}.btn:hover{background:var(--soft)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover{background:var(--olive-dark)}.link-button{border:0;background:none;padding:4px 0;font-size:12px;display:inline-flex;align-items:center;gap:7px;text-decoration:underline;text-underline-offset:4px;min-height:32px;color:var(--olive-dark)}.icon-button{width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:3px;display:grid;place-items:center}.stats-row{display:flex;gap:24px;justify-content:space-between}.kpi{display:flex;flex-direction:column;gap:8px;min-width:0}.kpi-label{font-size:12px;color:var(--muted)}.kpi strong{font:400 28px/1.15 var(--mono);letter-spacing:-1px;color:var(--ink)}.kpi-note{font-size:11px;color:var(--muted);line-height:1.5}.status-dot{width:6px;height:6px;display:inline-block;flex:none;border-radius:50%;background:#6f8262}.status-dot.warn{background:#b28543}.status-dot.high{background:#bd5540}.status-dot.unknown{background:#93998c}.service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.service-tile{background:none;border:0;border-bottom:1px solid var(--line);padding:12px 8px;display:flex;gap:9px;align-items:flex-start;text-align:left;font-size:12px;min-width:0;min-height:58px}.service-tile .status-dot{margin-top:7px}.service-tile small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.service-tile:hover{background:#f1f4ea}
.alert-list{display:flex;flex-direction:column;gap:10px}.alert-row{display:flex;align-items:flex-start;gap:15px;width:100%;text-align:left;background:#fcf9f2;border:1px solid #e1d2b9;border-left:3px solid #b78645;border-radius:3px;padding:18px}.alert-row.high{background:#fff6f2;border-color:#e4c5ba;border-left-color:#c25c44}.alert-row.unknown{background:#f2f3ef;border-color:#d5d9cf;border-left-color:#919986}.alert-row.info{background:#f4f6ef;border-color:#d6dec9;border-left-color:#879b6e}.alert-level{font-size:10px;line-height:1.5;color:#8d662d;padding-top:2px;flex:none;min-width:58px}.alert-row.unknown .alert-level{color:#6e7863}.alert-main{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.alert-main strong{font-size:16px;font-weight:500;line-height:1.4}.alert-main>span{font-size:12px;line-height:1.55;color:#5d6654}.alert-main small{font-size:10px;color:var(--muted)}.alert-row>svg{margin-top:3px}.alert-row:hover{border-color:#b8a281}.alert-list.compact .alert-row{padding:13px}.alert-list.compact .alert-main strong{font-size:13px}.alert-list.compact .alert-level{display:none}.calm-state{display:flex;gap:13px;align-items:flex-start;background:#f0f4e9;border:1px solid #d3ddc7;border-radius:3px;padding:20px}.calm-state>svg{color:#61774d;margin-top:1px}.calm-state strong{font-weight:500;font-size:14px}.calm-state p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}
.meter+.meter{margin-top:20px}.meter-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px;margin-bottom:10px}.meter-label strong{font:400 14px var(--mono);white-space:nowrap}.meter-label small{font:11px var(--font);color:var(--muted)}.meter-track{height:5px;background:#edf0e5;border-radius:1px;position:relative;overflow:hidden}.meter-track>span{display:block;height:100%;background:#81956d}.meter.warn .meter-track>span{background:#b78c4d}.meter.high .meter-track>span{background:#bd614c}.meter p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:8px}.chart-block{min-width:0}.chart-plot{display:flex;gap:10px;height:var(--chart-height,150px);padding-top:5px;min-width:0}.chart-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;width:47px;flex:none;font:10px var(--mono);color:#858d7b;white-space:nowrap;padding-bottom:9px}.chart-canvas{flex:1;min-width:0;position:relative}.chart-svg{display:block;width:100%;height:100%;overflow:visible}.chart-grid{fill:none;stroke:#e5e8dc;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}.chart-points{position:absolute;inset:0 3px 0 0}.chart-point{position:absolute;transform:translate(-50%,-50%);width:14px;height:24px;background:none;border:0;border-radius:50%;padding:0}.chart-point:hover,.chart-point:focus-visible{background:#81956d33;outline:1px solid #81956d}.chart-x{display:flex;justify-content:space-between;margin:8px 0 0 57px;color:#858d7b;font-size:10px}.chart-readout{font-size:10px;color:#8a9280;margin:8px 0 0 57px;min-height:15px}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;margin-top:12px;color:var(--muted)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:7px;height:7px;display:inline-block;border-radius:1px}.funnel{display:flex;flex-direction:column;gap:12px}.funnel-step{display:grid;grid-template-columns:minmax(115px,1.2fr) minmax(40px,1fr) 30px 36px;align-items:center;gap:12px;border:0;background:none;padding:3px 0;width:100%;text-align:left;font-size:11px;min-height:29px}.funnel-step:hover{background:#f3f5ed}.funnel-track{display:block;height:14px;background:#f0f2e8}.funnel-track i{display:block;height:100%;background:#839773}.funnel-step strong{font:11px var(--mono);text-align:right}.funnel-step small{font-size:10px;color:var(--muted);text-align:right}.table-scroll{max-width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{font-size:10px;text-align:left;font-weight:400;color:var(--muted);padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:14px 10px;border-bottom:1px solid #e9ecdf}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table td:not(:first-child){font-family:var(--mono);font-size:11px}.table-link{background:none;border:0;padding:0;text-align:left;font-size:12px;text-decoration:underline;text-underline-offset:3px;min-height:34px}.table-link small{display:block;text-decoration:none;color:var(--muted);font-size:10px;margin-top:4px}.stale-note{background:#eff1e9;border:1px dashed #abb59b;padding:12px 16px;font-size:12px;color:#626f56;margin-bottom:18px}
.detail-overlay{position:fixed;inset:0;background:#202c204d;z-index:80;display:flex;justify-content:flex-end;backdrop-filter:blur(3px)}.detail-panel{width:min(560px,100%);height:100dvh;background:var(--paper);border-left:1px solid var(--line);padding:30px;overflow:auto;box-shadow:-12px 0 48px #1f2b2114}.detail-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.detail-panel h2{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.7px;margin:12px 0 16px}.detail-panel h3{font-size:15px;font-weight:500;margin:25px 0 12px}.detail-panel p{font-size:13px;line-height:1.7;color:var(--muted)}.detail-panel .panel{margin:20px 0}.detail-panel ul{padding-left:20px;font-size:13px;line-height:1.7;color:var(--muted)}.detail-panel .detail-tag{font-size:11px;color:#657852}.detail-panel .btn{margin-top:20px}.comparison-grid{display:grid;gap:14px}.comparison-item{border:1px solid var(--line);padding:18px;background:white;border-radius:3px}.comparison-item strong{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.comparison-item p{font-size:12px}.detail-panel .source-row{padding:14px 0;border-bottom:1px solid var(--line)}.detail-panel .source-row strong{font-size:13px;font-weight:500;display:block;margin-bottom:6px}
@media(max-width:1180px){.prototype-controls{flex-wrap:wrap}.concept-switch{flex-basis:100%}.prototype-filter{margin-left:auto}.service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.prototype-bar{padding:10px 16px;gap:12px;align-items:flex-start;font-size:10px}.prototype-bar strong{display:block;line-height:1.6}.prototype-bar span{display:none}.prototype-bar button{font-size:10px;white-space:normal;max-width:100px;text-align:right;line-height:1.6}.prototype-controls{padding:12px 16px;gap:12px}.concept-switch{overflow-x:auto;gap:3px;margin:0 -16px;padding:0 16px;max-width:calc(100% + 32px);flex-basis:calc(100% + 32px)}.concept-switch a{padding:8px 9px;font-size:11px}.concept-switch a b{margin-right:5px}.prototype-filter{margin-left:0;flex:1;gap:6px}.prototype-filter label{display:none}.prototype-filter select{width:100%;max-width:210px;font-size:11px;padding-right:20px;min-height:36px}.period-switch button{padding:7px 8px;min-height:30px}.panel{padding:18px}.section-head{gap:12px;margin-bottom:18px}.section-head h2{font-size:15px}.section-head p{font-size:11px}.section-head .link-button{font-size:10px}.stats-row{gap:18px;flex-wrap:wrap}.kpi strong{font-size:26px}.kpi-label{font-size:11px}.alert-row{padding:15px;gap:12px}.alert-level{display:none}.alert-main strong{font-size:15px}.alert-main>span{font-size:12px}.service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile{font-size:11px;padding:11px 4px;min-height:59px}.service-tile small{font-size:10px}.funnel-step{grid-template-columns:minmax(108px,1.2fr) minmax(30px,1fr) 23px 30px;gap:8px;font-size:10px}.chart-y{width:42px;font-size:9px}.chart-x,.chart-readout{margin-left:52px}.chart-point{width:16px;height:28px}.app-footer{padding:18px 16px;gap:16px;font-size:10px}.detail-panel{padding:22px}.detail-panel h2{font-size:25px}.data-table{font-size:11px}.data-table td{padding:12px 8px}.data-table td:not(:first-child){font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Comparison controls are outside the proposed product navigation. */
.prototype-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px}
.concept-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.concept-switch a{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:5px;row-gap:2px;white-space:normal;padding:9px 10px;line-height:1.35}
.concept-switch a>span{grid-row:1/3;font:10px var(--mono);padding-top:2px;color:#859077}
.concept-switch a>strong{font-size:12px;font-weight:500}
.concept-switch a>small{font-size:10px;line-height:1.35;color:var(--muted)}
.prototype-filter label{display:none}
.action-button{display:inline-flex;gap:8px;align-items:center;min-height:42px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:3px;padding:9px 13px;margin-top:15px;font-size:12px;text-align:left}
.detail-panel .detail-lead{font-size:16px;color:var(--ink);margin-bottom:24px}
.detail-section p+p{margin-top:8px}
.chart-point.selected{background:#81956d33;outline:1px solid #81956d}
@media(max-width:1250px){.prototype-controls{grid-template-columns:1fr auto}.concept-switch{grid-column:1/-1}.prototype-filter{margin-left:0}.prototype-filter label{display:block}}
@media(max-width:680px){.prototype-controls{gap:10px}.concept-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;margin:0;padding:0;overflow:visible}.concept-switch a{padding:8px 6px}.concept-switch a>strong{font-size:11px}.concept-switch a>small{font-size:9px}.prototype-filter label{display:none}}
