:root{--ink:#173d42;--accent:#925018;--wash:#f4f4ed;--halo:#dceee7;--line:#d9e2dc;--pattern:repeating-linear-gradient(90deg,transparent 0 99px,#1d777305 100px 101px)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font:16px/1.5 "Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 7% 48%,var(--halo),transparent 55%),var(--pattern),var(--wash);transition:background-color .25s,color .25s}body[data-ambiance=commerces]{--ink:#48331f;--accent:#945213;--wash:#f7efe2;--halo:#dfc7a4;--pattern:repeating-linear-gradient(4deg,transparent 0 22px,#9c6e3110 24px 25px)}body[data-ambiance=enseignes]{--ink:#433623;--accent:#975312;--wash:#fff4e3;--halo:#f4d195;--pattern:repeating-linear-gradient(90deg,transparent 0 110px,#9c6e3110 111px 113px),repeating-linear-gradient(0deg,transparent 0 110px,#9c6e3110 111px 113px)}body[data-ambiance=associations]{--ink:#184836;--accent:#256d47;--wash:#eff7ee;--halo:#c9e2b7;--pattern:repeating-radial-gradient(ellipse at 0 100%,transparent 0 65px,#4c795a0c 66px 68px)}body[data-ambiance=municipalites]{--ink:#163e56;--accent:#246787;--wash:#eef4f7;--halo:#c3dce7;--pattern:repeating-linear-gradient(135deg,transparent 0 100px,#3965800b 101px 103px)}body[data-ambiance=joueurs]{--ink:#f7efdf;--accent:#8251a4;--wash:#161022;--halo:#332542;--pattern:linear-gradient(#160d2680,#101120cf),url('/decor-halloween.webp');background:var(--pattern) center/cover fixed,var(--wash)}a{color:inherit}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #c77824;outline-offset:4px}.skip{position:absolute;top:-70px;left:20px;padding:12px;background:white;color:#173d42;z-index:10}.skip:focus{top:10px}.login-header{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;gap:20px}.login-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.login-brand img{object-fit:contain}.login-brand>span{font:700 24px Georgia,serif;letter-spacing:3px}.login-brand small{display:block;font:10px/1.4 "Segoe UI",sans-serif;letter-spacing:0;max-width:210px;margin-top:4px}.home-link{font-size:14px;text-underline-offset:4px;padding:10px 0}.login-main{max-width:1080px;padding:12px 30px 48px;margin:auto}.page-heading{text-align:center;margin:0 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 7px}.page-heading h1{font:700 clamp(36px,5vw,52px)/1.1 Georgia,serif;margin:0 0 10px}.page-heading>p:last-child{margin:0}.ambiance-section{margin-bottom:24px}.ambiance-section h2{font-size:14px;font-weight:600;margin:0 0 12px;text-align:center}.ambiance-section h2 span{font-weight:400}.ambiance-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ambiance-option{background:#ffffffd9;border:1px solid #becdc5;border-radius:12px;color:#31565b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:110px;padding:15px 10px;font-size:14px;font-weight:650;position:relative;transition:background .15s,transform .15s}.ambiance-option svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ambiance-option:hover{transform:translateY(-2px);background:#fff}.ambiance-option[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 14px #163c3220}.ambiance-option[aria-pressed=true]:after{content:'✓';position:absolute;right:10px;top:6px;font-size:14px}.ambiance-caption{text-align:center;font-size:13px;margin:12px 0 0;min-height:20px}.login-panel{max-width:480px;margin:auto;padding:29px 34px 26px;border-radius:18px;background:#fff;color:#183d43;border:1px solid #dce3db;box-shadow:0 18px 50px #183d4312}.panel-kicker{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--accent);margin:0 0 6px}.login-panel h2{font:700 29px/1.2 Georgia,serif;margin:0 0 8px}.form-description{font-size:14px;color:#546b6c;margin:0 0 23px}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}input{width:100%;height:48px;border:1px solid #a5b9b6;border-radius:7px;padding:10px 12px;color:#153740;background:#fcfdfb;font-size:16px}#username{margin-bottom:18px}.password-field{display:flex;position:relative}.password-field input{padding-right:85px}.password-field button{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-radius:4px;background:none;color:#34616b;font-size:12px;padding:0 9px}.password-field button:hover{background:#e8f0ec}.forgot{display:block;text-align:right;margin-top:9px;font-size:13px;text-underline-offset:3px}.login-status{font-size:14px;color:#9a252b;margin:12px 0;min-height:0}.login-status:empty{display:none}.submit{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:49px;padding:12px 18px;border:0;border-radius:8px;background:var(--accent);color:white;font-weight:650;margin-top:21px}.submit:hover{filter:brightness(1.12)}.submit:disabled{opacity:.6;cursor:wait}.create-account{font-size:13px;text-align:center;margin:20px 0 0;color:#526b6e}.create-account a{display:block;font-weight:650;color:#235e67;margin-top:4px;text-underline-offset:3px}footer{text-align:center;padding:0 20px 24px;font-size:12px;letter-spacing:.5px}footer span{padding:0 7px}[hidden]{display:none!important}@media(max-width:650px){.login-header{padding:17px 18px;gap:12px}.login-brand>span{font-size:20px;letter-spacing:2px}.login-brand img{width:42px;height:42px}.login-brand small{display:none}.home-link{font-size:12px}.login-main{padding:15px 18px 32px}.page-heading{margin-bottom:24px}.ambiance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ambiance-option{min-height:76px;flex-direction:row;font-size:13px;gap:9px;padding:13px 12px}.ambiance-option:last-child{grid-column:1/-1}.ambiance-option svg{width:27px;height:27px;flex-shrink:0}.login-panel{padding:25px 22px;border-radius:13px}.ambiance-caption{font-size:12px}.login-brand{gap:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Commerces: warm shop photograph, with a readable light login panel. */
/* Display the original logo file itself; never a generated reinterpretation. */
body[data-ambiance=anodos]{
 --ink:#fff5e7;
 background-color:#09162b;
 background-image:url('/art/logo.png'),url('/art/logo.png'),
  radial-gradient(ellipse 22vw 34vh at 18% 50%,#fff6df 0%,#ddd7cd 34%,#8293a77a 66%,transparent 100%),
  radial-gradient(ellipse 22vw 34vh at 82% 50%,#fff6df 0%,#ddd7cd 34%,#8293a77a 66%,transparent 100%),
  radial-gradient(circle at 23px 31px,#f4eddbb3 0 .8px,transparent 1.4px),
  radial-gradient(circle at 91px 73px,#b6cce580 0 .6px,transparent 1.2px),
  radial-gradient(circle at 43px 159px,#e4eefa99 0 1px,transparent 1.6px),
  linear-gradient(145deg,#071124,#142b46 58%,#081427);
 background-position:left center,right center,center,center,0 0,0 0,0 0,center;
 background-size:clamp(300px,36vw,680px) auto,clamp(300px,36vw,680px) auto,auto,auto,173px 211px,257px 293px,389px 347px,auto;
 background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,no-repeat;
 background-attachment:fixed;
 background-blend-mode:multiply,multiply,normal,normal,normal,normal,normal,normal;
}
body[data-ambiance=anodos] :is(.page-heading,.login-header,footer){text-shadow:0 1px 5px #071124}
@media(max-width:900px){body[data-ambiance=anodos]{background-size:300px auto,300px auto,auto,auto,173px 211px,257px 293px,389px 347px,auto;background-position:left -140px center,right -140px center,center,center,0 0,0 0,0 0,center}}
body[data-ambiance=municipalites]{--ink:#fff8ef;background:linear-gradient(180deg,#182633a6 0%,#18263366 35%,#18263326 70%,#18263380 100%),url('/decor-municipalites-v1.png') center center/cover fixed,#30434d}
body[data-ambiance=associations]{--ink:#fff8ef;background:linear-gradient(180deg,#15291ca6 0%,#15291c66 35%,#15291c26 70%,#15291c80 100%),url('/decor-associations-v1.png') center center/cover fixed,#294330}
body:is([data-ambiance=municipalites],[data-ambiance=associations]) .login-panel{box-shadow:0 18px 65px #12221740}
body:is([data-ambiance=municipalites],[data-ambiance=associations]) :is(.page-heading,.login-header,footer){text-shadow:0 1px 5px #16251e}
body[data-ambiance=joueurs]{background:linear-gradient(180deg,#10072426,transparent 40%,#1007240d),url('/decor-joueurs-halloween-v1.png') center center/cover fixed,#111632}
body[data-ambiance=joueurs] .page-heading,body[data-ambiance=joueurs] .login-header,body[data-ambiance=joueurs]>footer{text-shadow:0 2px 5px #100724}
body[data-ambiance=commerces]{--ink:#fff5e7;background:linear-gradient(180deg,#211509b8 0%,#21150980 35%,#21150945 70%,#211509a6 100%),url('/decor-commerce-chaleureux-v1.png') center center/cover fixed,#352719}
body[data-ambiance=commerces] .login-panel{box-shadow:0 18px 65px #160c0640}
body[data-ambiance=enseignes]{--ink:#fff5e7;background:linear-gradient(180deg,#211b16b8 0%,#211b1680 35%,#211b1645 70%,#211b16a6 100%),url('/decor-grandes-enseignes-v2.png') center center/cover fixed,#40372f}
body[data-ambiance=enseignes] .login-panel{box-shadow:0 18px 65px #160c0640}
body[data-ambiance=enseignes] .page-heading,body[data-ambiance=enseignes] .login-header,body[data-ambiance=enseignes]>footer{text-shadow:0 1px 5px #211b1688}
body[data-ambiance=commerces] .page-heading,body[data-ambiance=commerces] .ambiance-section>h2,body[data-ambiance=commerces] .ambiance-caption,body[data-ambiance=commerces] .login-header,body[data-ambiance=commerces]>footer{text-shadow:0 1px 5px #21150988}
