:root{--bg:#07101d;--panel:#0e182ad1;--line:#ffffff1a;--text:#eef3fb;--muted:#92a2bb;--gold:#e3b84f;--green:#52e08a;--red:#ff5b5b}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:radial-gradient(120% 90% at 50% 0,#17294a 0%,#0a1426 55%,#050a14 100%);font-family:Cairo,system-ui,sans-serif;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}button{border:1px solid var(--line);background:#ffffff14;border-radius:12px;padding:10px 16px;font-weight:600;transition:transform 80ms,background .15s,opacity .15s}button:hover:not(:disabled){background:#ffffff24}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:default}button.primary{color:#2a1d02;background:linear-gradient(#f1cb68,#d29e2f);border-color:#f7dd8f;font-weight:800}button.primary:hover:not(:disabled){background:linear-gradient(#f6d57c,#dca838)}button.danger{color:#ffb4b4}button.link{color:var(--muted);background:0 0;border:none;padding:4px;text-decoration:underline}.chip{color:var(--text);border:1px solid var(--line);background:#ffffff14;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;text-decoration:none;display:inline-flex}.chip.on{background:var(--gold);color:#2a1d02;border-color:var(--gold);font-weight:800}input{border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#00000047;border-radius:12px;outline:none;width:100%;padding:12px 14px}input:focus{border-color:var(--gold)}.card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);border-radius:20px;box-shadow:0 18px 50px #00000073}.grow{flex:1}.empty{color:var(--muted);text-align:center;padding:10px}.error{background:#ff5b5b29;border:1px solid #ff5b5b80;border-radius:10px;padding:9px 12px;font-size:14px}.tiny{color:var(--muted);text-align:center;font-size:12px}.screen{position:fixed;inset:0;overflow-y:auto}.screen.center{place-items:center;padding:16px;display:grid}.backdrop{z-index:0;opacity:.85;pointer-events:none;position:fixed;inset:0}.backdrop:after{content:"";background:radial-gradient(70% 60% at 50% 45%,#0000 0%,#050a14bf 100%);position:absolute;inset:0}.screen>:not(.backdrop){z-index:1;position:relative}.top-right{top:14px;inset-inline-end:14px;position:absolute!important}.spin{border:4px solid #ffffff26;border-top-color:var(--gold);border-radius:50%;width:38px;height:38px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth{flex-direction:column;gap:12px;width:min(400px,100%);padding:26px 22px;display:flex}.auth .logo{text-align:center;filter:drop-shadow(0 6px 14px #e3b84f73);font-size:54px;line-height:1}.auth h1{text-align:center;color:var(--gold);font-size:30px;font-weight:900}.auth .sub{text-align:center;color:var(--muted);margin-bottom:4px;font-size:14px}.topbar{padding:calc(12px + env(safe-area-inset-top)) 14px 6px;align-items:center;gap:8px;display:flex}.lobby-main{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:8px 14px 40px;display:flex}.me{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.me h2{font-size:19px}.me small{color:var(--muted)}.avatar{border:2px solid var(--gold);background:linear-gradient(135deg,#335d9c,#1c3157);border-radius:50%;place-items:center;width:52px;height:52px;font-size:24px;font-weight:800;display:grid}.rating{text-align:center;margin-inline-start:auto}.rating small{font-size:11px;display:block}.rating b{color:var(--gold);font-size:28px;line-height:1}.mini{border-top:1px solid var(--line);justify-content:space-around;gap:16px;width:100%;padding-top:10px;display:flex}.mini span{text-align:center;font-size:18px;font-weight:800}.mini small{font-size:11px;font-weight:400;display:block}.modes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode{text-align:start;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;align-items:center;gap:12px;padding:16px;display:flex}.mode .ic{font-size:30px}.mode b{font-size:17px;display:block}.mode small{color:var(--muted);font-size:12px;font-weight:400}.mode.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.config{flex-direction:column;gap:14px;padding:18px;display:flex}.field label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.field.row{gap:8px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.divider{background:var(--line);height:1px}.code{letter-spacing:6px;text-align:center;text-transform:uppercase;font-size:18px;font-weight:800}.searching{text-align:center;flex-direction:column;gap:12px;padding:8px;display:flex}.board-lists h3{color:var(--gold);margin:6px 0;font-size:16px}.table{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.tr{background:#ffffff0a;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.tr.me{background:#e3b84f29}.tr .rk{text-align:center;width:28px;font-weight:800}.tr .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tr .rt{color:var(--gold);font-weight:800}.tr.win .rt{color:var(--green)}.tr.loss .rt{color:var(--red)}.tr small{color:var(--muted);text-align:end;min-width:52px}.waiting{text-align:center;flex-direction:column;gap:12px;width:min(360px,100%);padding:28px 22px;display:flex}.bigcode{letter-spacing:8px;color:var(--gold);font-size:42px;font-weight:900}.game{position:fixed;inset:0}.stage{position:absolute;inset:0}.hud{pointer-events:none;z-index:2;justify-content:center;padding:0 10px;display:flex;position:absolute;inset-inline:0}.hud.top{top:calc(8px + env(safe-area-inset-top))}.hud.bottom{bottom:calc(8px + env(safe-area-inset-bottom))}.pbar{pointer-events:auto;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;align-items:center;gap:10px;width:min(440px,100%);padding:7px 12px;display:flex}.pbar.turn{border-color:var(--gold);box-shadow:0 0 18px #e3b84f59}.pawn{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:24px;display:grid}.pawn.w{color:#1d2433;background:#f4eddc}.pawn.b{color:#f4eddc;border:1px solid var(--line);background:#232738}.pinfo{flex-direction:column;flex:1;min-width:0;line-height:1.15;display:flex}.pinfo b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.pinfo small{color:var(--muted);font-size:12px}.pinfo em{font-style:normal;font-weight:800}em.up{color:var(--green)}em.down{color:var(--red)}.dc{color:#ffb04a;font-style:normal}.took{color:#cfd8e8;align-items:center;gap:0;height:16px;font-size:14px;display:flex;overflow:hidden}.took small{margin-inline-start:6px}.clock{font-variant-numeric:tabular-nums;text-align:center;direction:ltr;background:#00000059;border-radius:10px;min-width:74px;padding:4px 10px;font-size:22px;font-weight:800}.clock.run{color:#14192a;background:#f4eddc}.clock.run.low,.clock.low{background:var(--red);color:#fff}.status-pill{top:calc(74px + env(safe-area-inset-top));pointer-events:none;z-index:2;color:var(--muted);justify-content:center;font-size:14px;display:flex;position:absolute;inset-inline:0}.status-pill b{background:#00000073;border-radius:999px;padding:3px 14px}.status-pill .you{color:var(--green)}.status-pill .chk{color:var(--red);animation:.8s infinite alternate pulse}@keyframes pulse{to{transform:scale(1.12)}}.tools{inset-inline-start:10px;z-index:3;flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tools button{background:var(--panel);border-radius:14px;width:44px;height:44px;padding:0;font-size:18px}.only-narrow{display:none}.side{inset-inline-end:10px;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:3;border-radius:18px;flex-direction:column;gap:8px;width:220px;padding:12px;display:flex;position:absolute;top:96px;bottom:96px}.side h4{color:var(--muted);font-size:13px}.moves{direction:ltr;flex:1;font-size:14px;overflow-y:auto}.mv{border-radius:6px;grid-template-columns:30px 1fr 1fr;padding:3px 4px;display:grid}.mv:nth-child(odd){background:#ffffff0a}.mv .n{color:var(--muted)}.acts{flex-direction:column;gap:6px;display:flex}.acts button{padding:8px 10px;font-size:14px}.offer{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.offer span{width:100%}.offer button{flex:1}button.ok{background:var(--green);color:#05230f}button.bad{background:var(--red);color:#fff}.hint{bottom:92px;width:max-content;max-width:90%;color:var(--muted);z-index:3;pointer-events:none;background:#0000008c;border-radius:999px;margin:auto;padding:8px 16px;font-size:13px;animation:6s forwards fade;position:absolute;inset-inline:0}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}.banner{top:0;text-align:center;z-index:20;background:#b3261e;padding:6px;font-size:14px;position:fixed;inset-inline:0}.banner.warn{background:#8a5a00}.toast{bottom:110px;border:1px solid var(--line);z-index:30;background:#000c;border-radius:12px;width:max-content;max-width:90%;margin:auto;padding:9px 16px;position:fixed;inset-inline:0}.overlay{z-index:10;background:#0308108c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.overlay .card{text-align:center;flex-direction:column;gap:10px;min-width:min(320px,100%);padding:24px;animation:.3s ease-out pop;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.card .big{font-size:56px;line-height:1}.card.win{border-color:var(--gold);box-shadow:0 0 40px #e3b84f66}.card.win h2{color:var(--gold)}.card.lose h2{color:#ffb4b4}.delta{font-size:18px;font-weight:800}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.row{justify-content:center;gap:8px;margin-top:6px;display:flex}.row button{flex:1}.promo-row{justify-content:center;gap:10px;display:flex}.promo-row button{width:64px;height:64px;padding:0}.pg{font-size:42px;line-height:1}.pg.w{color:#fff6df;text-shadow:0 0 2px #000,0 0 6px #0009}.pg.b{color:#0e1220;text-shadow:0 0 5px #ffffff80}@media (width<=820px),(height<=520px){.side{inset-inline:10px;width:auto;max-height:40vh;transition:transform .25s;top:auto;bottom:90px;transform:translateY(150%)}.side.open{transform:none}.only-narrow{display:inline-block}.moves{max-height:90px}.clock{min-width:62px;font-size:18px}.pawn{width:32px;height:32px;font-size:20px}.modes{grid-template-columns:1fr}}@media (height<=520px){.tools{flex-direction:row;top:auto;bottom:90px;transform:none}.status-pill{display:none}.hud.top{inset-inline:0 auto}}@media (width>=821px) and (height>=521px){.stage,.hud,.status-pill{inset-inline-end:242px}}@media (width<=820px){.tools{top:auto;bottom:88px;flex-direction:row;inset-inline-start:12px;transform:none}.hint{bottom:140px}}@media (height<=520px){.hud.top{inset-inline:0 auto;top:calc(6px + env(safe-area-inset-top))}.hud.bottom{inset-inline:auto 0;bottom:calc(6px + env(safe-area-inset-bottom))}.pbar{gap:7px;width:215px;padding:5px 8px}.pbar .took{display:none}.tools{top:50%;bottom:auto;flex-direction:column;inset-inline-start:10px;transform:translateY(-50%)}.tools button{width:38px;height:38px}.side{inset-inline:auto 10px;width:240px;max-height:none;top:10px;bottom:80px}.hint{bottom:70px}}.coins{color:var(--gold);font-weight:800}.note{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.5;display:block}.stake-tag{color:var(--gold);font-weight:800}.chip:disabled{opacity:.35;cursor:not-allowed}
