:root{--bg:#080807;--side:#0b0b0a;--panel:#11110f;--panel-2:#18130f;--line:rgba(255,255,255,.075);--text:#f7f4f1;--muted:#9b938d;--orange:#ff7108;--orange2:#ff9a36;--yellow:#ffd071;--green:#65d86f}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:310px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px 22px;background:#0a0a09;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 25px;font-size:25px;font-weight:800;letter-spacing:-.05em}.brand img{width:34px;height:34px;filter:drop-shadow(0 0 12px rgba(255,108,0,.22))}.brand b{color:var(--orange2)}.search{height:48px;border-radius:14px;border:1px solid var(--line);background:#0f0f0e;color:#78716c;display:flex;align-items:center;gap:10px;padding:0 14px;font-size:13px;margin-bottom:25px}.nav-group{padding-top:18px;border-top:1px solid rgba(255,255,255,.05)}.nav-item{height:45px;display:flex;align-items:center;gap:12px;padding:0 14px;border-radius:13px;color:#c6bfba;font-size:14px;font-weight:600;margin:3px 0}.nav-item.active{background:linear-gradient(90deg,rgba(255,113,8,.18),rgba(255,158,54,.075));color:#fff;border:1px solid rgba(255,133,33,.12)}.nav-icon{width:22px;text-align:center;color:#aaa19b}.subnav{padding:0 0 7px 48px}.subnav a{display:block;color:#857d77;font-size:12px;padding:6px 0}.subnav a.active{color:#e7dfd8}.sidebar-bottom{margin-top:auto;display:grid;gap:9px}.side-button{height:47px;border-radius:14px;border:1px solid var(--line);background:#11110f;display:flex;align-items:center;justify-content:center;color:#d9d2cc;font-size:13px;font-weight:600;cursor:pointer}.side-button.accent{background:rgba(255,114,8,.13);border-color:rgba(255,133,31,.24);color:#ffc087}.main{padding:50px clamp(26px,4vw,62px) 70px;min-width:0}.main-inner{max-width:1320px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar h1{margin:0;font-size:22px;letter-spacing:-.035em}.user-chip{display:flex;align-items:center;gap:10px;color:#99918b;font-size:12px}.avatar-mini{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#261005;font-weight:800}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-card{min-height:168px;padding:24px;border-radius:22px;background:linear-gradient(145deg,rgba(255,111,8,.11),rgba(255,255,255,.024));border:1px solid rgba(255,131,31,.14);position:relative}.summary-card .label{font-size:13px;font-weight:650;color:#eee7e2}.summary-card .icon{position:absolute;right:22px;top:20px;color:#c1b8b1;font-size:25px}.summary-card strong{display:block;font-size:27px;letter-spacing:-.045em;margin-top:23px}.summary-card p{margin:5px 0 0;color:#968d86;font-size:12px;line-height:1.55}.section-title{font-size:18px;margin:38px 0 18px;letter-spacing:-.03em}.stats-layout{display:grid;grid-template-columns:1.7fr .95fr;gap:20px}.profile-box,.manage-box,.connections-box{border:1px solid var(--line);background:#0e0e0d;border-radius:22px;padding:23px}.profile-box h3,.manage-box h3,.connections-box h3{margin:0 0 7px;font-size:19px;letter-spacing:-.035em}.muted{margin:0;color:#8d857f;font-size:13px;line-height:1.55}.completion-head{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:12px;color:#aaa19b}.bar{height:12px;background:#181715;border-radius:999px;margin-top:10px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.bar span{display:block;height:100%;width:82%;background:linear-gradient(90deg,var(--orange),var(--orange2),var(--yellow));border-radius:inherit}.success{margin-top:22px;border:1px solid rgba(255,255,255,.07);background:#151514;border-radius:16px;padding:16px;display:flex;gap:12px;align-items:flex-start}.success i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#102112;font-style:normal;font-weight:900;flex:0 0 auto}.success strong{font-size:14px}.success p{margin:4px 0 0;color:#8d857f;font-size:12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.check{height:49px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:#151514;padding:0 14px;display:flex;align-items:center;gap:10px;font-size:12px;color:#ddd6d0}.check i{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#112112;font-style:normal;font-size:11px;font-weight:900}.manage-actions{display:grid;gap:10px;margin-top:20px}.manage-action{height:48px;border:0;border-radius:13px;background:#292928;color:#f3efec;padding:0 15px;text-align:left;font-size:12px;font-weight:650;display:flex;align-items:center;gap:11px;cursor:pointer}.connections-box{margin-top:20px}.connections-list{display:grid;gap:10px;margin-top:18px}.connection-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.connection-main{min-height:54px;border:1px solid rgba(255,255,255,.07);background:#171716;border-radius:14px;padding:0 15px;display:flex;align-items:center;gap:12px}.provider-mark{width:26px;height:26px;border-radius:8px;background:#20201f;display:grid;place-items:center;font-weight:900}.provider-copy strong{display:block;font-size:13px}.provider-copy span{display:block;font-size:10px;color:#827a74;margin-top:2px}.link-btn{min-width:105px;height:54px;border:1px solid rgba(255,130,29,.2);background:rgba(255,112,8,.1);color:#ffb471;border-radius:14px;font-size:11px;font-weight:750;cursor:pointer}.link-btn.linked{border-color:rgba(101,216,111,.15);background:rgba(101,216,111,.08);color:#87df8f;cursor:default}.bottom-grid{display:grid;grid-template-columns:1.7fr .95fr;gap:20px}.loading-cover{position:fixed;inset:0;z-index:100;background:#080807;display:grid;place-items:center}.loading-card{text-align:center;color:#8e867f}.loading-card img{width:72px;height:72px;display:block;margin:0 auto 18px;animation:pulse 1.4s ease-in-out infinite}.loading-cover.hidden{display:none}.setup-card{display:none;margin-bottom:24px;padding:15px 18px;border-radius:14px;background:rgba(255,185,75,.07);border:1px solid rgba(255,185,75,.17);color:#e7c48e;font-size:12px;line-height:1.55}.setup-card.show{display:block}.mobile-top{display:none}.toast{position:fixed;right:24px;bottom:24px;z-index:110;max-width:360px;padding:14px 16px;border-radius:13px;background:#1c1814;border:1px solid rgba(255,128,27,.2);box-shadow:0 20px 50px rgba(0,0,0,.45);color:#e9e1da;font-size:12px;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}@keyframes pulse{50%{transform:scale(.92);opacity:.65}}@media(max-width:1100px){.app{grid-template-columns:250px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.stats-layout,.bottom-grid{grid-template-columns:1fr}}@media(max-width:760px){.app{display:block}.sidebar{position:fixed;z-index:50;left:0;top:0;width:270px;transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-top{height:66px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0a0a09;position:sticky;top:0;z-index:40}.mobile-top .brand{padding:0;font-size:20px}.mobile-top .brand img{width:29px;height:29px}.menu-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#11110f;color:#fff}.main{padding:27px 14px 55px}.cards{grid-template-columns:1fr}.summary-card{min-height:140px}.topbar{align-items:flex-start}.user-chip{display:none}.check-grid{grid-template-columns:1fr}.connection-row{grid-template-columns:1fr}.link-btn{width:100%}}

/* v1.0.3 — profil latéral, menu rapide et modal de changement de pseudo */
.sidebar-profile-wrap{position:relative;margin-top:2px}.sidebar-profile{min-height:62px;border:1px solid var(--line);background:#10100f;border-radius:16px;padding:9px 10px;display:grid;grid-template-columns:42px 1fr 34px;gap:10px;align-items:center}.sidebar-avatar,.avatar-mini{background:#050505 center/cover no-repeat;border:1px solid rgba(255,255,255,.09);color:transparent}.sidebar-avatar{width:42px;height:42px;border-radius:50%}.sidebar-profile-copy{min-width:0}.sidebar-profile-copy strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-copy span{display:block;margin-top:4px;color:#766f69;font-size:10px}.sidebar-profile-copy b{font-weight:600;color:#968e87}.profile-menu-toggle{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#89817a;cursor:pointer;font-size:14px;letter-spacing:1px}.profile-menu-toggle:hover,.profile-menu-toggle[aria-expanded="true"]{background:#1b1b19;color:#fff}.quick-menu{position:absolute;left:0;right:0;bottom:72px;z-index:80;padding:14px;border-radius:18px;background:#11110f;border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 70px rgba(0,0,0,.65);display:grid;gap:8px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:bottom center;transition:.18s ease}.quick-menu.open{opacity:1;visibility:visible;transform:none}.quick-menu-head{padding:2px 3px 5px}.quick-menu-head strong{display:block;font-size:16px}.quick-menu-head span{display:block;color:#7f7771;font-size:11px;line-height:1.4;margin-top:3px}.quick-language,.quick-action{min-height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.08);padding:0 12px;display:flex;align-items:center;gap:9px;color:#eee8e3;font-size:12px;font-weight:650;text-align:left}.quick-language{justify-content:flex-start;background:#1b1b19;color:#bdb5af;opacity:.72}.quick-language span:last-child{margin-left:auto}.quick-language small{color:#7d756f}.quick-action{width:100%;cursor:pointer}.quick-action.home{background:rgba(177,67,255,.17);border-color:rgba(177,67,255,.32)}.quick-action.ranking{background:rgba(255,159,25,.18);border-color:rgba(255,159,25,.34)}.quick-action.discord{background:rgba(88,101,242,.2);border-color:rgba(88,101,242,.4)}.quick-action.logout{background:rgba(231,64,54,.18);border-color:rgba(231,64,54,.42)}button.quick-action{font:inherit}.quick-action span{width:18px;text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.76);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.18s}.modal-backdrop.open{opacity:1;visibility:visible}.username-modal-card{width:min(420px,100%);position:relative;padding:22px;border-radius:19px;background:#11110f;border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 90px rgba(0,0,0,.7)}.username-modal-card h2{margin:0 40px 18px 0;font-size:16px;letter-spacing:-.02em}.username-modal-card label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:#eee7e2}.modal-close{position:absolute;right:15px;top:12px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#aaa29c;font-size:24px;cursor:pointer}.modal-close:hover{background:#1b1b19;color:#fff}.username-input-wrap{height:48px;border-radius:13px;background:#0d0d0c;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;padding:0 13px}.username-input-wrap span{color:#9d958f}.username-input-wrap input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:#fff;font-weight:650}.username-hint{margin:10px 0 0;color:#8a827c;font-size:11px;line-height:1.5}.username-status{min-height:17px;margin:9px 0 0;font-size:11px}.username-status.error{color:#ff8e78}.username-status.ok{color:#76dd80}.username-submit{margin-top:4px;min-height:43px;border-radius:12px;border:1px solid rgba(255,137,38,.25);background:linear-gradient(180deg,rgba(255,128,24,.18),rgba(255,104,0,.12));color:#fff;font-size:12px;font-weight:750;padding:0 16px;cursor:pointer}.username-submit:disabled{opacity:.55;cursor:wait}.manage-action#change-username-btn{position:relative}.manage-action#change-username-btn:hover{background:#343432}@media(max-width:760px){.quick-menu{position:fixed;left:14px;right:14px;bottom:14px}.sidebar-profile{margin-top:2px}.modal-backdrop{padding:14px}}

/* fires.lol v1.0.5 */
.account-side-stack{display:grid;gap:20px;align-content:start}.account-connections{margin-top:0}.account-connections .connections-list{gap:9px}.account-connections .connection-row{grid-template-columns:1fr auto}.account-connections .connection-main{min-height:50px}.account-connections .link-btn{min-width:82px;height:50px}.discord-mark img{width:16px;height:16px;color:#fff}.quick-action img{width:18px;height:18px;flex:0 0 18px;color:currentColor}.quick-action.switch-account{background:#242422;border-color:rgba(255,255,255,.09)}.quick-action.switch-account .quick-arrow{margin-left:auto;width:auto;color:#a9a19b;font-size:17px}.quick-action span:not(.quick-arrow){min-width:0}.quick-language{margin-bottom:1px}@media(max-width:1100px){.account-side-stack{grid-template-columns:1fr 1fr}.stats-layout{grid-template-columns:1fr}.account-connections{margin-top:0}}@media(max-width:760px){.account-side-stack{grid-template-columns:1fr}.account-connections .connection-row{grid-template-columns:1fr}.account-connections .link-btn{width:100%}}


/* fires.lol v1.0.7 — gestion des identités Google / Discord */
.provider-action-btn.linked{min-width:52px;width:52px;padding:0;font-size:0;cursor:pointer;border-color:rgba(255,255,255,.08);background:#20201f;color:#fff}.provider-action-btn.linked::before{content:"⚙";font-size:18px;line-height:1}.provider-action-btn.linked:hover{background:#2b2b29}.provider-modal-backdrop{z-index:130}.provider-modal-card{width:min(440px,100%);position:relative;padding:20px;border-radius:18px;background:#11110f;border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 90px rgba(0,0,0,.72)}.provider-modal-card h2{margin:0 42px 18px 0;font-size:16px;letter-spacing:-.02em}.provider-identity-card{display:flex;align-items:center;gap:14px;padding:15px;border-radius:15px;background:#171716;border:1px solid rgba(255,255,255,.07)}.provider-modal-icon{width:54px;height:54px;border-radius:13px;display:grid;place-items:center;background:#0f0f0e;border:1px solid rgba(255,255,255,.07);font-weight:900;font-size:24px;flex:0 0 54px}.provider-modal-icon img{width:27px;height:27px;display:block}.provider-modal-copy{min-width:0}.provider-modal-copy strong{display:block;font-size:16px;margin-bottom:7px}.provider-modal-copy span{display:block;color:#9a928c;font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-unlink-btn,.provider-close-btn{width:100%;min-height:44px;border-radius:12px;font-size:12px;font-weight:750;cursor:pointer}.provider-unlink-btn{margin-top:18px;border:1px solid rgba(239,69,61,.46);background:rgba(137,37,33,.52);color:#fff}.provider-unlink-btn:hover{background:rgba(163,42,37,.64)}.provider-unlink-btn:disabled{opacity:.48;cursor:not-allowed}.provider-close-btn{margin-top:10px;border:1px solid rgba(255,255,255,.08);background:#191918;color:#eee8e3}.provider-close-btn:hover{background:#222220}.provider-modal-warning{margin:12px 0 0;padding:10px 12px;border-radius:11px;border:1px solid rgba(255,176,81,.17);background:rgba(255,176,81,.07);color:#d8aa77;font-size:11px;line-height:1.45}@media(max-width:760px){.provider-modal-card{padding:18px}.provider-identity-card{padding:13px}}

/* v1.0.8 — bouton paramètres explicite, façon guns.lol */
.provider-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}
.provider-settings-icon{display:none;width:22px;height:22px;color:#f2efec}
.provider-action-btn.linked{min-width:52px;width:52px;height:50px;padding:0;border:1px solid rgba(255,255,255,.08);background:#1b1b1a;color:#fff;border-radius:13px;font-size:0;cursor:pointer}
.provider-action-btn.linked::before{content:none!important}
.provider-action-btn.linked .provider-action-label{display:none}
.provider-action-btn.linked .provider-settings-icon{display:block}
.provider-action-btn.linked:hover{background:#292927;border-color:rgba(255,255,255,.12)}
.account-connections .provider-copy span[hidden]{display:none}
@media(max-width:760px){.account-connections .connection-row{grid-template-columns:1fr auto}.account-connections .provider-action-btn.linked{width:52px;min-width:52px}.account-connections .provider-action-btn:not(.linked){min-width:82px;width:auto}}


/* fires.lol v1.0.9 — accordéons latéraux + fenêtre pseudo façon guns.lol */
.nav-accordion{display:block}.nav-toggle{width:100%;border:0;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.nav-toggle>span:nth-child(2){min-width:0}.nav-chevron{margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .24s cubic-bezier(.2,.7,.2,1);opacity:.9}.nav-accordion.is-open .nav-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.nav-submenu{overflow:hidden;max-height:0;opacity:0;transform:translateY(-4px);padding-top:0;padding-bottom:0;transition:max-height .28s cubic-bezier(.2,.7,.2,1),opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1),padding .28s ease}.nav-accordion.is-open .nav-submenu{opacity:1;transform:none}.nav-submenu-inner{padding:0 0 2px 48px}.nav-submenu a{display:block;color:#857d77;font-size:12px;padding:4px 0;line-height:1.35;transition:color .16s ease,transform .16s ease,font-weight .16s ease}.nav-submenu a:hover{color:#d8d1cb;transform:translateX(2px)}.nav-submenu a.active{color:#fff;font-weight:600}
.nav-accordion[data-sidebar-accordion="premium"]>.nav-toggle{background:transparent;color:#c6bfba;border:1px solid transparent}.nav-accordion[data-sidebar-accordion="premium"]>.nav-toggle:hover{background:rgba(255,255,255,.025);color:#e7dfd8}.nav-accordion[data-sidebar-accordion="premium"].is-open>.nav-toggle{background:linear-gradient(90deg,rgba(255,183,0,.18),rgba(255,130,0,.08));color:#fff;border-color:rgba(255,190,61,.24)}

.username-modal-card{width:min(470px,100%);padding:22px 20px 20px;border-radius:18px;background:#121211;border-color:rgba(255,255,255,.10)}.username-modal-card h2{font-size:17px;margin:0 42px 20px 0}.username-modal-card label{font-size:13px;margin-bottom:9px}.username-input-wrap{height:54px;border-radius:15px;padding:0 14px;background:#0d0d0c;border-color:rgba(255,255,255,.055)}.username-input-wrap span{font-size:18px;color:#99918b}.username-input-wrap input{font-size:14px;font-weight:600}.username-hint{font-size:12px;line-height:1.45;margin:11px 2px 0;color:#908883}.username-status{margin:7px 2px 0;min-height:16px}.username-submit{margin-top:5px;min-height:44px;border-radius:13px;background:#191918;border-color:rgba(255,255,255,.09);padding:0 16px;font-size:13px}.username-submit:hover{background:#222220}.username-submit:disabled{opacity:.52}.modal-close{top:12px;right:13px;color:#a9a19b}

/* V1.0.11 — pages secondaires du compte */
.placeholder-main{min-height:100vh}.placeholder-shell{min-height:calc(100vh - 90px);display:flex;flex-direction:column}.placeholder-title{margin:0 0 28px;font-size:20px;letter-spacing:-.03em}.placeholder-card{flex:1;min-height:420px;border:1px solid rgba(255,255,255,.06);background:#10100f;border-radius:20px;display:grid;place-items:center;text-align:center;padding:38px}.placeholder-card strong{display:block;font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.055em;color:#fff}.placeholder-card span{display:block;margin-top:14px;color:#807872;font-size:13px}.nav-submenu a[aria-current="page"]{color:#fff;font-weight:600}

/* V1.0.14 — sidebar spacing closer to guns.lol */
.nav-accordion{margin:0}
.nav-accordion.is-open{margin-bottom:1px}
.nav-accordion .nav-submenu+.nav-item{margin-top:0}

/* V1.0.14 — sidebar plus compacte, alignée sur guns.lol */
.nav-group > .nav-item,
.nav-group > .nav-accordion { margin-top:0; margin-bottom:0; }
.nav-item{margin:1px 0}
.nav-accordion>.nav-toggle{margin:1px 0}
.nav-submenu{margin:0!important;padding:0!important}
.nav-submenu-inner{padding:1px 0 1px 44px!important}
.nav-submenu a{padding:3px 0!important;line-height:1.22!important}
.nav-accordion.is-open .nav-submenu{margin-bottom:0!important}
.nav-accordion.is-open + .nav-item,
.nav-accordion.is-open + .nav-accordion{margin-top:0!important}

/* V1.0.14 — page Badges */
.badges-main{padding-top:44px}
.badges-shell{max-width:1380px}
.badges-heading{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-size:24px;letter-spacing:-.04em}
.badges-collapse-btn{border:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;gap:12px;padding:0;font:inherit;font-weight:700}
.badges-collapse-btn .nav-chevron{display:inline-block;margin-left:2px}
.badges-section.is-collapsed .badges-collapse-btn .nav-chevron{transform:rotate(45deg)}
.badges-section:not(.is-collapsed) .badges-collapse-btn .nav-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.badges-catalog{display:grid;grid-template-columns:1fr 1fr;gap:16px;transition:.25s ease;overflow:hidden}
.badges-section.is-collapsed .badges-catalog{display:none}
.badge-card{min-height:92px;border:1px solid rgba(255,255,255,.065);background:#111110;border-radius:17px;padding:15px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}
.badge-card.wide{grid-column:1/-1}
.badge-symbol{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:22px;line-height:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--badge-color,#ff9a36) 55%,transparent))}
.badge-copy{min-width:0}.badge-copy strong{display:block;font-size:16px;line-height:1.2}.badge-copy p{margin:4px 0 0;color:#a79f98;font-size:13px;line-height:1.38}
.badge-action{min-width:120px;min-height:42px;padding:0 17px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:#1b1b1a;color:#f5f1ed;font-weight:600;cursor:pointer}
.badge-action:hover{background:#232321}.badge-action[disabled]{opacity:.85;cursor:default;font-style:italic}
.badges-subtitle{font-size:23px;margin:42px 0 18px;letter-spacing:-.04em}
.custom-badge-box,.badge-settings{border:1px solid rgba(255,255,255,.065);background:#111110;border-radius:18px;padding:24px}
.custom-badge-title{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:22px}.new-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,122,25,.3);background:rgba(255,111,8,.12);color:#ffc184;font-size:12px;font-weight:700}
.custom-badge-box p{color:#aaa29b;line-height:1.5;margin:0}.custom-actions{display:flex;gap:12px;margin-top:22px}.custom-actions .primary{background:rgba(255,111,8,.18);border-color:rgba(255,137,43,.28);min-width:230px}.custom-actions .secondary{min-width:250px}
.badge-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end}.settings-field label{display:block;font-size:15px;font-weight:600;margin-bottom:11px}.toggle-row{display:flex;align-items:center;gap:10px}.switch{width:68px;height:34px;border-radius:999px;background:#4b4a48;padding:4px;display:flex;justify-content:flex-start;transition:.2s}.switch.on{background:linear-gradient(90deg,var(--orange),var(--orange2));justify-content:flex-end}.switch i{width:26px;height:26px;background:#fff;border-radius:50%;display:block}.color-input{height:50px;border-radius:13px;background:#0b0b0a;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:12px;padding:0 14px}.color-dot{width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid rgba(255,255,255,.25)}.save-badges{margin-top:22px;min-height:46px;padding:0 18px;border:1px solid rgba(255,255,255,.07);background:#171716;color:#fff;border-radius:13px;font-weight:600;cursor:pointer}
.my-badges{display:grid;grid-template-columns:1fr 1fr;gap:18px}.my-badge{min-height:78px;border-radius:17px;border:1px solid rgba(255,255,255,.065);background:#111110;padding:0 18px;display:flex;align-items:center;gap:12px}.drag-dots{color:#5d5854;font-size:18px;letter-spacing:-3px}.my-badge strong{font-size:16px}.my-badge .switch{margin-left:auto;width:62px;height:32px}.my-badge .switch i{width:24px;height:24px}
@media(max-width:1000px){.badges-catalog,.my-badges{grid-template-columns:1fr}.badge-card.wide{grid-column:auto}.badge-settings-grid{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){.badge-card{grid-template-columns:auto 1fr}.badge-action{grid-column:1/-1;width:100%}.custom-actions{flex-direction:column}.custom-actions .badge-action{min-width:0}.badges-main{padding-top:26px}}

/* V1.0.14 — sidebar encore plus compacte + badges dynamiques */
.nav-accordion.is-open + .nav-item,
.nav-accordion.is-open + .nav-accordion{margin-top:-9px!important}
.nav-submenu-inner{padding-bottom:0!important}
.nav-submenu a:last-child{padding-bottom:1px!important}

.badge-action{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.badge-symbol-image img{width:34px;height:34px;display:block;object-fit:contain}

/* Interrupteur badges — mouvement fluide façon guns.lol */
.badge-toggle{--toggle-w:62px;--toggle-h:32px;--thumb:24px;position:relative;width:var(--toggle-w);height:var(--toggle-h);padding:0;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:#343432;box-shadow:inset 0 1px 3px rgba(0,0,0,.35);cursor:pointer;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .16s ease}
.badge-toggle:hover{border-color:rgba(255,255,255,.16);transform:translateY(-1px)}
.badge-toggle:active{transform:scale(.97)}
.badge-toggle.on{background:linear-gradient(90deg,#ff7408,#ff9c39);border-color:rgba(255,152,55,.42);box-shadow:0 0 0 1px rgba(255,125,20,.06),inset 0 1px 2px rgba(255,255,255,.13)}
.badge-toggle-thumb{position:absolute;top:3px;left:3px;width:var(--thumb);height:var(--thumb);border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.38);transform:translateX(0);transition:transform .28s cubic-bezier(.2,.9,.25,1.25),width .14s ease}
.badge-toggle:active .badge-toggle-thumb{width:28px}
.badge-toggle.on .badge-toggle-thumb{transform:translateX(calc(var(--toggle-w) - var(--thumb) - 6px))}
.badge-toggle.pop{animation:badgeTogglePop .3s ease}
.badge-toggle.small{--toggle-w:58px;--toggle-h:30px;--thumb:22px}
.badge-toggle.small .badge-toggle-thumb{top:3px;left:3px}
@keyframes badgeTogglePop{0%,100%{box-shadow:0 0 0 0 rgba(255,126,22,0)}45%{box-shadow:0 0 0 6px rgba(255,126,22,.12)}}

.color-input{position:relative;cursor:pointer;overflow:hidden}.color-input input[type="color"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.color-picker-icon{margin-left:auto;color:#aaa29b;font-size:18px;pointer-events:none}.color-dot,#badge-color-value{pointer-events:none}
.save-badges.is-saving{opacity:.6;cursor:wait}.save-badges.saved{border-color:rgba(101,216,111,.24);color:#8fe297}

.my-badges-empty{grid-column:1/-1;min-height:112px;border:1px dashed rgba(255,255,255,.09);border-radius:17px;background:#0d0d0c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;color:#857d77}.my-badges-empty strong{color:#d5cec8;font-size:14px}.my-badges-empty span{font-size:12px;margin-top:6px}
.my-badge{position:relative;user-select:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease}.my-badge.is-dragging{z-index:20;opacity:.78;border-color:rgba(255,133,31,.34);background:#181511;box-shadow:0 15px 40px rgba(0,0,0,.38)}
.drag-handle{flex:0 0 28px;width:28px;height:42px;margin-left:-7px;border:0;border-radius:8px;background:transparent;color:#6c655f;cursor:grab;display:grid;place-items:center;touch-action:none;padding:0}.drag-handle:hover,.drag-handle:focus-visible{color:#d2c9c2;background:#1b1b19;outline:0}.drag-handle:active{cursor:grabbing}.drag-grip{width:12px;height:20px;display:grid;grid-template-columns:repeat(2,3px);grid-template-rows:repeat(3,3px);gap:3px}.drag-grip i{width:3px;height:3px;border-radius:50%;background:currentColor;display:block}
.my-badge-icon{width:30px;height:30px;display:grid;place-items:center;font-size:23px;flex:0 0 30px}.my-badge-icon img{width:29px;height:29px;object-fit:contain}.my-badge-copy{min-width:0;display:flex;align-items:center;gap:8px}.my-badge-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-badge .badge-toggle{margin-left:auto;flex:0 0 auto}
.my-badge-order{font-size:10px;color:#655e58;margin-left:2px}
.badges-db-warning{grid-column:1/-1;padding:13px 15px;border-radius:13px;border:1px solid rgba(255,173,70,.18);background:rgba(255,126,13,.06);color:#d7aa79;font-size:12px;line-height:1.5}
@media(max-width:640px){.nav-accordion.is-open + .nav-item,.nav-accordion.is-open + .nav-accordion{margin-top:-5px!important}.my-badge{padding:0 12px}.drag-handle{margin-left:-4px}}

/* V1.0.15 — réglages badges plus proches de guns.lol */
.badge-settings-compact{padding:16px 24px 18px}
.badge-settings-compact .badge-settings-grid{align-items:start}
.badge-settings-compact .settings-field{padding-top:0}
.badge-settings-compact .settings-field label{margin-bottom:8px}
.settings-help{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:3px;border-radius:50%;background:#f5f5f3;color:#131311;font-size:11px;font-weight:800;vertical-align:1px}

/* Interrupteur : désactivé par défaut, animation inchangée */
.badge-toggle:not(.on){background:#3b3a38;border-color:rgba(255,255,255,.09)}

/* Barre couleur façon guns.lol */
.color-control-wrap{position:relative}
.color-input-v2{height:50px;border-radius:13px;background:#0b0b0a;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:12px;padding:0 8px 0 14px;overflow:visible;cursor:default}
.color-input-v2 .color-dot{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid rgba(255,255,255,.34);box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.color-input-v2 input[type="text"]{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff;font:600 15px/1 Inter,system-ui,sans-serif;padding:0}
.color-picker-button{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:transparent;color:#c7c1bc;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.color-picker-button:hover,.color-picker-button[aria-expanded="true"]{background:#171716;color:#fff}
.color-picker-button:active{transform:scale(.95)}
.color-picker-button img{width:19px;height:19px;display:block;filter:brightness(0) invert(.78)}
.color-picker-button:hover img,.color-picker-button[aria-expanded="true"] img{filter:brightness(0) invert(1)}

.color-popover{position:absolute;z-index:120;top:58px;left:0;width:min(360px,calc(100vw - 48px));padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#10100f;box-shadow:0 22px 60px rgba(0,0,0,.48)}
.color-popover[hidden]{display:none}
.color-sv{position:relative;height:200px;border-radius:14px;cursor:crosshair;touch-action:none;background-color:hsl(0 100% 50%);background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);overflow:hidden}
.color-sv-marker{position:absolute;width:19px;height:19px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.8),0 1px 6px rgba(0,0,0,.55);transform:translate(-50%,-50%);pointer-events:none;left:0;top:0}
.hue-wrap{margin-top:18px;padding:0 1px}
.color-hue{appearance:none;-webkit-appearance:none;width:100%;height:18px;margin:0;border:0;border-radius:999px;outline:0;background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);cursor:pointer}
.color-hue::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:transparent;box-shadow:0 0 0 1px rgba(0,0,0,.8)}
.color-hue::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:transparent;box-shadow:0 0 0 1px rgba(0,0,0,.8)}

.custom-owned-title{margin-top:34px}
.my-custom-badges{margin-bottom:20px}
.custom-badge-edit{margin-left:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#1a1a19;color:#aaa29b;display:grid;place-items:center;cursor:pointer;font-size:17px}
.custom-badge-edit:hover{background:#222220;color:#fff}

@media(max-width:1000px){.color-popover{width:min(360px,calc(100vw - 72px))}}
@media(max-width:640px){.badge-settings-compact{padding:14px}.color-popover{left:0;right:auto;width:min(330px,calc(100vw - 42px))}.color-sv{height:180px}}

/* V1.0.25 — icône des vues + nom d'affichage */
.summary-card .view-summary-icon{width:28px;height:28px;display:grid;place-items:center;font-size:0}
.summary-card .view-summary-icon img{width:26px;height:26px;display:block;filter:brightness(0) invert(.76)}
.manage-action-icon{width:18px;height:18px;display:block;flex:0 0 18px;filter:brightness(0) invert(.92)}
.display-name-modal-card .username-input-wrap{gap:11px}
.display-input-icon{width:21px;height:21px;display:block;flex:0 0 21px;filter:brightness(0) invert(.55)}


/* V1.0.25 — interactions homogènes de la zone "Gère ton compte" */
.manage-action{
  transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease;
}
.manage-action:hover{
  background:#343432;
  color:#fff;
}
.manage-action:active{
  transform:translateY(1px);
}
.manage-action-link{
  text-decoration:none;
}


/* V1.0.36 — navigation : icône Premium facettée + alignement homogène */
.nav-icon-image{display:block;width:22px;height:22px;flex:0 0 22px;object-fit:contain;opacity:.92}
.nav-item:hover .nav-icon-image,.nav-item.active .nav-icon-image,.nav-accordion.is-open>.nav-toggle .nav-icon-image{opacity:1}


/* V1.0.37 — icône Premium cohérente sur toutes les surfaces */
.premium-gem{display:inline-block;width:1em;height:1em;flex:0 0 auto;background:currentColor;-webkit-mask:url('/assets/icons/premium.svg') center/contain no-repeat;mask:url('/assets/icons/premium.svg') center/contain no-repeat;vertical-align:-.12em}
.premium-banner strong{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.premium-banner .premium-gem{width:18px;height:18px;color:currentColor}
.badge-symbol-premium{color:var(--badge-color,#bd45ff)}
.badge-symbol-premium .premium-gem{width:28px;height:28px}
.my-badge-icon .premium-gem{width:27px;height:27px}

/* V1.0.41 — passe de densité confortable inspirée de guns.lol
   Objectif : arrêter les éléments trop tassés tout en conservant la structure Fires. */
@media(min-width:761px){
  .app{grid-template-columns:310px minmax(0,1fr)}
  .sidebar{padding:30px 20px 24px}
  .brand{padding:0 10px 27px;font-size:26px;gap:11px}
  .brand img{width:35px;height:35px}
  .search{margin-bottom:27px}

  .nav-group{padding-top:20px}
  .nav-group > .nav-item,
  .nav-group > .nav-accordion{margin:4px 0!important}
  .nav-item,
  .nav-accordion>.nav-toggle{
    min-height:48px;
    height:48px;
    padding:0 14px;
    gap:13px;
    border-radius:14px;
    font-size:14.5px;
  }
  .nav-icon{width:23px;font-size:15px}
  .nav-icon-image{width:23px;height:23px;flex-basis:23px}
  .nav-chevron{width:10px;height:10px}

  .nav-submenu{margin:0!important;padding:0!important}
  .nav-submenu-inner{padding:3px 0 7px 49px!important}
  .nav-submenu a{
    padding:5px 0!important;
    font-size:12.5px;
    line-height:1.35!important;
  }
  .nav-submenu a:last-child{padding-bottom:5px!important}
  .nav-accordion.is-open + .nav-item,
  .nav-accordion.is-open + .nav-accordion{margin-top:4px!important}

  .sidebar-bottom{gap:10px}
  .side-button{height:50px;border-radius:14px;font-size:13.5px}
  .sidebar-profile{min-height:68px;padding:10px 11px;grid-template-columns:44px 1fr 36px;gap:11px}
  .sidebar-avatar{width:44px;height:44px}
  .sidebar-profile-copy strong{font-size:13.5px}
  .sidebar-profile-copy span{font-size:10.5px;margin-top:4px}
  .profile-menu-toggle{width:36px;height:36px}

  .main{padding-top:52px;padding-bottom:76px}
  .topbar{margin-bottom:27px}
  .topbar h1{font-size:23px}
  .user-chip{font-size:12.5px}
  .avatar-mini{width:36px;height:36px}

  .cards{gap:18px}
  .summary-card{min-height:176px;padding:26px;border-radius:22px}
  .summary-card .label{font-size:13.5px}
  .summary-card .icon{right:23px;top:21px}
  .summary-card strong{font-size:29px;margin-top:24px}
  .summary-card p{font-size:12.5px;line-height:1.55}

  .section-title{font-size:19px;margin:41px 0 19px}
  .stats-layout,.bottom-grid{gap:22px}
  .profile-box,.manage-box,.connections-box{padding:25px;border-radius:22px}
  .profile-box h3,.manage-box h3,.connections-box h3{font-size:20px;margin-bottom:8px}
  .muted{font-size:13.5px}
  .completion-head{margin-top:25px;font-size:12.5px}
  .success{padding:17px;margin-top:23px;border-radius:16px}
  .success strong{font-size:14.5px}
  .success p{font-size:12.5px}
  .check-grid{gap:11px;margin-top:19px}
  .check{height:52px;padding:0 15px;font-size:12.5px}
  .manage-actions{gap:11px;margin-top:21px}
  .manage-action{height:51px;padding:0 16px;font-size:12.5px}
  .connections-box{margin-top:22px}
  .connections-list{gap:11px;margin-top:19px}
  .connection-main{min-height:57px;padding:0 16px}
  .provider-copy strong{font-size:13.5px}
  .provider-copy span{font-size:10.5px}
  .link-btn{height:57px;min-width:108px;font-size:11.5px}

  .username-modal-card{width:min(500px,100%);padding:24px 23px 22px}
  .username-modal-card h2{font-size:18px;margin-bottom:21px}
  .username-modal-card label{font-size:13.5px}
  .username-input-wrap{height:56px;padding:0 15px}
  .username-input-wrap input{font-size:14.5px}
  .username-hint{font-size:12.5px;line-height:1.5}
  .username-submit{min-height:46px;font-size:13.5px}
}

/* v1.0.100 — progression du profil (5 x 20 %) / style fires.lol */
#profile-completion .completion-bar span{transition:width .35s ease; background:linear-gradient(90deg,#ff7209 0%,#ffa42c 62%,#ffd16c 100%)}
#profile-completion .completion-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
#profile-completion .completion-head span:last-child{white-space:nowrap}
#profile-completion .completion-message{background:#191919;border-color:rgba(255,255,255,.07)}
#profile-completion .completion-message:not(.is-complete) #completion-state-icon{background:#f0a43b;color:#211307}
#profile-completion .completion-message.is-complete #completion-state-icon{background:#48be55;color:#07260e}
#profile-completion .completion-checks{grid-template-columns:repeat(4,minmax(0,1fr));}
#profile-completion .completion-checks .check{min-width:0;color:#e7e7e7;text-decoration:none;white-space:normal;min-height:45px;height:auto;line-height:1.25;padding:10px 12px;transition:background .15s ease}
#profile-completion .completion-checks .check:hover{background:#242424}
#profile-completion .completion-checks .check i{flex:0 0 21px;display:grid;place-items:center;background:#343434;color:#9d9d9d;border-radius:50%;font-size:13px;font-style:normal}
#profile-completion .completion-checks .check.is-complete i{background:#49be55;color:#103016}
#profile-completion .completion-checks .check:not(.is-complete){color:#aeaeae}
#profile-completion .completion-checks .completion-check-views{grid-column:1/-1}
#profile-completion .completion-view-count{margin-left:auto;color:#9b9299;font-size:11px;white-space:nowrap}
@media(max-width:1300px){#profile-completion .completion-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#profile-completion .completion-checks{grid-template-columns:1fr}}

/* Complétion vide/en cours : cases discrètes et dernière étape identique à la référence. */
#profile-completion .completion-bar{background:#191715;border:1px solid rgba(255,141,40,.13);height:13px}
#profile-completion .completion-message:not(.is-complete){background:#181818;border-color:rgba(255,255,255,.055)}
#profile-completion .completion-checks .check:not(.is-complete) i{background:#343434;color:#979797}
#profile-completion .completion-checks .completion-check-views:not(.is-complete) i{font-size:0;position:relative;background:transparent;border:0}
#profile-completion .completion-checks .completion-check-views:not(.is-complete) i::after{content:'';position:absolute;inset:1px;background:#969696;mask:url('/assets/icons/views.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/views.svg') center/contain no-repeat}
#profile-completion .completion-view-arrow{margin-left:auto;color:#878787;font-size:26px;line-height:1}
#profile-completion .completion-check-views.is-complete .completion-view-arrow{display:none}
#profile-completion .completion-view-count{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}


/* V1.0.101 — Pictogrammes des étapes de complétion, fidèles à la référence. */
#profile-completion .completion-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
#profile-completion .completion-checks .completion-check-views{grid-column:auto}
#profile-completion .completion-checks .check{position:relative;gap:11px;font-size:12.5px;padding:10px 12px}
#profile-completion .completion-checks .check i{
  --completion-icon:none;
  width:22px;height:22px;flex:0 0 22px;position:relative;
  background:transparent;border:0;border-radius:0;color:inherit;
  font-size:0;display:grid;place-items:center;
}
#profile-completion .completion-checks .check i::before{
  content:'';display:block;width:21px;height:21px;background:#929292;
  -webkit-mask:var(--completion-icon) center / contain no-repeat;
  mask:var(--completion-icon) center / contain no-repeat;
}
#profile-completion .completion-checks [data-completion="avatar"] i{--completion-icon:url('/assets/icons/completion-avatar.svg')}
#profile-completion .completion-checks [data-completion="description"] i{--completion-icon:url('/assets/icons/completion-description.svg')}
#profile-completion .completion-checks [data-completion="discord"] i{--completion-icon:url('/assets/icons/discord.svg')}
#profile-completion .completion-checks [data-completion="links"] i{--completion-icon:url('/assets/icons/completion-links.svg')}
#profile-completion .completion-checks [data-completion="views"] i{--completion-icon:url('/assets/icons/views.svg')}
#profile-completion .completion-checks .check:not(.is-complete) i{background:transparent;border-radius:0}
#profile-completion .completion-checks .completion-check-views:not(.is-complete) i::after{display:none}
#profile-completion .completion-checks .check.is-complete i{border-radius:50%;background:#48be55;color:#112b16}
#profile-completion .completion-checks .check.is-complete i::before{
  content:'✓';display:grid;place-items:center;
  background:transparent;color:#0a2a11;font-size:15px;font-weight:800;
  -webkit-mask:none;mask:none;
}
#profile-completion .completion-checks .check:not(.completion-check-views):not(.is-complete)::after{
  content:'›';margin-left:auto;color:#777;font-size:26px;line-height:1;flex:0 0 auto
}
#profile-completion .completion-checks .check.is-complete .completion-view-arrow{display:none}
@media(max-width:1300px){#profile-completion .completion-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#profile-completion .completion-checks{grid-template-columns:1fr}}
