*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#ede9fe;--surface:#fff;--bg:#f8f7ff;--border:#e5e7eb;--text:#111827;--text-muted:#6b7280;--radius:14px;--radius-sm:8px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow:0 4px 24px #0000001a}body{background-color:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.game-container{flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;display:flex}.game-board{flex-direction:column;align-items:center;width:100%;display:flex}.player-section{flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:40vh;margin-bottom:10px;padding:20px;display:flex}.draggable-container{justify-content:center;align-items:center;width:100%;display:flex}.turn-divider{justify-content:center;align-items:center;width:100vw;padding:4px 0;display:flex;position:relative}.turn-divider:before{content:"";border-top:1px solid var(--border);position:absolute;top:50%;left:0;right:0}.turn-badge{z-index:1;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full);text-align:center;min-width:200px;padding:6px 18px;font-size:12px;font-weight:600;display:inline-block;position:relative}.turn-badge--player{background-color:var(--primary);color:#fff;border:1px solid #0000;animation:2s ease-in-out infinite turn-pulse}.turn-badge--computer{background-color:var(--surface);color:var(--text-muted);border:1px solid var(--border)}@keyframes turn-pulse{0%,to{box-shadow:0 0 #6366f173}50%{box-shadow:0 0 0 7px #6366f100}}.hand{z-index:2;justify-content:center;align-items:center;width:80px;display:flex;position:relative}.hand img{width:100%}.hand.dragging{will-change:transform;z-index:3;transition:none}.hand.animating{z-index:3}.non-draggable{opacity:.35;cursor:default}#topLeft,#topRight{margin:40px 60px 20px}#bottomLeft,#bottomRight{margin:20px 60px 0}.player-header{letter-spacing:.03em;text-transform:uppercase;height:48px;color:var(--text-muted);align-items:center;font-size:14px;font-weight:600;display:flex}#splitButton{letter-spacing:.02em;background-color:var(--primary);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:none;margin:0 10px 32px;padding:12px 32px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s,transform .15s,box-shadow .2s}#splitButton:hover:not(:disabled){background-color:var(--primary-hover);cursor:pointer;transform:translateY(-2px);box-shadow:0 4px 12px #6366f159}#splitButton:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}#info-button{background-color:var(--surface);color:var(--primary);border:1.5px solid var(--border);border-radius:var(--radius-full);z-index:100;cursor:pointer;box-shadow:var(--shadow-sm);padding:8px 14px;font-family:Inter,system-ui,sans-serif;font-size:15px;font-weight:700;transition:background-color .2s,border-color .2s;position:absolute;top:16px;right:16px}#info-button:hover{background-color:var(--primary-light);border-color:var(--primary)}.popup-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-mode-popup{background-color:var(--surface);border-radius:var(--radius);z-index:1001;width:90%;max-width:380px;box-shadow:var(--shadow);border:1px solid var(--border);flex-direction:column;align-items:center;padding:32px 28px;display:flex;position:relative}.modal-back-btn{background-color:var(--bg);color:var(--text-muted);border:1.5px solid var(--border);border-radius:var(--radius-full);cursor:pointer;padding:4px 10px;font-size:15px;font-weight:700;line-height:1;transition:all .2s;position:absolute;top:16px;left:16px}.modal-back-btn:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.game-mode-popup h2{text-align:center;color:var(--text);margin-bottom:24px;font-size:17px;font-weight:600}.game-mode-popup>button{background-color:var(--primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm);border:none;margin-top:4px;padding:12px 40px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s,transform .15s,box-shadow .2s}.game-mode-popup>button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f159}.difficulty-selection{justify-content:center;gap:10px;margin-bottom:24px;display:flex}.difficulty-btn{border-radius:var(--radius-full);border:1.5px solid var(--border);background-color:var(--surface);color:var(--text-muted);cursor:pointer;padding:10px 22px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.difficulty-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.difficulty-btn.selected{background-color:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.winner-popup{background-color:var(--surface);border-radius:var(--radius);text-align:center;z-index:1001;box-shadow:var(--shadow);border:1px solid var(--border);flex-direction:column;align-items:center;width:90%;max-width:380px;padding:40px;display:flex}.winner-popup h2{color:var(--text);margin-bottom:28px;font-size:22px;font-weight:700}.winner-actions{gap:10px;display:flex}.winner-popup button{background-color:var(--primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:12px 36px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s,transform .15s,box-shadow .2s}.winner-popup button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f159}.winner-popup .leave-btn{color:var(--text-muted);border:1.5px solid var(--border);box-shadow:none;background-color:#0000}.winner-popup .leave-btn:hover{background-color:var(--bg);border-color:var(--text-muted);color:var(--text);box-shadow:none}.info-content{background-color:var(--surface);border-radius:var(--radius);width:90%;max-width:480px;box-shadow:var(--shadow);border:1px solid var(--border);text-align:left}.info-header{border-bottom:1px solid var(--border);padding:20px 24px;position:relative}.info-header h3{color:var(--text);font-size:15px;font-weight:700}.close-btn{background-color:var(--bg);color:var(--text-muted);border:1.5px solid var(--border);border-radius:var(--radius-full);cursor:pointer;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.close-btn:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.tutorial-content{max-height:70vh;padding:16px 24px 24px;font-size:13px;line-height:1.7;overflow-y:auto}.tutorial-content>p:first-child{color:var(--text-muted);margin-bottom:16px}.tutorial-content p strong{color:var(--text)}.tutorial-section{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:16px;padding:12px 14px}.tutorial-section p{color:var(--text-muted);margin:0 0 8px}.tutorial-rule-title{text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700;color:var(--primary)!important;margin-bottom:4px!important}.tutorial-win{text-align:center;background:var(--primary-light);border-radius:var(--radius-sm);margin-top:4px;padding:10px;font-weight:600;color:var(--primary)!important;margin-bottom:0!important}.demo-scene{justify-content:center;align-items:center;gap:8px;min-height:80px;padding:8px 0 4px;display:flex}.demo-hand{flex-direction:column;align-items:center;gap:4px;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex}.demo-hand img{width:52px;height:52px}.demo-label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.demo-arrow{color:var(--text-muted);text-align:center;flex-shrink:0;min-width:28px;font-size:16px;font-weight:700}.demo-split-scene{flex-direction:column;align-items:center;gap:8px;padding:8px 0 4px;display:flex}.demo-split-hands{justify-content:center;align-items:center;gap:32px;display:flex}.demo-split-btn{border-radius:var(--radius-full);background:var(--primary);color:#fff;opacity:.5;cursor:not-allowed;box-shadow:var(--shadow-sm);border:none;padding:6px 22px;font-size:12px;font-weight:600;transition:all .25s}.demo-split-btn-active{opacity:1;cursor:pointer}.demo-split-btn-hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f159}.demo-split-btn-pressed{box-shadow:var(--shadow-sm);transform:translateY(0)}.demo-flash .demo-label{color:var(--primary)}.demo-eliminated .demo-label{color:#ef4444;font-weight:700}.online-lobby{gap:4px}.lobby-field{width:100%;margin-bottom:16px}.lobby-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.lobby-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);outline:none;padding:10px 14px;font-family:Inter,system-ui,sans-serif;font-size:14px;transition:border-color .2s}.lobby-input:focus{border-color:var(--primary)}.lobby-input::placeholder{color:var(--text-muted);opacity:.6}.lobby-code-input{text-transform:uppercase;letter-spacing:.1em;text-align:center;font-weight:600}.lobby-error{color:#ef4444;margin-bottom:12px;font-size:13px}.lobby-divider{align-items:center;gap:12px;width:100%;margin:16px 0;display:flex}.lobby-divider:before,.lobby-divider:after{content:"";border-top:1px solid var(--border);flex:1}.lobby-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.lobby-join-row{gap:8px;width:100%;display:flex}.lobby-join-row .lobby-input{flex:1}.lobby-join-btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 24px;font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s}.lobby-join-btn:hover{background-color:var(--primary-hover)}.online-btn{color:var(--primary)!important;border:1.5px solid var(--primary)!important;box-shadow:none!important;background-color:#0000!important}.online-btn:hover{background-color:var(--primary-light)!important}.waiting-screen{gap:8px}.room-code-display{flex-direction:column;align-items:center;gap:4px;margin:12px 0;display:flex}.room-code-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.room-code{letter-spacing:.15em;color:var(--primary);font-size:32px;font-weight:700}.waiting-hint{color:var(--text-muted);margin-bottom:8px;font-size:13px}.connecting-box{flex-direction:column;align-items:center;gap:16px;display:flex}.connecting-title{color:var(--text-muted);margin:0;font-size:15px;font-weight:600}.connecting-hint{color:var(--text-muted);opacity:.7;text-align:center;max-width:260px;margin:0;font-size:13px;animation:.6s fade-in}.connecting-dots{gap:8px;display:flex}.connecting-dots span{background:var(--text-muted);opacity:.3;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite dot-bounce}.connecting-dots span:nth-child(2){animation-delay:.2s}.connecting-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media only screen and (max-width:540px){.info-header h3{padding:0 52px 0 0}}@media only screen and (max-width:480px){.hand{width:100px;height:100px}#topLeft{margin:40px 60px 0 0}#topRight{margin:40px 0 0 60px}#bottomLeft{margin:20px 60px 0 0}#bottomRight{margin:20px 0 0 60px}.difficulty-selection{flex-direction:column;align-items:center}.difficulty-btn{width:150px}}
