:root{
  --vx-accent:#5de8ff;--vx-accent2:#7b61ff;--vx-bg:#05060b;--vx-bg2:#0b0f1d;--vx-surface:#0d1220;--vx-text:#f7f9ff;--vx-muted:#98a7bf;
  --vx-max:1320px;--vx-pad:28px;--vx-gap:22px;--vx-radius:24px;--vx-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--vx-heading:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--vx-bg);color:var(--vx-text);font-family:var(--vx-body);overflow-x:hidden}.site-backdrop{position:fixed;inset:0;z-index:-10;pointer-events:none;background:linear-gradient(180deg,var(--vx-bg),var(--vx-bg2))}.site-backdrop.aurora:before,.site-backdrop.aurora:after{content:"";position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(80px);opacity:.18}.site-backdrop.aurora:before{top:-22vw;left:-15vw;background:var(--vx-accent)}.site-backdrop.aurora:after{top:2vw;right:-20vw;background:var(--vx-accent2)}.site-backdrop.grid{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,var(--vx-bg),var(--vx-bg2));background-size:38px 38px,38px 38px,100% 100%}.site-backdrop.holo{background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--vx-accent) 18%,transparent),transparent 34%),radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--vx-accent2) 16%,transparent),transparent 28%),linear-gradient(135deg,var(--vx-bg),var(--vx-bg2))}.site-backdrop.holo:before,.site-backdrop.holo:after{content:"";position:absolute;inset:auto;pointer-events:none}.site-backdrop.holo:before{top:8%;left:-5%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-accent) 14%,transparent),transparent 60%);filter:blur(28px);opacity:.9}.site-backdrop.holo:after{right:-8%;bottom:-10%;width:62vw;height:62vw;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--vx-accent2) 16%,transparent),transparent 60%);filter:blur(28px);opacity:.85}.site-backdrop.neural{background-image:radial-gradient(circle at 20px 20px,rgba(255,255,255,.08) 1.2px,transparent 1.6px),radial-gradient(circle at 20px 20px,color-mix(in srgb,var(--vx-accent) 5%,transparent) 0,transparent 72%),linear-gradient(125deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(55deg,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(180deg,var(--vx-bg),var(--vx-bg2));background-size:34px 34px,100% 100%,64px 64px,64px 64px,100% 100%}.site-backdrop.matrix{background-image:linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.14)),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 18px),repeating-linear-gradient(180deg,color-mix(in srgb,var(--vx-accent) 7%,transparent) 0 2px,transparent 2px 18px),linear-gradient(180deg,var(--vx-bg),var(--vx-bg2))}.site-backdrop.matrix:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--vx-accent) 10%,transparent),transparent 42%);filter:blur(24px)}.site-backdrop.orbital{background:radial-gradient(circle at center,transparent 0 16%,rgba(255,255,255,.05) 16.1% 16.5%,transparent 16.6% 24%,rgba(255,255,255,.04) 24.1% 24.4%,transparent 24.5%),radial-gradient(circle at 70% 32%,color-mix(in srgb,var(--vx-accent) 14%,transparent),transparent 25%),radial-gradient(circle at 30% 68%,color-mix(in srgb,var(--vx-accent2) 14%,transparent),transparent 22%),linear-gradient(180deg,var(--vx-bg),var(--vx-bg2))}
