*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#2d6a4f;--felt:#1b4332;--felt-mid:#2d6a4f;--gold:#f4a261;--red:#e63946;--white:#f8f9fa;--gray:#6c757d;--card-w:72px;--card-h:100px;--radius:8px}body{background:var(--felt);color:var(--white);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}.screen{width:100vw;height:100vh;display:none}.screen.active{justify-content:center;align-items:center;display:flex}.start-content{text-align:center;animation:.6s fadeIn}.game-title{letter-spacing:.15em;color:var(--gold);text-shadow:0 4px 20px #0006;font-size:clamp(4rem,15vw,10rem);font-weight:900}.subtitle{color:#ffffffb3;letter-spacing:.05em;margin:.5rem 0 2.5rem;font-size:1.2rem}.btn-rules-link{color:#ffffff80;cursor:pointer;letter-spacing:.05em;text-underline-offset:3px;background:0 0;border:none;margin:1rem auto 0;font-size:.95rem;text-decoration:underline;transition:color .15s;display:block}.btn-rules-link:hover{color:var(--gold)}.rules-content{scrollbar-width:thin;scrollbar-color:var(--felt-mid) transparent;width:min(680px,92vw);max-height:90vh;padding:2rem 2.5rem 3rem;animation:.4s fadeIn;overflow-y:auto}.rules-content::-webkit-scrollbar{width:6px}.rules-content::-webkit-scrollbar-thumb{background:var(--felt-mid);border-radius:3px}.btn-rules-back{color:#ffffff8c;cursor:pointer;letter-spacing:.03em;background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-size:.9rem;transition:color .15s;display:inline-block}.btn-rules-back:hover{color:var(--white)}.rules-title{color:var(--gold);letter-spacing:.1em;margin-bottom:1.75rem;font-size:2rem;font-weight:900}.rules-section{margin-bottom:1.75rem}.rules-section h3{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);border-bottom:1px solid #f4a26140;margin-bottom:.6rem;padding-bottom:.35rem;font-size:1rem;font-weight:700}.rules-section p,.rules-section li{color:#ffffffd1;font-size:.95rem;line-height:1.65}.rules-section ul,.rules-section ol{padding-left:1.4rem}.rules-section li{margin-bottom:.35rem}.rules-section strong{color:var(--white)}.rules-table{border-collapse:collapse;width:100%;margin-top:.25rem;font-size:.92rem}.rules-table th{text-align:left;color:#fff9;text-transform:uppercase;letter-spacing:.06em;background:#ffffff12;padding:.45rem .75rem;font-size:.8rem;font-weight:600}.rules-table td{color:#ffffffd1;border-bottom:1px solid #ffffff0f;padding:.55rem .75rem;line-height:1.5}.rules-table td:first-child{color:var(--gold);white-space:nowrap;width:4.5rem;font-weight:700}.rules-table tr:last-child td{border-bottom:none}.btn-primary{background:var(--gold);color:#1a1a1a;cursor:pointer;border:none;border-radius:50px;padding:.85rem 3rem;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 15px #0000004d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.btn-primary:active{transform:translateY(0)}.btn-action{background:var(--gold);color:#1a1a1a;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:700;transition:transform .1s,opacity .1s}.btn-action:hover:not(:disabled){transform:translateY(-1px)}.btn-action:disabled{opacity:.35;cursor:not-allowed}.btn-action.btn-secondary{color:var(--white);background:#ffffff26}.btn-action.btn-secondary:hover:not(:disabled){background:#ffffff40}.player-select-content{text-align:center;animation:.4s fadeIn}.player-select-content h2{color:var(--gold);margin-bottom:2rem;font-size:2rem}.player-options{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.btn-player-count{color:var(--white);cursor:pointer;background:#ffffff14;border:2px solid #fff3;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;min-width:150px;padding:1.5rem 2rem;transition:background .2s,border-color .2s,transform .15s;display:flex}.btn-player-count:hover{border-color:var(--gold);background:#ffffff2e;transform:translateY(-3px)}.btn-player-count .count{color:var(--gold);font-size:2.5rem;font-weight:900}.btn-player-count .label{font-size:1rem;font-weight:600}.btn-player-count .note{color:#fff9;font-size:.8rem}.count-picker{margin-top:2rem;animation:.3s fadeIn}.count-picker p{margin-bottom:1rem}.count-btns{justify-content:center;gap:1rem;display:flex}.btn-exact{background:var(--gold);color:#1a1a1a;cursor:pointer;border:none;border-radius:8px;width:60px;height:60px;font-size:1.4rem;font-weight:800;transition:transform .1s}.btn-exact:hover{transform:scale(1.1)}.hidden{display:none!important}#screen-game{flex-direction:column;justify-content:flex-start;align-items:stretch;height:100vh;display:none;overflow:hidden}#screen-game.active{display:flex}#game-layout{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex;overflow:hidden}#cpu-area{flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%;display:flex}.cpu-player{background:#0003;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;min-width:200px;max-width:100%;padding:8px 12px;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.cpu-player.active-turn{border-color:var(--gold);box-shadow:0 0 12px #f4a26180}.cpu-player.shed-out{opacity:.45}.cpu-name{color:#fffc;letter-spacing:.05em;font-size:.8rem;font-weight:700}.cpu-table-row{gap:4px;display:flex}.cpu-hand-row{gap:2px;display:flex}#center-area{flex-shrink:0;justify-content:center;align-items:center;gap:30px;padding-bottom:16px;display:flex}#draw-pile-area,#play-pile-area{flex-direction:column;align-items:center;gap:4px;display:flex}.pile-label{color:#ffffff8c;letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.pile-count{color:var(--gold);font-size:.85rem;font-weight:700}.play-pile-display{width:var(--card-w);height:var(--card-h);position:relative}.play-pile-display .card{position:absolute;top:0;left:0}.direction-indicator{color:#ffffff80;font-size:2rem;transition:transform .4s}#human-area{flex-direction:column;align-self:center;align-items:center;gap:8px;max-width:100%;padding:8px 14px;display:flex}.table-cards-row,.hand-row,.cpu-table-row,.cpu-hand-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.hand-row{padding-top:14px}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;color:#222;background:#fff;border:1px solid #0003;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:4px 5px;font-size:.75rem;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 2px 6px #00000059}.card:hover:not(.no-hover){transform:translateY(-6px);box-shadow:0 8px 16px #0006}.card.selected,.card.selected:hover:not(.no-hover){box-shadow:0 0 0 3px var(--gold), 0 10px 20px #0006;transform:translateY(-10px)}.hand-crowded .card.selected,.hand-crowded .card.selected:hover:not(.no-hover){opacity:.75}.card.red-suit{color:#d00}.card.cpu-card-mini{border-radius:4px;width:30px;height:42px;padding:2px 3px;font-size:.55rem}.card-back.cpu-card-mini{border-radius:4px;width:30px;height:42px}.card.faceup-table{cursor:default}.card.faceup-table:hover{transform:none}.card.no-hover{cursor:default}.card.no-hover:hover{transform:none;box-shadow:0 2px 6px #00000059}.card-rank{line-height:1}.card-suit{font-size:1.1rem;line-height:1}.card-center{text-align:center;flex:1;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.card-rank-bottom{line-height:1;transform:rotate(180deg)}.card-back{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);cursor:default;background:linear-gradient(135deg,#c0392b 0%,#8e0000 50%,#c0392b 100%);border:3px solid #fff;flex-shrink:0;box-shadow:0 2px 6px #00000059}.card-back.pile-card{cursor:default}.facedown-slot{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);border:2px dashed #ffffff4d;flex-shrink:0}.table-stack{width:calc(var(--card-w) + 8px);height:calc(var(--card-h) + 10px);cursor:default;flex-shrink:0;position:relative}.table-stack .facedown-slot{position:absolute;top:0;left:0}.table-stack .card-back.under{position:absolute;top:8px;left:5px}.table-stack .card-back.under:only-child{top:0;left:0}.table-stack .card.faceup-table{position:absolute;top:0;left:0}.hand-row.fanned,.cpu-hand-row.fanned{flex-wrap:nowrap;justify-content:flex-start;margin:0 auto;position:relative}.hand-row.fanned .card:hover:not(.no-hover),.hand-row.fanned .card.selected{z-index:50!important}.hand-label{color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase;text-align:center;font-size:.7rem;font-weight:600}.card.joker{background:linear-gradient(135deg,#fff 40%,#fffde7)}.card.joker .card-center{font-size:1.8rem}#action-area{align-items:center;gap:10px;display:flex}#status-bar{text-align:center;background:#0000004d;flex-shrink:0;padding:6px 16px;font-size:.9rem}#status-msg{color:#ffffffe6}#prev-turn-msg{color:#ffffff59;min-height:1em;font-size:.75rem;font-style:italic}#curr-turn-msg{color:#fff9;min-height:1em;margin-bottom:3px;font-size:.8rem;font-style:italic}.modal{z-index:999;background:#000000a6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--felt-mid);border:2px solid var(--gold);text-align:center;border-radius:14px;max-width:400px;padding:2.5rem 3rem}#modal-msg{margin-bottom:1.5rem;font-size:1.3rem;font-weight:700;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #f4a26199}50%{box-shadow:0 0 0 8px #f4a26100}}.cpu-player.thinking:after{content:"…";color:var(--gold);font-size:.85rem;animation:1s infinite pulse;position:absolute;top:4px;right:8px}@media (width<=600px){:root{--card-w:56px;--card-h:78px}.card{padding:3px 4px;font-size:.65rem}.card-suit{font-size:.85rem}.card-center{font-size:1.1rem}body{min-height:100dvh}#screen-game,.screen{height:100dvh}#status-bar{padding-bottom:calc(6px + env(safe-area-inset-bottom))}}
