/* V7.15.2 — ForaStudio Backstage Demo Director and mobile-device simulation. */
.fd-studio-demo{margin-top:16px;border:1px solid rgba(92,87,214,.18);border-radius:18px;background:linear-gradient(135deg,rgba(102,96,225,.055),rgba(27,184,194,.035));overflow:hidden}.fd-studio-demo-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px}.fd-studio-demo-copy{min-width:0}.fd-studio-demo-copy span{display:block;font-size:9px;font-weight:950;letter-spacing:.14em;color:#655fd4;text-transform:uppercase}.fd-studio-demo-copy b{display:block;margin-top:3px;color:#222a43;font-size:14px}.fd-studio-demo-copy small{display:block;margin-top:4px;color:#737b91;font-size:10px;line-height:1.45}.fd-studio-demo-body{border-top:1px solid rgba(92,87,214,.12);padding:14px 16px 16px}.fd-studio-demo-body[hidden]{display:none!important}.fd-studio-demo-config{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.fd-studio-demo-config label{min-width:150px}.fd-studio-demo-config select{width:100%}.fd-studio-demo-status{display:block;margin-top:8px;min-height:16px;font-size:11px;color:#646c82}.fd-studio-demo-output{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;margin-top:14px}.fd-studio-demo-links{display:grid;gap:9px}.fd-studio-demo-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.fd-studio-demo-link input{min-width:0}.fd-studio-demo-link-actions{display:flex;gap:6px;flex-wrap:wrap}.fd-studio-demo-qr{border:1px solid #e0e3ec;border-radius:14px;background:#fff;padding:10px;text-align:center}.fd-studio-demo-qr img{width:132px;height:132px;object-fit:contain}.fd-studio-demo-qr small{display:block;color:#777f94;font-size:9px;line-height:1.35}.fd-studio-demo-frame-wrap{margin-top:14px;border:1px solid #e0e3ec;border-radius:16px;overflow:hidden;background:#f7f8fc}.fd-studio-demo-frame-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#f0f2f8;border-bottom:1px solid #e0e3ec}.fd-studio-demo-frame-head b{font-size:11px;color:#30384f}.fd-studio-demo-frame{display:block;width:100%;height:650px;border:0;background:#f7f8fc}
.fd-demo-switch{width:46px;height:26px;border:0;border-radius:999px;background:#c9cedb;padding:3px;cursor:pointer;transition:.2s}.fd-demo-switch span{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}.fd-demo-switch[aria-checked="true"]{background:#615cdf}.fd-demo-switch[aria-checked="true"] span{transform:translateX(20px)}

/* Director page */
.fd-director-body{margin:0;background:#eef1f7;color:#20283d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.fd-director-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:20px 0 44px}.fd-director-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 2px}.fd-director-eyebrow,.fd-director-kicker{display:block;color:#6660d8;font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.fd-director-hero h1{margin:5px 0 4px;font-size:clamp(24px,4vw,38px);letter-spacing:-.035em}.fd-director-hero p{margin:0;color:#6f778b;font-size:13px}.fd-director-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.fd-director-language{display:flex;padding:3px;border:1px solid #d9ddea;border-radius:12px;background:#fff}.fd-director-language button{border:0;background:transparent;border-radius:9px;padding:7px 10px;color:#6d7487;font-size:10px;font-weight:950;cursor:pointer}.fd-director-language button.active{background:#5f59d9;color:#fff;box-shadow:0 4px 12px rgba(76,70,183,.22)}.fd-director-live{flex:0 0 auto;border:1px solid #d7dbe6;background:#fff;color:#7b8292;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:950;letter-spacing:.08em}.fd-director-live.is-live{border-color:#a8dfc2;background:#e9fbf1;color:#117245}.fd-director-card{background:#fff;border:1px solid #e0e3ec;border-radius:20px;box-shadow:0 12px 34px rgba(37,43,66,.06);padding:17px}.fd-director-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.fd-director-summary>div{padding:12px;border:1px solid #eceef4;border-radius:14px;background:#fafbfe}.fd-director-summary small{display:block;color:#81889a;font-size:9px}.fd-director-summary strong{display:block;margin-top:3px;font-size:14px;color:#283149}.fd-director-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-bottom:14px}.fd-director-card h2{margin:4px 0 8px;font-size:17px}.fd-director-card p{color:#6f778b;font-size:11px;line-height:1.5}.fd-director-primary,.fd-director-secondary,.fd-director-actions button{border-radius:12px;font:850 11px/1.2 system-ui,sans-serif;cursor:pointer}.fd-director-primary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:0;background:linear-gradient(135deg,#5f59d9,#416ee9);color:#fff;text-decoration:none}.fd-director-secondary{border:1px solid #dfe2eb;background:#fff;color:#424b61;padding:8px 11px}.fd-director-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.fd-director-actions button{min-height:42px;border:1px solid #dee2ec;background:#f7f8fc;color:#333c53;padding:8px 10px}.fd-director-actions button:hover{background:#eef0f7}.fd-director-actions button:disabled{opacity:.42;cursor:not-allowed}.fd-director-note{margin:10px 0 0!important;color:#7f8798!important}.fd-director-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.fd-director-students{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fd-director-student{display:flex;align-items:center;gap:7px;border:1px solid #e1e4ec;background:#fafbfe;border-radius:13px;padding:7px 9px}.fd-director-student i{font-style:normal;font-size:18px}.fd-director-student b{font-size:10px}.fd-director-empty{color:#8a91a0;font-size:11px}.fd-director-preview{position:relative;border:1px solid #dfe3ec;border-radius:16px;background:#111827;overflow:hidden;min-height:310px}.fd-director-preview::before{content:"";display:block;padding-top:56.25%}.fd-director-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0b1020;pointer-events:none}.fd-director-preview-empty{position:absolute;inset:0;display:grid;place-items:center;padding:25px;color:#c8cfdd;font-size:11px;text-align:center;background:radial-gradient(circle at 50% 20%,#2b3850,#111827 70%)}.fd-director-preview-empty[hidden]{display:none!important}.fd-director-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.fd-director-preview-bar b{font-size:12px}.fd-director-preview-bar small{color:#858c9d;font-size:9px}


@media(max-width:760px){.fd-director-grid{grid-template-columns:1fr}.fd-director-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-director-actions{grid-template-columns:1fr}}
@media(max-width:520px){.fd-director-shell{width:min(100%,calc(100% - 18px));padding:14px 0 28px}.fd-director-hero{padding:12px 2px;flex-direction:column}.fd-director-summary{grid-template-columns:1fr}}

/* V7.20.71 — Virtual phone windows. The product iframe always receives a real mobile viewport (390x844 or 844x390) and is then optically scaled from the exact centre so the clean teacher-screen phone shell stays visually symmetrical. */
.fd-phone-wrap{position:fixed;z-index:1340;left:24px;top:84px;filter:drop-shadow(0 28px 55px rgba(0,0,0,.34));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;user-select:none}.fd-phone-wrap[data-slot="teacher"]{left:auto;right:24px}.fd-phone-wrap[hidden]{display:none!important}.fd-phone-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 4px 7px;padding:7px 8px 7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(20,25,39,.96);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2);cursor:grab}.fd-phone-toolbar:active{cursor:grabbing}.fd-phone-title{min-width:0}.fd-phone-title strong{display:block;font-size:11px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-phone-title small{display:block;margin-top:2px;color:#9ea7ba;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-phone-toolbar-actions{display:flex;align-items:center;gap:5px}.fd-phone-tool{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:15px;cursor:pointer}.fd-phone-tool:hover{background:rgba(255,255,255,.14)}.fd-phone-tool.is-active{border-color:#76e2b0;background:rgba(32,173,112,.24);color:#9ff0c7}.fd-phone-tool[data-action="close"]{font-size:18px}.fd-phone-device{position:relative;background:#10131b;border:7px solid #242936;border-radius:34px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:width .52s cubic-bezier(.2,.75,.18,1),height .52s cubic-bezier(.2,.75,.18,1),border-radius .52s ease}.fd-phone-wrap.is-rotating .fd-phone-device{animation:fdPhoneTurn .52s cubic-bezier(.2,.72,.15,1)}.fd-phone-screen{position:absolute;left:7px;top:7px;border-radius:24px;overflow:hidden;background:#f5f7fb;transition:width .52s cubic-bezier(.2,.75,.18,1),height .52s cubic-bezier(.2,.75,.18,1)}.fd-phone-virtual{position:absolute;left:0;top:0;transform-origin:50% 50%;transition:transform .52s cubic-bezier(.2,.75,.18,1),left .52s cubic-bezier(.2,.75,.18,1),top .52s cubic-bezier(.2,.75,.18,1)}.fd-phone-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;display:block}.fd-phone-scanner{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,#33405d 0,#1b2334 58%,#101522 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.fd-phone-scanner[hidden]{display:none!important}.fd-phone-camera-label{position:absolute;top:18px;left:20px;font-size:10px;font-weight:900;letter-spacing:.14em;color:#cbd3e8;text-transform:uppercase}.fd-phone-qr-stage{position:relative;width:220px;height:220px;border-radius:22px;background:#fff;padding:15px;box-shadow:0 18px 40px rgba(0,0,0,.28);display:grid;place-items:center;overflow:hidden}.fd-phone-qr-stage img{width:100%;height:100%;object-fit:contain}.fd-phone-scanline{position:absolute;left:10px;right:10px;top:16px;height:2px;background:#75f4cb;box-shadow:0 0 12px #75f4cb;opacity:.8}.fd-phone-scanner.is-scanning .fd-phone-scanline{animation:fdScan 1.05s ease-in-out}.fd-phone-scanner h4{margin:22px 0 6px;font-size:22px}.fd-phone-scanner p{max-width:300px;margin:0 0 17px;color:#bec7d9;font-size:13px;line-height:1.45}.fd-phone-scan{border:0;border-radius:14px;background:#fff;color:#14192a;padding:13px 20px;font-weight:900;font-size:13px;cursor:pointer}.fd-phone-wrap.is-clean .fd-phone-toolbar{display:none}.fd-phone-wrap.is-clean{filter:drop-shadow(0 22px 40px rgba(0,0,0,.32))}.fd-phone-wrap.is-clean .fd-phone-device{border-color:#1b1f29}
@keyframes fdScan{0%{transform:translateY(0)}45%{transform:translateY(174px)}100%{transform:translateY(0)}}@keyframes fdPhoneTurn{0%{transform:rotate(0) scale(1)}45%{transform:rotate(5deg) scale(.96)}100%{transform:rotate(0) scale(1)}}

/* Host-only phone overlay container; no Demo Director controls or labels are rendered here. */
.fd-host-phone-layer{position:fixed;inset:0;z-index:1170;pointer-events:none}.fd-host-phone-layer .fd-phone-wrap{position:absolute;pointer-events:none}.fd-host-phone-layer .fd-phone-wrap[data-slot="student"]{left:18px;top:70px}.fd-host-phone-layer .fd-phone-wrap[data-slot="teacher"]{left:auto;right:18px;top:70px}

@media(max-width:900px){.fd-director-grid{grid-template-columns:1fr}.fd-director-summary{grid-template-columns:1fr 1fr}.fd-director-shell{width:min(100% - 18px,1180px);padding-top:10px}.fd-director-hero{padding-top:12px}.fd-director-actions{grid-template-columns:1fr 1fr}.fd-studio-demo-output{grid-template-columns:1fr}.fd-studio-demo-qr{display:flex;gap:12px;align-items:center;text-align:left}}
@media(max-width:620px){.fd-director-hero{display:grid}.fd-director-hero-actions{justify-content:flex-start}.fd-director-actions{grid-template-columns:1fr}.fd-phone-wrap,.fd-phone-wrap[data-slot="teacher"]{left:8px!important;right:auto!important;top:8px!important}.fd-phone-wrap[data-slot="teacher"]{top:72px!important}}
.fd-phone-wrap.is-clean{pointer-events:none!important}.fd-phone-wrap.is-clean iframe{pointer-events:none!important}

/* V7.15.2 — stable demo preview, interactive teacher overlays and selectable placement. */
.fd-director-shell{width:min(1480px,calc(100% - 28px))}
.fd-director-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.55fr);align-items:start}
.fd-director-preview{min-height:0;aspect-ratio:16/9}
.fd-director-preview::before{display:none}
.fd-director-preview iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fd-director-preview-bar{min-height:34px}
.fd-director-preview-tools{display:flex;align-items:center;gap:7px;margin-left:auto}
.fd-director-preview-sound{min-height:30px;padding:0 9px;border:1px solid #dfe2eb;border-radius:9px;background:#f7f8fc;color:#454e64;font-size:9px;font-weight:900;cursor:pointer}
.fd-director-preview-sound[aria-pressed="false"]{background:#eef1f7;color:#687184}
.fd-phone-tool[data-action="placement"]{font-size:17px;font-weight:950}
.fd-phone-screen{overscroll-behavior:contain}
.fd-phone-virtual,.fd-phone-frame,.fd-phone-scanner{max-width:none!important;max-height:none!important}
.fd-phone-tap-ripple{position:absolute;z-index:8;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(68,217,255,.96);border-radius:50%;background:rgba(68,217,255,.2);opacity:0;pointer-events:none;transform:scale(.4)}
.fd-phone-tap-ripple.show{animation:fdPhoneTap .5s ease-out both}
@keyframes fdPhoneTap{0%{opacity:.95;transform:scale(.35)}70%{opacity:.55;transform:scale(1.7)}100%{opacity:0;transform:scale(2.15)}}

/* Clean phones shown on the teacher surface are real interactive iframes. */
.fd-host-phone-layer{pointer-events:none!important}
.fd-host-phone-layer .fd-phone-wrap{pointer-events:auto!important;z-index:1}
.fd-host-phone-layer .fd-phone-wrap.is-clean{pointer-events:auto!important;cursor:default!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-device,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-screen,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-virtual,.fd-host-phone-layer .fd-phone-wrap.is-clean iframe{pointer-events:auto!important;cursor:default!important}
.fd-host-phone-layer .fd-phone-wrap[data-placement="top-left"]{left:18px!important;right:auto!important;top:70px!important;bottom:auto!important}
.fd-host-phone-layer .fd-phone-wrap[data-placement="top-right"]{left:auto!important;right:18px!important;top:70px!important;bottom:auto!important}
.fd-host-phone-layer .fd-phone-wrap[data-placement="bottom-right"]{left:auto!important;right:18px!important;top:auto!important;bottom:18px!important}
.fd-host-phone-layer .fd-phone-wrap[data-placement="bottom-left"]{left:18px!important;right:auto!important;top:auto!important;bottom:18px!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean{filter:drop-shadow(0 20px 38px rgba(0,0,0,.28))}

/* Director preview is intentionally lower-cost than the recorded teacher screen. */
html.fd-demo-preview *{scrollbar-width:none}
html.fd-demo-preview *::-webkit-scrollbar{display:none;width:0;height:0}

@media(max-width:1100px){.fd-director-grid{grid-template-columns:1fr}.fd-director-shell{width:min(100% - 18px,1180px)}}
@media(prefers-reduced-motion:reduce){.fd-phone-tap-ripple.show{animation:none;opacity:0}}

/* V7.15.2 — never flash the backstage page in the wrong language. */
.fd-director-body.fd-i18n-loading{visibility:hidden}

/* V7.15.2 — fixed-resolution teacher preview and cursor isolation. */
.fd-director-preview-stage{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:0 0;will-change:transform}
.fd-director-preview-stage iframe{position:absolute!important;left:0!important;top:0!important;width:1600px!important;height:900px!important;max-width:none!important;max-height:none!important;border:0;background:#0b1020;pointer-events:none}
html.fd-phone-pointer-active .pres-explore-cursor{opacity:0!important}
html.fd-phone-pointer-active .pres-map,html.fd-phone-pointer-active .rush-map{cursor:default!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean{touch-action:manipulation}
.fd-host-phone-layer .fd-phone-wrap.is-clean iframe{cursor:default!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean button,.fd-host-phone-layer .fd-phone-wrap.is-clean a,.fd-host-phone-layer .fd-phone-wrap.is-clean [role="button"]{cursor:pointer!important}


/* V7.15.3 — touch-like host phones and aligned scanner stage. */
.fd-phone-scanner{box-sizing:border-box!important;left:0!important;right:auto!important;overflow:hidden!important;align-items:center!important}
.fd-phone-qr-stage{margin-inline:auto!important;flex:0 0 auto;transform:none!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-device,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-screen,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-virtual,.fd-host-phone-layer .fd-phone-wrap.is-clean iframe{cursor:grab!important;user-select:none!important;-webkit-user-select:none!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean:active,.fd-host-phone-layer .fd-phone-wrap.is-clean:active iframe{cursor:grabbing!important}
.fd-host-phone-layer .fd-phone-wrap[data-slot="teacher"][data-placement="top-right"],.fd-host-phone-layer .fd-phone-wrap[data-slot="teacher"][data-placement="top-left"]{top:132px!important}

/* V7.15.4 — clean mirrored phone chrome, contained mobile keyboard and compact touch cursor. */
.fd-clean-phone-head{display:none}.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-clean-phone-head{display:flex;position:absolute;z-index:8;left:8px;right:8px;top:-24px;align-items:center;justify-content:space-between;pointer-events:none}.fd-clean-phone-label{padding:4px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(12,19,33,.88);color:#fff;font:800 9px/1.1 system-ui,sans-serif;box-shadow:0 5px 14px rgba(0,0,0,.18)}.fd-clean-phone-rotate{pointer-events:auto;width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(12,19,33,.88);color:#fff;font:900 13px/1 system-ui;cursor:pointer}
.fd-phone-keyboard{position:absolute;z-index:30;left:0;right:0;bottom:0;padding:8px 6px 10px;background:linear-gradient(180deg,rgba(25,30,42,.96),rgba(8,11,18,.99));border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -12px 30px rgba(0,0,0,.2)}.fd-phone-keyboard[hidden]{display:none!important}.fd-phone-keyboard>div{display:flex;justify-content:center;gap:4px;margin:4px 0}.fd-phone-keyboard button{min-width:28px;height:38px;padding:0 6px;border:0;border-radius:7px;background:#f6f7fa;color:#182238;font:800 13px/1 system-ui;box-shadow:0 1px 0 #bec4cf;cursor:pointer}.fd-phone-keyboard button[data-key="space"]{min-width:150px}.fd-phone-keyboard button[data-key="✓"]{background:#4f78ef;color:#fff;min-width:54px}
.fd-host-phone-layer .fd-phone-wrap.is-clean,.fd-host-phone-layer .fd-phone-wrap.is-clean *{user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}.fd-host-phone-layer .fd-phone-wrap.is-clean,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-device,.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-screen{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Ccircle cx='9' cy='9' r='6' fill='%2310182a' stroke='%2348d9ff' stroke-width='2'/%3E%3C/svg%3E") 9 9,pointer!important}
.fd-host-phone-layer .fd-phone-wrap[data-slot="teacher"][data-placement="top-right"],.fd-host-phone-layer .fd-phone-wrap[data-slot="teacher"][data-placement="top-left"]{top:154px!important}


/* V7.15.5 — optional Studio-inline Demo Director preview. */
.fd-studio-demo-inline-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding:11px 12px;border:1px solid rgba(92,87,214,.14);border-radius:14px;background:rgba(255,255,255,.72)}
.fd-studio-demo-inline-preview[hidden]{display:none!important}.fd-studio-demo-inline-preview>div{min-width:0}.fd-studio-demo-inline-preview b{display:block;color:#30384f;font-size:11px}.fd-studio-demo-inline-preview small{display:block;margin-top:3px;color:#737b91;font-size:9.5px;line-height:1.4}.fd-studio-demo-inline-preview .fd-demo-switch{flex:0 0 auto}

/* V7.15.6 — optional Director teacher preview and low-overhead paused state. */
.fd-director-preview-toggle{border:1px solid rgba(108,132,179,.34);border-radius:10px;background:#14243b;color:#dceaff;font-weight:850;padding:7px 10px;cursor:pointer;white-space:nowrap}
.fd-director-preview-toggle[aria-pressed="true"]{background:#174b61;border-color:#40d0d4;color:#eaffff;box-shadow:0 0 0 2px rgba(64,208,212,.12)}
.fd-director-preview-tools{flex-wrap:wrap}
.fd-director-preview iframe[hidden]{display:none!important}


/* V7.15.7 — shared phone geometry, polished bottom corners and mobile-like Shift/Caps feedback. */
.fd-phone-device{border-radius:36px;isolation:isolate}
.fd-phone-screen{border-radius:27px;clip-path:inset(0 round 27px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.fd-phone-virtual,.fd-phone-frame{border-radius:inherit}
.fd-phone-virtual{overflow:hidden}
.fd-phone-keyboard{padding-bottom:max(11px,env(safe-area-inset-bottom));border-radius:0 0 25px 25px;overflow:hidden}
.fd-phone-keyboard button[data-key="⇧"]{position:relative;min-width:38px;background:#dce1e9;color:#172238;transition:background .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}
.fd-phone-keyboard button[data-key="⇧"].is-shift-active{background:#4f78ef;color:#fff;box-shadow:0 0 0 2px rgba(79,120,239,.22),0 1px 0 #315bc6;transform:translateY(-1px)}
.fd-phone-keyboard button[data-key="⇧"].is-caps-locked::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#fff;box-shadow:0 0 5px rgba(255,255,255,.75)}
.fd-phone-keyboard[data-shift="once"] button[data-key="⇧"],.fd-phone-keyboard[data-shift="locked"] button[data-key="⇧"]{font-weight:950}
.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-phone-device{filter:none}


/* V7.20.73 — professional mirrored phone shell.
   Rush pages globally use border-box; the phone component must own its box model
   so the screen inset remains mathematically equal on all four sides. */
.fd-phone-device{
  box-sizing:content-box!important;
  background:#080b11!important;
  border:7px solid #171c25!important;
  border-radius:39px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,.92),
    inset 0 0 0 3px rgba(255,255,255,.035),
    0 1px 0 rgba(255,255,255,.08)!important;
}
.fd-phone-device::after{
  content:"";
  position:absolute;
  inset:3px;
  z-index:45;
  border:1px solid rgba(255,255,255,.045);
  border-radius:32px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.72);
  pointer-events:none;
}
.fd-phone-screen{
  box-sizing:border-box!important;
  border-radius:28px!important;
  clip-path:inset(0 round 28px)!important;
  overflow:hidden!important;
  background:#090d14!important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.95),
    inset 0 0 0 1px rgba(255,255,255,.04)!important;
  contain:paint;
  isolation:isolate;
}
.fd-phone-virtual,.fd-phone-frame,.fd-phone-scanner{border-radius:28px!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean{filter:drop-shadow(0 24px 46px rgba(0,0,0,.34))!important}
.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-clean-phone-head{
  pointer-events:auto!important;
  cursor:grab!important;
  touch-action:none!important;
}
.fd-host-phone-layer .fd-phone-wrap.is-clean .fd-clean-phone-label{
  cursor:grab!important;
  border-color:rgba(255,255,255,.20)!important;
  background:rgba(9,15,27,.94)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.24)!important;
}
.fd-host-phone-layer .fd-phone-wrap.is-clean.is-phone-dragging .fd-clean-phone-head,
.fd-host-phone-layer .fd-phone-wrap.is-clean.is-phone-dragging .fd-clean-phone-label{cursor:grabbing!important}
.fd-host-phone-layer .fd-phone-wrap[data-manual-position="true"]{margin:0!important}


/* V7.20.74 — presentation-grade phone glass isolation.
   The iframe/scanner can never paint into the bezel or leak through rounded corners. */
.fd-phone-wrap,.fd-phone-wrap *{box-sizing:border-box}
.fd-phone-device{
  background:linear-gradient(145deg,#07090d,#151a22)!important;
  border:8px solid #11161e!important;
  border-radius:42px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.045),
    inset 0 0 0 3px rgba(0,0,0,.72),
    0 1px 0 rgba(255,255,255,.08),
    0 18px 44px rgba(0,0,0,.26)!important;
}
.fd-phone-device::before{
  content:"";position:absolute;inset:2px;z-index:46;pointer-events:none;
  border:1px solid rgba(255,255,255,.055);border-radius:36px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.75);
}
.fd-phone-device::after{
  inset:5px!important;border-radius:33px!important;
  border-color:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.88)!important;
}
.fd-phone-screen{
  border-radius:31px!important;
  clip-path:inset(0 round 31px)!important;
  -webkit-clip-path:inset(0 round 31px)!important;
  overflow:hidden!important;
  background:#05070b!important;
  background-clip:padding-box!important;
  transform:translateZ(0);
  backface-visibility:hidden;
  contain:layout paint style!important;
  box-shadow:
    0 0 0 2px #020409,
    inset 0 0 0 1px rgba(255,255,255,.035),
    inset 0 0 14px rgba(0,0,0,.42)!important;
}
.fd-phone-screen::before{
  content:"";position:absolute;left:50%;top:0;z-index:43;pointer-events:none;
  width:132px;height:24px;transform:translateX(-50%);
  border-radius:0 0 18px 18px;
  background:linear-gradient(180deg,rgba(3,5,9,.98),rgba(5,8,14,.94) 58%,rgba(5,8,14,.18) 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.fd-phone-screen::after{
  content:"";position:absolute;inset:0;z-index:44;pointer-events:none;
  border:2px solid rgba(0,0,0,.74);border-radius:31px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.fd-phone-virtual,.fd-phone-frame,.fd-phone-scanner{
  border-radius:31px!important;
  clip-path:inset(0 round 31px)!important;
  -webkit-clip-path:inset(0 round 31px)!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.fd-phone-frame{background:#05070b!important;transform:translateZ(0);backface-visibility:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.7)}

/* V7.20.80 baseline carried into V7.21.0 — true single-perimeter mirrored phone cleanup. */
.fd-phone-device::after{content:none!important}
.fd-phone-screen{
  --fd-notch-width:110px;
  --fd-notch-height:20px;
  border-radius:31px!important;
  clip-path:inset(0 round 31px)!important;
  -webkit-clip-path:inset(0 round 31px)!important;
  overflow:hidden!important;
  background:#05070b!important;
  background-clip:padding-box!important;
  transform:translateZ(0);
  backface-visibility:hidden;
  contain:layout paint style!important;
  box-shadow:none!important;
  border:0!important;
}
.fd-phone-screen::before{
  content:"";position:absolute;left:50%;top:0;z-index:43;pointer-events:none;
  width:var(--fd-notch-width);height:var(--fd-notch-height);transform:translateX(-50%);
  border-radius:0 0 14px 14px;
  background:linear-gradient(180deg,rgba(3,5,9,.985),rgba(5,8,14,.96) 64%,rgba(5,8,14,.22) 100%);
  box-shadow:0 6px 14px rgba(0,0,0,.22);
}
.fd-phone-wrap.is-landscape .fd-phone-screen::before{
  width:18px;height:104px;left:0;right:auto;top:50%;transform:translateY(-50%);
  border-radius:0 14px 14px 0;
  background:linear-gradient(90deg,rgba(3,5,9,.985),rgba(5,8,14,.96) 64%,rgba(5,8,14,.22) 100%);
  box-shadow:8px 0 14px rgba(0,0,0,.22);
}
.fd-phone-screen::after{content:none!important}
.fd-phone-frame{background:#05070b!important;transform:translateZ(0);backface-visibility:hidden;box-shadow:none!important}
