:root{--bg:#091421;--ink:#f5f2e9;--muted:#a2b1c1;--gold:#ffd17a;--orange:#ff854b;--line:#ffffff24}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:14px Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 38px;display:flex;align-items:center;gap:64px;border-bottom:1px solid #ffffff12;background:#0c1827}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:19px;font-style:italic;letter-spacing:-.7px}.brand b{color:var(--gold)}.brand small{display:block;font-size:7px;letter-spacing:3.5px;color:#8396a9;font-style:normal;margin-top:5px}.brand-icon{position:relative;border:1px solid #ecc171;border-radius:7px;width:36px;height:39px;display:grid;place-items:center;color:var(--gold);font-size:27px}.brand-icon span{position:absolute;font-size:10px;bottom:-3px;right:-4px;background:#0c1827}.site-header nav{display:flex;gap:29px;align-self:stretch}.nav-tab{color:#90a0b2;font-size:12px;font-weight:700;position:relative}.nav-tab.active{color:#fff4df}.nav-tab.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold)}.header-right{margin-left:auto;display:flex;gap:28px;align-items:center}.arcade-label{color:#9aabbe;font-size:9px;letter-spacing:1.8px;display:flex;gap:9px;align-items:center}.arcade-label i,.weather i,.below-game>span>i{width:5px;height:5px;background:#80dfb3;box-shadow:0 0 9px #80dfb388;border-radius:50%}select{background:#1b2b3c;color:#e8edf1;border:1px solid #405266;border-radius:5px;padding:8px 12px;font-size:11px}.stadium{height:calc(100svh - 114px);min-height:710px;position:relative;isolation:isolate;overflow:hidden;background:#192e4c}.stadium canvas{width:100%;height:100%;display:block;touch-action:none}.screen-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03122245,transparent 25%,transparent 65%,#07172488),linear-gradient(90deg,#04152a18,transparent 20%,transparent 85%,#071b2828)}.stadium-top{position:absolute;left:27px;right:27px;top:22px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.venue{font-size:9px;color:#c1d2db;letter-spacing:1.1px}.venue small{display:block;color:#8199ad;font-size:7px;letter-spacing:1.5px;margin:7px 0 0 14px}.weather{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:2px}.scoreboard{position:absolute;top:19px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:#0b1b2de6;border:1px solid #a6bec32b;border-top:2px solid #bdb38c8a;box-shadow:0 8px 28px #0003;border-radius:3px 3px 10px 10px;padding:11px 17px;min-width:570px;z-index:3}.score-team{display:flex;gap:11px;align-items:center;flex:1;min-width:0}.score-team.home{text-align:right;justify-content:flex-end}.team-chip{width:35px;height:38px;display:grid;place-items:center;border-radius:4px;font-size:12px;font-style:italic;font-weight:900;border:1px solid #ffffff22}.score-team div{min-width:0}.score-team small{font-size:7px;color:#8fa1b4;letter-spacing:1.3px;display:block;margin-bottom:5px}.score-team b{font-size:11px;white-space:nowrap;max-width:128px;overflow:hidden;display:block;text-overflow:ellipsis}.score-team strong{font-size:31px;margin-left:auto;line-height:1;font-weight:900}.score-team.home strong{margin:0 auto 0 0}.inning{min-width:67px;text-align:center}.inning>span{font-size:11px;color:var(--gold);font-weight:800}.inning small{font-size:6px;color:#829ab0;display:block;margin-top:7px;letter-spacing:1.2px}.match-hud{position:absolute;right:28px;top:94px;display:flex;align-items:center;gap:21px;opacity:0;transition:opacity .25s}.playing .match-hud{opacity:1}.count-panel{background:#091a2acc;border:1px solid #b4c9cf20;border-radius:7px;padding:12px;display:grid;gap:8px}.count-panel>div{display:flex;align-items:center;gap:12px}.count-panel b{font-size:10px;color:#adbdcc;width:7px}.count-panel span{display:flex;gap:7px}.count-dot{width:7px;height:7px;border-radius:50%;background:#354d60}.count-dot.on{background:#88e3b4;box-shadow:0 0 8px #88e3b466}.count-dot.strike.on{background:#ffd683}.count-dot.out.on{background:#fa8479}.bases-mini{position:relative;width:35px;height:36px}.bases-mini i{position:absolute;width:11px;height:11px;background:#122a3988;border:1px solid #9bc0bc8a;transform:rotate(45deg)}.bases-mini i:first-child{top:0;left:13px}.bases-mini i:nth-child(2){top:16px;left:0}.bases-mini i:nth-child(3){top:16px;left:26px}.bases-mini i.on{background:#ffca6b;border-color:#ffe3b0;box-shadow:0 0 13px #ffca6b66}.start-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#071525fa 0%,#09182cdb 22%,#091a2b66 41%,transparent 64%);pointer-events:none;z-index:2}.lobby-panel{position:absolute;top:50%;transform:translateY(-47%);left:5.5%;width:337px;pointer-events:auto}.eyebrow{font-size:8px;letter-spacing:2px;color:#c6b48e;font-weight:700;display:flex;align-items:center;gap:8px}.eyebrow>span:first-child{flex:none;height:5px;width:5px;background:var(--gold);transform:rotate(45deg)}h1{font-size:36px;letter-spacing:-1.9px;line-height:1.15;margin:15px 0 12px;font-weight:900;word-break:keep-all}.lobby-sub{font-size:12px;color:#a5b9c9;margin:0 0 27px}.team-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.team-heading>span{font-size:11px;font-weight:700}.team-heading>b{font-size:8px;letter-spacing:1.2px;color:var(--gold)}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:181px;overflow:auto;scrollbar-width:thin;scrollbar-color:#567083 transparent;padding:1px}.team-option{height:53px;background:#1b2f44d9;border:1px solid #536c8144;border-radius:6px;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;position:relative;transition:background .15s,border-color .15s}.team-option b{font-size:16px;font-weight:900;font-style:italic;color:var(--team-color);text-shadow:0 1px 0 #0005}.team-option small{color:#8aa6bd;font-size:8px}.team-option.selected{background:#54412be0;border-color:var(--gold);box-shadow:inset 0 0 12px #ffd17a10}.team-option.selected:after{content:'✓';position:absolute;top:3px;right:4px;font-size:8px;color:var(--gold)}.team-option:hover{border-color:#9bc8d0;background:#29445b}.opponent-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px;font-size:10px;color:#a9bccb}.opponent-row select{font-size:10px;background:#10273dc9;border-color:#66809555;max-width:190px;padding:7px 9px}.mode-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px}.mode-card{border:1px solid #536d8259;padding:11px 5px;background:#10253cbd;border-radius:5px}.mode-card b{display:block;font-size:10px;margin-bottom:5px}.mode-card small{font-size:8px;color:#8da5b9}.mode-card.selected{border-color:#f5cd7b8c;background:#d4ad5b17;color:#ffe0a2}.primary{background:linear-gradient(105deg,#ffad62,#ff8148);border:1px solid #ffc482;border-bottom:3px solid #c35b32;box-shadow:0 7px 26px #ff773322;border-radius:5px;color:#2a201c;padding:14px 21px;font-size:13px;font-weight:900;min-height:47px;transition:filter .2s,transform .2s}.primary:hover{filter:brightness(1.15);transform:translateY(-1px)}.start-button{width:100%;display:flex;align-items:center;justify-content:space-between}.start-button>b{font-style:italic;font-size:14px;letter-spacing:.2px}.start-button>b span{font-style:normal;margin-left:14px;font-size:22px}.lobby-keys{display:flex;justify-content:space-between;margin-top:16px;color:#8099ad;font-size:8px}.lobby-keys>span{display:flex;align-items:center;gap:5px}kbd{font-family:inherit;font-size:8px;font-weight:600;border:1px solid #7990a34f;border-radius:3px;padding:4px 5px;color:#b4c8d7}.hero-caption{position:absolute;bottom:15%;left:59%;transform:rotate(-4deg);text-shadow:0 3px 12px #061727a1}.hero-caption>span{font-size:8px;letter-spacing:2.5px;color:#c1d2d9}.hero-caption strong{display:block;font-size:33px;font-weight:900;font-style:italic;letter-spacing:-1px;margin:8px 0}.hero-caption p{font-size:8px;letter-spacing:1px;color:#c1cfd2;display:flex;align-items:center;gap:8px}.hero-caption b{color:#ffd582;letter-spacing:1px}.hero-caption i{height:9px;width:1px;background:#abbac066;margin:0 8px}.lobby-ribbon{position:absolute;bottom:27px;right:31px;font-size:31px;font-weight:900;font-style:italic;letter-spacing:-1px;text-align:right;line-height:1}.lobby-ribbon span{color:#ffffffc9}.lobby-ribbon>b{color:#ffd280}.lobby-ribbon small{display:block;font-size:7px;letter-spacing:2px;font-weight:500;font-style:normal;color:#9bb4c7;margin-top:10px}.online-panel{background:#0e2239e0;padding:12px;border:1px solid #647e9759;border-radius:6px;margin-bottom:14px}.room-button{padding:8px;border:1px solid #b39159;border-radius:4px;background:#66503166;color:#ffe0a5;width:100%;font-size:10px}.join-row{display:flex;gap:6px;margin-top:8px}.join-row input{background:#1a3048;color:#fff;border:1px solid #627c95;border-radius:4px;padding:8px;font-size:10px;min-width:0;flex:1;text-transform:uppercase}.join-row button{font-size:10px;padding:8px;border:1px solid #627c95;border-radius:4px}.online-panel p{font-size:10px;color:var(--gold);line-height:1.5;margin:8px 0 0}.online-panel .text-button{padding:7px 0 0}.play-ui{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:min(950px,calc(100% - 64px));display:none;z-index:4}.playing .play-ui{display:block}.control-bar{display:flex;gap:26px;align-items:center;background:#081c2de8;border:1px solid #a2c4cc33;border-radius:9px;padding:16px 21px;backdrop-filter:blur(12px);box-shadow:0 15px 40px #0313214d}.control-left{display:flex;align-items:center;gap:12px;min-width:178px}.keycap{border:1px solid #8098ac77;border-bottom:3px solid #637a8d;border-radius:5px;padding:12px 7px;font-size:8px;letter-spacing:1px;color:#ccdbe7}.control-left b{font-size:13px;display:block;margin-bottom:6px}.control-left small{font-size:9px;color:#91aabe}.timing-meter{flex:1;min-width:150px}.meter-label,.meter-foot{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.2px;color:#a5b9cb}.meter-label{margin-bottom:10px}.meter-label b{color:#86e4be;font-size:8px}.meter-track{height:8px;border-radius:4px;background:linear-gradient(90deg,#344457,#8d7d51 38%,#518568 50%,#8d7d51 62%,#344457);position:relative}.perfect-window{position:absolute;top:-1px;bottom:-1px;left:44%;width:12%;background:#75c89c;border:1px solid #b8ebc8;border-radius:2px}.meter-track i{position:absolute;left:0;top:-5px;width:3px;height:18px;background:#fffbea;box-shadow:0 0 8px #fff8;border-radius:2px}.meter-foot{margin-top:9px;font-size:6px}.meter-foot span:nth-child(2){color:#81cba7}.swing-button{background:#f6b268;color:#2c271f;border:1px solid #ffde9c;border-bottom:3px solid #b67843;font-size:14px;font-weight:900;padding:16px 24px;min-width:105px;border-radius:6px}.power-card{display:flex;align-items:center;gap:10px;border-left:1px solid #c2d6dc26;padding:0 0 0 20px;min-width:165px;text-align:left}.power-symbol{font-size:35px;color:#ffaa57;font-weight:900}.power-card>span:nth-child(2){flex:1}.power-card>span>b{display:block;font-size:10px;color:#e0e4e2}.power-card kbd{color:#ffce83}.energy-track{display:block;height:4px;border-radius:3px;background:#66778566;margin:9px 0 6px;overflow:hidden}.energy-track>span{display:block;width:35%;height:100%;background:#ffb660;transition:width .3s}.energy-label{display:flex;justify-content:space-between;gap:8px;font-size:6px;color:#839aad}.energy-label b{color:#ffc777;font-size:7px}.power-card.charged{filter:drop-shadow(0 0 8px #ff952b88)}.power-card.charged .energy-track>span{background:#ffe2a6}.canvas-hint{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);border:1px solid #b5d9d133;background:#0b243aae;backdrop-filter:blur(5px);color:#dbe9e6;font-size:11px;padding:9px 18px;border-radius:5px;white-space:nowrap;pointer-events:none}.canvas-hint:empty{display:none}.pitch-info{position:absolute;bottom:145px;left:32px;opacity:0;font-size:42px;font-style:italic;font-weight:900;text-shadow:0 2px 10px #002639}.pitch-info small{font-size:11px;font-weight:400;font-style:normal}.pitch-info>span{display:block;font-size:10px;letter-spacing:3px;color:#bad4df;font-style:normal;margin-top:4px}.pitch-controls{background:#0b253bdb;border:1px solid #7697ad66;border-radius:6px;padding:9px 13px;margin:0 auto 10px;width:max-content;max-width:100%;display:flex;align-items:center;gap:8px}.pitch-controls>span{font-size:10px;color:#9bb1c3;margin-right:5px}.pitch-controls button{padding:7px 14px;font-size:11px;background:#233e55;border:1px solid #658198;border-radius:4px}.pitch-controls button.selected{color:#ffcf83;border-color:#eabd70;background:#4b412c}.pitch-controls small{font-size:9px;color:#9fbbce;margin-left:9px}.callout{position:absolute;top:23%;left:0;right:0;text-align:center;opacity:0;pointer-events:none;font-size:clamp(35px,6.7vw,108px);font-weight:1000;font-style:italic;letter-spacing:-4px;line-height:1;color:#ffe3a0;text-shadow:0 5px 0 #ac4f24,0 10px 30px #050f2688;z-index:6}.callout.show{animation:callout 2s both}.callout small{display:block;font-size:14px;letter-spacing:4px;margin-top:19px;color:#fff1d2;font-weight:700;line-height:1.5;text-shadow:0 2px 7px #0008}.callout.strike,.callout.miss,.callout.strikeout{color:#e4f7ff;text-shadow:0 4px 0 #286680,0 8px 25px #071b33;font-size:clamp(35px,5vw,76px)}.callout.homerun{color:#fff2b6;text-shadow:0 5px 0 #dc6a35,0 9px 0 #693e2b,0 0 60px #ffb85d88}.result-overlay{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#081a31c9;backdrop-filter:blur(8px)}.result-star{font-size:80px;color:#ffcf7b;text-shadow:0 5px 0 #ac6e40;margin-bottom:12px}.result-overlay>small{font-size:10px;letter-spacing:4px;color:#e4c286}.result-overlay h2{font-size:clamp(40px,6vw,86px);font-style:italic;font-weight:900;margin:14px 0 10px;letter-spacing:-2px}.result-overlay>p{font-size:26px;letter-spacing:3px;margin:0 0 25px}.text-button{font-size:11px;color:#b4c5d3;padding:15px 8px}.below-game{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:9px;color:#92a6b9;background:#0b1827}.below-game>span{display:flex;align-items:center;gap:8px}.below-game>span>i{background:#f5c476;width:4px;height:4px}.below-game>div{display:flex;gap:12px}.below-game button{font-size:9px;color:#98afc3;padding:7px 5px}#exitButton{color:#ffce85}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{background:#132a40;border:1px solid #557389;color:#f1f0e7;border-radius:12px;padding:31px;width:min(550px,calc(100% - 32px));max-height:90svh}dialog::backdrop{background:#041020cc;backdrop-filter:blur(6px)}dialog h2{font-size:26px;margin:17px 0 23px}.dialog-close{position:absolute;top:10px;right:13px;font-size:27px;color:#9db5c5}dialog p{font-size:12px;line-height:1.9;color:#b4c8d7}dialog h3{font-size:13px;color:#ffd78f;margin:21px 0 8px}dialog .primary{margin-top:18px}.stadium:fullscreen{height:100vh;min-height:0;width:100vw}@keyframes callout{0%{opacity:0;transform:scale(1.55) rotate(-6deg)}12%{opacity:1;transform:scale(.98) rotate(-5deg)}20%,77%{opacity:1;transform:scale(1) rotate(-5deg)}100%{opacity:0;transform:translateY(-25px) rotate(-5deg)}}@media(min-width:1700px){.lobby-panel{width:380px;left:7%}h1{font-size:42px}.team-option{height:60px}.hero-caption{bottom:17%}.hero-caption strong{font-size:46px}}@media(max-width:1100px){.scoreboard{min-width:490px;gap:12px}.score-team b{max-width:102px}.lobby-panel{left:4%;width:305px}h1{font-size:32px}.control-bar{gap:15px;padding:15px}.control-left{min-width:140px}.control-left small{font-size:8px}.power-card{min-width:145px;padding-left:12px}.swing-button{padding:15px 20px}.hero-caption{left:58%}.hero-caption strong{font-size:28px}.venue{max-width:140px}.venue small{font-size:6px}.arcade-label{display:none}}@media(max-width:760px){.site-header{height:65px;padding:0 18px;gap:25px}.brand{font-size:15px}.brand-icon{width:29px;height:33px;font-size:23px}.brand small{font-size:6px;letter-spacing:2px}.site-header nav{margin-left:auto;gap:10px}.nav-tab{font-size:10px}.nav-tab.active{display:none}.header-right{margin-left:0}.header-right select{font-size:10px;padding:7px}.stadium{height:calc(100svh - 103px);min-height:720px}.scoreboard{top:14px;min-width:0;width:calc(100% - 30px);max-width:520px;padding:10px 12px;gap:10px}.team-chip{height:31px;width:29px;font-size:10px}.score-team{gap:7px}.score-team b{max-width:100px;font-size:10px}.score-team strong{font-size:28px}.inning{min-width:53px}.inning>span{font-size:10px}.stadium-top{top:86px;left:19px;right:20px}.venue{font-size:8px;max-width:none}.venue small{display:none}.weather{font-size:7px}.lobby-panel{width:290px;left:5%;top:53%;transform:translateY(-47%)}.hero-caption{left:57%;bottom:16%}.hero-caption strong{font-size:22px}.hero-caption>span{font-size:6px;letter-spacing:1px}.hero-caption p{font-size:6px;gap:4px}.hero-caption i{margin:0 3px}.lobby-ribbon{font-size:24px;right:20px;bottom:23px}.play-ui{width:calc(100% - 32px);bottom:16px}.control-left{display:none}.control-bar{gap:16px;padding:13px}.power-card{min-width:122px}.power-card>span>b{font-size:9px}.power-symbol{font-size:29px}.swing-button{min-width:84px;padding:14px 18px;font-size:12px}.timing-meter{min-width:100px}.pitch-info{left:20px;bottom:144px;font-size:32px}.canvas-hint{font-size:10px;bottom:116px;padding:7px 12px}.match-hud{top:118px;right:20px;gap:15px}.count-panel{padding:9px;gap:6px}.count-dot{width:6px;height:6px}.below-game{padding:0 18px}.below-game>span{max-width:60%;font-size:8px}.below-game>div{gap:5px}.below-game button{font-size:8px}.below-game button span{display:none}.callout{top:29%;font-size:58px;letter-spacing:-2px}.callout small{font-size:10px;letter-spacing:2px}.pitch-controls small{display:none}}@media(max-width:500px){.stadium{min-height:820px}.playing .stadium{min-height:550px;height:calc(100svh - 103px)}.start-overlay{background:linear-gradient(180deg,transparent 7%,#0715250a 27%,#08192ca6 41%,#0a1b2df2 57%,#091a2bf9 100%)}.lobby-panel{left:20px;right:20px;bottom:44px;top:auto;transform:none;width:auto}.eyebrow{font-size:7px;letter-spacing:1.6px}h1{font-size:30px;margin:12px 0 8px}.lobby-sub{font-size:10px;margin-bottom:20px}.team-heading{font-size:10px;margin-bottom:10px}.team-option{height:46px}.team-option b{font-size:14px}.team-option small{font-size:7px}.team-grid{max-height:153px;gap:6px}.opponent-row{margin:9px 0 13px}.mode-card{padding:9px 3px}.mode-card b{font-size:9px}.mode-card small{font-size:7px}.mode-buttons{margin-bottom:13px}.lobby-keys{margin-top:13px}.hero-caption{top:175px;left:auto;right:22px;bottom:auto;transform:rotate(-5deg);text-align:right}.hero-caption strong{font-size:23px;margin:6px 0}.hero-caption p{justify-content:flex-end}.hero-caption>span{font-size:6px}.lobby-ribbon{left:20px;right:auto;bottom:15px;font-size:14px}.lobby-ribbon small{display:inline;font-size:5px;margin-left:10px;letter-spacing:.6px}.score-team b{max-width:83px;font-size:9px}.score-team strong{font-size:25px}.inning{min-width:47px}.scoreboard{gap:8px;padding:10px}.team-chip{width:27px}.play-ui{width:calc(100% - 24px);bottom:12px}.control-bar{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;padding:13px}.timing-meter{grid-column:1 / -1}.swing-button{grid-column:1;min-height:48px}.power-card{grid-column:2;border:1px solid #cfaa654d;padding:7px 11px;border-radius:5px;background:#6748213b;height:48px;min-width:0;gap:7px}.power-card kbd{display:none}.power-symbol{font-size:29px}.canvas-hint{bottom:165px;font-size:9px;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis}.pitch-info{bottom:205px;font-size:29px}.pitch-info>span{font-size:8px}.pitch-controls{font-size:9px;width:100%;justify-content:center;padding:7px}.pitch-controls>span{font-size:9px}.pitch-controls button{font-size:10px;padding:7px 11px}.playing .canvas-hint:has(+ .start-overlay:not(.hidden)){display:none}.callout{font-size:48px;top:28%}.callout small{font-size:9px;margin-top:13px}.below-game{height:38px;padding:0 12px;gap:5px}.below-game>span{max-width:46%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.below-game #privacyButton{display:none}.online-panel{padding:9px;margin-bottom:10px}.online-panel .room-button{font-size:9px}.lobby-panel:has(.online-panel:not(.hidden)) .lobby-sub{display:none}.lobby-panel:has(.online-panel:not(.hidden)) .team-grid{max-height:100px}.lobby-panel:has(.online-panel:not(.hidden)) .eyebrow{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* ---- Profile, modes and friend invites */
.lobby-panel{max-height:calc(100% - 36px);overflow:auto;scrollbar-width:none}.lobby-panel::-webkit-scrollbar{display:none}
.profile-bar{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:16px;background:#0f2238d9;border:1px solid #6d88a04d;border-radius:8px;text-align:left;transition:border-color .15s}.profile-bar:hover{border-color:#f3c77a88}
.level-badge{flex:none;min-width:40px;height:30px;padding:0 6px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(135deg,#ffd27a,#ff8f4c);color:#2a1c12;font-weight:900;font-size:10px;font-style:italic}.level-badge.big{min-width:62px;height:62px;font-size:16px;border-radius:12px}
.profile-main{flex:1;min-width:0}.profile-main b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.xp-track{display:block;height:4px;border-radius:3px;background:#ffffff1f;overflow:hidden}.xp-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#7de3b6,#ffd27a);border-radius:inherit;transition:width .9s cubic-bezier(.2,.8,.2,1)}.xp-track.big{height:8px}
.profile-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:9px;color:#ffcf86;white-space:nowrap}.profile-meta small:last-child{color:#9fd8c2}.profile-open{color:#8ea6ba;font-size:18px}
.challenge-banner{margin:-4px 0 14px;padding:9px 12px;border-radius:7px;background:linear-gradient(90deg,#ff7a4733,#ffd27a22);border:1px solid #ffb06a66;color:#ffe2b0;font-size:11px;font-weight:800}
.mode-buttons{grid-template-columns:repeat(4,1fr);gap:5px}.mode-card{padding:10px 3px;position:relative}.mode-card b{font-size:10px;white-space:nowrap}.mode-card small{font-size:7.5px;line-height:1.3;display:block}.mode-card.hot:before{content:'1:1';position:absolute;top:-7px;right:4px;font-size:7px;font-weight:900;background:#ff7f4a;color:#25160f;border-radius:6px;padding:2px 5px;letter-spacing:.5px}
.invite-lead{color:#c3d3df!important;margin:0 0 4px!important}.code-join{margin-top:8px;font-size:10px;color:#9fb6c9}.code-join summary{cursor:pointer;padding:3px 0}.code-join .join-row{margin-top:6px}
.waiting-row{display:flex;align-items:center;gap:8px;font-size:11px}.waiting-row code{margin-left:auto;font:900 12px/1 monospace;letter-spacing:2px;color:var(--gold);background:#ffffff12;padding:5px 7px;border-radius:4px}
.pulse{width:8px;height:8px;border-radius:50%;background:#7de3b6;box-shadow:0 0 0 0 #7de3b6aa;animation:pulse 1.4s infinite}
.link-row{display:flex;gap:6px;margin:10px 0 8px}.link-row input{flex:1;min-width:0;background:#1a3048;color:#dfe9f0;border:1px solid #627c95;border-radius:4px;padding:8px;font-size:10px}.link-row button{font-size:10px;padding:8px 10px;border:1px solid #8aa3b8;border-radius:4px;white-space:nowrap}
.share-button{width:100%;padding:11px;border-radius:6px;font-weight:900;font-size:12px;color:#1c1612;background:linear-gradient(105deg,#ffe07a,#ffb04d);border-bottom:3px solid #b57a2e}.online-panel #cancelRoom{display:block;margin:2px auto 0;padding:8px}
.derby-panel{background:#2b1d10b8;border:1px solid #e0a95c55;border-radius:6px;padding:10px 12px;margin-bottom:14px;font-size:10px;color:#f3dcb8;line-height:1.5;display:flex;flex-direction:column;gap:4px}.derby-panel b{color:var(--gold);font-size:11px}
.invite-panel h1{font-size:30px}.versus-card{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:14px;border-radius:10px;background:#0f2238e6;border:1px solid #ffc77a55;box-shadow:0 10px 30px #0006}.versus-card strong{font-size:22px;font-style:italic;font-weight:900;color:#ff9b5e}.vs-side{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.vs-side b{font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs-side small{font-size:9px;color:#93aabd}.vs-side .team-chip{width:46px;height:46px;font-size:14px}
.invite-status{font-size:11px;color:var(--gold);min-height:16px;margin:10px 0}.invite-panel .text-button{display:block;margin:4px auto 0}
.ghost-button{border:1px solid #9fb8cc66;border-radius:6px;padding:12px 16px;font-size:12px;font-weight:800;color:#e6eef4;background:#ffffff0d}.ghost-button:hover{background:#ffffff1a}.invite-panel .ghost-button{width:100%;margin-top:4px}
/* ---- In-game feedback */
.status-badges{position:absolute;top:96px;left:28px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;pointer-events:none;z-index:3}
.fire-badge,.clutch-badge,.combo-badge{font-size:11px;font-weight:900;font-style:italic;letter-spacing:1px;padding:6px 11px;border-radius:5px}
.fire-badge{color:#fff4d6;background:linear-gradient(90deg,#ff4d2d,#ffad3b);box-shadow:0 0 18px #ff6a2d99;animation:flicker .5s infinite alternate}.fire-badge.enemy{filter:saturate(.6) brightness(.85)}
.clutch-badge{color:#1b1a10;background:#ffe36b;box-shadow:0 0 16px #ffe36b77}.combo-badge{color:#ffe7b0;background:#3b2610e6;border:1px solid #ffbf5c88}
.timing-chip{position:absolute;top:calc(23% - 44px);left:50%;transform:translateX(-50%);padding:6px 13px;border-radius:30px;font-size:12px;font-weight:900;letter-spacing:1px;opacity:0;pointer-events:none;z-index:7;background:#0b1d31e6;border:1px solid #ffffff33}.timing-chip.show{animation:chip 1.5s both}.timing-chip.perfect{color:#7dffb2;border-color:#7dffb288}.timing-chip.great{color:#c8ff7d}.timing-chip.early,.timing-chip.late{color:#ffb38a}
.toast{position:absolute;top:84px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);padding:9px 16px;border-radius:8px;font-size:12px;font-weight:800;background:#0c2136f2;border:1px solid #9cc3d455;color:#eaf4f7;opacity:0;pointer-events:none;z-index:7;text-align:center}.toast.show{animation:toast 2.6s both}.toast.fire{background:linear-gradient(90deg,#c9361f,#ff9636);border-color:#ffd59a;color:#fff7e6}.toast.clutch{background:#ffe36b;color:#211c09}.toast.gold{background:linear-gradient(90deg,#d79b20,#ffe27a);color:#2a1d06}.toast.good{border-color:#7de3b6aa}.toast.warn{border-color:#ffb38a99;color:#ffe0cc}
.scoreboard{overflow:visible}.emote-pop{position:absolute;top:100%;left:40px;font-size:38px;line-height:1;opacity:0;pointer-events:none;font-weight:900;color:#fff;text-shadow:0 3px 12px #000a}.emote-pop.home{left:auto;right:40px}.emote-pop.show{animation:emote 2s both}
.emote-bar{display:flex;gap:6px;justify-content:flex-end;margin-bottom:8px}.emote-bar button{width:38px;height:34px;border-radius:17px;background:#0b2238d9;border:1px solid #8fb3c955;font-size:16px;font-weight:900;color:#fff;transition:transform .1s}.emote-bar button:active{transform:scale(.88)}
.peer-overlay{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:#06121fb3;backdrop-filter:blur(4px)}.peer-overlay>div{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 30px;border-radius:12px;background:#10253b;border:1px solid #6b8ba455;text-align:center}.peer-overlay b{font-size:16px}.peer-overlay small{font-size:11px;color:#a9bfcf}
.spinner{width:30px;height:30px;border-radius:50%;border:3px solid #ffffff22;border-top-color:var(--gold);animation:spin 1s linear infinite}
.meter-foot.pitching span:first-child,.meter-foot.pitching span:last-child{visibility:hidden}
.stadium:before,.stadium:after{content:'';position:absolute;left:0;right:0;height:0;background:#000;z-index:5;transition:height .25s;pointer-events:none}.stadium:before{top:0}.stadium:after{bottom:0}.stadium.cinematic:before,.stadium.cinematic:after{height:9%}
/* ---- Results */
.result-overlay{overflow:auto;padding:20px 16px}.result-card{width:min(520px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;margin:auto}.result-card .result-star{font-size:54px;margin-bottom:4px}.result-card>small{font-size:10px;letter-spacing:4px;color:#e4c286}.result-card h2{font-size:clamp(38px,6vw,72px);font-style:italic;font-weight:900;margin:8px 0 4px;letter-spacing:-2px}.result-overlay.lost .result-star{color:#9fb6c9;text-shadow:0 5px 0 #3b5266}
.final-score{font-size:24px;letter-spacing:3px;margin:0 0 12px;font-weight:800}.challenge-result{margin:0 0 12px;padding:7px 14px;border-radius:20px;background:#ffd27a22;color:#ffe2a8;font-size:12px;font-weight:800}
.result-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px}.result-stats div{min-width:76px;padding:9px 8px;border-radius:8px;background:#ffffff0f;border:1px solid #ffffff17}.result-stats b{display:block;font-size:20px;color:var(--gold)}.result-stats small{font-size:9px;color:#a5b9c9}
.xp-panel{width:100%;padding:12px 14px;border-radius:10px;background:#0b1d31d9;border:1px solid #7de3b633;margin-bottom:12px}.xp-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.xp-head b{color:#7de3b6;font-size:16px}.xp-head span{font-size:11px;color:#c7d5df;font-weight:800}
.reward-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}.reward-list:empty{display:none}.reward{font-size:10px;font-weight:800;padding:5px 9px;border-radius:14px;background:#ffffff14;animation:pop .5s both}.reward.level{background:linear-gradient(90deg,#ffd27a,#ff8f4c);color:#2a1c12}.reward.mission{background:#7de3b633;color:#c9ffe6}.reward.skin{background:#b18cff44;color:#eadfff}
.initials{width:100%;margin-bottom:10px}.initials label{display:block;font-size:11px;color:#ffe2a8;margin-bottom:7px;font-weight:800}.initials>div{display:flex;gap:8px;justify-content:center}.initials input{width:120px;text-align:center;font:900 26px/1 monospace;letter-spacing:8px;padding:8px;background:#0b1d31;color:#ffd27a;border:2px solid #ffd27a88;border-radius:6px;text-transform:uppercase}.initials .primary{min-height:0;padding:10px 18px}
.board{list-style:none;margin:0 0 10px;padding:0;width:100%;max-width:300px}.board li{display:flex;gap:12px;align-items:center;padding:5px 10px;font:700 13px/1.2 monospace;border-radius:4px}.board li:nth-child(odd){background:#ffffff08}.board li span{width:20px;color:#8ea6ba}.board li b{color:#ffd27a;letter-spacing:3px}.board li em{margin-left:auto;font-style:normal;color:#e8f1f5}.board li.me{background:#ffd27a26;outline:1px solid #ffd27a77}.board li.empty{font-family:inherit;font-weight:400;font-size:11px;color:#9fb6c9;justify-content:center}
.rematch-status{min-height:16px;font-size:12px;color:#ffd27a;margin:0 0 8px;font-weight:800}.result-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.result-actions .primary{min-width:150px}.pulse-button{animation:pulseButton 1s infinite}
/* ---- Locker room */
#lockerDialog{width:min(560px,calc(100% - 24px))}.locker-profile{display:flex;gap:14px;align-items:center}.locker-profile>div{flex:1;min-width:0}.locker-profile label{font-size:10px;color:#9fb6c9}.name-row{display:flex;gap:6px;margin:5px 0 9px}.name-row input{flex:1;min-width:0;background:#0b1d31;color:#fff;border:1px solid #627c95;border-radius:5px;padding:9px;font-size:13px}.name-row button{padding:8px 12px;border:1px solid #8aa3b8;border-radius:5px;font-size:11px}.locker-profile small{font-size:10px;color:#9fb6c9}
#lockerDialog h3 small{color:#ffcf86;font-size:11px;margin-left:6px}.mission-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.mission-list li{display:grid;grid-template-columns:18px 1fr auto;grid-template-rows:auto auto;gap:4px 8px;align-items:center;padding:9px 11px;border-radius:7px;background:#ffffff0a;font-size:12px}.mission-list li span{grid-row:1/3;color:#9fb6c9}.mission-list li i{grid-column:2/4;height:4px;border-radius:3px;background:#ffffff1a;overflow:hidden}.mission-list li em{display:block;height:100%;background:#7de3b6}.mission-list li small{grid-row:1;grid-column:3;font-size:10px;color:#a9bfcf}.mission-list li.done{background:#7de3b61a}.mission-list li.done span{color:#7de3b6}
.skin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.skin{padding:9px;border-radius:7px;border:1px solid #6d88a04d;background:#ffffff08;display:flex;flex-direction:column;gap:5px;align-items:center}.skin i{display:block;width:100%;height:8px;border-radius:4px;background:var(--swatch)}.skin b{font-size:11px}.skin small{font-size:9px;color:#9fb6c9;min-height:11px}.skin.selected{border-color:var(--gold);background:#ffd27a14}.skin.locked{opacity:.55}
@keyframes pulse{0%{box-shadow:0 0 0 0 #7de3b6aa}100%{box-shadow:0 0 0 10px #7de3b600}}
@keyframes flicker{from{filter:brightness(1)}to{filter:brightness(1.25)}}
@keyframes chip{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}12%,70%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-10px)}}
@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}10%,82%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-8px)}}
@keyframes emote{0%{opacity:0;transform:translateY(10px) scale(.4)}15%{opacity:1;transform:translateY(0) scale(1.25)}25%,75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-24px)}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:scale(1)}}@keyframes pulseButton{50%{filter:brightness(1.25);transform:scale(1.03)}}
@media(max-width:760px){.status-badges{top:122px;left:20px}.fire-badge,.clutch-badge,.combo-badge{font-size:9px;padding:5px 8px}.toast{top:76px;font-size:11px}.emote-pop{font-size:30px;left:20px}.emote-pop.home{right:20px}}
@media(max-width:500px){.profile-bar{margin-bottom:12px;padding:7px 9px}.mode-card b{font-size:9px}.mode-card small{font-size:6.5px}.invite-panel h1{font-size:24px}.versus-card{padding:10px;margin-bottom:12px}.lobby-panel:has(.online-panel:not(.hidden)) h1,.lobby-panel:has(.derby-panel:not(.hidden)) .lobby-sub{display:none}.emote-bar button{width:34px;height:30px;font-size:14px}.timing-chip{top:calc(28% - 40px);font-size:11px}.result-card h2{font-size:40px}.final-score{font-size:19px}.result-stats div{min-width:62px;padding:7px 6px}.result-stats b{font-size:16px}.skin-grid{grid-template-columns:repeat(2,1fr)}}

/* The hint sits in the control stack so it never hides behind the pitch selector or reactions. */
.play-ui .canvas-hint{position:static;transform:none;margin:0 auto 8px;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.emote-bar{position:absolute;right:0;bottom:100%;margin-bottom:8px}
@media(max-width:760px){.emote-bar{right:auto;left:0;gap:4px}.play-ui .canvas-hint{font-size:10px}}
.nav-tab{white-space:nowrap}@media(max-width:760px){#navLocker{display:none}.emote-bar button{opacity:.82}}
.profile-meta{flex:none}.invite-panel.gone .versus-card{display:none}

.athlete-card{position:absolute;top:146px;left:24px;z-index:4;display:flex;flex-direction:column;gap:6px;padding:12px 15px;border:1px solid #ffffff22;border-radius:10px;background:#0c1b2ded;font-size:12px;pointer-events:auto}.athlete-card span{color:#bacbd4;font-size:11px}.athlete-card button{padding:7px 12px;background:#edb55e;color:#142035;border-radius:5px;font-weight:800}.athlete-card button:disabled{opacity:.35}.athlete-card.hidden{display:none}@media(max-width:760px){.athlete-card{top:130px;left:10px;padding:8px;gap:4px;font-size:10px}.athlete-card span{font-size:9px}.athlete-card button{padding:5px}}

.status-badges{top:252px;left:24px}@media(max-width:760px){.status-badges{top:220px;left:10px}}

.pitch-ready{position:absolute;top:27%;left:50%;transform:translateX(-50%);z-index:6;padding:12px 22px;border:1px solid #ffd17a77;border-radius:12px;background:#0b1b2dec;color:#ffe3a1;font-size:20px;font-weight:900;letter-spacing:1px;pointer-events:none;white-space:nowrap}.pitch-ready.hidden{display:none}@media(max-width:760px){.pitch-ready{top:32%;font-size:14px;padding:10px 15px}}

.pitch-review{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:0 auto 8px;padding:8px 14px;background:#091d30ed;border:1px solid #aec9d333;border-radius:8px;pointer-events:none}
.review-zone{position:relative;flex:none;width:54px;height:54px;border:1px solid #ffffff25;border-radius:3px;background:#294256}
.review-zone>i{position:absolute;inset:16.666%;border:1px solid #b8d9e4;background:linear-gradient(90deg,transparent 32%,#aec9d333 33%,transparent 34%,transparent 65%,#aec9d333 66%,transparent 67%),linear-gradient(transparent 32%,#aec9d333 33%,transparent 34%,transparent 65%,#aec9d333 66%,transparent 67%)}
.review-zone>b{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffb568;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #091d30}.review-zone>b.ball{background:#81e5b1}
.review-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.review-copy small{color:#91adbf;font-size:9px}.review-copy b{font-size:11px;color:#f9ddb0;overflow-wrap:anywhere}.review-copy span{font-size:11px;color:#d9e8ed;line-height:1.4}
.status-badges{top:300px}.perfect-window{min-width:2px}
@media(max-width:760px){.status-badges{top:260px}}
@media(max-width:760px){.pitch-review{gap:8px;padding:7px 9px;width:100%}.review-zone{width:42px;height:42px}.review-copy b,.review-copy span{font-size:10px}.athlete-card{max-width:145px}}

.hand-settings{margin:0 0 10px;color:#b9ced9;font-size:10px}.hand-settings summary{cursor:pointer;padding:5px 0}.hand-settings>div{display:flex;gap:10px;padding:6px 0}.hand-settings label{display:flex;align-items:center;gap:6px}.hand-settings select{max-width:140px;background:#142c42;color:#ffe0a7;border:1px solid #557389;border-radius:4px;padding:6px;font-size:10px}.status-badges{top:325px}@media(max-width:760px){.status-badges{top:280px}.hand-settings>div{gap:8px}.hand-settings select{max-width:125px}}

/* Pitch explanations must leave the aiming area clear throughout preparation and delivery. */
.stadium.aiming .pitch-review{display:none}
.stadium-top .pitch-ready{position:static;transform:none;max-width:60%;padding:7px 10px;border-radius:6px;font-size:12px;letter-spacing:0;line-height:1.3;text-align:right;white-space:normal}
.stadium-top:has(.pitch-ready:not(.hidden)) .weather{display:none}
@media(max-width:760px){.stadium-top .pitch-ready{font-size:10px;padding:5px 8px}}
.touch-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b9ced9;font-size:10px;margin:0 0 12px}.touch-setting select{max-width:200px;background:#142c42;color:#ffe0a7;border:1px solid #557389;border-radius:4px;padding:6px;font-size:10px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px}.dialog-actions button:not(.primary){padding:12px;border:1px solid #557389;border-radius:5px}#pitchHistory{padding-left:20px;line-height:1.6;max-height:55svh;overflow:auto}#pitchHistory li{margin-bottom:12px;color:#d9e8ed}#reviewDialog .primary,#pauseDialog .primary{margin-top:14px}.below-game button{min-height:32px}@media(max-width:760px){.below-game{min-height:44px;height:auto}.below-game>div{flex-wrap:wrap;justify-content:flex-end}.below-game button{min-height:44px;padding:8px 5px}.touch-setting{font-size:9px}.touch-setting select{font-size:9px}}
.tagup-choices{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 10px;padding:8px 10px;width:max-content;max-width:100%;background:#091d30ee;border:1px solid #f1c884;border-radius:8px}.tagup-choices span{font-size:10px;color:#f7dfb3;margin-right:4px}.tagup-choices button{min-height:44px;padding:8px 13px;border:1px solid #6e91a6;border-radius:6px;background:#19364a;font-weight:700;font-size:11px}.tagup-choices button[aria-pressed="true"]{border-color:#ffd17a;background:#6b4b2d;color:#fff1d4}@media(max-width:760px){.tagup-choices{width:100%}.tagup-choices span{width:100%;text-align:center;font-size:9px}.tagup-choices button{flex:1}}
.lobby-panel[data-mode="challenge"]{max-height:calc(100% - 130px);overflow-y:auto;scrollbar-width:thin}.scenario-panel{margin:0 0 12px;padding:10px;border:1px solid #7d9ba755;border-radius:7px;background:#0a2035d9}.scenario-panel>b{font-size:11px;color:#ffe0a7}.scenario-panel>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:138px;overflow:auto;margin-top:8px}.scenario-option{text-align:left;padding:7px;border:1px solid #486a7a;border-radius:4px;font-size:10px;background:#153049}.scenario-option.selected{border-color:#ffd17a;background:#6b4b2d}.scenario-option:disabled{opacity:.48}.scenario-panel p{margin:8px 0 0;color:#bcd1df;font-size:10px;line-height:1.4}@media(max-width:760px){.lobby-panel[data-mode="challenge"]{max-height:calc(100% - 115px)}.scenario-panel>div{max-height:120px}.scenario-option{font-size:9px}}
#dailyScenario{display:block;width:100%;min-height:34px;margin-top:8px;padding:6px 8px;text-align:left;border:1px solid #ad8751;border-radius:4px;background:#3b3042;color:#ffdfab;font-size:10px}#dailyScenario.selected{border-color:#ffe4a1;background:#70502c}
.difficulty-panel{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;color:#b9ced9;font-size:10px}.difficulty-panel select{max-width:215px;background:#142c42;color:#ffe0a7;border:1px solid #557389;border-radius:4px;padding:7px;font-size:10px}
#pitcherStylePanel{margin-top:-7px}
.result-review{margin:7px 0 12px;padding:9px 11px;border:1px solid #426477;border-radius:5px;background:#102c3b;color:#c9e4e7;font-size:11px;line-height:1.45}
.cup-mode-row{margin:-5px 0 8px;grid-template-columns:1fr}.cup-mode-row .mode-card{width:100%;padding:7px 8px}.cup-mode-row .mode-card b{font-size:10px}.cup-mode-row .mode-card small{font-size:8px}#cupPanel{margin-bottom:8px}
.profile-move{display:flex;gap:8px}.profile-move button{min-height:44px;padding:8px 13px;background:#1b3a50;border:1px solid #7295a8;border-radius:5px;font-size:11px}.profile-move button:hover{border-color:#ffd17a}#profileMoveStatus{min-height:18px;color:#ffdb9e;font-size:11px}
.canvas-hint{max-width:calc(100% - 24px);white-space:normal;text-align:center;line-height:1.35}
