:root{
  --yellow:#FEE440;
  --yellow-dark:#F9C80E;
  --black:#1A1A1A;
  --ink:#111111;
  --paper:#FFFFFF;
  --muted:#666;
  --cyan:#00BBF9;
  --pink:#F15BB5;
  --shadow: 0 10px 24px rgba(0,0,0,.25);
  --outline: rgba(0,0,0,.15);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--black);
  background:linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%);
  min-height:100vh; padding:16px;
}
h1,h2,h3{margin:0 0 .5rem}
h1{font-size:1.7rem}
h2{font-size:1.25rem}
p{color:var(--ink)}
.app-header{display:flex; align-items:center; justify-content:space-between; gap:16px; margin:8px auto 16px; max-width:1080px;}
.lite{color:var(--pink); font-weight:800}
.sub{color:var(--cyan);}
.app-code{font-size:.95rem; color:var(--ink); display:flex; align-items:center; gap:8px; background:var(--paper); border:2px solid var(--black); border-radius:14px; padding:6px 10px;}
.view{max-width:1080px; margin:0 auto}
.card{background:var(--paper); border:3px solid var(--black); border-radius:18px; padding:16px; box-shadow:var(--shadow);}
.stack{display:grid; gap:12px}
.grid.two{display:grid; gap:16px; grid-template-columns:1fr;}
@media (min-width:720px){ .grid.two{grid-template-columns:1fr 1fr} }
.row{display:flex; gap:8px}
.row.between{justify-content:space-between}
.row.center{align-items:center}
.row.end{justify-content:flex-end}
.row.gap{gap:12px}
.field{display:grid; gap:6px}
.field span{font-size:.85rem; color:var(--muted)}
input,textarea,select{background:#fffef3; border:2px solid var(--black); border-radius:12px; color:var(--ink); padding:10px 12px; outline:none; width:100%;}
.btn{appearance:none; border:2px solid var(--black); background:var(--black); color:var(--yellow); border-radius:999px; padding:10px 14px; cursor:pointer; font-weight:700; transition:.2s;}
.btn:hover{filter:brightness(1.1)}
.btn.primary{background:var(--black); color:var(--yellow)}
.btn.secondary{background:var(--paper); color:var(--black)}
.btn.outline{background:transparent; color:var(--black); border-color:var(--black)}
.btn.small{padding:6px 10px; font-size:.85rem}
.pill{border-radius:999px; padding:6px 10px; background:#fffef3; border:2px solid var(--black); color:var(--ink)}
.stats{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 6px}
.filters{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 14px}
.chip{border-radius:999px; padding:6px 10px; border:2px solid var(--black); background:#fffef3; color:#000; cursor:pointer}
.chip.active{background:var(--yellow);}
.list{display:grid; gap:12px}
.bet{background:#fffefb; border:2px solid var(--black); border-radius:16px; padding:12px;}
.bet .title{font-weight:700; margin-bottom:4px}
.meta{display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:.9rem}
.badge{border:2px solid var(--black); border-radius:999px; padding:2px 8px; font-size:.8rem}
.badge.won{background:#eafff4}
.badge.lost{background:#ffecec}
.badge.expired{background:#fff7e5}
.footer{margin-top:12px; color:var(--ink)}
.hint{margin-top:8px; color:var(--muted)}
.tabs{display:flex; gap:8px; margin-bottom:10px}
.tab{border:2px solid var(--black); background:#fffef3; padding:8px 12px; border-radius:12px; cursor:pointer}
.tab.active{background:var(--yellow)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.hand-grid{display:grid; gap:10px; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); margin:10px 0}
.card-tile{background:var(--paper); border:3px solid var(--black); border-radius:16px; padding:12px; cursor:pointer; min-height:140px; position:relative; box-shadow:0 6px 12px rgba(0,0,0,.08);}
.card-tile:hover{transform:translateY(-2px)}
.card-emoji{font-size:1.5rem; position:absolute; top:8px; right:10px}
.card-title{font-weight:800; margin-bottom:6px}
.card-text{font-size:.9rem; color:var(--ink)}
.table{margin-top:16px}
.plays{display:grid; gap:12px}
.play{border:3px solid var(--black); background:var(--paper); border-radius:16px; padding:12px;}
.play .stack{margin-top:8px}
.play .stack .entry{border:2px dashed var(--black); border-radius:14px; padding:8px; background:#fffef9}
.play-actions{display:flex; gap:8px; margin-top:8px}
.play-actions .mini{font-size:.85rem; padding:6px 10px}
.modal{border:none; border-radius:16px; padding:0; max-width:780px; width:92vw}
.modal::backdrop{background:rgba(0,0,0,.6)}
.modal form{padding:16px; background:#fffefb; border:2px solid var(--black); border-radius:16px}
.scoregrid{grid-template-columns:1fr 1fr}
.scorebox{display:grid; justify-items:center; background:#fffefb; border:3px solid var(--black); border-radius:16px; padding:10px}
.scorebox .label{font-size:.9rem; color:var(--muted)}
.scorebox .points{font-size:2.2rem; font-weight:900; margin:6px 0}
.scorebox .name{font-weight:700}
