html,body{margin:0;padding:0;width:100%;height:100%;max-height:100svh;overflow-x:hidden;overflow-y:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#08170f;color:#eef7f1}trash-root{display:block;width:100%;height:100svh;max-height:100svh;overflow:hidden;contain:strict}*{box-sizing:border-box}.landscape-lock{display:none;position:fixed;inset:0;z-index:100;place-items:center;padding:24px;background:#08170f;text-align:center}.landscape-lock-panel{display:grid;gap:8px;max-width:280px;padding:24px;border:1px solid rgba(220,241,231,.18);border-radius:16px;background:#102e1ff5;box-shadow:0 18px 44px #0000006b}.landscape-lock-panel span{color:#a8cbb5;font-size:.9rem}.table-container{width:100%;height:100svh;max-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0;overflow:hidden;position:relative}.felt-table{position:relative;width:100%;height:100%;max-height:100%;border-radius:0;overflow:hidden;border:none;background:radial-gradient(900px circle at 50% 55%,rgba(61,132,94,.35),transparent 60%),radial-gradient(1200px circle at 20% 20%,rgba(35,95,64,.38),transparent 55%),radial-gradient(1200px circle at 78% 80%,rgba(26,76,51,.36),transparent 50%),#0d2f20;box-shadow:inset 0 0 0 12px #05100b66,inset 0 0 40px #00000080}.gameplay-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;pointer-events:auto;touch-action:manipulation;cursor:default}.gameplay-canvas.next-hand-active{cursor:pointer}.table-top-bar{position:absolute;top:12px;left:16px;right:16px;z-index:10;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.top-bar-left,.top-bar-center,.top-bar-right{pointer-events:auto;display:flex;align-items:center;gap:10px}.table-menu{position:relative}.table-menu-panel{position:absolute;top:calc(100% + 8px);left:0;display:grid;width:min(260px,calc(100vw - 32px));gap:4px;padding:8px;border:1px solid rgba(220,241,231,.2);border-radius:14px;background:#07160ff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 28px #0006}.table-menu-item{display:grid;gap:3px;width:100%;padding:10px 12px;border:0;border-radius:9px;text-align:left;background:transparent;color:#eef7f1}.table-menu-item:hover{background:#24734f52;filter:none}.table-menu-item span{color:#a8cbb5;font-size:.78rem;font-weight:400}.icon-btn{background:#0a1e14bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(220,241,231,.22);color:#eef7f1;padding:8px 14px;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .16s ease}.icon-btn:hover{background:#123423e6;border-color:#dcf1e766}.action-btn-primary{background:linear-gradient(180deg,#24734f,#164834);border:1px solid rgba(175,238,200,.4);color:#fff;padding:10px 20px;border-radius:24px;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 6px 18px #0006,0 0 12px #2ea0664d;transition:all .16s ease}.action-btn-primary:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 8px 22px #00000073,0 0 16px #2ea06680}.win-announcement{display:flex;align-items:center;gap:12px;background:#2d240ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(230,210,140,.4);color:#fff2c6;padding:6px 16px;border-radius:24px;font-weight:700}.player-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.player-item{display:flex;align-items:center;gap:10px}.player-label{font-size:.85rem;color:#a8cbb5;min-width:65px;font-weight:600}.player-item input{flex:1;border:1px solid rgba(220,241,231,.2);border-radius:10px;padding:8px 12px;color:#effaf2;background:#0a1d14eb}.remove-btn{background:#b432324d;border:1px solid rgba(240,120,120,.3);color:#ffcdd2;width:32px;height:32px;border-radius:8px;padding:0;display:grid;place-items:center;cursor:pointer}.remove-btn:hover:not(:disabled){background:#c8323299}.add-player-btn{background:#dcf1e71a;border:1px dashed rgba(220,241,231,.3);color:#d6e8d9;padding:10px;border-radius:10px;font-size:.9rem;cursor:pointer;margin-bottom:12px}.add-player-btn:hover:not(:disabled){background:#dcf1e72e}.wizard-header{display:flex;justify-content:space-between;align-items:flex-start}.close-wizard-btn{background:#dcf1e71a;border:1px solid rgba(220,241,231,.2);color:#eef7f1;width:32px;height:32px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:1rem;line-height:1;font-family:inherit;text-align:center;cursor:pointer}.close-wizard-btn:hover{background:#dcf1e740}.table-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:12px;width:auto;max-width:90%;z-index:2}.next-hand-overlay{position:absolute;left:50%;top:50%;z-index:8;display:grid;justify-items:center;gap:7px;min-width:178px;padding:10px 12px 12px;transform:translate(-50%,-50%);border:1px solid rgba(255,226,148,.68);border-radius:12px;background:#33250df2;box-shadow:0 10px 26px #00000080,0 0 0 3px #ffd15424;text-align:center}.next-hand-overlay .eyebrow{margin:0;color:#ffe9a8}.next-hand-overlay .action-btn-primary{white-space:nowrap}.hub-card{position:relative;border:0;border-radius:8px;padding:0;background:transparent;text-align:center;overflow:visible}.draw-source{width:58px;height:84px;color:#effaf2;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.draw-source:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.draw-source:disabled{cursor:not-allowed;opacity:.72}.stock-source,.discard-source{min-height:84px}.stack-layer{position:absolute;inset:0;border-radius:7px;border:1px solid rgba(232,246,237,.26);pointer-events:none}.stack-one{background:linear-gradient(145deg,#fdfefe,#dfe8e3);box-shadow:0 3px 8px #00000038;transform:translate(-3px,-3px) rotate(-4deg)}.stack-two{background:linear-gradient(145deg,#fff,#dfe6df);box-shadow:0 4px 10px #00000040;transform:translate(-1px,-1px) rotate(2deg)}.card-face{position:relative;z-index:1;width:58px;height:84px;min-height:84px;border-radius:7px;border:1px solid rgba(218,228,220,.9);background:linear-gradient(160deg,#fffefc,#eef2ed 68%,#dfe7e1);box-shadow:0 6px 14px #0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;color:#142118}.card-back{background:linear-gradient(160deg,#f5f8f7fa,#e5ece7f2),repeating-linear-gradient(45deg,#174a351f 0 6px,#ffffff1f 6px 12px)}.discard-face{background:linear-gradient(160deg,#fffdf9,#f4ece8 68%,#eadfd8)}.card-face strong{font-size:1.05rem;letter-spacing:.02em;line-height:1}.card-corner{position:absolute;font-size:.5rem;text-transform:uppercase;letter-spacing:.06em;color:#4d5f55;font-weight:700}.top-corner{left:4px;top:4px}.bottom-corner{right:4px;bottom:4px;transform:rotate(180deg)}.hub-caption{display:block;font-size:.55rem;color:#4a5f53;line-height:1}.turn-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px;height:84px;min-width:90px;border-radius:8px;border:1px solid rgba(220,241,231,.22);background:#07160fdb}.turn-core strong{font-size:.95rem}.turn-core span{font-size:.7rem;color:#b3d4c1}.table-seat{position:absolute;width:min(42vw,300px);max-width:300px;min-width:240px;z-index:3;border:1px solid rgba(220,241,231,.18);border-radius:10px;padding:5px 7px;background:#06120ce0;box-shadow:0 4px 14px #00000059}.table-seat[data-edge=bottom]{transform:translate(-50%,-100%) rotate(0)!important;transform-origin:center bottom}.table-seat[data-edge=top]{transform:translate(-50%) rotate(180deg)!important;transform-origin:center top}.table-seat[data-edge=left]{transform:translateY(-50%) rotate(90deg)!important;transform-origin:left center}.table-seat[data-edge=right]{transform:translate(-100%,-50%) rotate(-90deg)!important;transform-origin:right center}.table-seat header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}.hand-card-float{position:absolute;left:50%;top:-30px;z-index:200;width:42px;aspect-ratio:58 / 84;pointer-events:none;transform:translate(-50%);transform-origin:center bottom;filter:drop-shadow(0 5px 8px rgba(0,0,0,.5))}.discard-toast{position:absolute;left:50%;top:-74px;z-index:100;width:max-content;max-width:190px;transform:translate(-50%);padding:5px 9px;border:1px solid rgba(255,225,150,.82);border-radius:7px;background:#4c300df5;color:#fff4cf;box-shadow:0 5px 12px #0000006b,0 0 0 2px #ffcd5c29;font-size:.68rem;font-weight:800;line-height:1.15;text-align:center;white-space:normal;pointer-events:none}.hand-card-float .playing-card{width:100%;height:100%;min-height:0;padding:2px;border-radius:5px}.hand-card-float .corner-suit{font-size:.62rem}.hand-card-float .center-rank{font-size:1.15rem}.table-seat header strong{font-size:.82rem}.table-seat header span{color:#a8cbb5;font-size:.72rem}.seat-identity{display:flex;align-items:center;gap:6px}.turn-badge{border:1px solid rgba(163,235,192,.6);color:#d7ffe8;background:#3483566b;border-radius:999px;padding:1px 6px;font-size:.62rem;letter-spacing:.06em;font-weight:700}.seat-stats{display:flex;gap:4px;margin-bottom:3px}.seat-stats span{border:1px solid rgba(203,230,214,.24);background:#1436259e;border-radius:999px;padding:1px 6px;font-size:.64rem;color:#d5ebdc}.table-seat.local-seat{border-color:#def8e966;background:#0a1d14f0;box-shadow:0 0 0 2px #d6efdf38,0 6px 16px #0000006b;width:min(46vw,340px);max-width:340px}.table-seat.current-seat{border-color:#b8ffd3e6;background:linear-gradient(180deg,#16482ef5,#06180ff5);box-shadow:0 0 0 3px #8edcaf7a,inset 0 0 22px #68df9629,0 10px 24px #0000007a;animation:turnPulse 1.5s ease-in-out infinite}.table-seat.discarding-seat{z-index:40}.table-seat.has-turn-card{z-index:70;overflow:visible}.discard-source.discard-target{cursor:pointer;border-color:#ffeba4db;box-shadow:0 0 0 3px #ffd65c57,0 8px 22px #0000006b;animation:discardTargetPulse 1.2s ease-in-out infinite}.seat-slots{display:grid;grid-template-columns:repeat(5,42px);justify-content:center;gap:5px}.playing-card{position:relative;background:#fff!important;color:#1a1a1a;border:1px solid #c0c0c0;border-radius:6px;box-shadow:0 3px 8px #00000059;box-sizing:border-box}.playing-card[data-suit=hearts],.playing-card[data-suit=diamonds]{color:#d12b2b}.playing-card[data-suit=clubs],.playing-card[data-suit=spades]{color:#111}.corner-suit{position:absolute;font-size:.95rem;font-weight:900;line-height:1;text-align:center;font-family:Arial,Helvetica,sans-serif}.corner-suit.top-left{top:2px;left:3px}.corner-suit.bottom-right{bottom:2px;right:3px}.center-rank{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.65rem;font-weight:900;line-height:1;letter-spacing:0}.card-back-red{background:#b81d24!important;border:1px solid #ffffff!important;padding:3px!important;box-sizing:border-box}.card-back-frame{width:100%;height:100%;border:1px solid rgba(255,255,255,.85);border-radius:3px;padding:2px;box-sizing:border-box}.card-back-inner-pattern{width:100%;height:100%;background:repeating-linear-gradient(45deg,#fff,#fff 2px,#b81d24 2px 6px);border-radius:2px}.slot-chip{appearance:none;aspect-ratio:58 / 84;min-height:0;height:auto;width:42px;border:none;background:transparent;padding:0;perspective:600px;cursor:default}.card-flipper{position:absolute;inset:0;width:auto;height:auto;min-height:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);border-radius:6px}.slot-chip.face-up .card-flipper{transform:rotateY(180deg)}.card-back-face,.card-front-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}.card-back-face .slot-number{position:absolute;top:2px;left:3px;z-index:2;font-size:.55rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.card-front-face{transform:rotateY(180deg)}.slot-chip:disabled{opacity:1;cursor:default}.slot-chip.selectable-slot{cursor:pointer;border-color:#b9ffd6cc;box-shadow:0 0 0 2px #94e7b659;background:linear-gradient(180deg,#2d7050f2,#143a28f7);animation:selectablePulse 1.2s ease-in-out infinite}.slot-chip.selectable-slot:hover{transform:translateY(-1px);filter:brightness(1.08)}.table-note{margin:10px 0 0;color:#9ebca8;font-size:.88rem;text-align:center}@keyframes turnPulse{0%{box-shadow:0 0 0 2px #8edcaf7a,0 10px 22px #00000061}50%{box-shadow:0 0 0 7px #8edcaf57,0 16px 30px #00000075}to{box-shadow:0 0 0 2px #8edcaf7a,0 10px 22px #00000061}}@keyframes selectablePulse{0%{box-shadow:0 0 0 2px #94e7b647}50%{box-shadow:0 0 0 4px #94e7b633}to{box-shadow:0 0 0 2px #94e7b647}}@keyframes discardTargetPulse{0%,to{box-shadow:0 0 0 2px #ffd65c47,0 8px 22px #0000006b}50%{box-shadow:0 0 0 5px #ffd65c29,0 10px 26px #00000075}}@media(max-width:920px){.felt-table{height:100%;max-height:100%;border-radius:0}.table-hub{width:min(80%,360px);grid-template-columns:1fr}.table-seat{width:min(58vw,260px);min-width:240px}.seat-slots{grid-template-columns:repeat(5,42px)}}@media(max-width:767px)and (orientation:portrait){.table-seat{width:min(82vw,246px);min-width:0;max-width:none;padding:5px 4px}.table-seat.local-seat{width:min(82vw,246px);max-width:none}.table-seat:not(.local-seat){width:min(82vw,246px)}.felt-table[data-seat-count="2"] .table-seat,.felt-table[data-seat-count="2"] .table-seat.local-seat{width:min(62vw,250px)}.table-seat[data-edge=top]{left:50%!important;top:12px!important;transform:translate(-50%,100%) rotate(180deg)!important;transform-origin:center top}.table-seat[data-edge=bottom]{left:50%!important;top:auto!important;bottom:8px!important;transform:translate(-50%) rotate(0)!important;transform-origin:center bottom}.table-seat[data-edge=left]{left:0!important;transform:translate(calc(50% - 14px),-50%) rotate(90deg)!important;transform-origin:left center}.table-seat[data-edge=right]{left:100%!important;transform:translate(calc(-150% + 14px),-50%) rotate(-90deg)!important;transform-origin:right center}.table-seat header{min-width:0}.table-seat header strong,.table-seat header span,.seat-stats span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-identity{min-width:0;gap:2px}.seat-slots{grid-template-columns:repeat(5,42px);justify-content:center;gap:6px}.slot-chip{width:42px}.table-seat:not(.local-seat) .seat-slots{grid-template-columns:repeat(5,42px);gap:6px}.table-seat:not(.local-seat) .slot-chip{width:42px}}@media(max-width:767px)and (orientation:landscape){.landscape-lock{display:grid}.table-container{visibility:hidden}}@media(max-width:767px)and (orientation:portrait){.landscape-lock{display:none}}@media(max-width:920px)and (orientation:portrait){.table-hub{flex-direction:column;gap:8px}.turn-core{min-width:140px}}
