/* Accueil public V11 — adapté de la maquette fournie. */
:root{--swv-bg:#040910;--swv-side:#060d16;--swv-panel:#0c1624;--swv-line:#1b2c40;--swv-line-hi:#2f4d69;--swv-text:#f3f7fb;--swv-muted:#93a4b7;--swv-blue:#328fd0;--swv-blue2:#59b9e9;--swv-cyan:#5bd4ef;--swv-gold:#d2ad68;--swv-side-w:238px}
#swlabo-public-v11{position:relative;z-index:20;min-height:100vh;background:radial-gradient(circle at 78% 0%,rgba(50,143,208,.10),transparent 26%),linear-gradient(180deg,#06101b 0%,#040910 56%,#03070c 100%);color:var(--swv-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html.swv-guest-pending #root{visibility:hidden!important}body.swv-public-active{background:var(--swv-bg)!important}body.swv-public-active>#root{display:none!important}
.swv-sidebar{position:fixed;inset:0 auto 0 0;width:var(--swv-side-w);z-index:25;background:linear-gradient(180deg,#07101a,#050b13 72%);border-right:1px solid rgba(91,134,173,.16);padding:18px 14px;display:flex;flex-direction:column}.swv-brand{display:flex;align-items:center;gap:11px;padding:2px 9px 19px;color:inherit;text-decoration:none}.swv-brand-mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0d2439,#0b1423);border:1px solid #2b91c6;box-shadow:0 0 16px rgba(89,185,233,.16);color:var(--swv-cyan);font-size:20px}.swv-brand-logo{overflow:hidden;padding:0}.swv-brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.swv-brand strong{font-size:16px;letter-spacing:.04em}.swv-brand strong span{color:var(--swv-blue2)}.swv-brand small{display:block;color:#607286;font-size:9px;margin-top:2px}.swv-label{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#4d6174;margin:15px 10px 7px}.swv-nav{display:flex;flex-direction:column;gap:3px}.swv-nav button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;width:100%;padding:9px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#9badbf;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.swv-nav button:hover{background:#0b1624;color:#d9e7f3}.swv-nav button.is-active{color:#fff;background:linear-gradient(90deg,rgba(50,143,208,.16),rgba(50,143,208,.04));border-color:rgba(89,185,233,.17)}.swv-dot{width:6px;height:6px;border-radius:50%;background:#41566b;margin-right:8px;display:inline-block}.is-active .swv-dot{background:var(--swv-cyan);box-shadow:0 0 12px rgba(91,212,239,.5)}.swv-name{display:flex;align-items:center}.swv-badge{font-size:8px;color:#6f8598;border:1px solid #23364a;border-radius:999px;padding:3px 5px;font-style:normal}.swv-sidebar-bottom{margin-top:auto;display:grid;gap:8px}.swv-side-card{background:#0a1421;border:1px solid var(--swv-line);border-radius:11px;padding:11px}.swv-side-card b,.swv-side-card small{font-size:11px;font-weight:800;color:#dbe8f3}.swv-side-card p{font-size:9px;line-height:1.4;color:var(--swv-muted);margin:4px 0 9px}.swv-community-card{display:grid;gap:7px}.swv-community-card .swv-btn{text-align:center;text-decoration:none;padding:8px;font-size:10px}
.swv-btn{border:1px solid var(--swv-line);background:#0d1827;color:#fff;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}.swv-btn:hover{background:#122033;border-color:var(--swv-line-hi)}.swv-primary{background:linear-gradient(135deg,#2e8bc8,#2474aa);border-color:#4ca5dc;box-shadow:0 8px 22px rgba(36,116,170,.23)}
.swv-main{margin-left:var(--swv-side-w);min-height:100vh}.swv-topbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 26px;position:sticky;top:0;z-index:15;background:rgba(5,10,17,.87);backdrop-filter:blur(14px);border-bottom:1px solid rgba(91,134,173,.13)}.swv-breadcrumb{font-size:10px;color:var(--swv-muted)}.swv-breadcrumb b{color:#dbe6ef}.swv-actions{display:flex;align-items:center;gap:8px}.swv-content{max-width:1440px;margin:0 auto;padding:22px 26px 60px}.swv-hero{min-height:355px;border:1px solid rgba(89,137,176,.19);border-radius:18px;overflow:hidden;position:relative;box-shadow:0 18px 50px rgba(0,0,0,.34);display:flex;align-items:center;justify-content:flex-start}.swv-hero-media{position:absolute;inset:0}.swv-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.9) brightness(.58) contrast(1.04)}.swv-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,16,.96),rgba(4,9,16,.77) 36%,rgba(4,9,16,.30) 72%,rgba(4,9,16,.52)),linear-gradient(180deg,rgba(4,9,16,.08),rgba(4,9,16,.78))}.swv-copy{position:relative;z-index:2;padding:42px;max-width:720px;text-align:left!important}.swv-copy h1,.swv-copy p,.swv-copy .swv-game,.swv-copy .swv-note{text-align:left!important}.swv-game{font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--swv-gold)}.swv-copy h1{font-size:clamp(38px,4.6vw,64px);line-height:.96;letter-spacing:-.045em;margin:10px 0 14px}.swv-copy h1 span{color:var(--swv-blue2)}.swv-copy p{color:#b8c5d2;line-height:1.65;font-size:14px;max-width:650px;margin:0}.swv-hero-actions{display:flex;justify-content:flex-start;gap:9px;flex-wrap:wrap;margin-top:20px}.swv-note{color:#7f91a4;font-size:9px;margin-top:11px}.swv-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 2px 12px}.swv-section-head h2{font-size:18px;margin:0 0 4px}.swv-section-head p{font-size:10px;color:var(--swv-muted);margin:0}.swv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.swv-tile{min-height:214px;position:relative;overflow:hidden;border-radius:15px;border:1px solid rgba(90,129,165,.22);background:var(--swv-panel);box-shadow:0 12px 30px rgba(0,0,0,.24);transition:.2s ease;cursor:pointer}.swv-tile:hover{transform:translateY(-2px);border-color:rgba(89,185,233,.42);box-shadow:0 18px 40px rgba(0,0,0,.30)}.swv-media{position:absolute;inset:0}.swv-media img{width:100%;height:100%;object-fit:cover;object-position:center 27%;filter:saturate(.9) brightness(.78)}.swv-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,18,.02),rgba(7,13,24,.14) 35%,rgba(8,16,29,.89) 68%,rgba(8,16,29,.99))}.swv-tile-content{position:absolute;z-index:2;inset:auto 0 0;padding:56px 16px 15px}.swv-kicker{font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--swv-blue2);margin-bottom:4px}.swv-title{font-size:14px;font-weight:850}.swv-desc{font-size:9px;color:#9eafc1;margin-top:5px;line-height:1.45;max-width:87%}.swv-arrow{position:absolute;right:14px;bottom:14px;z-index:3;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(127,158,191,.27);background:rgba(9,18,31,.84);color:#d4e6f3;font-size:15px}.swv-tags{position:absolute;top:14px;left:14px;z-index:3;display:flex;gap:5px;flex-wrap:wrap}.swv-tag{font-size:8px;font-weight:900;letter-spacing:.06em;padding:5px 7px;border-radius:999px;background:rgba(6,14,25,.82);border:1px solid rgba(91,185,233,.24);color:#d7edf8;backdrop-filter:blur(6px)}.swv-footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding:15px 2px;color:#5f7185;font-size:9px}
/* Palette commune une fois le JSON importé. */
body.swv-online{background:#040910!important;color:#edf6fb!important}body.swv-online .sideNav{background:linear-gradient(180deg,#07101a,#050b13 72%)!important;border-color:rgba(91,134,173,.16)!important}body.swv-online .sideNav button{color:#9badbf!important;border-radius:9px!important}body.swv-online .sideNav button:hover,body.swv-online .sideNav button.active{background:linear-gradient(90deg,rgba(50,143,208,.16),rgba(50,143,208,.04))!important;color:#fff!important}body.swv-online .topBar,body.swv-online header{background:rgba(5,10,17,.9)!important;border-color:rgba(91,134,173,.16)!important}body.swv-online .card,body.swv-online .panel,body.swv-online .dashboardCard{background:#0c1624!important;border-color:#1b2c40!important}body.swv-online button{border-color:#2f4d69!important}body.swv-online button:hover{border-color:#59b9e9!important}
body.swv-online .appFrame,body.swv-online .workspace{background:#040910!important}body.swv-online .sideNav nav button.on{background:linear-gradient(135deg,rgba(46,139,200,.40),rgba(46,139,200,.14))!important;border-color:rgba(89,185,233,.58)!important;box-shadow:0 10px 28px rgba(36,116,170,.22)!important}body.swv-online .sideNav nav button.on svg{color:#5bd4ef!important}body.swv-online .sideBrand span,body.swv-online .modernMonsterGroups .monsterGroup h3,body.swv-online .dashRunes h3,body.swv-online .dashArtifacts h3,body.swv-online .dashLushen h3{color:#59b9e9!important}body.swv-online .primaryAction,body.swv-online .primaryAction.wide{background:linear-gradient(135deg,#2e8bc8,#2474aa)!important;box-shadow:0 8px 22px rgba(36,116,170,.23)!important}body.swv-online .card,body.swv-online .panel,body.swv-online .dashboardCard,body.swv-online .monsterGroup,body.swv-online .speedStat,body.swv-online .runeCardSetra,body.swv-online .artifactRow,body.swv-online .lushenControls,body.swv-online .lushenCalc,body.swv-online .lushenSelected{background:linear-gradient(160deg,#0c1624,#08111d)!important;border-color:#1b2c40!important}body.swv-online .dashHero{background:linear-gradient(90deg,rgba(4,9,16,.94),rgba(12,42,69,.74)),radial-gradient(circle at 76% 35%,rgba(89,185,233,.24),transparent 28%)!important;border-color:rgba(89,185,233,.30)!important}
/* Couche de palette exhaustive : aucune déclinaison mauve dans l'application connectée. */
body.swv-online{--purple:#328fd0!important;--purple-2:#59b9e9!important}body.swv-online:before{background:radial-gradient(circle at 20% 10%,rgba(89,185,233,.12),transparent 28%),radial-gradient(circle at 85% 55%,rgba(46,139,200,.10),transparent 35%)!important}body.swv-online .purple,body.swv-online .accent-purple,body.swv-online .text-purple{color:#59b9e9!important}body.swv-online .bg-purple,body.swv-online .badge-purple{background:#2e8bc8!important;border-color:#59b9e9!important}body.swv-online .donut{background:conic-gradient(#328fd0 0 68%,#5bd4ef 68% 82%,#2b3b68 82% 100%)!important}body.swv-online .legendLine span:nth-child(2):before,body.swv-online .runeTopStats div:nth-child(3) b,body.swv-online .artifactKpis div:nth-child(3) svg{background:#328fd0!important;color:#59b9e9!important}body.swv-online .speedStat:nth-child(5):before,body.swv-online .speedStat:nth-child(6):before{background:radial-gradient(circle,rgba(46,139,200,.18),transparent 42%)!important}body.swv-online .fakePortrait,body.swv-online .dashLushen img{background:linear-gradient(135deg,#0c3652,#08111d)!important;border-color:rgba(89,185,233,.45)!important}body.swv-online :is(.runeCardSetra,.artifactRow,.lushenControls,.lushenCalc,.lushenSelected,.counterCard,.counterModal,.counterForm,.adminAccountPanel,.accountCard,.modal,.modalContent){border-color:#1b2c40!important}body.swv-online :is(.runeCardSetra,.artifactRow,.lushenControls,.lushenCalc,.lushenSelected,.counterCard,.counterModal,.counterForm,.adminAccountPanel,.accountCard,.modalContent){background:#0c1624!important}
@media(max-width:1100px){.swv-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){:root{--swv-side-w:76px}.swv-brand strong,.swv-brand small,.swv-label,.swv-name span,.swv-badge,.swv-side-card p,.swv-side-card b{display:none}.swv-brand{justify-content:center;padding-left:0;padding-right:0}.swv-nav button{justify-content:center;padding:10px}.swv-dot{margin:0;width:8px;height:8px}.swv-side-card{padding:8px}.swv-side-card .swv-btn{font-size:0;padding:10px}.swv-side-card .swv-btn:after{content:"JSON";font-size:8px}}@media(max-width:650px){:root{--swv-side-w:0px}.swv-sidebar{display:none}.swv-topbar{padding:0 14px}.swv-content{padding:14px 14px 40px}.swv-grid{grid-template-columns:1fr}.swv-copy{padding:28px 22px}.swv-actions .swv-secondary{display:none}}
@media(max-width:1100px){.swv-grid{grid-template-columns:repeat(2,1fr)}}@media(max-height:900px) and (min-width:851px){.swv-sidebar{padding-top:12px;padding-bottom:10px}.swv-brand{padding-bottom:10px}.swv-brand-mark{width:44px;height:44px}.swv-label{margin-top:8px;margin-bottom:4px}.swv-nav{gap:1px}.swv-nav button{min-height:31px;padding:6px 10px}.swv-sidebar-bottom{gap:5px}.swv-side-card{padding:8px}.swv-side-card p{margin:3px 0 6px;line-height:1.25}.swv-community-card{gap:4px}.swv-community-card .swv-btn{padding:6px;font-size:9px}}@media(max-width:850px){:root{--swv-side-w:76px}.swv-brand strong,.swv-brand small,.swv-label,.swv-name span,.swv-badge,.swv-side-card p,.swv-side-card b{display:none}.swv-brand{justify-content:center;padding-left:0;padding-right:0}.swv-nav button{justify-content:center;padding:10px}.swv-dot{margin:0;width:8px;height:8px}.swv-side-card{padding:8px}.swv-side-card .swv-btn{font-size:0;padding:10px}.swv-side-card .swv-btn:after{content:"JSON";font-size:8px}}@media(max-width:650px){:root{--swv-side-w:0px}.swv-sidebar{display:none}.swv-topbar{padding:0 14px}.swv-content{padding:14px 14px 40px}.swv-grid{grid-template-columns:1fr}.swv-copy{padding:28px 22px}.swv-actions .swv-secondary{display:none}}
