@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";.lobby{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 30%,rgba(0,47,167,.08),transparent 45%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.08),transparent 45%),radial-gradient(circle at 50% 50%,rgba(147,197,253,.05),transparent 60%),linear-gradient(135deg,#f8fafc,#f1f5f9);position:relative;overflow:hidden;font-family:Manrope,sans-serif}.lobby-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;animation:gentle-float 25s infinite ease-in-out}.blob-1{width:50vw;height:50vh;background:radial-gradient(circle,#002fa7 0%,transparent 70%);top:-15vh;right:-10vw;animation-delay:0s}.blob-2{width:45vw;height:45vh;background:radial-gradient(circle,#3b82f6 0%,transparent 70%);bottom:-10vh;left:-15vw;animation-delay:-12s}.blob-3{width:40vw;height:40vh;background:radial-gradient(circle,#60a5fa 0%,transparent 70%);top:40%;left:40%;animation-delay:-6s}@keyframes gentle-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(2vw,-3vh) scale(1.05)}66%{transform:translate(-2vw,2vh) scale(.95)}}.lobby-container{position:relative;z-index:1;background:#ffffffe6;-webkit-backdrop-filter:blur(40px) saturate(120%);backdrop-filter:blur(40px) saturate(120%);border-radius:2.5vh;padding:6vh 5vw;box-shadow:0 2vh 6vh #002fa71f,0 .5vh 2vh #002fa70f,inset 0 .1vh #ffffffe6;border:1px solid rgba(59,130,246,.2);min-width:45vw;max-width:50vw;animation:appear .7s cubic-bezier(.16,1,.3,1)}@keyframes appear{0%{opacity:0;transform:translateY(2vh) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.lobby-header{text-align:center;margin-bottom:5vh}.lobby-title{font-family:Bricolage Grotesque,sans-serif;font-size:5.5vh;font-weight:800;margin:0 0 1.5vh;background:linear-gradient(135deg,#002fa7,#1e40af,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.03em;position:relative}.lobby-title:after{content:"";position:absolute;bottom:-1vh;left:50%;transform:translate(-50%);width:6vw;height:.4vh;background:linear-gradient(90deg,transparent,#002fa7,transparent);border-radius:1vh;animation:line-pulse 3s infinite ease-in-out}@keyframes line-pulse{0%,to{opacity:.5;width:6vw}50%{opacity:1;width:8vw}}.lobby-subtitle{font-size:2vh;color:#64748b;margin:0;font-weight:500;letter-spacing:.02em}.lobby-menu{display:flex;flex-direction:column;gap:2vh}.lobby-form{display:flex;flex-direction:column;gap:2.5vh;animation:fadeIn .4s ease}.form-group{display:flex;flex-direction:column;gap:1vh}.form-group label{font-size:1.8vh;font-weight:600;color:#475569;letter-spacing:.01em}.form-group input{padding:2.2vh 2.5vw;font-size:2.2vh;font-family:Manrope,sans-serif;font-weight:500;border:2px solid #dbeafe;border-radius:1.2vh;background:#fff;color:#1e293b;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none}.form-group input:focus{border-color:#002fa7;box-shadow:0 0 0 .4vh #002fa71f,0 .5vh 2vh #002fa71a;transform:translateY(-.2vh)}.form-group input::placeholder{color:#cbd5e1;font-weight:400}.form-actions{display:flex;gap:2vh;margin-top:1vh}.lobby-button{flex:1;padding:2.5vh 0;font-size:2.2vh;font-weight:600;font-family:Manrope,sans-serif;border:none;border-radius:1.2vh;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:.02em;position:relative;overflow:hidden}.lobby-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .3s}.lobby-button:hover:before{opacity:1}.lobby-button:active{transform:scale(.98)}.lobby-button.primary{background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;box-shadow:0 1vh 2.5vh #002fa74d,0 .5vh 1.5vh #002fa733}.lobby-button.primary:hover{transform:translateY(-.3vh);box-shadow:0 1.5vh 3vh #002fa759,0 .8vh 2vh #002fa740}.lobby-button.secondary{background:#fff;color:#64748b;border:2px solid #dbeafe;box-shadow:0 .5vh 1.5vh #00000008}.lobby-button.secondary:hover{background:#f8fafc;border-color:#bfdbfe;transform:translateY(-.3vh);box-shadow:0 1vh 2vh #0000000d}.lobby-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.lobby-error{margin-top:2vh;padding:2vh 2.5vw;background:#f8717114;border:2px solid rgba(248,113,113,.2);border-radius:1.2vh;color:#dc2626;font-size:1.8vh;font-weight:500;text-align:center;animation:gentle-shake .5s}@keyframes gentle-shake{0%,to{transform:translate(0)}25%{transform:translate(-.5vw)}75%{transform:translate(.5vw)}}.option-group{display:flex;gap:1.5vh;flex-wrap:wrap}.option-button{flex:1;min-width:120px;padding:1.5vh 2vw;background:#fffc;border:2px solid rgba(26,26,46,.15);border-radius:1.5vh;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column;align-items:center;gap:.5vh}.option-button:hover{background:#fffffff2;border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.option-button.selected{background:linear-gradient(135deg,#6366f126,#8b5cf626);border-color:#8b5cf6cc;box-shadow:0 0 20px #8b5cf64d}.option-button.recommended{border-color:#fbbf2466}.option-button.recommended.selected{border-color:#fbbf24cc;box-shadow:0 0 20px #fbbf244d}.option-label{font-size:2vh;font-weight:700;color:#1a1a2e}.option-desc{font-size:1.4vh;color:#1a1a2eb3}.option-badge{position:absolute;top:-1vh;right:-1vh;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e;font-size:1.2vh;font-weight:700;padding:.3vh 1vh;border-radius:1vh;box-shadow:0 2px 8px #fbbf2466}@media(max-width:768px){.lobby-container{min-width:85vw;max-width:85vw;padding:4vh 6vw}.lobby-title{font-size:4.5vh}.form-actions,.option-group{flex-direction:column}.option-button{min-width:100%}}.card{width:11vh;height:16vh;background:#fff;border-radius:1.2vh;border:2px solid #e2e8f0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 .5vh 1.5vh #0000001a;position:relative;-webkit-user-select:none;user-select:none}.card.card-small{width:7vh;height:10vh;border-radius:.8vh;box-shadow:0 .3vh 1vh #0000001a}.card.card-small .rank{font-size:1.6vh}.card.card-small .suit{font-size:1.3vh}.card.card-small .suit-large{font-size:4vh}.card.card-small .joker-text{font-size:.8vh}.card.card-small .joker-symbol{font-size:5vh}.card.card-small .card-corner{gap:.2vh}.card.card-small .card-corner.top-left{top:.7vh;left:.7vh}.card.card-small .card-corner.bottom-right{bottom:.7vh;right:.7vh}.card:hover{box-shadow:0 1vh 2.5vh #00000026;border-color:#93c5fd}.card.selected{transform:translateY(-2.5vh);box-shadow:0 2vh 4vh #0003}.card.selected:hover{transform:translateY(-2.5vh)}.public-slot .card{animation:none}.public-slot .card.selected,.public-slot .card.selected:hover{transform:none}.card-inner{width:100%;height:100%;padding:1vh;display:flex;flex-direction:column;position:relative}.card-corner{display:flex;flex-direction:column;align-items:center;gap:.3vh;font-weight:700}.card-corner.top-left{position:absolute;top:1vh;left:1vh}.card-corner.bottom-right{position:absolute;bottom:1vh;right:1vh;transform:rotate(180deg)}.rank{font-size:2.5vh;line-height:1;font-weight:700}.suit{font-size:2vh;line-height:1}.card-center{flex:1;display:flex;align-items:center;justify-content:center}.suit-large{font-size:6vh;opacity:.3;font-weight:700}.card.joker{background:linear-gradient(135deg,#fef3c7,#fde68a);border-width:3px}.joker-text{font-size:1.2vh;font-weight:800;color:#78350f;letter-spacing:.1vh;font-family:Arial,sans-serif}.joker-symbol{font-size:8vh;line-height:1;filter:drop-shadow(0 .5vh 1vh rgba(0,0,0,.2))}@keyframes card-deal{0%{opacity:0;transform:translateY(-5vh) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.card{animation:card-deal .4s cubic-bezier(.34,1.56,.64,1)}.player-position{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:10}.player-cards{display:flex;flex-direction:column;align-items:center;gap:0;transition:all .3s ease;position:relative}.player-info-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:.6vh 1.5vw;background:#fffffff2;-webkit-backdrop-filter:blur(1vh);backdrop-filter:blur(1vh);border-radius:1.5vh;box-shadow:0 .3vh 1vh #00000026;border:2px solid rgba(0,47,167,.1);position:absolute;bottom:.5vh;left:50%;transform:translate(-50%);z-index:3}.cards-display{display:flex;gap:0;position:relative;z-index:2}.player-nickname{font-size:1.4vh;font-weight:600;color:#1e293b;font-family:Manrope,sans-serif;white-space:nowrap}.card-back{width:10vh;height:14vh;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1.2vh;display:flex;align-items:center;justify-content:center;box-shadow:0 .5vh 1.5vh #00000026,inset 0 0 0 2px #002fa71a;border:2px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden;margin-left:-3vw}.card-back:first-child{margin-left:0}.card-back:before{content:"";position:absolute;width:100%;height:100%;background:repeating-linear-gradient(45deg,rgba(0,47,167,.08) 0px,rgba(0,47,167,.08) 12px,transparent 12px,transparent 24px),repeating-linear-gradient(-45deg,rgba(0,47,167,.08) 0px,rgba(0,47,167,.08) 12px,transparent 12px,transparent 24px)}.player-cards.current-turn .player-info-bottom{background:#10b98126;border-color:#10b9814d}.player-cards.current-turn .card-back{animation:glow-pulse 1.5s infinite;box-shadow:0 0 2vh #002fa799,0 .5vh 1.5vh #0003,inset 0 0 0 2px #002fa766;border-color:#002fa74d}@keyframes glow-pulse{0%,to{box-shadow:0 0 2vh #002fa799,0 .5vh 1.5vh #0003,inset 0 0 0 2px #002fa766}50%{box-shadow:0 0 3vh #002fa7e6,0 .8vh 2vh #0000004d,inset 0 0 0 2px #002fa799}}.player-position-top{top:3vh;left:50%;transform:translate(-50%)}.player-position-top-left{top:3vh;left:15vw}.player-position-top-right{top:3vh;right:15vw}.player-position-left{left:5vw;top:50%;transform:translateY(-50%)}.player-position-right{right:5vw;top:50%;transform:translateY(-50%)}.player-cards.knocker{position:relative}.player-cards.knocker .card-back{border:2px solid gold;box-shadow:0 0 20px #ffd70080,0 .5vh 1.5vh #0003}.knocker-badge{position:absolute;top:-12px;right:-12px;background:linear-gradient(135deg,gold,#ffed4e);color:#333;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0003;z-index:10}.response-indicator{margin-top:4px}.response-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600;white-space:nowrap}.response-badge.fold{background:#e0e0e0;color:#666}.response-badge.call{background:#ffebee;color:#f44336}.response-badge.pending{background:#fff3e0;color:#ff9800;animation:pulse-badge 1.5s ease-in-out infinite}.response-badge.not-yet{background:#f5f5f5;color:#999}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.deck-pile{display:flex;flex-direction:column;align-items:center;gap:1vh;transition:all .3s ease}.deck-pile.empty{cursor:not-allowed;opacity:.5}.deck-stack{position:relative;width:8vh;height:11vh;transition:all .3s ease}.deck-empty{width:8vh;height:11vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000001a;border:2px dashed rgba(0,0,0,.2);border-radius:1vh;gap:.5vh}.empty-icon{font-size:3vh;opacity:.3}.empty-text{font-size:1.2vh;color:#0000004d;font-weight:600}.deck-count-back{position:absolute;top:calc(50% - (var(--layers, 5) * .15vh));left:calc(50% + (var(--layers, 5) * .05vh));transform:translate(-50%,-50%);font-size:4.5vh;font-weight:800;color:#002fa740;font-family:Bricolage Grotesque,sans-serif;z-index:30;pointer-events:none;text-shadow:0 0 1vh rgba(255,255,255,.8);line-height:1}.deck-layer{position:absolute;width:8vh;height:11vh;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1vh;box-shadow:0 .5vh 1.5vh #0003,inset 0 0 0 2px #002fa71a;border:2px solid #e2e8f0;top:0;left:0;transform:translateY(calc(var(--layer) * -.3vh)) translate(calc(var(--layer) * .1vh));z-index:calc(10 + var(--layer))}.card-back-pattern{width:100%;height:100%;background:repeating-linear-gradient(45deg,rgba(0,47,167,.08) 0px,rgba(0,47,167,.08) 10px,transparent 10px,transparent 20px),repeating-linear-gradient(-45deg,rgba(0,47,167,.08) 0px,rgba(0,47,167,.08) 10px,transparent 10px,transparent 20px);border-radius:.8vh}.deck-stack{perspective:100vh}.deck-layer{transform-style:preserve-3d;animation:deck-float 3s ease-in-out infinite;animation-delay:calc(var(--layer) * -.1s)}@keyframes deck-float{0%,to{transform:translateY(calc(var(--layer) * -.3vh)) translate(calc(var(--layer) * .1vh)) rotateX(0)}50%{transform:translateY(calc(var(--layer) * -.3vh - .3vh)) translate(calc(var(--layer) * .1vh)) rotateX(2deg)}}.play-area{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:3vw;z-index:5}.deck-zone{flex-shrink:0}.public-zone{display:flex;gap:1.5vw;padding:2vh 2vw;background:#ffffff0d;border-radius:1.5vh;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 .5vh 2vh #0000001a}.public-slot{width:11vh;height:16vh;border-radius:1.2vh;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center}.public-slot.empty{background:#0000001a;border:2px dashed rgba(255,255,255,.2);cursor:default}.public-slot.filled{background:transparent;border:2px solid transparent;cursor:default}.public-slot.filled.clickable{cursor:pointer}.public-slot.filled.clickable:hover{transform:translateY(-.5vh)}.public-slot.filled.clickable:hover .card{border-color:#3b82f680}.public-slot.selected .card{border:3px solid #3b82f6!important;box-shadow:0 0 1.5vh #3b82f699!important}.slot-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slot-number{font-size:2.5vh;font-weight:700;color:#ffffff26;font-family:Manrope,sans-serif}.hand-info{position:fixed;left:3vw;bottom:2vh;border-radius:1.5vh;padding:1.5vh 2vh;box-shadow:0 .5vh 2vh #00000026;display:flex;flex-direction:column;gap:1vh;min-width:220px;max-width:260px;z-index:50;border:2px solid rgba(0,0,0,.05);transition:all .3s}.hand-info.mazi{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.hand-info.safe{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.status-title{font-size:2vh;font-weight:700;text-align:center;padding:.8vh;border-radius:.8vh;margin-bottom:.5vh}.hand-info.mazi .status-title{color:#92400e;background:#fff9}.hand-info.safe .status-title{color:#065f46;background:#fff9}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.8vh 1.2vh;border-radius:.8vh;background:#ffffffb3}.info-row.highlight{background:#ffffffe6;border:2px solid rgba(0,0,0,.1)}.info-label{font-size:1.4vh;color:#64748b;font-weight:500}.info-value{font-size:1.6vh;font-weight:600}.info-value.achieved{color:#065f46;font-weight:700}.info-value.not-achieved{color:#dc2626;font-weight:700}.score-value{color:#334155;font-weight:700}.basic-score-value{color:#92400e;font-weight:700;font-size:2vh}@media(max-width:768px){.hand-info{left:2vw;bottom:1.5vh;min-width:180px;max-width:200px;padding:1.2vh 1.5vh}.status-title{font-size:1.8vh}}.showdown-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 8px 24px #0000004d;z-index:100;min-width:500px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.banner-header{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin-bottom:12px}.knocker-name{font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.response-status{display:flex;flex-direction:column;gap:6px;font-size:14px}.current-responder,.responded-list,.waiting-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.label{opacity:.9;font-weight:500}.player-name.highlight{background:#fff3;padding:2px 8px;border-radius:4px;font-weight:600}.waiting-indicator{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.responded-item{background:#ffffff26;padding:2px 8px;border-radius:4px}.waiting-item{opacity:.7}.settlement-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.settlement-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:20px;max-width:850px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.settlement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:20px}.settlement-title{font-size:22px;font-weight:700;color:gold;text-shadow:0 2px 10px rgba(255,215,0,.3);margin:0;flex-shrink:0}.settlement-table{background:#ffffff0d;border-radius:12px;padding:12px;margin-bottom:0}.settlement-table-header{display:grid;grid-template-columns:100px 1fr 150px;gap:12px;padding:8px 12px;background:#ffffff1a;border-radius:8px;margin-bottom:8px;font-weight:700;color:#e0e0e0;font-size:12px;align-items:center}.player-row{display:grid;grid-template-columns:100px 1fr 150px;gap:12px;padding:6px 12px;background:#ffffff08;border-radius:8px;margin-bottom:6px;align-items:center;transition:all .3s ease;border:2px solid transparent;min-height:50px}.player-row:hover{background:#ffffff14;transform:translate(5px)}.player-row.winner{background:linear-gradient(90deg,#ffd70033,#ffd7000d);border-color:#ffd70080;box-shadow:0 4px 15px #ffd70033}.player-row.mazi{opacity:.7}.col-player{display:flex;align-items:center;gap:10px}.player-name{font-size:13px;font-weight:500;color:#fff;white-space:nowrap}.winner-badge-small{font-size:14px}.col-hand{display:flex;justify-content:flex-start;align-items:center;overflow:visible;min-width:0}.hand-cards{display:flex;gap:1px;flex-wrap:nowrap;justify-content:center;align-items:center;overflow-x:visible}.card-small{transform:scale(.9);transform-origin:center;flex-shrink:0}.col-type{display:flex;justify-content:flex-end;align-items:center;gap:8px}.flush-info{display:flex;align-items:center;gap:8px}.suit-symbol{font-size:24px;font-weight:700;flex-shrink:0}.suit-symbol.red{color:#f44}.suit-symbol.black{color:#fff}.type-details{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.hand-score-label{font-size:11px;color:#e0e0e0;font-weight:500;white-space:nowrap}.score-diff{font-size:12px;font-weight:600;white-space:nowrap}.score-diff.normal-score{color:#4ade80}.score-diff.mazi-score{color:#f87171}.flush-text{font-size:14px;color:#e0e0e0}.hand-score{font-size:12px;color:#aaa}.no-flush{color:#666;font-size:18px}.btn-next-round{padding:10px 24px;font-size:15px;font-weight:700;color:#1a1a2e;background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4ade8066;flex-shrink:0;white-space:nowrap}.btn-next-round:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4ade8099;background:linear-gradient(135deg,#22c55e,#16a34a)}.btn-next-round:active{transform:translateY(0)}@media(max-width:768px){.settlement-modal{padding:25px;width:95%}.settlement-title{font-size:24px}.winner-name{font-size:22px}.winner-score{font-size:26px}.settlement-table-header,.player-row{grid-template-columns:100px 1fr 180px;gap:10px;padding:12px;font-size:13px}.hand-cards{gap:4px}.card-small{transform:scale(.6)}.flush-text{font-size:12px}.col-score{font-size:18px}}.round-info{display:flex;flex-direction:column;gap:6px}.round-progress{font-size:14px;color:#ffffffb3;margin:0}.final-leaderboard{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:2px solid rgba(251,191,36,.4);border-radius:12px;padding:18px;margin-bottom:18px}.leaderboard-title{font-size:18px;font-weight:700;color:#fbbf24;margin:0 0 14px;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:10px}.leaderboard-row{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s ease}.leaderboard-row:hover{background:#ffffff14}.leaderboard-row.champion{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);border-color:#fbbf2480;box-shadow:0 0 20px #fbbf2433}.rank{font-size:20px;font-weight:800;color:#fff;min-width:32px;text-align:center}.champion .rank{color:#fbbf24}.player-info{flex:1;display:flex;align-items:center;gap:8px}.champion-badge{font-size:18px}.score-info{display:flex;align-items:baseline;gap:8px}.total-score{font-size:22px;font-weight:800;color:#fff}.champion .total-score{color:#fbbf24}.round-score{font-size:14px;font-weight:600}.round-score.positive{color:#22c55e}.round-score.negative{color:#ef4444}.score-panel-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;z-index:200;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.score-panel{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:-4px 0 20px #00000026;z-index:201;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.score-panel.open{right:0}.score-panel-header{padding:24px;background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;flex-shrink:0}.score-panel-title{margin:0 0 8px;font-size:20px;font-weight:800;font-family:Bricolage Grotesque,sans-serif}.game-progress{font-size:14px;color:#ffffffe6;font-weight:600}.current-round{font-size:18px;font-weight:800;color:#fbbf24}.score-panel-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px}.score-panel-content::-webkit-scrollbar{width:0;display:none}.score-panel-content{scrollbar-width:none;-ms-overflow-style:none}.section-title{margin:0 0 12px;font-size:14px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.total-scores-section{flex-shrink:0}.players-list{display:flex;flex-direction:column;gap:8px}.player-score-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.player-score-row:hover{border-color:#93c5fd;transform:translate(-4px);box-shadow:0 2px 8px #00000014}.player-score-row:first-child{border-color:#fbbf24;background:linear-gradient(135deg,#fef3c7,#fde68a 20%,#fff 20%)}.player-rank{font-size:18px;font-weight:800;color:#002fa7;min-width:28px;text-align:center}.player-score-row:first-child .player-rank{color:#f59e0b}.player-name{flex:1;font-size:16px;font-weight:700;color:#1e293b}.player-total-score{font-size:20px;font-weight:800;color:#002fa7;font-family:Bricolage Grotesque,sans-serif}.player-score-row:first-child .player-total-score{color:#f59e0b}.round-history-section{flex:1;min-height:0}.rounds-list{display:flex;flex-direction:column;gap:12px}.round-record{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:12px;transition:all .2s ease}.round-record:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.round-num{font-size:13px;font-weight:700;color:#002fa7}.round-winner{font-size:12px;font-weight:600;color:#f59e0b}.round-scores{display:flex;flex-direction:column;gap:6px}.round-score-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#f8fafc;border-radius:6px}.score-player-name{font-size:13px;font-weight:600;color:#475569}.score-value{font-size:14px;font-weight:800;font-family:Bricolage Grotesque,sans-serif}.score-value.positive{color:#10b981}.score-value.negative{color:#ef4444}.empty-history{padding:40px 20px;text-align:center}.empty-history p{margin:0;font-size:14px;color:#94a3b8}@media(max-width:768px){.score-panel{width:85vw;right:-85vw}}.btn-score-panel{position:fixed;top:2vh;left:2vw;z-index:100;width:5vh;height:5vh;padding:0;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:1.5vh;color:#fff;font-size:2.5vh;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 8px #0000001a}.btn-score-panel:hover{background:#ffffff26;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026}.btn-score-panel:active{transform:translateY(-1px) scale(1.02)}.game-info-bar{position:fixed;top:2vh;right:2vw;z-index:100;display:flex;align-items:center;gap:1vw;background:#ffffff14;padding:1vh 1.5vw;border-radius:1.5vh;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15)}.room-code-display{color:#fff;font-size:1.6vh;font-weight:700;letter-spacing:.05em;display:none;align-items:center;gap:1.5vh}.round-indicator{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);padding:.5vh 1.2vh;border-radius:1vh;font-size:1.4vh;font-weight:600;color:#fffffff2}.btn-refresh-fixed{width:3.5vh;height:3.5vh;padding:0;background:#fff3;border:1.5px solid rgba(255,255,255,.4);border-radius:.8vh;color:#fff;font-size:2vh;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.btn-refresh-fixed:hover{background:#ffffff59;transform:rotate(90deg) scale(1.1);box-shadow:0 2px 8px #ffffff4d}.btn-refresh-fixed:active{transform:rotate(90deg) scale(.95)}.error-toast{position:absolute;top:8vh;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:1.5vh 3vw;border-radius:1.5vh;box-shadow:0 4px 15px #ef444466;z-index:101;font-size:1.8vh;font-weight:600;animation:slideDown .3s ease;display:flex;align-items:center;gap:2vw}.btn-refresh-state{padding:.8vh 1.5vw;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:1vh;color:#fff;font-size:1.4vh;font-weight:600;cursor:pointer;transition:all .2s}.btn-refresh-state:hover{background:#ffffff4d;transform:scale(1.05)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.game-room-waiting{width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3vh 5vw;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);position:relative}.waiting-header{position:absolute;top:3vh;width:90vw;display:flex;justify-content:space-between;align-items:center}.waiting-room-code{font-family:Bricolage Grotesque,sans-serif;font-size:3vh;font-weight:800;background:linear-gradient(135deg,#002fa7,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;border:none;cursor:pointer;padding:1vh 2vw;border-radius:1vh;transition:all .3s ease;position:relative;background-color:transparent}.waiting-room-code:hover{background:#002fa70d;-webkit-text-fill-color:#002fa7}.copied-tip-waiting{position:absolute;top:-3vh;left:50%;transform:translate(-50%);background:#10b981;color:#fff;padding:.8vh 1.5vw;border-radius:.8vh;font-size:1.4vh;font-weight:600;white-space:nowrap;animation:tip-appear-waiting .3s ease;box-shadow:0 .5vh 1.5vh #10b9814d}@keyframes tip-appear-waiting{0%{opacity:0;transform:translate(-50%) translateY(.5vh)}to{opacity:1;transform:translate(-50%) translateY(0)}}.waiting-header-actions{display:flex;gap:1.5vw;align-items:center}.share-link-button{padding:1.5vh 2.5vw;font-size:1.8vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:1.2vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #10b9814d}.share-link-button:hover{transform:translateY(-.3vh);box-shadow:0 .8vh 2vh #10b98166}.waiting-title{font-family:Bricolage Grotesque,sans-serif;font-size:3vh;font-weight:800;background:linear-gradient(135deg,#002fa7,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.leave-button-waiting{padding:1.5vh 3vw;font-size:1.8vh;font-weight:600;font-family:Manrope,sans-serif;background:#fff;color:#ef4444;border:2px solid #fecaca;border-radius:1.2vh;cursor:pointer;transition:all .3s ease}.leave-button-waiting:hover{background:#fef2f2;border-color:#fca5a5;transform:translateY(-.3vh)}.waiting-content{display:flex;flex-direction:column;align-items:center;gap:3vh;max-width:80vw}.waiting-icon{font-size:8vh;animation:icon-bounce 2s infinite ease-in-out}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-1vh)}}.waiting-subtitle{font-family:Bricolage Grotesque,sans-serif;font-size:3.5vh;font-weight:800;color:#1e293b;margin:0}.waiting-info{font-size:2vh;color:#64748b;font-weight:500;margin:0}.waiting-players{display:flex;gap:2vw;flex-wrap:wrap;justify-content:center;margin:2vh 0}.waiting-player-card{display:flex;align-items:center;gap:1.5vw;padding:2vh 2.5vw;background:#fffc;-webkit-backdrop-filter:blur(1vh);backdrop-filter:blur(1vh);border-radius:1.5vh;border:2px solid rgba(0,47,167,.1);box-shadow:0 .5vh 2vh #0000000d;min-width:20vw}.waiting-player-avatar{width:6vh;height:6vh;border-radius:50%;background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5vh;font-weight:700}.waiting-player-info{flex:1;display:flex;flex-direction:column;gap:.8vh}.waiting-player-name{font-size:2vh;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:1vw}.badge-host,.badge-you{font-size:1.4vh;font-weight:600;padding:.5vh 1vw;border-radius:.8vh}.badge-host{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.badge-you{color:#002fa7;background:#002fa71a;border:1px solid rgba(0,47,167,.3)}.waiting-player-status{display:flex;align-items:center}.status-badge{font-size:1.4vh;font-weight:500;padding:.5vh 1.2vw;border-radius:.8vh}.status-host{color:#f59e0b;background:#f59e0b1a}.status-ready{color:#10b981;background:#10b9811a}.status-not-ready{color:#94a3b8;background:#94a3b81a}.waiting-error{padding:1.5vh 3vw;background:#f871711a;border:2px solid rgba(248,113,113,.3);border-radius:1vh;color:#dc2626;font-size:1.8vh;font-weight:500;animation:error-shake .5s}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-.5vw)}75%{transform:translate(.5vw)}}.waiting-actions{display:flex;gap:2vw;justify-content:center;margin-top:2vh}.btn-ready{padding:2vh 4vw;font-size:2vh;font-weight:600;font-family:Manrope,sans-serif;background:#fff;color:#1e40af;border:2px solid #bfdbfe;border-radius:1.2vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #002fa71a}.btn-ready:hover{background:#f8fafc;border-color:#93c5fd;transform:translateY(-.3vh)}.btn-ready.ready{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.btn-ready:disabled{opacity:.5;cursor:not-allowed}.btn-start{padding:2.5vh 5vw;font-size:2.2vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;border:none;border-radius:1.2vh;cursor:pointer;transition:all .3s ease;box-shadow:0 1vh 2.5vh #002fa74d;animation:button-pulse 3s infinite ease-in-out}.btn-start:hover{transform:translateY(-.5vh) scale(1.02)}.btn-start:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes button-pulse{0%,to{box-shadow:0 1vh 2.5vh #002fa74d}50%{box-shadow:0 1.5vh 3vh #002fa766}}.game-room-playing{width:100vw;height:100vh;overflow:hidden;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);position:relative}.my-hand-area{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding:1vh 3vw 2vh}.my-hand-header{display:flex;flex-direction:column;align-items:center;gap:1vh;margin-bottom:3vh;padding-bottom:1.5vh}.my-hand-actions{display:flex;gap:2vw;margin-bottom:2vh}.selected-count-badge{font-size:1.6vh;font-weight:600;color:#002fa7;background:#002fa71a;padding:.8vh 2vw;border-radius:1vh;border:1px solid rgba(0,47,167,.2);animation:pulse-badge .3s ease}@keyframes pulse-badge{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.my-hand-cards{display:flex;gap:1.5vw;justify-content:center;align-items:flex-end;-webkit-user-select:none;user-select:none;min-height:16vh}.my-hand-cards.dragging{cursor:grabbing}.my-hand-cards>div{cursor:grab}.my-hand-cards>div:active{cursor:grabbing}.no-cards-text{color:#94a3b8;font-size:1.8vh;font-style:italic}.my-hand-actions{display:flex;gap:2vw}.btn-action{padding:1.2vh 2.5vw;font-size:1.6vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #002fa74d}.btn-action:hover:not(:disabled){transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #002fa766}.btn-action:disabled{opacity:.4;cursor:not-allowed;background:#94a3b8}.btn-knock{padding:1.2vh 2.5vw;font-size:1.6vh;font-weight:700;font-family:Manrope,sans-serif;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease}.btn-knock.can-knock{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 .5vh 1.5vh #10b98166}.btn-knock.can-knock:hover:not(:disabled){transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #10b98180}.btn-knock.cannot-knock{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;box-shadow:none}.btn-knock:disabled{opacity:.6;cursor:not-allowed}.btn-draw{padding:1.2vh 3.5vw;font-size:1.8vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #10b9814d}.btn-draw:hover:not(:disabled){transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #10b98166}.btn-draw:disabled{opacity:.4;cursor:not-allowed;background:#94a3b8}.swap-mode-info{display:flex;flex-direction:column;align-items:center;gap:1.5vh;width:100%}.swap-instruction{font-size:1.8vh;font-weight:600;color:#1e40af;margin:0}.swap-actions{display:flex;gap:2vw}.btn-confirm-swap{padding:1.2vh 3vw;font-size:1.6vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #10b9814d}.btn-confirm-swap:hover:not(:disabled){transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #10b98166}.btn-confirm-swap:disabled{opacity:.4;cursor:not-allowed;background:#94a3b8}.btn-cancel-swap{padding:1.2vh 3vw;font-size:1.6vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #ef44444d}.btn-cancel-swap:hover{transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #ef444466}.btn-play{padding:1.2vh 3.5vw;font-size:1.8vh;font-weight:600;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#002fa7,#1e40af);color:#fff;border:none;border-radius:1vh;cursor:pointer;transition:all .3s ease;box-shadow:0 .5vh 1.5vh #002fa74d}.btn-play:hover:not(:disabled){transform:translateY(-.3vh);box-shadow:0 1.2vh 2.5vh #002fa766}.btn-play:disabled{opacity:.4;cursor:not-allowed;background:#94a3b8}.game-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.pattern{position:absolute;width:40vw;height:40vw;border-radius:50%;opacity:.03}.pattern-1{background:radial-gradient(circle,#002fa7 0%,transparent 70%);top:-10vw;left:-10vw;animation:pattern-drift 20s infinite ease-in-out}.pattern-2{background:radial-gradient(circle,#1e40af 0%,transparent 70%);bottom:-10vw;right:-10vw;animation:pattern-drift 25s infinite ease-in-out reverse}@keyframes pattern-drift{0%,to{transform:translate(0)}50%{transform:translate(5vw,5vh)}}.showdown-waiting{padding:2vh;text-align:center;background:#ffffffe6;border-radius:1.5vh}.showdown-waiting .waiting-text{color:#666;font-size:1.6vh;margin:0}.showdown-warning{color:#ff9800;font-size:1.4vh;margin-bottom:1vh;padding:1vh;background:#ff98001a;border-radius:1vh;text-align:center}.btn-fold,.btn-call{display:flex;flex-direction:column;align-items:center;gap:.5vh;padding:1.5vh 3vh;border:2px solid;border-radius:1.5vh;background:#fff;cursor:pointer;transition:all .2s;font-family:Manrope,sans-serif;min-width:12vh}.btn-fold{border-color:#9e9e9e;color:#666}.btn-fold:hover:not(:disabled){background:#f5f5f5;border-color:#757575;transform:translateY(-.3vh);box-shadow:0 .8vh 1.5vh #00000026}.btn-call{border-color:#f44336;color:#f44336}.btn-call:hover:not(:disabled){background:#ffebee;border-color:#d32f2f;transform:translateY(-.3vh);box-shadow:0 .8vh 1.5vh #f443364d}.btn-fold:disabled,.btn-call:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-fold .btn-icon,.btn-call .btn-icon{font-size:2.5vh}.btn-fold .btn-text,.btn-call .btn-text{font-size:1.6vh;font-weight:600}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:#f8fafc;color:#1e293b}#root{width:100vw;height:100vh;overflow:hidden}