a{color:inherit}.site-header{position:relative;z-index:1000;width:100%;border-bottom:1px solid transparent}.site-header.sticky{position:sticky;top:0}.header-shell{max-width:var(--vx-max);margin:auto;padding:0 var(--vx-pad);height:100%;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none}.brand-logo{display:block;object-fit:contain;flex:0 0 auto}.brand-orb{display:grid;place-items:center;flex:0 0 auto;border-radius:30%;background:linear-gradient(135deg,var(--vx-accent),var(--vx-accent2));box-shadow:0 0 24px color-mix(in srgb,var(--vx-accent) 28%,transparent)}.brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-copy strong{font-family:var(--vx-heading);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{margin-top:5px;color:var(--vx-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.header-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.header-nav a{padding:10px 12px;text-decoration:none;color:inherit;font-size:14px;font-weight:700;border-radius:12px}.header-nav a:hover{background:rgba(255,255,255,.07)}.header-actions{display:flex;align-items:center;gap:10px}.language-select{border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);color:inherit;padding:9px 11px}.header-cta,.vx-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:12px 17px;text-decoration:none;font-weight:850;border:1px solid color-mix(in srgb,var(--vx-accent) 48%,transparent);background:linear-gradient(135deg,var(--vx-accent),var(--vx-accent2));color:#05060b;box-shadow:0 8px 26px rgba(0,0,0,.2)}.vx-button.secondary{background:rgba(255,255,255,.04);color:inherit;border-color:rgba(255,255,255,.16)}.mobile-menu{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:inherit;border-radius:12px;padding:9px 12px;font-size:18px}.site-main{min-height:60vh}.page-shell{margin:0 auto;padding-left:var(--vx-pad);padding-right:var(--vx-pad)}.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--vx-gap);align-items:start}.vx-block{position:relative;overflow:hidden;isolation:isolate;transition:transform .2s ease,border-color .2s ease}.vx-block.shadow{box-shadow:0 24px 80px rgba(0,0,0,.26)}.vx-block:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--block-bg,transparent)}.vx-block.has-bg-image:after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--block-image);background-size:var(--block-fit,cover);background-position:var(--block-pos,center);background-repeat:no-repeat}.block-inner{height:100%;display:flex;flex-direction:column;justify-content:center}.block-eyebrow{margin:0 0 15px;color:var(--block-accent,var(--vx-accent));font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.block-title{font-family:var(--vx-heading);font-size:clamp(30px,var(--block-font,44px),76px);line-height:1.01;letter-spacing:-.035em;margin:0 0 18px;color:inherit}.block-text{margin:0;color:color-mix(in srgb,currentColor 78%,transparent);font-size:clamp(15px,1.3vw,19px);line-height:1.72;white-space:pre-line}.block-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.platform-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--platform-gap,16px);align-items:stretch}.platform-item{min-width:0;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);display:flex;align-items:center;gap:11px}.platform-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--block-accent,var(--vx-accent)) 15%,transparent);color:var(--block-accent,var(--vx-accent));font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.stat-card{padding:20px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09)}.stat-card strong{display:block;font-size:24px;color:var(--block-accent,var(--vx-accent));margin-bottom:7px}.image-wrap{width:100%;height:100%;min-height:inherit;position:relative;display:flex;align-items:center;justify-content:center}.image-wrap img{display:block;width:100%;height:100%;min-height:inherit;object-fit:var(--image-fit,cover);object-position:var(--image-position,center)}.image-placeholder{min-height:inherit;width:100%;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.18);border-radius:inherit;color:var(--vx-muted);text-align:center;padding:30px}.image-caption{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.48);backdrop-filter:blur(12px);font-size:13px}.carousel{position:relative;min-height:inherit}.carousel-track{position:absolute;inset:0}.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;pointer-events:none}.carousel-slide.active{opacity:1;pointer-events:auto}.carousel-slide img{width:100%;height:100%;object-fit:var(--carousel-fit,cover);object-position:center}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:1px solid rgba(255,255,255,.17);background:rgba(0,0,0,.45);backdrop-filter:blur(10px);color:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer}.carousel-control.prev{left:14px}.carousel-control.next{right:14px}.carousel-dots{position:absolute;left:0;right:0;bottom:14px;z-index:4;display:flex;gap:6px;justify-content:center}.carousel-dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.42);padding:0}.carousel-dots button.active{background:#fff;transform:scale(1.25)}.gallery-grid{display:grid;grid-template-columns:repeat(var(--gallery-cols,3),minmax(0,1fr));gap:12px;height:100%}.gallery-grid img{width:100%;height:100%;min-height:150px;object-fit:cover;border-radius:calc(var(--vx-radius) * .7)}.button-block{display:flex;align-items:center;height:100%}.separator-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--block-accent,var(--vx-accent)),transparent)}.separator-line.dashed{background:none;border-top:1px dashed color-mix(in srgb,var(--block-accent,var(--vx-accent)) 70%,transparent)}.separator-line.glow{box-shadow:0 0 20px var(--block-accent,var(--vx-accent));height:2px}.app-section-head{margin-bottom:24px}.app-grid{display:grid;grid-template-columns:repeat(var(--app-cols,3),minmax(0,1fr));gap:18px}.app-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);background:var(--app-card-bg,var(--vx-surface));border-radius:var(--app-card-radius,24px);text-decoration:none;color:var(--app-card-text,var(--vx-text));transition:transform .2s ease,border-color .2s ease}.app-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--vx-accent) 42%,transparent)}.app-card-media{height:220px;background:linear-gradient(135deg,color-mix(in srgb,var(--vx-accent) 12%,transparent),color-mix(in srgb,var(--vx-accent2) 15%,transparent));display:grid;place-items:center;overflow:hidden}.app-card-media img{width:100%;height:100%;display:block;transition:transform .2s ease,object-position .2s ease;background:color-mix(in srgb,var(--vx-surface) 88%,transparent)}.app-card-icon{width:86px;height:86px;border-radius:22px;object-fit:cover;box-shadow:0 14px 30px rgba(0,0,0,.28)}.app-card-body{padding:22px}.app-card-body h3{font-size:16px;margin:0 0 8px}.app-card-body p{margin:0;color:color-mix(in srgb,currentColor 70%,transparent);line-height:1.55}.app-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.app-tag{padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.06);font-size:11px;font-weight:800}.empty-apps{padding:30px;border:1px dashed rgba(255,255,255,.16);border-radius:18px;color:var(--vx-muted)}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.contact-item{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}.contact-item span{display:block;color:var(--vx-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.social-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.social-row a{padding:9px 12px;border:1px solid rgba(255,255,255,.11);border-radius:12px;text-decoration:none;background:rgba(255,255,255,.03)}.app-detail{max-width:var(--vx-max);margin:auto;padding:54px var(--vx-pad) 80px}.app-detail-hero{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center}.app-detail-icon{width:220px;height:220px;border-radius:44px;object-fit:cover;background:var(--vx-surface);border:1px solid rgba(255,255,255,.1)}.app-detail h1{font-size:clamp(24px,var(--app-detail-name-size,44px),120px);margin:0 0 14px;line-height:.98}.store-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.store-badge{padding:12px 15px;border:1px solid rgba(255,255,255,.16);border-radius:14px;text-decoration:none;background:#111;color:white;font-weight:800}.app-screenshots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,380px);gap:16px;overflow-x:auto;padding:20px 0;scroll-snap-type:x mandatory}.app-screenshots img{width:100%;height:var(--app-shot-height,760px);max-height:var(--app-shot-height,760px);object-fit:var(--app-shot-fit,contain);border-radius:24px;background:var(--app-shot-bg,var(--vx-surface));scroll-snap-align:start}.site-footer{border-top:1px solid rgba(255,255,255,.09)}.footer-shell{max-width:var(--vx-max);margin:auto;padding-left:var(--vx-pad);padding-right:var(--vx-pad)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.footer-brand h3{margin:0 0 12px;font-size:22px}.footer-brand p,.footer-col p{color:color-mix(in srgb,currentColor 72%,transparent);line-height:1.6}.footer-col h4{margin:0 0 12px}.footer-col a{display:block;text-decoration:none;margin:8px 0;color:color-mix(in srgb,currentColor 78%,transparent)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:22px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;color:color-mix(in srgb,currentColor 62%,transparent);font-size:13px}.toast{position:fixed;right:20px;bottom:20px;padding:12px 16px;border-radius:12px;background:#111827;color:#fff;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:2000}.toast.show{opacity:1;transform:none}
@media(max-width:980px){.header-nav{display:none;position:absolute;top:100%;left:14px;right:14px;flex-direction:column;align-items:stretch;padding:12px;background:rgba(7,9,18,.96);border:1px solid rgba(255,255,255,.1);border-radius:18px;backdrop-filter:blur(18px)}.header-nav.open{display:flex}.header-nav a{padding:12px}.mobile-menu{display:block}.header-actions .header-cta{display:none}.page-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-grid{grid-template-columns:1fr 1fr}.app-detail-hero{grid-template-columns:150px 1fr}.app-detail-icon{width:150px;height:150px;border-radius:34px}}
@media(max-width:700px){:root{--vx-pad:16px;--vx-gap:14px}.header-shell{gap:10px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:9px;letter-spacing:.08em}.language-select{display:none}.vx-block{grid-column:1/-1!important}.vx-block[data-mobile-width="6"]{grid-column:span 6!important}.block-title{font-size:clamp(30px,10vw,var(--block-font,44px))}.app-grid{grid-template-columns:1fr!important}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.app-detail{padding-top:30px}.app-detail-hero{grid-template-columns:1fr}.app-detail-icon{width:110px;height:110px;border-radius:26px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{display:block}.header-shell{padding-left:14px;padding-right:14px}.brand-copy small{display:none}}

@media(max-width:700px){.platform-list .platform-item{grid-column:1/-1!important}}

/* v3.3 - cadre photo indépendant du bloc */
.photo-frame-holder{width:100%;display:flex;align-items:flex-start}.photo-frame{position:relative;overflow:hidden;min-height:0!important;flex:0 0 auto;background:rgba(255,255,255,.02)}.photo-frame img{display:block;width:100%;height:100%;min-height:0!important;transition:transform .15s ease}.footer-extra{white-space:pre-line}.text-block-title{max-width:100%}
@media(max-width:700px){.photo-frame{height:var(--photo-mobile-height,var(--photo-height))!important}}

/* v3.5 legal pages */
.legal-document{white-space:normal!important;line-height:1.72;overflow-wrap:anywhere}.legal-document p{margin:0 0 1em}.legal-document h2,.legal-document h3,.legal-document h4{font-family:var(--vx-heading);line-height:1.18;margin:1.65em 0 .65em;color:inherit}.legal-document h2{font-size:1.6em}.legal-document h3{font-size:1.3em}.legal-document h4{font-size:1.12em}.legal-document ul{margin:.35em 0 1.2em;padding-left:1.4em}.legal-document li{margin:.35em 0}.legal-language-notice{margin-bottom:12px}


/* v4.2.6 — optimisation mobile + tailles de police réellement appliquées */
html,body{max-width:100%;overflow-x:hidden}.vx-styled-text{overflow-wrap:anywhere;word-break:normal}.mobile-language-wrap{display:none}
@media(max-width:980px){
  .site-header{height:auto!important;min-height:68px}
  .header-shell{min-height:68px;position:relative}
  .header-actions .language-select{display:none}
  .mobile-language-wrap{display:block;border-top:1px solid rgba(255,255,255,.09);padding-top:10px;margin-top:4px}
  .mobile-language-select{display:block;width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#0d1220;color:inherit;font:inherit}
  .mobile-menu{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center}
  .header-nav{max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:700px){
  :root{--vx-pad:14px;--vx-gap:12px}
  .header-shell{padding:7px 12px!important;min-height:64px;gap:8px}
  .brand{min-width:0;flex:1;gap:8px}.brand-copy{min-width:0}.brand-copy strong{font-size:13px;line-height:1.12;white-space:normal}.brand-logo,.brand-orb{max-width:40px!important;max-height:40px!important}
  .page-shell{width:100%;padding-left:12px;padding-right:12px}.page-grid{gap:12px}
  .vx-block{max-width:100%;min-width:0;padding:min(var(--block-pad,22px),6vw)!important;min-height:min(var(--block-min-height,0px),72vh)!important}
  .vx-type-image{padding:0!important;min-height:0!important}
  .vx-styled-text{left:0!important;max-width:100%!important}
  .block-title.vx-styled-text{font-size:min(var(--vx-text-size,44px),11vw)!important;line-height:1.06!important;letter-spacing:-.025em!important}
  .block-text.vx-styled-text,.legal-document{font-size:min(var(--vx-text-size,18px),5.2vw)!important;line-height:1.62}
  .block-actions{gap:10px;margin-top:18px}.vx-button,.store-badge{min-height:44px;max-width:100%;display:inline-flex;align-items:center;justify-content:center}
  .platform-item{padding:14px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:15px}
  .app-card-media{min-height:180px;max-height:520px}.app-card-body{padding:16px}.app-section-head{margin-bottom:16px}
  .contact-item{padding:15px}.contact-grid{margin-top:18px}
  .app-detail{padding:28px 14px 56px}.app-detail h1{font-size:min(12vw,var(--app-detail-name-size,44px));line-height:1.02}.app-detail-hero{gap:18px}.store-row{gap:9px}.store-row .store-badge{flex:1 1 100%}
  .app-screenshots{grid-auto-columns:min(82vw,340px);gap:12px;padding:16px 0}.app-screenshots img{border-radius:18px}
  .footer-shell{padding-left:14px;padding-right:14px}.footer-grid{gap:22px}.footer-bottom{margin-top:20px;padding-top:16px}
  .legal-document{width:100%!important;left:0!important}.legal-document h2{font-size:1.4em}.legal-document h3{font-size:1.2em}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:1fr}.app-card-media{min-height:180px}
  .block-title.vx-styled-text{font-size:min(var(--vx-text-size,40px),10.5vw)!important}
  .header-nav{left:8px;right:8px}.footer-bottom span{display:block;margin-top:6px}
}

/* v4.3.0 — six complete futuristic themes */
body[data-site-theme="neonPulse"] .vx-button,body[data-site-theme="neonPulse"] .brand-orb{box-shadow:0 0 28px color-mix(in srgb,var(--vx-accent) 28%,transparent),0 0 48px color-mix(in srgb,var(--vx-accent2) 18%,transparent)}
body[data-site-theme="neuralGrid"] .vx-block{border-color:color-mix(in srgb,var(--vx-accent) 18%,transparent)!important}
body[data-site-theme="quantumViolet"] .vx-block.shadow{box-shadow:0 26px 90px color-mix(in srgb,var(--vx-accent) 12%,rgba(0,0,0,.28))}
body[data-site-theme="matrixCore"] .block-eyebrow,body[data-site-theme="matrixCore"] .app-tag{letter-spacing:.15em}
body[data-site-theme="holoX"] .vx-block{backdrop-filter:saturate(1.18)}

/* v4.3.5 — official application names are brands and must never be translated.
   The visible name comes from data-app-name instead of a translatable text node. */
.official-app-name{unicode-bidi:isolate}
.official-app-name::before{content:attr(data-app-name);white-space:pre-wrap}
