.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.tutorial-card{background:#fff;width:90%;max-width:360px;border-radius:20px;padding:30px 20px;position:relative;text-align:center;box-shadow:0 10px 30px #0003;transform:translateY(20px);animation:slideUp .3s ease-out forwards}.close-btn{position:absolute;top:10px;right:15px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:5px}.tutorial-image{font-size:60px;margin-bottom:20px;display:inline-block;animation:bounce 2s infinite}.tutorial-content h2{font-size:24px;color:#333;margin-bottom:10px}.tutorial-content p{font-size:16px;color:#666;line-height:1.5;margin-bottom:30px;white-space:pre-wrap}.tutorial-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#eee;transition:all .3s}.dot.active{background:#7ad3b5;width:20px;border-radius:4px}.next-btn{background:#7ad3b5;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:700;font-size:16px;cursor:pointer;transition:transform .1s}.next-btn:active{transform:scale(.95)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.tutorial-animation-container{width:100%;height:220px;display:flex;justify-content:center;align-items:center;background:#f8f9fa;border-radius:16px;margin-bottom:24px;position:relative;overflow:hidden}.mini-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;position:relative}.mini-tile{width:45px;height:45px;background:#eee;border-radius:10px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700;color:#444;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0000000d}.mini-tile.target{background-color:#ffe0b2}.mini-tile[data-value="1"]{background:#ff9aa2;color:#fff}.mini-tile[data-value="2"]{background:#ffb7b2;color:#fff}.mini-tile[data-value="3"]{background:#ffdac1;color:#555}.mini-tile[data-value="4"]{background:#e2f0cb;color:#555}.mini-tile[data-value="5"]{background:#b5ead7;color:#555}.mini-tile[data-value="6"]{background:#c7ceea;color:#fff}.mini-tile[data-value="7"]{background:#91a8e0;color:#fff}.mini-tile[data-value="8"]{background:#e0bbe4;color:#fff}.mini-tile[data-value="9"]{background:#957dad;color:#fff}.drag-selection-box{position:absolute;background:#ffb54733;border:2px solid #FFB547;pointer-events:none;z-index:15;box-sizing:border-box;border-radius:4px}.hand-cursor{position:absolute;font-size:36px;pointer-events:none;z-index:20;filter:drop-shadow(2px 4px 6px rgba(0,0,0,.2));top:0;left:0}.connection-line-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.score-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:36px;font-weight:900;color:gold;text-shadow:2px 2px 0 #333,0 0 10px rgba(255,215,0,.5);z-index:30;pointer-events:none}.language-switcher{position:relative}.lang-switch-button{width:40px;height:40px;border:none;background:#7ad3b51a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#7ad3b5}.lang-switch-button:hover{background:#7ad3b533;transform:scale(1.05)}.lang-switch-button:active{transform:scale(.95)}.lang-icon{font-size:20px}.lang-switch-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;padding:6px;min-width:150px;z-index:1000;animation:langMenuFadeIn .15s ease}@keyframes langMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lang-switch-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .2s ease;font-size:14px;color:#2d4a3e}.lang-switch-option:hover{background:#7ad3b51a}.lang-switch-option.active{background:#7ad3b526;font-weight:600}.lang-switch-flag{font-size:18px;flex-shrink:0}.lang-switch-name{flex:1;text-align:left}.lang-switch-check{font-size:14px;color:#7ad3b5;font-weight:700}.volume-control{position:relative}.volume-panel{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:16px;min-width:280px;z-index:1001;animation:volumePanelFadeIn .2s ease}@keyframes volumePanelFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.volume-panel-header{font-size:16px;font-weight:700;color:#2d5f4e;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(122,211,181,.2)}.volume-sliders{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.volume-item{display:flex;flex-direction:column;gap:8px}.volume-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#2d5f4e;font-weight:500}.volume-value{font-size:12px;color:#7ad3b5;font-weight:700;font-family:Courier New,monospace}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#7AD3B5 0%,#7AD3B5 var(--value),rgba(122,211,181,.2) var(--value),rgba(122,211,181,.2) 100%);outline:none;cursor:pointer;transition:all .2s}.volume-slider:disabled{opacity:.4;cursor:not-allowed}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#7ad3b5;cursor:pointer;box-shadow:0 2px 6px #7ad3b566;transition:all .2s}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 8px #7ad3b599}.volume-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#7ad3b5;cursor:pointer;border:none;box-shadow:0 2px 6px #7ad3b566;transition:all .2s}.volume-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 8px #7ad3b599}.quick-mute-btn{width:100%;padding:10px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7ad3b54d}.quick-mute-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7ad3b566}.quick-mute-btn:active{transform:translateY(0)}@media (max-width: 768px){.volume-panel{min-width:260px;padding:14px;right:-10px}.volume-panel-header{font-size:15px;margin-bottom:14px;padding-bottom:10px}.volume-sliders{gap:14px}.volume-label{font-size:13px}.volume-value{font-size:11px}.volume-slider::-webkit-slider-thumb{width:18px;height:18px}.volume-slider::-moz-range-thumb{width:18px;height:18px}.quick-mute-btn{padding:9px;font-size:13px}}@media (max-width: 480px){.volume-panel{min-width:240px;padding:12px;right:-20px}.volume-panel-header{font-size:14px}.volume-sliders{gap:12px}.volume-label{font-size:12px}.volume-slider{height:8px}.volume-slider::-webkit-slider-thumb{width:20px;height:20px}.volume-slider::-moz-range-thumb{width:20px;height:20px}}.policy-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.policy-content{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:policySlideUp .3s ease-out}@keyframes policySlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.policy-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:2px solid rgba(122,211,181,.2);flex-shrink:0}.policy-header h1{font-size:28px;font-weight:700;color:#2d5f4e;margin:0}.policy-close-btn{width:36px;height:36px;border:none;background:#7ad3b51a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#2d5f4e;transition:all .2s;flex-shrink:0}.policy-close-btn:hover{background:#7ad3b533;transform:scale(1.05)}.policy-close-btn:active{transform:scale(.95)}.policy-body{padding:32px;overflow-y:auto;flex:1}.policy-body section{margin-bottom:32px}.policy-body section:last-child{margin-bottom:0}.policy-body h2{font-size:20px;font-weight:700;color:#2d5f4e;margin:0 0 16px}.policy-body p{font-size:15px;line-height:1.7;color:#444;margin:0 0 12px}.policy-body ul{margin:12px 0;padding-left:24px}.policy-body li{font-size:15px;line-height:1.7;color:#444;margin-bottom:8px}.policy-footer{padding:20px 32px;border-top:2px solid rgba(122,211,181,.2);background:#7ad3b50d;border-radius:0 0 16px 16px;flex-shrink:0}.policy-footer p{margin:0;font-size:13px;color:#666;text-align:center}@media (max-width: 768px){.policy-overlay{padding:10px}.policy-content{max-height:95vh;border-radius:12px}.policy-header{padding:20px 24px}.policy-header h1{font-size:22px}.policy-close-btn{width:32px;height:32px;font-size:18px}.policy-body{padding:24px}.policy-body h2{font-size:18px;margin-bottom:12px}.policy-body p,.policy-body li{font-size:14px}.policy-footer{padding:16px 24px}.policy-footer p{font-size:12px}}@media (max-width: 480px){.policy-header{padding:16px 20px}.policy-header h1{font-size:20px}.policy-body{padding:20px}.policy-body section{margin-bottom:24px}.policy-body h2{font-size:17px}.policy-body p,.policy-body li{font-size:13px;line-height:1.6}}.name-input-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f5f1,#d4ece5);padding:20px;position:relative}.name-input-controls{position:absolute;top:20px;right:20px;z-index:100;display:flex;gap:8px;align-items:center}.name-input-controls .control-icon-btn{width:40px;height:40px;border:none;background:#fffffff2;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.name-input-controls .control-icon-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.name-input-controls .control-icon-btn:active{transform:scale(.95)}.name-input-controls .control-icon-btn .icon-text{font-size:20px}.name-input-container{background:#fff;padding:60px 40px;border-radius:24px;box-shadow:0 12px 48px #7ad3b533;text-align:center;max-width:500px;width:100%;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.name-input-form{margin-top:40px}.name-input-form h2{font-size:24px;color:#2d5f4e;margin-bottom:24px;font-weight:600}.name-input{width:100%;padding:16px 20px;font-size:18px;border:3px solid rgba(122,211,181,.3);border-radius:12px;outline:none;transition:all .2s;font-weight:500;color:#2d5f4e;box-sizing:border-box}.name-input:focus{border-color:#7ad3b5;box-shadow:0 0 0 4px #7ad3b51a}.name-input.error{border-color:#ff6b6b}.name-input::placeholder{color:#999}.error-message{color:#ff6b6b;font-size:14px;margin:8px 0 0;text-align:left;font-weight:500}.submit-name-btn{width:100%;padding:16px;margin-top:20px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #7ad3b54d}.submit-name-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7ad3b566}.submit-name-btn:active{transform:translateY(0)}.game-logo{display:flex;flex-direction:column;align-items:center;gap:16px}.logo-icon{width:120px;height:120px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-radius:28px;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:900;color:#fff;box-shadow:0 8px 32px #7ad3b566;position:relative;overflow:hidden}.logo-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}50%,to{left:150%}}.game-logo h1{font-size:48px;font-weight:900;color:#2d5f4e;margin:0;letter-spacing:-1px}.name-input-footer{margin-top:32px;padding-top:24px;border-top:1px solid rgba(122,211,181,.2);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.footer-link{background:none;border:none;color:#7ad3b5;font-size:13px;cursor:pointer;padding:4px 8px;transition:all .2s;text-decoration:none}.footer-link:hover{color:#5bc4a0;text-decoration:underline}.footer-divider{color:#ccc;font-size:13px}@media (max-width: 768px){.name-input-screen{padding:15px}.name-input-controls{top:15px;right:15px;gap:6px}.name-input-controls .control-icon-btn{width:36px;height:36px}.name-input-controls .control-icon-btn .icon-text{font-size:18px}.name-input-container{padding:40px 30px;max-width:100%}.logo-icon{width:100px;height:100px;font-size:52px}.game-logo h1{font-size:36px}.name-input-form h2{font-size:20px;margin-bottom:20px}.name-input{font-size:16px;padding:14px 16px}.submit-name-btn{font-size:16px;padding:14px}.name-input-footer{margin-top:24px;padding-top:20px}.footer-link,.footer-divider{font-size:12px}}@media (max-width: 480px){.name-input-container{padding:30px 20px;border-radius:20px}.logo-icon{width:80px;height:80px;font-size:42px;border-radius:20px}.game-logo h1{font-size:28px}.name-input-form h2{font-size:18px}.name-input{font-size:15px;padding:12px 14px}.submit-name-btn{font-size:15px;padding:12px}.name-input-footer{margin-top:20px;padding-top:16px}.footer-link{font-size:11px;padding:3px 6px}.footer-divider{font-size:11px}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.name-input-screen{padding:10px}.name-input-controls{top:10px;right:10px}.name-input-container{padding:20px 30px;max-width:600px;width:auto;display:flex;align-items:center;gap:30px;border-radius:16px}.game-logo{flex-direction:column;gap:8px;flex-shrink:0;width:140px}.logo-icon{width:70px;height:70px;font-size:36px;border-radius:18px;margin:0 auto}.game-logo h1{font-size:20px;text-align:center;white-space:nowrap}.name-input-form{margin-top:0;flex:1;min-width:250px}.name-input-form h2{font-size:16px;margin-bottom:12px}.name-input{font-size:14px;padding:10px 14px}.submit-name-btn{font-size:14px;padding:10px;margin-top:12px}.name-input-footer{position:fixed;bottom:8px;left:50%;transform:translate(-50%);margin:0;padding:4px 12px;background:#ffffffb3;border-radius:12px;border-top:none}.footer-link{font-size:9px;padding:2px 4px;opacity:.6}.footer-link:hover{opacity:1}.footer-divider{font-size:9px;opacity:.4}}.interactive-logo-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s ease}.interactive-logo-wrapper:hover{transform:scale(1.08)}.interactive-logo-wrapper.wiggling{animation:wiggle .5s ease}@keyframes wiggle{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-8deg) scale(1.1)}40%{transform:rotate(8deg) scale(1.1)}60%{transform:rotate(-5deg) scale(1.05)}80%{transform:rotate(5deg) scale(1.05)}}.interactive-logo-image{width:100%;height:100%;object-fit:contain;pointer-events:none}.click-counter{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;font-size:12px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ff6b6b66;animation:pop-in .3s ease}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.sparkle-effect{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.sparkle{position:absolute;font-size:20px;animation:sparkle-float 2s ease forwards}.sparkle.s1{top:-10px;left:10%;animation-delay:0s}.sparkle.s2{top:-5px;right:10%;animation-delay:.1s}.sparkle.s3{bottom:-10px;left:20%;animation-delay:.2s}.sparkle.s4{bottom:-5px;right:20%;animation-delay:.3s}@keyframes sparkle-float{0%{opacity:0;transform:translateY(0) scale(.5)}30%{opacity:1;transform:translateY(-20px) scale(1.2)}to{opacity:0;transform:translateY(-40px) scale(.8)}}.interactive-logo-wrapper.sparkle{animation:glow-pulse .5s ease infinite alternate}@keyframes glow-pulse{0%{filter:drop-shadow(0 0 5px rgba(255,215,0,.5))}to{filter:drop-shadow(0 0 15px rgba(255,215,0,.8))}}.interactive-logo-wrapper:focus-visible{outline:3px solid #4A90D9;outline-offset:4px;border-radius:8px}@media (pointer: coarse){.interactive-logo-wrapper:hover{transform:none}.interactive-logo-wrapper:active{transform:scale(.95)}}.bug-report-btn{position:fixed;bottom:20px;right:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:10px 20px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s ease;z-index:1000;display:flex;align-items:center;gap:8px;text-decoration:none}.bug-report-btn:hover{background:#fff3;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.bug-report-btn:active{transform:translateY(0)}.bug-icon{font-size:16px}.room-item.skeleton{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);pointer-events:none}.skeleton-title{height:24px;width:70%;background:#fff3;border-radius:4px;margin-bottom:8px;animation:pulse 1.5s infinite}.skeleton-text{height:16px;width:50%;background:#ffffff26;border-radius:4px;margin-bottom:4px;animation:pulse 1.5s infinite}.skeleton-text.short{width:30%}.skeleton-badge{width:60px;height:24px;background:#fff3;border-radius:12px;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.lobby-container{width:100%;min-height:100vh;background:linear-gradient(135deg,#f0faf7,#e8f5f1);padding:20px 20px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}.lobby-header{max-width:1000px;margin:0 auto 40px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:20px;background:#fffffff2;border-radius:16px;box-shadow:0 4px 20px #7ad3b51a}.lobby-title{display:flex;align-items:center;gap:16px}.lobby-center{display:flex;justify-content:flex-start;align-items:center}.lobby-controls{display:flex;gap:8px;align-items:center;justify-self:end}.lobby-logo{width:50px;height:50px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 12px #7ad3b54d}.lobby-logo-image{width:60px;height:60px;object-fit:contain}.lobby-logo-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:logo-shine 3s infinite}.lobby-title h1{font-size:32px;font-weight:700;color:#2d5f4e;margin:0}.lobby-controls .volume-control .control-icon-btn,.lobby-controls .language-switcher .lang-switch-button{width:40px;height:40px;border:none;background:#7ad3b51f;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 6px #7ad3b51a}.lobby-controls .volume-control .control-icon-btn:hover,.lobby-controls .language-switcher .lang-switch-button:hover{background:#7ad3b540;transform:translateY(-1px);box-shadow:0 3px 8px #7ad3b533}.lobby-controls .volume-control .control-icon-btn:active,.lobby-controls .language-switcher .lang-switch-button:active{transform:translateY(0);box-shadow:0 2px 6px #7ad3b526}.lobby-controls .volume-control .control-icon-btn .icon-text,.lobby-controls .language-switcher .lang-icon{font-size:18px}.player-name-input{padding:10px 16px;font-size:15px;font-weight:500;border:2px solid rgba(122,211,181,.3);border-radius:10px;outline:none;transition:all .2s ease;width:180px;background:#fff;color:#2d5f4e;box-shadow:0 2px 6px #7ad3b514}.player-name-input:hover{border-color:#7ad3b580}.player-name-input:focus{border-color:#7ad3b5;box-shadow:0 0 0 3px #7ad3b526}.player-name-input::placeholder{color:#999;font-weight:400}.lobby-content{max-width:1000px;margin:0 auto}.room-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.room-list-title{display:flex;align-items:baseline;gap:12px}.room-list-title h2{font-size:24px;font-weight:700;color:#2d5f4e;margin:0}.room-count{font-size:14px;color:#666;font-weight:500}.room-list-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.room-search-input{padding:8px 12px;font-size:14px;border:2px solid rgba(122,211,181,.3);border-radius:8px;background:#fff;color:#2d5f4e;width:180px;transition:all .2s}.room-search-input:focus{outline:none;border-color:#7ad3b5;box-shadow:0 0 0 3px #7ad3b51a}.room-search-input::placeholder{color:#999}.invite-code-section{display:flex;gap:8px;align-items:center}.invite-code-input{padding:8px 12px;font-size:14px;font-family:Courier New,monospace;font-weight:700;letter-spacing:1px;border:2px solid #7AD3B5;border-radius:8px;background:#fff;color:#2d5f4e;width:120px;text-align:center;text-transform:uppercase;transition:all .2s}.invite-code-input:focus{outline:none;border-color:#5bc4a0;box-shadow:0 0 0 3px #7ad3b533}.invite-code-input::placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;letter-spacing:normal;text-transform:none}.join-by-code-btn{padding:8px 16px;font-size:14px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5fc9a8);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7ad3b54d}.join-by-code-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7ad3b566}.join-by-code-btn:active:not(:disabled){transform:translateY(0)}.join-by-code-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-room-btn{padding:8px 16px;font-size:18px;background:linear-gradient(135deg,#7ad3b5,#5fc9a8);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7ad3b54d}.refresh-room-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7ad3b566}.refresh-room-btn:active{transform:translateY(0)}.create-room-btn{padding:12px 24px;font-size:16px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #7ad3b54d}.create-room-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #7ad3b566}.create-room-btn:disabled{opacity:.5;cursor:not-allowed}.test-rooms-btn{padding:12px 20px;font-size:16px;font-weight:700;background:linear-gradient(135deg,#ff8f7e,#ff6b6b);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #ff6b6b4d}.test-rooms-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.test-rooms-btn:active{transform:translateY(0)}.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;min-height:200px;margin-bottom:20px}.empty-room-list{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.empty-room-list p{margin:8px 0;font-size:16px}.empty-room-list p:first-child{font-size:18px;font-weight:600;color:#666}.room-card{background:#fffffff2;border:2px solid rgba(122,211,181,.2);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #7ad3b51a}.room-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #7ad3b526}.room-info{flex:1}.room-name{font-size:18px;font-weight:700;color:#2d5f4e;margin:0 0 8px}.room-details{display:flex;gap:12px;font-size:14px;color:#5a8a78;align-items:center}.copy-code-btn{padding:4px 8px;font-size:14px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #7ad3b54d}.copy-code-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #7ad3b566}.copy-code-btn:active{transform:translateY(0)}.room-size{background:#7ad3b526;padding:4px 8px;border-radius:4px}.room-players{background:#5cc4a026;padding:4px 8px;border-radius:4px}.join-room-btn{padding:10px 20px;font-size:14px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:transform .2s}.join-room-btn:hover:not(:disabled){transform:scale(1.05)}.join-room-btn:disabled{background:#ccc;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:32px;width:90%;max-width:500px;box-shadow:0 8px 32px #0003}.modal-content h2{margin:0 0 24px;font-size:24px;color:#2d5f4e}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:#2d5f4e;font-size:14px}.form-group input,.form-group select{width:100%;padding:12px;font-size:16px;border:2px solid rgba(122,211,181,.3);border-radius:8px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{border-color:#7ad3b5}.size-options{display:flex;gap:8px}.size-option{flex:1;padding:12px;font-size:14px;background:#7ad3b51a;border:2px solid rgba(122,211,181,.3);border-radius:8px;cursor:pointer;transition:all .2s;color:#2d5f4e}.size-option:hover{background:#7ad3b533}.size-option.selected{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-color:#5bc4a0;color:#fff;font-weight:700}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions button{flex:1;padding:12px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.btn-cancel{background:#e0e0e0;color:#666}.btn-cancel:hover{background:#d0d0d0}.btn-create{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff}.btn-create:hover{transform:translateY(-2px)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.room-card-compact{background:#fffffff2;border:2px solid rgba(122,211,181,.2);border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s;box-shadow:0 2px 6px #7ad3b514;animation:fadeSlideUp .3s ease-out}.room-card-compact:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7ad3b526;border-color:#7ad3b566}.room-card-compact:active{transform:translateY(0);box-shadow:0 1px 4px #7ad3b51a}.room-info-compact{flex:1;min-width:0}.room-name-compact{font-size:15px;font-weight:600;color:#2d5f4e;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-details-compact{display:flex;gap:8px;font-size:12px;color:#5a8a78;align-items:center}.room-size-compact{background:#7ad3b51f;padding:2px 6px;border-radius:4px;font-weight:500}.room-players-compact{font-weight:600}.join-room-btn-compact{padding:8px 16px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.join-room-btn-compact:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #7ad3b54d}.join-room-btn-compact:active:not(:disabled){transform:translateY(0)}.join-room-btn-compact:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.page-btn{padding:8px 16px;font-size:16px;background:#7ad3b526;color:#2d5f4e;border:2px solid rgba(122,211,181,.3);border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600}.page-btn:hover:not(:disabled){background:#7ad3b540;border-color:#7ad3b5;transform:translateY(-1px)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:15px;font-weight:600;color:#2d5f4e;min-width:80px;text-align:center}.public-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.public-option{padding:12px;font-size:14px;font-weight:600;border:2px solid rgba(122,211,181,.3);background:#7ad3b50d;border-radius:8px;cursor:pointer;transition:all .2s;color:#2d5f4e;display:flex;align-items:center;justify-content:center;gap:6px}.public-option:hover{background:#7ad3b526;border-color:#7ad3b580}.public-option.selected{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-color:#5bc4a0;color:#fff}.setting-hint{margin-top:8px;font-size:12px;color:#666;font-style:italic}@media (max-width: 768px) and (orientation: portrait){.lobby-container{padding:12px;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;height:100vh}.lobby-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;flex-shrink:0}.lobby-content{max-width:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.room-list-header{flex-shrink:0}.refresh-room-btn{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 16px #667eea66;z-index:200;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.refresh-room-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea80}.refresh-room-btn:active{transform:scale(.95)}.pagination{display:none}.lobby-title{gap:10px}.lobby-title h1{font-size:20px}.lobby-logo{width:36px;height:36px;font-size:18px;border-radius:10px}.lobby-header{grid-template-columns:1fr auto;gap:12px}.lobby-center{display:none}.lobby-controls{gap:8px}.lobby-controls .volume-control .control-icon-btn,.lobby-controls .language-switcher .lang-switch-button{width:36px;height:36px}.player-name-input{display:none}.room-list-header{flex-direction:column;gap:10px;align-items:stretch;margin-bottom:12px}.room-list-title{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.room-list-title h2{font-size:18px;margin:0}.room-count{font-size:13px}.room-list-actions{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%}.room-search-input{width:100%;font-size:14px;padding:10px 12px}.refresh-room-btn{padding:10px 12px;font-size:16px}.invite-code-section{grid-column:1 / -1;display:flex;gap:6px}.invite-code-input{flex:1;font-size:13px;padding:9px 10px}.join-by-code-btn{padding:9px 14px;font-size:13px;white-space:nowrap}.create-room-btn,.test-rooms-btn{grid-column:1 / -1;width:100%;padding:12px 20px;font-size:15px}.room-list{grid-template-columns:1fr;gap:8px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.room-card{padding:14px;border-radius:10px}.room-card-compact{padding:12px 14px;border-radius:8px}.room-name{font-size:15px;margin-bottom:8px}.room-name-compact{font-size:14px;margin-bottom:4px}.room-details{font-size:12px;gap:6px}.room-details-compact{font-size:11px;gap:6px}.join-room-btn,.join-room-btn-compact{padding:10px 16px;font-size:14px;margin-top:8px}.modal-content{padding:20px;width:95%;max-width:420px}.modal-content h2{font-size:18px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select{font-size:14px;padding:10px}.size-options{grid-template-columns:1fr 1fr;gap:8px}.size-option{padding:10px;font-size:13px}.public-options{gap:8px}.public-option{padding:10px;font-size:13px}.modal-actions button{padding:11px;font-size:15px}.pagination{gap:10px;padding:12px;margin-top:16px}.page-btn{padding:8px 14px;font-size:14px}.page-info{font-size:14px;min-width:70px}}@media (max-width: 480px){.lobby-container{padding:8px}.lobby-header{padding:10px 12px;margin-bottom:12px}.lobby-title h1{font-size:18px}.lobby-logo{width:32px;height:32px;font-size:16px;border-radius:8px}.player-info .control-icon-btn{width:32px;height:32px}.player-info .control-icon-btn .icon-text,.room-list-title h2{font-size:16px}.room-count{font-size:12px}.room-search-input{font-size:13px;padding:9px 10px}.refresh-room-btn{padding:9px 10px;font-size:15px}.invite-code-input{font-size:12px;padding:8px 9px}.join-by-code-btn{padding:8px 12px;font-size:12px}.create-room-btn,.test-rooms-btn{padding:11px 18px;font-size:14px}.room-card{padding:12px}.room-card-compact{padding:10px 12px}.room-name{font-size:14px;margin-bottom:6px}.room-name-compact{font-size:13px}.room-details{font-size:11px}.room-details-compact{font-size:10px}.join-room-btn,.join-room-btn-compact{padding:9px 14px;font-size:13px}.modal-content{padding:18px}.modal-content h2{font-size:17px}.size-options{gap:6px}.size-option{padding:9px;font-size:12px}.pagination{gap:8px;padding:10px}.page-btn{padding:7px 12px;font-size:13px}.page-info{font-size:13px;min-width:65px}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.lobby-container{padding:0;overflow:hidden;display:flex;flex-direction:column;height:100vh}.lobby-header{margin-bottom:0;padding:8px 12px;border-radius:0;flex-shrink:0}.lobby-logo{width:36px;height:36px;font-size:20px;border-radius:8px}.lobby-title h1{font-size:18px}.player-info .control-icon-btn{width:30px;height:30px}.player-info .control-icon-btn .icon-text{font-size:14px}.player-name-input{font-size:13px;padding:6px 10px}.edit-name-btn,.logout-btn{font-size:11px;padding:6px 10px}.lobby-content{max-width:100%;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.create-room-section{display:none}.room-list-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px;background:#fff}.room-list-section h2{font-size:16px;margin-bottom:12px;flex-shrink:0}.room-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:8px}.room-item{padding:12px;margin-bottom:8px}.room-name{font-size:14px}.room-info{font-size:11px;gap:6px}.join-room-btn{font-size:13px;padding:8px 16px}.no-rooms{padding:24px;font-size:13px}.pagination{display:none}.page-btn{padding:6px 10px;font-size:12px}.page-info{font-size:12px;min-width:60px}.lobby-header{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-bottom:none;box-shadow:0 2px 8px #7ad3b54d;border-radius:0;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;width:100%;margin:0}.lobby-title{display:flex;align-items:center;gap:8px}.lobby-title h1{display:block;color:#fff;font-size:18px;margin:0}.lobby-logo{background:#ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:36px;height:36px;font-size:20px}.player-name-input{display:block!important;background:#ffffff4d;border-color:#ffffff80;color:#fff;font-size:14px;padding:6px 10px;text-align:center;font-weight:600}.player-name-input::placeholder{color:#ffffffb3}.player-info{display:flex;align-items:center;gap:8px}.player-info .control-icon-btn{background:#ffffff4d;color:#fff}.player-info .control-icon-btn:hover{background:#ffffff80}.edit-name-btn,.logout-btn{background:#ffffff4d;color:#fff;font-size:11px;padding:6px 10px}.edit-name-btn:hover,.logout-btn:hover{background:#ffffff80}}.input-error{border:2px solid #FF6B6B!important;animation:shake .4s ease-in-out;box-shadow:0 0 0 3px #ff6b6b33!important}.input-error::placeholder{color:#ff6b6b;opacity:.7}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.banner-ad{width:100%;max-width:728px;height:90px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000d}.banner-ad-content{display:flex;align-items:center;gap:12px;padding:0 16px;width:100%}.ad-badge{background:#ffb547;color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.ad-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.ad-title{font-size:14px;font-weight:700;color:#333}.ad-description{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.banner-ad{max-width:100%;height:80px}.ad-title{font-size:13px}.ad-description{font-size:11px}}@media (max-width: 480px){.banner-ad{height:70px}.banner-ad-content{gap:8px;padding:0 12px}.ad-title{font-size:12px}.ad-description{font-size:10px}}.waiting-room-container{width:100%;min-height:100vh;background:linear-gradient(135deg,#f0faf7,#e8f5f1);padding:20px 20px 40px;display:flex;flex-direction:column;position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.waiting-room-controls{display:flex;gap:8px;align-items:center}.waiting-room-controls.desktop-only{display:none}.waiting-room-controls.mobile-only{display:flex}.header-actions{display:flex;align-items:center;gap:10px}.control-icon-btn{width:40px;height:40px;border:none;background:#fffffff2;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.control-icon-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.control-icon-btn:active{transform:scale(.95)}.control-icon-btn .icon-text{font-size:20px}.waiting-room-header{max-width:1200px;width:100%;margin:0 auto 20px;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fffffff2;border-radius:16px;box-shadow:0 4px 20px #7ad3b51a}.room-title{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.waiting-room-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0}.room-title-info{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.room-title-container{overflow:hidden;width:100%}.room-title-slide-wrapper{display:flex;flex-wrap:nowrap}.room-title-slide{display:flex;align-items:center;flex-wrap:nowrap;flex-shrink:0}.room-title-slide.clone{display:none}.room-title h1{font-size:28px;font-weight:700;color:#2d5f4e;margin:0;white-space:nowrap;width:max-content;padding-right:2em}.room-title-container.overflow .room-title-slide.clone{display:flex}.room-title-container.overflow .room-title-slide.original{animation:infiniteAnimation1 18s linear infinite}.room-title-container.overflow .room-title-slide.clone{animation:infiniteAnimation2 18s linear infinite}@keyframes infiniteAnimation1{0%{transform:translate(0)}50%{transform:translate(-100%)}50.1%{transform:translate(100%)}to{transform:translate(0)}}@keyframes infiniteAnimation2{0%{transform:translate(0)}to{transform:translate(-200%)}}.room-info-badges{display:flex;gap:8px}.room-info-badge{padding:6px 12px;background:#7ad3b526;border-radius:6px;font-size:13px;color:#2d5f4e;font-weight:500}.invite-section{max-width:1200px;width:100%;margin:0 auto 20px;background:#fffffff2;border-radius:16px;box-shadow:0 4px 20px #7ad3b51a;padding:16px 24px}.invite-section-content{display:flex;align-items:center;gap:12px}.invite-code-box{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#7ad3b514;border:2px solid rgba(122,211,181,.25);border-radius:12px;transition:all .3s;flex:1}.invite-code-box:hover{border-color:#7ad3b566;background:#7ad3b51f}.invite-code-label{font-size:11px;color:#2d5f4e;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.invite-code-content{display:flex;align-items:center;gap:12px}.invite-code-value{font-size:18px;font-weight:700;color:#7ad3b5;font-family:Courier New,monospace;letter-spacing:2px;text-shadow:0 1px 3px rgba(122,211,181,.3);min-width:90px;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;cursor:text}.invite-code-hidden{font-size:18px;font-weight:700;color:#b0b0b0;letter-spacing:3px;min-width:90px}.invite-code-actions{display:flex;gap:6px}.invite-icon-btn{padding:6px 10px;font-size:16px;background:#7ad3b533;color:#2d5f4e;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.invite-icon-btn:hover{background:#7ad3b559;transform:translateY(-2px)}.invite-icon-btn:active{transform:translateY(0)}.share-link-btn{padding:8px 16px;font-size:14px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7ad3b54d}.share-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7ad3b566}.share-link-btn:active{transform:translateY(0)}.leave-btn{padding:10px 20px;font-size:14px;font-weight:700;background:#ff6b6b;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.leave-btn:hover{transform:translateY(-2px)}.waiting-room-content{max-width:1200px;width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;flex:1;align-items:start;position:relative}.waiting-room-main{display:contents}.players-section{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 4px 20px #7ad3b51a}.players-section h2{margin:0 0 16px;font-size:20px;color:#2d5f4e;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.team-hint{font-size:13px;font-weight:400;color:#666;background:#7ad3b51a;padding:4px 12px;border-radius:12px}.players-list{display:flex;flex-direction:column;gap:12px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.player-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#7ad3b514;border:2px solid rgba(122,211,181,.2);border-radius:12px;transition:transform .2s,box-shadow .2s;animation:slideIn .3s ease-out}.player-item:hover{transform:translate(4px);box-shadow:0 2px 8px #7ad3b526}.player-left{display:flex;align-items:center;gap:12px;flex:1}.player-color-indicator{width:32px;height:32px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #00000026}.player-name{font-size:16px;font-weight:600;color:#2d5f4e;display:flex;align-items:center;gap:8px}.host-badge{padding:2px 8px;background:linear-gradient(135deg,gold,orange);color:#fff;border-radius:4px;font-size:12px;font-weight:700}.me-badge{padding:2px 8px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border-radius:4px;font-size:12px;font-weight:700}.team-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.team-badge.team-A{background:linear-gradient(135deg,#ff8f7e,#ff6b6b)}.team-badge.team-B{background:linear-gradient(135deg,#87ceeb,#4682b4)}.player-status{font-size:14px;font-weight:600;min-width:80px;text-align:right;display:flex;align-items:center;gap:8px;justify-content:flex-end}.status-ready{color:#7ad3b5;font-weight:600;animation:slideIn .3s ease-out}.status-waiting{color:#999;transition:color .3s ease}.status-playing{color:#4caf50;font-weight:600}.status-spectating{color:#9e9e9e;font-weight:600}.kick-btn{padding:4px 8px;font-size:14px;background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.kick-btn:hover{background:#ff6b6b33;border-color:#ff6b6b;transform:scale(1.05)}.kick-btn:active{transform:scale(.95)}.settings-section{background:#fffffff2;border-radius:16px;padding:24px;box-shadow:0 4px 20px #7ad3b51a;display:flex;flex-direction:column;gap:24px}.setting-group h3{margin:0 0 12px;font-size:18px;color:#2d5f4e}.color-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.color-option{width:100%;aspect-ratio:1;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s;position:relative;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.color-option:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #0003}.color-option.selected{border-color:#fff;box-shadow:0 0 0 3px #2d5f4e,0 4px 12px #0003}.color-option.taken{opacity:.4;cursor:not-allowed}.check-mark{font-weight:700}.x-mark{font-size:20px}.team-name-input{padding:6px 12px;font-size:14px;border:2px solid rgba(122,211,181,.3);border-radius:6px;outline:none;transition:border-color .2s;background:#fff;color:#2d5f4e;font-weight:500;min-width:120px}.team-name-input:focus{border-color:#7ad3b5}.team-name-input::placeholder{color:#999}.waiting-room-ad-section-top{margin:16px 0;display:flex;justify-content:center;width:100%;padding:0 20px}.recent-matches-sidebar{background:#fffffff2;border-radius:16px;padding:20px;box-shadow:0 4px 20px #7ad3b51a;border:2px solid rgba(122,211,181,.15);position:fixed;left:calc((100vw - 1200px)/2 - 300px);top:200px;width:280px;max-height:calc(100vh - 220px);display:flex;flex-direction:column;z-index:10}@media (max-width: 1600px){.recent-matches-sidebar{display:none}}.recent-matches-header-sidebar{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(122,211,181,.2)}.recent-matches-header-sidebar h3{margin:0;font-size:18px;font-weight:700;color:#2d5f4e;display:flex;align-items:center;gap:6px}.recent-matches-list-sidebar{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.recent-matches-list-sidebar::-webkit-scrollbar{width:6px}.recent-matches-list-sidebar::-webkit-scrollbar-track{background:#7ad3b50d;border-radius:10px}.recent-matches-list-sidebar::-webkit-scrollbar-thumb{background:#7ad3b54d;border-radius:10px;transition:background .2s}.recent-matches-list-sidebar::-webkit-scrollbar-thumb:hover{background:#7ad3b580}.recent-matches-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;color:#999;font-size:14px;gap:4px}.recent-matches-empty .empty-hint{font-size:12px;color:#bbb}.recent-match-card-sidebar{background:#7ad3b50d;border:1px solid rgba(122,211,181,.2);border-radius:12px;padding:12px;transition:all .2s ease;display:flex;flex-direction:column;gap:10px}.recent-match-card-sidebar:hover{background:#7ad3b51a;border-color:#7ad3b559;transform:translate(2px);box-shadow:0 2px 8px #7ad3b526}.match-info-sidebar{display:flex;flex-direction:column;gap:8px}.match-stat-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.match-stat-label{font-size:11px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.match-stat-value{font-size:13px;color:#2d5f4e;font-weight:700}.match-mode-badge-sidebar{font-size:12px;font-weight:700;color:#2d5f4e;background:#7ad3b533;padding:4px 10px;border-radius:6px}.match-top-score{color:#ff6b6b;font-size:14px}.replay-sidebar-btn{width:100%;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea33;display:flex;align-items:center;justify-content:center;gap:4px}.replay-sidebar-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.replay-sidebar-btn:active{transform:translateY(0)}.recent-matches-section{margin-top:20px;padding:16px;background:#7ad3b50d;border:1px solid rgba(122,211,181,.2);border-radius:12px;display:none}@media (max-width: 1600px){.recent-matches-section{display:block}}.recent-matches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recent-matches-header h4{margin:0;font-size:16px;font-weight:700;color:#2d5f4e}.toggle-recent-btn{background:transparent;border:none;color:#7ad3b5;font-size:14px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.toggle-recent-btn:hover{background:#7ad3b51a}.recent-matches-list{display:flex;flex-direction:column;gap:10px}.recent-match-card{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border:2px solid rgba(122,211,181,.2);border-radius:10px;transition:all .2s;gap:16px}.recent-match-card:hover{border-color:#7ad3b566;box-shadow:0 2px 8px #7ad3b526}.match-info{flex:1;display:flex;flex-direction:column;gap:8px;max-width:70%}.recent-match-card .match-stat-row{display:flex;justify-content:flex-start;align-items:center;gap:16px}.recent-match-card .match-stat-label{font-size:11px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:60px}.recent-match-card .match-stat-value{font-size:13px;color:#2d5f4e;font-weight:700;flex:0 0 auto}.recent-match-card .match-mode-badge{font-size:12px;font-weight:700;color:#2d5f4e;background:#7ad3b533;padding:4px 10px;border-radius:6px}.recent-match-card .match-top-score{color:#ff6b6b;font-size:14px}.replay-small-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s;flex-shrink:0}.replay-small-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea4d}.replay-small-btn:active{transform:scale(.95)}.host-only-label{font-size:12px;color:#999;font-weight:400}.team-mode-selection{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-btn{padding:14px;font-size:16px;font-weight:700;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;background:#7ad3b51a;color:#2d5f4e}.mode-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-btn.individual.selected{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border-color:#5bc4a0}.mode-btn.team.selected{background:linear-gradient(135deg,#ff8f7e,#ff6b6b);color:#fff;border-color:#ff6b6b}.game-settings{display:flex;flex-direction:column;gap:12px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#7ad3b514;border-radius:8px;font-size:14px;color:#2d5f4e}.setting-value{font-weight:700;color:#5bc4a0}.setting-select{padding:6px 12px;font-size:14px;font-weight:700;color:#2d5f4e;background:#fff;border:2px solid rgba(122,211,181,.3);border-radius:6px;outline:none;cursor:pointer;transition:border-color .2s}.setting-select:hover{border-color:#7ad3b5}.setting-select:focus{border-color:#5bc4a0}.mobile-action-btn{display:none;text-align:center}.waiting-room-footer{max-width:1200px;width:100%;margin:20px auto 0;display:flex;justify-content:center}.start-btn,.ready-btn{padding:16px 48px;font-size:18px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #7ad3b54d}.start-btn{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #7ad3b566}.start-btn:disabled{background:#ccc;cursor:not-allowed;color:#666}.ready-btn{background:#7ad3b533;color:#2d5f4e;border:2px solid #7AD3B5}.ready-btn.ready{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff}.ready-btn:hover{transform:translateY(-2px)}.teams-container{display:flex;flex-direction:column;gap:16px}.team-group-box{background:#7ad3b514;border:3px solid rgba(122,211,181,.4);border-radius:12px;padding:12px;transition:all .2s}.team-group-box:hover{border-color:#7ad3b599;box-shadow:0 4px 16px #7ad3b533}.team-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-radius:8px;margin-bottom:12px}.team-group-title{font-size:16px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.team-member-count{font-size:14px;font-weight:700;color:#fff;background:#fff3;padding:4px 10px;border-radius:12px}.team-players-list{display:flex;flex-direction:column;gap:8px}.team-name-with-join{display:flex;align-items:center;gap:6px;margin-left:auto}.join-team-btn-small{width:28px;height:28px;padding:0;font-size:14px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #7ad3b54d;display:flex;align-items:center;justify-content:center;flex-shrink:0}.join-team-btn-small:hover{transform:scale(1.1);box-shadow:0 3px 10px #7ad3b580}.join-team-btn-small:active{transform:scale(.95)}.force-start-warning-panel{background:#fff;padding:40px;border-radius:22px;text-align:center;box-shadow:0 8px 32px #0003;min-width:400px;max-width:500px}.force-start-warning-panel h2{font-size:28px;color:#ff6b6b;margin-bottom:20px}.warning-message{font-size:16px;color:#666;margin-bottom:30px;line-height:1.6}.warning-buttons{display:flex;gap:12px;justify-content:center}.cancel-btn{padding:12px 32px;font-size:16px;font-weight:600;background:#e0e0e0;color:#666;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#d0d0d0;transform:translateY(-2px)}.force-start-btn{padding:12px 32px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#ff8f7e,#ff6b6b);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ff6b6b4d}.force-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.force-start-btn:active{transform:translateY(0)}@media (max-width: 900px){.waiting-room-content{display:flex;flex-direction:column}.waiting-room-main{display:flex;flex-direction:column;width:100%}.players-section{order:1}.mobile-action-btn{order:2;display:flex;justify-content:center;align-items:center;width:100%;margin:12px 0;padding:0}.settings-section{order:3}.waiting-room-footer,.recent-matches-sidebar{display:none}.recent-matches-section{display:block;order:4}}.player-left{flex-wrap:wrap}.team-name-with-join{width:100%;margin-left:0;margin-top:8px}} @media (max-width: 768px){.waiting-room-container{padding:12px;min-height:100vh}.waiting-room-header{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;margin-bottom:12px}.header-actions{display:flex;align-items:center;gap:8px}.room-title{gap:6px;flex:1;min-width:0}.room-title h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-info-badges{display:flex;flex-wrap:wrap;gap:4px}.room-info-badge{font-size:11px;padding:4px 8px}.leave-btn{padding:8px 14px;font-size:13px;white-space:nowrap}.invite-section{padding:10px 14px;margin-bottom:12px}.invite-section-content{flex-direction:column;gap:8px}.invite-code-box{padding:10px 12px}.invite-code-label{font-size:10px}.invite-code-value{font-size:16px}.invite-code-actions{gap:4px}.invite-icon-btn{padding:5px 9px;font-size:15px}.share-link-btn{width:100%;padding:8px 14px;font-size:13px}.waiting-room-content{display:flex;flex-direction:column;gap:12px}.waiting-room-main{display:flex;flex-direction:column;width:100%}.players-section{order:1;padding:14px;border-radius:12px}.settings-section{order:3;padding:14px;border-radius:12px}.players-section h2{font-size:16px;margin-bottom:12px;flex-wrap:wrap}.team-hint{font-size:12px;padding:3px 10px}.players-list{gap:8px}.player-item{padding:12px;border-radius:10px;gap:10px;flex-direction:row;align-items:center}.player-left{flex-direction:row;gap:10px;flex:1;align-items:center;min-width:0}.player-color-indicator{width:28px;height:28px;flex-shrink:0}.player-name{font-size:14px;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.host-badge,.me-badge,.team-badge{font-size:11px;padding:2px 6px;white-space:nowrap}.player-status{flex-shrink:0;justify-content:flex-end;font-size:13px}.kick-btn{padding:3px 7px;font-size:13px}.setting-group h3{font-size:16px;margin-bottom:10px}.color-palette{grid-template-columns:repeat(6,1fr);gap:6px}.color-option{border-radius:10px}.team-name-input{padding:5px 10px;font-size:13px;min-width:100px}.team-mode-selection{gap:8px}.mode-btn{padding:12px;font-size:15px}.game-settings{gap:8px}.setting-item{padding:10px 14px;font-size:13px;border-radius:8px}.setting-value{font-size:13px}.setting-select{padding:5px 10px;font-size:13px}.recent-matches-section{margin-top:12px;padding:12px}.recent-matches-header h4{font-size:15px}.toggle-recent-btn{font-size:13px}.recent-match-card{padding:10px}.match-room-name{font-size:13px}.match-mode-badge{font-size:10px;padding:2px 6px}.match-details{font-size:11px}.replay-small-btn{width:32px;height:32px;font-size:14px}.mobile-action-btn{display:flex;justify-content:center;align-items:center;width:100%;margin:12px 0;padding:0;order:2}.waiting-room-footer{display:none}.start-btn,.ready-btn{width:100%;max-width:none;padding:13px 28px;font-size:15px}.force-start-warning-panel{min-width:auto;width:90%;padding:20px}.force-start-warning-panel h2{font-size:20px;margin-bottom:16px}.warning-message{font-size:14px;margin-bottom:24px}.warning-buttons{gap:10px}.cancel-btn,.force-start-btn{padding:11px 28px;font-size:15px}}@media (max-width: 480px){.waiting-room-container{padding:8px}.waiting-room-controls{top:8px;right:8px;gap:5px}.control-icon-btn{width:32px;height:32px}.control-icon-btn .icon-text{font-size:16px}.waiting-room-header{padding:10px 12px;margin-bottom:10px}.room-title h1{font-size:16px}.room-info-badge{font-size:10px;padding:3px 6px}.leave-btn{padding:7px 12px;font-size:12px}.invite-section{padding:9px 12px;margin-bottom:10px}.invite-code-box{padding:9px 11px}.invite-code-value{font-size:15px}.invite-icon-btn{padding:4px 8px;font-size:14px}.share-link-btn{padding:7px 12px;font-size:12px}.waiting-room-content{gap:10px}.players-section,.settings-section{padding:12px;border-radius:10px}.players-section h2{font-size:15px;margin-bottom:10px}.team-hint{font-size:11px;padding:3px 8px}.players-list{gap:6px}.player-item{padding:10px;border-radius:8px;flex-direction:row;align-items:center}.player-left{flex-direction:row;gap:8px}.player-color-indicator{width:24px;height:24px;flex-shrink:0}.player-name{font-size:13px;gap:5px}.host-badge,.me-badge,.team-badge{font-size:10px;padding:2px 5px;white-space:nowrap}.player-status{font-size:12px;flex-shrink:0}.kick-btn{padding:3px 6px;font-size:12px}.setting-group h3{font-size:15px}.color-palette{grid-template-columns:repeat(4,1fr);gap:5px}.color-option{font-size:14px}.team-name-input{font-size:12px;padding:4px 9px}.mode-btn{padding:11px;font-size:14px}.setting-item{padding:9px 12px;font-size:12px}.setting-value{font-size:12px}.setting-select{padding:4px 9px;font-size:12px}.recent-matches-section{padding:10px}.recent-matches-header h4{font-size:14px}.match-room-name{font-size:12px}.match-details{font-size:10px}.replay-small-btn{width:30px;height:30px;font-size:13px}.start-btn,.ready-btn{padding:12px 24px;font-size:14px}.force-start-warning-panel{width:92%;padding:18px}.force-start-warning-panel h2{font-size:18px}.warning-message{font-size:13px}.cancel-btn,.force-start-btn{padding:10px 24px;font-size:14px}}@media (max-height: 600px) and (orientation: landscape){.waiting-room-container{padding:10px}.waiting-room-header{padding:12px 16px;margin-bottom:12px}.room-title h1{font-size:20px}.waiting-room-content{display:grid;grid-template-columns:1fr 1fr;gap:12px}.waiting-room-main{display:contents}.players-section,.settings-section{padding:12px}.start-btn,.ready-btn{padding:10px 24px;font-size:15px}.recent-matches-sidebar{display:none}.recent-matches-section{display:block}.mobile-action-btn{display:none}.waiting-room-footer{display:flex}}.waiting-room-notification{position:fixed;top:120px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4caf50,#81c784);color:#fff;padding:16px 32px;border-radius:12px;font-size:18px;font-weight:700;box-shadow:0 8px 24px #4caf5066;z-index:10000;animation:notificationSlideIn .3s ease-out;border:2px solid rgba(255,255,255,.3);max-width:90%;text-align:center}@keyframes notificationSlideIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.accessibility-menu{position:relative;display:inline-block}.accessibility-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;background:#ffffffe6;border:2px solid rgba(122,211,181,.3);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.accessibility-toggle:hover{background:#fff;border-color:#7ad3b599;transform:scale(1.05)}.accessibility-toggle:focus-visible{outline:3px solid #4A90D9;outline-offset:2px}.accessibility-icon{width:20px;height:20px;color:#2d4a3e}.accessibility-indicator{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#ff6b6b;border-radius:50%;border:2px solid white}.accessibility-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.accessibility-section{padding:16px}.accessibility-section-title{font-size:14px;font-weight:600;color:#2d4a3e;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(122,211,181,.2)}.accessibility-options{display:flex;flex-direction:column;gap:4px}.accessibility-option{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;width:100%;transition:all .15s ease}.accessibility-option:hover{background:#7ad3b51a}.accessibility-option:focus-visible{outline:2px solid #4A90D9;outline-offset:-2px}.accessibility-option.active{background:#7ad3b533}.option-radio{width:18px;height:18px;border:2px solid #7AD3B5;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.accessibility-option.active .option-radio{border-color:#5bc4a0}.option-radio-inner{width:10px;height:10px;background:#5bc4a0;border-radius:50%}.option-label{font-size:14px;color:#2d4a3e}.accessibility-info{padding:12px 16px;background:#7ad3b50d;border-top:1px solid rgba(122,211,181,.1)}.accessibility-info p{font-size:12px;color:#666;line-height:1.5;margin:0}@media (max-width: 480px){.accessibility-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;min-width:100%;border-radius:16px 16px 0 0;max-height:70vh;overflow-y:auto}.accessibility-section{padding:20px}.accessibility-option{padding:14px 16px}}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(122,211,181,.15);box-shadow:0 2px 12px #7ad3b50f;width:100%;z-index:100;transition:transform .3s ease}.top-bar.collapsed{transform:translateY(-100%)}@media (max-width: 768px) and (orientation: portrait) and (max-height: 700px){.top-bar{display:none}}.topbar-toggle-btn{display:none;position:fixed;top:0;left:50%;transform:translate(-50%);z-index:101;background:#7ad3b5e6;color:#fff;border:none;padding:4px 16px;border-radius:0 0 8px 8px;cursor:pointer;font-size:12px;transition:all .3s ease;box-shadow:0 2px 8px #7ad3b54d}.topbar-toggle-btn:hover{background:#7ad3b5}.topbar-toggle-btn:active{transform:translate(-50%) scale(.95)}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:8px}.logo-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem;color:#fff;background:linear-gradient(135deg,#7ad3b5,#5fc9b5);box-shadow:0 4px 12px #7ad3b54d;position:relative;overflow:hidden}.logo-shine{position:absolute;top:2px;left:2px;width:33%;height:33%;border-radius:50%;opacity:.4;background:radial-gradient(circle,white,transparent)}.logo-icon span{position:relative;z-index:1}.logo-text{font-size:14px;font-weight:900;color:#2d4a3e}.icon-button{width:32px;height:32px;border:none;background:#7ad3b51a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#7ad3b5}.icon-button:hover{background:#7ad3b533;transform:scale(1.05)}.icon-button:active{transform:scale(.95)}.icon-button.muted{background:#ff7e6a26;color:#ff7e6a}.icon-text{font-size:14px}.language-selector{position:relative}.language-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;padding:6px;min-width:140px;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.language-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .2s ease;font-size:13px;color:#2d4a3e}.language-option:hover{background:#7ad3b51a}.language-option.active{background:#7ad3b526;font-weight:600}.lang-flag{font-size:16px;flex-shrink:0}.lang-name{flex:1;text-align:left}.lang-check{font-size:12px;color:#7ad3b5;font-weight:700}@media (max-width: 768px){.top-bar{padding:4px 8px}.logo-icon{width:28px;height:28px;font-size:.7rem}.logo-text{font-size:11px}.icon-button{width:26px;height:26px}.icon-text{font-size:11px}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.topbar-toggle-btn{display:none}.top-bar{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:4px 8px;z-index:110}.top-bar-left{position:fixed;left:8px;top:8px;transform:none;flex-direction:column;gap:3px}.top-bar-right{position:fixed;right:8px;top:8px;flex-direction:column;gap:3px}.logo-icon{width:32px;height:32px;font-size:.75rem}.logo-text{display:none}.icon-button{width:28px;height:28px}.icon-text{font-size:12px}}.time-gauge-container{width:100%;max-width:500px;margin:8px auto;padding:0 16px}.time-gauge-bar{height:12px;border-radius:999px;background:#0003;overflow:hidden;position:relative;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #00000026}.time-gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4caf50,#ffc107,#ff5722);transition:width 1s linear;position:relative;box-shadow:inset 0 1px 3px #ffffff4d}.time-gauge-labels{display:flex;justify-content:space-between;margin-top:6px;padding:0 4px}.time-current{font-size:14px;font-weight:800;color:#2e7d32;text-shadow:0 1px 2px rgba(255,255,255,.8);background:#fffc;padding:2px 8px;border-radius:6px}.time-max{font-size:14px;font-weight:800;color:#424242;text-shadow:0 1px 2px rgba(255,255,255,.8);background:#ffffffb3;padding:2px 8px;border-radius:6px}@media (max-width: 768px){.time-gauge-container{max-width:400px}.time-gauge-bar{height:6px}.time-gauge-labels{font-size:10px}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.time-gauge-container{position:fixed;right:8px;top:80px;width:auto;max-width:60px;height:calc(100vh - 160px);max-height:250px;margin:0;padding:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.time-gauge-bar{width:10px;flex:1;min-height:0;writing-mode:vertical-lr;transform:rotate(180deg);border:1px solid rgba(255,255,255,.4);border-radius:999px;order:2}.time-gauge-fill{width:100%;height:var(--gauge-height, 100%);transition:height 1s linear;background:linear-gradient(0deg,#4caf50,#ffc107,#ff5722)}.time-gauge-labels{display:contents}.time-current{font-size:9px;font-weight:800;text-align:center;background:#ffffffe6;padding:2px 4px;border-radius:3px;color:#2e7d32;white-space:nowrap;order:1}.time-max{font-size:9px;font-weight:800;text-align:center;background:#fffc;padding:2px 4px;border-radius:3px;color:#424242;white-space:nowrap;order:3}}.player-scoreboard-split{display:contents}.player-scoreboard-side{display:flex;flex-direction:column;gap:6px;padding:8px;background:#ffffff80;border-radius:8px;flex-shrink:0;width:fit-content}.player-scoreboard-side.left{align-items:flex-start;order:-1}.player-scoreboard-side.right{align-items:flex-end;order:1}.player-scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;padding:8px 12px;background:#ffffff80;max-width:100%}.player-card{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;white-space:nowrap;background:#ffffffe6;border:1px solid rgba(122,211,181,.15);transition:all .2s ease;min-width:0;overflow:hidden}.player-card.current{background:#ffb54726;border-width:2px}.player-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.player-name{font-size:11px;font-weight:700;color:#2d4a3e;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.player-score{font-size:11px;font-weight:900;padding:2px 6px;border-radius:4px;flex-shrink:0}.player-scoreboard.team-mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.team-scoreboard-group{background:#7ad3b51a;border:2px solid rgba(122,211,181,.3);border-radius:8px;padding:6px}.team-scoreboard-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-radius:4px;margin-bottom:4px}.team-scoreboard-name{font-size:11px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.team-scoreboard-total{font-size:12px;font-weight:700;color:#fff;background:#fff3;padding:2px 8px;border-radius:10px}.team-scoreboard-members{display:flex;flex-direction:column;gap:3px}.player-card-mini{display:flex;align-items:center;gap:5px;padding:3px 6px;background:#fff;border-radius:4px;border:1px solid rgba(122,211,181,.2);min-width:0}.player-card-mini.current{background:#ffb54726;border:2px solid rgba(255,181,71,.5)}.player-color-dot-mini{width:6px;height:6px;border-radius:50%;flex-shrink:0}.player-name-mini{font-size:10px;font-weight:600;color:#2d4a3e;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.player-score-mini{font-size:10px;font-weight:700;color:#5bc4a0;flex-shrink:0}@media (max-width: 768px){.player-scoreboard{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:3px 5px;gap:3px}.player-scoreboard-side{gap:3px;padding:3px}.player-card{padding:3px 6px;gap:3px}.player-name{font-size:9px}.player-score{font-size:9px;padding:2px 4px}.player-color-dot{width:5px;height:5px}.player-scoreboard.team-mode{grid-template-columns:1fr}}.player-scoreboard-mobile{width:100%;padding:1px 2px;margin-top:-4px}.player-scoreboard-mobile .player-card{width:100%;justify-content:space-between;padding:2px 4px;background:#ffffffe6;border:1px solid;font-size:9px;box-shadow:0 1px 3px #0000001a;border-radius:3px}.player-scoreboard-mobile .player-color-dot{width:6px;height:6px;flex-shrink:0}.player-scoreboard-mobile .player-name{flex:1;font-weight:600;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 2px}.player-scoreboard-mobile .player-score{padding:1px 3px;border-radius:3px;font-size:10px;font-weight:800;flex-shrink:0}.player-scoreboard-mobile .team-scoreboard-group{background:#fffffff2;border-radius:6px;padding:4px;border:1px solid rgba(122,211,181,.3);box-shadow:0 1px 4px #0000001a}.player-scoreboard-mobile .team-scoreboard-header{display:flex;justify-content:space-between;gap:4px;margin-bottom:3px}.player-scoreboard-mobile .team-scoreboard-name{font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-scoreboard-mobile .team-scoreboard-total{font-size:11px;font-weight:800;color:#ff6b6b;flex-shrink:0}.player-scoreboard-mobile .player-card-mini{display:flex;justify-content:space-between;padding:3px 4px;background:#7ad3b51a}.player-scoreboard-mobile .player-name-mini{font-weight:700;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-scoreboard-mobile .player-score-mini{font-weight:800;font-size:10px;flex-shrink:0}.player-scoreboard-mobile .player-color-dot-mini{width:6px;height:6px}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.player-scoreboard-mobile{width:32px;padding:0;margin:0}.player-scoreboard-mobile .player-card{padding:1px;margin:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:8px;box-shadow:none}.player-scoreboard-mobile .player-color-dot{width:5px;height:5px;margin:0}.player-scoreboard-mobile .player-name{display:none}.player-scoreboard-mobile .player-score{padding:1px 2px;font-size:9px;margin:0}.player-scoreboard-mobile .team-scoreboard-group{display:flex;flex-direction:column;gap:1px;padding:1px;margin:0;box-shadow:none}.player-scoreboard-mobile .team-scoreboard-header{display:flex;flex-direction:column;gap:1px;text-align:center;margin:0}.player-scoreboard-mobile .team-scoreboard-name{width:100%;font-size:7px;margin:0}.player-scoreboard-mobile .team-scoreboard-total{text-align:center;font-size:11px;margin:0}.player-scoreboard-mobile .team-scoreboard-members{display:flex;flex-direction:column;gap:1px;margin:0}.player-scoreboard-mobile .player-card-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:1px;margin:0}.player-scoreboard-mobile .player-name-mini{display:none}.player-scoreboard-mobile .player-score-mini{text-align:center;font-size:9px;margin:0}.player-scoreboard-mobile .player-color-dot-mini{width:5px;height:5px;margin:0}}.game-board-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 10px 10px;flex:1;order:0;max-width:900px}.game-board{display:grid;gap:3px;padding:8px;background:linear-gradient(135deg,#fff,#f7fcfa);border:3px solid rgba(122,211,181,.2);border-radius:16px;position:relative;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 4px 20px #7ad3b51a;width:70vw;max-width:900px;max-height:65vh;height:auto;margin:0 auto 8px}.tile{width:100%;height:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;min-width:0;min-height:0}.tile.empty{background:transparent;cursor:default}.tile-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a8e6d7,#c5f0e5);border-radius:28%/32%;box-shadow:0 4px 12px #7ad3b533,inset 0 2px 4px #ffffffb3;transition:all .1s ease}.tile.selected .tile-inner{background:linear-gradient(135deg,#5fc9b5,#7ad3b5);box-shadow:0 6px 16px #7ad3b559,inset 0 3px 6px #fff9;transform:scale(.92)}.tile-shine{position:absolute;top:10%;left:10%;width:40%;height:30%;border-radius:50%;background:radial-gradient(ellipse,white 0%,transparent 70%);filter:blur(2px);opacity:.5;pointer-events:none}.tile-number{position:relative;z-index:10;font-size:var(--tile-font-size, 1.2rem);font-weight:900;color:#2d4a3e;text-shadow:0 2px 4px rgba(255,255,255,.9),0 0 1px rgba(45,74,62,.3);letter-spacing:-.5px;-webkit-user-select:none;user-select:none}.tile.success .tile-inner{animation:successFlash 80ms ease-out}@keyframes successFlash{0%{box-shadow:0 6px 16px #7ad3b559,inset 0 3px 6px #fff9}50%{box-shadow:0 0 30px #fff,0 0 50px #7ad3b5cc,inset 0 0 20px #fff;background:linear-gradient(135deg,#fff,#f0fff9);transform:scale(1.05)}to{box-shadow:0 6px 16px #7ad3b559,inset 0 3px 6px #fff9}}.tile-remove-effect{border-radius:28%/32%;pointer-events:none;z-index:1001;animation:fadeOutRemove .5s ease-out forwards}@keyframes fadeOutRemove{0%{opacity:.8;transform:scale(1)}30%{opacity:.9;transform:scale(1.15)}to{opacity:0;transform:scale(1.3)}}@media (max-width: 1024px){.game-board{gap:2px;padding:6px}.sum-display{font-size:16px;padding:6px 12px}}.game-board.mobile-vertical{width:95vw;max-width:95vw;max-height:85vh;height:auto}@media (max-width: 768px){.game-board-container{justify-content:flex-start;padding-top:2px}.game-board{gap:2px;padding:5px;max-height:65vh;margin-top:0}.game-board.mobile-vertical{width:98vw;max-width:98vw;max-height:90vh}.sum-display{font-size:14px;padding:5px 10px}}@media (max-width: 480px){.game-board-container{gap:10px;padding:5px}.game-board{width:95vw;gap:1px;padding:4px;max-height:60vh}.sum-display{font-size:12px;padding:4px 8px}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.game-board-container{padding:0;display:flex;justify-content:center;align-items:center;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.game-board{max-height:95vh;height:95vh;width:fit-content;max-width:calc(100vw - 180px);gap:2px;padding:4px}}.result-screen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.result-screen-panel{width:90%;max-width:600px;max-height:90vh;background:linear-gradient(180deg,#f8f9ff,#e8ecff);border-radius:24px;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0006;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.result-screen-panel::-webkit-scrollbar{width:8px}.result-screen-panel::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.result-screen-panel::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}.result-screen-panel::-webkit-scrollbar-thumb:hover{background:#667eea80}.result-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 8px 24px #0000001a;margin-bottom:16px}.score-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(102,126,234,.15)}.score-title{font-size:18px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.result-header{text-align:center;margin-bottom:20px}.result-subtitle{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);border-radius:12px;font-size:15px;font-weight:600;color:#667eea;box-shadow:0 2px 8px #667eea26}.my-rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;background:#667eea;color:#fff;border-radius:8px;font-size:14px;font-weight:800;padding:0 8px}.my-score-badge{display:inline-flex;align-items:center;font-size:18px;font-weight:800;color:#667eea}.winner-highlight{background:linear-gradient(135deg,gold,orange);border-radius:16px;padding:24px;margin-bottom:20px;position:relative;overflow:hidden;animation:shimmer 3s infinite}@keyframes shimmer{0%,to{box-shadow:0 0 20px #ffd70066}50%{box-shadow:0 0 40px #ffd700cc,0 0 60px #ffd70099}}.winner-highlight:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);animation:sparkle 3s infinite}@keyframes sparkle{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.winner-badge{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;position:relative;z-index:1}.winner-rank{font-size:48px;font-weight:900;color:#1e1e22;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.winner-crown{font-size:40px;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.winner-info{text-align:center;position:relative;z-index:1}.winner-name{font-size:28px;font-weight:700;color:#1e1e22;margin-bottom:8px}.winner-score{font-size:36px;font-weight:900;color:#1e1e22;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.team-block{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;border:2px solid #E0E0E0;transition:all .3s}.team-block:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.team-block.rank-1{background:linear-gradient(135deg,gold,orange);border:3px solid #FFD700;animation:shimmer 3s infinite}.team-block.is-self{border:3px solid #7AD3B5;background:#7ad3b51a;box-shadow:0 0 0 3px #7ad3b54d}.team-block.rank-1.is-self{box-shadow:0 0 0 3px #7ad3b580,0 0 20px #ffd70066}.team-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid rgba(0,0,0,.1)}.team-rank{font-size:24px;font-weight:900;color:#667eea;min-width:40px;text-align:center}.team-block.rank-1 .team-rank{color:#1e1e22}.team-info{flex:1}.team-name{font-size:20px;font-weight:700;color:#1e1e22;margin-bottom:4px}.team-score{font-size:24px;font-weight:900;color:#667eea}.team-block.rank-1 .team-score{color:#1e1e22}.team-members{display:flex;flex-direction:column;gap:8px}.player-block{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:10px;border:2px solid #E0E0E0;transition:all .3s}.player-block:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.player-block.rank-1{background:linear-gradient(135deg,gold,orange);border:3px solid #FFD700;animation:shimmer 3s infinite}.player-block.is-self{border:3px solid #7AD3B5;background:#7ad3b526;box-shadow:0 0 0 2px #7ad3b54d}.player-block.rank-1.is-self{box-shadow:0 0 0 2px #7ad3b580,0 0 20px #ffd70066}.player-rank{font-size:20px;font-weight:900;color:#667eea;min-width:36px;text-align:center}.player-block.rank-1 .player-rank{color:#1e1e22;font-size:24px}.player-info{flex:1;display:flex;flex-direction:column;gap:2px}.player-name{font-size:16px;font-weight:600;color:#1e1e22}.player-score{font-size:20px;font-weight:900;color:#667eea;text-align:right}.player-block.rank-1 .player-score{color:#1e1e22;font-size:24px}.ranking-list{display:flex;flex-direction:column;gap:12px}.ranking-section-title{font-size:20px;font-weight:700;color:#667eea;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid #667eea}.result-actions{display:flex;gap:12px;margin-top:0}.action-btn{flex:1;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #0000001a;min-height:48px;touch-action:manipulation}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.action-btn.replay{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.lobby{background:#fff;color:#667eea;border:2px solid #667eea}@media (max-width: 480px){.result-card{padding:20px}.result-subtitle{font-size:14px}.winner-rank{font-size:36px}.winner-name{font-size:22px}.winner-score{font-size:28px}.team-name{font-size:16px}.team-score{font-size:20px}.player-name{font-size:14px}.player-score{font-size:16px}.action-btn{padding:12px;font-size:14px}}@media (min-width: 481px) and (max-width: 768px){.result-card{padding:24px}}@media (min-width: 769px){.result-card{padding:32px}.ranking-list{gap:14px}.team-block{margin-bottom:14px}}@media (max-height: 600px) and (orientation: landscape){.result-screen-panel{max-height:98vh;padding:16px}.result-card{padding:16px;margin-bottom:12px}.result-header{margin-bottom:12px}.winner-highlight{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:4px 16px;align-items:center;padding:12px;margin-bottom:16px}.winner-badge{grid-column:1 / 2;grid-row:1 / 2;margin-bottom:0;justify-content:flex-end}.winner-crown{font-size:32px}.winner-rank{font-size:36px}.winner-info{display:contents}.winner-name{grid-column:2 / 3;grid-row:1 / 2;margin-bottom:0;text-align:left;font-size:24px}.winner-score{grid-column:1 / -1;grid-row:2 / 3;text-align:center;font-size:40px;margin-top:4px}.winner-members{grid-column:1 / -1;text-align:center;font-size:12px!important}}:root{--countdown-accent: #58f1ff;--countdown-accent-soft: rgba(88, 241, 255, .2);--countdown-text-strong: #f9fbff}.countdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlay-fade-in .3s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.countdown-stage{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(88,241,255,.14),transparent 68%)}.countdown-circle{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;border:2px solid var(--countdown-accent-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.countdown-number{font-size:96px;font-weight:800;color:var(--countdown-text-strong);text-shadow:0 18px 40px rgba(0,0,0,.45);opacity:0;transform:scale(.5);animation:pop 1s cubic-bezier(.24,1.27,.56,.98) forwards;z-index:2}.countdown-number.is-go{font-size:64px;color:var(--countdown-accent)}.pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:1px solid rgba(88,241,255,.35);animation:pulse 1s ease-out forwards;z-index:1}@keyframes pop{0%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{opacity:.55;transform:scale(.85)}70%{opacity:.1;transform:scale(1.25)}to{opacity:0;transform:scale(1.4)}}@media (max-width: 480px){.countdown-stage{width:160px;height:160px}.countdown-number{font-size:72px}.countdown-number.is-go{font-size:52px}}.panic-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9000;box-shadow:inset 0 0 #f000;transition:box-shadow .5s ease}.panic-overlay.active{animation:panic-pulse 1s infinite cubic-bezier(.4,0,.6,1)}@keyframes panic-pulse{0%{box-shadow:inset 0 0 20px #ff00001a}50%{box-shadow:inset 0 0 100px #f006}to{box-shadow:inset 0 0 20px #ff00001a}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;top:-20px;width:10px;height:20px;opacity:0;animation:confetti-fall 2.5s ease-in forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:0}}.match-effect-container{position:absolute;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.match-text{font-family:Arial Black,sans-serif;font-weight:900;font-size:2rem;color:gold;text-shadow:0 0 10px rgba(255,215,0,.5),2px 2px 0 rgba(0,0,0,.2);animation:match-pop-up .8s cubic-bezier(.175,.885,.32,1.275) forwards;white-space:nowrap;position:absolute;z-index:2}.match-text.combo{color:#ff4500;font-size:2.5rem;text-shadow:0 0 15px rgba(255,69,0,.6),3px 3px 0 #000;animation:combo-surge 1s cubic-bezier(.22,1,.36,1) forwards}.match-ring{position:absolute;width:20px;height:20px;border:4px solid rgba(255,255,255,.8);border-radius:50%;animation:match-shockwave .5s ease-out forwards}.match-sparkle{position:absolute;width:6px;height:6px;background-color:#fff;border-radius:50%;animation:match-sparkle-burst .6s ease-out forwards}@keyframes match-pop-up{0%{transform:scale(0) translateY(0);opacity:0}50%{transform:scale(1.2) translateY(-20px);opacity:1}to{transform:scale(1) translateY(-50px);opacity:0}}@keyframes combo-surge{0%{transform:scale(.5) translateY(0) rotate(-10deg);opacity:0}40%{transform:scale(1.5) translateY(-30px) rotate(5deg);opacity:1}to{transform:scale(1.2) translateY(-80px) rotate(0);opacity:0}}@keyframes match-shockwave{0%{transform:scale(1);opacity:1;border-width:4px}to{transform:scale(8);opacity:0;border-width:0px}}@keyframes match-sparkle-burst{0%{transform:rotate(var(--angle)) translate(0) scale(1);opacity:1}to{transform:rotate(var(--angle)) translate(var(--dist)) scale(0);opacity:0}}.score-effect-wrapper{position:absolute;pointer-events:none;z-index:2000;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.score-value{font-family:Arial Black,sans-serif;font-weight:900;font-size:2rem;color:#fff;-webkit-text-stroke:1px rgba(0,0,0,.1);text-shadow:2px 2px 0px rgba(0,0,0,.2);animation:score-bounce .8s cubic-bezier(.175,.885,.32,1.275) forwards;line-height:1;white-space:nowrap}.score-label{font-family:Arial,sans-serif;font-weight:800;font-size:.9rem;padding:4px 8px;border-radius:12px;margin-top:4px;color:#fff;background:#0009;animation:label-slide-up .6s ease-out .1s forwards;opacity:0;white-space:nowrap;box-shadow:0 2px 4px #0003}.tier-1{color:#fff;font-size:1.8rem}.tier-2{color:#7ad3b5;font-size:2.2rem}.tier-3{color:gold;font-size:2.6rem;text-shadow:0 0 10px rgba(255,215,0,.5)}.tier-4{color:#ff8a7a;font-size:3rem;text-shadow:0 0 15px rgba(255,138,122,.6)}.tier-5{color:#9a8ae5;font-size:3.5rem;text-shadow:0 0 20px rgba(154,138,229,.7)}.style-clash .score-value{color:#4af;text-shadow:0 0 10px #44AAFF,2px 2px 0 #0055AA}.style-clash .score-label{background:linear-gradient(45deg,#4af,#4f6ad9);border:1px solid #fff}.style-time .score-value{color:#f44;text-shadow:0 0 10px #FF4444,2px 2px 0 #880000}.style-time .score-label{background:linear-gradient(45deg,#f44,#ff8a7a);animation:label-pulse .5s infinite alternate}@keyframes score-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.4);opacity:1}to{transform:scale(1) translateY(-60px);opacity:0}}@keyframes label-slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes label-pulse{0%{transform:scale(1)}to{transform:scale(1.1)}}.clash-effect-container{position:absolute;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;width:0;height:0}.clash-text{font-family:Arial Black,sans-serif;font-weight:900;font-size:1.5rem;text-shadow:3px 3px 0px rgba(0,0,0,.5);animation:clash-shake-drop .8s cubic-bezier(.36,.07,.19,.97) forwards;white-space:nowrap;position:absolute;z-index:2}.clash-particles{position:absolute;top:0;left:0}.clash-particle{position:absolute;width:6px;height:6px;border-radius:1px;transform-origin:center;animation:clash-shatter .6s ease-out forwards}@keyframes clash-shake-drop{0%{transform:translate(0) scale(.5) rotate(0);opacity:0}15%{transform:translate(0) scale(1.5) rotate(-5deg);opacity:1}25%{transform:translate(-5px) rotate(5deg)}35%{transform:translate(5px) rotate(-5deg)}45%{transform:translate(-3px) rotate(3deg)}60%{transform:translate(0) scale(1.2) rotate(0);opacity:1}to{transform:translateY(50px) scale(.8) rotate(10deg);opacity:0}}@keyframes clash-shatter{0%{transform:rotate(var(--angle)) translate(0) scale(1);opacity:1}60%{opacity:1}to{transform:rotate(var(--angle)) translate(60px) translateY(40px) rotate(720deg) scale(0);opacity:0}}.test-clash-container{width:100vw;height:100vh;background-color:#2a2a2a;position:relative;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.test-controls{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#000c;padding:20px;border-radius:12px;color:#fff;text-align:center;z-index:100;pointer-events:auto;box-shadow:0 4px 12px #0000004d}.test-controls h3{margin:0 0 10px;color:#ffb547}.button-group{display:flex;gap:10px;margin-top:15px;justify-content:center;flex-wrap:wrap;max-width:600px}.test-controls button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;background:#444;color:#fff;font-weight:700;transition:all .2s}.test-controls button.active{background:#7ad3b5;transform:scale(1.05)}.test-controls button.back-btn{background:#666}.test-controls button:hover{opacity:.9}.rewarded-ad-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rewarded-ad-content{background:#fff;border-radius:20px;padding:40px;max-width:450px;width:90%;text-align:center;box-shadow:0 10px 40px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.ad-icon{font-size:64px;margin-bottom:20px}.rewarded-ad-content h3{font-size:24px;font-weight:700;color:#2d5f4e;margin-bottom:16px}.ad-description{font-size:16px;color:#5a5a5a;line-height:1.6;margin-bottom:20px}.ad-info{background:#7ad3b51a;border:1px solid rgba(122,211,181,.3);border-radius:8px;padding:10px;margin-bottom:24px}.ad-info span{font-size:14px;color:#2d5f4e;font-weight:600}.ad-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.watch-ad-btn{background:linear-gradient(135deg,#7ad3b5,#5fc9b5);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #7ad3b54d}.watch-ad-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7ad3b566}.watch-ad-btn:active{transform:translateY(0)}.skip-ad-btn{background:transparent;color:#888;border:2px solid #DDD;border-radius:12px;padding:14px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.skip-ad-btn:hover{border-color:#bbb;color:#666}.ad-notice{font-size:12px;color:#999;margin-top:12px}.ad-playback{background:#fff;border-radius:16px;padding:24px;max-width:600px;width:90%;box-shadow:0 10px 40px #0000004d}.ad-video-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:60px 40px;margin-bottom:20px;position:relative;overflow:hidden}.ad-label{position:absolute;top:12px;left:12px;background:#00000080;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.ad-mock-content{color:#fff;text-align:center}.ad-brand{font-size:32px;font-weight:700;margin-bottom:12px}.ad-mock-content p{font-size:16px;opacity:.9}.ad-progress-container{margin-bottom:16px}.ad-progress-bar{background:#e0e0e0;border-radius:8px;height:12px;overflow:hidden;margin-bottom:8px}.ad-progress-fill{background:linear-gradient(90deg,#7ad3b5,#5fc9b5);height:100%;transition:width .1s linear;border-radius:8px}.ad-progress-text{text-align:center;font-size:14px;font-weight:600;color:#2d5f4e}.skip-ad-btn-small{width:100%;background:transparent;color:#888;border:2px solid #DDD;border-radius:10px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.skip-ad-btn-small:hover{border-color:#bbb;color:#666}@media (max-width: 768px){.rewarded-ad-content{padding:30px 24px}.ad-icon{font-size:48px}.rewarded-ad-content h3{font-size:20px}.ad-description{font-size:14px}.ad-video-placeholder{padding:40px 20px}.ad-brand{font-size:24px}}.toast{position:fixed;top:120px;left:50%;transform:translate(-50%);padding:16px 32px;border-radius:12px;font-size:18px;font-weight:700;box-shadow:0 8px 24px #0000004d;z-index:10000;animation:toastSlideIn .3s ease-out,toastPulse .5s ease-in-out .3s;border:2px solid rgba(255,255,255,.3);min-width:200px;max-width:500px;text-align:center}@keyframes toastSlideIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes toastPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.toast-info{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.toast-success{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff}.toast-warning{background:linear-gradient(135deg,#ffa726,#fb8c00);color:#fff}.toast-error{background:linear-gradient(135deg,#e57373,#ef5350);color:#fff}.toast-contest{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}@media (max-width: 768px){.toast{top:80px;font-size:16px;padding:14px 28px;max-width:90%}}@media (max-width: 480px){.toast{top:60px;font-size:14px;padding:12px 24px}}.message-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:100000;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.message-modal-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:32px;box-shadow:0 20px 60px #00000080;max-width:90%;width:500px;animation:modalSlideIn .3s ease-out;border:3px solid rgba(255,255,255,.3)}@keyframes modalSlideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.message-modal-title{font-size:24px;font-weight:800;color:#fff;margin-bottom:20px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.3)}.message-modal-content{font-size:18px;font-weight:600;color:#fff;line-height:1.6;text-align:center;margin-bottom:24px;white-space:pre-wrap;word-break:break-word;text-shadow:0 2px 8px rgba(0,0,0,.2)}.message-modal-close-btn{width:100%;padding:14px 28px;font-size:18px;font-weight:700;color:#667eea;background:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0003}.message-modal-close-btn:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.message-modal-close-btn:active{transform:translateY(0);box-shadow:0 2px 8px #0003}@media (max-width: 768px){.message-modal-container{width:90%;padding:24px}.message-modal-title{font-size:20px;margin-bottom:16px}.message-modal-content{font-size:16px;margin-bottom:20px}.message-modal-close-btn{padding:12px 24px;font-size:16px}}@media (max-width: 480px){.message-modal-container{width:95%;padding:20px}.message-modal-title{font-size:18px;margin-bottom:12px}.message-modal-content{font-size:15px;margin-bottom:16px}.message-modal-close-btn{padding:10px 20px;font-size:15px}}@media (min-width: 1200px){.message-modal-container{width:600px;padding:40px}.message-modal-title{font-size:28px;margin-bottom:24px}.message-modal-content{font-size:20px;margin-bottom:28px}.message-modal-close-btn{padding:16px 32px;font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e9e2d6,#7ba05b);min-height:100vh}.app{height:100vh;max-height:100vh;display:flex;flex-direction:column;align-items:stretch;overflow:hidden}.app-header{text-align:center;margin-bottom:30px;color:#1e1e22}.app-title{font-size:48px;font-weight:800;letter-spacing:2px;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.app-subtitle{font-size:18px;color:#1e1e22;opacity:.8}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:20px}.main-menu{display:flex;flex-direction:column;align-items:center;gap:40px}.game-logo{display:flex;align-items:center;gap:20px}.logo-icon{width:80px;height:80px;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 24px #7ad3b566}.logo-image{width:150px;height:150px;object-fit:contain;margin-bottom:10px}.main-menu-logo{width:150px;height:150px;margin-bottom:10px}.logo-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:logo-shine 3s infinite}@keyframes logo-shine{0%{left:-100%}50%{left:200%}to{left:200%}}.game-logo h1{font-size:72px;font-weight:900;color:#2d5f4e;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.menu-buttons{display:flex;flex-direction:column;gap:16px}.menu-btn{padding:20px 60px;font-size:24px;font-weight:700;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;min-width:300px}.menu-btn.single-play{background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;box-shadow:0 6px 20px #7ad3b566}.menu-btn.single-play:hover{transform:translateY(-4px);box-shadow:0 8px 28px #7ad3b580}.menu-btn.multi-play{background:linear-gradient(135deg,#ff8f7e,#ff6b6b);color:#fff;box-shadow:0 6px 20px #ff8f7e66}.menu-btn.multi-play:hover{transform:translateY(-4px);box-shadow:0 8px 28px #ff8f7e80}.start-options{background:#fff;padding:40px;border-radius:22px;box-shadow:0 8px 32px #0000001a;text-align:center;min-width:400px}.start-options h2{font-size:24px;color:#1e1e22;margin-bottom:20px}.back-button{margin-top:16px;padding:12px 32px;background:#e9e2d6;color:#1e1e22;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#d5cec2;transform:translateY(-2px)}.size-buttons{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.size-button{padding:12px 24px;border:2px solid #7BA05B;background:#fff;color:#7ba05b;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.size-button:hover{background:#7ba05b;color:#fff;transform:translateY(-2px)}.size-button.active{background:#7ba05b;color:#fff}.start-button{padding:16px 48px;background:linear-gradient(135deg,#7ad3b5,#5fa3c4);color:#fff;border:none;border-radius:16px;font-size:20px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #7ad3b54d}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7ad3b566}.start-button:active{transform:translateY(0)}.game-screen{display:flex;flex-direction:column;align-items:center;width:100%;flex:1;min-height:0;overflow:hidden;background:linear-gradient(135deg,#e9e2d6,#7ba05b)}.game-area-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:1400px;padding:10px 20px;flex:1;min-height:0;overflow:hidden}.game-area-container>.game-board-container{position:absolute;left:50%;transform:translate(-50%);z-index:1}.game-area-container>.player-scoreboard-split{position:absolute;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:2}.game-area-container .player-scoreboard-side{pointer-events:auto}.game-area-container .player-scoreboard-side.left{margin-left:20px}.game-area-container .player-scoreboard-side.right{margin-right:20px}.game-stats{display:flex;gap:30px;margin-bottom:20px;background:#fff;padding:20px 40px;border-radius:16px;box-shadow:0 4px 16px #0000001a}.stat{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{font-size:14px;color:#1e1e22;opacity:.7;font-weight:600}.stat-value{font-size:32px;font-weight:800;color:#7ba05b}.game-over-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.game-over-panel{background:#fff;padding:40px;border-radius:22px;text-align:center;box-shadow:0 8px 32px #0003;min-width:500px;max-width:850px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.game-over-panel h2{font-size:32px;color:#1e1e22;margin-bottom:20px}.final-score{font-size:24px;color:#7ba05b;font-weight:700;margin-bottom:30px}.result-title{font-size:32px;font-weight:700;color:#1e1e22;margin-bottom:16px;text-align:center;flex-shrink:0}.winner-highlight{background:linear-gradient(135deg,gold,orange);padding:20px;border-radius:16px;margin-bottom:16px;box-shadow:0 4px 16px #ffd7004d;animation:winner-glow 2s ease-in-out infinite;display:flex;align-items:center;gap:16px;flex-shrink:0}@keyframes winner-glow{0%,to{box-shadow:0 4px 16px #ffd7004d}50%{box-shadow:0 8px 24px #ffd70099}}.winner-rank{font-size:48px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);min-width:60px;text-align:center}.winner-info{flex:1}.winner-name{font-size:24px;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:4px}.winner-badge{display:inline-block;background:#ffffff4d;padding:4px 12px;border-radius:12px;font-size:12px;color:#fff;font-weight:600}.winner-score{font-size:32px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.result-rankings{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:16px;padding-right:8px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.result-rankings::-webkit-scrollbar-thumb{background:#7ad3b580;border-radius:10px}.ranking-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:12px;transition:transform .2s,box-shadow .2s;border-left:4px solid #7AD3B5;min-height:56px;touch-action:manipulation;opacity:0;animation:ranking-fade-in .3s ease forwards}.ranking-item:nth-child(1){animation-delay:.1s}.ranking-item:nth-child(2){animation-delay:.2s}.ranking-item:nth-child(3){animation-delay:.3s}.ranking-item:nth-child(4){animation-delay:.4s}.ranking-item:nth-child(5){animation-delay:.5s}.ranking-item:nth-child(n+6){animation-delay:.6s}@keyframes ranking-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ranking-item:active{background:#7ad3b51a;transform:scale(.98)}.rank{font-size:24px;font-weight:800;color:#7ba05b;min-width:40px;text-align:center}.player-info-result{flex:1}.player-name-result{font-size:18px;font-weight:600;color:#1e1e22;margin-bottom:4px}.player-score-result{font-size:24px;font-weight:800;color:#7ba05b}.team-header-result{display:flex;align-items:center;gap:8px;margin-bottom:8px}.team-members-chips{display:flex;flex-wrap:wrap;gap:6px}.member-chip{padding:4px 10px;border-radius:12px;font-size:12px;border:1px solid}.member-score{font-size:10px}.result-actions{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;flex-shrink:0}.result-actions button{width:100%;padding:14px;font-size:16px;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px}.replay-button{background:#7ad3b5;color:#fff}.replay-button:hover{background:#5fa3c4;transform:translateY(-2px)}.return-to-lobby-btn{background:#e9e2d6;color:#1e1e22}.return-to-lobby-btn:hover{background:#7ba05b;color:#fff;transform:translateY(-2px)}.restart-button,.menu-button{padding:12px 32px;margin:5px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.restart-button{background:#7ad3b5;color:#fff}.restart-button:hover{background:#5fa3c4;transform:translateY(-2px)}.menu-button{background:#e9e2d6;color:#1e1e22}.menu-button:hover{background:#7ba05b;color:#fff;transform:translateY(-2px)}@media (max-width: 768px) and (orientation: portrait),(max-width: 768px) and (min-height: 600px){.app-title{font-size:36px}.start-options{min-width:auto;padding:30px 20px;width:90%}.size-buttons{flex-direction:column}.game-stats{gap:20px;padding:15px 30px}.stat-value{font-size:28px}.game-area-container{position:static!important;display:flex!important;flex-direction:column!important;gap:2px;padding:2px;overflow:hidden}.game-area-container>.game-board-container{position:static!important;transform:none!important;order:1!important}.game-area-container>.player-scoreboard-split{position:static!important;width:100%!important;height:auto!important;flex-direction:column!important;gap:2px;pointer-events:auto;order:2!important}.game-area-container .player-scoreboard-side{width:100%!important;margin:0!important;padding:2px!important;max-height:50px}.game-area-container .player-scoreboard-side.left{display:none!important}.game-area-container .player-scoreboard-side.right{order:1!important}.game-screen{gap:5px}.menu-btn{min-width:250px;padding:16px 40px;font-size:20px}.game-logo h1{font-size:48px}.logo-icon{width:60px;height:60px;font-size:36px}}@media (max-width: 480px){.app-title{font-size:28px}.app-subtitle{font-size:14px}.game-stats{gap:15px;padding:10px 20px}.stat-value{font-size:24px}.menu-btn{min-width:200px;padding:14px 32px;font-size:18px}.game-logo h1{font-size:36px}.logo-icon{width:50px;height:50px;font-size:30px;border-radius:14px}.game-over-panel{min-width:auto;width:95%;padding:16px;max-height:90vh}.game-over-panel h2{font-size:24px}.final-score{font-size:20px}.result-title{font-size:24px;margin-bottom:12px}.winner-highlight{padding:16px}.winner-rank{font-size:36px;min-width:50px}.winner-name{font-size:18px}.winner-score{font-size:24px}.ranking-item{padding:12px 16px;gap:12px}.rank{font-size:18px;min-width:32px}.player-name-result{font-size:14px}.player-score-result{font-size:18px}.member-chip{padding:3px 8px;font-size:11px}.result-actions button{font-size:14px;padding:12px}.result-rankings::-webkit-scrollbar{display:none}.result-rankings{scrollbar-width:none}.result-actions{position:sticky;bottom:0;box-shadow:0 -2px 10px #0000001a;padding:12px 0 0;gap:10px;background:#fff;border-top:none}}@media (max-height: 600px) and (orientation: landscape) and (max-width: 1024px){.app{min-height:100vh}.game-area-container{position:relative;display:flex;flex-direction:row;padding:0;gap:0;align-items:center;justify-content:center;width:100%;height:100%}.game-area-container>.game-board-container{position:static;transform:none;flex:0 0 auto;z-index:1}.game-area-container>.player-scoreboard-split{--landscape-topbar-height: 48px;display:flex!important;position:fixed!important;top:calc(var(--landscape-topbar-height) + 12px)!important;bottom:12px!important;left:12px!important;width:auto!important;max-width:150px!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:6px!important;pointer-events:auto!important;z-index:50!important}.game-area-container .player-scoreboard-side{margin:0!important;width:100%!important;padding:4px!important;background:transparent!important;border-radius:6px!important;position:static!important;display:flex!important;flex-direction:column!important;gap:4px!important;align-items:stretch!important}.game-area-container .player-scoreboard-side.left{display:none!important}.game-area-container .player-scoreboard-side.right{display:flex!important;order:1!important;align-items:stretch!important;justify-content:center!important}.game-area-container .player-card .player-name,.game-area-container .player-card-mini .player-name-mini{display:none!important}.game-stats{padding:8px 16px;gap:12px}.stat-value{font-size:20px}.stat-label{font-size:12px}.menu-buttons{flex-direction:row;gap:12px}.menu-btn{padding:12px 24px;font-size:16px;min-width:180px}.game-logo h1{font-size:42px}}.result-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px}.result-title{font-size:48px;font-weight:700;color:#2d5f4e;margin-bottom:20px;text-align:center;flex-shrink:0}.result-rankings{width:100%;max-width:100%;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;flex:1;margin:20px 0;padding-right:8px}.result-rankings::-webkit-scrollbar{width:8px}.result-rankings::-webkit-scrollbar-track{background:#7ad3b51a;border-radius:10px}.result-rankings::-webkit-scrollbar-thumb{background:#7ad3b580;border-radius:10px;transition:background .2s}.result-rankings::-webkit-scrollbar-thumb:hover{background:#7ad3b5b3}.ranking-item{display:flex;align-items:center;gap:20px;padding:20px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.ranking-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ranking-item.winner{background:linear-gradient(135deg,gold,orange);box-shadow:0 4px 16px #ffd70066;transform:scale(1.05)}.ranking-item.winner:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 6px 20px #ffd70080}.rank{font-size:28px;font-weight:700;color:#2d5f4e;min-width:50px}.ranking-item.winner .rank{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.player-info-result{flex:1;display:flex;align-items:center;gap:12px}.player-name-result{font-size:24px;font-weight:600;color:#2d5f4e}.ranking-item.winner .player-name-result{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.winner-badge{font-size:20px;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.player-score-result{font-size:32px;font-weight:700;color:#2d5f4e}.ranking-item.winner .player-score-result{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.auto-return-msg{margin-top:30px;font-size:16px;color:#666;text-align:center}.replay-button{margin-top:12px;padding:14px 36px;font-size:17px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea4d;flex-shrink:0}.replay-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.replay-button:active{transform:translateY(0)}.return-to-lobby-btn{margin-top:12px;padding:16px 48px;font-size:20px;font-weight:700;background:linear-gradient(135deg,#7ad3b5,#5bc4a0);color:#fff;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #7ad3b54d;transition:all .2s;flex-shrink:0}.return-to-lobby-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7ad3b566}.return-to-lobby-btn:active{transform:translateY(0)}.team-header-result{display:flex;align-items:center;gap:12px;margin-bottom:12px}.team-members-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.member-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:600;border:2px solid;transition:all .2s;box-shadow:0 2px 8px #0000001a}.member-chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;filter:brightness(1.1)}.member-score{opacity:.8;font-weight:500}.ranking-item.winner .member-chip{background:#ffffff40!important;border-color:#fffc!important;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.3)}:root{--tile-bg-1: #FF6B6B;--tile-bg-2: #4ECDC4;--tile-bg-3: #45B7D1;--tile-bg-4: #96CEB4;--tile-bg-5: #FFEAA7;--tile-bg-6: #DDA0DD;--tile-bg-7: #98D8C8;--tile-bg-8: #F7DC6F;--tile-bg-9: #BB8FCE;--player-red: #FF6B6B;--player-green: #4ECDC4;--player-blue: #45B7D1;--player-yellow: #FFEAA7;--player-purple: #DDA0DD;--player-orange: #FFB347;--player-pink: #FFB6C1;--player-cyan: #00CED1}[data-color-blind-mode=deuteranopia],[data-color-blind-mode=protanopia]{--tile-bg-1: #0077BB;--tile-bg-2: #33BBEE;--tile-bg-3: #0099CC;--tile-bg-4: #FFDD00;--tile-bg-5: #EE7733;--tile-bg-6: #CC3311;--tile-bg-7: #009988;--tile-bg-8: #FFCC00;--tile-bg-9: #7744AA;--player-red: #0077BB;--player-green: #FFDD00;--player-blue: #33BBEE;--player-yellow: #EE7733;--player-purple: #7744AA;--player-orange: #CC3311;--player-pink: #EE3377;--player-cyan: #009988}[data-color-blind-mode=tritanopia]{--tile-bg-1: #CC3311;--tile-bg-2: #EE3377;--tile-bg-3: #009988;--tile-bg-4: #33BBEE;--tile-bg-5: #EE7733;--tile-bg-6: #AA44BB;--tile-bg-7: #44BB99;--tile-bg-8: #CC6677;--tile-bg-9: #882255;--player-red: #CC3311;--player-green: #009988;--player-blue: #33BBEE;--player-yellow: #EE7733;--player-purple: #AA44BB;--player-orange: #CC6677;--player-pink: #EE3377;--player-cyan: #44BB99}[data-color-blind-mode=high-contrast]{--tile-bg-1: #FF0000;--tile-bg-2: #00FFFF;--tile-bg-3: #0000FF;--tile-bg-4: #00FF00;--tile-bg-5: #FFFF00;--tile-bg-6: #FF00FF;--tile-bg-7: #00FF80;--tile-bg-8: #FF8000;--tile-bg-9: #8000FF;--bg-primary: #000000;--bg-secondary: #1A1A1A;--text-primary: #FFFFFF;--text-secondary: #CCCCCC;--border-color: #FFFFFF}[data-color-blind-mode] .tile-pattern{display:block}.tile-pattern{display:none;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;opacity:.3}.tile[data-value="1"] .tile-pattern{background:radial-gradient(circle at 50% 50%,currentColor 4px,transparent 4px)}.tile[data-value="2"] .tile-pattern{background:repeating-linear-gradient(0deg,transparent,transparent 4px,currentColor 4px,currentColor 6px)}.tile[data-value="3"] .tile-pattern{background:repeating-linear-gradient(90deg,transparent,transparent 4px,currentColor 4px,currentColor 6px)}.tile[data-value="4"] .tile-pattern{background:repeating-linear-gradient(45deg,transparent,transparent 4px,currentColor 4px,currentColor 6px)}.tile[data-value="5"] .tile-pattern{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,currentColor 4px,currentColor 6px)}.tile[data-value="6"] .tile-pattern{background:repeating-linear-gradient(0deg,transparent,transparent 5px,currentColor 5px,currentColor 6px),repeating-linear-gradient(90deg,transparent,transparent 5px,currentColor 5px,currentColor 6px)}.tile[data-value="7"] .tile-pattern{background:radial-gradient(circle,currentColor 2px,transparent 2px);background-size:8px 8px}.tile[data-value="8"] .tile-pattern{background:repeating-linear-gradient(45deg,transparent,transparent 3px,currentColor 3px,currentColor 5px),repeating-linear-gradient(-45deg,transparent,transparent 3px,currentColor 3px,currentColor 5px)}.tile[data-value="9"] .tile-pattern{background:radial-gradient(circle at 50% 50%,transparent 30%,currentColor 30%,currentColor 40%,transparent 40%)}[data-color-blind-mode] .tile .tile-inner{border:3px solid currentColor}.tile[data-value="1"] .tile-inner{border-color:#000}.tile[data-value="2"] .tile-inner{border-color:#333}.tile[data-value="3"] .tile-inner{border-color:#555}.tile[data-value="4"] .tile-inner{border-color:#777}.tile[data-value="5"] .tile-inner{border-color:#999}.tile[data-value="6"] .tile-inner{border-color:#aaa}.tile[data-value="7"] .tile-inner{border-color:#ccc}.tile[data-value="8"] .tile-inner{border-color:#ddd}.tile[data-value="9"] .tile-inner{border-color:#fff}:focus-visible{outline:3px solid #4A90D9;outline-offset:2px}.tile:focus-visible .tile-inner{outline:3px solid #FFD700;outline-offset:2px;box-shadow:0 0 10px #ffd70080}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4A90D9;outline-offset:2px;box-shadow:0 0 8px #4a90d966}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;z-index:9999;transition:top .3s}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (pointer: coarse){button,[role=button],input[type=button],input[type=submit],input[type=reset]{min-height:44px;min-width:44px}button,a,input,select,textarea{touch-action:manipulation}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],textarea{min-height:44px;font-size:16px}.icon-button,.control-icon-btn,.lang-button{min-height:44px;min-width:44px}}.scrollable,[class*=list],[class*=container]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-board,.ranking-list,.room-list{will-change:scroll-position;transform:translateZ(0)}
