:root{--nr-red: #f42028;--nr-charcoal: #262729;--nr-charcoal-deep: #1c1d1f;--nr-canvas: #f5f5f5;--nr-surface: #ffffff;--nr-border: #b8b8b8;--nr-border-light: #e0e0e0;--nr-text: #3a3a3a;--nr-muted: #b8b8b8;--nr-pink: #f53b63;--nr-teal: #18c7a0;--nr-radius: 3px;--nr-transition: .15s ease;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;color:var(--nr-text);background:var(--nr-charcoal-deep)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(244,32,40,.12),transparent 28%),linear-gradient(160deg,#1f2022,#262729 42%,#151618)}button,input{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:300px minmax(0,1fr);color:var(--nr-text)}.rail{padding:32px 24px;background:var(--nr-charcoal);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:20px;color:#f7f7f7}.brand-block{display:grid;gap:10px}.brand-logo-img{width:160px;height:auto;margin-bottom:6px}.brand-block h1{margin:0;font-size:1.5rem;line-height:1.15;letter-spacing:-.02em}.brand-block p{margin:0;color:#fff9;line-height:1.5;font-size:.88rem}.panel-label,.hero-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:600}.hero-kicker{color:var(--nr-red);font-weight:700}.rail-panel{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--nr-radius);display:grid;gap:6px}.rail-panel strong{font-size:.92rem}.rail-panel p,.rail .panel-label{margin:0;color:#ffffff80}.report-link{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--nr-radius);text-decoration:none;color:#f7f7f7;transition:border-color var(--nr-transition),background var(--nr-transition)}.report-link:hover{border-color:#f4202866;background:#f420280f}.report-link:hover .report-link-action:after{transform:translate(2px)}.report-link-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:600;color:#ffffff80}.report-link-title{font-weight:700;font-size:.88rem}.report-link-action{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--nr-red);margin-top:2px}.report-link-action:after{content:"→";transition:transform var(--nr-transition)}.rail-cta{margin-top:auto;padding:16px;border-radius:var(--nr-radius);background:linear-gradient(145deg,#f420281f,#f4202808 60%);border:1px solid rgba(244,32,40,.18);display:grid;gap:8px}.rail-cta strong{font-size:.88rem;color:#f7f7f7}.rail-cta p{margin:0;font-size:.82rem;color:#ffffff8c;line-height:1.5}.rail-cta-actions{display:grid;gap:6px;margin-top:4px}.rail-cta-button{display:block;text-align:center;padding:8px 14px;border-radius:var(--nr-radius);background:var(--nr-red);color:#fff;font-size:.82rem;font-weight:700;text-decoration:none;transition:background var(--nr-transition)}.rail-cta-button:hover{background:#d91c23}.rail-cta-email{display:block;text-align:center;font-size:.8rem;color:#ffffff80;text-decoration:none;transition:color var(--nr-transition)}.rail-cta-email:hover{color:#fff}.panel-label{margin:0;color:var(--nr-muted)}.rail-attribution{margin:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:.68rem;line-height:1.5;color:#ffffff47}.rail-attribution a{color:#fff6;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ffffff26;transition:color var(--nr-transition),text-decoration-color var(--nr-transition)}.rail-attribution a:hover{color:#ffffffb3;text-decoration-color:#ffffff59}.workspace{padding:24px;display:grid;gap:20px;align-content:start}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:end;padding:28px;border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);background:linear-gradient(140deg,rgba(244,32,40,.05),transparent 36%),var(--nr-surface)}.hero h2{margin:8px 0 0;font-size:clamp(1.75rem,3.2vw,2.6rem);line-height:1;max-width:16ch;letter-spacing:-.02em}.hero-aside{display:grid;gap:8px;align-self:center;padding-left:20px;border-left:2px solid var(--nr-red)}.hero-aside-kicker{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nr-red)}.hero-aside p{margin:0;color:#555;font-size:.9rem;line-height:1.6;max-width:44ch}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metrics-group{display:grid;gap:8px}.metrics-group-header{display:flex;align-items:center;gap:6px}.metrics-group-label{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:#888}.metrics-group-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-card{background:var(--nr-surface);border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);padding:16px 14px;display:grid;gap:6px;position:relative}.metric-card.accent{border-top:2px solid var(--nr-red)}.metric-card span{color:#888;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.3}.metric-card strong{font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.metric-card.accent strong{color:var(--nr-charcoal)}.info-tip{position:relative;cursor:help}.info-tip-icon{display:block;width:14px;height:14px;color:#aaa;transition:color var(--nr-transition)}.info-tip:hover .info-tip-icon{color:#666}.info-tip:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:0;width:240px;padding:10px 12px;border-radius:var(--nr-radius);background:var(--nr-charcoal);color:#ffffffd9;font-size:.76rem;line-height:1.45;font-weight:400;font-style:normal;letter-spacing:0;text-transform:none;box-shadow:0 6px 20px #00000040;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:20}.info-tip:hover:after{opacity:1}.metrics-footnote{grid-column:1 / -1;margin:0;color:#aaa;font-size:.76rem;line-height:1.5;text-align:center}.metrics-footnote a{color:#888;font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ccc;transition:color var(--nr-transition),text-decoration-color var(--nr-transition)}.metrics-footnote a:hover{color:var(--nr-red);text-decoration-color:var(--nr-red)}.console{background:var(--nr-surface);border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);overflow:hidden}.console-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--nr-charcoal)}.tab{padding:16px 14px;border:0;border-right:1px solid rgba(255,255,255,.06);background:transparent;color:#ffffff8c;text-align:left;display:grid;gap:4px;cursor:pointer;transition:background var(--nr-transition),color var(--nr-transition);position:relative}.tab:last-child{border-right:0}.tab:hover{background:#ffffff0d;color:#ffffffe6}.tab span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.tab strong{font-size:.95rem}.tab.active{background:#f420281a;color:#fff}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--nr-red)}.console-body{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:0}.query-panel,.results-panel{padding:24px}.query-panel{border-right:1px solid var(--nr-border-light);background:var(--nr-surface);align-self:start}.query-panel h3,.results-panel h3{margin:4px 0 0;font-size:1.25rem;letter-spacing:-.01em}.query-panel p{margin:0 0 20px;color:#888;line-height:1.55;font-size:.88rem}.query-form{display:grid;gap:12px}.query-form label{font-size:.85rem;font-weight:600;color:var(--nr-text)}.query-form input{min-height:46px;padding:12px 14px;border:1px solid var(--nr-border);border-radius:var(--nr-radius);background:var(--nr-canvas);transition:border-color var(--nr-transition);font-size:.9rem}.query-form input:focus{outline:none;border-color:var(--nr-red)}.query-form input::placeholder{color:#b8b8b8}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;border:1.5px dashed var(--nr-border);border-radius:var(--nr-radius);background:var(--nr-canvas);cursor:pointer;transition:border-color var(--nr-transition),background var(--nr-transition)}.upload-zone:hover{border-color:var(--nr-red);background:#f4202805}.upload-zone.has-file{border-style:solid;border-color:var(--nr-red);background:#f4202808}.upload-zone.drag-over{border-color:var(--nr-red);background:#f420280d}.upload-zone:focus-visible{outline:2px solid rgba(244,32,40,.35);outline-offset:3px}.upload-zone-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.upload-zone-icon{width:28px;height:28px;color:var(--nr-red);opacity:.6;transition:opacity var(--nr-transition)}.upload-zone:hover .upload-zone-icon,.upload-zone:focus-visible .upload-zone-icon,.upload-zone.drag-over .upload-zone-icon{opacity:1}.upload-zone.has-file .upload-zone-icon{opacity:.8}.upload-zone-label{font-size:.88rem;font-weight:600;color:var(--nr-text)}.upload-zone-hint{color:#888;font-size:.82rem}.upload-zone-file{font-size:.85rem;font-weight:600;color:var(--nr-text)}.upload-zone-size{color:#888;font-size:.78rem}.button-row{margin-top:6px;display:grid;gap:8px}.primary-button{min-height:44px;border:0;border-radius:var(--nr-radius);background:var(--nr-red);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:background var(--nr-transition)}.primary-button:hover:not(:disabled){background:#d91c23}.primary-button:disabled{opacity:.55;cursor:not-allowed}.primary-button.is-busy:disabled{cursor:wait}.helper-text{color:#888;font-size:.82rem}.format-details{margin-top:4px}.format-details summary{font-size:.78rem;font-weight:600;color:#888;cursor:pointer;padding:6px 0;list-style:none;display:flex;align-items:center;gap:6px;transition:color var(--nr-transition)}.format-details summary::-webkit-details-marker{display:none}.format-details summary:before{content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}.format-details[open] summary:before{transform:rotate(45deg)}.format-details summary:hover{color:var(--nr-text)}.format-details-body{display:grid;gap:1px;background:var(--nr-border-light);border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);overflow:hidden;margin-top:6px}.format-details-section{padding:12px 14px;background:var(--nr-canvas);display:grid;grid-template-columns:1fr auto;gap:4px}.format-details-section strong{font-size:.82rem;color:var(--nr-text)}.format-details-section>span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#888;text-align:right;padding-top:1px}.format-details-section p{grid-column:1 / -1;margin:0;font-size:.78rem;line-height:1.5;color:#777}.format-details-section code{font-family:IBM Plex Mono,SF Mono,Consolas,monospace;font-size:.74rem;padding:1px 5px;background:#0000000a;border:1px solid var(--nr-border-light);border-radius:2px;color:var(--nr-charcoal)}.format-details-ecosystems{padding:12px 14px;background:var(--nr-canvas);display:grid;gap:8px}.format-details-ecosystems strong{font-size:.82rem;color:var(--nr-text)}.format-details-chips{display:flex;flex-wrap:wrap;gap:5px}.format-details-chips span{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:var(--nr-radius);background:#f420280d;border:1px solid rgba(244,32,40,.15);color:#c0181f;letter-spacing:.02em}.results-panel{display:grid;gap:16px;align-content:start;background:var(--nr-canvas)}.results-header{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--nr-border-light)}.empty-state,.scope-note,.status-card,.match-card{border:1px solid var(--nr-border-light);background:var(--nr-surface);border-radius:var(--nr-radius)}.empty-state,.scope-note,.status-card{padding:16px}.empty-state{color:#888;line-height:1.55;font-size:.88rem;text-align:center;padding:28px 20px;border-style:dashed}.status-card{display:grid;gap:6px}.status-card strong{font-size:.95rem}.status-card p{margin:0;color:#888;line-height:1.5;font-size:.88rem}.status-card.affected{border-color:#f420284d;background:#f420280a;border-left:3px solid var(--nr-red)}.status-card.neutral{background:#18c7a00a;border-color:#18c7a033;border-left:3px solid var(--nr-teal)}.status-card.pending{background:#2627290a;border-color:#2627291f;border-left:3px solid var(--nr-charcoal);position:relative;overflow:hidden}.status-card.pending:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--nr-charcoal) 40%,var(--nr-charcoal) 60%,transparent 100%);animation:pending-slide 1.5s ease-in-out infinite}@keyframes pending-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-card.error{background:#f53b630a;border-color:#f53b6333;border-left:3px solid var(--nr-pink)}.scope-note{color:#888;font-size:.82rem;line-height:1.5;border-style:dashed;text-align:center;padding:12px 16px}.scope-note a{color:var(--nr-red);font-weight:600;text-decoration:none;transition:color var(--nr-transition)}.scope-note a:hover{color:#d91c23;text-decoration:underline}.result-stack{display:grid;gap:12px}.match-card{padding:18px;display:grid;gap:16px}.match-card header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--nr-border-light)}.match-card header strong{font-size:.95rem}.match-card header span{color:#888;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;border:1px solid var(--nr-border-light);padding:3px 8px;border-radius:var(--nr-radius)}.match-card dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--nr-border-light);border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);overflow:hidden}.match-card dl>div{padding:10px 12px;background:var(--nr-canvas)}.match-card dt{color:#888;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.match-card dd{margin:4px 0 0;word-break:break-word;font-size:.88rem}.package-table{display:grid;gap:0}.package-table-header,.package-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.package-table-header{color:#888;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;padding-bottom:8px;border-bottom:1px solid var(--nr-border-light)}.package-row{padding:12px 0;border-bottom:1px solid var(--nr-border-light)}.package-row:last-child{border-bottom:0}.package-row-content{display:grid;gap:8px;min-width:0;flex:1}.package-row-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.package-row-top strong{font-size:.88rem}.package-evidence{margin:0;color:#888;line-height:1.4;font-size:.82rem}.lineage-chain{display:flex;flex-wrap:wrap;align-items:center;gap:0}.lineage-segment{display:inline-flex;align-items:center}.lineage-arrow{display:inline-flex;align-items:center;width:24px;margin:0 2px;flex-shrink:0}.lineage-arrow:before{content:"";flex:1;height:1px;background:var(--nr-border)}.lineage-arrow:after{content:"";border:3px solid transparent;border-left:5px solid var(--nr-border)}.lineage-node{display:inline-block;padding:3px 8px;font-size:.76rem;font-family:IBM Plex Mono,SF Mono,Consolas,monospace;background:var(--nr-canvas);border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);white-space:nowrap;color:var(--nr-text);line-height:1.4}.lineage-node.target{background:#f420280f;border-color:#f4202840;color:#c0181f;font-weight:600}.depth-chip{min-width:64px;padding:4px 10px;border:1px solid var(--nr-border-light);border-radius:var(--nr-radius);text-align:center;font-size:.74rem;font-weight:700;white-space:nowrap;flex-shrink:0}.depth-chip.official{background:#f420280f;border-color:#f4202840;color:#c0181f}.depth-chip.direct{background:#2627290f;border-color:#2627292e;color:var(--nr-charcoal)}.depth-chip.transitive{background:#b8b8b81a;border-color:var(--nr-border-light);color:#888}@media(max-width:1180px){.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.metrics,.console-tabs,.console-body,.hero{grid-template-columns:1fr}.query-panel{border-right:0;border-bottom:1px solid var(--nr-border-light)}}@media(max-width:720px){.workspace{padding:14px}.hero,.query-panel,.results-panel,.rail{padding:16px}.metrics-group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.match-card dl{grid-template-columns:1fr}.package-row,.match-card header{flex-direction:column}}
