:root{--card-width:100px;--card-height:145px;--table-bg:#1a472a;--ui-bg:rgba(0,0,0,.4)}*{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;overflow:hidden;background-color:var(--table-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#app,body,html{width:100%;height:100%}#app{display:flex;flex-direction:column;background:radial-gradient(circle at center,#2d5a3f 0,#1a472a 100%)}#app,#table{position:relative}#table{flex:1 1;perspective:1000px}.group-container{background:linear-gradient(0deg,rgba(0,0,0,.3),transparent);display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:20px;position:absolute;border:2px dashed rgba(52,152,219,.4);border-radius:8px;pointer-events:none}.group-move-handle{top:0;left:0;background:rgba(0,0,0,.4);padding:2px;cursor:move;border-right:4px;font-size:18px}.group-move-handle,.group-resize-handle{position:absolute;color:#fff;pointer-events:auto;z-index:110}.group-resize-handle{bottom:-9px;right:-12px;width:20px;cursor:nwse-resize;text-align:center;font-size:22px;line-height:14px;padding:2px 3px;background:rgba(0,0,0,.7);border-radius:4px}.group-container.active-tool{border:2px solid #3498db;background:rgba(52,152,219,.1)}#hand-container-default{height:160px;width:90%;bottom:10px;left:5%}#group-settings{position:absolute;top:5px;right:5px;z-index:101;pointer-events:auto;display:flex;gap:4px}#group-settings button{font-size:14px;padding:0 4px;background:rgba(0,0,0,.7);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:#fff;cursor:pointer}#group-settings button:hover{background:rgba(0,0,0,.85);border-color:hsla(0,0%,100%,.4);transform:scale(1.05)}#group-settings button i{pointer-events:none}#group-settings .toggle-controls{background:hsla(0,0%,39%,.7)}#group-settings .toggle-controls:hover{background:hsla(0,0%,47%,.85)}.card-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center;position:relative}.card{width:var(--card-width);height:var(--card-height);position:absolute;cursor:-webkit-grab;cursor:grab;transform-style:preserve-3d;transition:box-shadow .2s}.card.dragging{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 10px 20px rgba(0,0,0,.4)}.card.selected .card-face{outline:3px solid #3498db;outline-offset:2px}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;pointer-events:none}.card-face{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:6px;box-shadow:0 2px 5px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);background-color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:5px}.card-back{background-image:url(/_next/static/media/card_back.151e4963.png);background-size:cover;transform:rotateY(180deg)}.card-front{font-size:1.2rem;font-weight:700}.card-front .rank{line-height:1}.card-front .suit-mini{font-size:1rem;padding-left:2px}.card-front .suit-large{font-size:3rem;align-self:center;margin-top:-10px}.suit-red{color:#e74c3c}.suit-black{color:#2c3e50}.card-debug{position:absolute;top:20px;left:2px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;padding:1px 3px;border-radius:2px;z-index:1000;pointer-events:none}#controls{top:10px;left:10px;z-index:1000}#controls,#selection-actions{position:absolute;display:flex;flex-direction:column;gap:8px;pointer-events:auto}#selection-actions{transition:opacity .18s,transform .18s;z-index:5000;background:rgba(0,0,0,.45);padding:8px;border-radius:6px;min-width:140px;align-items:stretch;box-shadow:0 6px 16px rgba(0,0,0,.4)}#selection-actions.hidden{opacity:0;pointer-events:none;transform:translateY(-6px)}hr{width:100%;border:0;border-top:1px solid hsla(0,0%,100%,.2);margin:4px 0}#selection-box{position:absolute;border:1px solid #3498db;background:rgba(52,152,219,.2);pointer-events:none;display:none;z-index:3000}button.active{background:#3498db;border-color:#fff}button{background:var(--ui-bg);color:#fff;border:1px solid hsla(0,0%,100%,.2);padding:8px 16px;border-radius:4px;font-size:14px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background .2s}button:active{background:hsla(0,0%,100%,.2)}#deck-pile{position:absolute;top:50px;right:50px;width:var(--card-width);height:var(--card-height);border:2px dashed hsla(0,0%,100%,.1);border-radius:6px}@media (max-width:600px){:root{--card-width:70px;--card-height:102px}#group-container{height:140px}}#undo-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:10000;opacity:0;transition:opacity .3s ease;pointer-events:none;border:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 12px rgba(0,0,0,.3)}#undo-toast.show{opacity:1}#undo-toast i{margin-right:8px}#multiplayer-panel{position:fixed;top:20px;left:20px;z-index:1000}#toggle-multiplayer-btn{background:rgba(52,152,219,.9);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .3s ease}#toggle-multiplayer-btn:hover{background:#3498db;transform:scale(1.05)}#toggle-multiplayer-btn i{font-size:16px}#multiplayer-content{position:absolute;top:50px;left:0;background:rgba(0,0,0,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;padding:16px;min-width:280px;box-shadow:0 4px 16px rgba(0,0,0,.5)}#multiplayer-panel.hidden #multiplayer-content{display:none}.connection-status{padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:12px;text-align:center}.connection-status.connected{background:rgba(46,204,113,.2);color:#2ecc71;border:1px solid #2ecc71}.connection-status.disconnected{background:hsla(204,8%,76%,.2);color:#bdc3c7;border:1px solid #bdc3c7}.connection-status.error{background:rgba(231,76,60,.2);color:#e74c3c;border:1px solid #e74c3c}#room-controls{display:flex;flex-direction:column;gap:8px}#room-controls button{background:rgba(52,152,219,.8);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}#room-controls button:hover{background:#3498db}#room-controls button:active{transform:scale(.98)}#leave-room-btn{background:rgba(231,76,60,.8)}#leave-room-btn:hover{background:#e74c3c}#join-room-form{display:flex;gap:8px}#room-id-input{flex:1 1;padding:10px 12px;border:1px solid hsla(0,0%,100%,.2);border-radius:6px;background:hsla(0,0%,100%,.1);color:#fff;font-size:13px;text-transform:uppercase}#room-id-input::placeholder{color:hsla(0,0%,100%,.5)}#room-id-input:focus{outline:none;border-color:rgba(52,152,219,.8)}#join-room-btn{padding:10px 16px}#room-info{margin-top:12px;padding:12px;background:hsla(0,0%,100%,.05);border-radius:6px;border:1px solid hsla(0,0%,100%,.1);font-size:13px;color:hsla(0,0%,100%,.9);display:flex;align-items:center;gap:8px;flex-wrap:wrap}#room-info strong{color:#fff}.copy-btn{background:rgba(52,152,219,.3);border:1px solid rgba(52,152,219,.5);color:#3498db;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.copy-btn:hover{background:rgba(52,152,219,.5);color:#fff}.host-badge{background:rgba(241,196,15,.2);color:#f1c40f;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;border:1px solid #f1c40f}.multiplayer-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(52,152,219,.95);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:10000;opacity:0;transition:opacity .3s ease;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.3)}.multiplayer-toast.show{opacity:1}.multiplayer-toast.error{background:rgba(231,76,60,.95)}.multiplayer-toast.success{background:rgba(46,204,113,.95)}.hidden{display:none!important}.users-overlay{position:fixed;display:flex;align-items:flex-end;right:0;top:0;padding:8px;z-index:5000}.users-overlay .users-list{display:flex}.user-profile-display{display:flex;align-items:center;padding:8px}.user-profile-display.name-and-icon{background:#3498db;padding:8px 16px 8px 8px;border-radius:50px;box-shadow:0 4px 16px rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1)}.profile-icon{width:48px;height:48px;border-radius:50%;border:3px solid;overflow:hidden;background:hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;position:relative}.profile-icon img{width:100%;height:100%;object-fit:cover}.profile-icon-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;text-transform:uppercase}.profile-name{color:#fff;font-size:14px;font-weight:600;white-space:nowrap;padding-left:10px}.remote-cursor{position:fixed;pointer-events:none;z-index:10000;transition:left .05s linear,top .05s linear;color:#3498db;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.remote-cursor svg{display:block}.cursor-label{position:absolute;left:26px;top:2px;background:rgba(52,152,219,.9);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.3)}