/* Scoped firmware components; existing PXLSec tokens, fonts and controls remain authoritative. */
.fw-hero{padding-bottom:3.5rem}.fw-hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(2rem,4vw,4.8rem);align-items:center}.fw-hero h1{font-size:clamp(2.6rem,4.4vw,4.6rem);max-width:14ch;line-height:1.06;text-wrap:balance}.fw-hero:lang(bg) h1{font-size:clamp(2.35rem,3.7vw,4rem);max-width:18ch}.fw-hero .lead{max-width:58ch}.fw-hero .cta{align-items:center;gap:1.4rem;flex-wrap:wrap}.fw-text-link{color:#ffb080;text-underline-offset:5px}.fw-hero-note{font-size:.9rem;line-height:1.6;color:#aeb5bd;max-width:55ch;margin-top:1.4rem}.fw-lab{min-width:0;overflow:hidden;border:1px solid #35404a;border-radius:12px;background:radial-gradient(ellipse at 50% 35%,#34231c66,transparent 60%),#101418;box-shadow:0 18px 80px #0003}.fw-lab-bar{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid #30383e;font:500 .7rem/1.5 'IBM Plex Mono',monospace;letter-spacing:.07em;color:#bec7cf}.fw-lab-status{color:#ffae7d}.fw-board{display:block;width:100%;height:auto}.fw-mode-controls{display:flex;border-block:1px solid #30383e;padding:.8rem 1.2rem;gap:.45rem}.fw-mode-controls[hidden]{display:none}.fw-mode-controls button{font:inherit;font-size:.82rem;border:1px solid transparent;background:transparent;color:#b4bec6;border-radius:5px;padding:.65rem .8rem;cursor:pointer}.fw-mode-controls button[aria-selected=true]{background:#30241e;border-color:#b86a42;color:#ffbd96}.fw-mode{padding:1.4rem 1.6rem}.fw-mode[hidden]{display:none}.fw-mode h3{font-size:clamp(1.15rem,1.8vw,1.55rem);margin:.55rem 0 .7rem;color:#f3f4f6;line-height:1.3}.fw-mode p:not(.fw-mono){font-size:.92rem;line-height:1.65;margin:0;color:#b9c1c8}.fw-mono{font:500 .66rem/1.6 'IBM Plex Mono',monospace;letter-spacing:.07em;color:#ffad7b}.fw-mode-panels.fw-enhanced{min-height:220px}.fw-traces{stroke-dasharray:7 24;animation:fw-flow 5s linear infinite}@keyframes fw-flow{to{stroke-dashoffset:-124}}.fw-proof{border-block:1px solid #30343a;background:#101214}.fw-proof>.wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-block:1.7rem}.fw-proof b,.fw-proof span{display:block}.fw-proof b{font-family:Manrope,sans-serif;font-size:1rem;font-weight:550;color:#f0f2f5}.fw-proof span{font-size:.85rem;color:#aeb4bc;margin-top:.4rem;line-height:1.5}.fw-boundary-note{align-self:center;background:#161b20;border:1px solid #353e45;border-left:2px solid #ff9b60;border-radius:6px;padding:2.1rem}.fw-boundary-note h3{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.3;margin:1rem 0}.fw-boundary-note p{color:#aeb8c1;line-height:1.75}.fw-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;padding:0;list-style:none}.fw-scope-grid .diff-card{margin:0}.fw-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.fw-option{border:1px solid #373e45;border-radius:7px;padding:2rem;display:flex;flex-direction:column;background:#14181c}.fw-number{font:400 2.8rem/1.2 Manrope,sans-serif;color:#ffa46e}.fw-option h3{font-size:1.65rem;line-height:1.25;margin:1.1rem 0}.fw-option p{color:#b0b9c2;line-height:1.75}.fw-option-note{font-size:.85rem;border-top:1px solid #38414a;padding-top:1.2rem;margin-top:auto!important}.fw-report{background:radial-gradient(ellipse at 20% 50%,#36231c66,transparent 55%),#111518;border-block:1px solid #303940}.fw-report-grid{display:grid;grid-template-columns:.72fr 1.2fr;align-items:center;gap:clamp(2.5rem,7vw,7rem)}.fw-report-cover{display:block;max-width:330px;margin-inline:auto;transform:rotate(-3deg);box-shadow:12px 22px 45px #0008;border:1px solid #5e4839;border-radius:3px;transition:transform .25s}.fw-report-cover:hover{transform:rotate(0)}.fw-report-cover img{width:100%;height:auto;display:block;border-radius:3px}.fw-report h2{max-width:16ch}.fw-report .lead{font-size:1.15rem}.fw-sample-note{font-size:.88rem;line-height:1.65;color:#abb7c0;border-left:2px solid #ce8254;padding-left:1rem;margin-block:1.6rem}.fw-lab button:focus-visible,.fw-report-cover:focus-visible{outline:2px solid #ffc598;outline-offset:5px}
@media(max-width:1000px){.fw-hero-grid{grid-template-columns:1fr}.fw-hero h1{max-width:18ch}.fw-lab{max-width:720px;width:100%}.fw-mode-panels.fw-enhanced{min-height:190px}.fw-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-options{grid-template-columns:1fr}.fw-option{padding:1.7rem}.fw-report-grid{grid-template-columns:.8fr 1.2fr;gap:2.5rem}}
@media(max-width:650px){.fw-hero{padding-top:2.5rem}.fw-hero .cta{align-items:stretch;flex-direction:column;gap:1.15rem}.fw-hero .btn{text-align:center;white-space:normal}.fw-hero .fw-text-link{align-self:flex-start}.fw-lab-bar{padding:.9rem 1rem;font-size:.6rem}.fw-lab-status{max-width:50%;text-align:right}.fw-mode-controls{padding:.65rem;gap:.15rem}.fw-mode-controls button{padding:.6rem .55rem;flex:1;line-height:1.4}.fw-mode{padding:1.2rem}.fw-mode-panels.fw-enhanced{min-height:250px}.fw-lab-caption span{max-width:60%}.fw-proof>.wrap{grid-template-columns:1fr;gap:1.2rem}.fw-proof b{font-size:.95rem}.fw-proof span{margin-top:.15rem}.fw-scope-grid{grid-template-columns:1fr}.fw-boundary-note{padding:1.5rem}.fw-report-grid{grid-template-columns:1fr;gap:3rem}.fw-report-cover{max-width:240px}.fw-report h2{max-width:none}.fw-report .btn{white-space:normal}.fw-number{font-size:2.3rem}.fw-option h3{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.fw-traces{animation:none}.fw-report-cover{transition:none;transform:none}}

.fw-lab[data-fw-mode="0"] [data-fw-node="0"],.fw-lab[data-fw-mode="1"] [data-fw-node="1"],.fw-lab[data-fw-mode="2"] [data-fw-node="2"]{stroke:#ffad7b;fill:#32241d;stroke-width:2}
.fw-boundary-note,.fw-option,.fw-report{color:#edf0f4}.fw-boundary-note h3,.fw-option h3,.fw-report h2{color:#edf0f4}.fw-report .lead,.fw-report .checks{color:#b7c1ca}
