/* Front-end screens share the game's own characters and palette. */
#start-menu{max-width:900px;margin:12px auto 40px;min-height:65vh;color:#f2ecd8;font-family:Segoe UI,Arial,sans-serif}#start-menu button{font-family:inherit;cursor:pointer}.front-open header{max-width:900px;margin:0 auto 14px}.front-open header .badge{display:none}.front-open{background:radial-gradient(ellipse at 50% 0,#2c465a,transparent 65%),#101b2c}.menu-top{display:flex;align-items:center;min-height:38px}.menu-top button{background:transparent;border-color:#50677a;color:#c9d7e1;padding:8px 16px}.menu-title{font-size:clamp(28px,5vw,46px);line-height:1.1;letter-spacing:-1px;margin:14px 0;text-align:center}#menu-home{text-align:center}.menu-lead{font-size:16px;line-height:1.6;color:#becdd8;margin:10px 0 0}#menu-art{display:block;width:100%;height:auto;background:transparent;max-height:185px;margin:15px auto 0}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 auto 20px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:25px;text-align:left;min-height:155px;background:linear-gradient(130deg,#31485d,#203448);border:2px solid #718d98;border-radius:17px;box-shadow:0 6px 0 #0a1725;color:#fff0cc}.mode-card:hover{border-color:#ffe1a0;transform:translateY(-2px)}.mode-card strong{font-size:26px}.mode-card small{font-size:14px;color:#cad9df;line-height:1.5}.mode-symbol{font-size:28px;color:#f1cd84}.mode-card.online{background:linear-gradient(130deg,#395250,#223947);border-color:#7b9e8c}.menu-links{display:flex;justify-content:center;gap:10px;margin:22px 0}.menu-links button{background:transparent;border-color:#5a7184;padding:10px 20px}.menu-caption{font-size:12px;color:#91a7b7}.menu-mode-label{font-size:13px;color:#ecd49f;text-align:center;letter-spacing:1px;margin:0 0 18px}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.format-grid button{background:#203449;border:2px solid #485f74;border-radius:12px;padding:15px 6px;display:grid;gap:6px;color:#dfebeb}.format-grid button strong{font-size:19px}.format-grid button small{font-size:12px;color:#aebfd0}.format-grid button[aria-pressed=true]{background:#43544c;border-color:#f3d18c;color:#fff0c6}.online-tabs{display:flex;gap:8px;margin:12px 0 20px}.online-tabs button{flex:1;padding:11px}.online-tabs button[aria-pressed=true]{background:#ecd49d;color:#192a3a}.menu-panel,#menu-setup-controls{background:#16283d;border:1px solid #50677b;border-radius:17px;padding:22px}#game-settings{display:block!important;width:100%;padding:0!important;background:transparent!important;border:0!important;position:static!important;overflow:visible!important}#game-settings>h2,#game-settings>.eyebrow,#game-settings>label{display:none}#game-settings label{font-size:14px;margin:12px 0;gap:10px;display:flex;align-items:center;justify-content:space-between}#game-settings input,#game-settings select{font-family:inherit;margin-left:auto;max-width:55%;border-radius:7px}#menu-setup-controls #character-picker{grid-template-columns:repeat(8,1fr);gap:6px}#menu-setup-controls #character-picker canvas{width:100%;max-width:60px;height:auto}#menu-setup-controls #character-picker button{border-radius:9px}#menu-setup-controls #character-name{margin-bottom:18px;font-size:13px}#menu-extra,#menu-connection{border-top:1px solid #3a5166;padding:14px 0;margin-top:15px}#menu-extra summary,#menu-connection summary{font-size:14px;color:#bccfda;cursor:pointer}#start-local,#create-room,#join-room,#start-online{padding:13px 22px;font-size:17px;border-radius:10px;font-weight:700;background:#e9ca8c;color:#192e3d;border:0;min-height:47px}#start-local{width:100%;margin-top:12px}#start-menu[data-mode=local] #online-options{display:none}#start-menu[data-intent=create] #join-room,#start-menu[data-intent=create] #room-code{display:none}#start-menu[data-intent=join] #create-room{display:none}#start-menu[data-intent=join] #menu-extra{display:none}#start-menu.in-room #battle-options,#start-menu.in-room #online-options>.actions,#start-menu.in-room #menu-connection{display:none}#start-menu.in-room #room-players{display:none}#room-panel{margin:0;border:0;padding:0}#room-label{display:block;text-align:center;font-size:32px;letter-spacing:5px;padding:12px;background:#233c51;border-radius:10px}#menu-lobby-format{text-align:center;color:#cbd9dd}#menu-roster{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.lobby-seat{display:flex;align-items:center;gap:12px;background:#23384d;border-radius:10px;padding:9px;color:#fff0ce;overflow:hidden}.lobby-seat canvas{width:40px;height:50px;background:transparent}.lobby-seat span{overflow-wrap:anywhere}#menu-join-hint{line-height:1.6;color:#bdced7}#start-menu[data-screen=setup] #menu-lobby-meta{display:none}#menu-pause{text-align:center;max-width:480px;margin:22px auto}.menu-stack{display:grid;gap:12px}.menu-stack button{min-height:48px;border-radius:10px;font-size:17px;padding:12px}.menu-stack .primary{background:#eace97;color:#1e3343}.menu-stack .exit{margin-top:20px;background:transparent;color:#e1bcb7;border-color:#785f64}.menu-panel p{line-height:1.65;color:#bfcfd9}.menu-panel label{display:flex;justify-content:space-between;align-items:center}#menu-expert{border-top:1px solid #3b5369;margin-top:24px;padding-top:15px}#menu-expert summary{color:#98afbe}#menu-expert>label{margin-top:16px}#menu-help .help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#menu-help article{border:1px solid #40586d;border-radius:10px;padding:15px}#menu-help h3{margin:0 0 10px;font-size:17px}#menu-help-bonuses{margin-top:22px}#menu-help #bonus-guide>summary{font-size:18px}#menu-help .bonus-row canvas{background:transparent}.front-open footer{text-align:center}#game-shell{display:flex;flex-direction:column;align-items:center;gap:10px}#game-shell>.play{width:100%;max-width:720px}#game-shell>.touch{width:100%;max-width:720px}#game-info{width:100%;max-width:720px;border:1px solid #3c5565;border-radius:9px;padding:12px;background:#152638}#game-info>summary{cursor:pointer;color:#b7cbd4}#game-info #standings{display:none}#game-info .notice{margin:10px 0 0}#match-actions{display:flex;gap:10px;padding:12px;background:#192e43}#match-actions button{flex:1;padding:12px;border-radius:8px}button:focus-visible{outline:3px solid #ffe6aa;outline-offset:4px}#menu-settings,#menu-help{max-width:680px;margin:20px auto}#menu-preferences label{font-size:16px}
@media(max-width:600px){#start-menu{margin:0 auto 24px}.front-open main{padding:15px}.front-open header{height:auto;margin-bottom:8px}.menu-title{margin:12px 0;font-size:30px}.menu-lead{font-size:14px}#menu-art{margin:14px auto 0;min-height:90px}.mode-grid{grid-template-columns:1fr;gap:13px}.mode-card{min-height:118px;padding:18px 22px;gap:6px}.mode-card strong{font-size:23px}.mode-symbol{display:none}.mode-card small{font-size:13px}.menu-links{margin:20px 0 14px}.menu-caption{font-size:11px}.menu-panel,#menu-setup-controls{padding:15px;border-radius:12px}.format-grid{gap:6px}.format-grid button{padding:12px 4px}.format-grid button strong{font-size:15px}.format-grid button small{font-size:10px}#menu-setup-controls #character-picker{grid-template-columns:repeat(4,1fr);gap:6px}#menu-setup-controls #character-picker canvas{max-width:45px}#game-settings label{font-size:13px}#game-settings input,#game-settings select{max-width:58%;width:58%}#online-options .actions{display:flex;flex-wrap:wrap}#room-code{width:100%!important;max-width:100%!important;font-size:23px;text-align:center}#join-room,#create-room{width:100%}#menu-roster{gap:6px}.lobby-seat{padding:7px;gap:6px;font-size:12px}.lobby-seat canvas{width:32px;height:40px}#menu-help .help-grid{grid-template-columns:1fr}#menu-settings select{max-width:50%}#game-info{font-size:12px}.front-open #menu-toggle{display:none!important}}
@media(max-width:900px) and (orientation:landscape){.front-open #start-menu{max-width:720px;margin-top:0}.front-open .mode-grid{grid-template-columns:1fr 1fr}.front-open #menu-art{max-height:105px;width:75%}.front-open .menu-title{font-size:27px}.front-open .menu-links{margin:12px}.front-open .mode-card{min-height:110px;padding:15px}.front-open #game-settings{inset:auto}#game-info{max-width:500px}#game-shell>.play{width:calc((100dvh - 140px)*1.154);max-width:calc(100vw - 310px)}}

header #menu-toggle{display:block;margin-left:auto}

.mode-grid{grid-template-columns:repeat(3,1fr)}.wallet{color:#f4d79c;font-weight:700;text-align:center}#shop-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cosmetic-card{border:1px solid #52687c;border-radius:12px;padding:16px;text-align:center}.cosmetic-preview{display:block;margin:8px auto 16px;padding:9px;border:3px solid var(--frame);border-radius:9px;background:#22394e}.cosmetic-card button{min-height:44px;padding:8px;width:100%}#economy-result{padding:16px;background:#1c3047;border:1px solid #60778a;border-radius:10px}#economy-result p{line-height:1.5}#economy-result .actions{display:flex;flex-wrap:wrap;gap:10px}#economy-result button{min-height:44px;padding:10px}#matchmaking{padding:14px;background:#263e51;border-radius:10px;margin-bottom:16px}#find-match{width:100%;padding:14px}#queue-status,#solo-help{line-height:1.6;color:#c9d5dd}#start-menu[data-mode=solo] #battle-options>.help{display:none}@media(max-width:600px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:95px}#shop-catalog{grid-template-columns:1fr 1fr}.menu-links{flex-wrap:wrap}.menu-links button{padding:10px}}

#character-store{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}#character-store canvas{width:64px;height:80px}#character-store p{font-size:12px;line-height:1.5}#character-store button{font-size:13px}#character-picker button.locked{position:relative;border-style:dashed;opacity:.65}#character-picker button.locked::after{content:"🔒";position:absolute;right:2px;bottom:0;font-size:16px}#character-unlock-panel button{min-height:44px;padding:10px}#character-unlock-panel p{line-height:1.5}.character-shop-title{display:block;font-weight:700}

#start-menu[data-mode=solo] #character-access-info{display:block}

#arena-stage{position:relative}#pickup-fx-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}.pickup-fly{position:absolute;width:36px;height:36px;background:transparent;filter:drop-shadow(0 0 6px #ffe6a2)}#power-status span{display:inline-block}#unlock-card{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:min(410px,88%);display:flex;gap:15px;align-items:center;background:linear-gradient(120deg,#243d50f5,#16263df5);border:2px solid #eacb8b;border-radius:14px;padding:13px 18px;box-shadow:0 0 35px #eccd7540;pointer-events:none;animation:unlock-reveal .65s cubic-bezier(.16,.9,.25,1) both}#unlock-card[hidden]{display:none}#unlock-card canvas{width:64px;height:80px;background:transparent;flex:0 0 64px;animation:unlock-portrait .8s ease-out both}#unlock-card strong{font-size:14px;letter-spacing:1px;color:#ffe6a9}#unlock-card p{font-size:17px;color:#fff0d1;margin:8px 0 4px;line-height:1.25}#unlock-card small{font-size:12px;color:#c4d4df}.unlock-lock{position:relative;display:inline-block;background:#e9c77c;border:2px solid #9f7844;border-radius:3px;width:15px;height:12px;margin-right:9px}.unlock-lock:before{content:'';position:absolute;border:2px solid #f2ddaa;border-bottom:0;width:9px;height:8px;border-radius:6px 6px 0 0;left:4px;top:-10px;transform:rotate(32deg);transform-origin:bottom left;animation:unlock-shackle .5s ease-out both}@keyframes unlock-reveal{from{opacity:0;transform:translate(-50%,25px) scale(.8)}65%{opacity:1;transform:translate(-50%,-4px) scale(1.025)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes unlock-portrait{from{opacity:0;transform:translateY(14px) scale(.75)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes unlock-shackle{from{transform:rotate(0deg)}to{transform:rotate(32deg)}}@media(max-width:600px){#unlock-card{padding:9px 11px;gap:9px;bottom:4%;border-radius:10px}#unlock-card canvas{width:42px;height:53px;flex-basis:42px}#unlock-card strong{font-size:10px}#unlock-card p{font-size:12px;margin:6px 0 3px}#unlock-card small{font-size:10px}.pickup-fly{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){#unlock-card,#unlock-card canvas,.unlock-lock:before{animation:none}}

/* Text follows the locale; arena geometry and physical controls stay fixed. */
#start-menu button,#start-menu p,#start-menu summary,#character-name{overflow-wrap:anywhere}
#start-menu [data-i18n]{min-width:0}
#menu-settings label{gap:12px;flex-wrap:wrap}
#menu-settings select{min-width:140px;max-width:100%}
#menu-preferences select{font-family:system-ui,"Noto Sans",sans-serif}
html[dir=rtl] .mode-card{text-align:right}
html[dir=rtl] #start-menu,html[dir=rtl] #game-info{font-family:system-ui,"Noto Sans Arabic",Tahoma,sans-serif;letter-spacing:normal}
html[dir=rtl] #game-settings input,html[dir=rtl] #game-settings select{margin-left:0;margin-right:auto}
html[dir=rtl] header #menu-toggle{margin-left:0;margin-right:auto}
#game-shell,.touch,#menu-art,#room-code,#server-url,#counter,#position{direction:ltr}
#room-code,#server-url,#counter,#position{unicode-bidi:isolate}
html[dir=rtl] #game-info,html[dir=rtl] #status,html[dir=rtl] #power-status,html[dir=rtl] #connection-state,html[dir=rtl] #economy-result{direction:rtl}
html[dir=rtl] .eyebrow,html[dir=rtl] .menu-mode-label,html[dir=rtl] .badge{letter-spacing:normal}

.ability-button{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ability-button small{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
#map-choice{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px;margin:16px 0;border:2px solid #c6bb82;border-radius:12px;background:#23394c}#map-choice>span{font-size:19px;font-weight:700;color:#fff0c5}#map-choice select{width:100%;max-width:none;margin:0;min-height:48px;font-size:16px;background:#102638;color:#fff0cf}
#map-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:5px;touch-action:pan-y}#map-carousel canvas{display:block;width:100%;height:auto;aspect-ratio:15/13;background:#122638;border:2px solid #718b82;border-radius:8px}#map-carousel button{width:42px;min-height:48px;padding:0;font-size:36px;line-height:1;border:1px solid #8b9e97;background:#172e41;border-radius:9px;color:#ffe7af}#map-caption{text-align:center;font-size:19px;color:#fff0c5}#map-position{text-align:center;color:#b6c8d1;font-size:12px}#map-use{align-self:center;min-height:44px;padding:9px 24px;border:1px solid #b9c58d;background:#d9c28b;color:#1c3340}#map-choice.chosen{border-color:#97c9ab}#map-carousel:focus-visible{outline:3px solid #ffe6aa;outline-offset:4px}@media(max-width:460px){#map-choice{padding:12px}#map-carousel{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}#map-carousel button{width:36px}#map-choice>span{font-size:17px}}
