:root{
  --ink:#070709;
  --panel:#121216;
  --panel2:#1a1a20;
  --line:#2a2a32;
  --gold:#c9a227;
  --gold2:#e8d48b;
  --crimson:#9b1230;
  --rose:#c45c6a;
  --mist:#cfc8bf;
  --dim:#8a8490;
  --felt:#0e2a22;
  --wood:#3a2416;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--ink);color:var(--mist);font-family:"Songti SC","Noto Serif SC","Noto Naskh Arabic",Georgia,serif}
body{background:
  radial-gradient(1200px 500px at 50% -10%,rgba(155,18,48,.22),transparent 55%),
  radial-gradient(800px 400px at 100% 100%,rgba(201,162,39,.08),transparent 50%),
  repeating-linear-gradient(0deg,transparent 0 27px,rgba(201,162,39,.035) 27px 28px),
  var(--ink)}
#app{max-width:520px;margin:0 auto;min-height:100vh;position:relative}
.top{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;
  padding:12px 14px;background:linear-gradient(#0d0d11ee,#0d0d11cc);
  border-bottom:1px solid #2c2418;backdrop-filter:blur(10px)
}
.mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(160deg,#2a0b12,#9b1230);
  display:grid;place-items:center;color:var(--gold2);font-weight:800;font-size:15px;
  box-shadow:0 0 0 1px #c9a22755, inset 0 0 12px #000}
.brand{flex:1;min-width:0}
.brand b{display:block;font-size:15px;letter-spacing:.12em;color:var(--gold2)}
.brand s{display:block;text-decoration:none;font-size:11px;color:var(--dim)}
.beans{font-size:12px;color:var(--gold);border:1px solid #c9a22744;padding:6px 10px;border-radius:999px;background:#14110c}
.back,.iconbtn{appearance:none;border:1px solid #3a342c;background:#16161c;color:var(--mist);border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer}
.hero{margin:14px;padding:16px;border:1px solid #3a2a1c;border-radius:18px;background:
  linear-gradient(180deg,rgba(155,18,48,.18),rgba(7,7,9,.4)),
  linear-gradient(135deg,#1b1410,#0c0c10);
  box-shadow:0 20px 50px #0008, inset 0 1px 0 #c9a22733}
.hero h1{margin:0;font-size:22px;color:var(--gold2);letter-spacing:.18em}
.hero p{margin:8px 0 0;font-size:13px;line-height:1.7;color:#b7b0a6}
.seal{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:#e8d48b;border:1px solid #c9a22755;padding:4px 8px;border-radius:999px}
grid.games, .games{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 28px}
.card{
  position:relative;overflow:hidden;border:1px solid #4a3a28;border-radius:18px;padding:14px 12px 12px;
  background:
    radial-gradient(120px 80px at 85% -10%,rgba(232,212,139,.22),transparent 60%),
    linear-gradient(180deg,#241c1e,#121216);
  cursor:pointer;min-height:168px;
  box-shadow:0 12px 28px #0007, inset 0 1px 0 #e8d48b22;
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:before{content:"";position:absolute;inset:auto -20% -40% auto;width:90px;height:90px;border-radius:50%;background:rgba(201,162,39,.08);pointer-events:none}
.card:active{transform:scale(.97)}
.card .ico{font-size:34px;filter:drop-shadow(0 8px 10px #000a)}
.card h3{margin:10px 0 4px;font-size:16px;color:#f6edd8;letter-spacing:.02em}
.card .sub{font-size:11px;color:#9a9288;line-height:1.45}
.card .tag{position:absolute;top:10px;inset-inline-start:10px;font-size:10px;color:#1a1206;background:linear-gradient(#f0e0a4,#c9a227);padding:3px 7px;border-radius:6px;font-weight:800}
.notice{margin:0 14px 16px;padding:10px 12px;border:1px dashed #c9a22744;border-radius:12px;font-size:11px;color:#9a9288;line-height:1.6}
.tablewrap{padding:10px 10px 90px}
.felt{border-radius:22px;min-height:440px;padding:12px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 50% 18%,rgba(232,212,139,.16),transparent 42%),
    radial-gradient(#1a4638,#071611);
  box-shadow:inset 0 0 0 4px #c9a22744, inset 0 0 40px #0008, 0 16px 40px #000a}
.felt.wood{background:radial-gradient(circle at 50% 16%,#6a4428,#24150c 70%)}
.felt.dark{background:radial-gradient(circle at 50% 16%,#3a1d28,#0a0709)}
.felt.pool{background:radial-gradient(#1f6a42,#0a2618)}
.seat{display:flex;align-items:center;gap:8px;color:#efe6d6;font-size:12px}
avatar,.av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#111;border:1px solid var(--gold);font-size:15px;box-shadow:0 0 0 2px #c9a22733}
.hand{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px;min-height:96px}
.pcard{
  width:52px;height:74px;border-radius:8px;background:
    linear-gradient(#fffaf0,#e8dcc4);
  color:#1a1a1a;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:Georgia,"Times New Roman",serif;font-weight:800;font-size:16px;
  box-shadow:0 8px 14px #0008, inset 0 1px 0 #fff;border:1px solid #cbb896;
  position:relative
}
.pcard.red{color:#9b1230}
.pcard.sel{outline:2px solid var(--gold);transform:translateY(-10px);box-shadow:0 14px 18px #0008}
.pcard.back{background:repeating-linear-gradient(135deg,#2b0d14 0 8px,#3a121c 8px 16px);color:var(--gold2);border-color:#6a2030}
.pcard small{font-size:11px;font-weight:700}
.tile{width:38px;height:52px;border-radius:6px;background:linear-gradient(#fff8ea,#ddd2b8);color:#1b1b1b;
  display:grid;place-items:center;font-weight:800;font-size:14px;box-shadow:0 6px 10px #0006;border:1px solid #b7a57a}
.tile.sel{outline:2px solid var(--gold);transform:translateY(-8px)}
.board{margin:10px auto;background:#d7b071;border:8px solid #5a3a1c;border-radius:8px;position:relative;box-shadow:0 10px 24px #0007}
.cell{display:grid;place-items:center;font-size:12px;cursor:pointer}
.modes{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}
.btn{appearance:none;border:none;border-radius:12px;padding:10px 14px;font:700 13px/1 inherit;cursor:pointer}
.btn.gold{background:linear-gradient(#f0e0a4,#c9a227);color:#1a1206;box-shadow:0 6px 14px #0005}
.btn.ghost{background:#16161c;color:#efe6d6;border:1px solid #3a342c}
.actions{display:flex;gap:8px;justify-content:center;margin-top:14px}
.log{text-align:center;color:#e8d48b;font-size:13px;margin:4px 0 8px;letter-spacing:.04em}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#111;color:#e8d48b;border:1px solid #c9a22766;padding:10px 14px;border-radius:999px;z-index:40;font-size:13px}
@media (min-width:720px){
  #app{max-width:640px}
  .games{grid-template-columns:1fr 1fr 1fr}
}

.actions{position:sticky;bottom:0;display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:linear-gradient(transparent,#070709 30%);}
.btn{flex:1;min-width:72px;border:0;border-radius:12px;padding:12px 10px;font:700 13px/1 inherit;cursor:pointer}
.btn.gold{background:linear-gradient(#f0e0a4,#c9a227);color:#1a1206;box-shadow:0 6px 14px #0005}
.btn.ghost{background:#1c1c22;color:#ddd;border:1px solid #3a3a44}
.btn.danger{background:linear-gradient(#9b1230,#5a0b1c);color:#fff}
.rules{margin:10px 0;padding:10px;border:1px solid #2c2c34;border-radius:12px;background:#101014;font-size:12px;line-height:1.7;color:#b8b2aa;white-space:pre-wrap}
.modes{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}
#wf-hall-fab{position:fixed;right:12px;bottom:88px;z-index:99998;display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:999px;background:linear-gradient(180deg,#2a0b12,#9b1230);color:#f3ead8;
  text-decoration:none;font:700 12px/1 system-ui;border:1px solid #c9a22766;box-shadow:0 10px 24px #0008}
canvas{display:block;margin:8px auto;border-radius:12px;background:#0b1f16;max-width:100%}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#111;border:1px solid var(--gold);color:var(--gold2);padding:8px 12px;border-radius:10px;font-size:12px;z-index:40}

.iconbtn.on{border-color:#c9a227;color:#e8d48b;background:#24180c}
.probar{position:relative;height:8px;border-radius:99px;background:#2a2218;margin:10px 0 6px;overflow:hidden}
.probar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#e8d48b,#c9a227);border-radius:99px}
.probar span{position:absolute;right:0;top:-18px;font-size:10px;color:#c9a227}
.prostats{font-size:12px;color:#d2c8b6;margin-top:8px}
.missions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mission{font-size:11px;border:1px solid #c9a22744;border-radius:999px;padding:4px 8px;color:#e8d48b}
