/* ShlepaFlash Full Fix V3. Scoped: original WebFlasher card visuals/logo are intentionally untouched. */

/* Expanding icon-only search in the two original WebFlasher steps. */
.sf-v3-search{display:flex;align-items:center;gap:0;width:40px;max-width:100%;min-height:40px;margin:0 0 14px auto;overflow:hidden;border:1px solid transparent;transition:width .28s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s;}
.sf-v3-search.is-open{width:min(100%,360px);border-color:#3b3f41;background:#121416;}
.sf-v3-search-toggle{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #393d3f;background:#171a1c;color:#aeb4b7;cursor:pointer;transition:color .18s,border-color .18s,background .18s;}
.sf-v3-search-toggle:hover,.sf-v3-search.is-open .sf-v3-search-toggle{color:#ff8a42;border-color:#8a4d2c;background:#201915;}
.sf-v3-search-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.sf-v3-search-input{width:0;min-width:0;max-width:0;height:38px;padding:0;border:0;outline:0;background:transparent;color:#f4f3ef;font:500 11px Manrope,system-ui,sans-serif;opacity:0;transition:max-width .28s,width .28s,padding .28s,opacity .18s;}
.sf-v3-search.is-open .sf-v3-search-input{width:100%;max-width:100%;padding:0 12px;opacity:1;}
.sf-v3-search-input::placeholder{color:#777f82;}
.sf-v3-search input::-webkit-search-cancel-button{filter:grayscale(1);cursor:pointer;}

/* Only dock the existing action rows; original cards, icons, spacing and logo stay intact. */
#flasherOverlay .wizard-body.sf-v3-sticky-enabled{display:flex;flex-direction:column;min-height:0;overscroll-behavior:contain;}
#flasherOverlay .wizard-step.active{display:flex;flex:1 0 auto;flex-direction:column;min-height:100%;}
#flasherOverlay .wizard-step.active>.wizard-actions.sf-v3-sticky-actions{position:sticky;z-index:8;bottom:0;margin-top:auto;padding:12px 18px max(10px,env(safe-area-inset-bottom));background:#17191b;border-top:1px solid #2f3335;}
#flasherOverlay .wizard-step.active>.wizard-actions.sf-v3-sticky-actions .btn{flex:0 1 auto;}
@media(max-width:620px){#flasherOverlay .wizard-step.active>.wizard-actions.sf-v3-sticky-actions{gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));}#flasherOverlay .wizard-step.active>.wizard-actions.sf-v3-sticky-actions .btn{min-width:0;flex:1 1 0;white-space:normal;}}

/* The following overlay exists only after the native app.js handler accepts the Flash action. */
body.sf-v3-flashing{overflow:hidden!important;overscroll-behavior:none!important;}
.sf-v3-write-overlay{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:clamp(14px,3vw,32px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .4s ease,visibility .4s ease;}
.sf-v3-write-overlay[hidden]{display:none!important;}
.sf-v3-write-overlay.is-visible{visibility:visible;opacity:1;pointer-events:auto;}
.sf-v3-backdrop{grid-area:1/1;position:absolute;inset:0;background:rgba(9,10,11,.22);backdrop-filter:blur(0) saturate(1);-webkit-backdrop-filter:blur(0) saturate(1);transition:backdrop-filter .85s cubic-bezier(.2,.7,.2,1),-webkit-backdrop-filter .85s cubic-bezier(.2,.7,.2,1),background .85s ease;}
.sf-v3-write-overlay.is-visible .sf-v3-backdrop{background:rgba(9,10,11,.42);backdrop-filter:blur(15px) saturate(.78);-webkit-backdrop-filter:blur(15px) saturate(.78);}
.sf-v3-preparing{grid-area:1/1;position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:13px;color:#c1c5c7;font:600 11px Manrope,system-ui,sans-serif;letter-spacing:.02em;transition:opacity .22s ease,transform .22s ease;}
.sf-v3-preparing[hidden]{display:none!important;}
.sf-v3-spinner{width:27px;height:27px;border:2px solid #ffffff25;border-top-color:#ff6a1a;border-right-color:#ff6a1a;border-radius:50%;animation:sf-v3-spin .75s linear infinite;}
@keyframes sf-v3-spin{to{transform:rotate(360deg);}}
.sf-v3-stage{grid-area:1/1;position:relative;z-index:2;width:min(1014px,100%);max-height:calc(100dvh - 36px);overflow:visible;display:flex;flex-direction:column;gap:15px;opacity:0;visibility:hidden;transform:translateY(24px) scale(.985);transition:opacity .42s ease,transform .56s cubic-bezier(.2,.8,.2,1),visibility .42s ease;}
.sf-v3-stage.is-progress-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.sf-v3-stage.is-raised{opacity:1;visibility:visible;transform:translateY(-22px) scale(1);}
.sf-v3-socials{display:flex;align-items:center;justify-content:center;gap:14px;min-height:25px;padding:0 3px;color:#d3d6d7;}
.sf-v3-socials a{display:inline-flex;align-items:center;gap:7px;color:#aeb5b8;text-decoration:none;font:800 9px/1 Manrope,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:color .18s,transform .18s;}
.sf-v3-socials a:hover{color:#ff9a60;transform:translateY(-1px);}
.sf-v3-socials svg{width:17px;height:17px;display:block;}
.sf-v3-socials i{width:1px;height:17px;background:#646a6d;opacity:.7;}
.sf-v3-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;align-items:stretch;min-width:0;}
.sf-v3-progress-host{min-width:0;transition:width .42s ease,transform .42s ease;}
.sf-v3-progress-host .progress-card{width:100%;min-width:0;min-height:338px;padding:28px 30px 27px!important;background:#121416!important;border:1px solid #33383a!important;border-radius:0!important;box-shadow:0 22px 60px rgba(0,0,0,.32)!important;}
.sf-v3-progress-host .progress-card:before{display:none!important;}
.sf-v3-progress-host .progress-card-top{min-height:78px;align-items:flex-start;gap:22px;}
.sf-v3-progress-host .progress-card-top>div{min-width:0;}
.sf-v3-progress-host .progress-card-top .eyebrow{font-size:9px;letter-spacing:.18em;}
.sf-v3-progress-host .progress-card-top h3{margin:11px 0 0;font-size:clamp(21px,2.1vw,27px);line-height:1.22;}
.sf-v3-progress-host .flash-shlepa{width:118px;height:88px;max-width:24%;object-fit:contain;object-position:center top;flex:0 0 auto;margin-top:-1px;}
.sf-v3-progress-host .percent-row{align-items:flex-end;margin-top:14px;gap:16px;}
.sf-v3-progress-host .percent-row strong{font-size:43px;line-height:1;color:#ff6a1a;font-variant-numeric:tabular-nums;}
.sf-v3-progress-host .percent-row span{font-size:10px;color:#9aa1a4;text-align:right;max-width:55%;}
.sf-v3-progress-host .progress-track{height:8px;margin-top:17px;background:#2b2e30;}
.sf-v3-progress-host .progress-track span{background:linear-gradient(90deg,#ff6a1a,#ff9b58);}
.sf-v3-progress-host .progress-foot{margin-top:12px;font:8px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#788185;}
.sf-v3-progress-host .dont-disconnect{margin:24px 0 0;padding-top:17px;border-top:1px solid #303537;color:#98a0a3;font-size:9px;line-height:1.7;}
.sf-v3-progress-host .flash-complete,.sf-v3-progress-host .flash-error{margin-top:15px;}
.sf-v3-actions{display:flex;justify-content:flex-end;min-height:0;}
.sf-v3-actions .flash-actions{display:none;width:100%;justify-content:flex-end;margin:0;padding:0;}
.sf-v3-actions .flash-actions.sf-v3-actions-visible{display:flex;}
.sf-v3-actions .flash-actions .btn{min-width:190px;}

/* Screenshot-matched lower panel: game offer and advertising offer alternate every 3 seconds. */
.sf-v3-promo{position:relative;display:block;min-height:0;max-height:0;margin-top:-14px;overflow:hidden;border:0 solid #353a3c;background:#121416;box-shadow:0 15px 34px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .32s ease .1s,visibility .32s ease .1s,transform .4s ease .1s,max-height .4s ease .1s,min-height .4s ease .1s,margin .4s ease .1s,border-width .4s ease .1s;}
.sf-v3-stage.is-raised .sf-v3-promo{min-height:92px;max-height:110px;margin-top:0;border-width:1px;opacity:1;visibility:visible;transform:translateY(0);}
.sf-v3-promo[hidden]{display:none!important;}
.sf-v3-promo-track{position:relative;min-height:90px;}
.sf-v3-promo-slide{position:absolute;inset:0;display:flex;align-items:center;gap:18px;padding:14px 24px;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .28s ease,transform .28s ease,visibility .28s;}
.sf-v3-promo-slide.is-active{position:relative;opacity:1;visibility:visible;transform:translateY(0);}
.sf-v3-promo-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;color:#f4f4f1;}
.sf-v3-promo-icon svg{width:40px;height:40px;display:block;}
.sf-v3-promo-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.sf-v3-promo-copy b,.sf-v3-promo-copy strong{color:#f4f3ef;font:800 clamp(15px,1.4vw,19px)/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.025em;}
.sf-v3-promo-copy strong{color:#ff6a1a;}
.sf-v3-cta{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 24px;border:0;border-radius:0;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));font:700 13px/1 Manrope,system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:filter .18s,transform .18s,background .18s,border-color .18s;}
.sf-v3-cta:hover{filter:brightness(1.12);transform:translateY(-1px);}
.sf-v3-cta:active{transform:translateY(0);}
.sf-v3-play,.sf-v3-orange{background:#ff6a1a;color:#090a0b;min-width:99px;}
.sf-v3-ad-icon{width:43px;height:43px;flex-basis:43px;}
.sf-v3-slide-ad{gap:19px;}
.sf-v3-ad-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:0 0 auto;}
.sf-v3-social-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;}
.sf-v3-social-actions .sf-v3-cta{min-width:120px;gap:8px;}
.sf-v3-social-actions svg{width:17px;height:17px;flex:0 0 17px;}
.sf-v3-outline{min-width:162px;border:1px solid #7b8184;color:#f0f1ef;background:transparent;}
.sf-v3-orange{min-width:157px;}
.sf-v3-promo.is-hiding{opacity:0;transform:translateY(24px);max-height:0;min-height:0;margin-top:-14px;}

/* Play mode: bottom strip leaves; progress window contracts on the left; Snake enters on the right. */
.sf-v3-game-host{min-width:0;min-height:0;}
.sf-v3-snake{position:relative;display:flex;flex-direction:column;gap:12px;width:100%;height:100%;min-width:0;min-height:338px;padding:17px;background:#121416;border:1px solid #353a3c;box-shadow:0 22px 60px rgba(0,0,0,.34);opacity:0;transform:translateX(18px) scale(.985);transition:opacity .32s ease,transform .4s cubic-bezier(.2,.8,.2,1);}
.sf-v3-snake[hidden]{display:none!important;}
.sf-v3-snake.is-visible{opacity:1;transform:translateX(0) scale(1);}
.sf-v3-snake-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.sf-v3-snake-head h2{margin:4px 0 0;color:#f2f3f0;font:800 20px/1.1 Manrope,system-ui,sans-serif;letter-spacing:-.04em;}
.sf-v3-eyebrow{color:#aab0b2;font:800 8px/1.4 Manrope,system-ui,sans-serif;letter-spacing:.16em;}
.sf-v3-snake-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid #60676a;background:#171a1c;color:#f1f2ef;cursor:pointer;transition:border-color .18s,color .18s,background .18s;}
.sf-v3-snake-close:hover{border-color:#ff6a1a;color:#ff9257;background:#211914;}
.sf-v3-snake-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.sf-v3-snake-board{position:relative;overflow:hidden;width:100%;margin:auto 0;border:1px solid #303537;background:#0d0f10;}
.sf-v3-snake-board canvas{display:block;width:100%;height:auto;aspect-ratio:7/5;image-rendering:pixelated;}
.sf-v3-snake-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px;background:rgba(5,7,8,.88);color:#f0f1ee;text-align:center;font:600 11px Manrope,system-ui,sans-serif;}
.sf-v3-snake-message[hidden]{display:none!important;}
.sf-v3-snake-message b{color:#ff8a42;font-size:19px;}
.sf-v3-snake-message span{color:#aeb4b7;font-size:10px;}
.sf-v3-snake-foot{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;color:#aab0b2;font:10px Manrope,system-ui,sans-serif;}
.sf-v3-snake-foot b{color:#f4f3ef;font-variant-numeric:tabular-nums;}
.sf-v3-snake-foot span:nth-child(2){margin-left:auto;color:#858d90;font-size:9px;}
.sf-v3-snake-foot button{padding:5px 0;border:0;background:transparent;color:#ff9a60;font:700 10px Manrope,system-ui,sans-serif;cursor:pointer;}
.sf-v3-snake-pad{display:none;gap:5px;justify-content:center;align-items:center;}
.sf-v3-snake-pad>div{display:flex;gap:5px;}
.sf-v3-snake-pad button{width:36px;height:30px;border:1px solid #3c4244;background:#1a1e20;color:#f4f3ef;font:700 15px system-ui,sans-serif;touch-action:manipulation;}
.sf-v3-write-overlay.is-game .sf-v3-stage{width:min(1160px,100%);}
.sf-v3-write-overlay.is-game .sf-v3-layout{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px;}
.sf-v3-write-overlay.is-game .sf-v3-progress-host .progress-card{min-height:338px;padding:23px 24px!important;}
.sf-v3-write-overlay.is-game .sf-v3-progress-host .flash-shlepa{width:86px;height:70px;}
.sf-v3-write-overlay.is-game .sf-v3-promo{opacity:0;transform:translateY(24px);max-height:0;min-height:0;margin:0;border-width:0;visibility:hidden;}
.sf-v3-write-overlay.is-game .sf-v3-snake{min-height:338px;}

/* Narrow viewports: keep the game and all controls in the viewport without horizontal clipping. */
@media(max-width:620px){
  .sf-v3-write-overlay{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow-y:auto;place-items:center;}
  .sf-v3-stage{width:100%;max-height:none;gap:10px;margin:auto 0;transform:translateY(13px) scale(.985);}
  .sf-v3-stage.is-progress-visible{transform:translateY(0) scale(1);}
  .sf-v3-stage.is-raised{transform:translateY(-7px) scale(1);}
  .sf-v3-socials{min-height:20px;gap:11px;}
  .sf-v3-socials a{font-size:8px;}
  .sf-v3-socials svg{width:15px;height:15px;}
  .sf-v3-progress-host .progress-card{min-height:0;padding:17px 16px 18px!important;}
  .sf-v3-progress-host .progress-card-top{min-height:61px;gap:8px;}
  .sf-v3-progress-host .progress-card-top h3{font-size:19px;}
  .sf-v3-progress-host .flash-shlepa{width:72px;height:62px;max-width:25%;}
  .sf-v3-progress-host .percent-row{margin-top:12px;}
  .sf-v3-progress-host .percent-row strong{font-size:36px;}
  .sf-v3-progress-host .percent-row span{font-size:9px;}
  .sf-v3-progress-host .dont-disconnect{margin-top:16px;padding-top:12px;font-size:8px;}
  .sf-v3-promo,.sf-v3-promo-track{min-height:94px;}
  .sf-v3-promo-slide{min-height:92px;padding:13px 15px;gap:12px;}
  .sf-v3-promo-icon,.sf-v3-ad-icon{width:34px;height:34px;flex-basis:34px;}
  .sf-v3-promo-icon svg{width:33px;height:33px;}
  .sf-v3-promo-copy b,.sf-v3-promo-copy strong{font-size:clamp(12px,3.7vw,15px);}
  .sf-v3-cta{min-height:41px;padding:0 13px;font-size:11px;}
  .sf-v3-play{min-width:78px;}
  .sf-v3-slide-ad{flex-wrap:wrap;gap:7px 10px;}
  .sf-v3-ad-copy{flex:1 1 calc(100% - 48px);}
  .sf-v3-ad-actions{flex:1 1 100%;padding-left:44px;gap:7px;}
  .sf-v3-ad-actions .sf-v3-cta{min-width:0;flex:1 1 0;padding:0 7px;font-size:9px;}
  .sf-v3-slide-social{flex-wrap:wrap;gap:7px 10px;}
  .sf-v3-social-copy{flex:1 1 100%;}
  .sf-v3-social-actions{flex:1 1 100%;gap:7px;}
  .sf-v3-social-actions .sf-v3-cta{min-width:0;min-height:36px;flex:1 1 0;padding:0 7px;font-size:9px;}
  .sf-v3-actions .flash-actions .btn{min-width:0;width:100%;}
  .sf-v3-snake{min-height:0;padding:13px;gap:9px;}
  .sf-v3-snake-head h2{font-size:18px;}
  .sf-v3-snake-pad{display:flex;flex-direction:column;}
  .sf-v3-snake-foot span:nth-child(2){margin-left:0;}
  .sf-v3-write-overlay.is-game .sf-v3-layout{grid-template-columns:minmax(0,1fr);gap:10px;}
  .sf-v3-write-overlay.is-game .sf-v3-progress-host .progress-card{min-height:0;padding:15px 14px!important;}
  .sf-v3-write-overlay.is-game .sf-v3-progress-host .flash-shlepa{width:62px;height:53px;}
  .sf-v3-write-overlay.is-game .sf-v3-snake{min-height:0;}
}
@media(min-width:621px) and (max-width:920px){
  .sf-v3-write-overlay{overflow-y:auto;place-items:center;}
  .sf-v3-stage{max-height:none;margin:auto 0;}
  .sf-v3-write-overlay.is-game .sf-v3-layout{grid-template-columns:minmax(0,1fr);gap:10px;}
  .sf-v3-write-overlay.is-game .sf-v3-snake{min-height:330px;}
  .sf-v3-snake-pad{display:flex;flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){
  .sf-v3-write-overlay,.sf-v3-backdrop,.sf-v3-stage,.sf-v3-promo-slide,.sf-v3-snake,.sf-v3-search,.sf-v3-search-input,.sf-v3-search-toggle{transition:none!important;animation:none!important;}
  .sf-v3-spinner{animation:none!important;border-color:#ff6a1a;}
}

/* The original WebFlasher fades out as a single window; its markup, logo and card art are untouched. */
#flasherOverlay.sf-v3-closing-for-flash .flasher-window{opacity:0;transform:translateY(-18px) scale(.985);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.8,.2,1);}
#flasherOverlay.sf-v3-closing-for-flash .overlay-backdrop{opacity:0;transition:opacity .38s ease;}

/* Firmware sorting: drag handle is added before each original admin item. */
.sf-v3-order-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-8px 0 16px;padding:11px 13px;border:1px solid #2d3335;background:#101315;min-width:0;}
.sf-v3-order-note{flex:1 1 280px;min-width:0;color:#a4abad;font:500 10px/1.5 Manrope,system-ui,sans-serif;}
.sf-v3-order-note b{color:#ff985e;font-size:14px;}
.sf-v3-order-feedback{flex:1 1 180px;min-width:0;color:#8d9699;font:500 9px/1.5 Manrope,system-ui,sans-serif;}
.sf-v3-order-save{min-height:36px;padding:0 14px;white-space:nowrap;}
.sf-v3-order-save:disabled{opacity:.38;cursor:not-allowed;}
.sf-v3-order-toolbar.is-dirty{border-color:#75452e;background:#191512;}
.sf-v3-order-toolbar.is-dirty .sf-v3-order-feedback{color:#ffb07e;}
.sf-v3-order-toolbar.is-saving{opacity:.75;pointer-events:none;}
.sf-v3-order-toolbar.is-empty{display:none;}
.admin-firmware-item{position:relative;}
.sf-v3-fw-drag-handle{display:grid;place-items:center;flex:0 0 32px;width:32px;height:38px;margin-right:3px;padding:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#737c80;cursor:grab;touch-action:none;user-select:none;transition:none;}
.sf-v3-fw-drag-handle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.sf-v3-fw-drag-handle:hover,.sf-v3-fw-drag-handle:focus-visible{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#737c80;}
.sf-v3-fw-drag-handle:active{cursor:grabbing;}
.admin-firmware-item.sf-v3-is-dragging{background:#262a2c!important;border-color:#70787b!important;opacity:.58;filter:grayscale(.9);transform:scale(.995);}
body.sf-v3-dragging-order{cursor:grabbing!important;user-select:none!important;}
@media(max-width:900px){
  .sf-v3-order-toolbar{align-items:stretch;gap:8px;margin:0 0 13px;padding:10px;}
  .sf-v3-order-note,.sf-v3-order-feedback{flex:1 1 100%;}
  .sf-v3-order-save{width:100%;}
  .sf-v3-fw-drag-handle{flex-basis:34px;width:34px;height:42px;margin:0 5px 0 0;}
  .admin-item.admin-firmware-item{display:flex;flex-flow:row wrap!important;align-items:center!important;gap:8px!important;min-width:0;}
  .admin-item.admin-firmware-item>.admin-item__main{flex:1 1 calc(100% - 48px);width:auto;min-width:0;max-width:calc(100% - 44px);}
  .admin-item.admin-firmware-item>.admin-item__acts{flex:1 1 100%;width:100%;margin-left:42px;display:flex;flex-wrap:wrap;gap:7px;}
  .admin-item.admin-firmware-item>.admin-item__acts>*{max-width:100%;}
}

/* Closing the success/error screen fades the card and unblurs the actual website. */
.sf-v3-write-overlay.is-closing{opacity:0;visibility:hidden;pointer-events:none;}
.sf-v3-write-overlay.is-closing .sf-v3-backdrop{background:rgba(9,10,11,0);backdrop-filter:blur(0) saturate(1);-webkit-backdrop-filter:blur(0) saturate(1);}
.sf-v3-write-overlay.is-closing .sf-v3-stage{opacity:0;transform:translateY(12px) scale(.99);}


/* V4 reliability: full viewport blur stays locked to the visual viewport while writing. */
html.sf-v3-flashing-root,html.sf-v3-flashing-root body,body.sf-v3-flashing{height:100%!important;overflow:hidden!important;overscroll-behavior:none!important;}
html.sf-v3-flashing-root{scrollbar-gutter:stable;}
.sf-v3-write-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-height:100vh;box-sizing:border-box;overflow:hidden;isolation:isolate;overscroll-behavior:contain;touch-action:pan-y;}
.sf-v3-backdrop{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;pointer-events:auto;}
.sf-v3-stage{width:min(1014px,calc(100vw - 48px));max-width:1014px;}
.sf-v3-progress-host{display:flex;flex-direction:column;min-width:0;}
.sf-v3-actions{display:none;flex:0 0 auto;justify-content:stretch;min-height:0;margin-top:-1px;border:1px solid #33383a;border-top:0;background:#121416;box-shadow:0 22px 60px rgba(0,0,0,.32);}
.sf-v3-actions:has(.flash-actions.sf-v3-actions-visible){display:flex;}
.sf-v3-actions .flash-actions{display:none!important;width:100%;justify-content:flex-end;align-items:center;gap:10px;margin:0!important;padding:12px 24px max(12px,env(safe-area-inset-bottom))!important;background:transparent!important;border:0!important;box-sizing:border-box;}
.sf-v3-actions .flash-actions.sf-v3-actions-visible{display:flex!important;}
.sf-v3-actions .flash-actions .btn{min-width:174px;}
.sf-v3-promo-icon{flex-basis:51px;width:51px;height:41px;}
.sf-v3-promo-icon svg{display:block;width:100%;height:100%;overflow:visible;}
.sf-v3-game-icon svg{width:41px;height:36px;}
.sf-v3-ad-icon{flex-basis:51px;width:51px;height:41px;}
.sf-v3-ad-icon svg path{vector-effect:non-scaling-stroke;}
@media(max-width:620px){
 .sf-v3-write-overlay{padding:max(9px,env(safe-area-inset-top)) 9px max(9px,env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;}
 .sf-v3-stage{width:100%;max-width:100%;max-height:none;margin:auto 0;}
 .sf-v3-actions .flash-actions{padding:10px 12px max(10px,env(safe-area-inset-bottom))!important;gap:8px;}
 .sf-v3-actions .flash-actions .btn{min-width:0;flex:1 1 0;width:auto;white-space:normal;}
 .sf-v3-promo-icon{width:41px;height:36px;flex-basis:41px;}
 .sf-v3-ad-icon{width:42px;height:34px;flex-basis:42px;}
}

/* Preserve the full-width flash track and the site's square, left-aligned notices. */
.sf-v3-progress-host .progress-track{width:100%;max-width:none;margin:17px 0 0;}
.sf-v3-progress-host .flash-complete,.sf-v3-progress-host .flash-error{width:100%;max-width:none;margin:15px 0 0;padding:17px 18px;border-radius:0;align-items:flex-start;justify-content:flex-start;text-align:left;}
.sf-v3-progress-host .flash-complete b,.sf-v3-progress-host .flash-error b{font-size:15px;line-height:1.35;text-align:left;}
.sf-v3-progress-host .flash-complete span,.sf-v3-progress-host .flash-error span{font-size:11px;line-height:1.7;text-align:left;}
.sf-v3-progress-host .progress-track span{transition:width .18s,box-shadow .65s ease;}
.sf-v3-progress-host .progress-card.is-flash-done .progress-track span{animation:sf-v3-success-transition .9s ease-out both;}
.sf-v3-progress-host .progress-card.is-flash-done .percent-row span{color:#9df2b5;}
@keyframes sf-v3-success-transition{
  0%{background:linear-gradient(90deg,#ff6a1a,#ffad6f);box-shadow:0 0 18px #ff6a1a55}
  100%{background:linear-gradient(90deg,#9df2b5,#57d98a);box-shadow:0 0 16px #57d98a88}
}

.sf-v3-promo-slide.is-active{width:100%;flex:0 0 100%;}
.sf-v3-promo-slide.is-active>.sf-v3-play{margin-left:auto;}
.sf-v3-ad-actions{margin-left:auto;justify-content:flex-end;}
.sf-v3-ad-actions .sf-v3-cta{flex:0 0 auto;}
@media(max-width:620px){
  .sf-v3-ad-actions{flex:1 1 100%;padding-left:52px;gap:8px;}
  .sf-v3-ad-actions .sf-v3-cta{flex:1 1 0;min-width:0;padding:0 7px;font-size:9px;}
}
@media(prefers-reduced-motion:reduce){
 .sf-v3-backdrop{transition:background .7s linear!important;}
 .sf-v3-write-overlay,.sf-v3-stage,.sf-v3-promo,.sf-v3-snake{transition-duration:.2s!important;}
}
/* ── Flash progress: soft blink at 0%, light green at 100% ─────────────── */
.sf-v3-progress-host .percent-row strong,.sf-v3-progress-host .progress-track{transition:opacity .7s ease}
.sf-v3-progress-host .progress-track{width:100%;margin:17px 0 0}
.sf-v3-progress-host .progress-foot{display:flex;flex-direction:row;align-items:center;width:100%;margin:12px 0 0;justify-content:space-between}
.sf-v3-progress-host .progress-foot>span:first-child{text-align:left}
.sf-v3-progress-host .progress-foot>span:last-child{text-align:right}
.sf-v3-progress-host .dont-disconnect{max-width:840px;margin-inline:auto;text-align:center}
.sf-v3-progress-host .progress-card.is-flash-start .percent-row strong{animation:sf-flash-blink 1.2s ease-in-out infinite}
.sf-v3-progress-host .progress-card.is-flash-start .progress-track{animation:sf-flash-track-blink 1.2s ease-in-out infinite}
@keyframes sf-flash-blink{0%,100%{opacity:.48}50%{opacity:1}}
@keyframes sf-flash-track-blink{0%,100%{opacity:.58}50%{opacity:1}}
.sf-v3-progress-host .progress-card.is-flash-done .percent-row strong{color:#9df2b5;text-shadow:0 0 22px #57d98a55}
.sf-v3-progress-host .progress-card.is-flash-done .percent-row span{color:#9df2b5}
.sf-v3-progress-host .progress-card.is-flash-done .progress-track span{background:linear-gradient(90deg,#57d98a,#9df2b5);box-shadow:0 0 16px #57d98a88}
.sf-v3-progress-host .progress-card.is-flash-done .flash-complete b{color:#b6f7c9}
.sf-v3-progress-host .progress-card.is-flash-failed .percent-row strong,
.sf-v3-progress-host .progress-card.is-flash-failed .percent-row span{color:#ff6464;text-shadow:0 0 18px #ff454544}
.sf-v3-progress-host .progress-card.is-flash-failed .progress-track span{background:linear-gradient(90deg,#d83b3b,#ff6464);box-shadow:0 0 14px #ff454466}
.sf-v3-progress-host .progress-card.is-flash-failed .flash-error{border-color:#a63a3a}
@media(prefers-reduced-motion:reduce){
 .connection-loading-frame rect,.connection-box.preparing .connection-state,.sf-v3-progress-host .progress-card.is-flash-start .percent-row strong,.sf-v3-progress-host .progress-card.is-flash-start .progress-track{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
 .sf-v3-progress-host .progress-card.is-flash-start .percent-row strong{animation:sf-flash-blink 1.2s ease-in-out infinite!important}
 .sf-v3-progress-host .progress-card.is-flash-start .progress-track{animation:sf-flash-track-blink 1.2s ease-in-out infinite!important}
}

/* ── Narrow-phone fit for the moved progress card ──────────────────────── */
.dont-disconnect[hidden]{display:none!important}
@media(max-width:430px){
  .sf-v3-progress-host .progress-card{min-width:0;max-width:100%;padding:14px 12px 16px!important}
  .sf-v3-progress-host .progress-card-top{min-height:54px;gap:6px}
  .sf-v3-progress-host .progress-card-top h3{font-size:17px;line-height:1.25;overflow-wrap:anywhere}
  .sf-v3-progress-host .flash-shlepa{width:62px;height:53px;max-width:24%;flex:0 0 auto}
  .sf-v3-progress-host .percent-row{flex-wrap:wrap;gap:4px 10px;margin-top:12px}
  .sf-v3-progress-host .percent-row strong{font-size:34px}
  .sf-v3-progress-host .percent-row span{width:100%;text-align:left;font-size:9px;line-height:1.4}
  .sf-v3-progress-host .progress-foot{flex-wrap:wrap;gap:3px 8px;font-size:7px}
  .sf-v3-progress-host .progress-foot>span{max-width:100%;overflow-wrap:anywhere}
  .sf-v3-progress-host .dont-disconnect{max-width:none;font-size:8px;line-height:1.65}
  .sf-v3-progress-host .flash-complete b,
  .sf-v3-progress-host .flash-error b{font-size:13px}
  .sf-v3-progress-host .flash-complete span,
  .sf-v3-progress-host .flash-error span{font-size:10px}
}
@media(max-width:360px){
  .sf-v3-progress-host .percent-row strong{font-size:30px}
}


/* ── Promo strip: both slides vertically centred and equal height ──────── */
.sf-v3-promo-track{display:flex;align-items:stretch;min-height:92px}
.sf-v3-promo-slide{align-items:center;min-height:92px;height:auto;padding:16px 24px}
.sf-v3-promo-copy{justify-content:center;align-self:center}
.sf-v3-promo-copy b,.sf-v3-promo-copy strong{display:block}
.sf-v3-ad-actions{align-self:center}
.sf-v3-promo .sf-v3-cta{flex:0 0 auto}
@media(max-width:620px){
  .sf-v3-stage.is-raised .sf-v3-promo{max-height:190px}
  .sf-v3-promo-track,.sf-v3-promo-slide{min-height:96px}
  .sf-v3-promo-slide{padding:13px 15px;align-content:center}
  .sf-v3-slide-ad{align-items:center}
  .sf-v3-ad-copy{align-self:center}
  .sf-v3-ad-actions{align-self:center;padding-left:0}
}

/* ── Universal sticky action dock ──────────────────────────────────────── */
.sf-action-dock-spacer{height:0;margin-top:clamp(26px,5vw,54px)}
.sf-action-dock{position:sticky;bottom:0;z-index:70;margin-top:0;border-top:1px solid #353b3d;background:#0f1213;box-shadow:0 -18px 44px #000000a8;isolation:isolate}
.sf-action-dock.is-fixed{position:fixed;right:0;bottom:0;left:0;width:100%;margin:0;background:#0f1213;box-shadow:0 -18px 44px #000000a8}
.sf-action-dock__inner{display:flex;align-items:center;width:min(1280px,calc(100% - 40px));margin:0 auto;padding:12px 0 calc(12px + env(safe-area-inset-bottom));gap:14px}
.sf-action-dock__back,.sf-action-dock__flash{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:1px solid #484e50;background:#1a1d1f;color:#eef0ec;font:800 10px/1 Manrope,system-ui,sans-serif;letter-spacing:.02em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
.sf-action-dock__back:hover{border-color:#8a4d2c;background:#201915;color:#ffb083}
.sf-action-dock__flash{margin-left:auto;border-color:#ff6a1a;background:#ff6a1a;color:#0c0d0e}
.sf-action-dock__flash:hover{background:#ff8a42;border-color:#ff8a42;color:#0c0d0e}
.sf-action-dock__back:active,.sf-action-dock__flash:active{transform:translateY(1px)}
.sf-action-dock__hint{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 4px;color:#8d9598;font:500 9px/1.4 Manrope,system-ui,sans-serif}
.sf-action-dock__hint b{color:#d9dddb;font:700 11px/1.35 Manrope,system-ui,sans-serif}
@media(max-width:720px){
  .sf-action-dock__inner{width:calc(100% - 20px);gap:8px;padding:9px 0 calc(9px + env(safe-area-inset-bottom))}
  .sf-action-dock__hint{display:none}
  .sf-action-dock__back{flex:0 0 auto;min-height:44px;padding:0 13px}
  .sf-action-dock__flash{flex:1 1 auto;min-height:44px;padding:0 14px;font-size:9px}
}

/* ── Admin: session countdown + mobile polish ──────────────────────────── */
#fwChannelField[hidden]{display:none!important}
.admin-app__session{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border:1px solid #2f3437;background:#111314;color:#9aa2a5;font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em;white-space:nowrap}
.admin-app__session[hidden]{display:none!important}
.admin-app__session.is-low{color:#ffb083;border-color:#6b3a24;background:#1c1410}
.admin-app__main,.admin-app__content{min-height:0}
.admin-app__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.admin-submodal__card,.firmware-modal-card,.application-modal__card,.sf-ui-dialog__card{overscroll-behavior:contain}
@media(max-width:700px){
  .admin-app__header{flex-wrap:wrap;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-top))}
  .admin-app__title{flex:1 1 100%;order:-1;font-size:15px}
  .admin-app__header-actions{width:100%;justify-content:space-between;gap:6px}
  .admin-app__session{font-size:9px;padding:0 6px;min-height:27px}
  .admin-app__exit{padding:6px 10px;font-size:11px}
}
@media(max-width:420px){
  .admin-app__session{font-size:8px;letter-spacing:0}
  .admin-app__exit{padding:6px 8px;font-size:10px}
}

/* ── Independent scrolling for the public application form ─────────────── */
.application-modal{overflow:hidden!important}
.application-modal__card{max-height:calc(100dvh - 36px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media(max-width:720px){
  .application-modal__card{max-height:100dvh!important;height:auto;min-height:100dvh}
}
