:root{--felt: #0b5d3b;--felt-dark: #073d27;--gold: #e8c675;--red: #c62828;--black: #1b1b1b;--card-bg: #fdfdf7;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,Roboto,system-ui,sans-serif;background:radial-gradient(circle at top,var(--felt),var(--felt-dark));color:#f2f2f2;min-height:100dvh}button{background:var(--gold);color:#3a2a00;border:none;padding:12px 16px;border-radius:10px;font-weight:700;cursor:pointer;font-size:1rem;min-height:44px}button:disabled{opacity:.35;cursor:not-allowed}button.secondary{background:#3a5a4a;color:#fff}button.danger{background:#8c2f2f;color:#fff}input,select{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:#fff;font-size:1rem;min-height:44px}.home{max-width:420px;margin:0 auto;padding:calc(16px + var(--safe-t)) 16px calc(24px + var(--safe-b))}.home h1{text-align:center;color:var(--gold);margin:12px 0 4px;letter-spacing:2px}.subtitle{text-align:center;opacity:.8;font-size:.9rem;margin-bottom:20px}.stack{display:flex;flex-direction:column;gap:10px}.panel{background:#00000040;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px}.error{color:#ffb3b3;font-size:.9rem;text-align:center}.table-shell{height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:var(--safe-t) 8px var(--safe-b);gap:6px}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem}.code-pill{background:#00000059;border-radius:999px;padding:6px 12px;letter-spacing:2px;font-weight:700;color:var(--gold)}.opponents{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.opp{background:#00000040;border-radius:10px;padding:8px 10px;min-width:88px;text-align:center;font-size:.8rem}.opp.turn{outline:2px solid var(--gold)}.opp.out{opacity:.4;text-decoration:line-through}.cardback-row{display:flex;justify-content:center;gap:2px;margin:4px 0}.cardback{width:22px;height:32px;border-radius:4px;background:repeating-linear-gradient(45deg,#7a1f2b,#7a1f2b 4px,#901f2b 4px,#901f2b 8px);border:1px solid rgba(255,255,255,.4)}.table-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:0}.status{color:var(--gold);text-align:center;min-height:1.2em}.pile-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center}.hand-dock{background:#00000047;border-radius:14px 14px 0 0;padding:8px 8px calc(8px + var(--safe-b))}.hand-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;margin-bottom:4px}.hand-meta b{color:var(--gold)}.hand-row{display:flex;justify-content:center;gap:4px;overflow-x:auto;padding:8px 4px 4px}.controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:6px}.card{width:56px;height:80px;flex:0 0 auto;background:var(--card-bg);border-radius:8px;display:inline-flex;flex-direction:column;justify-content:space-between;padding:4px;font-weight:700;box-shadow:0 2px 4px #0006;-webkit-user-select:none;user-select:none;color:var(--black)}.card.red{color:var(--red)}.card.selectable{cursor:pointer}.card.selected{transform:translateY(-10px);box-shadow:0 0 0 3px var(--gold)}.card.pick{cursor:pointer}.card.pick:active,.card.selectable:active{transform:translateY(-4px)}.card .r-top{font-size:.85em;line-height:1}.card .suit-mid{font-size:1.35em;text-align:center}.card .r-bot{font-size:.85em;line-height:1;align-self:flex-end;transform:rotate(180deg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.overlay .box{background:#0e3d2b;border:1px solid var(--gold);border-radius:12px;padding:20px;max-width:480px;width:100%;text-align:center;max-height:90dvh;overflow:auto}.overlay table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.9em}.overlay td{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.15)}.winner-tag{color:var(--gold);font-weight:700}.lobby-list{list-style:none;padding:0;margin:0}.lobby-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.log-sheet{font-size:.78rem;max-height:72px;overflow-y:auto;opacity:.85;width:100%}@media(orientation:landscape)and (max-height:500px){.card{width:46px;height:66px}.hand-dock{padding-top:4px}.log-sheet{display:none}}@media(min-width:800px){.card{width:64px;height:90px}}
