:root{--bg0: #0e0804;--bg1: #1a0f08;--bg2: #26160c;--bg3: #34200f;--ivory: #f4e8cc;--ivory-2: #e2d2ac;--muted: #aa9a7c;--faint: #7d6e57;--brass: #c9a24a;--brass-hi: #e8c978;--brass-lo: #8f6f28;--line: rgba(201, 162, 74, .22);--line-strong: rgba(201, 162, 74, .5);--danger: #dc7660;--warn: #e0a24a;--r: 14px;--r-sm: 10px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:var(--bg0);color:var(--ivory);overflow:hidden;font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}canvas{display:block}button,input,select{font:inherit;color:inherit}a{color:var(--brass-hi)}i[data-icon],i svg{display:inline-flex}svg{width:1.25em;height:1.25em;flex:none}:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px;border-radius:6px}.vh{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.panel{background:linear-gradient(180deg,#28180de0,#140c07eb);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 26px 60px -14px #000000a6,inset 0 1px #ffe8b412}.p-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.p-head h2{margin:0;font:600 20px var(--serif);letter-spacing:.01em}.eyebrow{margin:0 0 10px;font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:10px}.eyebrow:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.btn{min-height:44px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:#ffebbe0b;color:var(--ivory);font-weight:600;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:background .16s,border-color .16s,transform .08s,box-shadow .16s}.btn:hover{background:#ffebbe1a;border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,var(--brass-hi),var(--brass));color:#1e1406;border-color:#efd387;box-shadow:0 10px 24px -10px #c9a24ab3}.btn.primary:hover{filter:brightness(1.07)}.iconbtn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;cursor:pointer;background:#1e120ac7;border:1px solid var(--line);color:var(--ivory-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .16s,color .16s,border-color .16s}.iconbtn:hover{background:#3c2614e6;color:var(--brass-hi);border-color:var(--line-strong)}.iconbtn.sm{width:36px;height:36px;border-radius:10px}input[type=text],input:not([type]),input[type=password]{min-height:44px;width:100%;padding:0 13px;border-radius:var(--r-sm);border:1px solid var(--line);background:#0a06038c;color:var(--ivory);outline:none;transition:border-color .16s,background .16s}input::placeholder{color:var(--faint)}input:focus{border-color:var(--brass);background:#0a0603bf}select{min-height:38px;padding:0 28px 0 11px;border-radius:9px;border:1px solid var(--line);background:#0a060399;color:var(--ivory);appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a24a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}.lobby{position:fixed;inset:0;z-index:20;display:flex;align-items:stretch;padding:16px;pointer-events:none;background:linear-gradient(90deg,#0a0603db 0,#0a060399 420px,#0a060300 760px)}.lobby[hidden]{display:none}.menu{pointer-events:auto;width:min(428px,100%);max-height:100%;align-self:center;overflow-y:auto;overscroll-behavior:contain;padding:30px 28px 22px;display:flex;flex-direction:column;gap:22px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.brand h1{margin:0;font:600 54px/1 var(--serif);letter-spacing:.01em;color:var(--ivory);text-shadow:0 2px 30px rgba(201,162,74,.25)}.brand .rule{display:block;margin-top:14px;height:2px;width:74px;background:linear-gradient(90deg,var(--brass-hi),var(--brass-lo));border-radius:2px}.block{display:flex;flex-direction:column;gap:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.solo{margin-top:-10px}.who{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:12px;background:#ffebbe0d;border:1px solid var(--line)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:600 20px var(--serif);color:#1e1406;background:linear-gradient(160deg,var(--brass-hi),var(--brass-lo));flex:none}.who-txt{display:flex;flex-direction:column;min-width:0;flex:1}.who-txt strong{font:600 17px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who-txt span{color:var(--muted);font-size:12.5px}.myd{display:flex;gap:16px;flex-wrap:wrap;margin-top:-12px;font-size:12px}.myd a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none}.myd a:hover{color:var(--brass-hi)}.myd a.danger:hover{color:var(--danger)}.myd svg{width:14px;height:14px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{position:relative;padding:14px 14px 12px;text-align:left;border-radius:12px;cursor:pointer;border:1px solid var(--line);background:linear-gradient(180deg,#ffebbe12,#ffebbe05);display:flex;flex-direction:column;gap:2px;transition:border-color .16s,transform .12s,background .16s,box-shadow .16s}.tile:hover{border-color:var(--brass);transform:translateY(-2px);box-shadow:0 14px 28px -16px #c9a24a99;background:linear-gradient(180deg,#ffebbe1c,#ffebbe08)}.tile:active{transform:translateY(0)}.tile-n{font:600 34px/1 var(--serif);color:var(--ivory)}.tile-n em{font:italic 500 17px var(--serif);color:var(--brass-hi);margin-left:3px}.tile-l{font-size:12px;color:var(--muted)}.join{display:grid;grid-template-columns:1fr 44px;gap:6px}.join input{text-transform:uppercase;letter-spacing:.14em;text-align:center;padding:0 8px}.join .btn{padding:0}.seg{display:flex;padding:3px;gap:3px;border-radius:12px;background:#0a06038c;border:1px solid var(--line)}.seg button{flex:1;min-width:0;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-weight:600;font-size:13px;transition:background .16s,color .16s;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.seg button small{font:500 10.5px var(--sans);opacity:.75}.seg button:hover{color:var(--ivory)}.seg button[aria-checked=true]{background:linear-gradient(180deg,#e8c9783d,#c9a24a24);color:var(--brass-hi);box-shadow:inset 0 0 0 1px var(--line-strong)}.seg.lv button{min-height:46px;padding:0 1px;font-size:11.5px;letter-spacing:-.01em}.board{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:rk;max-height:190px;overflow-y:auto}.board li{counter-increment:rk;display:grid;grid-template-columns:26px 1fr auto;align-items:center;padding:7px 10px;border-radius:9px;background:#ffebbe09;font-size:13.5px}.board li:before{content:counter(rk);font:italic 600 15px var(--serif);color:var(--brass)}.board li:first-child{background:linear-gradient(90deg,#c9a24a2e,#c9a24a0a)}.board li b{font:600 14px var(--sans);font-variant-numeric:tabular-nums;color:var(--ivory-2)}.board:empty:after{content:"Aucun joueur classé pour le moment.";color:var(--faint);font-size:12.5px}.lobmsg{min-height:0;color:var(--brass-hi);font-size:13px}.lobmsg:empty{display:none}.legal{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px}.legal a{color:var(--faint);text-decoration:none}.legal a:hover{color:var(--brass-hi)}.in-menu .dock,.in-menu .gear,.in-menu .moves,.in-menu .clocks,.in-menu .hud{display:none!important}.clocks{position:fixed;left:16px;top:16px;z-index:5;display:none;flex-direction:column;gap:8px}.clock{min-width:188px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 14px;border-radius:12px;background:linear-gradient(180deg,#28180ddb,#140c07e6);border:1px solid var(--line);box-shadow:0 14px 30px -14px #000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s}.clock .who-nm{font:600 15px var(--serif);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ivory-2)}.clock .tm{font:600 24px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock.on{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass),0 0 26px -4px #c9a24a8c}.clock.low .tm{color:var(--danger)}.clock.low.on{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 1px var(--danger),0 0 22px -4px #dc7660b3}}.moves{position:fixed;right:16px;top:16px;z-index:5;width:224px;max-height:52vh;overflow-y:auto;padding:14px 14px 12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.moves:not(.has){display:none}.moves .op{font:italic 600 15px/1.25 var(--serif);color:var(--brass-hi);margin-bottom:8px}.moves .op:empty{display:none}.moves .mv,.an-list{display:grid;grid-template-columns:26px 1fr 1fr;gap:2px 4px;font-size:13px;font-variant-numeric:tabular-nums}.moves .mv .n,.an-list .n{color:var(--faint);font:italic 13px var(--serif);align-self:center}.moves .mv span.s{padding:2px 6px;border-radius:6px}.moves .mv span.s.cur{background:#c9a24a38;color:var(--brass-hi)}.dock{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(16px + var(--safe-b));z-index:6;max-width:calc(100vw - 24px);display:flex;align-items:center;gap:14px;padding:8px 10px 8px 20px;border-radius:18px;background:linear-gradient(180deg,#28180de6,#140c07f0);border:1px solid var(--line);box-shadow:0 22px 50px -14px #000000bf,inset 0 1px #ffe8b412;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dock-status{font:italic 600 17px/1.2 var(--serif);color:var(--ivory);min-width:190px;text-align:center;padding-right:6px;border-right:1px solid var(--line)}.dock-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.act{height:44px;padding:0 12px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ivory-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;transition:background .15s,color .15s,border-color .15s}.act:hover{background:#ffebbe17;color:var(--brass-hi);border-color:var(--line)}.act.danger:hover{color:var(--danger)}.act svg{width:20px;height:20px}.gear{position:fixed;left:16px;bottom:calc(16px + var(--safe-b));z-index:6}.settings{position:fixed;left:16px;bottom:calc(70px + var(--safe-b));z-index:7;width:min(310px,calc(100vw - 32px));padding:16px;display:flex;flex-direction:column;gap:10px}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ivory-2)}.field em{font-style:normal;color:var(--brass-hi);font-variant-numeric:tabular-nums;margin-left:4px}.field input[type=range]{width:130px;accent-color:var(--brass)}.sw{cursor:pointer}.sw input{position:absolute;opacity:0;pointer-events:none}.sw i{width:40px;height:22px;border-radius:22px;background:#0a0603b3;border:1px solid var(--line-strong);position:relative;flex:none;transition:background .2s}.sw i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.sw input:checked+i{background:#c9a24a59}.sw input:checked+i:after{transform:translate(18px);background:var(--brass-hi)}.sw input:focus-visible+i{outline:2px solid var(--brass-hi);outline-offset:2px}.analysis{position:fixed;right:16px;top:16px;z-index:8;width:min(312px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow-y:auto;padding:16px;display:none;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.acc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.acc div{padding:8px 12px;border-radius:10px;background:#ffebbe0d;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}.acc span{color:var(--muted);font-size:12px}.acc b{font:600 20px var(--serif);color:var(--brass-hi)}#an-graph{width:100%;height:64px;display:block;background:#0a06038c;border:1px solid var(--line);border-radius:10px;cursor:pointer}.an-list{margin:12px 0 8px;max-height:26vh;overflow-y:auto}.an-list button{font-size:13px;text-align:left;color:var(--ivory-2);background:#ffebbe0a;border:1px solid transparent;border-radius:7px;padding:3px 7px;cursor:pointer}.an-list button:hover{background:#ffebbe1a}.an-list button.sel{border-color:var(--brass);color:var(--brass-hi)}.m1{color:var(--warn)!important}.m2{color:#e08a4c!important}.m3{color:var(--danger)!important}.an-info{min-height:3em;font-size:13px;line-height:1.5;color:var(--ivory-2);white-space:pre-line}.nav2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.promo{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#08050299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.promo-card{padding:20px;width:min(420px,calc(100vw - 32px))}.promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.promo-grid button{cursor:pointer;padding:14px 4px 10px;border-radius:12px;border:1px solid var(--line);background:#ffebbe0d;display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:600;font-size:13px;transition:border-color .15s,transform .12s,background .15s}.promo-grid button:hover{border-color:var(--brass);background:#ffebbe1a;transform:translateY(-2px)}.promo-grid .glyph{font:400 40px/1 var(--serif);color:var(--brass-hi)}.promo-grid *{pointer-events:none}.hud{position:fixed;left:16px;bottom:calc(70px + var(--safe-b));z-index:4;padding:6px 9px;border-radius:8px;background:#0a0603b3;font:11px/1.5 var(--mono);color:var(--muted);white-space:pre}.hud:empty{display:none}@media(max-width:760px){.lobby{background:linear-gradient(180deg,#0a06038c,#0a0603eb 38%);align-items:flex-end;padding:8px}.menu{width:100%;max-height:92vh;align-self:flex-end;padding:22px 18px calc(18px + var(--safe-b));gap:18px}.brand h1{font-size:42px}.dock{flex-direction:column;gap:6px;padding:8px 10px;width:calc(100vw - 20px);max-width:none;bottom:calc(10px + var(--safe-b))}.dock-status{border-right:0;min-width:0;padding:0;font-size:16px}.act{padding:0 11px}.act span{display:none}.clocks{left:10px;right:10px;top:10px;flex-direction:row}.clock{flex:1;min-width:0;padding:7px 10px;gap:8px}.clock .tm{font-size:20px}.clock .who-nm{max-width:70px;font-size:13px}.moves{display:none!important}.gear{left:auto;right:10px;top:auto;bottom:calc(112px + var(--safe-b))}.settings{left:10px;right:10px;width:auto;bottom:calc(166px + var(--safe-b))}.hud{bottom:calc(112px + var(--safe-b));left:10px}.analysis{right:10px;left:10px;width:auto;top:64px;max-height:calc(100vh - 190px)}}@media(min-width:761px)and (max-width:1100px){.act span{display:none}}@media(max-height:520px){.dock{bottom:calc(8px + var(--safe-b));padding:4px 8px 4px 14px;gap:8px;border-radius:14px}.dock-status{font-size:14px;min-width:0;padding-right:10px}.act{height:38px;padding:0 9px}.act span{display:none}.moves{display:none!important}.clocks{top:8px;left:8px;gap:4px}.clock{min-width:128px;padding:5px 10px}.clock .tm{font-size:17px}.clock .who-nm{font-size:12px;max-width:72px}.gear{bottom:calc(8px + var(--safe-b));left:8px;width:38px;height:38px}.settings{bottom:calc(54px + var(--safe-b));max-height:calc(100vh - 70px);overflow-y:auto}.analysis{top:8px;max-height:calc(100vh - 70px)}.hud{bottom:calc(54px + var(--safe-b))}.menu{max-height:100%;padding:18px 20px;gap:14px}.brand h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
