.firmware-page{padding-bottom:64px}.firmware-breadcrumb{display:flex;align-items:center;gap:10px;padding-block:25px;font-size:12px;color:var(--faint)}.firmware-breadcrumb a{font-size:12px}.firmware-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding:36px 0 50px;align-items:center}.firmware-hero h1{font-size:clamp(42px,5.6vw,74px);font-weight:600;line-height:1.06;letter-spacing:-3px;margin:24px 0}.firmware-hero h1 span{color:var(--foreground)}.firmware-hero-copy>p{max-width:590px;font-size:16px;line-height:1.8}.firmware-status-dot{width:6px;height:6px;background:var(--primary);box-shadow:0 0 0 3px var(--surface-shadow);margin-right:4px}.firmware-hero-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:25px}.firmware-hero-copy>.firmware-review-date{font:11px/1.8 var(--font-mono);margin-top:25px}.firmware-hero-art{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:1px solid var(--border);padding:23px;position:relative;background:radial-gradient(rgb(100 106 115/.05) .8px,transparent .8px) 0 0/10px 10px,var(--surface);box-shadow:7px 7px 0 var(--surface-shadow)}.firmware-art-label{align-self:flex-start;font:9px var(--font-mono);color:var(--muted-foreground);letter-spacing:1px}.firmware-hero-art .ascii-art{font-size:16px;line-height:1.1;color:var(--muted-foreground)}.firmware-art-readout{display:flex;width:100%;justify-content:space-between;font:8px var(--font-mono);color:var(--muted-foreground);gap:10px}.firmware-eyebrow{color:var(--primary);font:11px/1.5 var(--font-pixel);letter-spacing:.4px;margin-bottom:12px}.firmware-latest-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.firmware-latest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.firmware-latest-card{padding:0;box-shadow:none;border-top:3px solid var(--border)}.firmware-latest-card.router{border-top-color:#bf8c42}.firmware-latest-card.app{border-top-color:#4c8a83}.firmware-latest-card>div{padding:22px 20px 16px}.firmware-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--primary)}.firmware-latest-version{display:block;font:15px/1.6 var(--font-mono);margin:22px 0 10px;overflow-wrap:anywhere;min-height:48px}.firmware-card-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;border-top:1px solid var(--border);margin-top:22px;padding-top:14px;font:10px var(--font-mono);color:var(--faint)}.firmware-context-note{display:flex;align-items:flex-start;gap:12px;padding:20px 0 36px;max-width:900px}.firmware-context-note svg{flex-shrink:0;margin-top:4px;color:var(--primary)}.firmware-context-note p{font-size:12px;line-height:1.8}.firmware-explorer{border:1px solid var(--border);padding:28px;scroll-margin-top:110px}.firmware-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px}.firmware-help h2,.firmware-methodology h2,.firmware-section-heading h2{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-1px}.firmware-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:14px 0;border-block:1px solid var(--border)}.firmware-tab-count{font:10px var(--font-mono);opacity:.75}.firmware-activity{margin:24px 0;padding:22px;background:var(--surface);border:1px solid var(--border)}.firmware-legend{display:flex;flex-wrap:wrap;gap:14px;font:10px var(--font-mono);color:var(--faint)}.firmware-legend>span{display:flex;align-items:center;gap:5px}.firmware-dot{display:inline-block;width:7px;height:7px}.firmware-chart-bar.dish,.firmware-dot.dish{background:var(--primary)}.firmware-chart-bar.router,.firmware-dot.router{background:#bf8c42}.firmware-chart-bar.app,.firmware-dot.app{background:#4c8a83}.firmware-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;height:184px;margin:20px 0 12px}.firmware-chart-month{height:100%;width:100%;display:flex;flex-direction:column;padding:0 3px;justify-content:flex-end;gap:8px;font:10px var(--font-mono);min-width:0}.firmware-chart-month[aria-pressed=true]{background:var(--surface-subtle);outline:1px solid var(--primary)}.firmware-chart-track{height:120px;width:min(100%,36px);display:flex;flex-direction:column-reverse;justify-content:flex-start;background:var(--surface-subtle)}.firmware-chart-bar{display:block;width:100%;flex-shrink:0}.firmware-chart-total{font-size:9px;color:var(--faint)}.firmware-chart-label{color:var(--foreground);font-size:10px;text-align:center;line-height:1.3}.firmware-chart-label>span{display:block;opacity:.6;font-size:8px}.firmware-filters{display:grid;grid-template-columns:minmax(0,1fr) 140px 180px;gap:16px}.firmware-filters label{display:block;margin-bottom:9px;font-size:12px}.firmware-filters [data-slot=select-trigger]{width:100%}.firmware-table{table-layout:fixed;width:100%}.firmware-table th{font:10px var(--font-mono);text-transform:uppercase;color:var(--faint)}.firmware-table td{white-space:normal;padding-block:16px}.firmware-date-col{width:155px}.firmware-evidence-col{width:175px}.firmware-device-label{font:9px var(--font-mono);padding:2px 5px;line-height:1.4;color:var(--primary)}.firmware-device-label.router{background:#fbf0de;color:#7b551e}.firmware-device-label.app{background:#e5f2ef;color:#28665e}.firmware-version{display:flex;align-items:center;gap:8px;margin-top:5px}.firmware-version code{font:12px/1.7 var(--font-mono);overflow-wrap:anywhere;user-select:all}.firmware-evidence-mobile{display:none}.firmware-copy-button{position:relative;width:88px;min-width:88px;flex-shrink:0;border:1px solid transparent;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.firmware-copy-button:hover{transform:translateY(-1px)}.firmware-copy-button:active{transform:scale(.96)}.firmware-copy-button[data-state=copied]{color:var(--primary);background:var(--secondary);border-color:var(--input)}.firmware-copy-button[data-state=error]{color:var(--destructive)}.firmware-copy-feedback{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px}.firmware-copy-label{font-size:11px}.firmware-copy-button[data-state=copied] .firmware-copy-feedback{animation:firmware-copy-confirm .26s cubic-bezier(.2,.8,.2,1) both}.firmware-copy-button[data-state=copied] .firmware-copy-feedback:after{content:"";position:absolute;inset:-9px -12px;border:1px solid var(--primary);pointer-events:none;animation:firmware-copy-ring .45s ease-out both}.firmware-copy-check{animation:firmware-copy-check .32s cubic-bezier(.2,.8,.2,1) both}@keyframes firmware-copy-confirm{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes firmware-copy-check{0%{transform:scale(.5)}65%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes firmware-copy-ring{0%{opacity:.5;transform:scale(.85)}to{opacity:0;transform:scale(1.2)}}.firmware-evidence-button{width:100%;justify-content:space-between;padding-inline:8px;font-size:11px;white-space:normal;height:auto;min-height:32px;text-align:left}.firmware-source-row{background:var(--surface)}.firmware-source-row[hidden]{display:none}.firmware-source-list{display:grid;gap:16px;padding:8px 12px}.firmware-source-list>div{display:grid;grid-template-columns:210px 1fr;gap:15px}.firmware-source-list a{font-size:12px}.firmware-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px}.firmware-message{min-height:18px;font-size:11px;padding-top:8px}.firmware-help{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding:75px 0 55px;scroll-margin-top:110px}.firmware-faq p,.firmware-help>div:first-child p{font-size:14px;line-height:1.85}.firmware-faq [data-slot=accordion-trigger]{font-size:14px;padding-block:21px}.firmware-recovery{background:#fcf9f2;border-color:#e9d8b5;box-shadow:none;padding:0}.firmware-recovery>div{padding:28px 32px}.firmware-recovery h3{font-size:23px;font-weight:600}.firmware-recovery p{font-size:13px;line-height:1.9;max-width:940px}.firmware-recovery [data-slot=badge]{color:#795c28;border-color:#e3d2b1}.firmware-methodology{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;padding:65px 0 35px;margin-top:60px;border-top:1px solid var(--border)}.firmware-methodology p{font-size:13px;line-height:1.9}.firmware-source-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:22px}.firmware-source-links a{font-size:12px}.firmware-comments{max-width:850px;margin-inline:auto}@media(max-width:800px){.firmware-hero{gap:24px;grid-template-columns:1.5fr 1fr}.firmware-hero-art{min-height:260px;padding:16px}.firmware-art-readout{flex-direction:column}.firmware-latest{gap:10px}.firmware-latest-card>div{padding:16px 12px}.firmware-latest-version{font-size:12px}.firmware-help,.firmware-methodology{gap:35px}.firmware-explorer{padding:20px}.firmware-date-col{width:120px}.firmware-evidence-col{width:135px}.firmware-chart{gap:6px}}@media(max-width:600px){.firmware-hero{grid-template-columns:1fr;padding-top:18px;padding-bottom:32px;gap:28px}.firmware-hero h1{font-size:48px;letter-spacing:-2.5px}.firmware-hero-art{display:none}.firmware-hero-actions{gap:16px}.firmware-hero-actions a{font-size:12px}.firmware-latest-heading{display:block;margin-bottom:16px}.firmware-latest{grid-template-columns:1fr}.firmware-latest-card>div{padding:18px}.firmware-latest-version{min-height:0;font-size:14px;margin:16px 0 8px}.firmware-card-bottom{margin-top:15px}.firmware-context-note{padding-bottom:24px}.firmware-explorer{padding:16px 12px;margin-inline:-3px}.firmware-section-heading h2{font-size:24px}.firmware-section-heading>button{font-size:11px;padding-inline:9px}.firmware-eyebrow{font-size:9px}.firmware-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.firmware-tabs>button{justify-content:space-between;font-size:12px;padding-inline:10px}.firmware-activity{padding:16px 10px}.firmware-legend{gap:9px;font-size:9px}.firmware-chart{gap:2px;height:170px}.firmware-chart-month{padding-inline:2px}.firmware-chart-track{width:min(100%,16px);height:100px}.firmware-chart-label,.firmware-chart-total{font-size:8px}.firmware-filters{grid-template-columns:1fr 1fr;gap:12px}.firmware-search{grid-column:1/-1}.firmware-table td{padding:12px 4px}.firmware-table th{padding-inline:4px;font-size:8px;white-space:normal}.firmware-date-col{width:73px}.firmware-table td:first-child{font-size:10px}.firmware-evidence-col{width:58px}.firmware-evidence-label{display:none}.firmware-evidence-mobile{display:inline}.firmware-evidence-button{font-size:9px;padding-inline:2px;gap:2px}.firmware-version{gap:6px;align-items:flex-start;flex-wrap:wrap}.firmware-version code{font-size:12px}.firmware-version>.firmware-copy-button{display:inline-flex;min-height:44px;padding-inline:10px}.firmware-source-list{padding:4px}.firmware-source-list>div{grid-template-columns:1fr;gap:4px}.firmware-pagination{font-size:10px}.firmware-help,.firmware-methodology{grid-template-columns:1fr;gap:25px}.firmware-help{padding:50px 0 35px}.firmware-recovery>div{padding:24px 20px}.firmware-methodology{margin-top:40px;padding-top:40px}}@media(prefers-reduced-motion:reduce){.firmware-copy-button{transition:none}.firmware-copy-button:active,.firmware-copy-button:hover{transform:none}.firmware-copy-button[data-state=copied] .firmware-copy-feedback,.firmware-copy-check{animation:none}.firmware-copy-button[data-state=copied] .firmware-copy-feedback:after{display:none;animation:none}}