/* FouadDev Atelier 12.0 — semantic, application-aware interface.
   No external fonts, no third-party code, no business logic or legacy class rewrites. */
:root {
 --atelier-accent:#6478d7; --atelier-accent-hover:#5265bf;
 --atelier-mint:#25b5a4; --atelier-warm:#ecac6a;
 --atelier-ink:#172036; --atelier-muted:#66728a; --atelier-line:#dce2ed;
 --atelier-ground:#f4f6fb; --atelier-panel:#ffffff; --atelier-subtle:#edf1f8;
 --atelier-focus:#6172d9; --atelier-radius:16px;
 --atelier-shadow:0 12px 38px rgba(32,42,73,.055);
 --atelier-font:Inter,"Segoe UI Variable",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html[data-mode="dark"],html[data-theme="dark"],html[data-fd-theme="dark"]{
 --atelier-accent:#a4b0ff;--atelier-accent-hover:#8798fb;--atelier-mint:#65dbca;
 --atelier-ink:#f1f4fd;--atelier-muted:#acb8d0;--atelier-line:#334058;
 --atelier-ground:#0d1424;--atelier-panel:#172034;--atelier-subtle:#222c42;
 --atelier-shadow:0 14px 36px rgba(0,0,0,.17);
}
* {box-sizing:border-box}
html{font-family:var(--atelier-font);-webkit-text-size-adjust:100%}
body{overflow-wrap:break-word;font-family:var(--atelier-font);}
:is(main,section,article,aside,.workspace,.app-shell,.shell,.fd-shell,.card,.account-card,.panel){min-width:0}
:is(h1,h2,h3,h4,.hero h1,.topbar h1){font-family:var(--atelier-font);font-weight:730;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;hyphens:auto;text-wrap:balance}
:is(p,li,small,span,label,td,th){overflow-wrap:anywhere}
:is(input,select,textarea,button){font-family:inherit}
:is(input,select,textarea){max-width:100%;min-width:0}
:is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--atelier-focus)!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* One native navigation per app. The cross-app switch is a small, accessible dropdown, not a second header. */
.fd-ecosystem{position:relative;display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;isolation:isolate;min-width:0;font:600 13px/1.3 var(--atelier-font);direction:ltr}
.fd-ecosystem summary{display:flex;align-items:center;justify-content:space-between;gap:9px;list-style:none;cursor:pointer;padding:9px 13px;border-radius:10px;border:1px solid var(--atelier-line);color:var(--atelier-ink);background:var(--atelier-panel);white-space:nowrap;min-height:40px;transition:background .15s ease}
.fd-ecosystem summary::-webkit-details-marker{display:none}
.fd-ecosystem summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none}
.fd-ecosystem[open] summary{background:var(--atelier-subtle);border-color:var(--atelier-accent)}
.fd-ecosystem-list{position:absolute;top:calc(100% + 9px);right:0;z-index:9999;width:min(295px,calc(100vw - 24px));max-height:min(70vh,500px);overflow:auto;display:grid;gap:3px;padding:8px;border-radius:13px;border:1px solid var(--atelier-line);background:var(--atelier-panel);color:var(--atelier-ink);box-shadow:0 22px 50px #0002}
.fd-ecosystem-list a{display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;padding:9px 11px!important;color:var(--atelier-ink)!important;text-decoration:none!important;font:600 13px/1.3 var(--atelier-font)!important;border:0!important;border-radius:8px!important;white-space:normal!important;background:transparent!important}
.fd-ecosystem-list a:hover,.fd-ecosystem-list a:focus-visible{background:var(--atelier-subtle)!important}
.fd-ecosystem-list a[aria-current="page"]{color:var(--atelier-accent)!important;background:var(--atelier-subtle)!important}
.fd-ecosystem-list a:before{content:"↗";color:var(--atelier-muted);font-weight:700;font-size:12px}
.fd-ecosystem-list a[aria-current="page"]:before{content:"●";font-size:10px;color:var(--atelier-mint)}
.fd-ecosystem-heading{padding:9px 11px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--atelier-muted);font-weight:800}
.site-nav .fd-ecosystem,.nav-links .fd-ecosystem,.marketing-nav-actions .fd-ecosystem{margin-inline:4px}
.sidebar .fd-ecosystem{display:flex;width:100%;margin:0 0 12px}
.sidebar .fd-ecosystem summary{width:100%}
.sidebar .fd-ecosystem-list{left:0;right:auto}
@media(max-width:720px){.fd-ecosystem-list{right:auto;left:0}.marketing-nav-actions .fd-ecosystem{order:0}}
/* Public portal — restrained editorial hierarchy / correct grid sizing */
body.parent-body{background:var(--atelier-ground)!important;color:var(--atelier-ink)!important;line-height:1.6}
.parent-body .site-nav{background:var(--atelier-panel)!important;border-bottom:1px solid var(--atelier-line)!important;box-shadow:none!important}
.parent-body .nav-inner{width:min(100% - 48px,1240px)!important;min-height:76px!important;padding:0!important;flex-wrap:wrap}
.parent-body .nav-links{gap:14px!important;margin-inline:auto!important;flex-wrap:wrap}
.parent-body .nav-links a{color:var(--atelier-muted)!important;font-size:13px!important;min-height:40px!important;padding:9px 6px!important}
.parent-body .nav-links a:hover{color:var(--atelier-accent)!important;background:transparent!important}
.parent-body .hero{padding:clamp(64px,8vw,120px) 0 76px!important;display:block!important;min-height:auto!important;background:radial-gradient(ellipse at 88% 15%,#6478d70e,transparent 54%)}
.parent-body .hero .hero-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;gap:clamp(30px,5vw,92px)!important;align-items:center!important}
.parent-body .hero h1{font-size:clamp(2.75rem,5.5vw,5.55rem)!important;line-height:1.035!important;letter-spacing:-.065em!important;max-width:12.6ch!important;margin:18px 0 24px!important;font-weight:770!important;text-wrap:balance}
.parent-body .hero .lead{font-size:clamp(1.02rem,1.4vw,1.17rem)!important;line-height:1.72!important;max-width:61ch!important;color:var(--atelier-muted)!important}
.parent-body .hero-card{width:100%;min-width:0;max-width:450px;justify-self:end;padding:clamp(25px,3vw,42px)!important;border:1px solid var(--atelier-line)!important;border-radius:22px!important;background:var(--atelier-panel)!important;box-shadow:var(--atelier-shadow)!important;overflow:hidden}
.parent-body .hero-card h2{font-size:clamp(1.45rem,2.3vw,2.55rem)!important;line-height:1.2!important;letter-spacing:-.042em!important;overflow-wrap:break-word!important;word-break:normal!important;margin:25px 0 20px!important;max-width:100%!important}
.parent-body .hero-card p{font-size:15px!important;color:var(--atelier-muted)!important}
.parent-body .eyebrow{color:var(--atelier-accent)!important;letter-spacing:.13em!important;font:800 11px/1.4 var(--atelier-font)!important}
.parent-body .fd-button:not(.secondary){background:var(--atelier-accent)!important;color:white!important;border-color:transparent!important}
.parent-body .fd-button.secondary{background:var(--atelier-panel)!important;color:var(--atelier-ink)!important;border-color:var(--atelier-line)!important}
.parent-body .fd-cluster{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
.parent-body .project-card{background:var(--atelier-panel)!important;border:1px solid var(--atelier-line)!important;border-radius:16px!important;box-shadow:none!important;transition:transform .18s ease,box-shadow .18s ease}
.parent-body .project-card:hover{transform:translateY(-3px);box-shadow:var(--atelier-shadow)!important}
.parent-body .project-card .meta{color:var(--atelier-accent)!important}
.parent-body .section{padding:70px 0!important;display:block!important}
.parent-body .section h2{font-size:clamp(1.75rem,3vw,2.65rem)!important}
.parent-body .section .ds-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))!important;gap:18px!important}
.parent-body .section .project-card p,.parent-body .capability p{color:var(--atelier-muted)!important}
.parent-body .site-footer{background:var(--atelier-panel);border-top:1px solid var(--atelier-line)}
/* Map page: self-contained typography/layout (previously relied on missing legacy CSS). */
.parent-body:has(.version-grid) .hero{padding:72px 0 45px!important}
.parent-body:has(.version-grid) .hero h1{max-width:19ch!important;font-size:clamp(2.6rem,4.6vw,4.8rem)!important}
.parent-body .version-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.parent-body .version-card{display:flex!important;flex-direction:column!important;gap:10px!important;padding:26px!important;min-height:255px!important;border:1px solid var(--atelier-line)!important;border-radius:17px!important;background:var(--atelier-panel)!important;box-shadow:none!important}
.parent-body .version-card h2{font-size:1.16rem!important;line-height:1.34!important;margin:12px 0 0!important}
.parent-body .version-card p{color:var(--atelier-muted)!important;font-size:14px!important;line-height:1.55!important;flex:1}
.parent-body .version-head,.parent-body .version-meta{display:flex!important;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.parent-body .version-head strong{color:var(--atelier-accent);font-size:13px}
.parent-body .type-badge{color:var(--atelier-muted)!important;border-color:var(--atelier-line)!important}
.parent-body .version-link{color:var(--atelier-accent)!important}
.parent-body .history-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.parent-body .history-card{background:var(--atelier-panel)!important;border:1px solid var(--atelier-line)!important;border-radius:16px!important;padding:24px!important}
.parent-body .history-card strong{font-size:15px}
.parent-body .version-chips span{border-color:var(--atelier-line)!important;background:var(--atelier-subtle)!important;color:var(--atelier-ink)!important}
.parent-body .map-flow{background:var(--atelier-panel)!important;border:1px solid var(--atelier-line);border-radius:18px;padding:28px!important}
@media(max-width:950px){.parent-body .hero .hero-grid{grid-template-columns:1fr!important}.parent-body .hero-card{max-width:none;justify-self:stretch}.parent-body .version-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.parent-body .nav-inner{width:min(100% - 30px,1240px)!important}.parent-body .hero{padding:45px 0!important}.parent-body .hero h1{font-size:clamp(2.25rem,10vw,3.75rem)!important}.parent-body .version-grid,.parent-body .history-grid{grid-template-columns:1fr!important}.parent-body .section{padding:44px 0!important}}
/* PromptFactory Studio: panel system, readable step navigation, no truncated words. */
body[data-authenticated="1"]{--pf-sidebar:262px}
body[data-authenticated="1"] .app-shell{display:grid!important;grid-template-columns:minmax(218px,262px) minmax(0,1fr)!important}
body[data-authenticated="1"] .sidebar{width:auto!important;min-width:0!important;overflow-y:auto!important;overflow-x:visible!important;position:sticky!important;top:0!important;height:100dvh!important;padding:23px 16px!important;gap:16px!important}
body[data-authenticated="1"] .side-nav{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;overflow:visible!important}
body[data-authenticated="1"] .side-nav .nav-item{display:flex!important;grid-template-columns:none!important;white-space:normal!important;width:100%!important;min-width:0!important;gap:8px!important;align-items:center!important;padding:12px 13px!important;line-height:1.35!important;font-size:13px!important;border-radius:10px!important;min-height:46px!important}
body[data-authenticated="1"] .side-nav .nav-item.active{border-color:var(--atelier-accent)!important;box-shadow:inset 3px 0 0 var(--atelier-accent)!important}
body[data-authenticated="1"] .brand{min-width:0!important}
body[data-authenticated="1"] .brand strong{font-size:13px!important}
body[data-authenticated="1"] .workspace{min-width:0!important;max-width:none!important;overflow:visible!important;padding:clamp(16px,2.1vw,32px)!important}
body[data-authenticated="1"] .workspace .topbar{min-width:0!important;display:flex!important;flex-wrap:wrap!important;gap:22px!important;padding:clamp(20px,2.4vw,34px)!important;border-radius:20px!important}
body[data-authenticated="1"] .workspace .topbar h1{font-size:clamp(1.85rem,3vw,3.2rem)!important;line-height:1.13!important;max-width:23ch!important}
body[data-authenticated="1"] .topbar-actions{flex:1 1 310px!important;gap:7px!important;justify-content:flex-end!important;max-width:600px}
body[data-authenticated="1"] .layout-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.85fr)!important;gap:20px!important}
body[data-authenticated="1"] .studio-stage-nav{display:flex!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important}
body[data-authenticated="1"] .studio-stage-nav a{white-space:normal!important;line-height:1.3!important;min-width:0!important}
body[data-authenticated="1"] .section-card{padding:clamp(16px,2vw,28px)!important}
body[data-authenticated="1"] .side-card{display:none!important}
body[data-authenticated="1"] .metrics-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1250px){body[data-authenticated="1"] .layout-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:1000px){body[data-authenticated="1"] .app-shell{grid-template-columns:1fr!important}body[data-authenticated="1"] .sidebar{position:relative!important;height:auto!important;width:100%!important;padding:14px!important;overflow:visible!important}body[data-authenticated="1"] .side-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important}body[data-authenticated="1"] .side-nav .nav-item{min-width:130px!important;max-width:190px!important;flex:0 0 auto!important}body[data-authenticated="1"] .workspace{padding:16px!important}}
@media(max-width:720px){body[data-authenticated="1"] .topbar-actions{justify-content:flex-start!important}body[data-authenticated="1"] .metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}body[data-authenticated="1"] .form-grid,body[data-authenticated="1"] .form-grid.two{grid-template-columns:1fr!important}}
/* PromptFactory admin: rows + pricing plan forms must remain readable at 320px. */
body.admin-auth-page .account-shell{width:min(100% - 36px,1320px)!important;margin-inline:auto!important;max-width:1320px!important;padding:36px 0 90px!important;min-width:0}
body.admin-auth-page .account-card{max-width:100%;min-width:0;overflow:visible;border:1px solid var(--atelier-line)!important;border-radius:18px!important;padding:clamp(18px,2.5vw,32px)!important;box-shadow:var(--atelier-shadow)!important}
body.admin-auth-page .account-card h2{font-size:clamp(1.25rem,2vw,1.7rem)!important;margin-bottom:10px!important}
body.admin-auth-page .plan-editor-v2{min-width:0;max-width:100%;display:grid!important;gap:18px!important;padding:24px 0!important;margin-bottom:8px!important;border-bottom:1px solid var(--atelier-line)!important}
body.admin-auth-page :is(.plan-editor-head,.plan-editor-grid){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
body.admin-auth-page .plan-editor-v2 .field{min-width:0!important;display:grid!important;gap:8px!important}
body.admin-auth-page .plan-editor-v2 .field input{width:100%!important;min-height:43px!important}
body.admin-auth-page .plan-capability-checks{display:flex!important;flex-wrap:wrap!important;gap:12px!important;background:var(--atelier-subtle)!important;padding:12px!important;border-radius:12px!important}
body.admin-auth-page .plan-capability-checks label{display:inline-flex!important;align-items:center!important;gap:8px!important;white-space:normal!important;min-height:38px!important;font-size:13px!important}
body.admin-auth-page .plan-capability-checks input[type=checkbox]{width:18px!important;height:18px!important;flex:none!important;accent-color:var(--atelier-accent)!important}
body.admin-auth-page .plan-editor-v2 >button{width:auto!important;justify-self:start!important;min-width:190px!important;min-height:44px!important;border-radius:10px!important}
body.admin-auth-page .data-table{min-width:810px}
@media(max-width:950px){body.admin-auth-page .plan-editor-head,body.admin-auth-page .plan-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){body.admin-auth-page .account-shell{width:min(100% - 24px,1320px)!important}body.admin-auth-page .plan-editor-head,body.admin-auth-page .plan-editor-grid{grid-template-columns:1fr!important}body.admin-auth-page .plan-editor-v2 >button{width:100%!important}}
/* Blog: header remains single, no injected fleet bar. Keep admin action in authenticated pages only. */
body.public-body .site-header{box-shadow:0 2px 25px #00000007!important}
body.public-body .site-header-inner{gap:14px!important;max-width:1320px!important}
body.public-body .site-nav{position:static!important;top:auto!important;min-width:0!important;border:0!important;background:transparent!important;backdrop-filter:none!important}
body.public-body .site-nav a{font-size:13px!important;white-space:nowrap!important}
body.admin-body .admin-topbar{width:auto!important;max-width:100%!important;margin:0!important;border-radius:0!important;flex-wrap:wrap!important}
body.admin-body :is(.admin-global-update-button,.admin-global-update-form button){min-height:42px!important;max-width:100%;font-size:13px!important;line-height:1.2!important;white-space:normal!important}
body.admin-body .admin-global-update-button small{font-size:10px!important}
/* Git Installer + Radar: harmonized hierarchy and readable controls. */
body:has(.project-list),body:has(.fleet-table){font-family:var(--atelier-font)!important}
body:has(.project-list) .card,body:has(.fleet-table) .card{border-radius:18px!important;overflow:hidden;border:1px solid var(--atelier-line)!important;box-shadow:var(--atelier-shadow)!important}
body:has(.project-list) .hero h1,body:has(.fleet-table) .hero h1{font-size:clamp(1.9rem,3vw,3.3rem)!important;line-height:1.1!important}
body:has(.project-list) .project{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
body:has(.project-list) .project>*{min-width:0}
body:has(.project-list) .project p{overflow-wrap:anywhere;font-size:13px}
.fleet-table{overflow:auto!important;max-width:100%}.fleet-table table{min-width:680px;width:100%;border-collapse:collapse}.fleet-table th{font-weight:700;text-align:start}.fleet-table td,.fleet-table th{padding:12px!important;vertical-align:top}
/* Standalone incidents: no dependance on the rest of the stylesheet cascade. */
body.fbs-recovery-page{display:grid!important;place-items:center!important;background:var(--atelier-ground)!important;color:var(--atelier-ink)!important;min-height:100dvh!important;margin:0!important;padding:24px!important}
body.fbs-recovery-page .fbs-recovery-card{width:min(100%,640px)!important;min-width:0!important;background:var(--atelier-panel)!important;border:1px solid var(--atelier-line)!important;border-radius:20px!important;padding:clamp(24px,5vw,46px)!important;box-shadow:var(--atelier-shadow)!important}
body.fbs-recovery-page h1{font-size:clamp(1.7rem,4vw,2.6rem)!important;line-height:1.18!important;letter-spacing:-.04em!important;margin:22px 0 16px!important;max-width:25ch!important}
body.fbs-recovery-page p{font-size:15px!important;line-height:1.7!important;color:var(--atelier-muted)!important}
body.fbs-recovery-page .fbs-recovery-eyebrow{font:800 11px var(--atelier-font);color:var(--atelier-accent);letter-spacing:.12em}
body.fbs-recovery-page .fbs-recovery-action{display:inline-flex;padding:10px 14px;border-radius:9px;text-decoration:none!important;background:var(--atelier-accent);color:#fff!important}
/* Administration: one disclosure per pricing plan, one submit per entity. */
body.admin-auth-page .plan-accordion{border:1px solid var(--atelier-line);border-radius:13px;margin:13px 0;background:var(--atelier-panel);overflow:hidden}
body.admin-auth-page .plan-accordion >summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;list-style:none;font-size:15px;font-weight:760;min-height:59px;color:var(--atelier-ink)}
body.admin-auth-page .plan-accordion >summary::-webkit-details-marker{display:none}
body.admin-auth-page .plan-accordion >summary:after{content:"⌄";font-size:24px;font-weight:400;color:var(--atelier-accent);margin-left:10px}
body.admin-auth-page .plan-accordion[open] >summary{border-bottom:1px solid var(--atelier-line);background:var(--atelier-subtle)}
body.admin-auth-page .plan-accordion[open] >summary:after{content:"⌃"}
body.admin-auth-page .plan-accordion summary small{margin-inline-start:auto;font-size:12px;font-weight:600;white-space:nowrap;color:var(--atelier-muted)}
body.admin-auth-page .plan-accordion .plan-editor-v2{padding:22px!important;margin:0!important;border:0!important}
body.admin-auth-page .fd-admin-shellbar{width:min(100% - 36px,1320px)!important;max-width:1320px!important;margin:18px auto!important;box-shadow:var(--atelier-shadow)!important;border-radius:15px!important}
body.admin-auth-page .fd-admin-menu{display:flex!important;gap:5px!important;flex-wrap:wrap!important;align-items:center!important}
body.admin-auth-page .fd-admin-menu-separator{display:none!important}
body.admin-auth-page .fd-admin-menu-link{white-space:nowrap!important;min-height:39px!important;padding:9px 12px!important;font-size:12px!important;font-weight:650!important;border-radius:9px!important}
body.admin-auth-page .fd-admin-update-button{min-height:42px!important;padding:8px 15px!important;border-radius:9px!important}
body.admin-auth-page .fd-admin-update-button small{font-weight:600!important}
@media(max-width:650px){body.admin-auth-page .plan-accordion .plan-editor-v2{padding:16px!important}body.admin-auth-page .fd-admin-shellbar{width:min(100% - 20px,1320px)!important}}
/* Legacy "one" pages lacked their own token definitions on the version map.
   Map canonical Atelier semantics to the aliases used by older components. */
html[data-profile="fouad-one"]{
 --canvas:var(--atelier-ground);--surface:var(--atelier-panel);--surface-raised:var(--atelier-panel);
 --surface-muted:var(--atelier-subtle);--text:var(--atelier-ink);--text-muted:var(--atelier-muted);
 --border:var(--atelier-line);--brand:var(--atelier-accent);--brand-strong:var(--atelier-accent-hover);
 --secondary:var(--atelier-mint);--focus:var(--atelier-focus);--page-max:1240px;
 --control-radius:10px;--control-height:42px;--card-radius:16px;--shadow:var(--atelier-shadow);
}
.parent-body .fd-shell{width:min(100% - 48px,1240px)!important;max-width:1240px!important;margin-inline:auto!important}
@media(max-width:640px){.parent-body .fd-shell{width:min(100% - 28px,1240px)!important}}
body.public-body .fd-ecosystem summary,body[data-authenticated="1"] .fd-ecosystem summary{
 background:var(--panel,var(--atelier-panel));color:var(--text,var(--atelier-ink));border-color:var(--line,var(--atelier-line))}
body.public-body .fd-ecosystem-list,body[data-authenticated="1"] .fd-ecosystem-list{
 background:var(--panel,var(--atelier-panel));color:var(--text,var(--atelier-ink));border-color:var(--line,var(--atelier-line))}
body.public-body .fd-ecosystem-list a,body[data-authenticated="1"] .fd-ecosystem-list a{color:var(--text,var(--atelier-ink))!important}
/* Real mobile primary navigation (the previous V11 hid it without a reliable trigger). */
.parent-body .brand-mark{display:grid!important;place-items:center!important;flex:0 0 38px!important;border-radius:11px!important;background:var(--atelier-accent)!important;color:white!important;font-weight:800!important}
@media(max-width:900px){
 .parent-body .nav-inner{padding:12px 0!important;gap:8px!important;align-items:center!important}
 .parent-body .nav-links{display:flex!important;order:3!important;flex:1 1 100%!important;width:100%!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:3px 11px!important;margin:0!important}
 .parent-body .nav-links a{padding:7px 5px!important;min-height:36px!important;font-size:12px!important}
 .parent-body .mobile-menu{display:none!important}
 .parent-body .nav-tools{margin-inline-start:auto!important}
 .parent-body .nav-links .fd-ecosystem{margin:0!important}
}
/* Legacy display-heading rules used a white text-fill from the old dark-only theme. */
.parent-body :is(h1,h2,h3,h4,.brand strong,.brand){color:var(--atelier-ink)!important;-webkit-text-fill-color:currentColor!important;background-clip:border-box!important;text-shadow:none!important}
.parent-body :is(h1,h2,h3,h4){background-image:none!important}
.parent-body .theme-lock{display:none!important}
.parent-body .nav-links a{font-weight:650!important}
/* The portal's built-in mobile menu remains the one and only main menu. */
@media(max-width:900px){
 .parent-body:has(.mobile-menu) .nav-links{display:none!important}
 .parent-body .mobile-menu{display:block!important}
 .parent-body .mobile-menu summary{list-style:none!important;min-height:40px!important;cursor:pointer;color:var(--atelier-ink)!important;background:var(--atelier-panel)!important;border:1px solid var(--atelier-line)!important;border-radius:10px!important;padding:9px 15px!important;font-size:13px!important;font-weight:650!important}
 .parent-body .mobile-menu summary::-webkit-details-marker{display:none}
 .parent-body .mobile-menu .mobile-panel{position:absolute!important;left:14px!important;right:14px!important;top:calc(100% - 1px)!important;z-index:1000!important;display:none!important;padding:12px!important;border:1px solid var(--atelier-line)!important;background:var(--atelier-panel)!important;color:var(--atelier-ink)!important;box-shadow:0 20px 50px #0002!important;border-radius:14px!important}
 .parent-body .mobile-menu[open] .mobile-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
 .parent-body .mobile-panel a{font-size:13px!important;padding:11px!important;color:var(--atelier-ink)!important;white-space:normal!important;text-decoration:none!important}
 .parent-body .mobile-panel a:hover{background:var(--atelier-subtle)!important}
 .parent-body .fd-mobile-apps{grid-column:1/-1;border-top:1px solid var(--atelier-line);padding-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
 .parent-body .fd-mobile-apps strong{grid-column:1/-1;color:var(--atelier-muted);font-size:11px;padding:5px 10px;letter-spacing:.08em;text-transform:uppercase}
}
/* Replace old orange/cyan/violet global accents with V12 semantics, across legacy forms. */
html[data-mode],html[data-theme]{
 --pf-orange:var(--atelier-accent);--pf-orange-2:var(--atelier-accent-hover);
 --pf-cyan:var(--atelier-mint);--pf-cyan-2:var(--atelier-mint);
 --pf-indigo:var(--atelier-accent);--pf-violet:var(--atelier-accent);
 --pf-focus:var(--atelier-focus);--pf-glow:0 0 0 1px #6478d733,0 12px 30px #6478d70e;
}

/* V12.1 regression repairs — form controls, readable documentation, two theme states. */
html[data-mode="light"],html[data-theme="light"]{
 --fm-accent:#5264bd;--fm-focus:#536ad9;
 --atelier-accent:#5264bd;--atelier-accent-hover:#4054a9;
 --atelier-ink:#19243a;--atelier-muted:#56657e;
}
html[data-mode="dark"],html[data-theme="dark"]{
 --fm-accent:#a4b0ff;--fm-focus:#a4b0ff;
 --atelier-accent:#a4b0ff;--atelier-accent-hover:#c0c9ff;
}
/* Legacy Proton's :is(input, select, textarea) rule gave checkboxes 100% width,
   44px minimum height and text-field padding. Override at the control boundary. */
html body input[type="checkbox"],html body input[type="radio"],
html body .check-card input[type="checkbox"],html body .toggle-list input[type="checkbox"],
html body .plan-capability-checks input[type="checkbox"]{
 appearance:auto!important;-webkit-appearance:auto!important;
 inline-size:17px!important;block-size:17px!important;
 min-inline-size:17px!important;min-block-size:17px!important;
 max-inline-size:17px!important;max-block-size:17px!important;
 width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;
 margin:2px 0 0!important;padding:0!important;flex:0 0 17px!important;
 border:0!important;border-radius:3px!important;box-shadow:none!important;
 background:transparent!important;accent-color:var(--atelier-accent)!important;
 vertical-align:middle!important;cursor:pointer!important;
}
html body input[type="radio"]{border-radius:50%!important}
html body :is(.check-card,.toggle-list label){gap:12px!important;align-items:flex-start!important;min-width:0!important}
html body :is(.check-card,.toggle-list label)>span{min-width:0!important;flex:1 1 auto!important}
html body :is(.check-card,.toggle-list label) small{font-size:12px!important;line-height:1.45!important;font-weight:400!important}
html body :is(.check-card,.toggle-list label) strong{font-size:13px!important;line-height:1.4!important}
html body :is(.check-card,.toggle-list label):focus-within{outline:2px solid var(--atelier-focus)!important;outline-offset:2px!important}
/* Independent, keyboard-accessible switch in the application's current header. */
.fd-mode-switch{display:inline-flex!important;align-items:center!important;gap:3px!important;flex:0 0 auto!important;
 padding:3px!important;margin:0!important;border:1px solid var(--atelier-line)!important;
 border-radius:11px!important;background:var(--atelier-panel)!important;color:var(--atelier-ink)!important;
 box-shadow:none!important;vertical-align:middle!important}
.fd-mode-switch button{display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:7px 11px!important;min-height:35px!important;min-width:56px!important;width:auto!important;
 border:0!important;border-radius:8px!important;background:transparent!important;color:var(--atelier-muted)!important;
 font:650 12px/1.2 var(--atelier-font)!important;white-space:nowrap!important;cursor:pointer!important}
.fd-mode-switch button[aria-pressed="true"]{background:var(--atelier-subtle)!important;color:var(--atelier-ink)!important}
.fd-mode-switch button:hover{color:var(--atelier-ink)!important}
.fd-mode-switch button:focus-visible{outline:2px solid var(--atelier-focus)!important;outline-offset:1px!important}
/* Docs have their own intentional editorial layout; do not inherit a 12ch global hero cap. */
body.fd-docs{background:var(--fm-bg)!important;color:var(--fm-fg)!important}
body.fd-docs .fm-doc-nav{background:var(--fm-bg)!important;border-color:var(--fm-border)!important}
body.fd-docs .fm-doc-main{width:min(1160px,calc(100% - 40px))!important;margin-inline:auto!important}
body.fd-docs .fm-doc-hero{gap:clamp(20px,4vw,60px)!important;align-items:center!important}
body.fd-docs h1{max-width:15ch!important;font-size:clamp(2.8rem,5.4vw,5.6rem)!important;
 line-height:1.04!important;letter-spacing:-.055em!important;overflow-wrap:normal!important}
body.fd-docs h2{font-size:clamp(1.5rem,2.7vw,2.5rem)!important;line-height:1.17!important}
body.fd-docs p{line-height:1.65!important;max-width:74ch!important;color:var(--fm-muted)!important}
body.fd-docs .fm-doc-grid>*,body.fd-docs .fm-doc-hero>aside{padding:clamp(16px,2.5vw,30px)!important;
 background:var(--fm-subtle)!important;border:1px solid var(--fm-border)!important;border-radius:16px!important}
body.fd-docs .fm-doc-tools{align-items:center!important;justify-content:flex-end!important}
body.fd-docs .fm-doc-tools a{min-height:40px!important;font-size:13px!important}
body.fd-docs .fm-doc-section{border-bottom:1px solid var(--fm-border)!important;padding:clamp(28px,4vw,58px) 0!important}
body.fd-docs .fm-doc-kicker{color:var(--atelier-accent)!important}
body.fd-docs .fm-doc-brand{font-size:14px!important}
body.fd-docs .fm-doc-brand small{color:var(--fm-muted)!important}
body.fd-docs .ds-shell{max-width:100%!important}
body.fd-docs pre{white-space:pre-wrap!important;overflow-wrap:anywhere!important}
@media(max-width:840px){body.fd-docs .fm-doc-nav{flex-wrap:wrap!important;justify-content:space-between!important}
 body.fd-docs .fm-doc-tools{width:100%!important;justify-content:flex-start!important}
 body.fd-docs .fm-doc-hero{grid-template-columns:1fr!important}
 body.fd-docs .fm-doc-main{width:min(100% - 28px,1160px)!important}}
/* Recovery pages may be served without the rest of the app; prioritize legibility. */
body.fbs-recovery-page .fbs-recovery-card h1{color:var(--atelier-ink)!important;opacity:1!important;-webkit-text-fill-color:var(--atelier-ink)!important}
body.fbs-recovery-page .fbs-recovery-card p{color:var(--atelier-muted)!important}
body.fbs-recovery-page .fbs-recovery-action{display:inline-flex;min-height:43px;align-items:center;padding:10px 14px;
 background:var(--atelier-accent);color:var(--atelier-panel)!important;border-radius:9px;text-decoration:none;font-weight:650}
/* V12.1 cross-app color tokens override the legacy V9.5 single-dark lock. */
html[data-mode="light"],html[data-theme="light"]{
 --fm-bg:#f5f7fc;--fm-subtle:#ffffff;--fm-raised:#f0f3fb;--fm-overlay:#e7edfa;
 --fm-selected:#e6eafa;--fm-fg:#172138;--fm-muted:#5d6c85;--fm-subtle-fg:#64748b;
 --fm-accent:#5264bd;--fm-accent-ink:#ffffff;--fm-border:#dce3ef;--fm-border-strong:#adb9cc;
 --fm-focus:#536ad9;--fm-success:#128069;--fm-warning:#94600f;--fm-danger:#bc3649;
 color-scheme:light!important;background:var(--fm-bg)!important;color:var(--fm-fg)!important;
}
html[data-mode="dark"],html[data-theme="dark"]{
 --fm-bg:#0c1421;--fm-subtle:#151f2d;--fm-raised:#202c3d;--fm-overlay:#27364a;
 --fm-selected:#303f5e;--fm-fg:#f1f5fb;--fm-muted:#b0c0d4;--fm-subtle-fg:#a3b1c4;
 --fm-accent:#a5b4ff;--fm-accent-ink:#10182b;--fm-border:#344157;--fm-border-strong:#526079;
 --fm-focus:#a4b0ff;--fm-success:#65d4ad;--fm-warning:#f3be75;--fm-danger:#fa8c9f;
 color-scheme:dark!important;background:var(--fm-bg)!important;color:var(--fm-fg)!important;
}
html[data-mode="light"] body,html[data-theme="light"] body{background:var(--fm-bg)!important;color:var(--fm-fg)!important}
html[data-mode="dark"] body,html[data-theme="dark"] body{background:var(--fm-bg)!important;color:var(--fm-fg)!important}
/* Keep authoring theme buttons visible despite the V9.5 old 'hide switch' rule. */
html body .fd-theme-control:not([hidden]),html body .pf-theme-toggle:not([hidden]){display:inline-flex!important}
body.fd-docs .fm-doc-nav{background:var(--fm-bg)!important}

/* FouadDev Motion Atelier 12.2 — purposeful campaign-style animation.
   No paid ads, no external dependencies, no fictitious metrics.
   Primary content remains visible if JS is unavailable. */
:root{
 --fd-motion-ease:cubic-bezier(.2,.8,.2,1);
 --fd-motion-azure:#87b6ff;--fd-motion-coral:#ffb57a;
 --fd-motion-teal:#75e3d0;--fd-motion-violet:#c1aaff;
}
.parent-body .hero{position:relative;isolation:isolate;overflow:hidden}
.parent-body .hero:before{content:"";position:absolute;pointer-events:none;z-index:-1;inset:0;
 background:radial-gradient(ellipse 30% 35% at 79% 33%,color-mix(in srgb,var(--atelier-accent) 13%,transparent),transparent 95%),radial-gradient(ellipse 24% 36% at 21% 95%,color-mix(in srgb,var(--atelier-mint) 8%,transparent),transparent 100%)}
.parent-body .hero .hero-grid>div:first-child{animation:fd-motion-hero-in .9s var(--fd-motion-ease) both}
.parent-body .hero .hero-card{animation:fd-motion-hero-in .9s .12s var(--fd-motion-ease) both}
.parent-body .hero .fd-cluster a{transition:transform .2s ease,box-shadow .2s ease}
.parent-body .hero .fd-cluster a:hover{transform:translateY(-3px);box-shadow:0 8px 20px #667adb25}
/* Interactive studio diagram — each unit plays a different role. */
.parent-body .fd-studio-preview{position:relative;isolation:isolate;overflow:hidden;
 margin:-10px -10px 27px;padding:19px 17px 17px;min-height:194px;border-radius:16px;
 border:1px solid #ffffff27;color:#edf5ff!important;background:linear-gradient(135deg,#142b45 0%,#182339 54%,#272640 100%);
 box-shadow:inset 0 1px 0 #ffffff20,0 16px 30px #0e152624}
.parent-body .fd-studio-preview:before{content:"";position:absolute;inset:-50%;z-index:-1;
 background:conic-gradient(from 0deg,transparent 0deg,#60cfc920 75deg,transparent 126deg,#8b9df020 195deg,transparent 245deg,#f1a36d20 310deg,transparent 360deg);
 animation:fd-motion-spin 19s linear infinite}
.parent-body .fd-studio-preview:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.21;
 background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 0%,#000 75%)}
.parent-body .fd-studio-overline,.parent-body .fd-studio-foot{position:relative;z-index:2;display:flex;align-items:center;gap:7px;font:750 10px/1.2 var(--atelier-font);letter-spacing:.09em;color:#d2dbf0}
.parent-body .fd-pulse-dot{width:7px;height:7px;border-radius:50%;background:#7be3d1;box-shadow:0 0 0 4px #75e3d024;animation:fd-motion-pulse 3s ease-in-out infinite}
.parent-body .fd-studio-bars{display:flex;align-items:end;gap:3px;height:12px;margin-inline-start:auto}
.parent-body .fd-studio-bars i{display:block;width:3px;height:6px;border-radius:2px;background:#80ead3;animation:fd-motion-equalize 1.6s ease-in-out infinite alternate}
.parent-body .fd-studio-bars i:nth-child(2){height:11px;animation-delay:.34s}.parent-body .fd-studio-bars i:nth-child(3){height:7px;animation-delay:.7s}.parent-body .fd-studio-bars i:nth-child(4){height:9px;animation-delay:.9s}
.parent-body .fd-studio-flow{position:relative;z-index:2;margin:26px 0 23px;display:flex;align-items:center;justify-content:space-between;gap:6px;direction:ltr}
.parent-body .fd-flow-node{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;flex:1 1 0;min-width:0;height:76px;
 border:1px solid #ffffff28;border-radius:12px;background:#f9fbff0c;box-shadow:inset 0 1px 0 #ffffff16;backdrop-filter:blur(2px)}
.parent-body .fd-flow-node b{font-size:21px;letter-spacing:-.07em;color:#e7f0ff}.parent-body .fd-flow-node em{font-style:normal;font:750 9px/1.2 var(--atelier-font);letter-spacing:.06em;color:#b2c0d8}
.parent-body .fd-flow-node i{position:absolute;right:8px;top:8px;width:5px;height:5px;background:#8cebd9;border-radius:50%;box-shadow:0 0 9px #8cebd9}
.parent-body .fd-flow-factory i{background:#cbb4ff;box-shadow:0 0 9px #cbb4ff}.parent-body .fd-flow-blog i{background:#ffcb96;box-shadow:0 0 9px #ffcb96}
.parent-body .fd-flow-link{position:relative;flex:0 1 22px;height:1px;min-width:8px;background:#7d90ae88}
.parent-body .fd-flow-link:after{content:"";position:absolute;width:6px;height:6px;top:-2.5px;left:-2px;border-radius:50%;background:#8be2da;box-shadow:0 0 8px #8be2da;animation:fd-motion-transfer 3.3s ease-in-out infinite}
.parent-body .fd-flow-link:nth-of-type(4):after{animation-delay:1.65s}
.parent-body .fd-studio-foot{justify-content:space-between;color:#a4b1c8;font-size:9px;letter-spacing:.1em}
/* A moving editorial ribbon, separate from navigation (not a second menu). */
.parent-body .fd-promo-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.parent-body .fd-motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;
 padding:9px 13px;background:var(--atelier-panel);border:1px solid var(--atelier-line);border-radius:12px;
 color:var(--atelier-ink);font:680 12px/1.3 var(--atelier-font);cursor:pointer}
.parent-body .fd-motion-toggle:hover{border-color:var(--atelier-accent);background:var(--atelier-subtle)}
.parent-body .fd-motion-toggle-icon{font-size:16px;width:15px;line-height:1;display:inline-block;color:var(--atelier-accent)}
.parent-body .fd-promo-ribbon{position:relative;overflow:hidden;display:flex;align-items:center;height:43px;margin:0 0 20px;
 border-block:1px solid var(--atelier-line);background:color-mix(in srgb,var(--atelier-panel) 75%,var(--atelier-subtle));
 mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}
.parent-body .fd-promo-ribbon-track{display:flex;align-items:center;width:max-content;flex:0 0 auto;animation:fd-motion-marquee 32s linear infinite}
.parent-body .fd-promo-ribbon-track span{flex:0 0 auto;white-space:nowrap;display:flex;align-items:center;gap:24px;padding-inline-end:24px;
 font:790 11px/1.3 var(--atelier-font);letter-spacing:.16em;color:var(--atelier-muted)}
.parent-body .fd-promo-ribbon-track i{font-size:15px;font-style:normal;color:var(--atelier-mint)}
/* Product launch-like cards with seven custom animated visual signatures. */
.parent-body .section .fd-promo-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:18px!important}
.parent-body .fd-promo-card{position:relative;isolation:isolate;display:flex!important;flex-direction:column;gap:13px!important;
 grid-column:span 4;min-height:325px!important;padding:23px!important;overflow:hidden;
 border-radius:21px!important;background:var(--atelier-panel)!important;
 border:1px solid var(--atelier-line)!important;color:var(--atelier-ink)!important;
 transition:transform .32s var(--fd-motion-ease),box-shadow .32s var(--fd-motion-ease),border-color .32s ease!important}
.parent-body .fd-promo-card:nth-child(n+4){grid-column:span 3}
.parent-body .fd-promo-card:hover,.parent-body .fd-promo-card:focus-visible{transform:translateY(-7px)!important;
 border-color:color-mix(in srgb,var(--atelier-accent) 65%,var(--atelier-line))!important;
 box-shadow:0 24px 65px #0d1a3420!important}
.parent-body .fd-promo-card:after{content:"";position:absolute;z-index:-1;inset:auto -50% -100% -50%;height:140%;pointer-events:none;
 background:radial-gradient(ellipse,var(--fd-promo-halo,#8798ff23),transparent 70%);opacity:0;transition:opacity .5s ease}
.parent-body .fd-promo-card:hover:after{opacity:1}
.parent-body .fd-promo-card[data-fd-promo="blog"]{--fd-promo-halo:#77baea36;--fd-promo-color:#79befc}
.parent-body .fd-promo-card[data-fd-promo="prompt"]{--fd-promo-halo:#a995e936;--fd-promo-color:#b7a3ff}
.parent-body .fd-promo-card[data-fd-promo="radar"]{--fd-promo-halo:#4dcdbb36;--fd-promo-color:#68dcc8}
.parent-body .fd-promo-card[data-fd-promo="git"]{--fd-promo-halo:#eab48436;--fd-promo-color:#ffd097}
.parent-body .fd-promo-card[data-fd-promo="map"]{--fd-promo-halo:#789fe836;--fd-promo-color:#9cb6ff}
.parent-body .fd-promo-card[data-fd-promo="design"]{--fd-promo-halo:#e49cc736;--fd-promo-color:#ffaed4}
.parent-body .fd-promo-card[data-fd-promo="android"]{--fd-promo-halo:#82d99836;--fd-promo-color:#91e0b1}
.parent-body .fd-promo-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px}
.parent-body .fd-promo-glyph{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;
 background:color-mix(in srgb,var(--fd-promo-color) 18%,var(--atelier-panel));color:var(--atelier-ink);font-size:25px;font-weight:750;line-height:1}
.parent-body .fd-promo-num{font:790 10px/1.2 var(--atelier-font);letter-spacing:.11em;color:var(--atelier-muted);text-align:end}
.parent-body .fd-promo-card>strong{font-size:18px;line-height:1.22;letter-spacing:-.025em;color:var(--atelier-ink)!important}
.parent-body .fd-promo-card>p{color:var(--atelier-muted)!important;line-height:1.58!important;font-size:13px!important;flex:1;margin:0!important}
.parent-body .fd-promo-card>.meta{display:flex;align-items:center;margin-top:2px!important;
 color:var(--atelier-accent)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.015em;overflow-wrap:anywhere;
 transition:letter-spacing .2s ease,color .2s ease}
.parent-body .fd-promo-card:hover>.meta{letter-spacing:.04em}
.parent-body .fd-promo-art{position:relative;display:block;flex:0 0 auto;height:98px;width:100%;overflow:hidden;border:1px solid #dce9ff21;border-radius:14px;
 background:linear-gradient(130deg,#102038,#1a2844 55%,#202943);box-shadow:inset 0 1px 0 #ffffff1b;direction:ltr}
.parent-body .fd-promo-art:before{content:"";position:absolute;inset:0;opacity:.32;
 background-image:linear-gradient(#c5e5ff10 1px,transparent 1px),linear-gradient(90deg,#c5e5ff10 1px,transparent 1px);background-size:20px 20px}
.parent-body .fd-promo-art:after{content:"";position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(108deg,transparent 40%,#ffffff0c 50%,transparent 60%);
 transform:translateX(-70%) rotate(5deg);animation:fd-motion-glimmer 8s ease-in-out infinite}
.parent-body .fd-promo-art i{display:block;position:absolute;box-sizing:border-box}
/* Blog: modular editorial page tiles. */
.parent-body [data-fd-promo="blog"] .fd-promo-art i{height:63px;width:28%;top:17px;border-radius:7px;background:#eff5ff;border:1px solid #ffffff85;
 box-shadow:0 10px 18px #0005;transform:rotate(-5deg)}
.parent-body [data-fd-promo="blog"] .fd-promo-art i:nth-child(1){left:9%;background:linear-gradient(#91b7fc 0 36%,#f2f6ff 36%);animation:fd-motion-tile 5s ease-in-out infinite}
.parent-body [data-fd-promo="blog"] .fd-promo-art i:nth-child(2){left:36%;background:linear-gradient(#7bdccf 0 45%,#e6f3ff 45%);transform:rotate(4deg) scale(1.06);animation:fd-motion-tile 5s .45s ease-in-out infinite}
.parent-body [data-fd-promo="blog"] .fd-promo-art i:nth-child(3){left:65%;background:linear-gradient(#ffbc8a 0 28%,#f5f6ff 28%);animation:fd-motion-tile 5s .9s ease-in-out infinite}
.parent-body [data-fd-promo="blog"] .fd-promo-art i:nth-child(4){height:3px;width:57%;top:76px;left:22%;background:#91aaf4;border-radius:4px;opacity:.6}
/* Prompt Factory: combinatorial compiler nodes */
.parent-body [data-fd-promo="prompt"] .fd-promo-art i{height:37px;width:22%;top:31px;border-radius:8px;border:1px solid #ffffff50;background:#9eabf777;box-shadow:0 0 15px #a4b4fb28}
.parent-body [data-fd-promo="prompt"] .fd-promo-art i:nth-child(1){left:10%;animation:fd-motion-tile 4.5s ease-in-out infinite}
.parent-body [data-fd-promo="prompt"] .fd-promo-art i:nth-child(2){left:39%;background:#88dccc8c;animation:fd-motion-tile 4.5s .5s ease-in-out infinite}
.parent-body [data-fd-promo="prompt"] .fd-promo-art i:nth-child(3){left:68%;background:#ffc89485;animation:fd-motion-tile 4.5s 1s ease-in-out infinite}
.parent-body [data-fd-promo="prompt"] .fd-promo-art i:nth-child(4){left:11%;top:49px;height:2px;width:78%;z-index:0;background:linear-gradient(90deg,#92aafa,#82dfce,#ffc894)}
/* Radar: slow sweep over a gridded field */
.parent-body [data-fd-promo="radar"] .fd-promo-art i:nth-child(-n+3){width:90px;height:90px;top:3px;left:calc(50% - 45px);border:1px solid #78dec27a;border-radius:50%}
.parent-body [data-fd-promo="radar"] .fd-promo-art i:nth-child(2){transform:scale(.69)}.parent-body [data-fd-promo="radar"] .fd-promo-art i:nth-child(3){transform:scale(.35)}
.parent-body [data-fd-promo="radar"] .fd-promo-art i:nth-child(4){width:45px;height:45px;top:5px;left:50%;transform-origin:0 100%;
 background:linear-gradient(130deg,#62e0c077,transparent 65%);clip-path:polygon(0 100%,100% 0,100% 100%);animation:fd-motion-sweep 7s linear infinite}
/* Version control: connected commits */
.parent-body [data-fd-promo="git"] .fd-promo-art i{width:15px;height:15px;top:40px;border-radius:50%;background:#ffc58f;border:4px solid #3e4b60;box-shadow:0 0 0 2px #ffc58f;z-index:1}
.parent-body [data-fd-promo="git"] .fd-promo-art i:nth-child(1){left:18%}.parent-body [data-fd-promo="git"] .fd-promo-art i:nth-child(2){left:47%;top:18px}.parent-body [data-fd-promo="git"] .fd-promo-art i:nth-child(3){left:77%}
.parent-body [data-fd-promo="git"] .fd-promo-art i:nth-child(4){left:21%;top:49px;width:57%;height:2px;border:0;border-radius:0;background:#e6bc93;box-shadow:none;transform:rotate(-1deg)}
/* Map: release timeline bars */
.parent-body [data-fd-promo="map"] .fd-promo-art i{bottom:17px;width:14%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#9cb6ff,#5c6ca5)}
.parent-body [data-fd-promo="map"] .fd-promo-art i:nth-child(1){left:14%;height:23px}.parent-body [data-fd-promo="map"] .fd-promo-art i:nth-child(2){left:33%;height:52px}.parent-body [data-fd-promo="map"] .fd-promo-art i:nth-child(3){left:52%;height:38px}.parent-body [data-fd-promo="map"] .fd-promo-art i:nth-child(4){left:71%;height:66px}
/* Design: semantic palette, not random flashing */
.parent-body [data-fd-promo="design"] .fd-promo-art i{height:58px;width:20%;top:19px;border-radius:10px;transform:rotate(-9deg);box-shadow:0 9px 16px #0004}
.parent-body [data-fd-promo="design"] .fd-promo-art i:nth-child(1){left:10%;background:#a5b2ff}.parent-body [data-fd-promo="design"] .fd-promo-art i:nth-child(2){left:31%;background:#80e0ce;transform:rotate(-3deg)}
.parent-body [data-fd-promo="design"] .fd-promo-art i:nth-child(3){left:52%;background:#ffbc94;transform:rotate(6deg)}
.parent-body [data-fd-promo="design"] .fd-promo-art i:nth-child(4){left:73%;background:#f29cc8;transform:rotate(11deg)}
/* Android: native viewport mockup */
.parent-body [data-fd-promo="android"] .fd-promo-art i:nth-child(1){top:6px;left:calc(50% - 27px);height:85px;width:54px;border:3px solid #b9e9cd;border-radius:11px;background:linear-gradient(145deg,#55758e,#1a2e43);box-shadow:0 0 21px #99e3ae24}
.parent-body [data-fd-promo="android"] .fd-promo-art i:nth-child(2){top:26px;left:calc(50% - 18px);width:36px;height:12px;border-radius:3px;background:#75d6be}
.parent-body [data-fd-promo="android"] .fd-promo-art i:nth-child(3){top:44px;left:calc(50% - 18px);width:36px;height:24px;border-radius:3px;background:#9fb3e8}
.parent-body [data-fd-promo="android"] .fd-promo-art i:nth-child(4){top:74px;left:calc(50% - 3px);width:6px;height:3px;border-radius:3px;background:#cce9e5}
/* Progressive scroll entrance is opt-in; the site remains visible without JS. */
html.fd-motion-ready [data-fd-reveal]:not(.fd-motion-visible){opacity:0;transform:translateY(23px)}
html.fd-motion-ready [data-fd-reveal]{transition:opacity .7s var(--fd-motion-ease),transform .7s var(--fd-motion-ease),border-color .22s ease,box-shadow .24s ease!important}
html.fd-motion-ready [data-fd-reveal].fd-motion-visible{opacity:1;transform:translateY(0)}
html.fd-motion-ready .fd-promo-card.fd-motion-visible:hover{transform:translateY(-7px)!important}
.parent-body .version-card:hover{border-color:var(--atelier-accent)!important;box-shadow:var(--atelier-shadow)!important}
/* Never suggest a request is being processed on an incident page. Only introduce the static card. */
body.fbs-recovery-page .fbs-recovery-card{animation:fd-motion-hero-in .55s var(--fd-motion-ease) both}
/* User-activated pause and accessibility preferences stop all decorative looping. */
html.fd-motion-paused .fd-studio-preview:before,html.fd-motion-paused .fd-studio-bars i,html.fd-motion-paused .fd-pulse-dot,
html.fd-motion-paused .fd-flow-link:after,html.fd-motion-paused .fd-promo-ribbon-track,
html.fd-motion-paused .fd-promo-art:after,html.fd-motion-paused .fd-promo-art i{animation-play-state:paused!important}
@keyframes fd-motion-hero-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fd-motion-spin{to{transform:rotate(360deg)}}
@keyframes fd-motion-pulse{50%{box-shadow:0 0 0 9px #75e3d002}}
@keyframes fd-motion-equalize{to{height:3px;opacity:.4}}
@keyframes fd-motion-transfer{0%{left:-2px;opacity:0}25%{opacity:1}75%{opacity:1}100%{left:calc(100% - 2px);opacity:0}}
@keyframes fd-motion-tile{50%{translate:0 -5px}}
@keyframes fd-motion-sweep{to{transform:rotate(360deg)}}
@keyframes fd-motion-glimmer{0%,35%{transform:translateX(-75%) rotate(5deg)}65%,100%{transform:translateX(75%) rotate(5deg)}}
@keyframes fd-motion-marquee{to{transform:translateX(-50%)}}
@media(min-width:951px) and (max-width:1170px){.parent-body .fd-promo-card:nth-child(n){grid-column:span 6}}
@media(max-width:950px){.parent-body .section .fd-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.parent-body .fd-promo-card:nth-child(n){grid-column:span 1}.parent-body .fd-promo-card{min-height:315px!important}}
@media(max-width:600px){
 .parent-body .fd-studio-preview{margin:-5px -4px 24px;padding:14px;min-height:169px}
 .parent-body .fd-studio-flow{margin:20px 0}
 .parent-body .fd-flow-node{height:65px}.parent-body .fd-flow-node b{font-size:18px}
 .parent-body .section .fd-promo-grid{grid-template-columns:1fr!important;gap:13px!important}
 .parent-body .fd-promo-card:nth-child(n){grid-column:1}
 .parent-body .fd-promo-card{min-height:285px!important;padding:19px!important;gap:11px!important}
 .parent-body .fd-promo-art{height:85px}
 .parent-body .fd-promo-heading{align-items:center}
 .parent-body .fd-motion-toggle{font-size:11px;min-height:36px}
}
@media(prefers-reduced-motion:reduce){
 .parent-body .hero .hero-grid>div:first-child,.parent-body .hero .hero-card,
 body.fbs-recovery-page .fbs-recovery-card{animation:none!important}
 .parent-body .fd-studio-preview:before,.parent-body .fd-studio-bars i,.parent-body .fd-pulse-dot,
 .parent-body .fd-flow-link:after,.parent-body .fd-promo-ribbon-track,.parent-body .fd-promo-art:after,
 .parent-body .fd-promo-art i{animation:none!important}
 html.fd-motion-ready [data-fd-reveal]{opacity:1!important;transform:none!important;transition:none!important}
 .parent-body .fd-promo-card:hover{transform:none!important}
}
