@font-face{font-family:"Vazirmatn";src:url(/static/vazirmatn.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/static/fraunces.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --bg:#080b1d; --panel:#0f1431; --panel2:#151b42; --line:#252f60; --ink:#f3efe6; --mute:#9fa9d6; --gold:#e3b55f; --gold2:#f3cf8a;
  --felt:#1b2757; --felt2:#101a40; --rail:#2a2147; --red:#c0304f; --blue:#3b7fc4; --green:#2f9e6b;
  --serif:"Fraunces",Georgia,serif; --r:12px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:radial-gradient(900px 520px at 50% -8%,#1c2660 0%,transparent 70%),url(/static/lattice.svg),var(--bg);background-attachment:fixed;color:var(--ink);
  font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;min-height:100vh;font-size:15px;line-height:1.7}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold2)}
button,input,select,textarea{font:inherit}
button{border:1px solid #33407a;border-radius:10px;padding:8px 16px;cursor:pointer;color:var(--ink);font-weight:600;background:linear-gradient(#1d2557,#161d48);
  transition:filter .15s,transform .08s,border-color .15s}
button:hover:not(:disabled){filter:brightness(1.18);border-color:#4a5aa6}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:.35;cursor:not-allowed}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn-gold{background:linear-gradient(#f3cf8a,#d9a441);color:#2a1c05;border-color:#f3cf8a;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 10px rgba(227,181,95,.25)}
.btn-gold:hover:not(:disabled){border-color:#fff}
.btn-green{background:linear-gradient(#35b07a,#26875a);border-color:#46c28b}
.btn-red{background:linear-gradient(#a8344f,#7d2238);border-color:#c4506a}
.btn-blue{background:linear-gradient(#4a8fd6,#2f6aa8);border-color:#6aa7e6}
.btn-sm{padding:4px 11px;font-size:13px;border-radius:8px}
input,select,textarea{background:#080c24;color:var(--ink);border:1px solid #2c3870;border-radius:9px;padding:8px 11px;min-width:0;transition:border-color .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,181,95,.18)}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mute)}
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(8,11,29,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:9px 18px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(227,181,95,.55),transparent) 1}
.nav .brand{font-family:var(--serif);font-weight:800;font-size:20px;letter-spacing:.01em;color:var(--ink);display:inline-flex;align-items:center;gap:8px;direction:ltr}
.nav .brand i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;transform:rotate(45deg);
  background:linear-gradient(135deg,#f3cf8a,#c98f2e);color:#2a1c05;font-size:0}
.nav .brand i::before{content:'♣';font-size:15px;transform:rotate(-45deg);line-height:1}
.nav .brand em{font-style:italic;font-weight:500;color:var(--gold)}
.nav .sp{flex:1}
.chip{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:20px;padding:3px 12px;font-size:14px;color:var(--ink)}
a.chip:hover{border-color:var(--gold);color:var(--ink)}
.chip b{color:var(--gold2);font-family:var(--serif);font-weight:700;font-size:16px}
.cico{display:inline-block;width:17px;height:17px;border-radius:50%;vertical-align:-3px;margin-inline-end:5px;
  background:radial-gradient(circle,#161d48 0 33%,var(--gold) 34% 50%,transparent 51%),repeating-conic-gradient(#fbf6ea 0 22deg,#d9a441 22deg 45deg);box-shadow:0 0 0 1px #8a6521}
.wrap{max-width:1100px;margin:0 auto;padding:18px 16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;
  box-shadow:inset 0 0 0 4px var(--panel),inset 0 0 0 5px rgba(227,181,95,.13),0 12px 32px rgba(0,0,0,.35)}
h1,h2,h3{margin:0 0 10px;font-weight:800;line-height:1.35}
h2{font-size:22px}
.muted{color:var(--mute)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.badge{display:inline-block;font-size:11px;font-weight:800;padding:2px 9px;border-radius:7px;letter-spacing:.3px;color:#fff;direction:ltr}
.v-holdem{background:#b8442a}.v-omaha4{background:#2d6cb0}.v-omaha5{background:#7a3fb5}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th,table.t td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:start}
table.t th{color:var(--mute);font-weight:600;font-size:12px}
#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#161d48;border:1px solid var(--gold);color:#fff;padding:9px 18px;border-radius:10px;z-index:99;display:none;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.5)}
#toast.bad{border-color:#e0556f;background:#3a1420}
.modal-bg{position:fixed;inset:0;background:rgba(3,5,16,.7);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:50}
.modal{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:18px;width:min(380px,92vw);display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 4px var(--panel),inset 0 0 0 5px rgba(227,181,95,.2)}
/* bet shown as poker chips */
.bc{--cw:26px;display:inline-flex;align-items:flex-end;gap:calc(var(--cw)*.2);vertical-align:bottom}
.bs{position:relative;width:var(--cw);height:calc(var(--cw)*.55 + var(--n)*var(--cw)*.17)}
.bs i{position:absolute;left:0;width:var(--cw);height:calc(var(--cw)*.55);border-radius:50%;background:var(--c);border:calc(var(--cw)*.09) dashed rgba(255,255,255,.85);box-sizing:border-box;box-shadow:0 calc(var(--cw)*.13) 0 var(--d),0 calc(var(--cw)*.2) 2px rgba(0,0,0,.45);bottom:calc(var(--k)*var(--cw)*.17)}
.stake{display:flex;align-items:flex-end;justify-content:center;gap:10px;min-height:46px;margin:6px 0;padding:6px 10px;border:1px dashed var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.stake b{font-family:var(--serif);color:var(--gold2);font-size:20px;line-height:1}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:560px){.nav{padding:8px 10px;gap:8px}.nav .brand{font-size:17px}}
