@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700&family=Rajdhani:wght@400;500;600;700&display=swap";:root{--ink: #9be9ff;--ink-soft: #69aac6;--ink-muted: #4f7f95;--panel-bg: #031224cc;--panel-bg-strong: #02101fef;--line: #1c4f70;--line-strong: #2aa3d9;--accent: #3fd7ff;--accent-strong: #1e96d6;--warn: #ff8c42;--ok: #64ffb4;--err: #ff6b6b}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);font-family:Rajdhani,Segoe UI,sans-serif;letter-spacing:.01em;background:radial-gradient(circle at 8% 8%,#0a3150 0%,transparent 34%),radial-gradient(circle at 92% 10%,#0b2f4d 0%,transparent 30%),linear-gradient(180deg,#01070f,#020a14 55%,#01050c)}.hud{position:relative;width:min(1300px,96vw);margin:.95rem auto 1.8rem;display:grid;gap:.85rem}.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:-4;background:linear-gradient(transparent 97%,#13364b 98%,transparent 99%) 0 0 / 100% 24px,linear-gradient(90deg,transparent 97%,#13364b 98%,transparent 99%) 0 0 / 24px 100%;opacity:.34}.glow{position:fixed;width:28rem;height:28rem;border-radius:50%;filter:blur(80px);z-index:-3;pointer-events:none}.glowA{top:-8rem;left:-6rem;background:#0d93d45c}.glowB{top:10rem;right:-7rem;background:#13b7ec4e}.glowC{bottom:-10rem;left:42%;background:#0a5a864e}.panel{border:1px solid #184767;border-radius:.62rem;background:linear-gradient(180deg,#03172acc,#02101fc9),repeating-linear-gradient(90deg,#fff0 0 44px,#1f54780f 44px 45px);box-shadow:inset 0 0 0 1px #0f355052,inset 0 18px 30px -24px #2ebdf638,0 18px 36px -32px #1fc0ff66;animation:boot .42s ease both}.topbar{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start;padding:.85rem 1rem .9rem}.eyebrow{margin:0;color:#69adc9;text-transform:uppercase;font-size:.68rem;letter-spacing:.2em;font-weight:700}.titleBlock h1{margin:.34rem 0 0;font-family:Orbitron,Rajdhani,sans-serif;font-size:clamp(1.24rem,1.04rem + 1.62vw,2.2rem);color:#b7f2ff;text-shadow:0 0 18px #39d1ff45}.subtitle{margin:.38rem 0 0;color:#74abc4;font-size:.92rem}.chipStack{display:grid;gap:.38rem;justify-items:end}.chip{border:1px solid #1f6285;border-radius:999px;padding:.28rem .62rem;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8dd9f6;background:linear-gradient(180deg,#05233b,#041a2d);box-shadow:inset 0 1px #28b9f130}.controlGrid{display:grid;grid-template-columns:1fr 1.15fr;gap:.85rem}.uploadPanel,.queryPanel,.resultsPanel{padding:.85rem .92rem .92rem}h2{margin:0;color:#9eeaff;font-family:Orbitron,Rajdhani,sans-serif;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase}.microLabel{margin:.38rem 0 .54rem;font-size:.72rem;color:#4a8aab;letter-spacing:.12em;text-transform:uppercase}.actionButton{border:1px solid #2fa6db;border-radius:.58rem;padding:.63rem .82rem;font:inherit;color:#e7fbff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:linear-gradient(180deg,#0b4770,#083757),linear-gradient(90deg,#1a7db5,#2cb6e4);box-shadow:0 8px 18px -12px #2ec3ff8a,inset 0 1px #9be9ff5e;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.actionButton:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 12px 24px -14px #4cd4ff99,inset 0 1px #c9f4ff77}.actionButton:disabled{opacity:.45;cursor:not-allowed}.uploadZone{margin-top:.68rem;min-height:11rem;border-radius:.56rem;border:1px dashed #2a6d90;padding:.85rem;display:grid;place-content:center;text-align:center;cursor:pointer;background:linear-gradient(180deg,#031f35,#02182b),repeating-linear-gradient(45deg,#fff0 0 8px,#3bd6ff12 8px 16px);transition:border-color .13s ease,box-shadow .13s ease,transform .13s ease}.uploadZone:hover,.uploadZone:focus-visible,.uploadZone.isDragging{border-color:#3bd7ff;transform:translateY(-1px);box-shadow:0 0 0 2px #3bd7ff3d,inset 0 0 24px #3bd7ff1f;outline:none}.uploadTitle{margin:0;font-size:1rem;color:#aef1ff;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.uploadHint{margin:.42rem 0 0;color:#79adc6}.memoryModeWrap{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid #205f82;border-radius:.58rem;overflow:hidden;background:#031b30}.modeButton{border:none;border-right:1px solid #1b5474;background:transparent;color:#69a7c3;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.5rem .75rem;cursor:pointer}.modeButton:last-child{border-right:none}.modeButton.active{color:#dbf9ff;background:linear-gradient(180deg,#0c4c73,#0a3754);text-shadow:0 0 12px #66ddff77}.modeButton:disabled{opacity:.45;cursor:not-allowed}.memoryHint{margin:.48rem 0 .62rem;color:#5e96b0;font-size:.84rem}.searchForm{display:grid;gap:.58rem}.inputLabel{font-size:.71rem;color:#68a6c2;text-transform:uppercase;letter-spacing:.12em}.inputLabel.smallLabel{margin-right:.25rem}input[type=text],input[type=number]{border:1px solid #1d5a7d;border-radius:.5rem;padding:.56rem .65rem;background:#021729;color:#bff3ff;font:inherit;box-shadow:inset 0 1px #55bddd2b}input[type=text]:focus,input[type=number]:focus{outline:none;border-color:#35c6ef;box-shadow:0 0 0 2px #35c6ef3b}.queryRow{display:grid;grid-template-columns:auto 92px 1fr;gap:.48rem;align-items:center}.searchButton{width:100%}.statusPanel{margin-top:.65rem;border:1px solid #1e5d7f;border-radius:.56rem;padding:.64rem .7rem;background:linear-gradient(180deg,#031b30,#021423)}.indexSignal{display:inline-flex;align-items:center;gap:.38rem;border-radius:999px;padding:.21rem .5rem;border:1px solid #286f92;background:#06243b;color:#74b2ce;font-size:.69rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;margin-bottom:.48rem}.indexSignal:before{content:"";width:.46rem;height:.46rem;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.indexSignal.loading{color:var(--accent)}.indexSignal.ready{color:var(--ok)}.indexSignal.error{color:var(--err)}.status{color:#8bc8e0;min-height:1.2rem;font-size:.9rem}.progressShell{margin-top:.52rem;border:1px solid #1d5b7d;border-radius:999px;height:.54rem;overflow:hidden;background:#031523}.progressFill{width:0;height:100%;background:linear-gradient(90deg,#1496d4,#3fe0ff);box-shadow:0 0 18px #48deff74;transition:width .16s ease}.progressPercent{margin-top:.36rem;font-size:.76rem;color:#5c93ad}.resultsHeader{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.results{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:.72rem}.resultCard{border:1px solid #205e80;border-radius:.56rem;overflow:hidden;background:linear-gradient(180deg,#041a2d,#031221);box-shadow:0 14px 30px -22px #49dcff5c;animation:boot .36s ease both;animation-delay:var(--card-delay, 0ms)}.imageWrap{position:relative}.resultCard img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#0b2640}.scorePill{position:absolute;top:.48rem;left:.48rem;border:1px solid #2d7ea8;border-radius:999px;padding:.19rem .44rem;font-size:.7rem;color:#a9eaff;background:#021f34cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.copyButton{position:absolute;right:.48rem;bottom:.48rem;border:1px solid #2ca6da;border-radius:.46rem;padding:.37rem .52rem;background:linear-gradient(180deg,#0c4c72,#093653);color:#d7f7ff;font:inherit;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.copyButton:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 7px 16px -10px #4ee2ff8a}.copyButton:disabled{opacity:.65;cursor:wait}.cardInfo{padding:.56rem .62rem .66rem;display:grid;gap:.14rem}.cardInfo strong{color:#aef3ff;font-size:.88rem}.cardInfo span{color:#6294ad;font-size:.76rem}.empty{margin:0;border:1px dashed #245f80;border-radius:.56rem;padding:1rem;text-align:center;color:#6ea4be;background:#03182b;grid-column:1 / -1}@keyframes boot{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.controlGrid{grid-template-columns:1fr}.chipStack{justify-items:start}}@media(max-width:720px){.hud{width:min(1300px,97vw);margin:.7rem auto 1.2rem}.topbar{flex-direction:column}.queryRow{grid-template-columns:1fr 84px}.queryRow .smallLabel,.searchButton{grid-column:1 / -1}}
