:root{color-scheme:dark;--bg:#050505;--fg:#f5f5f5;--muted:#aaa;--line:#262626}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#050505;color:#f5f5f5;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
body{min-height:100vh;background:radial-gradient(circle at 50% -10%,#222 0,#050505 42%)}
.shell{max-width:900px;margin:auto;padding:28px 20px}.brand{width:min(360px,78vw);display:block;margin:24px auto 42px}
.card{border:1px solid var(--line);border-radius:26px;padding:26px;background:#0b0b0be8;box-shadow:0 30px 90px #000;margin:18px 0}
.eyebrow{letter-spacing:.2em;font-size:.75rem;color:var(--muted)}h1{font-size:clamp(2rem,7vw,3.8rem);margin:.2em 0}p{line-height:1.55;color:#d0d0d0}
label{display:block;margin:16px 0;color:#ddd}input,select{display:block;width:100%;margin-top:8px;padding:14px;border-radius:13px;border:1px solid #333;background:#111;color:#fff;font-size:1rem}
button,.button{display:inline-block;width:100%;padding:14px 18px;border:0;border-radius:999px;background:#fff;color:#000;font-weight:800;font-size:1rem;cursor:pointer;text-align:center;text-decoration:none}
.secondary{background:#222;color:#fff}.error,.notice{padding:12px;border-radius:12px;margin:12px 0}.error{border:1px solid #703030;background:#250b0b}.notice{border:1px solid #315a3a;background:#0c2111}
hr{border:0;border-top:1px solid #262626;margin:30px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{border:1px solid #262626;border-radius:18px;padding:18px;background:#0b0b0b}.stat b{display:block;font-size:2rem}.stat span{color:#aaa;font-size:.85rem}
@media(max-width:700px){.grid{grid-template-columns:repeat(2,1fr)}}

textarea{display:block;width:100%;min-height:120px;margin-top:8px;padding:14px;border-radius:13px;border:1px solid #333;background:#111;color:#fff;font-size:1rem}
.adminnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.adminnav a{padding:10px 14px;border:1px solid #333;border-radius:999px;color:#ddd;text-decoration:none}.adminnav a.active{background:#fff;color:#000}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:10px;border-bottom:1px solid #222;text-align:left;vertical-align:top}th{color:#aaa;font-size:.8rem;text-transform:uppercase}
.inline{display:flex;gap:6px;align-items:center;margin:4px 0}.inline select,.inline input{margin:0;width:auto;padding:8px}.inline button{width:auto;padding:8px 12px}
.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}

.homegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.choice{display:flex;gap:8px;align-items:center;border:1px solid #2a2a2a;border-radius:14px;padding:12px;margin:0}
.choice input{width:auto;margin:0}.unread{border-color:#555}.read{opacity:.72}
@media(max-width:620px){.homegrid,.choices{grid-template-columns:1fr}}

.muted{color:#8d8d8d;font-size:.9rem}
a{color:#fff}
code,kbd{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

header.compact .brand{width:min(250px,58vw);margin:10px auto 12px}.hero{padding:32px}.hero h1{max-width:760px}.primary{background:#fff;color:#000}.chat.user{margin-left:12%;background:#111}.chat:not(.user){margin-right:12%}.card h2{margin-top:.2em}.card form+form{margin-top:10px}

.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px clamp(18px,5vw,70px);background:rgba(0,0,0,.94);backdrop-filter:blur(12px);border-bottom:1px solid #222}
.site-logo img,.legal-logo img{width:170px;max-height:62px;object-fit:contain;object-position:left center}.site-nav nav{display:flex;gap:20px;flex:1}.site-nav a{text-decoration:none}.nav-actions{display:flex;gap:14px;align-items:center}
.landing-hero{min-height:72vh;display:grid;align-items:end;padding:80px clamp(20px,7vw,110px);background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.35)),url('/assets/brand/tribione-hero-sports.jpg') center/cover no-repeat}.landing-inner{max-width:850px}.landing-hero h1{font-size:clamp(42px,7vw,92px);line-height:.98;margin:.2em 0}.landing-hero h1 span{font-weight:300}.hero-lead,.section-lead{font-size:clamp(18px,2vw,25px);line-height:1.55;color:#ddd;max-width:900px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.hero-note{color:#aaa}.button.ghost{background:transparent;border:1px solid #666}
.landing-section{padding:80px clamp(20px,7vw,110px);max-width:1400px;margin:auto}.landing-section h2{font-size:clamp(32px,5vw,62px);line-height:1.05}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.feature-grid.four{grid-template-columns:repeat(4,1fr)}.feature-grid article,.mission-card-demo,.login-panel{background:#0d0d0d;border:1px solid #282828;border-radius:18px;padding:28px}.split,.trust,.login-section{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.demo-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.sports-band img{width:100%;display:block;max-height:540px;object-fit:cover}.trust-points{display:grid;gap:12px}.trust-points div{display:flex;justify-content:space-between;padding:18px;border-bottom:1px solid #333}.install-cta{text-align:center}.centered{justify-content:center}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px;padding:55px clamp(20px,7vw,110px);border-top:1px solid #222;background:#050505}.site-footer div{display:flex;flex-direction:column;gap:10px}.footer-brand img{width:180px}.copyright{grid-column:1/-1;color:#777}
.legal-page{background:#050505}.legal-shell{max-width:1000px;margin:auto;padding:32px 20px}.legal-content{background:#0c0c0c;border:1px solid #242424;border-radius:20px;padding:clamp(24px,5vw,60px);margin-top:25px}.legal-content h1{font-size:clamp(38px,6vw,64px)}.legal-content h2{margin-top:38px}.legal-footer{display:flex;gap:20px;flex-wrap:wrap;padding:30px 0}.auth-card{max-width:700px;margin:30px auto}
@media(max-width:850px){.site-nav nav{display:none}.site-nav{gap:12px}.nav-actions{margin-left:auto}.nav-actions>a:first-child{display:none}.site-logo img{width:130px}.feature-grid,.feature-grid.four,.split,.trust,.login-section,.site-footer{grid-template-columns:1fr}.landing-hero{min-height:65vh;padding-top:100px}.landing-section{padding-top:55px;padding-bottom:55px}}

/* PUBLIC HOMEPAGE V2 — typography tightened and image artefacts removed */
.landing-hero{min-height:68vh;padding:64px clamp(20px,6vw,92px);background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.60) 38%,rgba(0,0,0,.18) 100%),url('/assets/brand/tribione-hero-sports.jpg') center/cover no-repeat}
.landing-inner{max-width:760px}
.landing-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.025em;margin:.22em 0 .28em}
.landing-hero h1 span{font-size:.82em;line-height:1.08}
.hero-lead{font-size:clamp(17px,1.55vw,22px);max-width:720px}
.landing-section h2{font-size:clamp(30px,4vw,50px);line-height:1.08;letter-spacing:-.018em}
.section-lead{font-size:clamp(17px,1.5vw,21px)}
.sports-band{max-width:1400px;margin:0 auto;padding:0 clamp(20px,3vw,45px)}
.sports-band img{width:100%;display:block;max-height:430px;object-fit:cover;object-position:center;border-radius:22px}

/* PWA INSTALLATION — explicit, device-by-device */
.install-guide{max-width:980px;margin-left:auto;margin-right:auto}
.install-guide h1{font-size:clamp(36px,5vw,58px);line-height:1.04;max-width:800px}
.install-intro{font-size:1.15rem;max-width:760px}
.install-logo-preview{display:flex;align-items:center;gap:18px;margin:28px 0;padding:18px;border:1px solid #2d2d2d;background:#090909;border-radius:18px}
.install-logo-preview img{width:76px;height:76px;border-radius:17px;display:block}
.install-logo-preview div{display:flex;flex-direction:column;gap:4px}.install-logo-preview span{color:#9d9d9d;font-size:.92rem}
.install-state{margin:18px 0;padding:14px 16px;border-radius:14px;border:1px solid #333;background:#111;color:#ddd}.install-state:empty{display:none}.install-state.success{border-color:#315a3a;background:#0c2111}
.install-now{margin:12px 0 28px;font-size:1.05rem}
.device-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.device-tabs a{padding:10px 15px;border:1px solid #3a3a3a;border-radius:999px;text-decoration:none;background:#111}
.device-guide{scroll-margin-top:95px;border-top:1px solid #282828;padding:38px 0 18px}.device-guide.recommended{border:1px solid #4b4b4b;border-radius:20px;padding:28px;margin:24px 0;background:#0a0a0a}
.device-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.device-heading h2{margin:0}.device-badge{display:inline-flex;border:1px solid #444;background:#151515;border-radius:999px;padding:7px 12px;font-weight:700;font-size:.85rem}
.install-steps{display:grid;gap:12px;margin:22px 0}.install-step{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding:18px;border:1px solid #292929;border-radius:16px;background:#0b0b0b}.install-step>b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#000;font-size:1.2rem}.install-step strong{display:block;font-size:1.04rem;margin-top:2px}.install-step p{margin:5px 0 0}.share-symbol{display:inline-block;padding:1px 7px;border:1px solid #555;border-radius:6px;color:#fff;font-weight:800}.important-note{padding:16px 18px;border-left:4px solid #fff;background:#111;border-radius:10px}.post-install{margin-top:35px;padding:26px;border-radius:18px;background:#101010;border:1px solid #2c2c2c}.post-install .button{max-width:340px;margin-top:10px}
@media(max-width:850px){.landing-hero{min-height:60vh;padding:72px 22px 50px}.landing-hero h1{font-size:clamp(36px,10vw,52px)}.landing-section h2{font-size:clamp(29px,8vw,42px)}.sports-band{padding:0 18px}.sports-band img{min-height:300px}.install-step{grid-template-columns:44px 1fr;padding:15px}.install-step>b{width:38px;height:38px}}

/* HOMEPAGE / PWA FIX V3 */
[hidden]{display:none!important}
.landing-hero{background-position:left center}
.sports-band img{height:360px;max-height:none;object-fit:cover;object-position:center top}
@media(max-width:850px){.sports-band img{height:290px;min-height:0;object-position:center top}}


/* HOTFIX V4 — homepage proportions / full multisport visual / install clarity */
.landing-hero{min-height:62vh;background-position:left center}
.landing-inner{max-width:700px}
.landing-hero h1{font-size:clamp(34px,4.25vw,56px);line-height:1.04}
.landing-hero h1 span{font-size:.82em}
.hero-lead{font-size:clamp(16px,1.35vw,20px)}
.sports-band{background:#000}
.sports-band img{height:auto!important;max-height:none!important;min-height:0!important;object-fit:contain!important;object-position:center center!important}
.install-now{max-width:520px}
@media(max-width:850px){.landing-hero h1{font-size:clamp(32px,9vw,46px)}.sports-band img{height:auto!important}}


/* HOTFIX V5 — contraste boutons */
.button.ghost, a.button.ghost {color:#fff!important;background:rgba(0,0,0,.28)!important;border:1px solid #8a8a8a!important}
.button.ghost:hover, a.button.ghost:hover {background:#fff!important;color:#000!important;border-color:#fff!important}
.button.secondary, a.button.secondary {color:#fff!important;background:#222!important;border:1px solid #444!important}
.button.secondary:hover, a.button.secondary:hover {background:#333!important;border-color:#777!important}
button:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid #fff!important;outline-offset:3px}

/* V7 - dedicated authentication + MFA QR */
.auth-shell{max-width:720px;margin:0 auto;padding:28px 20px 56px}
.auth-card{margin-top:22px}
.auth-card form{display:grid;gap:16px}
.auth-card button.primary,.auth-card .button.primary{background:#fff;color:#050505;border-color:#fff;font-weight:800}
.auth-error{margin:0 0 18px;padding:14px 16px;border:1px solid #ff7b7b;background:#2a0d0d;color:#fff;border-radius:14px;font-weight:700}
.mfa-card{max-width:620px;margin-left:auto;margin-right:auto}
.mfa-qr{width:min(320px,100%);aspect-ratio:1/1;margin:20px auto;padding:14px;background:#fff;border-radius:18px;display:grid;place-items:center;color:#111;text-align:center}
.mfa-qr-svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.mfa-manual{margin:18px 0;padding:14px 16px;border:1px solid #444;border-radius:14px}
.mfa-manual summary{cursor:pointer;font-weight:700}
.secret-code{display:block;margin:12px 0;padding:12px;overflow-wrap:anywhere;background:#050505;border:1px solid #555;border-radius:10px;color:#fff;font-size:1rem;letter-spacing:.08em}
@media (max-width:640px){.auth-shell{padding:18px 14px 40px}.mfa-qr{width:min(280px,100%)}}

/* V8 — PWA mobile/auth audit */
html,body{max-width:100%;overflow-x:hidden}
.pwa-entry{margin:0;min-height:100dvh;background:#050505}
.pwa-shell{width:100%;max-width:760px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden}
.pwa-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;margin-bottom:18px}
.pwa-head img{display:block;width:min(190px,52vw);height:auto;max-width:100%}
.pwa-head span{flex:0 0 auto;color:#aaa;font-size:.72rem;letter-spacing:.16em}
.pwa-login{width:100%;max-width:560px;margin:0 auto;padding:clamp(18px,5vw,28px);overflow:hidden}
.pwa-login h1{font-size:clamp(2rem,10vw,3rem)}
.pwa-login form,.auth-card form{width:100%;min-width:0}
.pwa-login label,.auth-card label{min-width:0;max-width:100%}
.pwa-login input,.auth-card input,.auth-card select,.auth-card textarea{width:100%;max-width:100%;min-width:0}
.pwa-login button,.auth-card button{width:100%;max-width:100%}
.pwa-login-links{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:18px}
.pwa-welcome{padding:8px 2px 14px}.pwa-welcome h1{font-size:clamp(2rem,10vw,3.2rem)}
.pwa-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pwa-action{display:flex;min-width:0;min-height:116px;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid #2a2a2a;border-radius:20px;background:#101010;text-decoration:none}
.pwa-action.main{background:#fff;color:#000}.pwa-action strong{font-size:1.15rem}.pwa-action span{color:inherit;opacity:.74;overflow-wrap:anywhere}
.pwa-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.pwa-stats>div,.pwa-stats>a{min-width:0;padding:14px;border:1px solid #2a2a2a;border-radius:16px;background:#0d0d0d;text-decoration:none}.pwa-stats b,.pwa-stats span{display:block}.pwa-stats span{font-size:.78rem;color:#aaa;overflow-wrap:anywhere}
.pwa-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pwa-more a{padding:14px;border:1px solid #333;border-radius:14px;text-decoration:none;text-align:center}
.auth-shell{width:100%;max-width:720px;overflow:hidden}.auth-card{width:100%;max-width:100%;overflow:hidden}.auth-card h1{overflow-wrap:anywhere}
@media(max-width:520px){.pwa-shell{padding-left:12px;padding-right:12px}.pwa-head span{font-size:.62rem}.pwa-primary-actions{grid-template-columns:1fr}.pwa-stats{grid-template-columns:1fr 1fr}.pwa-stats>a{grid-column:1/-1}.pwa-more{grid-template-columns:1fr 1fr}.card{border-radius:20px}.auth-shell{padding-left:12px;padding-right:12px}.auth-card{padding:20px 16px}.auth-card h1{font-size:clamp(1.9rem,11vw,2.6rem)}}


/* V8 FINAL — mobile admin, stable auth/captcha */
.admin-app{background:#050505;min-height:100dvh}
.admin-app .admin{width:100%;max-width:1100px;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}
.admin-head{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:8px 2px 14px;border-bottom:1px solid #202020}
.admin-mark{width:52px;height:52px;object-fit:contain;border-radius:12px;flex:0 0 auto}
.admin-head>div{display:flex;min-width:0;flex-direction:column}.admin-head strong{font-size:1.05rem;letter-spacing:.12em}.admin-head span{color:#aaa;font-size:.82rem;margin-top:2px}
.admin-app .adminnav{position:sticky;top:0;z-index:15;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;margin:0 -20px 16px;padding:10px 20px;background:rgba(5,5,5,.96);backdrop-filter:blur(12px);border-bottom:1px solid #181818}
.admin-app .adminnav::-webkit-scrollbar{display:none}.admin-app .adminnav a{flex:0 0 auto;white-space:nowrap;padding:10px 14px}
.admin-app .card{box-shadow:none}.admin-app .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-app .stat{min-width:0}.admin-app .stat b{font-size:clamp(1.75rem,6vw,2.4rem)}
.admin-app .tablewrap{max-width:100%;-webkit-overflow-scrolling:touch;border-radius:14px}
.admin-app input,.admin-app select,.admin-app textarea,.admin-app button{max-width:100%;min-width:0}
.auth-card label{overflow-wrap:anywhere}.auth-card input{font-size:16px}.captcha-help{display:block;margin-top:6px;color:#8f8f8f;font-size:.82rem}
@media(max-width:700px){
 .admin-app .admin{padding-left:12px;padding-right:12px}
 .admin-head{margin-bottom:4px}.admin-mark{width:44px;height:44px;border-radius:10px}.admin-head strong{font-size:.95rem}.admin-head span{font-size:.76rem}
 .admin-app .adminnav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
 .admin-app .card{padding:18px 14px;border-radius:18px;margin:12px 0}
 .admin-app .card h1{font-size:clamp(1.7rem,8vw,2.3rem)}.admin-app .card h2{font-size:1.3rem}
 .admin-app .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-app .stat{padding:14px 12px;border-radius:15px}.admin-app .stat span{font-size:.78rem}
 .admin-app table{min-width:680px}.admin-app th,.admin-app td{padding:9px 8px}
 .admin-app .inline{align-items:stretch;flex-wrap:wrap}.admin-app .inline select,.admin-app .inline input{width:100%}.admin-app .inline button{width:100%}
 .admin-app>main>p .button{width:100%}
}
@media(max-width:390px){.admin-app .grid{grid-template-columns:1fr 1fr}.admin-app .stat b{font-size:1.7rem}.admin-app .stat{padding:12px 10px}.pwa-more{grid-template-columns:1fr}}

/* V9 — vraie application mobile */
.mobile-app-body{margin:0;min-height:100dvh;background:#050505;color:#fff;overflow-x:hidden}
.mobile-app{min-height:100dvh;max-width:620px;margin:0 auto;background:#050505;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.mobile-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:68px;padding:max(8px,env(safe-area-inset-top)) 18px 8px;background:rgba(5,5,5,.94);backdrop-filter:blur(18px);border-bottom:1px solid #171717}
.mobile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;letter-spacing:.12em;font-size:.88rem}.mobile-brand img{width:38px;height:38px;object-fit:contain;border-radius:10px}.mobile-notif{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #292929;border-radius:50%;text-decoration:none}.mobile-notif>b{position:absolute;right:-2px;top:-2px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#000;font-size:.68rem}
.mobile-content{padding:18px 16px 22px}.mobile-greeting p{margin:0;color:#a8a8a8;font-size:.92rem}.mobile-greeting h1{margin:3px 0 18px;font-size:clamp(1.65rem,7vw,2.25rem);line-height:1.08}
.mission-focus{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:142px;padding:22px;border-radius:26px;background:#fff;color:#050505;text-decoration:none;box-shadow:none}.mission-focus>div{display:flex;flex-direction:column;min-width:0}.mission-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:850;opacity:.65}.mission-focus strong{margin-top:12px;font-size:1.55rem;line-height:1.05}.mission-focus small{margin-top:7px;font-size:.84rem;opacity:.7}.mission-arrow{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border:1px solid #cfcfcf;border-radius:50%;font-size:1.4rem}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.quick-grid>a{min-height:112px;display:flex;flex-direction:column;justify-content:flex-end;padding:15px;border:1px solid #242424;border-radius:21px;background:#0d0d0d;text-decoration:none}.quick-icon{margin-bottom:auto;font-size:1.25rem;color:#bdbdbd}.quick-grid strong{font-size:1rem}.quick-grid small{margin-top:3px;color:#858585}
.mobile-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 22px}.mobile-progress>div,.mobile-progress>a{padding:13px 12px;border:1px solid #232323;border-radius:17px;background:#0b0b0b;text-decoration:none;min-width:0}.mobile-progress span{display:block;color:#868686;font-size:.72rem}.mobile-progress strong{display:block;margin-top:4px;font-size:1.05rem;overflow-wrap:anywhere}
.mobile-section{margin-top:22px}.mobile-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.mobile-section-title h2{margin:0;font-size:1.08rem}.mobile-section-title a{color:#8c8c8c;font-size:.82rem;text-decoration:none}.mobile-list{border:1px solid #222;border-radius:20px;overflow:hidden;background:#0b0b0b}.mobile-list a{display:flex;align-items:center;justify-content:space-between;padding:16px;text-decoration:none;border-bottom:1px solid #1f1f1f}.mobile-list a:last-child{border-bottom:0}.mobile-list b{color:#787878}
.mobile-tabbar{position:fixed;left:50%;bottom:0;z-index:60;width:min(620px,100%);transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(8,8,8,.97);backdrop-filter:blur(20px);border-top:1px solid #242424}.mobile-tabbar a{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:#777;text-decoration:none}.mobile-tabbar a.active{color:#fff}.mobile-tabbar span{font-size:1.18rem}.mobile-tabbar small{font-size:.64rem;white-space:nowrap}
@media(max-width:360px){.mobile-content{padding-left:12px;padding-right:12px}.mission-focus{padding:18px;min-height:132px}.mission-focus strong{font-size:1.35rem}.quick-grid>a{min-height:102px;padding:13px}.mobile-progress{gap:6px}.mobile-progress>div,.mobile-progress>a{padding:11px 9px}.mobile-brand span{font-size:.78rem}}
@media(min-width:621px){.mobile-app{border-left:1px solid #151515;border-right:1px solid #151515}}

/* V9 — guide d'installation contextuel */
.install-v9 .device-tabs{display:none}.install-v9 .install-device[hidden]{display:none!important}.install-v9 .device-guide{border:1px solid #2b2b2b;border-radius:22px;padding:22px;margin-top:20px;background:#0b0b0b}.install-v9 .install-step{background:#090909}.install-v9 .post-install{margin-top:18px}
@media(max-width:620px){.install-v9 h1{font-size:clamp(2rem,10vw,2.8rem)}.install-v9 .install-step{grid-template-columns:40px 1fr;gap:12px;padding:14px 12px}.install-v9 .install-step>b{width:36px;height:36px}.install-v9 .device-guide{padding:16px 12px}.install-v9 .device-heading h2{font-size:1.3rem}}

/* V9 — connexion PWA vraiment mobile */
.auth-mobile{background:#050505;min-height:100dvh}.auth-mobile .auth-shell{max-width:520px;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.auth-mobile header.compact .brand{width:min(190px,55vw);margin:0 auto 10px}.auth-mobile header.compact .eyebrow{text-align:center;margin:0 0 14px}.auth-mobile .auth-card{margin:0;padding:20px 16px;border-radius:22px;box-shadow:none}.auth-mobile .auth-card h1{font-size:2rem;margin-top:0}.auth-mobile .auth-card form{gap:10px}.auth-mobile .auth-card label{margin:5px 0}.auth-mobile .auth-card input{font-size:16px;padding:13px}.auth-mobile .auth-card button{min-height:50px;margin-top:4px}.auth-mobile .small-links{text-align:center;font-size:.88rem;margin-bottom:0}


/* RC2 V11 — shell applicatif unifié */
html,body{max-width:100%;overflow-x:hidden}
.app-screen{margin:0;background:#050505;color:#fff;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.app-frame{width:min(680px,100%);min-height:100dvh;margin:0 auto;background:#050505}
.app-topbar{position:sticky;top:0;z-index:50;height:62px;padding:max(8px,env(safe-area-inset-top)) 16px 8px;display:flex;align-items:center;background:rgba(5,5,5,.96);backdrop-filter:blur(18px);border-bottom:1px solid #1b1b1b}
.app-topbrand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;font-weight:850;letter-spacing:.12em;font-size:.82rem}.app-topbrand img{width:36px;height:36px;object-fit:contain;border-radius:10px}
.app-page-shell{width:100%;max-width:none;margin:0;padding:18px 14px 26px;box-sizing:border-box}.app-page-shell>header.compact{display:none}.app-page-shell .brand{max-width:150px}.app-page-shell .card{border-radius:20px;margin:12px 0;padding:16px}.app-page-shell h1{font-size:clamp(1.65rem,7vw,2.25rem);line-height:1.08}.app-page-shell h2{font-size:1.2rem}.app-page-shell form{max-width:100%}.app-page-shell input,.app-page-shell select,.app-page-shell textarea,.app-page-shell button{max-width:100%;box-sizing:border-box}.app-page-shell .tablewrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.mobile-top-actions{display:flex;align-items:center;gap:8px}.mobile-admin-link{padding:8px 10px;border:1px solid #2b2b2b;border-radius:999px;text-decoration:none;font-size:.72rem}.mobile-logout{margin:22px 0 4px}.mobile-logout button{width:100%;min-height:48px;border:1px solid #343434;background:#0c0c0c;color:#fff;border-radius:16px}
.mobile-tabbar{padding-bottom:calc(8px + env(safe-area-inset-bottom));box-sizing:border-box}
.admin-screen{margin:0;background:#090909;color:#fff}.admin-screen .admin{max-width:1180px;padding:18px 16px 40px}.admin-appbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.admin-brand img{width:48px;height:48px;border-radius:12px;object-fit:contain}.admin-brand span{display:flex;flex-direction:column;line-height:1.05}.admin-brand small{color:#8f8f8f;margin-top:4px}.admin-head-actions{display:flex;align-items:center;gap:8px}.admin-head-actions form{margin:0}.admin-head-actions .button,.admin-head-actions button{white-space:nowrap;margin:0;min-height:42px}.adminnav{display:flex;gap:8px;overflow:auto;padding:2px 0 10px;scrollbar-width:none}.adminnav::-webkit-scrollbar{display:none}.adminnav a{flex:0 0 auto}.admin-minihead{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-minihead>a:first-child{display:flex;align-items:center;gap:10px;text-decoration:none}.admin-minihead img{width:42px;height:42px;border-radius:10px}.app-admin-shell{max-width:1180px}
@media(max-width:700px){.admin-screen .admin{padding:12px 10px 28px}.admin-appbar{align-items:flex-start}.admin-brand img{width:42px;height:42px}.admin-head-actions{flex-direction:column;align-items:stretch}.admin-head-actions .button,.admin-head-actions button{min-height:38px;padding:8px 10px;font-size:.78rem}.admin-screen .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-screen .stat{padding:14px}.admin-screen .card{padding:14px;border-radius:18px}.admin-screen table{min-width:760px}.admin-screen .inline{min-width:190px}.admin-minihead{position:sticky;top:0;background:#090909;padding:8px 0;z-index:40}}
.admin-mini-actions{display:flex;align-items:center;gap:8px}.admin-mini-actions form{margin:0}.admin-mini-actions button{margin:0}
@media(max-width:520px){.admin-mini-actions{gap:5px}.admin-mini-actions .button,.admin-mini-actions button{padding:8px 9px;font-size:.75rem}}

/* RC3 — Administration pensée comme une application mobile */
.admin-screen{padding:0 0 calc(82px + env(safe-area-inset-bottom));overflow-x:hidden}
.admin-screen .admin{width:min(100%,1180px);margin:0 auto;padding:calc(10px + env(safe-area-inset-top)) 16px 36px}
.admin-appbar{position:sticky;top:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 16px;padding:8px 16px 10px;background:rgba(9,9,9,.96);backdrop-filter:blur(14px);border-bottom:1px solid #1d1d1d}
.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-brand img{width:40px;height:40px;border-radius:12px;object-fit:cover;background:#000}.admin-brand b{font-size:.95rem;letter-spacing:.08em}.admin-brand small{font-size:.72rem;color:#999}
.admin-account{position:relative}.admin-account>summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border:1px solid #303030;border-radius:14px;font-weight:900;letter-spacing:.12em}.admin-account>summary::-webkit-details-marker{display:none}.admin-account-menu{position:absolute;right:0;top:48px;z-index:80;width:min(260px,82vw);padding:8px;background:#111;border:1px solid #303030;border-radius:16px;box-shadow:0 16px 50px #000}.admin-account-menu a,.admin-account-menu button{display:block;width:100%;padding:12px 13px;border:0;border-radius:11px;background:transparent;color:#fff;text-decoration:none;text-align:left;font:inherit}.admin-account-menu a:hover,.admin-account-menu button:hover{background:#202020}.admin-account-menu form{margin:0}
.admin-desktop-nav{display:flex;gap:8px;overflow:auto;padding:0 0 14px;scrollbar-width:none}.admin-desktop-nav::-webkit-scrollbar{display:none}.admin-desktop-nav a{flex:0 0 auto;padding:10px 14px;border:1px solid #333;border-radius:999px;text-decoration:none;color:#ddd}.admin-desktop-nav a.active{background:#fff;color:#000}
.admin-bottom-nav{display:none}
.admin-mobile-title{margin:6px 0 14px}.admin-mobile-title p{margin:0 0 4px;color:#aaa}.admin-mobile-title h1{margin:0;font-size:clamp(1.8rem,6vw,2.4rem)}
.admin-priority{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-priority a{display:flex;min-width:0;min-height:92px;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid #292929;border-radius:18px;background:#111;color:#fff;text-decoration:none}.admin-priority span{color:#bdbdbd;font-size:.85rem}.admin-priority b{font-size:2rem}
.admin-overview{border:1px solid #252525;border-radius:18px;background:#0d0d0d;margin:0 0 16px}.admin-overview>summary{cursor:pointer;padding:14px 16px;font-weight:700}.admin-overview .grid{padding:0 12px 12px;margin:0}

@media(max-width:700px){
 body.admin-screen{background:#050505}
 .admin-screen .admin{padding:calc(4px + env(safe-area-inset-top)) 12px 20px}
 .admin-appbar{margin:0 -12px 10px;padding:7px 12px 8px}.admin-brand img{width:38px;height:38px}.admin-brand b{font-size:.9rem}.admin-brand small{font-size:.68rem}
 .admin-desktop-nav{display:none}
 .admin-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(7,7,7,.97);backdrop-filter:blur(18px);border-top:1px solid #242424}
 .admin-bottom-nav>a,.admin-bottom-nav>details>summary{position:relative;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;color:#969696;text-decoration:none;list-style:none;font-size:.64rem;background:transparent;border-radius:12px}.admin-bottom-nav span{font-size:1.15rem;line-height:1}.admin-bottom-nav b{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-bottom-nav>a.active{color:#fff;background:#171717}.admin-bottom-nav em{position:absolute;top:3px;right:18%;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border-radius:10px;background:#fff;color:#000;font-size:.62rem;font-style:normal;font-weight:800}
 .admin-more{position:relative}.admin-more>summary::-webkit-details-marker{display:none}.admin-more-menu{position:absolute;right:0;bottom:64px;width:min(270px,88vw);padding:8px;border:1px solid #303030;border-radius:18px;background:#111;box-shadow:0 -18px 60px #000}.admin-more-menu a,.admin-more-menu button{display:block;width:100%;padding:13px 12px;border:0;border-radius:12px;background:transparent;color:#fff;text-align:left;text-decoration:none;font:inherit}.admin-more-menu a:active,.admin-more-menu button:active{background:#222}.admin-more-menu form{margin:0}
 .admin-mobile-title{margin-top:12px}.admin-mobile-title h1{font-size:1.85rem}
 .admin-priority{grid-template-columns:1fr 1fr;gap:9px}.admin-priority a{min-height:92px;padding:14px;border-radius:17px}.admin-priority b{font-size:2rem}.admin-priority span{font-size:.78rem}
 .admin-overview .grid{grid-template-columns:1fr 1fr;gap:8px}.admin-overview .stat{padding:12px;border-radius:14px}.admin-overview .stat b{font-size:1.55rem}.admin-overview .stat span{font-size:.72rem}
 .admin-screen .card{margin:8px 0 14px;padding:16px 13px;border-radius:18px}.admin-screen .card>h1{margin-top:0;font-size:1.55rem}.admin-screen .card>h2{font-size:1.2rem}
 .admin-screen form:not(.inline){display:grid;gap:10px}.admin-screen label{margin:0}.admin-screen input,.admin-screen select,.admin-screen textarea,.admin-screen button{font-size:16px;width:100%;box-sizing:border-box}.admin-screen textarea{min-height:100px}
 .admin-screen .tablewrap{overflow:visible;border:0}.admin-screen .admin-mobile-table{display:block;min-width:0!important;width:100%;border:0}.admin-screen .admin-mobile-table>tbody{display:block}.admin-screen .admin-mobile-table>tbody>tr:first-child{display:none}.admin-screen .admin-mobile-table tr{display:block;margin:0 0 10px;padding:13px;border:1px solid #292929;border-radius:16px;background:#0f0f0f}.admin-screen .admin-mobile-table td{display:block;width:100%;padding:6px 0;border:0;white-space:normal;overflow-wrap:anywhere}.admin-screen .admin-mobile-table td:before{display:block;margin-bottom:2px;color:#777;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.admin-screen .admin-mobile-table td small{color:#aaa}.admin-screen .admin-mobile-table .inline{display:grid;grid-template-columns:1fr;gap:7px;margin:7px 0 0;min-width:0}.admin-screen .admin-mobile-table .inline select,.admin-screen .admin-mobile-table .inline button{width:100%}
 .users-table td:nth-child(1):before{content:'ID'}.users-table td:nth-child(2):before{content:'Utilisateur'}.users-table td:nth-child(3):before{content:'E-mail'}.users-table td:nth-child(4):before{content:'Statut'}.users-table td:nth-child(5):before{content:'Rôles'}.users-table td:nth-child(6):before{content:'Actions'}
 .missions-table td:nth-child(1):before,.challenges-table td:nth-child(1):before,.crews-table td:nth-child(1):before,.rgpd-table td:nth-child(1):before,.logs-table td:nth-child(1):before{content:'ID'}
 .missions-table td:nth-child(2):before,.challenges-table td:nth-child(2):before{content:'Titre'}.missions-table td:nth-child(3):before,.challenges-table td:nth-child(3):before{content:'Type'}.missions-table td:nth-child(4):before{content:'Temps'}.missions-table td:nth-child(5):before{content:'Intensité'}.missions-table td:nth-child(6):before,.challenges-table td:nth-child(5):before{content:'XP'}.missions-table td:nth-child(7):before,.challenges-table td:nth-child(6):before{content:'État'}
 .challenges-table td:nth-child(4):before{content:'Objectif'}.crews-table td:nth-child(2):before{content:'Nom'}.crews-table td:nth-child(3):before{content:'Propriétaire'}.crews-table td:nth-child(4):before{content:'Membres'}.crews-table td:nth-child(5):before{content:'Visibilité'}.crews-table td:nth-child(6):before{content:'Statut'}
 .contacts-table td:nth-child(1):before{content:'Date'}.contacts-table td:nth-child(2):before{content:'Expéditeur'}.contacts-table td:nth-child(3):before{content:'Message'}.contacts-table td:nth-child(4):before{content:'Statut'}.contacts-table td:nth-child(5):before{content:'Action'}
 .rgpd-table td:nth-child(2):before{content:'Utilisateur'}.rgpd-table td:nth-child(3):before{content:'Droit'}.rgpd-table td:nth-child(4):before{content:'Statut'}.rgpd-table td:nth-child(5):before{content:'Date'}.rgpd-table td:nth-child(6):before{content:'Action'}
 .logs-table td:nth-child(2):before{content:'Utilisateur'}.logs-table td:nth-child(3):before{content:'Événement'}.logs-table td:nth-child(4):before{content:'Date'}
}

/* RC4 — discovery, real use cases and contextual help */
.home-usecases,.usecase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.home-usecases>a,.usecase-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid #2d2d2d;border-radius:24px;background:#101010;color:#fff;text-decoration:none;min-height:190px}
.home-usecases b,.usecase-card h2{font-size:1.3rem;margin:0}.home-usecases span,.usecase-card p{color:#aaa;line-height:1.5}.home-usecases em,.usecase-card b{margin-top:auto;color:#fff;font-style:normal}
.center-link{text-align:center;margin-top:28px}.discover-page,.guide-page{max-width:1180px;margin:auto;padding:120px 24px 80px}.discover-hero{max-width:820px;margin-bottom:36px}.discover-hero h1{font-size:clamp(2.5rem,7vw,5.5rem);margin:.2em 0}.discover-hero>p:last-child{font-size:1.25rem;color:#aaa;line-height:1.5}
.usecase-card>span{font-size:.8rem;letter-spacing:.18em;color:#888}.real-app-section{max-width:1180px;margin:40px auto;padding:48px 24px;display:grid;grid-template-columns:1fr minmax(280px,430px);gap:50px;align-items:center}.home-real{padding-top:70px;padding-bottom:70px}.real-app-section h2{font-size:clamp(2rem,5vw,4rem);margin:.25em 0}.real-app-section p{color:#aaa;font-size:1.1rem;line-height:1.55}.phone-shot{margin:0}.phone-shot img{width:100%;max-height:700px;object-fit:contain;border-radius:28px;background:#050505}.phone-shot figcaption{text-align:center;color:#777;font-size:.8rem;margin-top:8px}
.guide-index{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.guide-index a{border:1px solid #333;border-radius:999px;padding:10px 15px;color:#fff;text-decoration:none}.guide-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-cards article{border:1px solid #292929;background:#0e0e0e;border-radius:26px;padding:28px;scroll-margin-top:100px}.steps3{display:grid;gap:12px;margin:22px 0}.steps3>div{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px}.steps3 b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000}.steps3 span{color:#bbb;line-height:1.4}
.help-app{background:#050505;color:#fff;min-height:100vh}.help-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px max(18px,env(safe-area-inset-left));background:rgba(5,5,5,.94);border-bottom:1px solid #222}.help-head a{color:#fff;text-decoration:none}.help-main{max-width:760px;margin:auto;padding:32px 18px 100px}.help-main h1{font-size:clamp(2.2rem,10vw,4rem);margin:.2em 0 .5em}.help-search input{width:100%;box-sizing:border-box;background:#111;border:1px solid #333;border-radius:18px;padding:16px;color:#fff;font-size:1rem}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.help-grid a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #292929;border-radius:20px;color:#fff;text-decoration:none;background:#0d0d0d}.help-grid span{color:#888;font-size:.85rem}
.context-help-fab{position:fixed;right:18px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:85;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000!important;text-decoration:none!important;font-size:1.3rem;font-weight:900;box-shadow:0 8px 28px #0008}
@media(max-width:760px){.home-usecases,.usecase-grid,.guide-cards{grid-template-columns:1fr}.home-usecases>a,.usecase-card{min-height:0;padding:20px}.real-app-section{grid-template-columns:1fr;padding:32px 18px}.phone-shot img{max-height:620px}.discover-page,.guide-page{padding:96px 16px 80px}.help-grid{grid-template-columns:1fr}.site-nav nav{display:none}}

/* RC4.1 — guides visuels aboutis */
.guide-pro-body{background:#050505;color:#fff}.guide-pro{max-width:1240px;margin:auto;padding:120px 24px 100px}
.guide-pro-hero{min-height:430px;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;border-bottom:1px solid #222}
.guide-pro-hero h1{font-size:clamp(3.4rem,8vw,7rem);line-height:.9;letter-spacing:-.06em;margin:.18em 0}.guide-pro-hero h1 span{color:#777}.guide-intro{max-width:720px;font-size:1.25rem;line-height:1.55;color:#aaa}
.guide-demo-card{background:#fff;color:#050505;border-radius:34px;padding:34px;min-height:270px;display:flex;flex-direction:column}.demo-kicker{font-size:.72rem;letter-spacing:.2em}.demo-icon{font-size:3rem;margin:22px 0 10px}.guide-demo-card h2{font-size:2rem;margin:0}.guide-demo-card p{color:#555}.demo-progress{display:flex;gap:6px;margin-top:auto}.demo-progress i{height:5px;flex:1;background:#111;border-radius:9px}
.guide-chips{position:sticky;top:0;z-index:30;display:flex;gap:8px;overflow-x:auto;padding:14px 0;background:rgba(5,5,5,.94);backdrop-filter:blur(12px);scrollbar-width:none}.guide-chips a{white-space:nowrap;color:#bbb;text-decoration:none;border:1px solid #292929;padding:9px 14px;border-radius:999px}.guide-chips a:hover{background:#fff;color:#000}
.guide-story{scroll-margin-top:75px;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;min-height:720px;padding:80px 0;border-bottom:1px solid #1e1e1e}.guide-story.reverse .guide-copy{order:2}.guide-story.reverse .guide-visual{order:1}.guide-number{font-size:.78rem;color:#555;letter-spacing:.18em}.guide-copy h2{font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;letter-spacing:-.045em;margin:.2em 0}.guide-promise{font-size:1.1rem;line-height:1.6;color:#aaa;max-width:650px}
.visual-steps{display:grid;gap:9px;margin:30px 0}.visual-step{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:15px;border:1px solid #262626;border-radius:18px;background:#0b0b0b}.visual-step>b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000;font-size:1rem}.visual-step small{font-size:.65rem;letter-spacing:.16em;color:#777}.visual-step h3{margin:2px 0;font-size:1.05rem}.visual-step p{margin:3px 0 0;color:#888;font-size:.9rem;line-height:1.4}.guide-result{display:flex;gap:12px;align-items:center;margin:20px 0;color:#aaa}.guide-result>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #444;border-radius:50%;color:#fff}.guide-result p{margin:0}
.guide-visual{min-height:540px;display:grid;place-items:center;position:relative}.mock-phone{width:min(360px,90%);min-height:570px;background:#080808;border:1px solid #444;border-radius:46px;padding:18px;box-shadow:0 40px 100px #000;box-sizing:border-box}.mock-status{padding:8px 10px 20px;font-size:.75rem;letter-spacing:.16em;display:flex;justify-content:space-between}.mock-screen{background:#111;border-radius:30px;padding:26px;min-height:480px;box-sizing:border-box}.mock-screen>small,.objective-board>small,.zero-card>small,.team-board>small{letter-spacing:.18em;color:#777}.mock-screen h3{font-size:2rem;margin:10px 0}.mock-goal{background:#fff;color:#000;border-radius:22px;padding:20px;margin:24px 0;display:flex;align-items:end;gap:10px}.mock-goal b{font-size:4rem;line-height:.8}.mock-goal span{font-size:.9rem}.mock-row{display:flex;justify-content:space-between;border-bottom:1px solid #292929;padding:14px 0;color:#999}.mock-row b{color:#fff}.mock-members,.team-avatars{display:flex;margin:22px 0}.mock-members i,.team-avatars i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#222;border:2px solid #111;margin-left:-6px;font-style:normal}.mock-cta{margin-top:20px;background:#fff;color:#000;border-radius:999px;padding:15px;text-align:center;font-weight:800}
.crew-stack{display:grid;gap:12px;margin-top:25px}.crew-stack>div{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #292929}.crew-stack i{width:45px;height:45px;border-radius:50%;background:#222;display:grid;place-items:center;font-style:normal}.crew-stack span{display:flex;flex-direction:column}.crew-stack small,.muted{color:#777}
.real-shot{align-content:center}.real-shot img{width:min(390px,90%);max-height:690px;object-fit:contain;border-radius:36px;box-shadow:0 40px 90px #000}.real-shot>span{font-size:.65rem;letter-spacing:.18em;color:#666;margin-top:14px}
.objective-board,.zero-card,.team-board{width:min(410px,90%);padding:38px;border:1px solid #333;border-radius:34px;background:#101010;box-sizing:border-box}.objective-board h3{font-size:4rem;margin:12px 0 0}.objective-board>p{color:#888}.timeline{display:flex;gap:7px;margin:35px 0}.timeline i{height:7px;flex:1;border-radius:9px;background:#333}.timeline i.done{background:#888}.timeline i.active{background:#fff}.week-card{padding:20px;background:#fff;color:#000;border-radius:20px;display:flex;flex-direction:column;gap:6px}.week-card span{font-size:.7rem;letter-spacing:.15em}.week-card small{color:#555}
.coach-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.coach-two>div{border:1px solid #292929;border-radius:18px;padding:16px}.coach-two p{color:#999;line-height:1.4}.coach-two span{font-size:.8rem}.chat-demo{width:min(410px,92%);padding:25px;border:1px solid #333;border-radius:34px;background:#0e0e0e}.chat-head{display:flex;justify-content:space-between;padding-bottom:25px;letter-spacing:.16em}.chat-head i{color:#fff}.bubble{max-width:78%;padding:14px 16px;border-radius:20px;margin:12px 0;line-height:1.4}.bubble.user{margin-left:auto;background:#fff;color:#000;border-bottom-right-radius:5px}.bubble.coach{background:#222;border-bottom-left-radius:5px}.coach-action{display:flex;flex-direction:column;gap:8px;border:1px solid #333;border-radius:20px;padding:18px;margin-top:22px}.coach-action small{color:#777;letter-spacing:.15em}.coach-action span{margin-top:8px}
.map-demo{width:min(440px,94%);height:500px;border-radius:34px;background:linear-gradient(135deg,#161616,#080808);border:1px solid #333;position:relative;overflow:hidden}.map-road{position:absolute;height:2px;background:#343434;width:130%;left:-15%;transform-origin:center}.r1{top:30%;transform:rotate(24deg)}.r2{top:58%;transform:rotate(-31deg)}.r3{top:70%;transform:rotate(9deg)}.pin{position:absolute;width:48px;height:48px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font-style:normal;font-size:1.5rem}.p1{top:18%;left:25%}.p2{top:44%;right:18%}.p3{bottom:22%;left:18%}.map-card{position:absolute;left:18px;right:18px;bottom:18px;background:#fff;color:#000;border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:5px}.map-card small{letter-spacing:.15em}.map-card span{font-size:.8rem;color:#555;margin-top:5px}
.zero-card{text-align:center}.zero-time{font-size:7rem;font-weight:900;line-height:1;margin:30px 0}.zero-time span{display:block;font-size:.8rem;letter-spacing:.25em;color:#777}.zero-card h3{font-size:1.5rem;line-height:1.25}.team-board h3{font-size:2.2rem;margin-bottom:25px}.team-progress{height:12px;background:#2b2b2b;border-radius:20px;overflow:hidden}.team-progress i{display:block;height:100%;background:#fff}.team-board>b{display:block;font-size:4rem;margin-top:15px}.team-board>p{color:#888;line-height:1.5}
.guide-end{text-align:center;padding:110px 20px 30px}.guide-end h2{font-size:clamp(2.4rem,6vw,5rem);margin:.2em auto;max-width:800px}.guide-end>p{color:#888}.guide-end>div{display:flex;justify-content:center;gap:10px;margin-top:28px}
@media(max-width:800px){.guide-pro{padding:92px 16px 80px}.guide-pro-hero{grid-template-columns:1fr;gap:30px;padding:30px 0 50px;min-height:0}.guide-demo-card{min-height:210px}.guide-story,.guide-story.reverse{grid-template-columns:1fr;gap:30px;min-height:0;padding:55px 0}.guide-story .guide-copy,.guide-story.reverse .guide-copy{order:1}.guide-story .guide-visual,.guide-story.reverse .guide-visual{order:2}.guide-visual{min-height:440px}.mock-phone{min-height:520px}.mock-screen{min-height:430px}.coach-two{grid-template-columns:1fr}.guide-end>div{flex-direction:column}.guide-chips{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.guide-copy h2{font-size:2.7rem}}

/* V16 — homepage démonstrative */
.home-v16{overflow:hidden}.home-hero-v16{max-width:1400px;margin:auto;min-height:760px;padding:120px 36px 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.home-hero-copy h1{font-size:clamp(4rem,8vw,8.5rem);line-height:.86;letter-spacing:-.07em;margin:.15em 0}.home-hero-copy h1 span{color:#7d7d7d}.home-hero-explain{max-width:760px;font-size:1.25rem;line-height:1.55;color:#aaa}.home-hero-explain strong{color:#fff}.home-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.home-proof span{border:1px solid #2c2c2c;border-radius:999px;padding:8px 12px;color:#888;font-size:.82rem}.home-phone-stage{position:relative;display:grid;place-items:center;min-height:650px}.home-phone-glow{position:absolute;width:480px;height:480px;border-radius:50%;background:#fff;filter:blur(150px);opacity:.07}.home-phone{position:relative;margin:0;width:min(390px,78%);transform:rotate(2deg)}.home-phone img{width:100%;max-height:700px;object-fit:contain;border-radius:36px;box-shadow:0 50px 120px #000}.home-phone figcaption{text-align:center;color:#555;font-size:.7rem;letter-spacing:.14em;margin-top:12px;text-transform:uppercase}
.home-scenarios,.home-how,.home-zero,.home-guides-cta{max-width:1280px;margin:auto;padding:100px 32px}.section-title{max-width:850px;margin-bottom:42px}.section-title h2{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.96;letter-spacing:-.055em;margin:.2em 0}.section-title>p:last-child{color:#888;font-size:1.1rem}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scenario-card{min-height:330px;display:flex;flex-direction:column;padding:28px;border:1px solid #282828;border-radius:28px;background:#0b0b0b;color:#fff;text-decoration:none;transition:.2s transform,.2s border-color}.scenario-card:hover{transform:translateY(-4px);border-color:#666}.scenario-card.featured{grid-column:span 2;background:#f2f2f2;color:#050505}.scenario-top{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.16em}.scenario-top b{font-size:.75rem}.scenario-card h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05;margin:36px 0 12px}.scenario-card p{line-height:1.55;color:#8d8d8d}.scenario-card.featured p{color:#555}.scenario-card strong{margin-top:auto}.scenario-mini-progress{height:8px;background:#ccc;border-radius:20px;overflow:hidden;margin-top:22px}.scenario-mini-progress i{display:block;height:100%;background:#111}.scenario-card small{margin:8px 0 20px;color:#555}
.home-how{border-top:1px solid #1f1f1f;border-bottom:1px solid #1f1f1f}.how-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch}.how-step{border:1px solid #292929;border-radius:28px;padding:28px;min-height:260px}.how-step.white{background:#fff;color:#000}.how-step>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid currentColor}.how-step small{display:block;margin-top:38px;letter-spacing:.15em;color:#777}.how-step h3{font-size:1.7rem;margin:8px 0}.how-step p{color:#888;line-height:1.5}.how-step.white p{color:#555}.how-arrow{display:grid;place-items:center;color:#555;font-size:2rem}
.home-coach-split{max-width:1400px;margin:auto;padding:100px 32px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.coach-persona{min-height:520px;border:1px solid #292929;border-radius:32px;padding:38px;display:flex;flex-direction:column}.coach-persona.pro{background:#f4f4f4;color:#050505}.coach-persona h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;letter-spacing:-.045em;margin:.2em 0 40px}.chat-line{max-width:78%;padding:16px 18px;border-radius:20px;margin:8px 0;line-height:1.4}.chat-line.me{margin-left:auto;background:#fff;color:#000}.chat-line.bot{background:#202020}.coach-persona>a{margin-top:auto;color:inherit;text-decoration:none;font-weight:700}.coach-dashboard-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.coach-dashboard-mini>div{border:1px solid #ccc;border-radius:20px;padding:18px}.coach-dashboard-mini b{display:block;font-size:2.4rem}.coach-dashboard-mini span{color:#666;font-size:.8rem}
.home-zero{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.home-zero h2{font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-.055em;margin:.2em 0}.home-zero p{color:#888;line-height:1.6;font-size:1.1rem}.zero-visual{justify-self:center;width:min(360px,90%);aspect-ratio:1;border:1px solid #333;border-radius:50%;display:grid;place-content:center;text-align:center}.zero-visual b{font-size:8rem;line-height:.8}.zero-visual span{letter-spacing:.25em;color:#777}.zero-visual small{margin-top:28px;letter-spacing:.18em}.home-guides-cta{text-align:center;padding-bottom:130px}.home-guides-cta h2{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.05em;max-width:950px;margin:.2em auto}.home-guides-cta>p:not(.eyebrow){max-width:760px;margin:20px auto;color:#888;font-size:1.1rem;line-height:1.55}
@media(max-width:850px){.home-hero-v16{grid-template-columns:1fr;padding:100px 18px 50px;min-height:0}.home-hero-copy h1{font-size:clamp(3.5rem,15vw,6rem)}.home-phone-stage{min-height:520px}.home-phone{width:min(330px,80%)}.home-scenarios,.home-how,.home-zero,.home-guides-cta{padding:70px 18px}.scenario-grid{grid-template-columns:1fr}.scenario-card.featured{grid-column:auto}.scenario-card{min-height:270px}.how-flow{grid-template-columns:1fr}.how-arrow{transform:rotate(90deg);height:28px}.home-coach-split{grid-template-columns:1fr;padding:70px 18px}.coach-persona{min-height:460px;padding:25px}.coach-dashboard-mini{grid-template-columns:1fr}.home-zero{grid-template-columns:1fr;gap:35px}.zero-visual{width:260px}.zero-visual b{font-size:6rem}}

/* V17 — Aide rendue visible partout */
.home-help-strip{max-width:1280px;margin:0 auto 100px;padding:34px 36px;border:1px solid #2c2c2c;border-radius:30px;background:#0d0d0d;display:flex;justify-content:space-between;align-items:center;gap:30px}
.home-help-strip h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:.15em 0}.home-help-strip p:last-child{color:#888}.home-help-actions{display:flex;gap:10px;flex-shrink:0}
.pwa-help-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;margin:14px 14px 18px;padding:16px;border:1px solid #2b2b2b;border-radius:22px;background:#111}
.pwa-help-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000;font-size:1.3rem;font-weight:900}.pwa-help-card div:nth-child(2){display:flex;flex-direction:column;gap:4px}.pwa-help-card span{color:#888;font-size:.82rem}.pwa-help-card>a{color:#fff;text-decoration:none;font-weight:800}
.profile-help-link{margin:14px}.profile-help-link>a,.admin-help-link{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid #2c2c2c;border-radius:20px;background:#111;color:#fff;text-decoration:none}.profile-help-q,.admin-help-link>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000;font-weight:900}.profile-help-link small,.admin-help-link small{display:block;color:#888;margin-top:4px}.profile-help-link b,.admin-help-link>b{font-size:1.25rem}
.screen-help-link{display:flex;align-items:center;gap:10px;margin:10px 14px 16px;padding:11px 14px;border:1px solid #303030;border-radius:16px;background:#0e0e0e;color:#fff;text-decoration:none}.screen-help-link>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#000;font-weight:900}.screen-help-link>b{font-size:.88rem}.screen-help-link>em{margin-left:auto;font-style:normal;color:#777}
.help-intro-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;margin:0 0 16px;border:1px solid #2b2b2b;border-radius:20px;background:#101010}.help-intro-panel>div{display:flex;flex-direction:column;gap:5px}.help-intro-panel span{color:#888;font-size:.86rem}.help-intro-panel>a{color:#fff;text-decoration:none;font-weight:700;font-size:.88rem}
.admin-help-link{margin:14px}
@media(max-width:760px){.home-help-strip{margin:0 18px 70px;padding:24px;flex-direction:column;align-items:flex-start}.home-help-actions{width:100%;flex-direction:column}.home-help-actions a{text-align:center}.pwa-help-card{grid-template-columns:46px 1fr}.pwa-help-card>a{grid-column:2}.help-intro-panel{flex-direction:column;align-items:flex-start}}

/* V20 — homepage éditoriale courte + pages SEO dédiées */
.home20-hero{max-width:1400px;margin:auto;min-height:720px;padding:120px 34px 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.home20-copy h1{font-size:clamp(4.5rem,9vw,9rem);line-height:.82;letter-spacing:-.075em;margin:.12em 0}.home20-copy h1 span{color:#777}.home20-copy>p:not(.eyebrow){max-width:650px;color:#aaa;font-size:1.22rem;line-height:1.55}.home20-art img{width:100%;border-radius:36px;display:block}.home20-intro{max-width:1280px;margin:auto;padding:85px 32px 28px}.home20-intro h2{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.055em;margin:.15em 0}.home20-grid{max-width:1280px;margin:auto;padding:0 32px 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.home20-tile{position:relative;min-height:540px;border-radius:30px;overflow:hidden;background:#0d0d0d;color:#fff;text-decoration:none;border:1px solid #262626}.home20-tile.wide{grid-column:span 2;min-height:520px}.home20-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.home20-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.86) 100%)}.home20-tile>div{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.home20-tile small{letter-spacing:.18em}.home20-tile h3{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:.18em 0 18px;max-width:900px}.home20-tile span{font-weight:800}.home20-tile:hover img{transform:scale(1.025)}.home20-proof{max-width:1280px;margin:auto;padding:100px 32px;display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center;border-top:1px solid #222}.home20-proof h2,.home20-end h2{font-size:clamp(3rem,6vw,5.5rem);line-height:.95;letter-spacing:-.055em;margin:.18em 0}.home20-proof p{color:#888;line-height:1.6;font-size:1.1rem}.home20-proof figure{margin:0;text-align:center}.home20-proof figure img{width:min(390px,90%);max-height:680px;object-fit:contain;border-radius:34px}.home20-proof figcaption{color:#666;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.home20-end{max-width:1280px;margin:auto;padding:110px 32px 130px;text-align:center;border-top:1px solid #222}.home20-end h2{max-width:1000px;margin:.2em auto}.seo20 main{max-width:1320px;margin:auto;padding:110px 28px 100px}.seo20-hero{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center;min-height:650px}.seo20-hero h1{font-size:clamp(3.8rem,7vw,7rem);line-height:.9;letter-spacing:-.065em;margin:.18em 0}.seo20-hero p:not(.eyebrow){max-width:700px;color:#999;font-size:1.2rem;line-height:1.55}.seo20-hero figure{margin:0}.seo20-hero figure img{width:100%;border-radius:34px}.seo20-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:90px 0}.seo20-steps>div{min-height:230px;border:1px solid #292929;border-radius:26px;padding:28px;background:#0d0d0d}.seo20-steps span{font-size:.75rem;color:#666;letter-spacing:.2em}.seo20-steps h2{font-size:2rem;margin-top:60px}.seo20-story{max-width:900px;padding:80px 0}.seo20-story h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.05em;margin:.2em 0}.seo20-story>p:last-child{color:#999;font-size:1.15rem;line-height:1.65}.seo20-cta{padding:80px 0;border-top:1px solid #222}.seo20-cta h2{font-size:clamp(2.5rem,5vw,4.5rem);max-width:800px}@media(max-width:800px){.home20-hero,.home20-proof,.seo20-hero{grid-template-columns:1fr}.home20-hero{padding:100px 18px 40px;min-height:0}.home20-copy h1{font-size:clamp(4rem,17vw,6.2rem)}.home20-art{order:-1}.home20-intro,.home20-grid,.home20-proof,.home20-end{padding-left:18px;padding-right:18px}.home20-grid{grid-template-columns:1fr}.home20-tile,.home20-tile.wide{grid-column:auto;min-height:420px}.home20-proof{gap:40px}.seo20 main{padding:95px 18px 80px}.seo20-hero{min-height:0}.seo20-hero figure{order:-1}.seo20-steps{grid-template-columns:1fr;padding:50px 0}.seo20-steps>div{min-height:160px}.seo20-steps h2{margin-top:32px}}

/* RC7 — boucle Objectif > Plan > Mission > Ressenti */
.objective-home-card{margin:14px 0 20px;padding:18px;border:1px solid #2a2a2a;border-radius:22px;background:#0f0f0f}.objective-home-head{display:flex;justify-content:space-between;align-items:center}.objective-home-head>span{font-size:.68rem;letter-spacing:.16em;color:#777}.objective-home-head>a{font-size:.78rem;color:#fff;text-decoration:none}.objective-home-card h2{font-size:1.35rem;margin:12px 0 5px}.objective-home-card>p{color:#858585;margin:0 0 14px}.objective-home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.objective-home-stats>div{padding:11px;border:1px solid #252525;border-radius:14px;background:#090909}.objective-home-stats strong{display:block;font-size:1.15rem}.objective-home-stats span{display:block;color:#777;font-size:.68rem;margin-top:3px}.objective-hero h1{margin-bottom:7px}.objective-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.objective-stats>div{padding:13px;border:1px solid #2a2a2a;border-radius:14px}.objective-stats span{display:block;color:#777;font-size:.72rem}.objective-stats strong{font-size:1.25rem}.plan-weeks{display:grid;gap:7px}.plan-week{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #252525;border-radius:13px}.plan-week>span{font-size:.72rem;color:#777}.plan-week>strong{font-size:.86rem;text-transform:capitalize}.plan-week>small{font-size:.68rem;color:#6f6f6f}.plan-week.active{background:#fff;color:#050505;border-color:#fff}.plan-week.active>span,.plan-week.active>small{color:#555}.mission-plan-context{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:0 0 12px;padding:13px 15px;border:1px solid #292929;border-radius:16px;background:#0c0c0c}.mission-plan-context>span{grid-column:1;font-size:.65rem;letter-spacing:.15em;color:#777}.mission-plan-context>strong{grid-column:1}.mission-plan-context>small{grid-column:1;color:#777}.mission-plan-context>a{grid-column:2;grid-row:1/4;color:#fff;text-decoration:none;font-size:.75rem}.mission-card-v2 h1{font-size:clamp(1.9rem,7vw,2.7rem)}.mission-why{margin:18px 0;padding:13px 15px;border-left:2px solid #fff;background:#0d0d0d}.mission-why>span{font-size:.67rem;letter-spacing:.12em;color:#777}.mission-why p{margin:5px 0 0;color:#aaa}.mission-meta{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.mission-meta span{padding:7px 10px;border:1px solid #292929;border-radius:999px;font-size:.72rem}.mission-primary-actions button{width:100%}.mission-complete-box{margin-top:10px;border:1px solid #2a2a2a;border-radius:16px;overflow:hidden}.mission-complete-box summary{cursor:pointer;padding:14px 15px;font-weight:750}.mission-complete-box form{padding:0 15px 15px}.mission-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-feedback-grid label:last-child{grid-column:1/-1}.mission-alternatives{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.mission-safety{font-size:.82rem;color:#aaa}@media(max-width:600px){.objective-stats,.objective-home-stats{grid-template-columns:repeat(3,1fr)}.plan-week{grid-template-columns:34px 1fr}.plan-week>small{grid-column:2}.mission-feedback-grid{grid-template-columns:1fr}.mission-feedback-grid label:last-child{grid-column:auto}}


/* RC8 — progression du plan, activités, Coach */
.objective-hero-v3{display:flex;justify-content:space-between;gap:20px;align-items:center}.objective-hero-v3 h1{margin:.2em 0}.objective-days{min-width:92px;text-align:center;padding:16px;border:1px solid #2a2a2a;border-radius:20px}.objective-days strong{display:block;font-size:2.4rem}.objective-days span{color:#888;font-size:.78rem}
.week-progress-card{display:grid;gap:18px}.week-progress-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.week-progress-head h2{margin:.2em 0}.week-progress-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.week-progress-stats>div{padding:15px;border:1px solid #292929;border-radius:16px}.week-progress-stats strong,.week-progress-stats span{display:block}.week-progress-stats span{color:#888;font-size:.78rem;margin-top:3px}.week-progress-stats i,.plan-week-v3>i,.activity-plan-progress>i,.objective-home-progress i{display:block;height:7px;background:#292929;border-radius:999px;overflow:hidden;margin-top:12px}.week-progress-stats i b,.plan-week-v3>i b,.activity-plan-progress>i b,.objective-home-progress i b{display:block;height:100%;background:#fff;border-radius:999px}
.plan-adjust-box{border-top:1px solid #262626;padding-top:14px}.plan-adjust-box summary{cursor:pointer;font-weight:700}.plan-adjust-actions,.coach-plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.plan-adjust-actions form,.coach-plan-actions form{margin:0}
.plan-weeks-v3{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.plan-week-v3{padding:13px;border:1px solid #252525;border-radius:15px;background:#0b0b0b}.plan-week-v3.active{border-color:#fff}.plan-week-v3.done{background:#151515}.plan-week-top{display:flex;gap:8px;align-items:center}.plan-week-top strong{font-size:.8rem}.plan-week-top em{margin-left:auto;font-style:normal}.plan-week-v3 small{display:block;color:#777;margin:7px 0}.plan-week-mini{display:grid;gap:2px;font-size:.72rem;color:#aaa}
.adjustment-list{display:grid;gap:8px}.adjustment-list>div{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:12px;border:1px solid #282828;border-radius:14px}.adjustment-list span,.adjustment-list small{color:#888;font-size:.75rem}
.activity-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 14px 14px}.activity-summary>div{padding:14px;border:1px solid #282828;border-radius:16px;background:#0c0c0c}.activity-summary span,.activity-summary small{display:block;color:#777;font-size:.66rem}.activity-summary strong{display:block;font-size:1.6rem;margin:4px 0}
.activity-plan-progress{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.activity-plan-progress h2{margin:.15em 0}.activity-plan-progress>i{grid-column:1/-1;margin:0}
.activity-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.activity-history-list{margin:20px 14px}.activity-item{display:flex;justify-content:space-between;gap:15px;padding:16px 4px;border-bottom:1px solid #242424}.activity-item-main span{font-size:.64rem;letter-spacing:.15em;color:#777}.activity-item-main h3{margin:3px 0}.activity-item-main p{margin:0;color:#999;font-size:.8rem}.activity-item-side{text-align:right;display:flex;flex-direction:column;gap:5px;justify-content:center}.activity-item-side small,.activity-item-side time{color:#777;font-size:.7rem}
.coach-plan-card{margin:0 14px 14px;padding:15px;border:1px solid #2b2b2b;border-radius:18px;display:flex;justify-content:space-between;align-items:center;background:#0c0c0c}.coach-plan-card>div{display:flex;flex-direction:column;gap:3px}.coach-plan-card span{font-size:.65rem;letter-spacing:.15em;color:#777}.coach-plan-card small{color:#888}.coach-plan-card a{color:#fff;text-decoration:none;font-weight:700}.coach-prompts{display:flex;gap:8px;overflow-x:auto;margin:15px 0}.coach-prompts button{white-space:nowrap;padding:9px 12px;border-radius:999px;background:#111;border:1px solid #333;color:#fff}.coach-history{margin:14px}.coach-history .chat{max-width:84%;padding:13px 15px;border-radius:18px;background:#161616;margin:8px 0}.coach-history .chat.user{margin-left:auto;background:#f3f3f3;color:#080808}.coach-history .chat span{font-size:.62rem;letter-spacing:.15em}.coach-history .chat p{margin:6px 0}.coach-history .chat small{opacity:.55;font-size:.66rem}
.objective-home-progress{margin-top:12px}.objective-home-progress span{display:block;color:#777;font-size:.7rem;margin-top:5px}
@media(max-width:720px){.objective-hero-v3{align-items:flex-start}.week-progress-head{flex-direction:column}.week-progress-stats,.activity-form-grid{grid-template-columns:1fr}.activity-summary{grid-template-columns:repeat(2,1fr)}.adjustment-list>div{grid-template-columns:70px 1fr}.adjustment-list small{grid-column:2}.activity-item{flex-direction:column}.activity-item-side{text-align:left}.plan-weeks-v3{grid-template-columns:repeat(2,1fr)}}


/* RC9 — social vivant */
.challenge-create-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.challenge-list-v2{margin:18px 14px}.challenge-card-v2{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;margin:9px 0;border:1px solid #292929;border-radius:18px;background:#0c0c0c;color:#fff;text-decoration:none}.challenge-card-v2 small{font-size:.65rem;letter-spacing:.15em;color:#747474}.challenge-card-v2 h3{margin:4px 0}.challenge-card-v2 p{margin:0;color:#888}.challenge-card-v2>strong{font-size:1.6rem}.challenge-card-v2>i{grid-column:1/-1;height:7px;background:#282828;border-radius:999px;overflow:hidden}.challenge-card-v2>i b{display:block;height:100%;background:#fff}
.challenge-hero-detail{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.challenge-hero-detail h1{margin:.15em 0}.challenge-big-progress{text-align:right}.challenge-big-progress strong{display:block;font-size:2.4rem}.challenge-big-progress span{color:#888;font-size:.76rem}.challenge-hero-detail>i{grid-column:1/-1;height:9px;background:#252525;border-radius:999px;overflow:hidden}.challenge-hero-detail>i b{display:block;height:100%;background:#fff}
.social-action-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 14px 14px}.social-action-row form{margin:0}
.member-list-v2{display:grid;gap:8px}.member-list-v2>div{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #242424}.member-list-v2>div>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1c1c1c}.member-list-v2 small{color:#888}
.social-reactions{display:flex;gap:7px;margin-bottom:16px}.social-reactions form{margin:0}.social-reactions button{padding:8px 11px;border-radius:999px;background:#111;border:1px solid #303030;color:#fff}.social-reactions button.active{background:#fff;color:#000}
.comment-list{display:grid;gap:10px;margin:12px 0 18px}.comment-list article{padding:13px;border-radius:14px;background:#101010}.comment-list article p{margin:6px 0}.comment-list article small{color:#777;font-size:.7rem}
.group-grid-v2{display:grid;gap:10px;margin:14px}.group-card-v2{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid #292929;border-radius:18px;background:#0b0b0b;color:#fff;text-decoration:none}.group-card-v2>span,.group-avatar-big{display:grid;place-items:center;background:#1b1b1b;border-radius:50%;font-weight:800}.group-card-v2>span{width:50px;height:50px}.group-card-v2 h3{margin:0 0 4px}.group-card-v2 p{margin:0;color:#888}.group-hero-v2{display:flex;align-items:center;gap:18px}.group-avatar-big{width:74px;height:74px;font-size:1.25rem}
.feed-action-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 14px 18px}.feed-action-strip a{padding:14px;border:1px solid #292929;border-radius:16px;background:#0c0c0c;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}.feed-action-strip strong{font-size:1.4rem}
.feed-section{margin:14px}.feed-challenge{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #242424;color:#fff;text-decoration:none}.feed-challenge small{color:#777;font-size:.65rem}.feed-challenge h3{margin:3px 0}.feed-challenge p{margin:0;color:#888}.feed-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px}.feed-groups>div{padding:15px;border:1px solid #282828;border-radius:18px}.feed-groups a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #242424;color:#fff;text-decoration:none}.feed-groups a span{color:#777}
@media(max-width:720px){.challenge-create-grid{grid-template-columns:1fr}.challenge-hero-detail{grid-template-columns:1fr}.challenge-big-progress{text-align:left}.member-list-v2>div{grid-template-columns:42px 1fr}.member-list-v2 small{grid-column:2}.feed-action-strip,.feed-groups{grid-template-columns:1fr}}


/* RC10 — World Gym terrain */
.world-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.world-hero h1{margin:.15em 0}.world-hero>button{white-space:nowrap}.world-mission{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid #2a2a2a;border-radius:14px;max-width:430px}.world-mission span{font-size:.62rem;letter-spacing:.15em;color:#777}
.world-filter-grid,.world-coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.world-check{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center}.world-check input{width:auto}.world-location-ok{margin:0 14px 12px;color:#777;font-size:.72rem}
.world-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px}.world-place{padding:17px;border:1px solid #292929;border-radius:19px;background:#0b0b0b}.world-place.warning{border-color:#594949}.world-place-top{display:flex;justify-content:space-between;gap:10px;color:#777;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.world-place-top strong{color:#fff}.world-place h2{margin:7px 0}.world-place>p{color:#999;line-height:1.5}.world-place>small{display:block;color:#666;margin-top:12px}.world-place-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.world-place-tags span{padding:6px 8px;border-radius:999px;background:#151515;color:#999;font-size:.67rem}.world-place-tags .match{background:#eee;color:#080808}.world-place-tags .status-closed,.world-place-tags .status-unsafe{background:#2a1717;color:#efcaca}.world-place-tags .status-good{background:#17241a;color:#cfe8d2}
.world-report{border-top:1px solid #242424;margin-top:14px;padding-top:12px}.world-report summary{cursor:pointer;font-size:.78rem;font-weight:700}.world-report-buttons{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.world-report-buttons button{padding:8px 10px}
.world-propose details>summary{cursor:pointer;font-weight:800;font-size:1.05rem}.world-events{display:grid;gap:9px}.world-events>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #242424}.world-events span{color:#888;font-size:.78rem}
.world-mission-cta{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 14px 14px;padding:14px 16px;border:1px solid #2b2b2b;border-radius:17px;background:#0b0b0b}.world-mission-cta>div{display:flex;flex-direction:column;gap:3px}.world-mission-cta span{font-size:.62rem;letter-spacing:.15em;color:#777}.world-mission-cta a{color:#fff;text-decoration:none;font-weight:800}
@media(max-width:720px){.world-hero{grid-template-columns:1fr}.world-hero>button{width:100%}.world-filter-grid,.world-coords,.world-place-grid{grid-template-columns:1fr}.world-events>div{flex-direction:column;gap:3px}.world-mission-cta{align-items:flex-start;flex-direction:column}}

/* RC11 — Coach Pro */
.coach-mode-links{display:flex;gap:8px;margin:0 14px 14px;overflow-x:auto}.coach-mode-links a{white-space:nowrap;padding:9px 12px;border:1px solid #303030;border-radius:999px;color:#fff;text-decoration:none;font-size:.76rem}
.coachpro-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 14px 14px}.coachpro-summary>div{padding:14px;border:1px solid #292929;border-radius:16px;background:#0c0c0c}.coachpro-summary span{display:block;color:#777;font-size:.65rem}.coachpro-summary strong{display:block;font-size:1.8rem;margin-top:4px}
.coachpro-alerts{display:grid;gap:8px}.coachpro-alerts a{display:grid;gap:3px;padding:11px;border:1px solid #392d2d;border-radius:13px;color:#fff;text-decoration:none}.coachpro-alerts span{color:#aaa;font-size:.8rem}
.coachpro-layout{display:grid;grid-template-columns:minmax(240px,330px) 1fr;gap:12px;margin:14px}.coachpro-layout>div:first-child>h2{margin-top:0}.coachpro-athlete{display:flex;justify-content:space-between;gap:10px;padding:13px;margin-bottom:8px;border:1px solid #292929;border-radius:15px;color:#fff;text-decoration:none}.coachpro-athlete.active{border-color:#fff}.coachpro-athlete div{display:grid;gap:3px}.coachpro-athlete small,.coachpro-athlete>span{color:#858585;font-size:.72rem}.coachpro-athlete>span{text-align:right}
.coachpro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.coachpro-stats>div{padding:12px;border:1px solid #282828;border-radius:14px}.coachpro-stats strong,.coachpro-stats span{display:block}.coachpro-stats span{color:#777;font-size:.68rem;margin-top:4px}
.coachpro-assignments,.athlete-assignments{display:grid;gap:8px}.coachpro-assignments article,.athlete-assignments article{display:flex;justify-content:space-between;gap:14px;padding:13px;border:1px solid #282828;border-radius:14px}.coachpro-assignments article div,.athlete-assignments article>div{display:grid;gap:4px}.coachpro-assignments small,.coachpro-assignments span,.athlete-assignments small{color:#818181;font-size:.72rem}.coachpro-assignments span{text-align:right}.athlete-assignments article.done{opacity:.72}.athlete-assignments h3,.athlete-assignments p{margin:0}.athlete-assignments details{min-width:150px}.coach-request{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #252525}.coach-request form{display:flex;gap:6px;align-items:center}
@media(max-width:800px){.coachpro-layout{grid-template-columns:1fr}.coachpro-stats{grid-template-columns:repeat(2,1fr)}.coachpro-assignments article,.athlete-assignments article,.coach-request{flex-direction:column}.coachpro-summary{grid-template-columns:repeat(3,1fr)}}

/* RC12 — progression TRIBIONE */
.progression-hero{display:grid;grid-template-columns:1fr auto;gap:18px;margin:0 14px 12px;padding:20px;border:1px solid #303030;border-radius:22px;background:#0b0b0b}.progression-hero h1{font-size:clamp(2rem,8vw,4rem);margin:.08em 0}.progression-hero p{margin:0;color:#909090}.progression-credit{min-width:90px;text-align:center;padding:13px;border:1px solid #2b2b2b;border-radius:17px}.progression-credit strong,.progression-credit span{display:block}.progression-credit strong{font-size:1.8rem}.progression-credit span{color:#777;font-size:.72rem}.progression-mainbar{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.progression-mainbar i,.next-badges i,.home-progression-card>i{height:8px;background:#292929;border-radius:999px;overflow:hidden}.progression-mainbar i b,.next-badges i b,.home-progression-card>i b{display:block;height:100%;background:#fff;border-radius:999px}.progression-mainbar span{font-size:.7rem;color:#777}
.level-road{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 14px 12px}.level-road>div{padding:12px;border:1px solid #282828;border-radius:15px;display:grid;gap:3px;opacity:.48}.level-road>div.done{opacity:1}.level-road>div.current{border-color:#fff}.level-road small{color:#777;font-size:.67rem}
.progression-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 14px 14px}.progression-stats>div{padding:13px;border:1px solid #292929;border-radius:15px;background:#0c0c0c}.progression-stats strong,.progression-stats span{display:block}.progression-stats strong{font-size:1.45rem}.progression-stats span{font-size:.68rem;color:#777}
.next-badges{display:grid;gap:10px}.next-badges article{display:grid;grid-template-columns:1fr 130px;gap:14px;align-items:center}.next-badges article>div{display:grid}.next-badges small{color:#777}
.badge-grid-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.badge-grid-v2 article{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:13px;border:1px solid #292929;border-radius:16px}.badge-medal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f1f1f1;color:#050505;font-size:1.3rem}.badge-grid-v2 small{color:#777;font-size:.62rem;letter-spacing:.12em}.badge-grid-v2 h3{margin:3px 0}.badge-grid-v2 p{margin:0;color:#929292;font-size:.8rem}.badge-grid-v2 time{display:block;margin-top:7px;color:#666;font-size:.66rem}
.home-progression-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;margin:12px 14px 90px;padding:15px;border:1px solid #303030;border-radius:18px;background:#0c0c0c;color:#fff;text-decoration:none}.home-progression-card>div:first-child{display:grid;gap:3px}.home-progression-card span{font-size:.62rem;letter-spacing:.15em;color:#777}.home-progression-card strong{font-size:1.1rem}.home-progression-card small{color:#888}.home-progression-ring{display:grid;place-items:center;width:52px;height:52px;border:1px solid #3a3a3a;border-radius:50%;font-weight:800}.home-progression-card>i{grid-column:1/-1}
@media(max-width:720px){.level-road{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.progression-stats{grid-template-columns:repeat(2,1fr)}.badge-grid-v2{grid-template-columns:1fr}.next-badges article{grid-template-columns:1fr 90px}}

/* RC14 assainissement */
.app-progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:#242424;appearance:none}
.app-progress::-webkit-progress-bar{background:#242424;border-radius:999px}
.app-progress::-webkit-progress-value{background:#fff;border-radius:999px}
.app-progress::-moz-progress-bar{background:#fff;border-radius:999px}
.invite-email-label{min-width:220px}
[data-challenge-group][hidden]{display:none!important}

.action-feed-v14{display:grid;gap:8px}
.action-feed-v14 a{display:grid;gap:4px;padding:15px 16px;border:1px solid #272727;border-radius:15px;background:#0c0c0c;text-decoration:none;color:inherit}
.action-feed-v14 small{font-size:10px;letter-spacing:.14em;color:#777}
.action-feed-v14 strong{font-size:15px}
.action-feed-v14 span{font-size:12px;color:#858585}

.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.recovery-code-grid code{padding:12px;border:1px solid #303030;border-radius:10px;text-align:center;font-size:14px;letter-spacing:.08em}
@media(max-width:520px){.recovery-code-grid{grid-template-columns:1fr}}

/* RC16 — diagnostic appareil bêta */
.diag-summary{margin:16px 0;padding:14px 16px;border:1px solid #2b2b2b;border-radius:14px;background:#0d0d0d;font-weight:700}.diag-summary.ok{background:#102015}.diag-summary.warn{background:#211b0d}.diag-summary.bad{background:#241414}.diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.diag-row{display:flex;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #292929;border-radius:13px;background:#0d0d0d}.diag-row strong{font-size:13px}.diag-row span{font-size:12px;text-align:right;color:#aaa}.diag-row.ok{border-color:#315b39}.diag-row.warn{border-color:#5c4a27}.diag-row.bad{border-color:#633333}.diag-row.info{border-color:#292929}#diag-report{width:100%;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}@media(max-width:700px){.diag-grid{grid-template-columns:1fr}.diag-row{align-items:flex-start}}


/* RC17 — WCAG 2.2 AA foundations */
.skip-link{position:fixed;left:12px;top:10px;z-index:9999;transform:translateY(-160%);background:#fff;color:#050505;padding:11px 14px;border-radius:10px;font-weight:800;text-decoration:none}.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
button,.button,input,select{min-height:44px}textarea{min-height:96px}.mobile-tabbar a{min-height:52px}.quick-grid>a{min-height:108px}
[aria-current="page"]{text-decoration-thickness:2px;text-underline-offset:5px}.muted{color:#aaa}.error[role="alert"]{border-left:4px solid #ffb4b4}.notice[role="status"]{border-left:4px solid #c8ffd0}
.family-row,.family-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #262626}.family-summary{display:block}.family-summary form{margin-top:10px}.minor-protection{border-color:#555}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){button,.button,.card,.mobile-tabbar{border:1px solid CanvasText}.skip-link{border:2px solid CanvasText}}


/* RC18 — accessibilité personnalisable + Sport SDK */
.a11y-text-large{font-size:118%}.a11y-text-large input,.a11y-text-large select,.a11y-text-large textarea,.a11y-text-large button{font-size:1em}
.a11y-high-contrast{--a11y-bg:#000;--a11y-fg:#fff;background:#000!important;color:#fff!important}.a11y-high-contrast .card,.a11y-high-contrast .mobile-tabbar,.a11y-high-contrast .app-topbar{background:#000!important;border-color:#fff!important}.a11y-high-contrast .muted,.a11y-high-contrast small{color:#e5e5e5!important}.a11y-high-contrast a{color:#fff}.a11y-high-contrast input,.a11y-high-contrast select,.a11y-high-contrast textarea{border:2px solid #fff!important;background:#000!important;color:#fff!important}
.a11y-reduce-motion *,.a11y-reduce-motion *::before,.a11y-reduce-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
.sport-sdk-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #444;border-radius:999px;padding:5px 9px;font-size:11px;color:#bbb}


/* RC19 — Sport Passport + a11y detail */
.passport-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.passport-summary article,.passport-list article{border:1px solid #2b2b2b;border-radius:16px;background:#0b0b0b;padding:15px}.passport-summary article{display:grid;gap:5px}.passport-summary span,.passport-summary small,.passport-summary em,.passport-list span,.passport-list small{color:#999;font-style:normal}.passport-list{display:grid;gap:9px}.passport-list article{display:flex;justify-content:space-between;align-items:center;gap:16px}.passport-list article>div{display:grid;gap:4px;min-width:0}.passport-list .inline{display:flex;gap:7px;flex:0 0 auto}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.world-gym-safety{border-color:#3c3c3c}.world-gym-safety p{margin:.35rem 0 0;color:#aaa}.app-screen :focus-visible,.admin-screen :focus-visible{outline:3px solid currentColor!important;outline-offset:3px!important}.app-screen [role="alert"],.admin-screen [role="alert"]{scroll-margin-top:80px}
@media(max-width:700px){.passport-list article{align-items:flex-start;flex-direction:column}.passport-list .inline{width:100%}.passport-list .inline button{flex:1}}
/* RC20 — evidence review */.event-list{display:grid;gap:10px}.event-list article{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #292929;border-radius:14px;padding:14px}.event-list h2{margin:.2rem 0}.passport-admin-list{display:grid;gap:12px}.passport-admin-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:20px;border:1px solid #2b2b2b;border-radius:16px;padding:16px;background:#0b0b0b}.passport-admin-list h2{margin:.25rem 0}.passport-admin-list form{display:grid;gap:10px}@media(max-width:760px){.passport-admin-list article{grid-template-columns:1fr}}
/* RC21 — Partner API */
.api-key-once{white-space:pre-wrap;word-break:break-all;border:1px solid #555;background:#050505;padding:14px;border-radius:12px;font-size:14px}.tablewrap code{font-size:11px}
/* RC36 — Competition hub */
.competition-checklist{display:grid;gap:8px}.competition-checklist .check{padding:13px 14px;border:1px solid #2b2b2b;border-radius:14px;background:#0b0b0b}.competition-checklist label{display:flex;gap:10px;align-items:center}.competition-checklist input[type=checkbox]{width:22px;height:22px;accent-color:#fff}

/* RC38 — WCAG 2.2 AA hardening */
:root{--tap:44px}
html{scroll-padding-top:72px}
body{overflow-wrap:anywhere}
main:focus{outline:none}
label{display:grid;gap:6px}
input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}
summary{min-height:var(--tap);display:flex;align-items:center;cursor:pointer}
table{border-collapse:collapse}
th{text-align:left}
caption{padding:10px;font-weight:700;text-align:left}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.field-error{color:#ffd0d0}
[aria-invalid=true]{border-color:#ffb4b4!important}
@media(max-width:520px){button,.button,input,select{min-height:48px}.mobile-tabbar a{min-height:58px}}
@media(prefers-contrast:more){.card,input,select,textarea,button,.button{border-width:2px!important}}

/* RC43 — release candidate fixes */
.release-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.release-audit-item{border:1px solid #292929;border-radius:14px;padding:14px;background:#0b0b0b}
.release-audit-item strong{display:block;margin-bottom:6px}
.release-audit-ok{border-color:#315c3a}.release-audit-ko{border-color:#793b3b}
@media(max-width:720px){.release-audit-grid{grid-template-columns:1fr}}

.ged-thumb{max-width:72px;max-height:72px;object-fit:cover;border-radius:10px}
