:root{--pitch:#0d6b45;--pitch-dark:#074c34;--lime:#b7f34a}
.public-page{margin:0;background:#07110d;color:#f7fff9;min-height:100vh}.public-main{overflow:hidden}.public-nav{max-width:1180px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:5}.public-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:18px}.public-brand span{display:grid;place-items:center;width:39px;height:39px;border-radius:14px;background:linear-gradient(145deg,var(--lime),#62d86d);box-shadow:0 8px 25px rgba(183,243,74,.2)}.public-nav nav,.public-footer nav{display:flex;align-items:center;gap:18px}.public-nav nav>a:not(.btn),.public-footer a{color:#b8c9c0;text-decoration:none}.landing-hero{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;padding:78px 24px 92px;min-height:650px}.landing-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:12px;font-weight:800;letter-spacing:.12em}.landing-copy h1,.auth-copy h1{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:22px 0}.landing-copy h1 em{font-style:normal;color:var(--lime)}.landing-copy>p,.auth-copy>p{font-size:18px;line-height:1.7;color:#b8c9c0;max-width:650px}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 20px}.btn.large{padding:16px 22px;border-radius:16px}.landing-proof{display:flex;gap:18px;flex-wrap:wrap;color:#91aa9d;font-size:12px}.pitch-preview{position:relative;min-height:530px;border:1px solid rgba(255,255,255,.16);border-radius:42px;background:linear-gradient(145deg,#168153,#0b5037);box-shadow:0 40px 90px rgba(0,0,0,.38);overflow:hidden;transform:rotate(1.5deg)}.pitch-lines{position:absolute;inset:28px;border:2px solid rgba(255,255,255,.18);border-radius:8px}.pitch-lines:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid rgba(255,255,255,.18)}.pitch-lines:after{content:"";position:absolute;width:150px;height:150px;border:2px solid rgba(255,255,255,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.floating-ball{position:absolute;font-size:50px;right:38px;top:28px;filter:drop-shadow(0 16px 12px rgba(0,0,0,.28));animation:landingBall 4s ease-in-out infinite}.preview-score,.preview-ranking,.balance-preview{position:absolute;background:rgba(7,17,13,.78);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(16px);border-radius:22px;box-shadow:0 24px 50px rgba(0,0,0,.25)}.preview-score{left:35px;top:70px;padding:20px 26px;text-align:center}.preview-score small,.preview-ranking small{font-size:9px;letter-spacing:.16em;color:#90aa9c}.preview-score b{font-size:42px;display:block;margin:7px}.preview-score b i{color:var(--lime);font-style:normal}.preview-score span{font-size:11px;color:#a7b9af}.preview-ranking{right:28px;bottom:38px;width:250px;padding:20px}.preview-ranking p{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;margin:12px 0}.preview-ranking p b{color:var(--lime)}.preview-ranking p strong{font-size:13px}.balance-preview{left:28px;bottom:92px;padding:18px 24px;display:flex;flex-direction:column}.balance-preview b{font-size:32px;color:var(--lime)}.balance-preview span{font-size:11px;color:#a7b9af}.landing-strip{border-block:1px solid rgba(255,255,255,.1);padding:18px;display:flex;justify-content:center;gap:26px;flex-wrap:wrap;color:#c8d7cf;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.landing-strip i{font-style:normal;opacity:.5}.landing-section,.how-section,.faq-section{max-width:1180px;margin:auto;padding:110px 24px}.landing-heading{max-width:700px;margin-bottom:48px}.landing-heading>span{color:var(--lime);font-size:11px;letter-spacing:.14em;font-weight:800}.landing-heading h2{font-size:clamp(34px,5vw,58px);letter-spacing:-.04em;line-height:1.05;margin:14px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article{padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:25px;background:rgba(255,255,255,.035);transition:.25s}.feature-grid article:hover{transform:translateY(-7px);background:rgba(255,255,255,.06);border-color:rgba(183,243,74,.35)}.feature-grid article>span{font-size:28px}.feature-grid h3{font-size:18px;margin:20px 0 10px}.feature-grid p,.how-steps p,.faq-list p{color:#9fb3a8;line-height:1.65}.how-section{background:rgba(255,255,255,.025);max-width:none}.how-section>*{max-width:1180px;margin-left:auto;margin-right:auto}.how-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.how-steps li{position:relative;padding:24px;border-top:1px solid rgba(255,255,255,.15)}.how-steps li>b{color:var(--lime);font-size:12px}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-list details{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:20px 22px;background:rgba(255,255,255,.03)}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{margin-bottom:0}.landing-cta{max-width:1132px;margin:30px auto 100px;padding:70px 30px;border-radius:36px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(183,243,74,.3),transparent 50%),linear-gradient(135deg,#116d48,#093f2d)}.landing-cta>span{font-size:50px}.landing-cta h2{font-size:clamp(34px,5vw,58px);margin:18px}.landing-cta p{color:#bed0c6;margin-bottom:26px}.public-footer{max-width:1180px;margin:auto;padding:38px 24px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;color:#8da398}.public-footer p{margin:0}.public-footer small{grid-column:1/-1;color:#61766b}.auth-shell{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 430px;align-items:center;gap:70px;padding:70px 24px 110px;min-height:650px}.auth-copy h1{font-size:clamp(42px,5vw,68px)}.auth-benefits{display:flex;flex-direction:column;gap:10px;margin-top:30px;color:#c5d5cd}.auth-benefits span:before{content:"✓";color:var(--lime);margin-right:10px}.auth-card{background:#f8fbf9;color:#102119;padding:28px;border-radius:28px;box-shadow:0 35px 80px rgba(0,0,0,.35)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#e8efeb;padding:4px;border-radius:14px;margin-bottom:24px}.auth-tabs a{text-align:center;padding:10px;color:#617268;text-decoration:none;border-radius:11px;font-weight:700;font-size:13px}.auth-tabs a.active{background:white;color:#102119;box-shadow:0 5px 15px rgba(0,0,0,.06)}.auth-card form,.admin-form{display:grid;gap:16px}.auth-card label,.admin-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.auth-card input,.admin-form input,.admin-form select{width:100%;box-sizing:border-box;border:1px solid #dbe4df;border-radius:13px;padding:13px;background:#fff;color:#17241d}.auth-card label small,.admin-form label small{color:#809087;font-weight:400}.btn-block{width:100%;justify-content:center}.auth-note{display:block;text-align:center;color:#788a80;margin-top:16px}.form-error,.admin-flash{padding:12px 15px;border-radius:13px;background:#ffe8e8;color:#a72f2f;font-size:12px}.legal-page{max-width:780px;margin:50px auto 100px;padding:0 24px}.legal-page h1{font-size:clamp(40px,6vw,68px);margin:20px 0 40px}.legal-page h2{margin-top:32px}.legal-page p{color:#adc0b6;line-height:1.75}.group-chip{display:flex;align-items:center;gap:7px;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 11px;font-size:11px;max-width:170px}.group-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions form{margin:0}.logout-mini{border:0;cursor:pointer}.brand>span:last-child>span{color:var(--primary)}.admin-hero{padding:30px;border-radius:26px;background:linear-gradient(135deg,#08754a,#0d4f39);color:white;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-hero h2{font-size:30px;margin:8px 0}.admin-hero p{margin:0;color:#c7e4d7}.admin-hero>span{font-size:48px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;margin-bottom:18px}.admin-panel.wide{margin-top:18px}.admin-intro{color:var(--muted)}.season-list,.config-list{display:grid;gap:9px}.season-list article,.config-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border-radius:15px;background:var(--bg)}.season-list article.active{border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line))}.season-list span,.config-list span{display:flex;flex-direction:column}.season-list small,.config-list small,.badge-admin-grid small{color:var(--muted);margin-top:3px}.season-list em{font-style:normal;color:var(--primary);font-size:11px}.admin-create{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}.admin-create summary{cursor:pointer;color:var(--primary);font-weight:700}.admin-create .admin-form{margin-top:18px}.admin-form.inline{grid-template-columns:repeat(3,1fr);align-items:end}.admin-form.inline .btn{height:44px}.config-list article.disabled,.badge-admin-grid article.disabled{opacity:.5}.switch-btn{border:0;border-radius:999px;padding:7px 10px;background:var(--line);color:var(--muted);cursor:pointer;font-size:10px}.switch-btn.on{background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--primary)}.badge-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.badge-admin-grid article{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:14px;border-radius:16px;background:var(--bg);border-left:3px solid var(--badge-color)}.badge-admin-grid article>span{font-size:24px}.badge-admin-grid article div{display:flex;flex-direction:column}.admin-flash{margin-bottom:16px;background:#e2f7e9;color:#16633a}
@keyframes landingBall{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(16px) rotate(28deg)}}
@media(max-width:800px){.public-nav{padding:14px 16px}.public-nav nav>a:not(.btn),.public-nav nav .ghost{display:none}.public-brand b{font-size:15px}.landing-hero{grid-template-columns:1fr;padding:52px 18px 65px;gap:42px}.landing-copy h1{font-size:48px}.pitch-preview{min-height:440px;border-radius:30px}.preview-ranking{width:210px}.feature-grid{grid-template-columns:1fr}.how-steps{grid-template-columns:1fr 1fr}.faq-list{grid-template-columns:1fr}.landing-section,.how-section,.faq-section{padding:75px 18px}.landing-cta{margin:20px 14px 70px;border-radius:28px}.public-footer{grid-template-columns:1fr}.public-footer nav{flex-wrap:wrap}.auth-shell{grid-template-columns:1fr;padding:45px 18px 80px;gap:35px}.auth-copy h1{font-size:44px}.admin-grid{grid-template-columns:1fr}.admin-form.inline{grid-template-columns:1fr}.badge-admin-grid{grid-template-columns:1fr}.group-chip b{display:none}.group-chip{padding:8px}.brand>span:last-child{display:none}}
@media(max-width:480px){.landing-copy h1{font-size:42px}.landing-actions .btn{width:100%;justify-content:center}.landing-proof{flex-direction:column;gap:8px}.how-steps{grid-template-columns:1fr}.pitch-preview{min-height:390px}.preview-score{left:18px;top:55px}.preview-ranking{right:18px;bottom:25px}.balance-preview{left:18px;bottom:165px}.auth-card{padding:20px}.public-nav nav .btn{padding:10px 12px;font-size:11px}}
.group-chip img{width:24px;height:24px;border-radius:8px;object-fit:cover;flex:0 0 auto}
.group-logo-preview{width:82px;height:82px;border-radius:25px;display:grid;place-items:center;background:rgba(255,255,255,.13);overflow:hidden;flex:0 0 auto}
.group-logo-preview img{width:100%;height:100%;object-fit:cover}
.group-photo-picker{margin-bottom:2px}
.shared-group-head{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #dbe4df}
.shared-group-head .group-logo-preview{width:64px;height:64px;border-radius:20px;background:#e7f0eb}
.shared-group-head small{font-size:9px;letter-spacing:.12em;color:#688074;font-weight:900}
.shared-group-head h2{margin:3px 0 0;color:#102119}
.remember-row{display:grid!important;grid-template-columns:22px 1fr!important;align-items:center;gap:10px!important;cursor:pointer}
.remember-row input{width:19px!important;height:19px;margin:0;accent-color:#168153}
.remember-row span{display:grid;gap:1px}.remember-row b{font-size:12px}.remember-row small{font-size:10px}
.copy-field{display:grid;grid-template-columns:1fr auto;gap:8px}.copy-field .btn{padding:10px 14px}
.admin-warning{background:#fff2d7;color:#805308;border:1px solid #f2d294}

/* Contrastes et interactions des pages publiques */
.public-page .btn.ghost{
    color:#f7fff9;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.16);
    backdrop-filter:blur(12px);
}
.public-page .btn.ghost:hover{
    color:#07110d;
    background:var(--lime);
    border-color:var(--lime);
    box-shadow:0 13px 32px rgba(183,243,74,.2);
}
.public-page .landing-actions .btn.ghost{
    min-width:186px;
}
.public-page .landing-actions .btn.ghost:before{
    content:"→";
    font-size:16px;
    color:var(--lime);
    transition:transform .2s,color .2s;
}
.public-page .landing-actions .btn.ghost:hover:before{
    color:#07110d;
    transform:translateX(3px);
}
.public-page .btn:focus-visible,
.public-page a:focus-visible,
.public-page summary:focus-visible{
    outline:3px solid var(--lime);
    outline-offset:4px;
}
.public-nav nav>a:not(.btn){
    position:relative;
    transition:color .2s;
}
.public-nav nav>a:not(.btn):after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-7px;
    height:2px;
    border-radius:999px;
    background:var(--lime);
    transition:right .22s ease;
}
.public-nav nav>a:not(.btn):hover{
    color:#f7fff9;
}
.public-nav nav>a:not(.btn):hover:after{
    right:0;
}
.auth-tabs a{
    color:#43574c;
}
.auth-card label small{
    color:#5e7066;
}
.auth-card input::placeholder{
    color:#6b7c72;
    opacity:1;
}
.auth-note{
    color:#5d7065;
}
.auth-note a{
    color:#334f40;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:#8ebc38;
    text-underline-offset:3px;
}
.public-footer small{
    color:#91a79b;
}
.legal-address{
    display:grid;
    gap:5px;
    max-width:420px;
    margin:20px 0 34px;
    padding:22px 24px;
    border:1px solid rgba(255,255,255,.12);
    border-left:3px solid var(--lime);
    border-radius:20px;
    background:rgba(255,255,255,.045);
    color:#b9cbc1;
    font-style:normal;
    line-height:1.6;
    box-shadow:0 18px 45px rgba(0,0,0,.12);
}
.legal-address strong{
    margin-bottom:3px;
    color:#f7fff9;
    font-size:18px;
}
@media(max-width:480px){
    .public-page .landing-actions .btn.ghost{
        min-width:0;
    }
}
.principle-section{max-width:1180px;margin:auto;padding:110px 24px}.principle-section .landing-heading p{color:#9fb3a8;line-height:1.7}.principle-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px}.principle-flow article{min-height:245px;padding:27px;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.11);position:relative}.principle-flow article>b{font-size:10px;letter-spacing:.16em;color:var(--lime)}.principle-flow article>span{position:absolute;right:22px;top:18px;font-size:40px;color:rgba(255,255,255,.08);font-weight:800}.principle-flow h3{font-size:20px;margin:28px 0 10px}.principle-flow p{color:#9fb3a8;line-height:1.65}.principle-flow>i{font-style:normal;color:var(--lime);font-size:24px}.principle-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}.principle-links a{color:#c8d7cf;text-decoration:none;border-bottom:1px solid rgba(183,243,74,.4);padding-bottom:5px}.seo-page{max-width:1040px;margin:auto;padding:70px 24px 110px}.seo-hero{max-width:820px;padding:35px 0 70px}.seo-hero h1{font-size:clamp(44px,7vw,76px);line-height:1;letter-spacing:-.055em;margin:22px 0}.seo-hero>p{font-size:19px;line-height:1.7;color:#afc2b8;max-width:760px;margin-bottom:30px}.seo-content{max-width:780px}.seo-content h2{font-size:30px;letter-spacing:-.025em;margin:55px 0 14px}.seo-content>p{color:#afc2b8;font-size:16px;line-height:1.8}.seo-factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.seo-factor-grid article{padding:20px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}.seo-factor-grid article>b{color:var(--lime)}.seo-factor-grid p{color:#9fb3a8;line-height:1.6;margin-bottom:0}.elo-rule{padding:25px;margin:35px 0;border-radius:21px;background:rgba(183,243,74,.08);border:1px solid rgba(183,243,74,.25)}.elo-rule>b{color:var(--lime)}.elo-rule p{color:#c7d8cf;line-height:1.7;margin-bottom:0}.seo-next{margin-top:80px;padding-top:35px;border-top:1px solid rgba(255,255,255,.12)}.seo-next h2{font-size:25px}.seo-next>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seo-next a{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:19px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);text-decoration:none;color:#f5fff8;transition:.2s}.seo-next a:hover{transform:translateY(-4px);border-color:rgba(183,243,74,.35)}.seo-next span{color:#9fb3a8;font-size:12px}
@media(max-width:800px){.principle-section{padding:75px 18px}.principle-flow{grid-template-columns:1fr}.principle-flow>i{transform:rotate(90deg);justify-self:center}.principle-flow article{min-height:auto}.seo-page{padding:48px 18px 80px}.seo-hero{padding-bottom:45px}.seo-hero h1{font-size:45px}.seo-factor-grid,.seo-next>div{grid-template-columns:1fr}}
