@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#f43f5e;--primary-light:#fb7185;--navy:#1e1b4b;--mint:#34d399;--court-wood:#fde047;--font-family:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;padding:0;scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html,body{width:100vw;height:100vh;font-family:var(--font-family);color:var(--navy);background-color:#fdf2f8;position:fixed;overflow:hidden!important}#app{width:100vw;height:100vh;position:relative;overflow:hidden!important}#canvas-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hidden{display:none!important}.loading-screen{z-index:100;background:#fdf2f8;justify-content:center;align-items:center;transition:opacity .4s ease-out;display:flex;position:absolute;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-box{flex-direction:column;align-items:center;gap:14px;display:flex}.loading-birdie-bounce{font-size:54px;animation:.8s ease-in-out infinite alternate birdie-hop}@keyframes birdie-hop{0%{transform:translateY(0)scale(1.1,.9)}to{transform:translateY(-22px)scale(.95,1.05)}}.tboy-loading-brand{flex-direction:column;align-items:center;gap:4px;display:flex}.tboy-studio-badge{letter-spacing:1.5px;color:#f43f5e;background:#fff;border-radius:9999px;padding:4px 14px;font-size:11px;font-weight:900;box-shadow:0 4px 12px #f43f5e26}.loading-brand{color:var(--primary);letter-spacing:-.5px;font-size:30px;font-weight:950}.loading-brand span{color:var(--navy)}.loading-track{background:#fce7f3;border-radius:9999px;width:220px;height:8px;overflow:hidden}.loading-fill{background:linear-gradient(90deg,#f43f5e,#fb7185);border-radius:9999px;width:0%;height:100%;transition:width .2s ease-out}.loading-txt{color:#94a3b8;font-size:13px;font-weight:700}.tboy-menu{z-index:20;pointer-events:none;justify-content:space-between;padding:30px 40px;display:flex;position:absolute;inset:0}.bb-left-column{pointer-events:auto;flex-direction:column;gap:20px;max-width:340px;display:flex}.bb-brand-box{flex-direction:column;gap:8px;display:flex}.bb-logo-group{flex-direction:column;display:flex}.bb-logo-birdie{color:#fb7185;letter-spacing:-1.5px;text-shadow:3.5px 3.5px #fff,-3.5px -3.5px #fff,3.5px -3.5px #fff,-3.5px 3.5px #fff,0 8px 18px #fb718559;font-size:76px;font-weight:950;line-height:.88}.bb-logo-bash{color:#1e1b4b;letter-spacing:-1.5px;text-shadow:3.5px 3.5px #fff,-3.5px -3.5px #fff,3.5px -3.5px #fff,-3.5px 3.5px #fff,0 8px 18px #1e1b4b40;font-size:76px;font-weight:950;line-height:.88}.bb-sub-pill{color:#1e1b4b;background:#fff;border-radius:9999px;width:fit-content;padding:6px 16px;font-size:13px;font-weight:750;box-shadow:0 4px 14px #0000000f}.bb-menu-stack{flex-direction:column;gap:10px;width:230px;display:flex}.bb-pill-btn{color:#1e1b4b;cursor:pointer;text-align:left;background:#fff;border:none;border-radius:9999px;outline:none;justify-content:flex-start;align-items:center;padding:12px 24px;font-size:15px;font-weight:850;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;display:flex;box-shadow:0 4px 14px #0000000f}.bb-pill-btn:hover{transform:translate(4px)scale(1.02);box-shadow:0 6px 18px #0000001a}.bb-pill-btn:active{transform:scale(.96)}.bb-pill-btn.active{color:#fff;background:linear-gradient(135deg,#f43f5e,#fb7185);box-shadow:0 8px 24px #f43f5e66}.bb-top-bar-right{z-index:40;pointer-events:auto;align-items:center;gap:10px;display:flex;position:absolute;top:24px;right:32px}.bb-circle-btn{cursor:pointer;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:900;transition:transform .15s;display:flex;box-shadow:0 4px 14px #00000014}.bb-circle-btn:hover{transform:scale(1.08)}.bb-circle-btn.pink{color:#fff;background:#f43f5e}.bb-signin-pill{color:#1e1b4b;cursor:pointer;background:#fff;border:1.5px solid #f43f5e40;border-radius:9999px;outline:none;align-items:center;gap:8px;padding:8px 18px;font-size:14px;font-weight:850;transition:transform .15s,border-color .15s;display:flex;box-shadow:0 4px 16px #00000014}.bb-signin-pill:hover{border-color:#f43f5e;transform:scale(1.04)}.user-icon{font-size:15px}.edit-badge{color:#f43f5e;font-size:12px}.bb-right-column{pointer-events:auto;z-index:25;position:absolute;top:85px;right:32px}.bb-leaderboard-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-radius:20px;flex-direction:column;gap:12px;width:255px;padding:16px 18px;display:flex;box-shadow:0 10px 30px #00000014}.bb-lb-header{justify-content:space-between;align-items:center;display:flex}.bb-lb-title{letter-spacing:.8px;color:#64748b;font-size:11px;font-weight:900}.bb-lb-viewall{color:#f43f5e;cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:850}.bb-lb-list{flex-direction:column;gap:8px;display:flex}.bb-lb-row{align-items:center;gap:8px;display:flex}.bb-lb-rank{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:flex;position:relative}.bb-lb-rank.gold{color:#b45309;background:#fef08a}.bb-lb-rank.silver{color:#475569;background:#f1f5f9}.bb-lb-rank.bronze{color:#c2410c;background:#ffedd5}.bb-crown{font-size:12px;position:absolute;top:-9px;left:2px}.bb-lb-avatar{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.bb-lb-avatar.blue{background:#bae6fd}.bb-lb-avatar.yellow{background:#fef08a}.bb-lb-avatar.pink{background:#fce7f3}.bb-lb-name{color:#1e1b4b;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:800;overflow:hidden}.bb-lb-score{flex-direction:column;align-items:flex-end;line-height:1;display:flex}.bb-score-num{color:#1e1b4b;font-size:14px;font-weight:950}.bb-score-lbl{color:#94a3b8;font-size:8px;font-weight:850}.bb-lb-footer{color:#64748b;cursor:pointer;border-top:1px solid #f1f5f9;padding-top:4px;font-size:10px;font-weight:800;line-height:1.3}.hud-top-bar{z-index:60;pointer-events:none;box-sizing:border-box;justify-content:center;align-items:center;width:100%;padding:0 16px;display:flex;position:fixed;top:14px;left:0;right:0}.match-hud-pill{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff5;border:2px solid #fffffff2;border-radius:40px;align-items:center;padding:6px 18px;display:flex;box-shadow:0 10px 30px #1e1b4b1f,0 2px 8px #0000000a}.hud-player,.hud-bot{align-items:center;gap:8px;display:flex}.hud-avatar-box{justify-content:center;align-items:center;display:flex;position:relative}.hud-emoji{font-size:26px}.hud-serve-badge{background:#facc15;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:12px;animation:1.2s ease-in-out infinite pulse-serve;display:flex;position:absolute;bottom:-4px;right:-6px;box-shadow:0 0 8px #facc15}@keyframes pulse-serve{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.hud-name-col{flex-direction:column;gap:2px;display:flex}.hud-name-col.align-right{align-items:flex-end}.hud-team-tag{letter-spacing:.6px;border-radius:4px;width:fit-content;padding:1px 5px;font-size:8px;font-weight:900}.hud-team-tag.blue{color:#0284c7;background:#e0f2fe}.hud-team-tag.red{color:#e11d48;background:#ffe4e6}.hud-label{letter-spacing:.8px;color:#1e1b4b;font-size:11px;font-weight:900}.hud-score{font-feature-settings:"tnum";text-align:center;min-width:24px;font-size:30px;font-weight:950;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.score-pop{transform:scale(1.35)}.hud-score-p1{color:#0284c7}.hud-score-bot{color:#ef4444}.hud-center{border-left:1.5px solid #e2e8f0;border-right:1.5px solid #e2e8f0;flex-direction:column;align-items:center;gap:2px;margin:0 14px;padding:0 12px;display:flex}.hud-vs-row{align-items:center;gap:4px;display:flex}.hud-vs{color:#94a3b8;font-size:10px;font-weight:950}.hud-diff{color:#7c3aed;background:#f3e8ff;border-radius:6px;padding:1px 6px;font-size:9px;font-weight:900}.hud-rally{color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:900;display:flex}.hud-rally-icon{font-size:12px}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.bb-modal-box{background:#fff;border-radius:24px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:22px 20px;display:flex;box-shadow:0 20px 48px #0000002e}.bb-modal-box.wide{max-width:440px}.bb-modal-header{justify-content:space-between;align-items:center;display:flex}.bb-modal-header h3{color:#1e1b4b;font-size:18px;font-weight:900}.btn-close-x{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;width:30px;height:30px;font-size:14px;font-weight:900}.bb-modal-sub{color:#64748b;font-size:12px;font-weight:600}.bb-diff-stack{flex-direction:column;gap:8px;display:flex}.bb-diff-card{cursor:pointer;text-align:left;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.bb-diff-card:hover{background:#fff1f2;border-color:#fca5a5}.bb-diff-card.active{background:#fff1f2;border-color:#f43f5e;box-shadow:0 4px 14px #f43f5e2e}.bb-diff-icon{font-size:24px}.bb-diff-info{flex-direction:column;display:flex}.bb-diff-info strong{color:#1e1b4b;font-size:14px;font-weight:850}.bb-diff-info span{color:#64748b;font-size:11px}.bb-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f43f5e,#fb7185);border:none;border-radius:9999px;width:100%;padding:13px;font-size:15px;font-weight:900;transition:transform .15s;box-shadow:0 6px 18px #f43f5e59}.bb-btn-primary:hover{transform:scale(1.02)}.roster-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.roster-card{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;transition:all .15s;display:flex}.roster-card.active{background:#fff1f2;border-color:#f43f5e;box-shadow:0 4px 12px #f43f5e2e}.roster-avatar-box{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;display:flex}.roster-avatar-box.gold{background:#fef08a}.roster-avatar-box.dark{background:#f3e8ff}.roster-avatar-box.ice{background:#e0f2fe}.roster-avatar-box.pink{background:#fce7f3}.roster-avatar-box.green{background:#d1fae5}.roster-avatar-box.orange{background:#ffedd5}.roster-name{color:#1e1b4b;text-align:center;font-size:11px;font-weight:850}.roster-type{color:#64748b;text-align:center;font-size:9px}.btn-select-roster{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:8px;width:100%;padding:4px;font-size:10px;font-weight:850}.roster-card.active .btn-select-roster{color:#fff;background:#f43f5e}.how-to-list{flex-direction:column;gap:10px;display:flex}.how-item{background:#f8fafc;border-radius:14px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.how-icon{font-size:22px}.how-item strong{color:#1e1b4b;font-size:13px}.how-item p{color:#64748b;margin-top:2px;font-size:11px}.online-room-box{background:#fff;border-radius:24px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:20px;display:flex;box-shadow:0 20px 48px #0003}.room-vip-header{justify-content:space-between;align-items:center;display:flex}.room-badge-gold{background:#fef08a;border:1.5px solid #facc15;border-radius:16px;align-items:center;gap:8px;padding:6px 14px;display:flex}.room-crown{font-size:20px}.room-code-huge{color:#b45309;letter-spacing:2px;font-size:22px;font-weight:950}.btn-room-leave{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:12px;padding:6px 12px;font-size:12px;font-weight:850}.btn-copy-link-vip{cursor:pointer;text-align:left;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #facc15;border-radius:16px;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.copy-link-main{color:#92400e;font-size:13px;font-weight:900;display:block}.copy-link-sub{color:#b45309;font-size:10px;display:block}.slot-badge{border-radius:6px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:900}.online-card-actions{gap:8px;display:flex}.btn-card-action{cursor:pointer;border:none;border-radius:12px;flex:1;padding:10px;font-size:12px;font-weight:850}.btn-card-action.primary{color:#fff;background:#38bdf8}.btn-card-action.secondary{color:#475569;background:#f1f5f9}.room-action-row{gap:8px;display:flex}.room-input{text-transform:uppercase;border:1.5px solid #cbd5e1;border-radius:12px;outline:none;flex:1;padding:8px 12px;font-size:13px;font-weight:850}.btn-room-join{color:#fff;cursor:pointer;background:#1e1b4b;border:none;border-radius:12px;padding:8px 16px;font-size:12px;font-weight:850}.rename-modal-box{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;padding:22px 20px;display:flex;box-shadow:0 20px 48px #0003}.rename-icon-wrap{color:#f43f5e;background:#fff1f2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.rename-title{color:#1e1b4b;font-size:18px;font-weight:900}.rename-sub{color:#64748b;font-size:12px}.rename-input{text-align:center;border:1.5px solid #cbd5e1;border-radius:14px;outline:none;width:100%;padding:10px 14px;font-size:14px;font-weight:850}.rename-actions{gap:8px;width:100%;display:flex}.btn-rename-save{color:#fff;cursor:pointer;background:#f43f5e;border:none;border-radius:12px;flex:1;padding:11px;font-size:13px;font-weight:900}.btn-rename-cancel{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:11px 16px;font-size:13px;font-weight:850}.game-over-box{text-align:center;background:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;padding:24px 20px;display:flex;box-shadow:0 20px 48px #0003}.result-trophy{font-size:52px}.result-title{color:#1e1b4b;font-size:24px;font-weight:950}.score-summary{background:#f8fafc;border-radius:14px;align-items:center;gap:8px;padding:8px 18px;display:flex}.summary-lbl{color:#64748b;font-size:12px;font-weight:700}.summary-val{color:#0284c7;font-size:24px;font-weight:950}.game-over-btns{flex-direction:column;gap:8px;width:100%;display:flex}.btn-lobby-sub{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:9999px;width:100%;padding:11px;font-size:13px;font-weight:850}.mt-2{margin-top:8px}.mt-3{margin-top:12px}@media (width<=640px){.tboy-menu{padding:14px}.bb-left-column{gap:12px;max-width:100%}.tboy-studio-badge{padding:3px 10px;font-size:9px}.bb-logo-birdie,.bb-logo-bash{font-size:46px}.bb-sub-pill{padding:4px 12px;font-size:11px}.bb-menu-stack{gap:8px;width:190px}.bb-pill-btn{padding:9px 18px;font-size:13px}.bb-top-bar-right{gap:6px;top:14px;right:14px}.bb-signin-pill{padding:6px 12px;font-size:12px}.bb-circle-btn{width:32px;height:32px;font-size:13px}.bb-right-column{display:none}.match-hud-pill{padding:4px 10px}.hud-score{font-size:24px}.hud-emoji{font-size:20px}}.in-game-controls{pointer-events:none;z-index:50;position:fixed;inset:0}.in-game-controls.hidden{display:none!important}.joystick-zone{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:55;width:120px;height:120px;position:absolute;bottom:28px;left:24px}.joystick-base{background:radial-gradient(circle,#fffffff0 0%,#f1f5f9db 100%);border:3px solid #fffffff2;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;box-shadow:0 10px 28px #00000024,inset 0 2px 6px #fffc}.joystick-ring{pointer-events:none;border:1.5px dashed #cbd5e1e6;border-radius:50%;width:76px;height:76px;position:absolute}.joystick-thumb{pointer-events:none;will-change:transform;background:radial-gradient(circle at 35% 35%,#fde047 0%,#f59e0b 70%,#d97706 100%);border-radius:50%;width:50px;height:50px;box-shadow:0 6px 16px #d9770673,inset 0 2px 4px #fff9}.action-buttons-pro{pointer-events:auto;z-index:55;grid-template-rows:repeat(2,66px);grid-template-columns:repeat(2,66px);gap:10px;display:grid;position:absolute;bottom:24px;right:24px}.btn-game-act{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:2.5px solid #ffffffbf;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .1s;display:flex;box-shadow:0 8px 20px #00000024,inset 0 2px 4px #ffffff73}.btn-game-act:active,.btn-game-act.pressed{transform:scale(.92)!important;box-shadow:0 2px 8px #0003!important}.btn-dive{background:linear-gradient(135deg,#2dd4bf 0%,#0d9488 100%)}.btn-smash{background:linear-gradient(135deg,#fb923c 0%,#ea580c 100%)}.btn-drop{background:linear-gradient(135deg,#c084fc 0%,#9333ea 100%)}.btn-hit{background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%)}.act-icon{filter:drop-shadow(0 2px 4px #00000040);font-size:22px;line-height:1}.act-label{color:#fff;letter-spacing:.5px;text-shadow:0 1px 2px #0006;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.online-modal-box{box-sizing:border-box;background:#fff;border-radius:26px;width:92%;max-width:440px;padding:22px 20px;box-shadow:0 24px 60px #0f172a38}.online-options-stack{flex-direction:column;gap:12px;margin-top:14px;display:flex}.online-action-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #f1f5f9;border-radius:20px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 14px #00000008}.online-action-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 24px #00000012}.online-action-card:active{transform:scale(.985)}#card-quick-match{background:linear-gradient(135deg,#fffdf2 0%,#fff 100%);border-color:#fef08a}#card-quick-match:hover{border-color:#facc15;box-shadow:0 8px 24px #eab30826}#card-create-room{background:linear-gradient(135deg,#fdf4f8 0%,#fff 100%);border-color:#fbcfe8}#card-create-room:hover{border-color:#f472b6;box-shadow:0 8px 24px #ec489926}.join-code-card{cursor:default;background:linear-gradient(135deg,#f0f9ff 0%,#fff 100%);border-color:#bae6fd;flex-direction:column;align-items:stretch;gap:10px}.join-code-card:hover{border-color:#7dd3fc;transform:none;box-shadow:0 8px 24px #0284c71f}.join-header-row{align-items:center;gap:12px;width:100%;display:flex}.online-card-icon-box{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex;box-shadow:0 4px 10px #0000000d}.online-card-icon-box.yellow{background:#fef08a}.online-card-icon-box.pink{background:#fce7f3}.online-card-icon-box.blue{background:#e0f2fe}.online-card-body{text-align:left;flex:1;min-width:0}.online-card-title-row{align-items:center;gap:6px;margin-bottom:2px;display:flex}.online-card-title{color:#0f172a;white-space:nowrap;margin:0;font-size:14.5px;font-weight:850}.online-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:6px;padding:2px 6px;font-size:9.5px;font-weight:800}.online-badge.yellow{color:#b45309;background:#fef3c7}.online-badge.pink{color:#be185d;background:#fce7f3}.online-badge.blue{color:#0369a1;background:#e0f2fe}.online-card-desc{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11.5px;line-height:1.3;overflow:hidden}.online-card-btn{letter-spacing:.5px;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;height:36px;padding:0 14px;font-size:11.5px;font-weight:900;transition:transform .15s,filter .15s;display:flex;box-shadow:0 4px 12px #0000001a}.online-card-btn:hover{filter:brightness(1.05);transform:scale(1.04)}.online-card-btn:active{transform:scale(.96)}.online-card-btn.yellow{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #d9770647}.online-card-btn.pink{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 12px #db277747}.btn-arrow{font-size:12px}.join-input-bar{box-sizing:border-box;align-items:center;gap:8px;width:100%;display:flex}.room-code-input{letter-spacing:1.5px;text-align:center;text-transform:uppercase;color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;outline:none;flex:1;min-width:0;height:42px;padding:0 12px;font-size:13px;font-weight:800;transition:border-color .15s,box-shadow .15s}.room-code-input::placeholder{color:#94a3b8;letter-spacing:.5px;font-size:11px;font-weight:600}.room-code-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.btn-join-action{color:#fff;letter-spacing:.5px;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:12px;flex-shrink:0;height:42px;padding:0 14px;font-size:12px;font-weight:900;transition:transform .15s,filter .15s;box-shadow:0 4px 14px #0284c747}.btn-join-action:hover{filter:brightness(1.06);transform:scale(1.03)}.btn-join-action:active{transform:scale(.96)}.hud-top-bar{pointer-events:none;z-index:60;box-sizing:border-box;justify-content:center;align-items:center;width:100%;padding:0 16px;display:flex;position:fixed;top:14px;left:0;right:0}.match-hud-pill{-webkit-backdrop-filter:blur(20px);pointer-events:auto;box-sizing:border-box;background:#fffffff5;border:2px solid #fffffff2;border-radius:999px;justify-content:space-between;align-items:center;max-width:90vw;margin:0 auto;padding:5px 16px;display:flex;box-shadow:0 10px 30px #1e1b4b1f,0 2px 8px #0000000a}.hud-ctrl-btn{pointer-events:auto;cursor:pointer;z-index:65;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hud-btn-hints{-webkit-backdrop-filter:blur(12px);color:#334155;white-space:nowrap;background:#fffffff0;border:1.5px solid #e2e8f0;border-radius:20px;padding:6px 14px;font-size:11.5px;font-weight:850;left:16px;box-shadow:0 4px 12px #0000000f}.hud-btn-hints:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-50%)scale(1.05)}.hud-btn-exit{-webkit-backdrop-filter:blur(12px);color:#ef4444;background:#fffffff0;border:1.5px solid #fee2e2;border-radius:50%;width:36px;height:36px;font-size:16px;font-weight:800;right:16px;box-shadow:0 4px 14px #ef444429}.hud-btn-exit:hover{color:#dc2626;background:#fee2e2;transform:translateY(-50%)scale(1.08);box-shadow:0 6px 18px #ef444440}.hud-btn-exit:active{transform:translateY(-50%)scale(.95)}@media (width<=640px){.hud-top-bar{padding:0 10px;top:10px}.hud-btn-hints{display:none!important}.hud-btn-exit{width:32px;height:32px;font-size:14px;right:10px}.match-hud-pill{border-width:1.5px;gap:6px;max-width:calc(100vw - 60px);padding:4px 10px}.hud-name-col{text-overflow:ellipsis;white-space:nowrap;max-width:50px;overflow:hidden}.hud-label{text-overflow:ellipsis;white-space:nowrap;max-width:50px;font-size:10px;font-weight:850;display:block;overflow:hidden}.hud-team-tag{padding:1px 4px;font-size:7.5px}.hud-score{text-align:center;min-width:16px;font-size:20px}.hud-emoji{font-size:22px}.hud-serve-badge{width:15px;height:15px;font-size:10px;bottom:-2px;right:-4px}.hud-center{padding:0 4px}.hud-vs{font-size:8.5px}.hud-diff{padding:1px 4px;font-size:8px}.hud-rally{border-radius:8px;padding:2px 6px;font-size:10px}.joystick-zone{width:110px;height:110px;bottom:20px;left:16px}.action-buttons-pro{grid-template-rows:repeat(2,60px);grid-template-columns:repeat(2,60px);gap:8px;bottom:20px;right:16px}.act-icon{font-size:20px}.act-label{font-size:8px}.online-modal-box{padding:18px 14px}.online-card-title{font-size:13.5px}.online-card-desc{font-size:10.5px}.online-card-btn{height:32px;padding:0 10px;font-size:10.5px}.btn-join-action{height:38px;padding:0 12px;font-size:11px}.room-code-input{height:38px;font-size:12.5px}}.hud-pill-divider{background:#0000001a;flex-shrink:0;width:1px;height:24px;margin:0 4px 0 8px}.hud-pill-exit-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:1.5px solid #fecaca;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 2px 8px #dc262626}.hud-pill-exit-btn:hover{color:#991b1b;background:#fca5a5;border-color:#f87171;transform:scale(1.1);box-shadow:0 4px 12px #dc262640}.hud-pill-exit-btn:active{transform:scale(.95)}.exit-window-svg{width:17px;height:17px}.online-room-box{box-sizing:border-box;background:#fff;border-radius:26px;flex-direction:column;gap:12px;width:92%;max-width:440px;padding:20px;display:flex;box-shadow:0 24px 60px #0f172a38}.room-vip-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:4px;display:flex}.room-header-left{align-items:center;gap:8px;display:flex}.room-live-dot{background:#22c55e;border-radius:50%;width:10px;height:10px;animation:1.5s infinite pulse-live;box-shadow:0 0 10px #22c55e}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.room-mode-tag{color:#0f172a;letter-spacing:.5px;font-size:13px;font-weight:850}.btn-room-leave{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:800;transition:all .15s;display:flex}.btn-room-leave:hover{color:#991b1b;background:#fca5a5}.room-invite-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1.5px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:14px;display:flex}.room-code-badge-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.room-code-label{color:#64748b;letter-spacing:1px;font-size:10.5px;font-weight:800}.room-code-display-row{align-items:center;gap:10px;display:flex}.room-code-huge{color:#0284c7;letter-spacing:4px;background:#e0f2fe;border:2px dashed #38bdf8;border-radius:14px;padding:4px 18px;font-family:monospace,sans-serif;font-size:32px;font-weight:950}.btn-mini-copy{color:#334155;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:800;transition:all .15s}.btn-mini-copy:hover{color:#fff;background:#0284c7;border-color:#0284c7}.room-qr-section{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:14px;width:100%;padding:10px 14px;display:flex}.room-qr-frame{background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;padding:4px;display:flex}.room-qr-img{object-fit:contain;width:100%;height:100%;display:block}.room-qr-text{text-align:left;flex-direction:column;gap:3px;display:flex}.qr-title{color:#0f172a;font-size:12.5px;font-weight:850}.qr-sub{color:#64748b;font-size:10.5px;line-height:1.35}.btn-copy-link-vip{color:#fff;cursor:pointer;text-align:left;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:14px;align-items:center;gap:10px;width:100%;padding:10px 14px;transition:transform .15s,filter .15s;display:flex;box-shadow:0 4px 14px #0284c740}.btn-copy-link-vip:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-copy-link-vip:active{transform:scale(.985)}.copy-link-icon{font-size:18px}.copy-link-main{letter-spacing:.5px;font-size:12px;font-weight:900;display:block}.copy-link-sub{opacity:.9;font-size:10px;display:block}.copy-link-tag{color:#fff;background:#ffffff40;border-radius:9999px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:900}.room-status-bar{text-align:center;padding:4px 0}.room-status-note{color:#ea580c;margin:0;font-size:12px;font-weight:850}.room-players-slots{flex-direction:column;gap:8px;display:flex}.room-slot{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;display:flex}.room-slot.ready{background:#f0fdf4;border-color:#22c55e}.room-slot.empty{opacity:.75;border-style:dashed}.slot-avatar{font-size:24px}.slot-text{text-align:left;flex:1}.slot-name{color:#0f172a;font-size:13.5px;font-weight:850;display:block}.slot-role{color:#64748b;font-size:10.5px;display:block}.slot-role.host{color:#d97706;font-weight:750}.slot-badge{border-radius:8px;padding:4px 10px;font-size:10.5px;font-weight:900}.slot-badge.ready{color:#166534;background:#dcfce7}.slot-badge.wait{color:#64748b;background:#f1f5f9}.room-bottom-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.btn-room-ready{width:100%}.btn-host-start{width:100%;background:linear-gradient(135deg,#22c55e,#16a34a)!important}@media (width<=640px){.hud-pill-divider{height:18px;margin:0 3px 0 5px}.hud-pill-exit-btn{width:26px;height:26px}.exit-window-svg{width:14px;height:14px}.room-code-huge{letter-spacing:3px;padding:3px 14px;font-size:24px}.room-qr-frame{width:65px;height:65px}.qr-title{font-size:11.5px}.qr-sub{font-size:9.5px}.tboy-menu{padding:12px 14px}.bb-top-bar-right{z-index:50;gap:6px;top:12px;right:12px}.bb-circle-btn{flex-shrink:0;width:32px;height:32px;font-size:14px}.bb-signin-pill{box-sizing:border-box;max-width:135px;padding:5px 10px;font-size:11px}#txt-signin-name{text-overflow:ellipsis;white-space:nowrap;max-width:75px;display:inline-block;overflow:hidden}.bb-left-column{gap:10px;max-width:100%;margin-top:36px}.tboy-studio-badge{letter-spacing:.5px;align-self:flex-start;padding:3px 8px;font-size:8.5px}.bb-logo-birdie,.bb-logo-bash{font-size:42px}.bb-sub-pill{padding:3px 10px;font-size:10.5px}.bb-menu-stack{gap:7px;width:180px}.bb-pill-btn{padding:8px 16px;font-size:12.5px}.online-modal-box{width:94%;padding:16px 14px}.online-action-card{box-sizing:border-box;padding:10px 12px}.join-input-bar{gap:6px;width:100%}.room-code-input{min-width:0;height:38px;padding:0 8px;font-size:12px}.btn-join-action{height:38px;padding:0 12px;font-size:11px}}.game-toast-container{z-index:99999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:90%;max-width:400px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.game-toast-pill{-webkit-backdrop-filter:blur(16px);color:#fff;opacity:0;pointer-events:auto;box-sizing:border-box;background:#0f172aeb;border:1.5px solid #fff3;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:13px;font-weight:750;transition:all .28s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(-20px)scale(.92);box-shadow:0 12px 30px #00000040}.game-toast-pill.show{opacity:1;transform:translateY(0)scale(1)}.game-toast-pill.hide{opacity:0;transform:translateY(-15px)scale(.9)}.toast-icon{flex-shrink:0;font-size:16px}.toast-text{flex:1;line-height:1.3}.toast-success{background:#166534f0;border-color:#4ade8066}.toast-warning{background:#9a3412f0;border-color:#fb923c66}.toast-error{background:#991b1bf0;border-color:#f8717166}.toast-info{background:#1e3a8af0;border-color:#60a5fa66}.confirm-modal-box{text-align:center;box-sizing:border-box;background:#fff;border-radius:26px;flex-direction:column;align-items:center;gap:10px;width:90%;max-width:360px;padding:24px;animation:.22s cubic-bezier(.34,1.56,.64,1) modalPop;display:flex;box-shadow:0 24px 60px #0f172a47}.confirm-icon-wrap{color:#dc2626;background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.confirm-title{color:#0f172a;margin:4px 0 0;font-size:17px;font-weight:900}.confirm-sub{color:#64748b;margin:0 0 10px;font-size:12.5px;line-height:1.4}.confirm-actions{gap:10px;width:100%;display:flex}.btn-confirm-stay{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:14px;flex:1;padding:12px;font-size:12px;font-weight:850;transition:all .15s}.btn-confirm-stay:hover{background:#e2e8f0}.btn-confirm-leave{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:14px;flex:1;padding:12px;font-size:12px;font-weight:850;transition:all .15s;box-shadow:0 4px 14px #ef444440}.btn-confirm-leave:hover{filter:brightness(1.08)}
