:root{color-scheme:dark;--gold:#edc77b;--ink:#eaf0f5;--muted:#aebdcb;--line:#425b6e;--panel:#142a3a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#091521;color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}header{padding:42px max(24px,calc((100vw - 1060px)/2));background:linear-gradient(120deg,#07101ed9,#192d3fe8);border-bottom:1px solid var(--gold)}.brand{color:var(--gold);font-weight:800;letter-spacing:.16em}.brand span{font-size:.8em;font-weight:400}h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin:18px 0}h2{margin-top:0;font-size:1.45rem}h3{color:var(--gold)}header p,p,small{color:var(--muted)}main{max-width:1100px;padding:20px 24px 160px;margin:auto}section.page,#auth{background:var(--panel);border:1px solid var(--line);padding:26px;border-radius:18px;margin:20px 0}#auth{max-width:560px;margin:25px auto}button,input,textarea,select{font:inherit}button{cursor:pointer;padding:11px 17px;border:1px solid var(--line);border-radius:10px;background:#223e52;color:var(--ink);margin:4px 6px 4px 0}button:hover,button:focus-visible{border-color:var(--gold)}button.selected,button[type=submit]{color:#101923;background:var(--gold);border-color:var(--gold);font-weight:650}button:disabled{opacity:.6;cursor:wait}nav{display:flex;flex-wrap:wrap;gap:5px}label{display:block;color:var(--muted);margin:15px 0}input,select,textarea{display:block;width:100%;border:1px solid #668093;border-radius:9px;background:#0a1a27;color:var(--ink);padding:12px;margin-top:6px;min-width:0}textarea{resize:vertical}form{max-width:720px}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.row label{flex:1;min-width:80px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tiles button{text-align:left;padding:24px;margin:0}.tiles strong,.tiles span{display:block}.tiles strong{color:var(--gold);margin-bottom:10px}.tiles span{color:var(--muted)}article{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0;background:#102231}article p{margin:7px 0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}aside{border-left:3px solid var(--gold);padding:12px 18px;background:#0c1b28;margin:22px 0;color:var(--muted)}#notice{min-height:28px;color:#9fdfd2;overflow-wrap:anywhere}.error{color:#ffb6ae!important}#account{display:flex;gap:20px;align-items:center;flex-wrap:wrap}#chat{position:fixed;bottom:0;right:20px;width:min(520px,calc(100vw - 40px));z-index:10;background:#142c3e;border:1px solid #67899c;border-radius:16px 16px 0 0;box-shadow:0 -10px 35px #0005;padding:10px 14px max(10px,env(safe-area-inset-bottom))}#chatToggle{width:100%;margin:0;text-align:left;color:var(--gold);font-weight:700;background:transparent;border:0}#unread{float:right;border-radius:20px;background:#9c3d32;color:white;padding:0 10px}#messages{height:230px;overflow:auto;overscroll-behavior:contain}#messages article{background:#0c2030;margin:8px 0;padding:12px}#messages strong{font-size:.82em;color:var(--muted)}.mention{background:#eec36c;color:#121c27;padding:2px 4px;border-radius:4px;font-weight:700}#chatForm label{margin:10px 0}#chat.large{width:min(850px,calc(100vw - 40px))}#chat.large #messages{height:45dvh}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--gold);border-radius:16px;max-width:min(500px,92vw);padding:28px}dialog::backdrop{background:#000a}footer{text-align:center;color:var(--muted);padding:15px 20px 90px;font-size:.85em}#auditList{max-height:420px;overflow:auto;font-size:.85em}#inviteUrl{font-size:.85em}small{display:block;margin-top:16px}@media(max-width:600px){main{padding:12px 12px 160px}header{padding:30px 20px}.page,#auth{padding:18px!important}#chat{right:0;width:100%;border-radius:12px 12px 0 0}#chat.large{width:100%}.heading{align-items:flex-start;flex-direction:column}button{min-height:44px}#messages{height:26dvh}}

header{background:linear-gradient(90deg,#061321d9,#07152199),url("tmad-background.webp") center 44%/cover;min-height:280px;text-shadow:0 2px 8px #000;}

html{scroll-padding-bottom:calc(var(--chat-height,80px) + 24px)}main{padding-bottom:calc(var(--chat-height,80px) + 100px)}

/* Thème TMAD : même royaume en fond et même cadrage que la démo. */
:root{--gold:#f3c978;--muted:#bdcbd8;--line:#587084;--panel:#102638e8;color-scheme:dark}
body{position:relative;isolation:isolate;min-height:100dvh;background:#0c1725}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#050e1814,#050e1861),url("tmad-background.webp") center center/cover no-repeat}
header{position:relative;width:100%;min-height:280px;height:clamp(280px,56.25vw,440px);max-height:440px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:linear-gradient(90deg,transparent 12%,#050e1840 36%,#050e1840 64%,transparent 88%),url("tmad-background.webp") center top/cover no-repeat;border-bottom:1px solid #c79d5260;box-shadow:0 12px 32px #02081155;text-shadow:0 2px 12px #000}
.brand{font-size:1rem;font-weight:500;letter-spacing:.16em}
.brand span{font-size:inherit}
header h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,5.5vw,3.5rem);font-weight:400;line-height:1.1;max-width:720px;margin:8px 0}
header p{font-size:clamp(.95rem,2vw,1.15rem);max-width:650px;margin:0;color:#e5e9ec}
#account{justify-content:center;gap:10px;font-size:.9rem}
#account button{background:#0c2034dd;border-color:#c7a76f88}
main{max-width:1160px}
section.page,#auth{background:linear-gradient(140deg,#142c3feb,#0b1b2ae8);border-color:#c7a76f88;box-shadow:0 8px 28px #0005;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#auth{max-width:620px}
#auth h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(1.65rem,4vw,2rem);color:var(--gold)}
#notice{background:#0c2034e8;border:1px solid #587084;border-radius:12px;padding:12px 18px;margin:0 0 20px}
nav{background:#0d2032ed;border:1px solid #c7a76f66;border-radius:14px;padding:8px;box-shadow:0 5px 18px #0004}
nav button{background:transparent;border-color:transparent}
nav button.selected{background:#edc77b;color:#101923}
.tiles button{background:linear-gradient(130deg,#182c3fd1,#0b1b2ac7);border-color:#c7a76f88;box-shadow:0 6px 20px #0005;transition:border-color .15s ease,background .15s ease}
.tiles button:hover{border-color:var(--gold);background:#20394ae8}
article{background:#102231ed}aside{background:#302b20df;border-color:var(--gold);color:#e1d2b5}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #70dbca;outline-offset:3px}
footer{background:linear-gradient(0deg,#071522e6,transparent);text-shadow:0 2px 6px #000}
@media(max-width:600px){header{padding:20px 14px;gap:9px;min-height:300px;height:clamp(300px,70vw,360px);max-height:none}header h1{max-width:340px}.brand{font-size:.8rem;letter-spacing:.12em}header p{max-width:330px}body::before{background-position:46% center}#account{gap:6px}#account button{padding:8px 12px}nav{gap:2px}nav button{padding:10px 12px}#notice{font-size:.9rem;padding:10px 14px}#auth{margin:18px auto}}

/* Mobile : conserver les deux bannières TMAD sans rogner leurs emblèmes. */
@media(max-width:600px){header{background-size:100% auto;background-repeat:no-repeat;background-color:#081624;background-position:center top;justify-content:flex-end;padding-top:34px;padding-bottom:18px;min-height:320px;height:auto}header h1{font-size:clamp(1.8rem,7.4vw,2.4rem)}header p{font-size:.95rem}header .brand{margin-top:120px}}
.module-tile{display:block;padding:24px;border:1px solid #c7a76f88;border-radius:12px;background:#102638e8;color:#f3c978;text-decoration:none;margin:8px 0}.module-tile span{display:block;color:#bdcbd8;margin-top:8px}nav a{padding:12px;color:#f3c978}header>a{color:#f3c978}.mapViewport{overflow:auto;max-width:100%;max-height:65dvh;touch-action:none;overscroll-behavior:contain;cursor:grab;border:1px solid #668093;border-radius:12px;background:#cbb17b}.tacticalMap{display:block;max-width:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.mapViewport.map-grabbing,.mapViewport.map-grabbing *{cursor:grabbing!important}.tacticalMap [role=button]{cursor:pointer}.tacticalMap [role=button]:focus{outline:3px solid #70dbca}#mapStatus{padding:14px;background:#102638ef;border-radius:10px;overflow-wrap:anywhere}

.alliance-player-card{display:grid;grid-template-columns:minmax(0,1fr) clamp(86px,25%,160px);gap:18px;align-items:center}.alliance-player-card:not(:has(.alliance-player-portrait)){grid-template-columns:minmax(0,1fr)}.alliance-player-info{min-width:0;overflow-wrap:anywhere}.alliance-player-info h3{margin-top:0}.alliance-player-info button{max-width:100%;overflow-wrap:anywhere}.alliance-player-portrait{margin:0;min-width:0;align-self:center}.alliance-player-portrait img{display:block;width:100%;height:auto;max-height:210px;object-fit:contain;border:1px solid #c7a76f88;border-radius:10px;background:#0a1a27}.alliance-player-portrait span{display:block;color:var(--muted);font-size:.8rem;text-align:center}@media(max-width:480px){.alliance-player-card{gap:12px;grid-template-columns:minmax(0,1fr) 90px}.alliance-player-portrait img{max-height:135px}}
