:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden}*{box-sizing:border-box}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.card{width:50px;height:70px;background:#fff;border:2px solid #333;border-radius:6px;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:Arial,sans-serif;box-shadow:0 2px 4px #0000004d;transition:all .2s ease;flex-shrink:0}@media (min-width: 768px){.card{width:60px;height:84px;border-radius:8px}}.card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0006}.card.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff}.card.red{color:#dc3545}.card.black{color:#333}.card-corner{position:absolute;font-size:8px;font-weight:700;line-height:1}@media (min-width: 768px){.card-corner{font-size:10px}}.card-corner.top-left{top:4px;left:4px}.card-corner.bottom-right{bottom:4px;right:4px;transform:rotate(180deg)}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.suit-large{font-size:18px}@media (min-width: 768px){.suit-large{font-size:24px}}.card-back{background:linear-gradient(45deg,#2c5aa0,#1e3d6f);color:#fff;display:flex;align-items:center;justify-content:center}.card-pattern{width:30px;height:45px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 2px,transparent 2px,transparent 4px);border-radius:4px}@media (min-width: 768px){.card-pattern{width:40px;height:60px}}.player-hand{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center;align-items:center;padding:.5rem;width:100%;overflow-x:auto}@media (min-width: 768px){.player-hand{gap:.5rem;padding:1rem}}.player-hand.opponent{transform:rotate(180deg)}.player-hand .card{margin:-5px;transition:transform .2s ease,margin .2s ease}.player-hand .card:hover{transform:translateY(-5px);margin:0 5px;z-index:10}.player-hand.opponent .card:hover{transform:rotate(180deg) translateY(-5px)}@media (min-width: 768px){.player-hand .card{margin:-10px}.player-hand .card:hover{transform:translateY(-10px);margin:0 10px}.player-hand.opponent .card:hover{transform:rotate(180deg) translateY(-10px)}}.play-area{flex:2;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff1a;border-radius:16px;padding:1rem;border:2px dashed rgba(255,255,255,.3);min-height:150px;width:100%;box-sizing:border-box}@media (min-width: 768px){.play-area{padding:2rem;min-height:200px}}.play-area-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.play-area h3{margin:0 0 .5rem;font-size:1.8rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.game-info{display:flex;align-items:center;gap:1rem}.turn-indicator{background:#ffd700e6;color:#333;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:.9rem;box-shadow:0 2px 4px #0000004d}.played-cards{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.last-play-label{margin-bottom:1rem;font-size:1.1rem;font-weight:700;opacity:.9}.cards-display{display:flex;gap:.5rem}.empty-play-area{font-size:1.2rem;opacity:.7;font-style:italic;margin:2rem 0}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;width:100%}@media (min-width: 768px){.action-buttons{gap:1rem}}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d;flex:1;min-width:100px}@media (min-width: 768px){.btn{font-size:1rem;flex:none}}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 8px #0006}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62;transform:translateY(-2px);box-shadow:0 4px 8px #0006}.game-board{display:flex;flex-direction:column;min-height:100vh;gap:1rem;padding:.5rem;width:100%;box-sizing:border-box}@media (min-width: 768px){.game-board{gap:2rem;padding:1rem;height:100vh}}.opponent-area,.player-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.opponent-area h3,.player-area h3{margin-bottom:1rem;font-size:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.opponent-area,.opponent-area h3{transform:rotate(180deg)}.friend-invite{padding:1rem;max-width:500px;margin:0 auto}.invite-section h3{text-align:center;color:#fff;margin-bottom:1.5rem;font-size:1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.invite-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.2)}.invite-card h4{color:#fff;margin-bottom:.5rem;font-size:1.2rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.invite-card p{color:#ffffffe6;margin-bottom:1rem;font-size:.95rem;line-height:1.4}.btn{width:100%;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none}.btn-add-friend{background:#00b900;color:#fff}.btn-add-friend:hover:not(:disabled){background:#00d000;transform:translateY(-2px);box-shadow:0 4px 8px #0006}.btn-invite{background:#007bff;color:#fff}.btn-invite:hover:not(:disabled){background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 8px #0006}.message{padding:1rem;border-radius:8px;margin-top:1rem;text-align:center;font-weight:700;animation:fadeIn .3s ease}.message.success{background:#4caf50e6;color:#fff;border:1px solid rgba(76,175,80,.3)}.message.error{background:#f44336e6;color:#fff;border:1px solid rgba(244,67,54,.3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.helper-text{font-size:.8rem!important;color:#ffffffb3!important;margin-top:.5rem!important;margin-bottom:0!important;font-style:italic}@media (max-width: 480px){.friend-invite{padding:.5rem}.invite-card{padding:1rem}.invite-card h4{font-size:1.1rem}.invite-card p{font-size:.9rem}}.game-menu{min-height:100vh;padding:.5rem;width:100%;box-sizing:border-box}@media (min-width: 768px){.game-menu{padding:1rem}}.back-button-container{margin-bottom:1rem}.back-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff4d;transform:translateY(-1px)}.main-menu{width:100%;max-width:500px;margin:0 auto;text-align:center;padding:1rem 0}.menu-header{margin-bottom:2rem}@media (min-width: 768px){.menu-header{margin-bottom:3rem}}.menu-header h2{font-size:2.5rem;color:#fff;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.menu-header p{font-size:1.1rem;color:#ffffffe6;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.menu-buttons{display:flex;flex-direction:column;gap:1.5rem}.menu-btn{display:flex;align-items:center;padding:1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.menu-btn:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000004d;background:#ffffff26}.btn-icon{font-size:3rem;margin-right:1.5rem;display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#ffffff1a;border-radius:12px;flex-shrink:0}.btn-content{flex:1}.btn-content h3{color:#fff;font-size:1.3rem;margin-bottom:.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.btn-content p{color:#fffc;font-size:.95rem;margin:0}.game-btn:hover .btn-icon{background:#4caf504d}.friends-btn:hover .btn-icon{background:#2196f34d}@media (max-width: 480px){.menu-btn{padding:1rem}.btn-icon{font-size:2.5rem;width:60px;height:60px;margin-right:1rem}.btn-content h3{font-size:1.1rem}.btn-content p{font-size:.85rem}.menu-header h2{font-size:2rem}}.liff-loading,.liff-error,.liff-login{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.liff-loading{background:linear-gradient(135deg,#2d5a27,#4a8c3a);color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.liff-error{background:linear-gradient(135deg,#d32f2f,#c62828);color:#fff}.liff-error h2{margin-bottom:1rem;font-size:2rem}.liff-login{background:linear-gradient(135deg,#00b900,#00a000);color:#fff}.login-container{max-width:400px;padding:2rem;background:#ffffff1a;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-container h2{font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.login-container p{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.login-button{background:#00b900;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px #0000004d}.login-button:hover{background:#00d000;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.liff-app{min-height:100vh;background:linear-gradient(135deg,#2d5a27,#4a8c3a)}.user-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2)}.profile-image{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-name{color:#fff;font-weight:700;font-size:1.1rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.app{width:100%;min-height:100vh;background:linear-gradient(135deg,#2d5a27,#4a8c3a);color:#fff;overflow-x:hidden}@media (min-width: 768px){.app{max-width:1200px;margin:0 auto}}
