.erun-auth-modal,.erun-account-modal,.erun-checkout-modal,.erun-support-modal{--bg2:#151b36;--yellow:#ffb703;--purple:#8b5cf6;--text:#e8ebff;--muted:#9aa2c7;
	position:fixed;inset:0;z-index:200000;background:rgba(5,8,20,.8);
	display:flex;align-items:center;justify-content:center;font-family:'Segoe UI',system-ui,sans-serif;}
.erun-auth-modal[hidden],.erun-account-modal[hidden],.erun-checkout-modal[hidden],.erun-support-modal[hidden]{display:none;}
.erun-modal-box{position:relative;background:var(--bg2);border:1px solid var(--purple);border-radius:14px;padding:32px;width:92%;max-width:400px;max-height:88vh;overflow-y:auto;color:var(--text);}
.erun-modal-box{scrollbar-width:thin;scrollbar-color:var(--purple) rgba(255,255,255,.05);}
.erun-modal-box::-webkit-scrollbar{width:8px;}
.erun-modal-box::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:8px;}
.erun-modal-box::-webkit-scrollbar-thumb{background:var(--purple);border-radius:8px;}
button.erun-modal-close{position:absolute;top:20px;right:20px;width:30px;height:30px;background:none;border:none;padding:0;line-height:0;color:var(--muted);font-size:1.4em;cursor:pointer;}
button.erun-modal-close:hover{background:#1E274D;color:var(--muted);}
.erun-modal-panel h2{color:var(--yellow);margin:0 0 4px;text-align:center;font-size:1.2em;}
.erun-modal-sub{color:var(--muted);text-align:center;font-size:.85em;margin:0 0 20px;}
.erun-modal-loading{color:var(--muted);text-align:center;font-size:.85em;}
.erun-modal-error{color:#ff6b6b;font-size:.85em;text-align:center;margin:-8px 0 14px;}
.erun-modal-icon{font-size:64px;text-align:center;margin-bottom:4px;}
.erun-input{display:block;width:100%;padding:12px 14px;margin-bottom:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text);font-size:.9em;}
.erun-input:focus{outline:none;border-color:var(--purple);}
.erun-code-input{text-align:center;letter-spacing:6px;font-size:1.3em;}
.erun-checkbox-row{display:flex;align-items:center;gap:8px;font-size:.85em;color:var(--text);margin-bottom:10px;text-align:left;}
.erun-checkbox-row input{width:16px;height:16px;}
.erun-checkbox-row a{color:#4153A7;text-decoration:underline;}
.erun-forgot-link{display:block;margin-left:auto;background:none;border:none;color:var(--muted);font-size:.78em;cursor:pointer;padding:0 0 14px;margin-top:-4px;}
.erun-forgot-link:hover{color:var(--purple);background:none;}
.erun-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85em;color:var(--text);margin-bottom:14px;text-align:left;}
.erun-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.erun-switch input{opacity:0;width:0;height:0;}
.erun-switch-slider{position:absolute;inset:0;background:rgba(255,255,255,.15);border-radius:24px;cursor:pointer;transition:background-color .2s ease;}
.erun-switch-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s ease;}
.erun-switch input:checked + .erun-switch-slider{background:var(--yellow);}
.erun-switch input:checked + .erun-switch-slider::before{transform:translateX(18px);}
.erun-field-label{display:block;font-size:.78em;color:var(--muted);margin:0 0 4px;}
.erun-account-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--purple);}
.erun-account-avatar-edit{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.erun-avatar-gallery{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;margin:0 -4px 18px;padding:2px 4px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);}
.erun-avatar-gallery::-webkit-scrollbar{height:5px;}
.erun-avatar-gallery::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px;}
.erun-avatar-gallery-item{position:relative;width:48px;height:48px;border-radius:50%;object-fit:cover;cursor:pointer;border:2px solid transparent;opacity:.75;transition:opacity .15s,border-color .15s;}
.erun-avatar-gallery-item:hover{opacity:1;}
.erun-avatar-gallery-item.is-selected{border-color:var(--purple);opacity:1;}
.erun-avatar-gallery.is-busy .erun-avatar-gallery-item{pointer-events:none;}
.erun-avatar-gallery-item.is-pending{opacity:.3;filter:grayscale(.6);}
.erun-avatar-gallery-item-wrap{position:relative;width:48px;height:48px;flex:0 0 auto;scroll-snap-align:start;}
.erun-avatar-gallery-item-wrap .erun-btn-spinner{position:absolute;top:50%;left:50%;margin:-7px 0 0 -7px;border-color:rgba(255,255,255,.35);}
.erun-textarea{resize:vertical;min-height:52px;font-family:inherit;}
.erun-bio-count{float:right;font-weight:400;color:var(--muted);font-size:.9em;}
.erun-snackbar{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--bg2,#151b36);border:1px solid var(--purple,#8b5cf6);color:var(--text,#e8ebff);padding:12px 20px;border-radius:10px;font-size:.9em;z-index:230000;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;}
.erun-snackbar.is-visible{opacity:1;transform:translate(-50%,0);}
.erun-btn-spinner{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;border-radius:50%;animation:erun-btn-spin .6s linear infinite;}
@keyframes erun-btn-spin{to{transform:rotate(360deg);}}
.erun-auth-modal .erun-btn,.erun-account-modal .erun-btn,.erun-checkout-modal .erun-btn,.erun-support-modal .erun-btn{display:inline-block;width:100%;padding:12px 18px;border-radius:8px;font-weight:700;font-size:.9em;border:none;cursor:pointer;text-align:center;margin-top:6px;transition:transform .1s ease,filter .1s ease;}
/* .erun-btn force un display:inline-block qui écrase sinon le display:none
   par défaut du navigateur pour [hidden] (ex. bouton "Envoyer" masqué en JS
   après succès du formulaire de support) — on le rétablit explicitement. */
.erun-auth-modal .erun-btn[hidden],.erun-account-modal .erun-btn[hidden],.erun-checkout-modal .erun-btn[hidden],.erun-support-modal .erun-btn[hidden]{display:none;}
.erun-auth-modal .erun-btn:active,.erun-account-modal .erun-btn:active,.erun-checkout-modal .erun-btn:active,.erun-support-modal .erun-btn:active{transform:scale(.96);filter:brightness(.92);}
.erun-auth-modal .erun-btn-primary,.erun-account-modal .erun-btn-primary,.erun-checkout-modal .erun-btn-primary,.erun-support-modal .erun-btn-primary{background:var(--yellow);color:#1a1200;}
.erun-auth-modal .erun-btn-primary:hover,.erun-account-modal .erun-btn-primary:hover,.erun-checkout-modal .erun-btn-primary:hover,.erun-support-modal .erun-btn-primary:hover{background:#F2AD00;color:black;}
.erun-auth-modal .erun-btn-primary:disabled,.erun-account-modal .erun-btn-primary:disabled,.erun-checkout-modal .erun-btn-primary:disabled,.erun-support-modal .erun-btn-primary:disabled{opacity:.6;cursor:default;}
.erun-auth-modal .erun-btn-outline,.erun-account-modal .erun-btn-outline,.erun-checkout-modal .erun-btn-outline,.erun-support-modal .erun-btn-outline{background:transparent;border:1px solid var(--purple);color:var(--text);}
.erun-auth-modal .erun-btn-outline:hover,.erun-account-modal .erun-btn-outline:hover,.erun-checkout-modal .erun-btn-outline:hover,.erun-support-modal .erun-btn-outline:hover{background:#6c5ce750;color:#fff;}
.erun-auth-modal .erun-link-btn,.erun-account-modal .erun-link-btn,.erun-checkout-modal .erun-link-btn,.erun-support-modal .erun-link-btn{display:block;width:100%;text-align:center;background:none;border:none;color:var(--muted);text-decoration:underline;font-size:.8em;cursor:pointer;margin-top:10px;}
.erun-full{display:block;width:100%;margin:8px 0 0;}
body.erun-locked{overflow:hidden;}
.erun-logout-screen{position:fixed;inset:0;z-index:220000;display:flex;align-items:center;justify-content:center;padding:24px;background-color:#0b0f22;background-size:cover;background-position:center;}
.erun-logout-screen[hidden]{display:none;}
.erun-logout-screen::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,20,.25) 0%,rgba(5,8,20,.55) 60%,rgba(5,8,20,.85) 100%);}
.erun-logout-box{position:relative;z-index:1;padding:32px;width:92%;max-width:400px;text-align:center;color:var(--text,#e8ebff);}
.erun-logout-box h2{color:var(--yellow,#ffb703);margin:0 0 8px;font-size:1.6em;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.erun-logout-box p{color:var(--muted,#9aa2c7);font-size:1em;margin:0 0 24px;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.erun-logout-box .erun-btn{display:inline-block;width:100%;padding:12px 18px;border-radius:8px;font-weight:700;font-size:.9em;text-decoration:none;transition:transform .1s ease,filter .1s ease;}
.erun-logout-box .erun-btn:active{transform:scale(.96);filter:brightness(.92);}
.erun-logout-box .erun-btn-primary{background:var(--yellow,#ffb703);color:#1a1200;}
.erun-logout-box .erun-btn-primary:hover{background:#F2AD00;color:#000;}