*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;font-family:Inter,ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif;background:#130d09;color:#fff}button,input{font:inherit}.brand{font-family:Georgia,serif;font-weight:900;letter-spacing:.07em;color:#fff5d2;text-shadow:0 2px 6px #000}.brand span{color:#e8bd55}.start-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(#0007,#000a),url('/static/naipe/v58/mesa_piso.jpg') center/cover}.start-card{width:min(500px,100%);padding:28px;border-radius:28px;background:#1d120bde;border:1px solid #d6a14b66;box-shadow:0 30px 100px #000a}.start-card h1{font-size:37px;margin:8px 0}.start-card p{color:#d1c0a5;line-height:1.45}.start-card form{display:grid;gap:10px}.start-card label{font-size:12px;font-weight:900;color:#decba8}.start-card input[type=number]{height:50px;border-radius:14px;border:1px solid #d3a14d66;background:#0e0906;color:#fff;padding:0 13px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.count-grid input{display:none}.count-grid span{height:50px;display:grid;place-items:center;border:1px solid #d5a34c55;border-radius:14px;background:#ffffff0b;font-size:21px;font-weight:1000}.count-grid input:checked+span{background:#876021;border-color:#ffd76c;box-shadow:0 0 22px #e9bd4b44}.start-card form>button,.save{height:53px;border:0;border-radius:15px;color:#211305;background:linear-gradient(#f2d276,#c58a29);font-weight:1000;margin-top:7px}
.selector-page{height:100dvh;overflow:hidden;touch-action:none}.selector-shell{height:100dvh;position:relative;overflow:hidden;background:#090604}.selector-shell header{position:absolute;z-index:30;left:0;right:0;top:0;padding:max(14px,env(safe-area-inset-top)) 18px 0;display:flex;justify-content:space-between;align-items:center}.code{background:#1d1109dd;border:1px solid #d3a04f66;color:#f5dfaa;padding:8px 12px;border-radius:12px;font-weight:1000;letter-spacing:.12em}.selector-copy{position:absolute;z-index:30;left:0;right:0;top:11%;text-align:center;pointer-events:none}.selector-copy small{font-size:10px;color:#efc65e;font-weight:1000;letter-spacing:.2em}.selector-copy h1{font-size:clamp(2.5rem,8vw,5rem);margin:4px 0;color:#fff4d4;text-shadow:0 3px 10px #000}.selector-copy p{margin:0;color:#eadcc1}.touch-area{position:absolute;inset:0}.scene{position:absolute;width:100%;height:100%;object-fit:cover}.scene-shade{position:absolute;inset:0;background:linear-gradient(#0007 0 20%,transparent 45% 75%,#0007)}#fingerLayer{position:absolute;inset:0}.counter{position:absolute;z-index:35;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:#170d08e8;border:1px solid #d3a04f66;font-weight:1000}.finger{--c:#2bd8ff;position:absolute;width:92px;height:92px;transform:translate(-50%,-50%) scale(.2);border-radius:50%;border:6px solid var(--c);box-shadow:0 0 18px var(--c),0 0 50px var(--c);opacity:0;transition:.18s}.finger.on{opacity:1;transform:translate(-50%,-50%) scale(1)}.finger i{position:absolute;inset:14px;border:2px solid #fff9;border-radius:50%}.finger span{position:absolute;inset:-14px;border:2px dashed var(--c);border-radius:50%;animation:spin 2.5s linear infinite}.finger.hot{transform:translate(-50%,-50%) scale(1.28);filter:brightness(1.8)}.finger.out{opacity:0;transform:translate(-50%,-50%) scale(.05)}.finger.chosen{animation:winnerPulse .35s infinite alternate;z-index:50}.winner{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#070403e8;backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.35s}.winner.show{opacity:1}.winner-card{text-align:center;padding:35px;width:min(440px,88vw);border-radius:30px;background:#24150ce8;border:2px solid #d9a64f;box-shadow:0 0 80px #f3c55044}.winner-card small{color:#e9bd55;font-weight:1000;letter-spacing:.18em}.winner-card h2{font-size:clamp(3rem,13vw,5rem);margin:8px 0}.activate{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:#070403ec;padding:20px}.activate>div{text-align:center;width:min(420px,100%);padding:28px;border:1px solid #d4a04f66;border-radius:28px;background:#21130c}.activate h1{margin:9px}.activate p{color:#d5c1a0}.activate button{width:100%;height:52px;border:0;border-radius:15px;background:linear-gradient(#f2d276,#bd8122);font-weight:1000}
.game-page{height:100dvh;overflow:hidden}.game-shell{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#130d09}.game-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.game-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 35%,#0002 65%,#0008 100%)}.game-hud{position:absolute;z-index:60;top:0;left:0;right:0;padding:max(12px,env(safe-area-inset-top)) 16px 0;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.game-hud .brand small{display:block;font-family:system-ui;font-size:10px;color:#e3cda3;letter-spacing:.08em}.pot{min-width:185px;padding:8px 14px;border-radius:14px;background:#1d1009e8;border:1px solid #d4a04f88;box-shadow:0 8px 24px #0008}.pot small{display:block;color:#e7b84c;font-size:9px;font-weight:1000;letter-spacing:.14em}.pot strong{display:block;font-family:Georgia,serif;font-size:21px;color:#fff0c3}.pot em{font-style:normal;color:#75de6d;font-size:12px}.players{position:absolute;inset:0;z-index:20}.seat{position:absolute;width:17vw;max-width:230px;min-width:125px;aspect-ratio:1/1.05;cursor:pointer;transform-origin:center}.chair{position:absolute;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 12px #0008)}.person{position:absolute;width:86%;height:86%;left:7%;top:3%;object-fit:contain;filter:drop-shadow(0 10px 10px #0009)}.player-tag{position:absolute;left:50%;bottom:-7%;transform:translateX(-50%);min-width:105px;text-align:center;padding:6px 9px;border-radius:10px;background:#160b06e8;border:1px solid #d39a4377;box-shadow:0 6px 15px #0008}.player-tag b{display:block;font-size:12px;white-space:nowrap}.player-tag span{display:block;font-size:9px;color:#d6c3a2}.dealer{position:absolute;left:50%;top:-5%;transform:translateX(-50%) scale(.8);opacity:0;padding:5px 9px;border-radius:999px;background:#f2c655;color:#2b1907;font-size:9px;font-weight:1000;transition:.25s}.seat.is-dealer .dealer{opacity:1;transform:translateX(-50%) scale(1)}.seat.is-dealer{filter:drop-shadow(0 0 16px #ffd04d)}.seat-1{left:41.5%;bottom:-6%}.seat-2{left:22%;bottom:13%}.seat-3{left:23%;top:8%}.seat-4{right:23%;top:8%}.seat-5{right:22%;bottom:13%}.deck{position:absolute;z-index:42;width:95px;pointer-events:none;filter:drop-shadow(0 9px 8px #0008)}.chips{position:absolute;z-index:35;left:50%;top:55%;transform:translate(-50%,-50%);width:170px;height:90px;pointer-events:none}.chips img{position:absolute;width:52px;left:calc(50% + (var(--i) - 5)*5px);top:calc(50% - var(--i)*2px);transform:translate(-50%,-50%);filter:drop-shadow(0 4px 3px #0008)}.actions{position:absolute;z-index:70;left:50%;bottom:max(13px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:8px}.actions button{height:43px;padding:0 16px;border-radius:12px;border:1px solid #d0a05277;background:#211209e8;color:#f4dfb0;font-size:11px;font-weight:1000}.actions .primary{background:linear-gradient(#f0cf73,#b77b20);color:#281704;border:0}.modal{position:fixed;z-index:200;inset:0;display:none;place-items:center;padding:18px;background:#060302dd;backdrop-filter:blur(10px)}.modal.show{display:grid}.modal-card{width:min(430px,100%);position:relative;padding:26px;border-radius:25px;background:#21130c;border:1px solid #d5a04f66}.modal-card .x{position:absolute;right:12px;top:10px;width:35px;height:35px;border-radius:50%;border:0;background:#ffffff10;color:#fff;font-size:22px}.modal-card>small{color:#e9bd55;font-weight:1000;letter-spacing:.15em}.modal-card h2{margin:7px 0 15px}.modal-card input{width:100%;height:49px;border-radius:13px;border:1px solid #d09b4d55;background:#0d0805;color:#fff;padding:0 12px}.gender{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.gender button,#claimPlayers button,.ranks button{height:45px;border-radius:12px;border:1px solid #d09b4d55;background:#ffffff0a;color:#fff;font-weight:900}.gender button.on,#claimPlayers button.on{background:#8a6021;border-color:#ffd36b}.save{width:100%}#claimPlayers{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ranks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.ranks button{font-size:23px;color:#6d1712;background:#f0e0bd}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes winnerPulse{to{transform:translate(-50%,-50%) scale(1.5);box-shadow:0 0 35px var(--c),0 0 100px var(--c)}}
@media(max-width:760px){.pot{min-width:140px;padding:6px 9px}.pot strong{font-size:16px}.game-hud .code{font-size:10px}.seat{width:22vw;min-width:92px}.seat-1{left:39%;bottom:1%}.seat-2{left:13%;bottom:18%}.seat-3{left:16%;top:12%}.seat-4{right:16%;top:12%}.seat-5{right:13%;bottom:18%}.actions{bottom:6px}.actions button{height:38px;padding:0 9px;font-size:9px}.deck{width:70px}.chips{top:57%}}
