:root{--bg:#14161a;--panel:#1c1f25;--panel-alt:#23272f;--line:#2e333c;--text:#e6e8ec;--muted:#949aa6;--accent:#6ea8fe;--ok:#4ec9a0;--warn:#e2b344;--error:#e2685f;--info:#7f8794}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code,pre{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}code{color:var(--accent);word-break:break-all}.app{max-width:71rem;margin:0 auto;padding:2rem 1.5rem 4rem}.panel>p,.finding dd,.compareSide p,.inventorySummary{max-width:76ch}.appHeader h1{letter-spacing:-.02em;max-width:34ch;margin:0;font-size:clamp(1.6rem,4.2vw,2.4rem);line-height:1.18}.appHeader{padding:1rem 0 2rem}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.78rem}.heroAccent{color:var(--accent)}.tagline{color:var(--muted);max-width:64ch;margin:.85rem 0 0;font-size:1.05rem}.panel--pain{border-left:3px solid var(--error)}.panel--proof{border-left:3px solid var(--ok)}.panel--limits{border-left:3px solid var(--info)}.compare{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:.9rem;display:grid}.compareSide{background:var(--panel-alt);border-radius:8px;padding:.9rem 1.1rem 1rem}.compareSide--ours{outline:1px solid #6ea8fe59}.compareSide h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.compareSide--ours h3{color:var(--accent)}.compareSide ol{margin:0;padding-left:1.2rem}.compareSide li{margin-bottom:.3rem}.compareSide p{margin:.7rem 0 0;font-size:.9rem}.stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;margin:1rem 0 1.1rem;display:grid}.stat{background:var(--panel-alt);border-radius:8px;padding:.9rem 1rem}.stat--accent{outline:1px solid #4ec9a066}.statValue{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.5rem;font-weight:650;display:block}.stat--accent .statValue{color:var(--ok)}.statLabel{color:var(--muted);margin-top:.15rem;font-size:.83rem;display:block}.findings{margin:.9rem 0 0}.finding{border-top:1px solid var(--line);padding:.65rem 0}.finding dt{margin-bottom:.2rem;font-weight:600}.finding dd{color:var(--muted);margin:0;font-size:.92rem}.dropZoneHint{max-width:36rem;color:var(--muted);margin:1.3rem auto 0;font-size:.88rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.25rem}.panel h2{margin:0 0 .6rem;font-size:1.1rem}.panel h3{margin:1.2rem 0 .5rem;font-size:1rem}.panel h4{margin:1rem 0 .4rem;font-size:.95rem}.panel--ok{border-left:3px solid var(--ok)}.panel--warn{border-left:3px solid var(--warn)}.panel--error{border-left:3px solid var(--error)}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.note{color:var(--warn);background:#e2b34414;border-radius:6px;margin:.6rem 0 0;padding:.5rem .7rem;font-size:.9rem}.dropZone{text-align:center;background:#ffffff03;border:1.5px dashed #3a4150;border-radius:14px;margin-bottom:1.5rem;padding:2.4rem 1.5rem 2rem;transition:border-color .12s,background .12s}.dropZone--active{border-color:var(--accent);background:#6ea8fe0f}.dropZoneTitle{margin:0;font-size:1.15rem;font-weight:600}.dropZoneOr{color:var(--muted);margin:.5rem 0 .75rem;font-size:.88rem}.hiddenInput{display:none}.primaryButton{font:inherit;color:#101319;background:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:.62rem 1.4rem;font-weight:600;transition:filter .12s,transform 60ms}.primaryButton:hover{filter:brightness(1.08)}.primaryButton:active{transform:translateY(1px)}.primaryButton:focus-visible{outline:2px solid var(--text);outline-offset:2px}.linkButton{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}progress{width:100%;height:.5rem}.resourceHeader h3{margin:0}.resourceHeader .muted{margin:.15rem 0 0;font-size:.9rem}.ruleList,.plainList,.issueItems,.caseList,.errorList{margin:.8rem 0 0;padding:0;list-style:none}.plainList li{margin-bottom:.5rem}.ruleGroup{border-top:1px solid var(--line);padding:.55rem 0}.ruleGroup summary,.prefixBlock summary,details summary{cursor:pointer;align-items:center;gap:.55rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.04em;color:#14161a;border-radius:4px;padding:.1rem .42rem;font-size:.72rem;font-weight:600}.badge--blocker,.badge--error{background:var(--error)}.badge--warning{background:var(--warn)}.badge--info{background:var(--info);color:var(--text)}.ruleId{color:var(--text)}.count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.explanation{color:var(--muted);border-left:2px solid var(--line);margin:.6rem 0 .4rem;padding-left:.7rem;font-size:.9rem}.issueItems li,.caseList li{border-bottom:1px solid #2e333c80;padding:.22rem 0;font-size:.88rem}.issueMessage{color:var(--muted);display:block}.inventoryBlock{border-top:1px solid var(--line);padding:.55rem 0}.inventory{margin-top:.7rem}.inventorySummary{color:var(--muted);margin:0 0 .7rem}.inventorySummary strong{color:var(--text);font-variant-numeric:tabular-nums}.pedTable{margin-bottom:.8rem}.pedTable td.num,.occupancyTable td.num{text-align:right;width:5.5rem;color:var(--text);padding-right:1rem}.prefixBlock summary code:first-child{flex:0 auto}.conflictBlock{margin-bottom:1rem}table{border-collapse:collapse;width:100%;font-size:.88rem}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:.3rem .5rem .3rem 0;font-weight:500}td{vertical-align:top;border-bottom:1px solid #2e333c80;padding:.28rem .5rem .28rem 0}td.num,.pairTable td:first-child{text-align:right;font-variant-numeric:tabular-nums;width:4rem;color:var(--warn);padding-right:.9rem}.ranges{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.prefixBlock{border-top:1px solid var(--line);padding:.5rem 0}.occupancyTable{margin-top:.5rem}.errorItem{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.7rem}.errorItem:first-child{border-top:none;margin-top:0;padding-top:0}.errorWhat{margin:0 0 .35rem;font-weight:600}.errorFile,.errorCode{color:var(--muted);margin:0 0 .35rem;font-size:.88rem}.errorAction{margin:.35rem 0 0}.errorTechnical{margin-top:.6rem;font-size:.85rem}.errorTechnical pre{background:var(--panel-alt);color:var(--muted);border-radius:6px;padding:.6rem .7rem;overflow-x:auto}.appFooter{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;font-size:.85rem}
