:root{color:#15211d;font-synthesis:none;--ink:#10201a;--muted:#66736d;--line:#d7d9d1;--paper:#fafaf6;--green:#1fbd76;--green-dark:#0d6545;--night:#081411;--lime:#a9f26b;background:#f4f3ed;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--night);color:#fff;border-bottom:1px solid #26342f;justify-content:space-between;align-items:center;height:78px;padding:0 4vw;display:flex}.brand{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;display:flex}.brand-mark{background:var(--green);width:36px;height:36px;color:var(--night);border-radius:50% 50% 50% 12px;place-items:center;font-weight:800;display:grid}.brand strong{letter-spacing:-.04em;font-size:20px;display:block}.brand small{color:#85938d;letter-spacing:.12em;text-transform:uppercase;font-size:9px;display:block}.topbar nav{gap:8px;display:flex}.topbar nav button{color:#a9b5b0;cursor:pointer;background:0 0;border:0;padding:10px 14px}.topbar nav button:hover{color:#fff}.share-status{text-transform:uppercase;letter-spacing:.08em;color:#a9b5b0;font:500 10px DM Mono,monospace}.share-status span{background:var(--lime);width:7px;height:7px;box-shadow:0 0 12px var(--lime);border-radius:50%;margin-right:8px;display:inline-block}main{flex:1}.hero{color:#fff;background:radial-gradient(circle at 78% 20%,#164333 0,#0000 29%),linear-gradient(135deg,#081411,#0c211a);padding:78px 8vw 68px;position:relative;overflow:hidden}.hero:after{content:"";opacity:.55;border:1px solid #25493c;border-radius:50%;width:300px;height:300px;position:absolute;top:40px;right:6vw;box-shadow:0 0 0 55px #10251e,0 0 0 56px #25493c,0 0 0 115px #0d1d18,0 0 0 116px #213a31}.hero>*{z-index:1;position:relative}.eyebrow,.kicker{color:var(--green);letter-spacing:.14em;font:500 10px DM Mono,monospace}.hero h1{letter-spacing:-.06em;max-width:900px;margin:20px 0;font-size:clamp(48px,7vw,92px);line-height:.94}.hero h1 em{color:var(--lime);font-style:normal}.hero>p{color:#9daca6;max-width:580px;font-size:17px;line-height:1.7}.search-box{background:#10221c;border:1px solid #3b5249;align-items:center;max-width:820px;margin-top:38px;padding:8px 8px 8px 20px;display:flex;box-shadow:0 22px 50px #0005}.search-icon{color:var(--green);font-size:26px}.search-box input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:16px}.search-box button,.primary{background:var(--green);color:var(--night);cursor:pointer;border:0;padding:16px 22px;font-weight:800}.hero-meta{color:#788980;text-transform:uppercase;gap:34px;margin-top:30px;font:400 10px DM Mono,monospace;display:flex}.hero-meta b{color:#fff;margin-right:6px}.catalog,.detail-page,.methodology-page{padding:64px 8vw 90px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:-.04em;margin:8px 0 0;font-size:32px}.tabs{background:#e7e7e0;border-radius:5px;padding:4px}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:10px 16px}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 6px #0001}.catalog-actions{align-items:center;gap:12px;display:flex}.export-button{color:var(--green-dark);cursor:pointer;background:0 0;border:1px solid #c8cec9;padding:10px 14px}.card-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.entity-card{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;grid-template-columns:54px 1fr auto;gap:18px;min-height:200px;padding:26px;transition:transform .2s,background .2s;display:grid;position:relative}.entity-card:hover{z-index:2;background:#fff;transform:translateY(-4px);box-shadow:0 18px 44px #243b3214}.card-index{color:#b9c0bc;font:10px DM Mono,monospace;position:absolute;top:16px;right:18px}.tech-monogram{width:48px;height:48px;color:var(--green-dark);background:#e0f5e9;border:1px solid #c7e8d5;place-items:center;font:600 13px DM Mono,monospace;display:grid}.entity-card h3{margin:2px 0 8px;font-size:18px}.entity-card p{color:var(--muted);max-width:230px;margin:0;font-size:12px;line-height:1.55}.card-stat{grid-column:2;align-self:end;align-items:baseline;gap:7px;display:flex}.card-stat strong{font-size:24px}.card-stat span{color:var(--muted);font-size:11px}.arrow{color:var(--green-dark);place-self:end}.snapshot-note{text-align:center;color:#939e99;margin-top:28px;font:10px DM Mono,monospace}.app-list{border-top:1px solid var(--line)}.app-list>button,.occurrence-row{border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;align-items:center;gap:16px;width:100%;padding:18px 22px;display:flex}.app-list>button:hover,.occurrence-row:hover{background:#fff}.app-avatar{background:var(--night);width:38px;height:38px;color:var(--lime);border-radius:9px;place-items:center;font-weight:800;display:grid}.app-copy{flex:1}.app-copy strong,.app-copy small{display:block}.app-copy small{color:var(--muted);margin-top:4px;font:10px DM Mono,monospace}.release-count{color:var(--muted);font-size:12px}.state-panel{min-height:340px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.state-panel h1{color:var(--ink)}.state-code{color:#b24c41;font:10px DM Mono,monospace}.loader{border:2px solid #d2d8d4;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.back{color:var(--green-dark);cursor:pointer;background:0 0;border:0;margin-bottom:36px;padding:0}.detail-hero,.app-profile-head{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding-bottom:44px;display:flex}.detail-monogram,.app-profile-icon{background:var(--night);width:92px;height:92px;color:var(--lime);flex:none;place-items:center;font:700 24px DM Mono,monospace;display:grid}.detail-hero h1,.app-profile-head h1,.methodology-page h1{letter-spacing:-.06em;margin:5px 0;font-size:clamp(42px,6vw,70px)}.detail-hero p{color:var(--muted);max-width:600px}.metric{text-align:right;margin-left:auto}.metric strong{font-size:48px;display:block}.metric span{color:var(--muted);font-size:11px}.detail-grid{grid-template-columns:2fr 1fr;gap:24px;margin-top:36px;display:grid}.panel{border:1px solid var(--line);background:var(--paper)}.panel-title{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:14px 20px;font:10px DM Mono,monospace;display:flex}.occurrence-row .result-badge{margin-left:auto}.confidence{text-align:right;width:54px;font:11px DM Mono,monospace}.method-card{align-self:start;padding:28px}.method-card h3{margin:18px 0 10px;font-size:24px}.method-card p{color:var(--muted);font-size:13px;line-height:1.7}.app-profile-head code{color:var(--muted);font:11px DM Mono,monospace}.profile-stats{gap:28px;margin-left:auto;display:flex}.profile-stats span{color:var(--muted);font-size:11px}.profile-stats strong{color:var(--ink);font-size:30px;display:block}.coverage-banner{background:#fff9e8;border-left:3px solid #d6a829;align-items:center;gap:20px;margin:28px 0;padding:18px 22px;display:flex}.coverage-banner span{color:#8c6a10;font:10px DM Mono,monospace}.coverage-banner p{color:#685a33;margin:0;font-size:12px}.technology-stack{border-top:1px solid var(--line)}.technology-row{border-bottom:1px solid var(--line);gap:18px;padding:24px 0;display:flex}.tech-monogram.small{width:42px;height:42px}.technology-main{flex:1}.technology-main h3{margin:0}.technology-main>div:first-child>span{color:var(--muted);text-transform:capitalize;font-size:11px}.evidence-list p{color:var(--muted);margin:10px 0 0;font-size:11px}.evidence-list b{color:var(--green-dark);text-transform:uppercase;margin-right:8px;font:9px DM Mono,monospace}.evidence-list code{color:#4b5c54;margin-top:4px;display:block}.technology-result{text-align:right;width:150px}.technology-result strong,.technology-result small{margin-top:8px;display:block}.technology-result small{color:var(--muted);text-transform:capitalize}.result-badge{text-transform:uppercase;border-radius:3px;padding:5px 8px;font:500 9px DM Mono,monospace;display:inline-block}.result-badge.detected{color:#0b6743;background:#dff5e9}.result-badge.inconclusive{color:#8a6912;background:#fff2c9}.result-badge.not_detected{color:#58635e;background:#e8ebe9}.release-section{margin-top:56px}.release-card{border-top:1px solid var(--line);align-items:center;gap:40px;padding:20px;display:flex}.release-card>div{flex:1}.release-card strong,.release-card code{display:block}.release-card code{color:var(--muted);margin-top:5px;font:10px DM Mono,monospace}.release-card span{color:var(--muted);font-size:11px}.release-card b{color:var(--ink);text-transform:capitalize;display:block}.methodology-page{max-width:1100px}.methodology-page .lead{max-width:760px;color:var(--muted);font-size:18px;line-height:1.7}.method-steps{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:50px 0 36px;display:grid}.method-steps article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px}.method-steps span{color:var(--green);font:10px DM Mono,monospace}.method-steps p{color:var(--muted);line-height:1.7}.access-page{text-align:center;color:#fff;background:radial-gradient(circle at center, #163b2e, var(--night) 55%);align-content:center;place-items:center;min-height:100vh;display:grid}.brand-mark.large{width:64px;height:64px;margin-bottom:30px;font-size:25px}.access-page h1{margin:14px;font-size:46px}.access-page p{color:#92a39b}footer{background:var(--night);color:#6f8179;text-transform:uppercase;justify-content:space-between;padding:24px 4vw;font:9px DM Mono,monospace;display:flex}@media (max-width:900px){.share-status{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.hero:after{right:-160px}.profile-stats{display:none}}@media (max-width:620px){.topbar nav{display:none}.hero,.catalog,.detail-page,.methodology-page{padding-left:22px;padding-right:22px}.hero{padding-top:55px}.hero h1{font-size:48px}.search-box{align-items:stretch}.search-box button{padding:10px;font-size:11px}.hero-meta{flex-wrap:wrap;gap:12px}.card-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start;gap:20px}.detail-hero,.app-profile-head{flex-direction:column;align-items:start}.metric{text-align:left;margin-left:0}.technology-row{flex-wrap:wrap}.technology-result{text-align:left;width:100%}.release-card{flex-direction:column;align-items:start;gap:12px}.method-steps{grid-template-columns:1fr}footer{flex-direction:column;gap:15px}}
