:root{
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#f4f0e7;
  background:#070d16;
  --bg:#070d16;
  --surface:#0c1422;
  --surface-2:#111c2d;
  --surface-3:#16243a;
  --line:#23324a;
  --line-soft:#172338;
  --text:#f4f0e7;
  --muted:#91a0b5;
  --gold:#e5b454;
  --gold-strong:#f1c56d;
  --cyan:#75c9dc;
  --green:#5bd19b;
  --red:#ff8d8d;
  --shadow:0 28px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 90% 10%,rgba(41,79,126,.16),transparent 34rem),
  radial-gradient(circle at 10% 90%,rgba(171,108,34,.09),transparent 32rem),
  linear-gradient(180deg,#07101d 0%,#070d16 55%,#060b13 100%);color:var(--text)}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
button,a,summary,input,select{outline-offset:3px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold-strong)}

.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,48px);border-bottom:1px solid var(--line-soft);background:rgba(6,12,21,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:11px;font-size:.82rem;font-weight:850;letter-spacing:.18em}.brand>span:last-child>span{color:var(--gold)}
.brand-mark{width:34px;height:34px;border:1px solid rgba(229,180,84,.5);border-radius:11px;display:grid;place-items:center;color:var(--gold);font-family:Georgia,serif;font-size:1.2rem}
.top-actions{display:flex;gap:8px}.ghost-link{padding:10px 13px;border:1px solid transparent;border-radius:999px;color:#b6c1d0;font-size:.86rem}.ghost-link:hover{border-color:var(--line);background:rgba(255,255,255,.03);color:#fff}

.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:58px 0 44px}
.hero{max-width:760px;margin-bottom:34px}.eyebrow,.section-kicker{margin:0 0 8px;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.22em}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,5.4rem);font-weight:500;letter-spacing:-.045em;line-height:.95;margin:0}.hero-copy{max-width:660px;color:#aeb9c9;font-size:1.06rem;line-height:1.65;margin:20px 0 0}

.panel{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(17,28,45,.97),rgba(10,18,31,.98));box-shadow:var(--shadow)}
.account-summary{padding:24px 26px;margin-bottom:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h2{font-size:1.45rem;margin:0;letter-spacing:-.025em}.summary-heading{padding-bottom:18px;border-bottom:1px solid var(--line-soft)}
.status-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 11px;border:1px solid var(--line);background:#101a29;color:#b7c2d1;font-size:.78rem;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:#738198;box-shadow:0 0 0 4px rgba(115,129,152,.12)}.status-badge.connected{border-color:rgba(91,209,155,.3);background:rgba(49,144,105,.12);color:#8ce3bb}.status-badge.connected .status-dot{background:var(--green);box-shadow:0 0 0 4px rgba(91,209,155,.13)}.status-badge.disconnected{color:#bdc5d1}.status-badge.disconnected .status-dot{background:#6d7888}
.identity-main{display:flex;align-items:center;gap:16px;padding-top:20px}.avatar-placeholder{width:54px;height:54px;flex:0 0 54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#172640,#0b1422);border:1px solid #314260;color:var(--gold-strong);font-weight:900;font-size:1.05rem}.identity-copy{display:grid;gap:3px;min-width:0}.identity-name{font-size:1.25rem;overflow-wrap:anywhere}.identity-type{color:var(--muted);font-size:.88rem}.summary-actions{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.details-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:20px}.detail-item{padding:13px 14px;border-radius:14px;background:rgba(4,10,19,.38);border:1px solid var(--line-soft);display:grid;gap:7px}.detail-item>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#73839a}.detail-item strong,.detail-item code{font-size:.88rem;color:#dbe2ec}.uuid-line{display:flex;align-items:center;gap:8px;min-width:0}.uuid-line code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

.notice{margin:0 0 18px;padding:13px 16px;border-radius:14px;border:1px solid rgba(91,209,155,.24);background:rgba(45,134,100,.12);color:#8fe6bd;font-weight:700}.notice.error{border-color:rgba(255,141,141,.28);background:rgba(151,50,50,.13);color:#ffadad}
.auth-grid,.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-panel,.info-panel{padding:25px}.primary-panel{border-color:rgba(229,180,84,.34);background:linear-gradient(145deg,rgba(39,31,20,.4),rgba(10,18,31,.98) 45%)}.panel-copy{color:var(--muted);line-height:1.55;margin:10px 0 20px;min-height:49px}
label{display:grid;gap:7px;margin:14px 0;color:#d7dde6;font-size:.86rem;font-weight:720}input,select{width:100%;padding:12px 13px;border:1px solid #2b3b54;border-radius:11px;background:#08111f;color:#f6f7f9;transition:border-color .16s,background .16s,box-shadow .16s}input::placeholder{color:#5d6c82}input:hover,select:hover{border-color:#3b4e6d}input:focus,select:focus{border-color:#bd9145;background:#091421;box-shadow:0 0 0 3px rgba(229,180,84,.08)}select{appearance:auto}.form-note{color:#718096;font-size:.78rem;line-height:1.5;margin:13px 0 0}
.button{border:1px solid transparent;border-radius:11px;padding:11px 15px;font-weight:850;cursor:pointer;transition:transform .14s,background .14s,border-color .14s,color .14s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:linear-gradient(135deg,#f0c067,#d9a342);color:#111722;box-shadow:0 9px 28px rgba(181,124,31,.13)}.button-primary:hover{background:linear-gradient(135deg,#f5cb7a,#e1ad50)}.button-secondary{background:#1b2a40;border-color:#31435f;color:#eaf0f7}.button-quiet{background:transparent;border-color:#2a3950;color:#aeb9c9}.button-danger-soft{background:rgba(159,63,63,.08);border-color:rgba(255,141,141,.22);color:#f6aaaa}.button-wide{width:100%;margin-top:4px}.icon-button{border:0;background:none;color:#91a4bc;cursor:pointer;font-size:.76rem;padding:2px 4px}.icon-button:hover{color:var(--gold-strong)}

.guest-entry{margin-top:18px;padding:0;overflow:hidden}.guest-entry summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.guest-entry summary::-webkit-details-marker{display:none}.guest-entry summary>span:first-child{display:grid;gap:3px}.guest-entry summary small{font-weight:500;color:var(--muted)}.guest-entry[open] summary{border-bottom:1px solid var(--line-soft)}.inline-guest-form{padding:6px 22px 22px;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:12px}.inline-guest-form label{margin:12px 0 0}.compact-panel{box-shadow:none}

.info-panel{display:flex;flex-direction:column}.info-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line-soft)}.info-row:last-of-type{border-bottom:0}.info-row>div{display:grid;gap:4px}.info-row span:not(.pill){color:var(--muted);font-size:.82rem;line-height:1.45}.pill{border-radius:999px;background:rgba(91,209,155,.1);color:#8ce3bb;border:1px solid rgba(91,209,155,.22);font-size:.73rem;font-weight:850;padding:6px 9px}
.conversion-panel{margin-top:18px;padding:26px;display:grid;grid-template-columns:.9fr 1.6fr;gap:28px;border-color:rgba(117,201,220,.24)}.conversion-copy h2{font-size:1.5rem;margin:0 0 9px}.conversion-copy p:last-child{color:var(--muted);line-height:1.55}.conversion-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.conversion-fields .button{grid-column:1/-1;margin-top:6px}.conversion-fields label{margin-top:0}
.games-panel{padding:25px;margin-top:18px}.game-links{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:17px}.game-link{border:1px solid var(--line);background:#0a1321;border-radius:15px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:transform .16s,border-color .16s,background .16s}.game-link:hover{transform:translateY(-2px);border-color:#405270;background:#0d1828}.game-link.imperium{border-color:rgba(229,180,84,.28);background:linear-gradient(135deg,rgba(80,56,20,.18),#0a1321 55%)}.game-link>span:first-child{display:grid;gap:4px}.game-link small{color:var(--gold);font-size:.65rem;letter-spacing:.15em;font-weight:900}.game-link>span:last-child{color:#b9c5d4;font-size:.83rem;font-weight:800}
.page-footer{display:flex;justify-content:space-between;gap:18px;color:#68778c;font-size:.77rem;padding:28px 2px 6px}

[hidden]{display:none!important}
@media (max-width:760px){
  .topbar{height:62px;padding:0 15px}.top-actions .ghost-link:first-child{display:none}.page-shell{width:min(100% - 22px,1120px);padding-top:38px}.hero{margin-bottom:25px}.hero h1{font-size:3.2rem}.hero-copy{font-size:.96rem}.account-summary{padding:20px}.summary-heading{align-items:center}.identity-main{align-items:flex-start;flex-wrap:wrap}.summary-actions{width:100%;margin-left:70px;justify-content:flex-start}.details-grid{grid-template-columns:1fr}.auth-grid,.member-grid{grid-template-columns:1fr}.form-panel,.info-panel{padding:21px}.inline-guest-form{grid-template-columns:1fr;padding-top:8px}.conversion-panel{grid-template-columns:1fr;padding:22px}.conversion-fields{grid-template-columns:1fr}.game-links{grid-template-columns:1fr}.page-footer{flex-direction:column}.ghost-link{padding:8px 10px}
}
@media (max-width:420px){.brand{font-size:.73rem}.avatar-placeholder{width:48px;height:48px;flex-basis:48px}.summary-actions{margin-left:0}.button{width:100%}.summary-actions .button{width:auto}.identity-copy{max-width:calc(100% - 68px)}}


/* v3.0.4 — compte commun + contexte de jeu */
.avatar-frame{position:relative;overflow:hidden}
.avatar-frame img{width:100%;height:100%;display:block;object-fit:cover}
.avatar-frame-large{width:112px;height:112px;flex:0 0 112px;border-radius:24px;border:1px solid rgba(229,180,84,.42);background:#07101d;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:1.25rem}
.password-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:6px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.password-form label{margin-top:10px}.password-form .button{grid-column:1/-1;margin-top:2px}
.link-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.game-profile-panel{padding:26px;margin-top:18px;border-color:rgba(229,180,84,.3);background:
  radial-gradient(circle at 92% 10%,rgba(190,132,44,.12),transparent 25rem),
  linear-gradient(145deg,rgba(29,25,21,.48),rgba(10,18,31,.98) 38%)}
.game-profile-heading{padding-bottom:18px;border-bottom:1px solid var(--line-soft)}
.compact-copy{margin-bottom:0;min-height:0;max-width:720px}
.imperium-profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin:20px 0}
.selected-character,.stats-card{border:1px solid var(--line-soft);background:rgba(4,10,19,.48);border-radius:18px;padding:16px}
.selected-character{display:flex;align-items:center;gap:17px}.selected-character>div:last-child{display:grid;gap:6px}.selected-character strong{font-size:1.2rem}.selected-character p{margin:0;color:var(--muted);font-size:.8rem}
.small-label{display:block;color:#718198;text-transform:uppercase;letter-spacing:.13em;font-weight:850;font-size:.65rem;margin-bottom:4px}
.stats-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 0}.stats-card dl>div{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line-soft);border-radius:10px;padding:8px 9px}.stats-card dt{color:var(--muted);font-size:.72rem}.stats-card dd{margin:0;font-weight:900;color:#f3f6fa;font-size:.76rem}
.avatar-picker-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 0 11px}.avatar-picker-header>div{display:grid;gap:3px}.avatar-picker-header strong{font-size:.96rem}.avatar-picker-header span{color:var(--muted);font-size:.72rem}.save-state{color:#8ce3bb!important;font-weight:800}
.avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;max-height:390px;overflow:auto;padding:2px 5px 4px 2px;scrollbar-color:#43526a transparent}
.avatar-option{min-width:0;border:1px solid var(--line);border-radius:14px;background:#08111f;color:#dce4ef;padding:7px;cursor:pointer;display:grid;gap:7px;text-align:left;transition:transform .14s,border-color .14s,background .14s}.avatar-option:hover{transform:translateY(-1px);border-color:#445672;background:#0c1727}.avatar-option.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(229,180,84,.1);background:rgba(98,70,24,.16)}
.avatar-option img,.avatar-option-fallback{width:100%;aspect-ratio:1/1;border-radius:10px;object-fit:cover;background:#101b2c}.avatar-option-fallback{display:grid;place-items:center;color:var(--gold);font-weight:900}.avatar-option-label{font-size:.68rem;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.imperium-profile-grid{grid-template-columns:1fr}.password-form{grid-template-columns:1fr}}
@media (max-width:600px){.game-profile-heading{display:grid}.game-profile-heading .button{width:100%}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.selected-character{align-items:flex-start}.avatar-frame-large{width:88px;height:88px;flex-basis:88px}.stats-card dl{grid-template-columns:1fr}.top-actions{max-width:58%;overflow:hidden}.top-actions .ghost-link:last-child{display:none}}
.campaign-summary{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(5,10,18,.3)}
.campaign-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.campaign-summary-heading>div{display:grid;gap:5px}.campaign-summary-content{display:grid;gap:10px}.campaign-summary-content>p{margin:0;color:var(--muted)}
.campaign-summary-card{display:grid;gap:6px;padding:14px;border-radius:12px;background:rgba(255,255,255,.035)}.campaign-summary-card span{color:var(--muted);font-size:.88rem}
@media(max-width:700px){.campaign-summary-heading{align-items:stretch;flex-direction:column}.campaign-summary-heading .button{width:100%;justify-content:center}}
