@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;--cyan:#0284c7;--amber:#f59e0b;--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;inset: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-bounce{font-size:56px;animation:.8s ease-in-out infinite alternate bounce-anim}@keyframes bounce-anim{0%{transform:translateY(0)scale(1.1,.9)}to{transform:translateY(-20px)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;width:fit-content;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:32px;font-weight:950}.loading-brand span{color:var(--navy)}.loading-track{background:#fce7f3;border-radius:9999px;width:230px;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}.landscape-lock-overlay{display:none}@media screen and (orientation:portrait) and (width<=950px){.landscape-lock-overlay{z-index:999999;color:#fff;text-align:center;background:radial-gradient(circle,#2e1065,#0f172a);justify-content:center;align-items:center;padding:24px;position:fixed;inset:0;display:flex!important}#canvas-container,#main-menu,#hud,#in-game-controls{filter:blur(10px);pointer-events:none}}@media screen and (orientation:landscape),(width>=951px){.landscape-lock-overlay{display:none!important}}.lock-card{color:var(--navy);background:#fffffff5;border-radius:28px;flex-direction:column;align-items:center;gap:12px;max-width:340px;padding:30px 24px;animation:.3s cubic-bezier(.34,1.56,.64,1) pop-modal;display:flex;box-shadow:0 24px 60px #00000059}.lock-phone-anim{margin-bottom:6px;font-size:56px;line-height:1;animation:2s ease-in-out infinite rotate-phone-loop;position:relative}@keyframes rotate-phone-loop{0%,20%{transform:rotate(0)scale(1)}50%,70%{transform:rotate(-90deg)scale(1.1)}90%,to{transform:rotate(0)scale(1)}}.phone-rotate-arrow{opacity:.85;font-size:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lock-title{color:#1e1b4b;letter-spacing:-.5px;font-size:18px;font-weight:950;line-height:1.3}.lock-sub{color:#64748b;font-size:13px;font-weight:500;line-height:1.5}.tboy-menu{z-index:20;pointer-events:none;justify-content:space-between;padding:28px 38px;display:flex;position:absolute;inset:0}.bb-left-column{pointer-events:auto;flex-direction:column;gap:18px;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-tboy{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:72px;font-weight:950;line-height:.88}.bb-logo-ragdoll{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:72px;font-weight:950;line-height:.88}.bb-sub-pill{color:#1e1b4b;background:#fffffff5;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:235px;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;gap:8px;padding:12px 22px;font-size:14.5px;font-weight:850;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;display:flex;box-shadow:0 4px 14px #00000012}.bb-pill-btn:hover{transform:translate(4px)scale(1.02);box-shadow:0 6px 18px #0000001f}.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-pill-btn.cyan{color:#fff;background:linear-gradient(135deg,#0284c7,#38bdf8);box-shadow:0 6px 20px #0284c759}.bb-pill-btn.glass{color:#1e1b4b;background:#f1f5f9f2;border:1px solid #0000000f}.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}.hud-top-bar{z-index:40;pointer-events:none;justify-content:center;display:flex;position:absolute;top:14px;left:0;right:0}.match-hud-pill{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#fffffff2;border:1.5px solid #ffffffd9;border-radius:9999px;align-items:center;gap:14px;padding:6px 18px;display:flex;box-shadow:0 10px 30px #0000001f}.hud-player{align-items:center;gap:8px;display:flex}.hud-avatar-box{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:flex}.hud-name-col{flex-direction:column;display:flex}.hud-name-col.align-right{text-align:right;align-items:flex-end}.hud-label{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:12px;font-weight:850;overflow:hidden}.hud-team-tag{border-radius:6px;width:fit-content;padding:1px 6px;font-size:9px;font-weight:900}.hud-team-tag.blue{color:#0284c7;background:#e0f2fe}.hud-team-tag.red{color:#f43f5e;background:#ffe4e6}.hud-score{text-align:center;min-width:20px;font-size:26px;font-weight:950}.hud-score-p1{color:#0284c7}.hud-score-p2{color:#f43f5e}.hud-center{flex-direction:column;align-items:center;padding:0 4px;display:flex}.hud-vs{color:#94a3b8;letter-spacing:1px;font-size:11px;font-weight:950}.hud-target{color:#f43f5e;letter-spacing:.5px;font-size:8.5px;font-weight:850}.hud-pill-divider{background:#0000001a;flex-shrink:0;width:1px;height:24px;margin:0 2px 0 4px}.hud-pill-exit-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.hud-pill-exit-btn:hover{color:#f43f5e;background:#fee2e2;transform:scale(1.1)}.exit-window-svg{width:16px;height:16px}.in-game-controls{pointer-events:none;z-index:50;position:absolute;inset:0}.joystick-zone{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:55;width:116px;height:116px;position:absolute;bottom:24px;left:28px}.joystick-base{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle,#ffffffe0 0%,#f1f5f9b8 100%);border:2.5px solid #fffffff2;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;box-shadow:0 12px 32px #1e1b4b24,inset 0 2px 8px #ffffffe6}.joy-arrow{color:#1e1b4b47;pointer-events:none;font-size:9px;line-height:1;position:absolute}.joy-arrow.top{top:8px}.joy-arrow.bottom{bottom:8px}.joy-arrow.left{left:9px}.joy-arrow.right{right:9px}.joystick-ring{pointer-events:none;border:1.5px dashed #1e1b4b29;border-radius:50%;width:68px;height:68px;position:absolute}.joystick-thumb{pointer-events:none;will-change:transform;background:linear-gradient(145deg,#38bdf8 0%,#0284c7 100%);border:2.5px solid #fff;border-radius:50%;width:48px;height:48px;box-shadow:0 8px 18px #0284c766,inset 0 2px 4px #ffffffa6}.desktop-key-hint-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#475569;white-space:nowrap;background:#ffffffe0;border-radius:9999px;padding:6px 16px;font-size:12px;font-weight:600;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000014}.desktop-key-hint-pill b{color:#f43f5e;font-weight:850}.action-buttons-ragdoll{pointer-events:auto;touch-action:none;z-index:55;flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:absolute;bottom:22px;right:26px}.btn-game-act{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;color:#fff;border:3px solid #fffffff0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s;display:flex;position:relative;box-shadow:0 10px 26px #00000029,inset 0 2px 6px #ffffff8c}.btn-game-act:active,.btn-game-act.pressed{transform:scale(.9)!important;box-shadow:0 3px 10px #0003!important}.btn-sprint{background:linear-gradient(145deg,#fbbf24 0%,#f59e0b 65%,#d97706 100%);width:72px;height:72px;margin-right:10px;box-shadow:0 10px 24px #f59e0b6b,inset 0 2px 6px #ffffff8c}.btn-sprint.active-sprint{background:linear-gradient(145deg,#fef08a 0%,#f59e0b 55%,#dc2626 100%);animation:.5s ease-in-out infinite alternate pulse-sprint;transform:scale(1.08);box-shadow:0 0 28px #f59e0be6,inset 0 2px 6px #ffffffd9}@keyframes pulse-sprint{0%{box-shadow:0 0 18px #f59e0bb3}to{box-shadow:0 0 34px #fbbf24}}.btn-punch{background:linear-gradient(145deg,#fb7185 0%,#f43f5e 60%,#e11d48 100%);width:88px;height:88px;box-shadow:0 12px 28px #f43f5e73,inset 0 2px 6px #ffffff8c}.act-keycap{color:#fff;background:#1e1b4b;border:1.5px solid #fff;border-radius:9999px;padding:2px 7px;font-size:9px;font-weight:900;position:absolute;top:-8px;box-shadow:0 2px 6px #0003}.act-icon{filter:drop-shadow(0 2px 3px #00000040);font-size:24px;line-height:1.1}.act-svg-icon{color:#fff;filter:drop-shadow(0 2px 3px #00000047);width:26px;height:26px;margin-bottom:1px}.btn-punch .act-icon{font-size:32px}.act-label{letter-spacing:.4px;text-shadow:0 1px 3px #00000040;white-space:nowrap;font-size:9px;font-weight:950}#ko-banner{z-index:80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#1e1b4bf0;border:2px solid #fff3;border-radius:9999px;align-items:center;gap:10px;padding:14px 30px;font-size:20px;font-weight:950;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6);box-shadow:0 16px 40px #00000040}#ko-banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.tboy-modal-overlay{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1b4b66;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.tboy-dialog{text-align:center;background:#fff;border-radius:24px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:24px;animation:.25s cubic-bezier(.34,1.56,.64,1) pop-modal;display:flex;box-shadow:0 20px 50px #00000029}@keyframes pop-modal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tboy-dialog-title{color:var(--navy);font-size:19px;font-weight:950}.tboy-dialog-sub{color:#64748b;margin-top:-6px;font-size:13px;font-weight:500}.tboy-input-box{text-align:left;flex-direction:column;gap:6px;display:flex}.tboy-input-label{color:#64748b;letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:800}.tboy-input{width:100%;color:var(--navy);background:#f8fafc;border:2px solid #e2e8f0;border-radius:14px;outline:none;padding:12px 16px;font-size:15px;font-weight:700;transition:border-color .2s}.tboy-input:focus{border-color:var(--primary);background:#fff}.tboy-code-tag{letter-spacing:6px;color:var(--primary);background:#fff1f2;border:2px dashed #fda4af;border-radius:16px;margin:4px 0;padding:10px 18px;font-family:Outfit,monospace;font-size:34px;font-weight:950}.tips-dialog{text-align:left;max-width:460px}.tips-dialog-header{justify-content:space-between;align-items:center;display:flex}.tips-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:850;transition:all .15s;display:flex}.tips-close-btn:hover{color:#f43f5e;background:#fee2e2;transform:scale(1.1)}.bb-tip-content{flex-direction:column;gap:8px;padding:4px 0;display:flex}.bb-tip-item{color:#334155;background:#f8fafc;border-radius:12px;align-items:flex-start;gap:10px;padding:8px 12px;font-size:13px;line-height:1.45;display:flex}.bb-tip-item .tip-ico{flex-shrink:0;font-size:17px}.bb-tip-item b{color:var(--navy)}.color-swatch-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 0;display:grid}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:16px;justify-content:center;align-items:center;height:54px;font-size:22px;transition:transform .15s,border-color .15s;display:flex;box-shadow:0 6px 14px #0000001f}.color-swatch:hover{transform:scale(1.06)}.color-swatch.active{border-color:#1e1b4b;transform:scale(1.08);box-shadow:0 8px 20px #1e1b4b40}.game-toast-container{z-index:120;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.game-toast-pill{color:var(--navy);opacity:0;background:#fff;border:1px solid #0000000d;border-radius:9999px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:750;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(-10px)scale(.95);box-shadow:0 8px 24px #0000001f}.game-toast-pill.show{opacity:1;transform:translateY(0)scale(1)}.game-toast-pill.hide{opacity:0;transform:translateY(-8px)scale(.95)}@media (width<=950px),(height<=550px){.desktop-key-hint-pill{display:none!important}.act-keycap{display:none}}@media (height<=500px){.tboy-menu{padding:14px 20px}.bb-top-bar-right{top:14px;right:20px}.bb-circle-btn{width:34px;height:34px;font-size:14px}.bb-signin-pill{padding:6px 14px;font-size:12px}.bb-left-column{gap:8px;max-width:310px}.bb-brand-box{gap:4px}.tboy-studio-badge{padding:3px 10px;font-size:9px}.bb-logo-tboy,.bb-logo-ragdoll{font-size:38px}.bb-sub-pill{padding:4px 12px;font-size:11px}.bb-menu-stack{grid-template-columns:1fr 1fr;gap:8px;width:316px;display:grid}.bb-pill-btn{white-space:nowrap;justify-content:center;padding:9px 10px;font-size:11.5px}.hud-top-bar{top:10px}.match-hud-pill{gap:10px;padding:4px 14px}.hud-avatar-box{width:28px;height:28px;font-size:14px}.hud-score{font-size:20px}.joystick-zone{width:100px;height:100px;bottom:18px;left:22px}.joystick-ring{width:60px;height:60px}.joystick-thumb{width:42px;height:42px}.action-buttons-ragdoll{gap:12px;bottom:18px;right:22px}.btn-sprint{width:64px;height:64px;margin-right:6px}.btn-punch{width:78px;height:78px}.act-icon{font-size:20px}.act-svg-icon{width:22px;height:22px}.btn-punch .act-icon{font-size:28px}.act-label{font-size:8px}#ko-banner{padding:12px 24px;font-size:16px}}
