:root { --ink:#17213c; --muted:#64708a; --line:#dce2ea; --paper:#f7f9fc; --white:#fff; --navy:#17213c; --teal:#12a88c; --gold:#f1b648; --coral:#e76f51; --mono:"DM Mono",monospace; --sans:"Manrope","Noto Sans SC",sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
button,input { font:inherit; }
button { cursor:pointer; }
.app-shell { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.site-header { height:88px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; color:var(--ink); font-size:14px; font-weight:800; letter-spacing:0; text-decoration:none; }
.brand-mark { display:grid; grid-template-columns:repeat(2,7px); gap:2px; width:16px; transform:skewY(-8deg); }
.brand-mark i { aspect-ratio:1; background:var(--teal); } .brand-mark i:nth-child(2){background:var(--gold)} .brand-mark i:nth-child(3){background:var(--coral)} .brand-mark i:nth-child(4){background:var(--navy)}
.header-meta,.summary-status { display:flex; align-items:center; gap:7px; color:var(--muted); font:500 12px var(--mono); }
.status-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(18,168,140,.12); }
.workspace { padding:74px 0 42px; }
.eyebrow { margin:0 0 12px; color:var(--teal); font:500 11px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:720px; margin-bottom:20px; font-size:clamp(40px,6vw,72px); line-height:1.06; letter-spacing:0; font-weight:800; }
h1 em { color:var(--teal); font-style:normal; }
.intro-copy { max-width:530px; margin-bottom:38px; color:var(--muted); font-size:16px; line-height:1.75; }
.query-panel { max-width:760px; padding:24px; background:var(--white); border:1px solid var(--line); box-shadow:0 16px 35px rgba(23,33,60,.08); }
.query-panel label { display:block; margin-bottom:9px; font-size:13px; font-weight:700; }
.input-row { display:flex; align-items:center; gap:10px; min-height:58px; padding:0 14px; border:1px solid #bcc7d5; background:#fff; transition:border-color .2s,box-shadow .2s; }
.input-row:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(18,168,140,.13); }
.input-icon { color:var(--muted); width:20px; display:grid; place-items:center; }
.input-row input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); font:400 13px var(--mono); }
.input-row input::placeholder { color:#8f9aae; }
.clear-button,.icon-button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; background:transparent; color:var(--muted); }
.clear-button:hover,.icon-button:hover { color:var(--ink); background:#edf1f5; }
.clear-button svg,.icon-button svg { width:17px; }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:15px; }
.form-footer p { margin:0; color:var(--muted); font-size:12px; }
.query-button { min-height:42px; display:inline-flex; align-items:center; gap:10px; padding:0 16px; border:1px solid var(--navy); background:var(--navy); color:#fff; font-weight:700; font-size:13px; transition:transform .18s,background .18s; }
.query-button:hover { background:#28385f; transform:translateY(-1px); } .query-button svg{width:17px;}
.utility-row { max-width:760px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:17px; }
.utility-row p { margin:0; display:flex; gap:8px; align-items:center; color:var(--muted); font-size:12px; } .utility-row svg{width:16px;color:var(--teal)}
.text-button { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; color:var(--ink); background:transparent; font-size:12px; font-weight:700; } .text-button:hover{color:var(--teal)} .text-button svg{width:15px;}
.results-section { padding:38px 0 32px; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; } .section-heading .eyebrow{margin:0}.result-count{margin:0;color:var(--muted);font:400 11px var(--mono)}
.empty-state,.loading-state,.error-state { min-height:178px; display:flex; align-items:center; justify-content:center; gap:18px; padding:24px; border:1px dashed #c8d0db; color:var(--muted); }
.empty-symbol { width:44px; height:44px; display:grid; place-items:center; color:var(--teal); background:#e5f6f2; } .empty-symbol svg{width:23px}.empty-state h2,.error-state h2{margin:0 0 6px;font-size:16px}.empty-state p,.error-state p{margin:0;font-size:13px;line-height:1.5}.loading-state{font:500 12px var(--mono)}
.loader { width:20px;height:20px;border:2px solid #cbd3df;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite; } @keyframes spin {to{transform:rotate(360deg)}}
.error-state { justify-content:flex-start; border-color:#efc8c0; background:#fff8f6; color:#a64431; }.error-state svg{width:28px}.error-state h2{color:#a64431}.error-state p{color:#9a665c}
.result-card { background:var(--white); border:1px solid var(--line); }
.app-summary { display:flex; align-items:center; gap:14px; padding:24px; border-bottom:1px solid var(--line); }.app-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--navy);color:#fff}.app-icon svg{width:23px}.app-info{min-width:0}.publisher,.app-id{margin:0;color:var(--muted);font:400 11px var(--mono)}.app-info h2{margin:3px 0;font-size:20px}.summary-status{margin-left:auto;color:var(--teal)}
.package-toolbar{display:flex;justify-content:space-between;align-items:center;padding:19px 24px 12px}.package-toolbar h3{margin:0 0 4px;font-size:14px}.package-toolbar p{margin:0;color:var(--muted);font:400 11px var(--mono)}
.package-list{padding:0 14px}.package-row{display:grid;grid-template-columns:88px minmax(0,1fr) 80px 44px;align-items:center;gap:16px;padding:15px 10px;border-top:1px solid #edf0f4}.architecture{width:max-content;padding:5px 7px;background:#e8f5f2;color:#087d68;font:500 11px var(--mono)}.package-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 12px var(--mono)}.package-size{color:var(--muted);font:400 11px var(--mono);text-align:right}.download-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:#fff;color:var(--ink)}.download-button:hover{color:#fff;background:var(--teal);border-color:var(--teal)}.download-button svg{width:16px}
.expiry-note{display:flex;align-items:center;gap:7px;margin:0;padding:15px 24px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}.expiry-note svg{width:14px;color:var(--gold)}
.history-section{padding:4px 0 62px}.history-list{display:flex;flex-wrap:wrap;gap:9px}.history-chip{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);background:#fff;color:var(--ink);font:400 11px var(--mono)}.history-chip:hover{border-color:var(--teal);color:var(--teal)}.history-chip svg{width:14px}
footer{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;border-top:1px solid var(--line);color:var(--muted);font:400 11px var(--mono)}footer span{width:3px;height:3px;border-radius:50%;background:var(--gold)}
@media (min-width:621px){.main-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:64px;align-items:start;padding:72px 0 38px}.workspace{padding:0}.results-section{min-width:0;padding:72px 0 0;border-top:0}.history-section{padding-top:4px}.query-panel,.utility-row{max-width:none}}
@media (max-width:620px){.app-shell{width:min(100% - 32px,1120px)}.site-header{height:70px}.header-meta{font-size:10px}.workspace{padding:54px 0 30px}h1{font-size:43px}.intro-copy{font-size:14px}.query-panel{padding:16px}.form-footer{align-items:flex-end}.form-footer p{max-width:160px;line-height:1.45}.utility-row{align-items:flex-start}.utility-row p{line-height:1.45}.package-row{grid-template-columns:64px minmax(0,1fr) 34px;gap:10px}.package-size{display:none}.architecture{font-size:10px}.package-toolbar,.app-summary{padding-left:16px;padding-right:16px}.package-name{font-size:10px}.expiry-note{padding-left:16px;padding-right:16px;line-height:1.45}.summary-status{display:none}.empty-state{align-items:flex-start;justify-content:flex-start}.empty-state p{max-width:230px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
