:root{--bg:#101113;--panel:#17191b;--panel2:#1d2022;--line:#303336;--muted:#8f9498;--text:#f4f3ef;--orange:#ff6a1a;--orange2:#ff8a42;--green:#9ef2b5;--font:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}body.modal-open{overflow:hidden}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.scroll-progress{height:2px;width:0;position:fixed;left:0;top:0;background:var(--orange);z-index:100}.site-header{height:82px;position:sticky;top:0;z-index:30;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c;background:#101113d9;backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.11em;font-size:13px;white-space:nowrap}.brand>span>span{color:var(--orange)}.brand-icon{width:32px;height:32px;object-fit:contain}.main-nav{display:flex;gap:35px}.main-nav a,.social-link{color:#aeb1b3;text-decoration:none;font-size:11px;transition:color .25s}.main-nav a:hover,.social-link:hover{color:var(--orange)}.header-actions{display:flex;gap:18px}.social-link{display:flex;align-items:center;gap:7px}.social-link svg,.footer-social svg{width:17px;height:17px;display:block}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:21px;height:2px;background:#eee;margin:5px}.hero{min-height:calc(100vh - 82px);padding:80px 5% 28px;display:grid;grid-template-columns:1fr .9fr;column-gap:6%;position:relative;align-items:center;background:radial-gradient(ellipse at 72% 35%,#ff6a1a12,transparent 42%)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(#000,transparent 88%);pointer-events:none}.hero-copy{position:relative;z-index:2;padding-bottom:20px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:800;letter-spacing:.2em;color:#a5a8ab}.eyebrow-dot,.live-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ff6a1a1a;display:inline-block}.hero h1{font-size:clamp(44px,5.4vw,77px);line-height:1.07;letter-spacing:-.075em;margin:26px 0 22px;font-weight:800}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #f5f5f2}.hero h1 span{color:var(--orange)}.hero-lead{font-size:13px;line-height:1.9;color:#a7aaad;max-width:505px}.hero-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 19px;border:1px solid transparent;font:800 11px var(--font);cursor:pointer;text-decoration:none;transition:transform .28s,background .28s,border-color .28s,color .28s;clip-path:polygon(0 0,94% 0,100% 18%,100% 100%,6% 100%,0 82%)}.btn span{font-size:16px;font-weight:500}.btn:hover{transform:translateY(-3px)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--orange);color:#111}.btn.primary:hover{background:var(--orange2)}.btn.secondary{background:transparent;border-color:#414447;color:#f3f3ef}.btn.secondary:hover{border-color:var(--orange);color:var(--orange)}.hero-metrics{display:flex;gap:35px;margin-top:42px}.hero-metrics div{display:grid;gap:6px}.hero-metrics b{font-size:21px;letter-spacing:-.04em}.hero-metrics span{font-size:8px;color:#7e8387;letter-spacing:.16em}.hero-visual{height:520px;position:relative;display:grid;place-items:center;perspective:1000px}.visual-grid{position:absolute;inset:4% 0 8%;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,#000 0%,transparent 68%)}.orbit{position:absolute;border:1px solid #ff6a1a3a;border-radius:50%;aspect-ratio:1;animation:orbitSpin 35s linear infinite}.orbit-one{width:min(390px,90%)}.orbit-two{width:min(315px,75%);border-style:dashed;animation-direction:reverse;animation-duration:48s}.device-frame{position:relative;width:165px;height:254px;display:grid;place-items:center;transform-style:preserve-3d;transition:transform .15s ease-out;z-index:2}.hero-stick{width:100%;height:100%;object-fit:contain;filter:drop-shadow(25px 28px 18px #0009)}.device-tag{position:absolute;background:#151719;border:1px solid #3a3c3d;padding:9px 11px;font:700 8px monospace;letter-spacing:.12em;white-space:nowrap}.tag-top{top:15px;left:-60px;color:var(--orange)}.tag-bottom{bottom:18px;right:-85px;color:#bfc3c3}.tag-bottom i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8af0a4;margin-left:6px}.shlepa-hero{position:absolute;right:-1%;bottom:5%;width:155px;height:130px;object-fit:contain;z-index:3;filter:drop-shadow(0 14px 20px #0008);animation:floaty 5s ease-in-out infinite}.float-chip{position:absolute;z-index:4;background:#181a1b;border:1px solid #393b3c;padding:11px 13px;font:700 9px monospace;letter-spacing:.08em;color:#c5c7c8}.chip-one{top:15%;right:0;color:var(--orange)}.tiny-led{display:inline-block;width:5px;height:5px;background:#8af0a4;border-radius:50%;margin-right:7px}.chip-two{bottom:17%;left:0}.chip-two b{color:var(--orange);margin-left:15px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff16;padding-top:20px;margin-top:30px;font-size:8px;letter-spacing:.18em;color:#74797c}.hero-bottom b{color:var(--orange);margin-left:7px}.section{padding:105px 5%;border-top:1px solid #ffffff10}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-top h2,.teaser-copy h2{font-size:clamp(34px,4.4vw,57px);line-height:1.08;letter-spacing:-.065em;margin:14px 0 0}.section-top h2 span,.teaser-copy h2 span{color:var(--orange)}.section-top>p{font-size:12px;line-height:1.8;color:#999da0;max-width:350px;margin:0}.article-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.article-counter{font-size:10px;letter-spacing:.12em;color:#aaa}.article-counter i{font-style:normal;color:#555;margin:0 5px}.article-arrows{display:flex;gap:8px}.article-arrows button{width:42px;height:42px;border:1px solid #393c3e;background:transparent;color:#eee;font-size:18px;cursor:pointer;transition:.25s}.article-arrows button:hover{border-color:var(--orange);color:var(--orange)}.article-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 12px;scrollbar-width:none;overscroll-behavior-x:contain}.article-track::-webkit-scrollbar{display:none}.article-card{scroll-snap-align:start;min-width:0;position:relative;background:var(--panel);border:1px solid #303336;display:flex;flex-direction:column;transition:border-color .3s,transform .3s;overflow:hidden}.article-card:hover{border-color:#6d412d;transform:translateY(-3px)}.article-card-top{display:flex;justify-content:space-between;align-items:center;padding:20px 21px 0}.article-index,.article-meta{font-size:8px;letter-spacing:.17em;color:#888e91;font-weight:800}.article-mark{font-size:13px;color:var(--orange);border:1px solid #5a3323;padding:6px 9px}.article-visual{height:170px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#ff6a1a14,transparent 65%)}.article-rings{position:absolute;width:150px;aspect-ratio:1;border:1px solid #ff6a1a44;border-radius:50%;animation:orbitSpin 30s linear infinite}.article-rings:before,.article-rings:after{content:"";position:absolute;inset:16px;border:1px dashed #ff6a1a45;border-radius:50%}.article-rings:after{inset:-18px;border-style:solid;opacity:.4}.article-device{position:relative;width:70px;height:100px;background:linear-gradient(110deg,#9d2522,#ef4938);border:2px solid #f5806d;border-radius:13px;box-shadow:12px 15px 0 #0006;display:grid;place-items:center;font-size:31px;font-weight:800;color:#fff;transform:rotate(-8deg)}.article-device span{position:absolute;right:-14px;top:4px;color:var(--orange);font-size:20px}.cat-mark{background:linear-gradient(120deg,#ba9a2b,#e0c455);border-color:#f3da76;color:#151515}.nemo-mark{background:linear-gradient(120deg,#343a3e,#686f73);border-color:#a1a6aa}.article-content{padding:0 22px 23px;display:flex;flex-direction:column;flex:1}.article-content h3{font-size:22px;letter-spacing:-.04em;margin:9px 0 10px}.article-content>p,.article-extra p{font-size:11px;line-height:1.8;color:#a1a5a8;margin:0 0 20px}.read-more{margin-top:auto;align-self:flex-start;display:flex;gap:18px;align-items:center;background:transparent;border:0;border-bottom:1px solid #4a4d4e;padding:10px 0;color:#f2f2ee;font:800 10px var(--font);cursor:pointer;transition:.2s}.read-more span{color:var(--orange);font-size:15px}.read-more:hover{color:var(--orange);border-color:var(--orange)}.article-extra{padding-top:12px;border-top:1px solid #303335;margin-bottom:14px}.article-extra p{margin:0}.article-foot{display:flex;justify-content:space-between;margin-top:20px;color:#777d80;font-size:8px;letter-spacing:.16em}.article-foot b{color:var(--orange);margin-left:6px}.flasher-teaser{background:linear-gradient(140deg,#151515,#111213 55%,#1a120d);overflow:hidden}.teaser-grid{display:grid;grid-template-columns:1fr .8fr;gap:8%;align-items:center}.teaser-copy>p{max-width:450px;color:#a0a4a7;font-size:12px;line-height:1.9;margin:20px 0 22px}.teaser-note{display:flex;gap:12px;align-items:flex-start;max-width:460px;margin-top:28px;color:#83898d;font-size:10px;line-height:1.8}.note-icon{flex:0 0 22px;height:22px;border:1px solid #56595b;display:grid;place-items:center;color:var(--orange);font-weight:800}.teaser-art{height:350px;position:relative;display:grid;place-items:center}.teaser-ring{position:absolute;width:270px;aspect-ratio:1;border:1px solid #ff6a1a45;border-radius:50%;animation:orbitSpin 36s linear infinite}.teaser-ring:before{content:"";position:absolute;inset:25px;border:1px dashed #ff6a1a45;border-radius:50%}.teaser-stick{position:relative;width:165px;height:250px;object-fit:contain;filter:drop-shadow(20px 22px 18px #0009);z-index:2;transform:rotate(7deg);animation:floaty 6s ease-in-out infinite}.teaser-terminal{position:absolute;right:0;bottom:5%;z-index:3;width:220px;background:#17191b;border:1px solid #3a3c3e;padding:13px 14px;box-shadow:0 15px 35px #0006}.teaser-terminal>span{font:700 8px monospace;color:var(--orange);letter-spacing:.08em}.teaser-terminal>b{display:flex;gap:4px;margin:10px 0 13px}.teaser-terminal>b i{display:block;height:3px;flex:1;background:#4a4e50}.teaser-terminal>b i:first-child{background:var(--orange)}.teaser-terminal small{font-size:8px;color:#777e81;display:flex;justify-content:space-between}.teaser-terminal strong{color:#a6edb7}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 5%;border-top:1px solid #ffffff13;flex-wrap:wrap}.footer-social{display:flex;gap:22px;flex-wrap:wrap}.footer-social a{display:flex;align-items:center;gap:8px;color:#aeb1b3;text-decoration:none;font-size:10px}.footer-social a:hover{color:var(--orange)}.site-footer>p{font-size:10px;color:#a3a7a9;text-align:right;margin:0}.site-footer>p strong{color:var(--orange)}.site-footer>p small{display:block;margin-top:7px;color:#686d70;font-size:8px;letter-spacing:.12em}
/* Modal / wizard */
.flasher-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.flasher-overlay.open{opacity:1;visibility:visible}.overlay-backdrop{position:absolute;inset:0;background:#08090bf2;backdrop-filter:blur(14px)}.flasher-window{position:relative;width:min(100%,1050px);height:min(850px,calc(100dvh - 44px));display:flex;flex-direction:column;background:#17191b;border:1px solid #3a3d3f;box-shadow:0 35px 120px #000b;transform:translateY(20px) scale(.985);transition:transform .4s cubic-bezier(.2,.8,.2,1);overflow:hidden}.flasher-overlay.open .flasher-window{transform:translateY(0) scale(1)}.cut-corners{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px))}.wizard-header{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;border-bottom:1px solid #ffffff12}.wizard-status{display:flex;align-items:center;gap:9px;font:700 8px monospace;letter-spacing:.12em;color:#8d9496}.live-dot{width:6px;height:6px;box-shadow:0 0 0 4px #ff6a1a18;animation:pulse 1.8s infinite}.close-wizard{width:36px;height:36px;border:1px solid #46494a;background:#222527;color:#f1f1ed;display:grid;place-items:center;cursor:pointer;transition:.2s}.close-wizard svg{width:18px;height:18px;display:block}.close-wizard:hover{border-color:var(--orange);color:var(--orange)}.close-wizard:disabled{opacity:0;pointer-events:none}.wizard-progress{height:2px;background:#292c2e;flex:0 0 2px}.wizard-progress span{display:block;height:100%;width:16.6%;background:var(--orange);transition:width .4s}.wizard-body{padding:30px clamp(20px,4vw,48px) 20px;overflow:auto;flex:1;scrollbar-color:#45484a transparent;scrollbar-width:thin}.wizard-intro{margin-bottom:24px}.wizard-intro h2{font-size:clamp(27px,3vw,39px);letter-spacing:-.06em;margin:11px 0 8px}.wizard-intro h2 span{color:var(--orange)}.wizard-intro p{color:#969b9e;font-size:11px;line-height:1.7;margin:0}.wizard-step{display:none;animation:stepIn .35s ease both}.wizard-step.active{display:block}.device-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.device-choice{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:#1c1f21;border:1px solid #373a3c;padding:16px;text-align:left;color:#eee;cursor:pointer;transition:transform .25s,border-color .25s,background .25s;overflow:hidden}.device-choice:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff6a1a08,transparent 55%);pointer-events:none}.device-choice:hover{border-color:var(--orange);transform:translateY(-3px);background:#222426}.device-choice img{height:185px;width:100%;object-fit:contain;margin:8px 0 12px;filter:drop-shadow(0 14px 10px #0005)}.choice-number{font-size:8px;letter-spacing:.13em;color:#8e9497}.device-choice strong{font-size:12px}.device-choice small{font-size:8px;letter-spacing:.12em;color:#777f82;margin-top:7px}.choice-arrow{position:absolute;right:14px;bottom:16px;color:var(--orange);font-size:17px}.selected-device-line{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #363a3c;background:#1c1f21;margin-bottom:17px}.selected-device-line img{width:48px;height:60px;object-fit:contain}.selected-device-line>div{display:grid;gap:5px;flex:1;min-width:0}.selected-device-line small,.summary-item small{font-size:8px;letter-spacing:.12em;color:#8c9295}.selected-device-line b{font-size:12px}.text-button{background:transparent;border:0;color:var(--orange);font:700 10px var(--font);cursor:pointer}.safe-firmware-note{border-left:2px solid var(--orange);background:#201c19;padding:13px 15px;margin-bottom:20px}.safe-firmware-note>b{font-size:10px}.safe-firmware-note p{font-size:10px;line-height:1.7;color:#a9a5a0;margin:7px 0 0}.field{display:grid;gap:10px;margin-bottom:18px}.field>label:first-child{font-size:8px;letter-spacing:.15em;color:#a0a5a8;font-weight:800}.file-picker{min-height:72px;display:flex;align-items:center;gap:13px;padding:14px;border:1px dashed #505456;background:#121416;cursor:pointer;transition:border-color .2s}.file-picker:hover{border-color:var(--orange)}.file-plus{width:35px;height:35px;display:grid;place-items:center;background:#ff6a1a17;color:var(--orange);font-size:23px}.file-picker>span:nth-child(2){display:grid;gap:5px;min-width:0}.file-picker b{font-size:11px;overflow-wrap:anywhere}.file-picker small{font-size:9px;color:#83898c}.file-picker input{display:none}.file-warning{display:flex;align-items:flex-start;gap:10px;color:#b8a18f;background:#201a17;border:1px solid #463026;padding:12px;margin-bottom:20px}.file-warning>span{font-weight:800;color:var(--orange);border:1px solid #754021;width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;font-size:11px}.file-warning p{font-size:9px;line-height:1.7;margin:0}.file-warning code{color:#f2b88f}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.wizard-actions .btn{min-width:140px}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.summary-grid{display:grid;grid-template-columns:1fr 1.5fr .8fr;gap:10px;margin-bottom:18px}.summary-item{display:grid;gap:8px;padding:14px;background:#1c1f21;border:1px solid #35393a;min-width:0}.summary-item b{font-size:10px;overflow-wrap:anywhere}.erase-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#201e1b;border:1px solid #45352b;cursor:pointer;margin-bottom:20px}.erase-option input{position:absolute;opacity:0}.custom-check{width:19px;height:19px;flex:0 0 19px;border:1px solid #777;background:#111;margin-top:1px;position:relative}.erase-option input:checked+.custom-check{background:var(--orange);border-color:var(--orange)}.erase-option input:checked+.custom-check:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#111;font-weight:800;font-size:13px}.erase-option>span:last-child{display:grid;gap:7px}.erase-option b{font-size:10px}.erase-option small{font-size:9px;line-height:1.7;color:#9a9da0}.connection-box{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #373b3d;background:#111315}.connection-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #46494b;color:var(--orange);font-size:24px}.connection-box>div{flex:1;min-width:0}.connection-box b{font-size:11px}.connection-box p{font-size:9px;color:#969c9f;line-height:1.7;margin:6px 0 0}.connection-state{font:700 8px monospace;letter-spacing:.1em;color:#858b8e}.connection-box.connected{border-color:#477454}.connection-box.connected .connection-icon{color:var(--green);border-color:#477454}.connection-box.connected .connection-state{color:var(--green)}.port-help{font-size:9px;line-height:1.8;color:#737a7d;margin-top:14px}.ready-visual{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#111315;border:1px solid #363a3b;padding:12px 20px}.ready-visual img{width:125px;height:92px;object-fit:contain}.ready-visual>div{font:700 9px monospace;letter-spacing:.1em;color:var(--green);display:flex;align-items:center;gap:10px}.ready-title{font-size:23px;letter-spacing:-.04em;margin:20px 0 8px}.ready-copy{font-size:11px;line-height:1.8;color:#9ca1a3}.final-warning{display:grid;gap:6px;padding:14px 16px;border-left:2px solid var(--orange);background:#201a17;margin-top:17px}.final-warning b{font-size:10px;color:#ffc5a0}.final-warning span{font-size:9px;line-height:1.7;color:#a9a09a}.progress-card{background:#121416;border:1px solid #383c3e;padding:clamp(17px,3vw,28px);position:relative;overflow:hidden}.progress-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ff6a1a09,transparent 50%);pointer-events:none}.progress-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.progress-card-top h3{font-size:clamp(18px,2.2vw,25px);letter-spacing:-.04em;margin:9px 0}.flash-shlepa{width:115px;height:85px;object-fit:contain}.percent-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:22px}.percent-row strong{font-size:39px;letter-spacing:-.07em;color:var(--orange)}.percent-row span{font-size:10px;color:#9ba0a2;text-align:right}.progress-track{height:8px;background:#2c3032;margin-top:10px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#ff6a1a,#ffad6f);transition:width .18s;box-shadow:0 0 18px #ff6a1a55}.progress-foot{display:flex;justify-content:space-between;gap:12px;font:8px monospace;color:#737b7e;margin-top:11px}.dont-disconnect{font-size:9px;line-height:1.8;color:#9b9fa1;margin:24px 0 0;padding-top:16px;border-top:1px solid #303436}.flash-complete,.flash-error{margin-top:17px;padding:14px;display:grid;gap:6px;background:#15221a;border:1px solid #31583d}.flash-complete b{font-size:11px;color:var(--green)}.flash-complete span{font-size:9px;line-height:1.6;color:#a5b6a9}.flash-error{background:#271916;border-color:#754033}.flash-error b{font-size:11px;color:#ffb19b}.flash-error span{font-size:9px;color:#b9a5a0;line-height:1.7}.wizard-footer{flex:0 0 42px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 28px;border-top:1px solid #ffffff12;color:#686f72;font:700 8px monospace;letter-spacing:.1em}.wizard-footer span:last-child{color:#999fa1}.flash-actions{justify-content:flex-end}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes floaty{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-11px) rotate(2deg)}}@keyframes pulse{50%{box-shadow:0 0 0 7px #ff6a1a08;opacity:.65}}@keyframes stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.site-header{height:70px}.main-nav{gap:18px}.hero{min-height:auto;padding-top:62px;grid-template-columns:1fr .8fr;gap:3%}.hero h1{font-size:clamp(42px,6vw,60px)}.hero-visual{height:430px}.device-frame{width:145px;height:223px}.shlepa-hero{width:115px;height:105px}.tag-top{left:-35px}.tag-bottom{right:-50px}.section{padding:80px 5%}.section-top{align-items:flex-start;flex-direction:column}.section-top>p{max-width:540px}.teaser-grid{gap:3%}.teaser-terminal{right:-10px}.wizard-window{height:min(820px,calc(100dvh - 28px))}.flasher-overlay{padding:14px}}
@media(max-width:620px){.site-header{height:64px}.brand{font-size:11px;gap:7px}.brand-icon{width:28px;height:28px}.main-nav{display:none;position:absolute;top:63px;left:0;right:0;padding:18px 5%;background:#151719;border-bottom:1px solid #333;flex-direction:column;gap:18px}.main-nav.open{display:flex}.header-actions{margin-left:auto;margin-right:12px;gap:12px}.social-link span{display:none}.social-link svg{width:18px;height:18px}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;align-items:stretch;padding:52px 5% 25px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(42px,12vw,60px);margin:20px 0 17px}.hero-lead{font-size:12px}.hero-metrics{margin-top:30px;gap:25px}.hero-visual{height:360px;margin-top:10px}.device-frame{width:125px;height:192px}.orbit-one{width:285px}.orbit-two{width:225px}.shlepa-hero{right:0;bottom:2%;width:105px;height:88px}.chip-one{right:0;top:10%}.chip-two{left:0;bottom:13%}.tag-top{left:-25px;top:3px}.tag-bottom{right:-45px;bottom:8px}.hero-bottom{margin-top:14px;font-size:7px;gap:10px}.hero-bottom span:nth-child(2){display:none}.section{padding:65px 5%}.section-top h2,.teaser-copy h2{font-size:38px}.article-track{grid-auto-columns:minmax(270px,88%);gap:12px}.article-visual{height:145px}.article-foot{font-size:7px}.teaser-grid{grid-template-columns:1fr}.teaser-art{height:280px;margin-top:20px}.teaser-ring{width:230px}.teaser-stick{height:210px;width:140px}.teaser-terminal{right:0;bottom:0;width:200px}.site-footer{align-items:flex-start;flex-direction:column;gap:22px}.footer-social{flex-direction:column;gap:13px}.site-footer>p{text-align:left}.flasher-overlay{padding:0;place-items:stretch}.flasher-window{width:100%;height:100dvh;max-height:none;clip-path:none;border:0}.wizard-header{height:62px;flex-basis:62px;padding:0 16px}.wizard-status{font-size:7px}.wizard-body{padding:23px 16px 18px}.wizard-intro{margin-bottom:19px}.wizard-intro h2{font-size:29px}.wizard-intro p{font-size:10px}.device-choice-grid{grid-template-columns:1fr;gap:9px}.device-choice{min-height:112px;padding:12px 12px 12px 110px;justify-content:center}.device-choice img{position:absolute;left:9px;top:14px;width:88px;height:94px;margin:0}.device-choice strong{font-size:11px;margin-top:7px}.choice-number{font-size:7px}.device-choice small{font-size:7px}.choice-arrow{right:12px;bottom:13px}.wizard-footer{flex-basis:36px;padding:0 16px;font-size:7px}.wizard-actions{gap:8px}.wizard-actions .btn{min-width:0;flex:1;padding:0 12px;gap:10px;font-size:10px}.summary-grid{grid-template-columns:1fr 1fr}.summary-item:first-child{grid-column:1/-1}.connection-box{align-items:flex-start;flex-wrap:wrap}.connection-state{margin-left:51px}.ready-visual{padding:8px 12px}.ready-visual img{width:95px;height:78px}.ready-visual>div{font-size:8px}.ready-title{font-size:21px}.percent-row strong{font-size:33px}.percent-row span{font-size:9px}.flash-shlepa{width:82px;height:68px}.progress-card-top{gap:8px}.progress-foot{font-size:7px}.close-wizard{width:32px;height:32px}.selected-device-line img{width:38px;height:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v4 reliability and responsive fixes: never hide the whole page if animation JS is unavailable. */
html{scroll-behavior:smooth;scroll-padding-top:90px}
.reveal{opacity:1;transform:none}
.reveal.reveal-animate:not(.visible){opacity:0;transform:translateY(24px)}
.reveal.reveal-animate.visible{opacity:1;transform:translateY(0)}
.flasher-overlay{overflow-y:auto;overscroll-behavior:contain}
.flasher-window{min-height:0;max-height:calc(100dvh - 44px)}
.wizard-body{min-height:0;overscroll-behavior:contain}
.wizard-step{min-width:0}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:15px}
.project-card{min-width:0;display:flex;flex-direction:column;padding:19px;background:#1b1d1f;border:1px solid #35393b;transition:transform .25s,border-color .25s,background .25s;overflow:hidden}
.project-card:hover{transform:translateY(-3px);border-color:#7c472d;background:#202224}
.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.project-mark{display:grid;place-items:center;width:40px;height:40px;background:#ff6a1a16;border:1px solid #6d3c24;color:var(--orange);font-weight:800;font-size:12px;letter-spacing:-.04em}
.project-latest{font:700 7px monospace;letter-spacing:.12em;color:#858c8f;text-align:right}
.project-card h3{font-size:19px;letter-spacing:-.04em;margin:0 0 9px;overflow-wrap:anywhere}
.project-card>p{font-size:10px;line-height:1.8;color:#a2a7aa;margin:0 0 15px;flex:1}
.project-meta{min-height:30px;display:flex;align-items:center;font-size:9px;color:#8d9497;line-height:1.5;overflow-wrap:anywhere}
.project-meta b{color:#e9e9e4;font-weight:700}
.project-error{color:#e6a48a}
.project-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:13px;padding-top:13px;border-top:1px solid #ffffff10}
.project-actions .btn{min-height:38px;padding:0 12px;gap:12px;font-size:9px}
.project-actions>a,.release-notes-head>a{font-size:9px;color:#a8adb0;text-decoration:none;white-space:nowrap}
.project-actions>a:hover,.release-notes-head>a:hover{color:var(--orange)}
.release-status{display:flex;align-items:center;gap:9px;min-height:32px;color:#a1a6a8;font-size:10px;line-height:1.6}
.loading-dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid #ff9b69;border-top-color:transparent;animation:orbitSpin .7s linear infinite;flex:0 0 8px}
.field-hint{font-size:9px;line-height:1.7;color:#81888b;margin:0}
.select-wrap{position:relative;min-width:0}
.select-wrap select{appearance:none;width:100%;min-height:52px;padding:0 44px 0 14px;border:1px solid #44494b;border-radius:0;background:#111315;color:#f1f1ec;font:600 11px var(--font);outline:none;cursor:pointer}
.select-wrap select:focus{border-color:var(--orange);box-shadow:0 0 0 2px #ff6a1a20}
.select-wrap select option{background:#17191b;color:#f4f3ef}
.select-wrap>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--orange);pointer-events:none;font-size:18px}
.release-notes{border:1px solid #34383a;background:#111315;margin:16px 0 18px;min-width:0}
.release-notes-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #303436;font:700 8px monospace;letter-spacing:.13em;color:#999fa2}
#releaseNotes{padding:14px;max-height:170px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:9px;line-height:1.8;color:#a5aaac;scrollbar-color:#45484a transparent;scrollbar-width:thin}
.error-text{color:#ffad8c!important}
@media(max-width:850px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:620px){
  .hero{gap:0}
  .hero-visual{max-width:100%;overflow:visible}
  .hero h1{letter-spacing:-.065em}
  .hero-bottom span{font-size:6px;letter-spacing:.1em}
  .project-grid{grid-template-columns:1fr;gap:10px}
  .project-card:last-child:nth-child(odd){grid-column:auto}
  .project-card{padding:15px}
  .project-card-top{margin-bottom:12px}
  .project-card h3{font-size:18px}
  .project-card>p{font-size:11px}
  .flasher-overlay{padding:0;overflow:hidden}
  .flasher-window{height:100dvh;max-height:100dvh;min-height:0;width:100%;display:flex;flex-direction:column}
  .wizard-header{flex:0 0 62px;min-height:62px}
  .wizard-progress{flex:0 0 2px}
  .wizard-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:22px;-webkit-overflow-scrolling:touch}
  .wizard-footer{flex:0 0 36px;min-height:36px}
  .wizard-intro{margin-bottom:15px}
  .wizard-intro h2{font-size:28px}
  .device-choice-grid{grid-template-columns:1fr;gap:9px}
  .device-choice{min-height:105px;padding:12px 42px 12px 108px}
  .device-choice img{left:8px;top:8px;width:88px;height:88px}
  .device-choice strong{font-size:11px}
  .device-choice small{font-size:7px}
  .selected-device-line{gap:10px;padding:10px}
  .selected-device-line img{width:42px;height:48px}
  .selected-device-line b{font-size:10px}
  .selected-device-line small{font-size:7px}
  .text-button{font-size:9px;white-space:nowrap}
  .field{margin-bottom:14px}
  .select-wrap select{font-size:10px}
  .release-notes{margin:12px 0}
  #releaseNotes{max-height:145px;font-size:9px}
  .wizard-actions{position:relative;z-index:1;padding-bottom:4px}
  .wizard-actions .btn{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.reveal.reveal-animate:not(.visible){opacity:1;transform:none}}

/* v4.1 reliability and donation action */
[hidden]{display:none !important}
.support-link{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #ff6a1a66;background:#ff6a1a14;color:#ff8a42;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.support-link svg{width:14px;height:14px;display:block}
.support-link:hover{background:#ff6a1a26;border-color:var(--orange);transform:translateY(-1px)}
.support-link b{font-size:13px}
.footer-social .footer-donate{color:#ff8a42;border:1px solid #ff6a1a66;padding:9px 12px;background:#ff6a1a12}
.footer-social .footer-donate:hover{border-color:var(--orange);color:#ffad7b}
.footer-social .footer-donate svg{color:var(--orange)}
@media(max-width:850px){.site-header{padding-left:4%;padding-right:4%}.main-nav{gap:16px}.header-actions{gap:10px}.support-link{padding:8px 9px;font-size:9px}}
@media(max-width:620px){.site-header{gap:8px}.header-actions{gap:12px;margin-right:4px}.support-link{padding:8px;border:0;background:transparent}.support-link span{display:none}.support-link b{display:none}.support-link svg{width:19px;height:19px}.social-link span{display:none}.footer-social .footer-donate{display:inline-flex;align-items:center;gap:9px}}


/* v4.2: automatic firmware build selector, matching the existing visual system */
.auto-build-field { margin-top: 4px; }
.auto-build-status { border: 1px solid var(--line, rgba(255,255,255,.12)); border-radius: 12px; padding: 14px 16px; color: var(--muted, #a5a5a5); background: rgba(255,255,255,.025); font-size: .9rem; line-height: 1.55; overflow-wrap: anywhere; }
.auto-build-status.error-text { color: #ffb7a9; border-color: rgba(255,105,80,.35); }

/* v4.3 admin controls, scroll recovery, and simplified release picker */
.admin-trigger{border:1px solid #5b3928;background:#ff6a1a12;color:#ff9b67;padding:9px 11px;font:800 9px var(--font);letter-spacing:.12em;cursor:pointer;white-space:nowrap;transition:.2s}.admin-trigger:hover{background:#ff6a1a25;border-color:var(--orange)}
.admin-overlay{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:20px;background:#050607d9;backdrop-filter:blur(12px);overflow-y:auto}.admin-overlay.open{display:grid}.admin-panel{width:min(680px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;background:#141618;border:1px solid #3a3d3f;padding:clamp(18px,4vw,30px);box-shadow:0 25px 100px #0009}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.admin-head h2{font-size:clamp(25px,4vw,38px);letter-spacing:-.06em;margin:12px 0 18px}.admin-head h2 span{color:var(--orange)}.admin-login>p,.admin-warning{font-size:11px;line-height:1.8;color:#a5aaac}.admin-login label,.admin-form label{display:grid;gap:8px;margin:13px 0;font-size:9px;letter-spacing:.1em;color:#a5aaac;font-weight:800}.admin-login input,.admin-form input,.admin-form textarea,.admin-form select{width:100%;min-height:44px;background:#0e1011;color:#f5f5f1;border:1px solid #393d3f;padding:11px;font:500 12px var(--font);letter-spacing:normal}.admin-form textarea{resize:vertical}.admin-actions{margin-top:14px}.admin-warning{padding:12px;border-left:2px solid var(--orange);background:#241b16}.admin-firmware-list{display:grid;gap:10px;margin:12px 0 18px}.admin-firmware-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #35393b;background:#1b1d1f}.admin-firmware-item strong{font-size:11px}.admin-firmware-item small{display:block;color:#93999c;font-size:9px;margin-top:5px}.admin-firmware-item button{background:transparent;border:1px solid #754033;color:#ffab91;padding:8px;cursor:pointer}.admin-list-title{font-size:13px;margin-top:22px}.admin-message{color:#ffb08c;min-height:16px}.custom-firmware-card .project-mark{font-size:10px}.custom-firmware-card .project-meta{gap:6px;flex-wrap:wrap}.custom-download{font-size:9px;color:#ffad7b;text-decoration:none}.custom-version{color:#f2b08b;font-weight:800}.wizard-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.flasher-overlay.open{overflow-y:auto;touch-action:pan-y}.flasher-window{overflow:hidden}.wizard-body{flex:1 1 auto;min-height:0}.wizard-step.active{padding-bottom:14px}.field:has(#releaseSelect){display:none!important}.header-actions{align-items:center}
@media(max-width:620px){.admin-trigger{padding:8px;font-size:8px}.admin-overlay{padding:0;place-items:stretch}.admin-panel{max-height:100dvh;height:100dvh;width:100%;border:0;padding:20px 16px}.admin-firmware-item{align-items:flex-start}.wizard-body{overflow-y:auto!important;min-height:0!important}.flasher-overlay.open{overflow:hidden}.flasher-window{height:100dvh;max-height:100dvh}.admin-head h2{font-size:27px}}
/* ShlepaFlash v4.4 — route-based admin, independent scroll containers */
.admin-trigger{display:none!important}
.admin-overlay{position:fixed;inset:0;z-index:120;display:none;place-items:stretch;padding:0;background:#0d0f10;backdrop-filter:blur(18px);overflow:hidden;overscroll-behavior:contain}
.admin-overlay.open{display:flex}
.admin-panel{width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at 80% 0%,#ff6a1a0d,transparent 40%),#111315;border:0;padding:clamp(20px,4vw,48px) clamp(18px,5vw,72px);box-shadow:none;scrollbar-width:thin;scrollbar-color:#4b4e50 transparent}
.admin-head{position:sticky;top:-1px;z-index:4;padding:4px 0 14px;background:#111315f2;backdrop-filter:blur(12px);border-bottom:1px solid #ffffff12}
.admin-head h2{font-size:clamp(28px,4vw,48px)}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 22px;position:sticky;top:100px;z-index:3;padding:12px 0;background:#111315eF;backdrop-filter:blur(10px)}
.admin-tab{background:#1b1e20;border:1px solid #34383a;color:#aeb3b5;padding:12px 16px;font:700 10px var(--font);cursor:pointer;transition:.2s}
.admin-tab.active,.admin-tab:hover{border-color:var(--orange);color:#ffad7b;background:#ff6a1a12}
.admin-section{display:none;max-width:1000px;padding-bottom:60px}.admin-section.active{display:block}
.admin-section h3{font-size:20px;letter-spacing:-.04em;margin:20px 0}
.admin-warning{max-width:900px}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;max-width:1000px}
.admin-form label:nth-child(3),.admin-form label:nth-child(5),.admin-form .admin-form-actions{grid-column:1/-1}
.admin-form label{font-size:10px;letter-spacing:.04em}
.admin-form input,.admin-form textarea,.admin-form select,.admin-login input,#maintenanceReason{border-radius:2px;outline:none}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.admin-login input:focus,#maintenanceReason:focus{border-color:var(--orange)}
.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.admin-firmware-list{max-width:1000px}
.admin-firmware-item{align-items:center;min-height:76px}
.admin-row-actions{display:flex;gap:8px;flex-shrink:0}
.admin-row-actions button{background:transparent;border:1px solid #45494b;color:#eee;padding:9px 12px;cursor:pointer;font:700 10px var(--font)}
.admin-row-actions button:hover{border-color:var(--orange);color:#ffad7b}
.maintenance-toggle{display:flex;gap:12px;align-items:center;margin:22px 0;color:#eee;font-size:12px}
.maintenance-toggle input{accent-color:var(--orange);width:18px;height:18px}
.admin-field-label{display:grid;gap:10px;max-width:720px;margin:18px 0;color:#a5aaac;font-size:10px;font-weight:800;letter-spacing:.08em}
#maintenanceReason{width:100%;background:#0e1011;color:#f5f5f1;border:1px solid #393d3f;padding:14px;font:500 12px/1.7 var(--font);resize:vertical}
.maintenance-screen{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#7777771c,transparent 48%),linear-gradient(135deg,#161819,#252729 55%,#111314);color:#f2f2ee;padding:24px}
.maintenance-screen[hidden]{display:none!important}
.maintenance-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse,#000,transparent 78%);pointer-events:none}
.maintenance-orbit{position:absolute;width:min(65vw,620px);aspect-ratio:1;border:1px solid #bfc2c22a;border-radius:50%;animation:orbitSpin 42s linear infinite}
.maintenance-orbit:before,.maintenance-orbit:after{content:"";position:absolute;inset:35px;border:1px dashed #bfc2c226;border-radius:50%}.maintenance-orbit:after{inset:90px;border-style:solid}
.maintenance-content{position:relative;z-index:1;width:min(700px,100%);padding:clamp(28px,6vw,64px);background:#17191bd9;border:1px solid #ffffff1a;backdrop-filter:blur(15px);box-shadow:0 30px 100px #0005}
.maintenance-content h1{font-size:clamp(42px,8vw,76px);line-height:1.03;letter-spacing:-.07em;margin:24px 0}.maintenance-content h1 span{color:#b8bbbd}.maintenance-content p{color:#b3b7b9;font-size:14px;line-height:1.9;max-width:520px;white-space:pre-wrap}.maintenance-status{display:flex;align-items:center;gap:10px;margin-top:34px;color:#8e9497;font:700 9px monospace;letter-spacing:.12em}.maintenance-status i{width:6px;height:6px;border-radius:50%;background:#b6babd;box-shadow:0 0 0 5px #b6babd17;animation:pulse 1.7s infinite}
body.admin-open{overflow:hidden}
body.maintenance-open> :not(#maintenanceScreen):not(script){visibility:hidden!important}
body.maintenance-open #maintenanceScreen{visibility:visible!important}
.flasher-overlay{overflow:hidden!important;overscroll-behavior:contain!important;touch-action:auto}
.flasher-window{min-height:0}
.wizard-body{overflow-y:auto!important;overflow-x:hidden;min-height:0;flex:1 1 auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.admin-panel{padding:18px 15px 35px}.admin-tabs{top:72px}.admin-form{grid-template-columns:1fr}.admin-form label,.admin-form label:nth-child(3),.admin-form label:nth-child(5),.admin-form .admin-form-actions{grid-column:1}.admin-firmware-item{align-items:flex-start;flex-direction:column}.admin-row-actions{width:100%}.admin-row-actions button{flex:1}.maintenance-content{padding:28px 22px}.maintenance-orbit{width:90vw}.wizard-body{height:auto;max-height:none}}

/* v4.5 — independent modal scrolling, animated admin workspace, dynamic firmware cards */
html:has(.flasher-overlay.open),html:has(.admin-overlay.open),html:has(.firmware-modal.open){overscroll-behavior:none}
body.modal-open,body.admin-open,body.firmware-modal-open{overflow:hidden!important}
.flasher-overlay.open{display:grid;overflow:hidden!important;touch-action:auto}
.flasher-window{min-height:0;min-width:0;overflow:hidden}
.wizard-body{height:auto;max-height:none;min-height:0;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 transparent}
.admin-overlay.open{overflow:hidden!important;display:flex!important;overscroll-behavior:contain;touch-action:pan-y}
.admin-panel{height:100dvh;min-height:0;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 transparent}
.admin-section.active{animation:adminSectionIn .28s ease both}
@keyframes adminSectionIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:20px 0 24px}.admin-toolbar h3{margin:0}.admin-muted{color:#92999c;font-size:11px;line-height:1.7;max-width:760px}.admin-empty{padding:32px;border:1px dashed #45494b;background:#17191b}.admin-empty b{font-size:15px}.admin-empty p{color:#9ba1a4;font-size:11px}.admin-item-info{min-width:0;flex:1}.admin-row-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-row-actions button{border-color:#474b4d;color:#d9dddf}.admin-row-actions button:hover{border-color:var(--orange);color:#ffad7b}.firmware-modal{position:fixed;inset:0;z-index:150;display:none;place-items:center;padding:18px;overflow:hidden;overscroll-behavior:contain}.firmware-modal.open{display:grid}.firmware-modal-backdrop{position:absolute;inset:0;background:#050607df;backdrop-filter:blur(12px)}.firmware-modal-card{position:relative;z-index:1;width:min(860px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse at 90% 0%,#ff6a1a10,transparent 45%),#151719;border:1px solid #424648;padding:clamp(18px,4vw,34px);scrollbar-width:thin;scrollbar-color:#555 transparent;animation:adminSectionIn .25s ease both}.firmware-modal-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.firmware-modal-card h2{font-size:clamp(25px,4vw,38px);letter-spacing:-.06em;margin:10px 0}.firmware-modal-card h2 span{color:var(--orange)}.model-upload-grid{grid-column:1/-1;border:1px solid #34383a;padding:16px;background:#111315}.model-upload-grid h3{margin:0 0 5px;font-size:14px}.model-upload-grid>p{margin:0 0 14px}.model-upload{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr);align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ffffff12;color:#dce0e1;font-size:11px}.model-upload span{display:flex;align-items:center;gap:10px}.model-upload input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--orange)}.model-upload input[type=file],.model-upload input[type=url]{min-height:40px;padding:7px;font-size:10px;width:100%;min-width:0;background:#0e1011;border:1px solid #3b3f41;color:#e7e9ea;border-radius:3px}.model-upload input:disabled{opacity:.3}.firmware-details-modal{position:fixed;inset:0;z-index:160;display:none;place-items:center;padding:18px}.firmware-details-modal.open{display:grid}.firmware-details-backdrop{position:absolute;inset:0;background:#050607df;backdrop-filter:blur(10px)}.firmware-details-modal section{position:relative;width:min(680px,100%);max-height:85dvh;overflow:auto;overscroll-behavior:contain;background:#17191b;border:1px solid #424648;padding:clamp(22px,5vw,42px);animation:adminSectionIn .25s ease both}.firmware-details-modal .close-wizard{float:right}.firmware-details-modal h2{font-size:clamp(26px,5vw,42px);margin:18px 0 8px}.details-version{color:var(--orange);font-size:11px}.details-copy{white-space:pre-wrap;color:#c1c5c7;font-size:13px;line-height:1.9;margin-top:22px}.project-logo{width:42px;height:42px;object-fit:contain;border:1px solid #3b3f41;background:#101213;padding:5px}.article-custom-logo{display:block;width:66px;height:66px;object-fit:contain;transform:none}.article-device-logo{width:92px;height:92px;border-radius:50%;background:#151719;border:1px solid #ff6a1a70;box-shadow:0 0 0 8px #ff6a1a0b;transform:none;padding:10px}.article-device-logo .article-custom-logo{width:100%;height:100%}.articles-empty{width:100%;padding:32px;border:1px dashed #45494b;color:#969da0;font-size:12px}.article-card{animation:adminSectionIn .35s ease both}.boot-screen{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#101213;color:#f5f5f0;transition:opacity .4s,visibility .4s}.boot-screen.boot-hidden{opacity:0;visibility:hidden;pointer-events:none}.boot-logo{font-size:clamp(24px,5vw,38px);font-weight:800;letter-spacing:.1em}.boot-logo span{color:var(--orange)}.boot-track{width:min(280px,65vw);height:3px;background:#35393b;overflow:hidden}.boot-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#ff6a1a,#ffc092);box-shadow:0 0 15px #ff6a1a77;transition:width .18s}.boot-screen p{color:#8d9497;font-size:10px;letter-spacing:.04em;animation:bootPulse 1.4s ease-in-out infinite}@keyframes bootPulse{50%{opacity:.45}}
.ai-chat-list{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;min-height:360px}.ai-chat-list-side{display:flex;flex-direction:column;gap:7px;border-right:1px solid #ffffff12;padding-right:12px}.ai-chat-list-side button{border:1px solid #363a3c;background:#1b1e20;color:#c6cbcd;padding:10px;text-align:left;font:600 10px var(--font);cursor:pointer;overflow-wrap:anywhere}.ai-chat-list-side button.selected,.ai-chat-list-side button:hover{border-color:var(--orange);color:#ffad7b}.ai-chat-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px}.ai-chat-row button:last-child{text-align:center;color:#ff987a}.ai-chat-main{display:flex;flex-direction:column;min-width:0;border:1px solid #363a3c;background:#101213}.ai-messages{flex:1;min-height:250px;max-height:48vh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:12px;display:flex;flex-direction:column;gap:10px}.ai-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.75;padding:11px 13px;max-width:95%;border:1px solid #363a3c;background:#1b1e20}.ai-message.from-user{align-self:flex-end;border-color:#74452e;background:#281d17}.ai-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border-top:1px solid #ffffff12}.ai-form textarea{width:100%;min-height:45px;resize:vertical;background:#17191b;border:1px solid #363a3c;color:#fff;padding:10px;font:11px/1.6 var(--font)}.ai-form .btn{min-width:105px}.ai-status{font-size:10px}.header-extra-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.header-extra-links a,.footer-extra-links a{color:#c6cbcd;text-decoration:none;font-size:10px}.header-extra-links a:hover,.footer-extra-links a:hover{color:var(--orange)}
@media(max-width:700px){.admin-toolbar{align-items:flex-start}.firmware-modal{padding:0;place-items:stretch}.firmware-modal-card{height:100dvh;max-height:100dvh;width:100%;border:0;padding:22px 16px 36px}.model-upload{grid-template-columns:1fr}.ai-chat-list{grid-template-columns:1fr}.ai-chat-list-side{border-right:0;border-bottom:1px solid #ffffff12;padding:0 0 10px;max-height:150px;overflow:auto}.ai-messages{max-height:38vh}.ai-form{grid-template-columns:1fr}.ai-form .btn{width:100%}.admin-tabs{position:sticky;top:0}.admin-head{position:relative}.firmware-details-modal section{max-height:90dvh}.admin-toolbar .btn{width:100%}}


/* v5.0: mouse-wheel and trackpad scrolling inside overlays/panels */
.flasher-overlay.open,
.admin-overlay.open,
.firmware-modal.open,
.firmware-details-modal.open {
  overscroll-behavior: contain;
}
.wizard-body,
.admin-panel,
.firmware-modal-card,
.ai-chat-list-side,
.ai-messages {
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.wizard-body,
.admin-panel,
.firmware-modal-card {
  min-height: 0;
}
.ai-messages {
  min-height: 180px;
}


/* v5.5 — match custom firmware actions to the ShlepaFlash orange/transparent style */
.project-actions .custom-download,
.project-actions .custom-details {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,106,26,.72);
  border-radius: 3px;
  background: transparent;
  color: #ff8a42;
  font: 800 9px/1.2 var(--font);
  letter-spacing: .035em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.project-actions .custom-download:hover,
.project-actions .custom-details:hover {
  color: #fff;
  background: rgba(255,106,26,.14);
  border-color: var(--orange2);
}
.project-actions .custom-download:active,
.project-actions .custom-details:active {
  transform: translateY(1px);
  background: rgba(255,106,26,.24);
}
.project-actions .custom-download:focus-visible,
.project-actions .custom-details:focus-visible {
  outline: 2px solid var(--orange2);
  outline-offset: 3px;
}

/* Firmware preparation indicator: animate a lightweight progress line only while BIN is fetched. */
.connection-box.preparing .connection-icon{position:relative;overflow:hidden}
.connection-box.preparing .connection-icon::after{content:"";position:absolute;left:4px;right:4px;bottom:5px;height:2px;background:linear-gradient(90deg,transparent,var(--orange),#ffd0ad,var(--orange),transparent);background-size:200% 100%;animation:sfPrepareLine 1s linear infinite}
.connection-box.preparing .connection-state{color:var(--orange);animation:sfPreparePulse 1.1s ease-in-out infinite}
@keyframes sfPrepareLine{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes sfPreparePulse{50%{opacity:.45}}

.btn .btn-icon{width:16px;height:16px;display:block;flex-shrink:0}
.connection-icon svg{width:24px;height:24px;display:block}
.support-link .btn-icon{width:14px;height:14px}
.footer-social .btn-icon{width:14px;height:14px}
