#cam-grid{transition:opacity .18s ease,transform .18s ease}#cam-grid.swapping{opacity:0;transform:translateY(8px)}@keyframes camCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.cam-card{cursor:pointer}.cam-card.reveal{animation:camCardIn .34s cubic-bezier(.2,.8,.2,1) both}.cam-card.selected{border-color:var(--color-brand-500);box-shadow:0 0 0 2px var(--color-brand-500),0 12px 36px -16px #a855f799}.cat-tab{color:var(--color-ink-muted);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.cat-tab[aria-selected=true]{background:var(--color-brand-600);color:#fff;box-shadow:0 6px 18px -8px #9333ead9}.cat-tab[aria-selected=false]:hover{color:var(--color-ink)}#compare-toggle.active{border-color:var(--color-brand-500);color:#fff;background:var(--color-brand-600)}.cam-badge{display:inline-block;padding:.18rem .5rem;border-radius:9999px;font-family:IBM Plex Mono,monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1}.cam-badge-ndaa{border:1px solid var(--color-brass-500);color:#1a1206;background:var(--color-brass-500)}.cam-filter-select option{color:#14141c;background:#fff;font-weight:500}.cam-check{display:none;align-items:center;justify-content:center}.compare-on .cam-check{display:flex}.cam-check-box{width:22px;height:22px;border-radius:6px;border:2px solid var(--color-line);background:#07101fd9;display:flex;align-items:center;justify-content:center;color:transparent;font-size:13px;font-weight:700;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.cam-card.selected .cam-check-box{background:var(--color-brand-600);border-color:var(--color-brand-500);color:#fff}.cam-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .2s ease}.cam-modal.show{display:flex}.cam-modal.open{opacity:1}.cam-modal-panel{transform:scale(.94);opacity:0;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .24s ease;max-height:90vh;overflow:auto}.cam-modal.open .cam-modal-panel{transform:scale(1);opacity:1}body.modal-open{overflow:hidden}#compare-bar{position:fixed;left:50%;bottom:1rem;transform:translate(-50%,160%);z-index:70;display:none;align-items:center;gap:.75rem;transition:transform .3s cubic-bezier(.2,.8,.2,1)}#compare-bar.show{display:flex;transform:translate(-50%)}.compare-scroll{overflow-x:auto}.compare-table{width:100%;border-collapse:collapse;min-width:520px}.compare-table th[scope=row]{text-align:left;font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted);padding:.6rem .75rem;white-space:nowrap;vertical-align:top;border-top:1px solid var(--color-line)}.compare-table td{padding:.6rem .75rem;font-size:.85rem;color:var(--color-ink-soft);vertical-align:top;border-top:1px solid var(--color-line);min-width:130px}.compare-figrow td,.compare-figrow th{border-top:0}.compare-fig{background:#07101f80;border:1px solid var(--color-line);border-radius:.6rem;padding:.5rem;max-width:150px}.compare-caps ul{display:flex;flex-direction:column;gap:.35rem}.compare-caps li{position:relative;padding-left:1rem}.compare-caps li:before{content:"▸";position:absolute;left:0;color:var(--color-brand-400)}.cam-render{display:block;width:100%;aspect-ratio:4 / 3}.cam-render svg{display:block;width:100%;height:100%}.cam-lens-glow{transform-box:fill-box;transform-origin:center;animation:camGlow 3.2s ease-in-out infinite;will-change:transform,opacity}.cam-lens-hover{opacity:0;transition:opacity .28s ease}.cam-ir-ring{transform-box:fill-box;transform-origin:center;animation:camIR 2.8s ease-out infinite;will-change:transform,opacity}.cam-glint{transform-box:fill-box;transform-origin:center;animation:camGlint 4.2s ease-in-out infinite;will-change:transform,opacity}.cam-rec-dot{animation:camRec 1.5s steps(1,end) infinite}.cam-scan{transform-box:fill-box;transform-origin:center;animation:camScan 3.4s ease-in-out infinite;will-change:transform,opacity}.cam-led{animation:camLed 2.4s steps(1,end) infinite}.cam-ptz-head{transform-box:view-box;transform-origin:88px 44px;animation:camPan 6.5s ease-in-out infinite;will-change:transform}.cam-ms1,.cam-ms2,.cam-ms3,.cam-ms4{transform-box:fill-box;transform-origin:center;animation:camMs 2.6s ease-in-out infinite;will-change:transform,opacity}.cam-ms2{animation-delay:.55s}.cam-ms3{animation-delay:1.1s}.cam-ms4{animation-delay:1.65s}.cam-360-ring{transform-box:fill-box;transform-origin:center;animation:camSpin 9s linear infinite;will-change:transform}.cam-thermal-warm{animation:camThermal 3.8s ease-in-out infinite;will-change:opacity}.cam-card:hover .cam-lens-hover{opacity:.85}.cam-card:hover .cam-render{filter:brightness(1.07) saturate(1.06)}@keyframes camGlow{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.95;transform:scale(1.06)}}@keyframes camIR{0%{opacity:.75;transform:scale(.8)}70%{opacity:0}to{opacity:0;transform:scale(1.4)}}@keyframes camGlint{0%,8%{opacity:0;transform:translate(-24px)}22%{opacity:.7}45%{opacity:.12}60%,to{opacity:0;transform:translate(24px)}}@keyframes camRec{0%,44%{opacity:1}55%,to{opacity:.12}}@keyframes camScan{0%{opacity:0;transform:translate(-18px)}18%{opacity:.8}80%{opacity:.8}to{opacity:0;transform:translate(18px)}}@keyframes camLed{0%,62%{opacity:1}74%,to{opacity:.18}}@keyframes camPan{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes camMs{0%,to{opacity:.28}50%{opacity:1}}@keyframes camSpin{to{transform:rotate(360deg)}}@keyframes camThermal{0%,to{opacity:0}50%{opacity:1}}@media(prefers-reduced-motion:reduce){#cam-grid,.cam-card,.cam-modal,.cam-modal-panel,#compare-bar{transition:none!important;animation:none!important}#cam-grid.swapping{opacity:1;transform:none}#compare-bar.show{transform:translate(-50%)}.cam-modal-panel{transform:none}.cam-lens-glow,.cam-lens-hover,.cam-ir-ring,.cam-glint,.cam-rec-dot,.cam-scan,.cam-led,.cam-ptz-head,.cam-ms1,.cam-ms2,.cam-ms3,.cam-ms4,.cam-360-ring,.cam-thermal-warm{animation:none!important;transition:none!important}.cam-ptz-head{transform:none!important}}#quote .quote-glow{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}#quote .quote-blob{position:absolute;border-radius:9999px;filter:blur(70px);will-change:transform}#quote .quote-blob-1{width:40rem;height:40rem;top:-12rem;left:-10rem;opacity:.2;background:radial-gradient(circle,#9333ea,#9333ea00 70%);animation:quote-drift-1 22s ease-in-out infinite alternate}#quote .quote-blob-2{width:34rem;height:34rem;right:-8rem;bottom:-10rem;opacity:.16;background:radial-gradient(circle,#a855f7,#a855f700 70%);animation:quote-drift-2 26s ease-in-out infinite alternate;animation-delay:-6s}#quote .quote-blob-3{width:26rem;height:26rem;left:42%;top:28%;opacity:.14;background:radial-gradient(circle,#7e22ce,#7e22ce00 70%);animation:quote-drift-3 19s ease-in-out infinite alternate;animation-delay:-3s}@keyframes quote-drift-1{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(5rem,3rem,0) scale(1.18)}}@keyframes quote-drift-2{0%{transform:translateZ(0) scale(1.05)}to{transform:translate3d(-4rem,-3rem,0) scale(.9)}}@keyframes quote-drift-3{0%{transform:translateZ(0) scale(.95)}to{transform:translate3d(3rem,-4rem,0) scale(1.15)}}@media(prefers-reduced-motion:reduce){#quote .quote-blob{animation:none}}
