code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.lobby-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh}.lobby-box{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:48px 40px;width:100%}.game-title{color:#1a1a2e;font-size:32px;font-weight:700;margin-bottom:32px;text-align:center}.input-group{margin-bottom:24px}.input-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:6px;text-align:left}.input-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .3s;width:100%}.input-group input:focus{border-color:#4a90d9;outline:none}.button-group{display:flex;flex-direction:column;gap:12px}.btn{border:none;border-radius:10px;font-size:16px;padding:14px 24px;transition:all .3s}.btn:disabled{opacity:.6}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;flex:1 1}.btn-secondary:hover:not(:disabled){box-shadow:0 8px 25px #f5576c66;transform:translateY(-2px)}.divider{color:#999;font-size:14px;padding:4px 0;text-align:center}.join-group{display:flex;gap:12px}.join-group input{border:2px solid #e0e0e0;border-radius:10px;flex:1 1;font-size:16px;letter-spacing:2px;padding:12px 16px;text-transform:uppercase;width:40%}.join-group input:focus{border-color:#f5576c;outline:none}.error-message{background:#fee;border-radius:10px;color:#c0392b;font-size:14px;margin-top:16px;padding:12px}.error-message,.room-created{text-align:center}.room-created h2{color:#2ecc71;font-size:24px;margin-bottom:20px}.game-code-display{background:#f0f0f0;border-radius:12px;margin:16px 0;padding:20px}.code-label{color:#666;display:block;font-size:14px;margin-bottom:4px}.code-value{color:#2c3e50;font-family:Courier New,monospace;font-size:48px;font-weight:700;letter-spacing:8px}.waiting-text{color:#666;font-size:16px;margin:16px 0}.loading-spinner{animation:spin 1s linear infinite;font-size:40px}.hint-text{animation:pulse 1.5s ease-in-out infinite;color:#888;font-size:14px;margin-top:12px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.room-created .loading-spinner{font-size:48px;margin:20px 0}.room-created .waiting-text{color:#666;font-size:16px;margin:16px 0 8px}.card{align-items:center;background:#0000;border:none;border-radius:6px;box-shadow:0 4px 12px #00000040;box-sizing:border-box;cursor:pointer;display:flex;flex-shrink:0;height:112px;justify-content:center;overflow:visible;padding:0;position:relative;transition:transform .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none;width:auto}.card-small{height:84px}.card-image{border-radius:6px;display:block;height:100%;width:auto}.card:hover:not(.disabled){box-shadow:0 8px 25px #00000059;transform:translateY(-6px) scale(1.02);z-index:10}.card.selected{box-shadow:0 0 0 3px gold,0 8px 25px #ffd70066;transform:translateY(-12px) scale(1.03);z-index:5}.card.disabled{cursor:not-allowed;opacity:.6;transform:none!important}.card.disabled:hover{box-shadow:0 4px 12px #00000040;transform:none!important}.card-back-content{align-items:center;background:linear-gradient(135deg,#2d2d6b,#1a1a4e);border:2px solid #4a4a8a;border-radius:6px;box-shadow:inset 0 0 20px #0000004d;display:flex;font-size:32px;height:100%;justify-content:center;width:80px}@media (max-width:768px){.card{height:84px}.card-small{height:63px}}@media (max-width:480px){.card{height:70px}.card-small{height:53px}}#root,body,html{margin:0;padding:0}#root,.game-container,body,html{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);min-height:100vh}.game-container{color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.captures-area,.deck-area,.hand-area,.opponent-area,.table-area{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff0d;border-radius:12px;padding:16px}.captures-area,.hand-area,.opponent-area{margin-bottom:16px}.section-label{color:#a0c4ff;font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-align:center;text-transform:uppercase}.status-bar{background:#ffffff12;border:1px solid #0000;border-radius:10px;margin-bottom:16px;padding:10px 16px;text-align:center;transition:border-color .3s ease,background .3s ease}.status-bar.my-turn{background:#ffd7000d;border-color:#ffd70066}.status-text{color:#e0e0ff;font-size:15px;font-weight:600}.decision-panel{background:#ffdc6414;border:1px solid #ffdc6459;border-radius:12px;gap:12px;margin-bottom:16px;padding:16px}.decision-panel,.yaku-list{display:flex;flex-direction:column}.yaku-list{font-size:14px;gap:4px;list-style:none;margin:0;padding:0}.yaku-item{display:flex;gap:16px;justify-content:space-between;padding:4px 0}.yaku-name{font-weight:400}.yaku-pts,.yaku-total{color:gold;font-weight:700}.yaku-total{border-top:1px solid #ffd70040;display:flex;gap:16px;justify-content:space-between;margin-top:4px;padding-top:6px}.decision-buttons{display:flex;flex-wrap:wrap;gap:10px}.btn-koikoi{background:#1a3a5c;border:1px solid #7ec8f7;border-radius:8px;color:#7ec8f7;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 14px;transition:all .2s}.btn-koikoi:hover{background:#1e4870}.btn-shobu{background:#1a3a20;border:1px solid #7ef79e;border-radius:8px;color:#7ef79e;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 14px;transition:all .2s}.btn-shobu:hover{background:#224a28}.capture-hint{color:gold;font-size:12px;font-style:italic;margin:8px 0 0;text-align:center}.middle-area{align-items:stretch;display:flex;gap:16px;margin-bottom:16px}.deck-area{align-items:center;border:1px solid #ffffff1a;display:flex;flex-direction:column;justify-content:center;min-width:130px}.deck-stack{margin:12px 0 20px}.stacked-card{box-shadow:-3px -3px 0 #202040,-6px -6px 0 #151530,0 4px 12px #00000080;cursor:default}.deck-count{background:#0000004d;border-radius:12px;color:gold;font-size:14px;font-weight:700;padding:4px 12px}.table-area{flex:1 1;min-height:140px}.cards-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:120px;padding:8px 4px}.hand-cards{min-height:130px}.opponent-area .cards-row{min-height:120px}.card-back{align-items:center;background:linear-gradient(135deg,#2d2d6b,#1a1a4e);border:2px solid #4a4a8a;border-radius:8px;box-shadow:0 2px 8px #0000004d;flex-shrink:0;font-size:32px;height:112px;width:80px}.card-back,.grouped-captures{display:flex;justify-content:center}.grouped-captures{flex-wrap:wrap;gap:12px}.capture-group{background:#00000026;border:1px solid #ffffff0d;border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-width:140px;padding:10px}.capture-group-label{border-bottom:1px solid #ffd70033;color:gold;font-size:11px;font-weight:600;margin-bottom:10px;padding-bottom:6px;text-align:center;text-transform:uppercase}.capture-group-cards{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:50px}.empty-group{color:#fff3;font-size:12px}.game-error,.game-loading{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.game-error button{background:#fff;border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:16px;margin-top:16px;padding:12px 24px;transition:all .2s}.game-error button:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.05)}.loading-spinner{animation:spin 1.4s linear infinite;font-size:2rem}@keyframes spin{to{transform:rotate(1turn)}}.game-result{align-items:center;background:#ffd70026;border:1px solid #ffd7004d;border-radius:12px;display:flex;flex-direction:column;font-size:28px;font-weight:700;gap:16px;margin-top:16px;padding:24px;text-align:center}.score-table{border-collapse:collapse;font-size:16px;width:200px}.score-table td,.score-table th{border-bottom:1px solid #ffffff1a;padding:6px 12px}.score-table th{font-weight:400;opacity:.6;text-align:left}.score-table td{font-weight:700;text-align:right}.btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-primary{background:#4a3f8c;border-color:#7b6fd4;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #4a3f8c66;transform:scale(1.02)}.btn-secondary{background:#0000;border-color:#555;color:#ccc}.btn-secondary:hover:not(:disabled){background:#ffffff0f}@media (max-width:768px){.game-container{padding:12px}.middle-area{flex-direction:column}.deck-area{flex-direction:row;gap:16px;min-width:0;min-width:auto;padding:12px}.deck-stack{margin:0}.cards-row{gap:6px;min-height:90px}.hand-cards{min-height:100px}.section-label{font-size:12px}}@media (max-width:480px){.cards-row{gap:4px;min-height:70px}.hand-cards{min-height:80px}.capture-group{min-width:100px}}.App{text-align:center}.back-button-container{left:20px;position:fixed;top:20px;z-index:1000}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s}.back-button:hover{background:#ffffff4d}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}
/*# sourceMappingURL=main.4d0e774d.css.map*/