:root{color-scheme:dark;--bg:#07101a;--surface:#102431;--text:#eef6f5;--muted:#95b0be;--line:#31505e;--cyan:#81f0d8;--gold:#f5c185;--chrome:60px;--pad:clamp(16px,3vw,48px);--control-scale:1;--control-opacity:.75;--viewport-height:100dvh}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);font:15px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{-webkit-text-size-adjust:100%;user-select:none;-webkit-user-select:none}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:11px;background:#102330;color:var(--text);padding:10px 16px;touch-action:manipulation}button:hover:not(:disabled){border-color:var(--cyan);background:#21403e}button:active:not(:disabled){filter:brightness(1.2)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}button.primary{background:var(--cyan);color:#09232a;border-color:var(--cyan);font-weight:850}button.primary:hover{background:#b1ffe6;color:#082129}.secondary{background:#16323d}.quiet{background:transparent;border-color:#30505c;color:#bdd1d8}.eyebrow{color:var(--cyan);font-size:10px;font-weight:850;letter-spacing:.14em}.small-label{font-size:9px;letter-spacing:.12em;color:#8faab7;font-weight:700}h1,h2,h3,p{margin:0}h2{font-size:clamp(23px,3.3vw,44px);font-weight:850;letter-spacing:-.04em;line-height:1.08}#app{position:fixed;inset:0;width:100%;height:var(--viewport-height,100dvh);overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 30% 10%,#204d5350,transparent 75%),var(--bg)}#chrome{position:absolute;inset:0 0 auto;min-height:var(--chrome);padding:calc(env(safe-area-inset-top,0px) + 6px) max(14px,env(safe-area-inset-right,0px)) 6px max(14px,env(safe-area-inset-left,0px));display:flex;justify-content:space-between;align-items:center;gap:8px;z-index:30;background:#08131dea;border-bottom:1px solid #2a465050}.chrome-left,.chrome-actions{display:flex;align-items:center;gap:12px;min-width:0}.chrome-actions{gap:6px}.brand{display:block;flex-shrink:0}.brand b{font-size:17px;font-weight:950;letter-spacing:.03em}.brand b span{color:var(--cyan)}.brand small{display:block;font-size:6px;letter-spacing:.2em;color:#9ab7c3}.chrome-caption{font-size:9px;letter-spacing:.12em;color:#91aebb;white-space:nowrap}.icon-button{width:44px;padding:0;font-size:21px;background:#132731b3;display:grid;place-items:center;flex-shrink:0}.chrome-button{display:flex;gap:7px;align-items:center;padding:0 12px;font-size:10px;font-weight:700}.fs-icon{font-size:25px;line-height:1}.screen{position:absolute;inset:calc(var(--chrome) + env(safe-area-inset-top,0px)) 0 0;min-width:0;min-height:0;overflow:hidden}.screen canvas{display:block;width:100%;height:100%}.page-screen{display:flex;flex-direction:column;padding:18px max(var(--pad),env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(var(--pad),env(safe-area-inset-left,0px));gap:18px}.page-heading{flex-shrink:0}.page-heading h2{margin:6px 0 9px}.page-heading p{font-size:12px;color:var(--muted)}.page-heading.compact h2{margin:5px 0 0}.page-footer,.selection-footer{display:flex;gap:12px;align-items:center;flex-shrink:0}.page-footer{margin-top:auto;color:var(--muted);font-size:11px}.page-footer button{margin-left:auto;font-size:11px}.selection-footer>span{margin-right:auto;color:#9ab6c0;font-size:11px;max-width:58%;line-height:1.3}.selection-footer button{min-width:110px;font-size:12px}.selection-footer .primary{min-width:175px}
/* Abertura: uma superfície de jogo inteira, não uma página de apresentação. */
.splash{inset:0}.splash canvas,.splash-shade,.start-surface{position:absolute;inset:0}.splash-shade{background:linear-gradient(90deg,#07111ced 0%,#07111c9c 42%,#06101920 74%),linear-gradient(0deg,#07101a,transparent 28%);pointer-events:none}.start-surface{border:0;background:transparent!important;border-radius:0;width:100%;height:100%;text-align:left;padding:var(--pad);display:flex;align-items:center}.splash-copy{margin:0 0 0 3vw;pointer-events:none}.splash h1{font-size:clamp(48px,8.2vw,128px);font-weight:950;line-height:.85;letter-spacing:-.065em;margin:22px 0 18px}.splash h1 span{color:var(--cyan)}.splash h1 i{font-size:.25em;vertical-align:top;margin-left:9px;font-style:normal;color:var(--gold);letter-spacing:-.04em}.splash p{color:#bdd3d9;font-size:15px}.tap-call{display:flex;align-items:center;gap:11px;font-size:clamp(10px,1.2vw,15px);font-weight:800;letter-spacing:.10em;margin-top:35px}.tap-dot{width:8px;height:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 22px #7be4d5;animation:tap 1.8s ease-in-out infinite}.splash-footer{position:absolute;bottom:max(16px,env(safe-area-inset-bottom,0px));left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.1em;color:#91aeb9;pointer-events:none}@keyframes tap{50%{opacity:.3;box-shadow:0 0 4px #7be4d5}}
/* Modos: um botão inicia o fluxo, sem formulário na mesma tela. */
.mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;flex:1;min-height:0;max-height:510px;align-self:center;width:100%}.mode-card{position:relative;border-radius:18px;text-align:left;padding:clamp(17px,2.3vw,32px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:26px;background:radial-gradient(ellipse at 30% 10%,#28757966,transparent 75%),#0f2530;border-color:#416e73}.mode-card.training{background:radial-gradient(ellipse at 20% 10%,#62544266,transparent 75%),#14222b;border-color:#73664e}.mode-card.locked{background:#11202a;border-color:#31424d}.mode-symbol{font-size:clamp(38px,7vw,102px);font-weight:950;font-style:italic;letter-spacing:-.09em;color:#84e8db;line-height:.9;margin-bottom:auto}.training .mode-symbol{color:var(--gold)}.locked .mode-symbol{color:#647d8b}.mode-body{display:flex;flex-direction:column;gap:8px;max-width:260px}.mode-body small{font-size:8px;letter-spacing:.13em;color:var(--muted);font-weight:750}.mode-body strong{font-size:clamp(20px,2.5vw,34px);font-weight:850;line-height:1.05;letter-spacing:-.04em}.mode-body>span{font-size:12px;color:#b1c7d0;line-height:1.6}.mode-arrow{position:absolute;right:20px;top:18px;font-size:27px;color:var(--cyan)}.lock-badge{position:absolute;right:16px;top:20px;font-size:8px;border:1px solid #4b616c;padding:4px 7px;border-radius:5px;letter-spacing:.1em}
/* Seleção: arte viva e opções em regiões fixas. */
.character-screen{gap:14px}.selection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1.1fr);gap:22px;flex:1;min-height:0}.preview-side{position:relative;min-height:0;overflow:hidden;border:1px solid #315864;border-radius:16px;background:#102632}.preview-side canvas{position:absolute;inset:0 0 75px;height:calc(100% - 75px)}.preview-badge{position:absolute;top:14px;left:16px;border:1px solid #67c8b975;background:#143535d9;color:var(--cyan);font-size:9px;padding:6px 9px;border-radius:6px;font-weight:750;letter-spacing:.13em}.preview-caption{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(0deg,#0b1728 65%,#0b1728ee)}.preview-caption>span{font-size:9px;color:var(--cyan);letter-spacing:.06em;display:block}.preview-caption strong{font-size:clamp(24px,3vw,42px);font-weight:900;letter-spacing:-.045em;display:block;line-height:1.1;margin:3px 0 6px}.preview-caption p{font-size:10px;color:#a8c1ca;max-width:400px}.preview-caption small{font-size:7px;color:#6e8b99;letter-spacing:.1em;display:block;margin-top:8px}.choices-side{display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}.player-tabs{display:grid;grid-template-columns:1fr 25px 1fr;gap:7px;align-items:center;flex-shrink:0}.player-tabs button{text-align:left;min-height:54px;padding:8px 14px;border-radius:10px}.player-tabs button.active{border-color:var(--cyan);background:#153d41}.player-tabs span:not(.versus){display:block;font-size:8px;letter-spacing:.10em;color:#9bbec6}.player-tabs strong{font-size:19px;display:block;line-height:1.2}.versus{color:var(--gold);font-size:10px;font-weight:900;text-align:center}.filters{display:flex;gap:6px;flex-shrink:0}.filters button{min-height:34px;padding:5px 12px;font-size:10px;border-radius:6px;background:transparent;border-color:transparent;color:#9fbcc8}.filters button.active{color:var(--cyan);background:#203a44;border-color:#47717a}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(70px,1fr));gap:8px;min-height:0;flex:1;max-height:270px}.roster-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:7px 9px;border-radius:8px;text-align:left;min-height:0;background:#132632}.roster-card.current{border-color:var(--cyan);box-shadow:inset 0 -3px var(--cyan)}.roster-card img{position:absolute;inset:0 0 0 auto;height:100%;width:68%;object-fit:cover;pointer-events:none;opacity:.78}.roster-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1928,transparent 83%);pointer-events:none}.roster-card strong,.roster-card small{position:relative;z-index:1}.roster-card strong{font-size:13px;line-height:1.15;text-shadow:0 2px 4px #09101a}.roster-card small{font-size:8px;color:#b5cdd4;line-height:1.3;margin-top:3px}.roster-card .planned{position:absolute;top:6px;left:7px;font-size:6px;letter-spacing:.08em;color:#8fa9b4;z-index:1}.roster-card .placeholder{position:absolute;right:12px;top:2px;font-size:36px;color:#365464;font-weight:900}.fighter-detail{flex-shrink:0}.skin-options{display:flex;gap:6px;margin-top:5px}.skin-options button{font-size:9px;padding:5px 9px;min-height:36px;flex:1;border-radius:6px}.skin-options button.active{background:#234642;border-color:#66b6a9;color:var(--cyan)}.selector-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0}label{min-width:0}.selector-row label,.stage-random label{font-size:9px;color:#a2bec8}select{min-height:44px;background:#0e2431;border:1px solid #3c5c69;border-radius:8px;color:var(--text);padding:7px 10px;max-width:100%;width:100%;font-size:12px;display:block;margin-top:4px}
/* Mapas: prévia real do conteúdo pronto; futuro nunca se passa por jogável. */
.maps-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(235px,1fr);gap:20px;flex:1;min-height:0}.stage-preview-box{position:relative;min-height:0;border-radius:16px;overflow:hidden;border:1px solid #335d68}.stage-preview-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#081828, #081828e5 80%,transparent);padding:30px 22px 17px}.stage-preview-caption h3{font-size:clamp(25px,3.5vw,42px);letter-spacing:-.04em;line-height:1.2;margin:6px 0}.stage-preview-caption p{font-size:11px;color:#afc8cf}.stage-selection{min-height:0;display:flex;flex-direction:column;gap:14px}.stage-cards{display:grid;grid-template-rows:repeat(3,minmax(65px,1fr));gap:9px;flex:1;min-height:0}.stage-card{position:relative;text-align:left;padding:12px 14px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.stage-card.current{border-color:var(--cyan)}.stage-card.previewing{outline:1px solid #efd09b;outline-offset:-4px}.stage-card canvas{position:absolute;inset:0;opacity:.42}.stage-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102331c9,#10233122)}.stage-card strong,.stage-card small{position:relative;z-index:1}.stage-card strong{font-size:15px;line-height:1.2}.stage-card small{color:var(--cyan);font-size:8px;margin-top:6px}.stage-card.future small{color:var(--gold)}.stage-random{flex-shrink:0}.stage-random p{font-size:9px;color:#7d9dab;margin-top:8px}.stage-random select{font-size:10px;opacity:.6}
/* Arena usa a viewport inteira, sem aspect-ratio fixando a largura. */
.arena-screen{inset:0;touch-action:none;background:#0c1c29}#stage-wrap{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}#arena{display:block;width:100%;height:100%;touch-action:none}body[data-screen=arena] #chrome{background:linear-gradient(0deg,#08131d10,#08131dcf);border:0}body[data-screen=arena] .chrome-caption{font-size:8px}body[data-screen=arena] #help-open{display:none}.hud{position:absolute;top:calc(var(--chrome) + env(safe-area-inset-top,0px) + 9px);left:max(18px,env(safe-area-inset-left,0px));right:max(18px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:1fr 76px 1fr;gap:18px;pointer-events:none;filter:drop-shadow(0 2px 3px #061019cc)}.hud-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.hud-label b{font-size:clamp(15px,2vw,27px);font-style:italic;font-weight:850;line-height:1;letter-spacing:.02em}.hud-label>span{font-size:8px;color:#d5e6e9;letter-spacing:.09em}.p2 .hud-label{flex-direction:row-reverse}.health{height:17px;padding:3px;border:1px solid #a5c3cba0;transform:skew(-8deg);background:#060f18c7}.health div{height:100%;width:100%;background:linear-gradient(90deg,#bcf5d7,#68dacb);transition:width .06s linear}.p2 .health{transform:skew(8deg)}.p2 .health div{background:linear-gradient(90deg,#c88e5d,#ffda9d);margin-left:auto}.hud-bottom{display:flex;justify-content:space-between;align-items:center;margin:3px 0;color:#accad3;font-size:9px}.hud-bottom span:first-child{color:var(--cyan);font-size:12px;letter-spacing:3px}.p2 .hud-bottom{flex-direction:row-reverse}.p2 .hud-bottom span:first-child{color:var(--gold)}.energy{height:5px;width:67%;background:#060f18b3;border:1px solid #78909d55}.energy div{height:100%;background:#68f2df;width:0%}.p2 .energy{margin-left:auto}.p2 .energy div{background:#efc17d;margin-left:auto}.hud-fighter>small{font-size:7px;color:#b2cbd0;letter-spacing:.07em;display:block;margin-top:3px}.p2>small{text-align:right}.timer{text-align:center}.timer strong{font:900 clamp(27px,4vw,48px)/1 system-ui;letter-spacing:-.04em;color:#eef9f4;display:block}.timer>span{display:block;font-size:7px;color:#a4c2cc;letter-spacing:.12em;margin-top:8px}.arena-mode{position:absolute;top:calc(var(--chrome) + env(safe-area-inset-top,0px) + 86px);left:50%;transform:translateX(-50%);font-size:7px;letter-spacing:.11em;color:#b9d1d8;background:#0b1a2866;padding:4px 8px;border-radius:5px;white-space:nowrap;pointer-events:none}#portrait-hint{display:none}.arena-bottom{position:absolute;bottom:35px;left:15%;right:15%;display:flex;justify-content:center;gap:15px;font-size:8px;color:#9ab7c6;pointer-events:none}.desktop-controls{position:absolute;bottom:10px;left:20px;right:20px;display:flex;justify-content:center;gap:20px;font-size:10px;color:#bdd1d7;pointer-events:none}kbd{font-size:9px;background:#183441;border:1px solid #4a6570;border-radius:4px;padding:2px 5px}.show-touch .desktop-controls{display:none}.show-touch .arena-bottom{bottom:7px;font-size:7px}.show-touch #performance{display:none}#touch-controls{display:none;position:absolute;inset:0;pointer-events:none;--button-size:clamp(44px,min(calc(55px * var(--control-scale)),13vw),68px);--stick-size:clamp(96px,min(calc(136px * var(--control-scale)),31vw),166px)}.show-touch #touch-controls{display:block}.control-shade{position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(0deg,#06111a70,transparent);pointer-events:none}.joystick-wrap{position:absolute;bottom:max(25px,env(safe-area-inset-bottom,0px));left:max(25px,env(safe-area-inset-left,0px));width:var(--stick-size);height:var(--stick-size);opacity:var(--control-opacity)}.joystick{position:relative;width:100%;height:100%;border:1px solid #a8ebe270;background:radial-gradient(circle,#49878120,#0b253888);border-radius:50%;touch-action:none;pointer-events:auto;box-shadow:inset 0 0 0 8px #558b9410,0 6px 22px #020c1540}.stick-rings{position:absolute;inset:15%;border:1px solid #9cc7d039;border-radius:50%;pointer-events:none}.stick-axis{position:absolute;background:#a3cfd329;pointer-events:none}.axis-x{top:50%;height:1px;left:8%;right:8%}.axis-y{left:50%;width:1px;top:8%;bottom:8%}.stick-thumb{position:absolute;left:calc(50% - 20%);top:calc(50% - 20%);width:40%;height:40%;border-radius:50%;border:1px solid #c1f6edb3;background:radial-gradient(circle at 30% 20%,#609c9d,#244554);box-shadow:0 5px 15px #03101f90;pointer-events:none;transform:translate(0px,0px)}.stick-thumb i{position:absolute;inset:34%;border-radius:50%;border:1px solid #b1e4e580;background:#8ce2d833}.joystick.active{border-color:#a7ffe8;background:#356e794a;box-shadow:0 0 24px #72e1d21c}.stick-caption{position:absolute;top:calc(100% + 6px);left:-10px;right:-10px;text-align:center;white-space:nowrap;font-size:6px;letter-spacing:.07em;color:#9ebdca}.actions{position:absolute;right:max(25px,env(safe-area-inset-right,0px));bottom:max(25px,env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,var(--button-size));grid-template-rows:repeat(2,var(--button-size));gap:7px;opacity:var(--control-opacity)}.actions button{pointer-events:auto;touch-action:none;padding:0;font-size:10px;border-radius:18px;border:1px solid #aac9d66b;background:#132f4399;color:#edfafa;backdrop-filter:blur(3px);min-height:44px;min-width:44px;transition:none;font-weight:800}.actions .guard{grid-row:2;grid-column:1;background:#314b6099}.actions .light{grid-row:2;grid-column:2}.actions .heavy{grid-row:2;grid-column:3}.actions .special{grid-row:1;grid-column:2;color:#a1ffe6;border-color:#81e8d89c}.actions .super{grid-row:1;grid-column:3;color:#ffe3b0;border-color:#f0c89c88;font-size:9px}.actions .jump{grid-row:1;grid-column:1;font-size:9px}.actions button.pressed{background:#51888fae;border-color:#e0fff6;box-shadow:0 0 12px #9df5e340}.left-handed .joystick-wrap{left:auto;right:max(25px,env(safe-area-inset-right,0px))}.left-handed .actions{right:auto;left:max(25px,env(safe-area-inset-left,0px))}
/* Camadas locais: todas dentro da mesma viewport. */
.overlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center;padding:12px;background:#04101bc7;backdrop-filter:blur(5px)}.modal-card{width:min(520px,100%);max-height:100%;padding:24px;border:1px solid #4a6977;background:linear-gradient(145deg,#183640,#101e30);border-radius:18px;overflow:hidden}.modal-card h2{font-size:31px;margin:10px 0}.modal-card p{font-size:11px;color:#a3c0cc}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.modal-actions button{font-size:11px}.modal-actions .primary{grid-column:1/-1}dialog{padding:22px;background:linear-gradient(130deg,#19343e,#102131);border:1px solid #587582;border-radius:17px;color:var(--text);width:min(570px,calc(100% - 24px));max-height:calc(var(--viewport-height,100dvh) - 24px);overflow:hidden}dialog::backdrop{background:#04101ccb;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.dialog-heading h2{font-size:25px}.settings-tabs{display:flex;gap:6px;margin-bottom:15px}.settings-tabs button{flex:1;font-size:11px;padding:6px;min-height:44px;background:#102532}.settings-tabs .active{border-color:var(--cyan);color:var(--cyan);background:#23463e}.settings-page{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-items:center;min-height:165px}.setting-field{display:block;color:#c2d7df;font-size:11px;min-width:0}.setting-field output{font-size:10px;float:right;color:var(--cyan)}.setting-field input{display:block;width:100%;accent-color:var(--cyan);min-height:36px;margin:2px 0 0}.setting-field select{font-size:11px}.check-setting{display:flex;align-items:center;gap:10px;min-height:44px;font-size:11px;color:#d2e3e6;cursor:pointer}.check-setting input{accent-color:var(--cyan);height:20px;width:20px;flex-shrink:0}.settings-page>button{font-size:11px;padding:8px}.dialog-note{font-size:10px;color:#99b9c6;grid-column:1/-1;line-height:1.6}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.dialog-footer button{min-width:130px;font-size:12px}.help-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.help-nav button{font-size:11px}.help-nav span{font-size:10px;color:var(--muted)}#help-content{min-height:140px;color:#bfd3dc;font-size:13px;line-height:1.7}#help-content h3{font-size:18px;color:var(--cyan);margin-bottom:10px}#help-content p+p{margin-top:10px}#toast{position:absolute;z-index:120;bottom:max(15px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid #78bcba80;border-radius:10px;background:#102c38f5;color:#e5f6f4;font-size:12px;max-width:min(520px,92%);box-shadow:0 6px 24px #02091266;pointer-events:none;text-align:center}
@media(max-width:1050px){:root{--pad:22px}.page-screen{gap:14px;padding-top:14px}.page-heading h2{font-size:30px}.selection-layout{gap:16px;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr)}.roster-grid{gap:6px;max-height:230px}.preview-caption{padding:13px}.preview-caption p{font-size:9px}.selection-footer>span{font-size:9px}.selection-footer button{font-size:11px}.mode-body>span{font-size:11px}.chrome-caption{font-size:8px}.maps-layout{gap:14px;grid-template-columns:1.6fr minmax(215px,1fr)}}
@media(orientation:portrait){:root{--chrome:58px;--pad:16px}.chrome-caption{display:none}.chrome-left{gap:6px}.brand b{font-size:14px}.chrome-actions{gap:4px}.button-word{display:none}.chrome-button{width:44px;justify-content:center;padding:0}.page-screen{gap:13px;padding-top:15px;padding-bottom:max(13px,env(safe-area-inset-bottom,0px))}.page-heading h2{font-size:31px}.page-heading p{font-size:11px}.splash-shade{background:linear-gradient(0deg,#06131b,#06131bed 25%,#06131b14 68%)}.start-surface{align-items:flex-end;padding:0 25px 13vh}.splash-copy{margin:0}.splash h1{font-size:clamp(65px,17vw,125px);margin:16px 0 13px}.splash p{font-size:13px}.tap-call{font-size:10px;letter-spacing:.08em;margin-top:22px}.splash-copy>.eyebrow{font-size:8px}.splash-footer{display:block;font-size:7px;line-height:1.7;bottom:15px}.splash-footer span{display:block}.mode-cards{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(95px,1fr));gap:12px;max-height:600px}.mode-card{display:grid;grid-template-columns:66px 1fr;align-items:center;gap:16px;padding:19px;border-radius:14px}.mode-symbol{font-size:48px;margin:0}.mode-body{max-width:none;gap:5px}.mode-body strong{font-size:26px}.mode-body>span{font-size:11px;line-height:1.4}.mode-body small{font-size:7px}.mode-arrow{font-size:19px;right:12px;top:9px}.lock-badge{font-size:6px;right:10px;top:8px}.page-footer>span{font-size:9px;max-width:60%}.character-screen{gap:10px;padding-top:9px}.character-screen .page-heading .eyebrow{font-size:8px}.character-screen .page-heading h2{font-size:24px}.selection-layout{display:flex;flex-direction:column;gap:9px}.preview-side{flex:1;min-height:100px;border-radius:11px}.preview-side canvas{inset:0 auto 0 0;width:49%;height:100%}.preview-badge{top:8px;left:8px;font-size:7px;padding:4px 6px}.preview-caption{left:49%;padding:10px 12px 10px 2px;top:0;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#0b172822,#0b1728)}.preview-caption strong{font-size:31px}.preview-caption>span{font-size:8px}.preview-caption p{font-size:9px;line-height:1.45}.preview-caption small{font-size:6px}.choices-side{gap:6px;flex-shrink:0}.player-tabs{gap:5px;grid-template-columns:1fr 22px 1fr}.player-tabs button{min-height:46px;padding:5px 10px}.player-tabs strong{font-size:17px}.filters button{min-height:32px;padding:4px 10px;font-size:9px}.roster-grid{grid-template-rows:repeat(2,64px);gap:5px;flex:none;max-height:none}.roster-card{padding:6px}.roster-card strong{font-size:11px}.roster-card small{font-size:7px}.roster-card img{width:62%}.roster-card .planned{font-size:5px}.skin-options{margin-top:4px;gap:4px}.skin-options button{min-height:36px;font-size:8px;padding:5px}.small-label{font-size:7px}.selector-row{gap:8px}.selector-row label{font-size:8px}select{font-size:10px;margin-top:3px;padding:6px;min-height:40px}.selection-footer{gap:7px;flex-wrap:wrap}.selection-footer>span{max-width:none;flex-basis:100%;font-size:8px;line-height:1.2}.selection-footer button{flex:1;min-width:0;font-size:11px}.selection-footer .primary{min-width:0;flex:1.9}.maps-layout{display:flex;flex-direction:column;gap:12px}.stage-preview-box{flex:1;min-height:130px}.stage-preview-caption{padding:22px 15px 13px}.stage-preview-caption h3{font-size:28px}.stage-preview-caption p{font-size:10px}.stage-preview-caption .eyebrow{font-size:8px}.stage-selection{flex-shrink:0;gap:9px}.stage-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:100px;gap:6px}.stage-card{padding:9px 7px}.stage-card strong{font-size:12px}.stage-card small{font-size:6px;line-height:1.4}.stage-random{display:flex;gap:12px;align-items:center}.stage-random label{flex:1;font-size:8px}.stage-random p{flex:1;font-size:8px;line-height:1.4;margin:0}.stage-random select{font-size:9px}.hud{top:calc(var(--chrome) + env(safe-area-inset-top,0px) + 10px);left:12px;right:12px;grid-template-columns:1fr 50px 1fr;gap:10px}.hud-label{margin-bottom:5px}.hud-label b{font-size:14px}.hud-label>span{font-size:6px}.hud-bottom{font-size:7px;margin:3px 0}.hud-bottom span:first-child{font-size:10px}.health{height:13px;padding:2px}.timer strong{font-size:30px}.timer span{font-size:6px}.hud-fighter>small{font-size:6px}.arena-mode{top:calc(var(--chrome) + env(safe-area-inset-top,0px) + 87px);font-size:6px}#portrait-hint{display:block;position:absolute;bottom:190px;left:0;right:0;text-align:center;font-size:9px;color:#92afbe;pointer-events:none}#touch-controls .joystick-wrap{bottom:max(55px,env(safe-area-inset-bottom,0px));left:16px}#touch-controls .actions{bottom:max(55px,env(safe-area-inset-bottom,0px));right:16px;gap:5px}.left-handed #touch-controls .joystick-wrap{left:auto;right:16px}.left-handed #touch-controls .actions{right:auto;left:16px}.show-touch .arena-bottom{left:16px;right:16px;bottom:16px;font-size:7px;text-align:center;line-height:1.6;display:block}.control-shade{height:240px;background:linear-gradient(0deg,#06111ab5,transparent)}.modal-card{padding:21px}.modal-card h2{font-size:26px}.modal-actions{margin-top:18px}.modal-actions button{padding:8px;font-size:10px}.settings-page{gap:10px;min-height:180px}dialog{padding:18px}.check-setting{font-size:10px}.dialog-heading h2{font-size:24px}.dialog-note{font-size:10px}.settings-tabs{gap:5px}.setting-field{font-size:10px}}
@media(orientation:landscape) and (max-height:540px){:root{--chrome:46px;--pad:18px}#chrome{padding-top:max(1px,env(safe-area-inset-top,0px));padding-bottom:1px;min-height:46px}.brand b{font-size:13px}.brand small{font-size:5px}.chrome-caption{font-size:7px}.chrome-left{gap:10px}.chrome-actions{gap:4px}.icon-button{font-size:18px;background:#13273188}.chrome-button{padding:0 9px}.button-word{font-size:9px}.page-screen{padding-top:7px;padding-bottom:8px;gap:8px}.page-heading h2{font-size:24px;margin:3px 0 0}.page-heading p{display:none}.eyebrow{font-size:8px}.page-footer{font-size:9px}.page-footer button{font-size:10px}.mode-cards{gap:10px}.mode-card{padding:17px;gap:10px;border-radius:13px}.mode-symbol{font-size:45px}.mode-body{gap:5px}.mode-body strong{font-size:23px}.mode-body>span{font-size:9px;line-height:1.4}.mode-body small{font-size:6px}.mode-arrow{font-size:20px;right:12px;top:12px}.splash h1{font-size:clamp(45px,9vw,84px);margin:13px 0}.splash p{font-size:12px}.tap-call{font-size:9px;margin-top:19px}.splash-footer{font-size:6px;bottom:10px}.selection-layout{grid-template-columns:minmax(200px,.8fr) minmax(310px,1.2fr);gap:15px}.choices-side{gap:4px}.player-tabs{gap:4px;grid-template-columns:1fr 22px 1fr}.player-tabs button{min-height:44px;padding:4px 9px}.player-tabs strong{font-size:15px}.player-tabs span:not(.versus){font-size:6px}.filters{gap:4px}.filters button{min-height:27px;padding:3px 9px;font-size:9px}.roster-grid{grid-template-rows:repeat(2,minmax(43px,1fr));gap:4px;max-height:none;flex:1}.roster-card{padding:5px}.roster-card strong{font-size:10px}.roster-card small{font-size:6px;margin-top:2px}.roster-card .planned{font-size:5px;top:3px;left:5px}.roster-card .placeholder{font-size:25px}.fighter-detail .small-label{display:none}.skin-options{margin:0;gap:4px}.skin-options button{min-height:29px;font-size:8px;padding:3px}.selector-row{gap:8px}.selector-row label{font-size:7px}.selector-row select{min-height:31px;padding:3px 6px;font-size:10px;margin-top:2px}.selection-footer{gap:8px}.selection-footer>span{font-size:8px;max-width:48%}.selection-footer button{min-height:44px;padding:6px 12px;font-size:10px}.selection-footer .primary{min-width:160px}.preview-side canvas{height:calc(100% - 48px);bottom:48px}.preview-badge{top:7px;left:8px;font-size:7px;padding:4px 6px}.preview-caption{padding:8px 11px}.preview-caption strong{font-size:25px;margin:2px 0 3px}.preview-caption>span{font-size:8px}.preview-caption p{font-size:8px;line-height:1.3}.preview-caption small{display:none}.maps-layout{gap:13px;grid-template-columns:1.7fr minmax(235px,1fr)}.stage-selection{gap:7px}.stage-cards{gap:6px;grid-template-rows:repeat(3,minmax(40px,1fr))}.stage-card{padding:7px 10px}.stage-card strong{font-size:12px}.stage-card small{font-size:6px;margin-top:3px}.stage-random p{display:none}.stage-random select{min-height:32px;font-size:9px;margin-top:2px}.stage-preview-caption{padding:25px 16px 10px}.stage-preview-caption h3{font-size:28px;margin:3px 0}.stage-preview-caption p{font-size:9px}.hud{top:calc(48px + env(safe-area-inset-top,0px));left:max(17px,env(safe-area-inset-left,0px));right:max(17px,env(safe-area-inset-right,0px));grid-template-columns:1fr 58px 1fr;gap:15px}.hud-label b{font-size:16px}.hud-label span{font-size:6px}.hud-label{margin-bottom:4px}.health{height:12px;padding:2px}.hud-bottom{margin:2px 0;font-size:7px}.hud-bottom span:first-child{font-size:10px}.energy{height:4px}.hud-fighter>small{font-size:6px;margin-top:2px}.timer strong{font-size:31px}.timer span{font-size:6px;margin-top:4px}.arena-mode{top:91px;font-size:6px;background:transparent}.show-touch .arena-bottom{font-size:6px;bottom:6px;left:24%;right:24%;text-align:center}#touch-controls{--stick-size:clamp(96px,calc(122px * var(--control-scale)),29vh);--button-size:clamp(44px,calc(48px * var(--control-scale)),16vh)}.joystick-wrap{bottom:20px;left:20px}.actions{bottom:20px;right:20px;gap:5px}.actions button{font-size:8px;border-radius:14px}.actions .super,.actions .jump{font-size:8px}.left-handed .joystick-wrap{right:20px}.left-handed .actions{left:20px}.modal-card{padding:15px 20px;max-width:490px}.modal-card h2{font-size:24px;margin:6px 0}.modal-card p{font-size:9px}.modal-actions{margin-top:12px;gap:6px}.modal-actions button{min-height:44px;padding:5px 10px;font-size:10px}.modal-actions .primary{grid-column:auto}dialog{padding:12px 16px;width:min(620px,calc(100% - 24px));max-height:calc(var(--viewport-height) - 16px)}.dialog-heading{margin-bottom:6px}.dialog-heading h2{font-size:22px}.settings-tabs{margin-bottom:8px}.settings-tabs button{min-height:35px}.settings-page{min-height:90px;gap:5px 15px;grid-template-columns:1fr 1fr 1fr}.settings-page .setting-field{font-size:9px}.setting-field input{min-height:29px}.setting-field select{min-height:35px;font-size:10px}.check-setting{font-size:9px;min-height:44px;gap:7px}.settings-page .dialog-note{font-size:8px;margin:0;grid-column:1/-1}.settings-page>button{font-size:9px}.dialog-footer{margin-top:7px}.dialog-footer button{min-height:39px;font-size:11px}.help-nav{margin-top:8px}#help-content{min-height:90px;font-size:11px;line-height:1.5}#help-content h3{font-size:17px;margin-bottom:6px}#help-content p+p{margin-top:5px}}
@media(orientation:portrait) and (max-height:710px){:root{--chrome:49px}#chrome{min-height:49px;padding-top:2px;padding-bottom:2px}.page-screen{gap:8px;padding-top:8px}.page-heading h2{font-size:25px}.page-heading>.eyebrow{font-size:7px}.mode-cards{gap:9px;grid-template-rows:repeat(3,minmax(84px,1fr))}.mode-card{padding:13px;grid-template-columns:52px 1fr;gap:12px}.mode-symbol{font-size:41px}.mode-body strong{font-size:23px}.mode-body>span{font-size:10px}.character-screen .page-heading h2{font-size:21px}.character-screen .page-heading .eyebrow{display:none}.preview-side{min-height:72px}.preview-caption p,.preview-caption small{display:none}.preview-caption strong{font-size:26px}.preview-caption>span{font-size:7px}.preview-badge{font-size:6px;top:6px;left:6px;padding:3px}.choices-side{gap:4px}.roster-grid{grid-template-rows:repeat(2,52px);gap:4px}.roster-card strong{font-size:10px}.roster-card small{font-size:6px}.player-tabs button{min-height:42px}.player-tabs strong{font-size:15px}.filters button{min-height:28px}.fighter-detail .small-label{display:none}.skin-options{margin:0}.skin-options button{min-height:30px}.selector-row select{min-height:36px}.selection-footer>span{font-size:7px}.selection-footer button{font-size:10px}.selection-footer{gap:5px}.stage-cards{grid-template-rows:85px}.stage-random p{font-size:7px}.stage-random select{min-height:34px;font-size:8px}#portrait-hint{bottom:165px;font-size:8px}.show-touch .arena-bottom{font-size:6px;bottom:10px}#touch-controls .joystick-wrap,#touch-controls .actions{bottom:38px}.splash h1{font-size:65px}.start-surface{padding-bottom:12vh}.tap-call{font-size:9px;margin-top:16px}.settings-page{min-height:145px}.dialog-heading h2{font-size:23px}}
@media(max-width:350px){:root{--pad:12px}.chrome-left{gap:3px}.chrome-actions{gap:2px}.brand small{display:none}.brand b{font-size:12px}#chrome{padding-left:8px;padding-right:8px}.roster-card small{display:none}.preview-caption strong{font-size:24px}.selector-row label{font-size:7px}.skin-options button{font-size:7px}.selection-footer button{font-size:10px}.stage-card strong{font-size:11px}.hud-label span{display:none}.hud-label b{font-size:12px}.hud{gap:6px;grid-template-columns:1fr 44px 1fr}#touch-controls .joystick-wrap{left:13px}#touch-controls .actions{right:13px}.left-handed #touch-controls .joystick-wrap{right:13px}.left-handed #touch-controls .actions{left:13px}.actions button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Correções validadas de ocupação: nenhuma região é sacrificada à rolagem. */
@media(orientation:landscape) and (min-height:541px){.preview-side canvas{bottom:132px;height:calc(100% - 132px)}}
@media(orientation:landscape) and (max-height:540px){.preview-side canvas{bottom:83px;height:calc(100% - 83px)}.roster-grid{min-height:90px}}
@media(orientation:landscape) and (max-height:420px){.character-screen .page-heading{display:none}.character-screen{padding-top:8px}.choices-side{gap:5px}.preview-side canvas{bottom:83px;height:calc(100% - 83px)}}
@media(orientation:landscape) and (max-height:350px){.choices-side .filters{display:none}.roster-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(52px,1fr);min-height:52px}.roster-card small{display:none}.roster-card strong{font-size:8px}.choices-side{gap:4px}.preview-caption p{display:none}.preview-side canvas{bottom:60px;height:calc(100% - 60px)}.page-heading h2{font-size:21px}.page-heading>.eyebrow{font-size:7px}}

/* RF-EXEC-0003: módulos de treino e replay, sem rolagem do documento. */
.page-footer #replay-open{margin-left:auto;white-space:nowrap}.page-footer #mode-help{margin-left:0;white-space:nowrap}.training-top{font-size:11px;font-weight:850;color:var(--cyan)}
.stage-random #map-roll{min-height:44px;width:100%;font-size:11px;margin-top:7px;padding:6px}.skin-options button{white-space:normal}.stage-random #map-policy-note{font-size:10px;line-height:1.35}
.training-meter{position:absolute;z-index:5;left:50%;top:158px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;background:#07121ccb;border:1px solid #3b606a;border-radius:9px;padding:7px 12px;pointer-events:none;font-size:8px;white-space:nowrap;color:#a3bcc5}.training-meter b{font-size:12px;color:#ecf9ec;margin-left:5px}.phase-chip{padding:4px 6px;border:1px solid #608883;border-radius:4px;color:#b4eace;font-size:8px}.phase-chip[data-phase="startup"]{color:#ffd08a}.phase-chip[data-phase="active"]{color:#99ffd7}.phase-chip[data-phase="recovery"]{color:#ffb1a4}.training-settings{display:grid;gap:8px}.training-settings .dialog-note{margin:5px 0;font-size:11px}.training-settings .check-setting{min-height:40px}.training-settings .setting-field{margin:0}
.replay-active #touch-controls,.replay-active .desktop-controls,.replay-active #portrait-hint,.replay-active .arena-bottom{display:none!important}.replay-bar{position:absolute;z-index:10;bottom:max(14px,env(safe-area-inset-bottom,0px));left:max(14px,env(safe-area-inset-left,0px));right:max(14px,env(safe-area-inset-right,0px));background:#0d2235ee;border:1px solid #4a6d77;border-radius:13px;padding:10px 12px}.replay-bar-main{display:flex;gap:8px;align-items:center}.replay-bar button{font-size:11px;padding:6px 12px;min-width:44px}.replay-bar select{background:#14313f;color:#e2f4ed;border:1px solid #436371;border-radius:8px;min-height:44px;padding:4px 8px;font-size:12px}.replay-bar input{min-width:20px;flex:1;width:50px;accent-color:var(--cyan);min-height:44px}.replay-bar-note{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:9px;color:#9bb5c5}.replay-bar-note #replay-time{font-variant-numeric:tabular-nums;white-space:nowrap}.replay-intro{display:grid;gap:15px;padding:8px 0}.replay-intro p{font-size:12px;color:#aec8d1;line-height:1.6}#replay-import-status{padding:12px;border:1px solid #3d616b;border-radius:10px;color:#a9f4d9;overflow-wrap:anywhere}#replay-import-status.error{color:#ffc1a4;border-color:#9f725e}
@media(orientation:portrait){.training-meter{top:143px;gap:7px;padding:5px 7px}.training-meter b{font-size:11px}.training-meter>span{font-size:7px}.replay-bar-main{gap:5px;flex-wrap:wrap}.replay-bar input{flex-basis:45%;order:5;width:100%}.replay-bar-note{font-size:8px}.page-footer{gap:7px}.page-footer>span{font-size:9px}.page-footer button{padding:6px 10px}}
@media(orientation:landscape) and (max-height:450px){.training-meter{top:120px;padding:4px 9px;font-size:7px}.training-meter b{font-size:10px}.stage-random #map-policy-note{display:none}.stage-random #map-roll{margin-top:4px}.replay-bar{bottom:8px;padding:6px 9px}.replay-bar-note{font-size:8px}.training-settings{grid-template-columns:1fr 1fr;gap:6px 12px}.training-settings .dialog-note{font-size:9px;line-height:1.5}.training-settings .setting-field{font-size:10px}.training-settings select{min-height:44px}.replay-intro{gap:7px;padding:0}.replay-intro p{font-size:10px;line-height:1.5}.replay-intro>p:nth-of-type(2){display:none}.replay-intro #replay-import-status{padding:7px}}
@media(max-width:370px){.chrome-left{gap:5px}.chrome-actions{gap:3px}.training-top{width:38px}.training-meter{gap:5px;padding:5px}.phase-chip{font-size:7px}.replay-bar button{padding:5px 8px}.page-footer>span{display:none}}
/* Barra de reprodução: a duração ocupa o espaço, não o seletor de velocidade. */
.replay-bar-main{display:grid;grid-template-columns:44px 48px minmax(60px,1fr) 48px 72px 60px}.replay-bar-main input{width:100%;min-width:0;order:0}.replay-bar-main select{width:100%;min-width:0}.replay-bar button{padding:5px 7px}.stage-random select{opacity:1}.actions .super.charged{border-color:#ffe0a0;background:#6a543bb8;box-shadow:0 0 16px #f3c58345;color:#fff1c3}
@media(orientation:portrait){.replay-bar-main{grid-template-columns:44px 44px 44px 62px minmax(44px,1fr);gap:5px}.replay-bar-main input{grid-column:1/-1;grid-row:2;order:0;width:100%}.replay-bar-note{font-size:7px}.replay-bar-main select{padding:4px;font-size:11px}}

/* Catálogo v0.4: acesso à lista de golpes sem sair da seleção. */
.selection-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.selection-tools .filters{margin:0;flex:1}.selection-tools #moves-open{font-size:11px;min-height:44px;padding:6px 12px}.move-card h3{font-size:24px;line-height:1.12;letter-spacing:-.035em;margin:12px 0}.move-card p{font-size:13px;line-height:1.5;color:#c1d2da;margin:12px 0}.move-stats{display:grid;gap:6px;padding:13px 15px;border:1px solid #385a64;border-radius:9px;background:#15333b;color:#a6f6df}.move-stats b{font-size:14px}.move-stats span{font-size:11px;color:#a0bdcb}.counter-label{display:block;font-size:10px;letter-spacing:.13em;color:#efc78c;margin:17px 0 0}#moves-dialog .help-nav{margin-top:14px}#moves-dialog{max-width:540px;overflow:hidden}
@media(max-height:500px) and (orientation:landscape){#moves-dialog{max-width:670px;padding:15px 20px}#moves-dialog .dialog-heading{margin-bottom:8px}#moves-dialog h2{font-size:19px}.move-card{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.move-card .eyebrow,.move-card h3,.move-card #move-description{grid-column:1}.move-card h3{font-size:22px;margin:6px 0}.move-card .move-stats{grid-column:2;grid-row:1/4;align-self:start;padding:9px 12px}.move-card .counter-label{grid-column:2;grid-row:4;margin:0}.move-card #move-answer{grid-column:2;grid-row:5;margin:6px 0}.move-card #move-description{grid-row:4/6;margin:0}.move-card p{font-size:11px}#moves-dialog .help-nav{margin-top:9px}.selection-tools #moves-open{min-height:36px;padding:5px 9px}}
@media(max-width:360px) and (orientation:portrait){.selection-tools #moves-open{padding:5px 8px;font-size:10px}.move-card h3{font-size:23px}.move-card p{font-size:12px}.move-stats{padding:10px 12px}}

/* Sala de qualificação: nenhuma rolagem da página e controles próprios por vaga. */
.online-screen{gap:14px}.online-heading h2{font-size:clamp(22px,3vw,36px)}.online-entry{display:grid;grid-template-columns:1fr 1fr;gap:36px;flex:1;min-height:0;align-items:center;max-width:1100px;width:100%;margin:auto}.online-explanation{max-width:460px}.network-glyph{font-size:70px;color:var(--cyan);line-height:1}.online-explanation h3{font-size:28px;line-height:1.15;margin:14px 0}.online-explanation p{color:var(--muted);font-size:12px;line-height:1.55;margin-top:12px}.online-form{display:grid;gap:15px;border:1px solid var(--line);padding:24px;border-radius:16px;background:#122735}.online-screen input,#online-invite-dialog input{width:100%;min-width:0;min-height:44px;border:1px solid #43606a;border-radius:8px;padding:8px 10px;background:#0a1923;color:var(--text);font-size:14px;user-select:text;-webkit-user-select:text}.online-form label{margin:0}.online-bottom{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:48px}.online-bottom p{font-size:11px;color:var(--muted);margin-right:auto;max-width:60%;line-height:1.3}.online-bottom button{font-size:12px;flex-shrink:0}.online-room{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}.online-members{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:10px}.online-member{padding:12px;border:1px solid var(--line);background:#102530;border-radius:10px;min-width:0;overflow:hidden;display:flex;align-items:center;gap:10px}.online-member img{width:48px;height:44px;object-fit:cover;background:#0b1924;border-radius:5px}.online-member strong,.online-member span,.online-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-member strong{font-size:15px}.online-member span{font-size:11px;color:#b5d1d5}.online-member small{font-size:9px;color:var(--cyan)}.online-member .member-copy{min-width:0}.online-room-tools{display:flex;justify-content:space-between;gap:8px}.online-room-tools .settings-tabs{margin:0}.online-room-tools button{font-size:12px}.online-room-content{flex:1;min-height:0;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.online-preview{min-height:0;position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b1a26}.online-preview strong{position:absolute;bottom:10px;left:12px;font-size:14px;text-shadow:0 2px 4px #000}.online-choices{min-height:0;display:flex;align-items:center}.online-choices>div{display:grid;width:100%;gap:12px}.online-choices .setting-field{margin:0}.online-small{font-size:11px;color:var(--muted);line-height:1.4}.online-randoms{display:flex;gap:8px}.online-randoms button{flex:1;padding:8px;font-size:11px}.connection-banner{position:absolute;top:125px;left:50%;transform:translateX(-50%);width:min(90%,650px);padding:9px 14px;background:#312814e8;border:1px solid #b88a45;border-radius:8px;font-size:12px;color:#ffe3b1;text-align:center;z-index:7}.online-active #pause-context{color:var(--gold)}
@media(max-width:600px) and (orientation:portrait){.online-screen{gap:10px;padding:12px 14px}.online-heading .eyebrow{font-size:9px}.online-entry{display:flex;flex-direction:column;gap:10px;justify-content:center}.online-explanation{width:100%}.network-glyph,.online-explanation h3,.online-explanation>p:first-of-type{display:none}.online-explanation p{font-size:11px;margin:0}.online-form{width:100%;padding:15px;gap:10px}.online-bottom{flex-wrap:wrap;gap:6px}.online-bottom p{width:100%;max-width:none;font-size:10px}.online-bottom button{flex:1;font-size:11px}.online-member{padding:7px;gap:6px}.online-member img{width:30px;height:34px}.online-member strong{font-size:12px}.online-member span{font-size:9px}.online-member small{font-size:8px}.online-members{gap:3px;grid-template-columns:1fr 22px 1fr}.online-room{gap:8px}.online-room-content{grid-template-columns:.9fr 1.1fr;gap:9px}.online-room-tools button{font-size:10px;padding:8px}.online-choices>div{gap:9px}.online-small{display:none}.online-choices .setting-field{font-size:10px}.online-choices select{font-size:11px;min-width:0}.online-choices button{font-size:10px;padding:8px}.online-randoms{flex-direction:column;gap:6px}.online-preview strong{font-size:11px;left:8px;bottom:8px}.connection-banner{top:118px;font-size:10px}}
@media(max-height:500px) and (orientation:landscape){.online-screen{padding:8px 18px;gap:7px}.online-heading{display:none}.online-entry{gap:20px;align-items:center}.network-glyph{display:none}.online-explanation h3{font-size:20px;margin:0}.online-explanation p{font-size:10px;margin-top:6px}.online-form{padding:10px;gap:6px;grid-template-columns:1fr 1fr;align-items:end}.online-form .setting-field{font-size:9px}.online-form button{font-size:10px;padding:8px}.online-screen input{font-size:12px}.online-bottom{min-height:44px;gap:8px}.online-bottom p{font-size:10px;max-width:65%}.online-bottom button{font-size:10px;padding:8px 12px}.online-room{gap:5px}.online-members{gap:5px;grid-template-columns:1fr 25px 1fr}.online-member{padding:4px 9px;gap:7px;min-height:44px}.online-member img{width:36px;height:32px}.online-member strong{font-size:12px}.online-member span,.online-member small{font-size:8px}.online-room-tools{position:absolute;top:58px;left:18px;right:18px;height:44px;pointer-events:none;z-index:2}.online-room-tools button{pointer-events:auto;font-size:10px;padding:8px 10px}.online-room-content{margin-top:48px;gap:12px;grid-template-columns:1fr 1.4fr}.online-choices>div{grid-template-columns:1fr 1fr;gap:6px}.online-choices button{font-size:10px;padding:7px;min-height:44px}.online-choices select{font-size:11px;min-height:44px;padding:7px}.online-choices .setting-field{font-size:9px}.online-small{display:none}.online-randoms{gap:5px}.online-preview strong{font-size:10px;bottom:4px}.online-room-content canvas{height:100%;width:100%}.connection-banner{top:100px;font-size:10px;padding:6px}}

/* RF-EXEC-0006: faixa extensível. Só o catálogo rola, nunca a viewport do jogo. */
.roster-carousel{display:flex;align-items:stretch;gap:7px;flex:1;min-height:100px;max-height:270px;min-width:0}
.roster-carousel .carousel-arrow{flex:0 0 36px;width:36px;min-width:36px;height:48px;align-self:center;padding:0;font-size:28px;background:#18303f}
.roster-carousel .roster-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max(105px,calc((100% - 14px)/3));grid-template-rows:minmax(0,1fr);gap:7px;flex:1;min-width:0;min-height:0;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;scrollbar-width:thin;scrollbar-color:#4e7e87 #101d2c;cursor:grab;scroll-padding:3px;padding:3px 2px 7px}
.roster-grid.dragging{cursor:grabbing}.roster-grid .roster-card{min-height:52px;min-width:0;touch-action:pan-x pinch-zoom}
.roster-grid .roster-card strong{font-size:13px;overflow-wrap:anywhere;position:relative;z-index:2;line-height:1.12}
.roster-grid .roster-card img{width:80%;height:100%;pointer-events:none;object-fit:cover}
.roster-status{font-size:9px;color:#93b4c1;letter-spacing:.04em;line-height:1.2;min-height:11px}
.selection-utility{display:flex;gap:5px;flex-shrink:0}.selection-utility button{font-size:11px;padding:8px 11px;min-height:40px}
#selection-options-dialog .selector-row{margin:14px 0 20px}#selection-options-dialog .selector-row label{font-size:12px}#selection-options-dialog .selector-row select{min-height:44px;font-size:13px}
.player-tabs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.hud-label b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-label>span{flex-shrink:0}
@media(orientation:portrait){.roster-carousel{flex:none;height:118px;min-height:82px;max-height:140px}.roster-carousel .roster-grid{flex:1;grid-template-rows:minmax(0,1fr);grid-auto-columns:max(96px,calc((100% - 12px)/3));gap:6px}.roster-grid .roster-card strong{font-size:11px}.roster-grid .roster-card small{font-size:7px}.selection-tools{gap:4px}.selection-utility button{font-size:10px;padding:6px 9px}.filters{margin:0}.filters button{padding:6px 9px}}
@media(orientation:portrait) and (max-height:710px){.roster-carousel{height:90px;min-height:76px}.roster-status{font-size:8px}.choices-side{gap:5px}.preview-side{min-height:85px}.selection-utility button{min-height:34px}.preview-caption strong{font-size:24px}}
@media(orientation:landscape) and (max-height:540px){.selection-layout{grid-template-columns:minmax(180px,.85fr) minmax(320px,1.4fr);gap:12px}.choices-side{gap:5px}.roster-carousel{min-height:68px;max-height:none}.roster-carousel .roster-grid{min-height:0;grid-template-rows:minmax(0,1fr);grid-auto-columns:max(101px,calc((100% - 12px)/3));gap:6px}.roster-grid .roster-card strong{font-size:11px}.roster-grid .roster-card small{font-size:7px}.selection-utility button{min-height:32px;font-size:9px;padding:5px 9px}.selection-tools .filters{display:flex}.selection-tools .filters button{min-height:32px;padding:4px 9px;font-size:9px}.roster-status{font-size:8px}.preview-caption strong{font-size:23px}.player-tabs strong{font-size:14px}.skin-options button{min-height:34px}.roster-carousel .carousel-arrow{min-height:44px;height:44px;flex-basis:32px;min-width:32px;width:32px}#selection-options-dialog .selector-row{margin:7px 0 12px}}
@media(orientation:landscape) and (max-height:350px){.roster-carousel{min-height:56px}.roster-status{display:none}.roster-grid .roster-card strong{font-size:10px}.roster-grid .roster-card small{display:none}.skin-options button{min-height:30px}.choices-side{gap:4px}.selection-tools .filters{display:flex}.preview-caption p{display:none}.preview-side canvas{bottom:60px;height:calc(100% - 60px)}.preview-caption{padding:7px 10px}.selection-footer>span{font-size:7px}}
/* RF-EXEC-0007: sala antes do elenco; diretório paginado, sem scroll de página. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.online-entry{display:grid;grid-template-columns:minmax(170px,.6fr) minmax(0,1.8fr);align-items:stretch;gap:24px;max-width:1400px;margin:0 auto}
.directory-identity{align-self:center;min-width:0}.directory-identity .online-small{display:block;margin:15px 0;max-width:290px}
.room-panel{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.directory-toolbar{display:flex;gap:8px;align-items:center;flex-shrink:0}.directory-toolbar button{font-size:12px;padding:10px 12px}.compact-field{margin:0;flex:1;min-width:90px}.compact-field select{width:100%;font-size:12px;min-width:0}
.room-list{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;flex:1;min-height:0}.directory-card{text-align:left;padding:14px;min-width:0;min-height:66px;background:linear-gradient(130deg,#15313b,#111f2c);display:flex;flex-direction:column;justify-content:center;gap:7px;overflow:hidden}.directory-card strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.directory-card span{font-size:11px;color:var(--cyan)}.directory-card small{font-size:10px;color:var(--muted)}.directory-empty{grid-column:1/-1;align-self:center;color:var(--muted);font-size:14px;line-height:1.6;padding:20px;border:1px dashed var(--line);border-radius:12px}
.directory-pagination{display:flex;align-items:center;gap:7px;flex-shrink:0}.directory-pagination button{padding:8px 12px;font-size:11px}.directory-pagination span{font-size:10px;min-width:65px}.directory-pagination input{width:140px;flex:1;max-width:260px;min-width:75px}
.room-create,.room-details{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:20px}.room-fields{display:grid;gap:12px;min-width:0}.room-fields small{font-size:10px;color:var(--muted)}.room-fields .setting-field{margin:0}.room-create h3{font-size:25px;margin:12px 0}.room-create .online-small,.room-details .online-small{display:block;margin:0}.room-detail-art{min-width:0;min-height:0;position:relative;align-self:stretch;max-height:360px;border-radius:13px;border:1px solid var(--line);overflow:hidden;background:#10232d}.room-detail-art canvas{width:100%;height:100%;display:block}.room-detail-art strong,.room-detail-art>span{position:absolute;left:10px;right:10px;padding:7px;background:#07131ed9;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.room-detail-art strong{bottom:37px;font-size:16px}.room-detail-art>span{bottom:5px;font-size:10px;color:var(--cyan)}
.online-room-tools{position:static;height:auto;pointer-events:auto;flex-shrink:0}.online-room-content{margin-top:0}.online-preview>small{position:absolute;left:12px;bottom:8px;right:8px;font-size:10px;color:var(--cyan);background:#0a172ac9;padding:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.online-preview>strong{bottom:36px}.audience-list{display:grid;gap:6px}.audience-row{display:flex;gap:10px;justify-content:space-between;padding:8px;border:1px solid var(--line);border-radius:6px;min-width:0}.audience-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audience-row span{font-size:10px;flex-shrink:0;color:var(--cyan)}.audience-pagination{display:flex;align-items:center;gap:6px}.audience-pagination button{font-size:11px;padding:8px}.audience-pagination span{font-size:10px}.audience-pagination #online-queue{margin-left:auto}.online-choices #online-audience-panel{grid-template-columns:1fr;gap:8px}
.spectator-active #touch-controls,.spectator-active .desktop-controls{display:none!important}#spectator-bar{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#0a192be8;border:1px solid #4d7989;border-radius:12px;padding:8px 12px;z-index:6;max-width:95%;white-space:nowrap}#spectator-bar strong{font-size:11px;color:var(--cyan)}#spectator-bar button{font-size:11px;padding:8px}.spectator-active .arena-bottom{bottom:80px!important}
@media(max-width:700px) and (orientation:portrait){.online-entry{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px;width:100%}.directory-identity{display:flex;align-items:center;gap:12px;align-self:stretch}.directory-identity .setting-field{width:100%;margin:0}.directory-identity .online-small{display:none}.online-heading h2{font-size:23px}.room-panel{gap:8px}.directory-toolbar{flex-wrap:wrap;gap:6px}.directory-toolbar button{font-size:11px}.directory-card{padding:9px;gap:7px;min-height:68px}.directory-card strong{font-size:13px}.directory-card span,.directory-card small{font-size:9px}.directory-pagination{gap:3px}.directory-pagination input{font-size:10px;padding:7px;min-width:55px}.directory-pagination button{padding:7px 9px}.directory-pagination span{font-size:9px;min-width:48px}.room-list{gap:6px}.room-create{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:10px;align-content:start}.room-create h3{font-size:20px;margin:5px 0}.room-create .eyebrow{display:none}.room-fields{gap:9px}.room-fields small{font-size:9px}.room-details{grid-template-columns:1fr;grid-template-rows:minmax(70px,.65fr) minmax(0,1fr);gap:8px;align-items:stretch}.room-detail-art{max-height:none}.room-details .room-fields{grid-template-columns:1fr 1fr;align-content:center;gap:8px}.room-details #room-detail-members,.room-details #room-detail-count,.room-details .check-setting{grid-column:1/-1}.room-details #room-detail-note{display:none}.room-details .check-setting{min-height:30px;font-size:10px;margin:0}.room-details .room-fields .setting-field{font-size:10px}.room-details .room-fields>button{align-self:end;padding:8px;font-size:11px}.room-details .online-small{font-size:10px}.room-detail-art strong{font-size:13px;bottom:28px}.room-detail-art>span{font-size:8px;padding:4px}.online-room-tools .settings-tabs{gap:4px}.online-room-tools button{padding:7px;font-size:10px}.online-room-content{grid-template-columns:.8fr 1.2fr}.online-preview>small{font-size:8px;left:5px}.online-choices #online-audience-panel{gap:5px}.audience-row{padding:5px;flex-direction:column;gap:1px}.audience-pagination{gap:3px;flex-wrap:wrap}.audience-pagination button{font-size:9px;padding:6px;min-width:36px}.audience-pagination #online-queue{margin:0}.online-bottom p{font-size:9px}#spectator-bar{gap:5px;padding:6px}#spectator-bar strong,#spectator-bar button{font-size:9px}}
@media(max-height:500px) and (orientation:landscape){.online-entry{grid-template-columns:150px minmax(0,1fr);gap:14px}.directory-identity .online-small{font-size:9px;line-height:1.4;margin:8px 0}.directory-identity label{font-size:10px}.room-panel{gap:6px}.directory-toolbar button{font-size:10px;padding:8px}.directory-toolbar select{font-size:10px}.directory-card{padding:8px;gap:4px;min-height:58px}.directory-card strong{font-size:12px}.directory-card span,.directory-card small{font-size:9px}.directory-pagination button{font-size:10px}.directory-pagination input{font-size:10px}.directory-empty{font-size:11px;padding:10px}.room-create{grid-template-columns:.65fr 1fr;gap:12px}.room-create h3{font-size:19px;margin:7px 0}.room-create .eyebrow{display:none}.room-create .online-small{font-size:10px}.room-fields{gap:6px}.room-fields .setting-field{font-size:9px}.room-fields small{font-size:8px}.room-fields button{font-size:10px;padding:8px}.room-details{gap:10px;grid-template-columns:.75fr 1fr}.room-details .room-fields{gap:4px;grid-template-columns:1fr 1fr}.room-details #room-detail-members,.room-details #room-detail-count,.room-details .check-setting{grid-column:1/-1}.room-details #room-detail-note{display:none}.room-details .online-small{font-size:9px}.room-details .check-setting{min-height:26px;font-size:9px}.room-detail-art strong{font-size:12px;bottom:28px}.room-detail-art>span{font-size:8px;padding:4px}.online-room-tools{position:static;top:auto;left:auto;right:auto;min-height:44px}.online-room-content{margin-top:0;grid-template-columns:1fr 1.4fr;gap:8px}.online-preview>strong{bottom:25px}.online-preview>small{font-size:8px;bottom:3px;padding:3px}.online-choices #online-audience-panel{display:grid;grid-template-columns:1fr;gap:4px}.audience-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.audience-row{flex-direction:column;gap:3px;padding:5px}.audience-row strong{font-size:10px}.audience-row span{font-size:8px}.audience-pagination button{min-height:36px}.audience-pagination{gap:4px}#spectator-bar{bottom:10px}.online-choices .online-small{display:none}}
/* Voltar continua acessível sobre pausa/resultado; dialogs nativos mantêm sua própria camada superior. */
#chrome{z-index:60}

/* Campos de sala não herdam a largura de um campo textual no checkbox. */
.online-screen input[type="checkbox"]{width:20px;min-width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px}
.room-fields>*{min-width:0;max-width:100%}.room-fields .check-setting{min-width:0;min-height:34px;line-height:1.3}
.room-fields .online-small{overflow-wrap:anywhere}
@media(max-width:700px) and (orientation:portrait), (max-height:500px) and (orientation:landscape){
 .room-details .room-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-items:end}
 .room-details #room-detail-members{grid-row:1;grid-column:1/-1}
 .room-details #room-detail-count{grid-row:2;grid-column:1/-1}
 .room-details .check-setting{grid-row:3;grid-column:1/-1;margin:0}
 .room-details #room-join-password-label{grid-row:4;grid-column:1}
 .room-details #online-join{grid-row:4;grid-column:2}
}
@media(max-width:700px) and (orientation:portrait){
 .room-details{display:flex;flex-direction:column}
 .room-details .room-detail-art{flex:1;min-height:66px;max-height:none}
 .room-details .room-fields{flex:none;gap:5px}
 .room-details #room-detail-members,.room-details #room-detail-count{font-size:9px;line-height:1.3}
}

/* RF-EXEC-0008: the viewport is fixed; only this nested catalogue owns scrolling. */
#roster-grid{display:block;flex:1 1 0;min-width:0;min-height:0;max-height:none;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:none;scrollbar-width:thin;scrollbar-color:#557b83 #0e1d29;padding:1px 5px 1px 1px;cursor:grab}
#roster-grid.dragging{cursor:grabbing}.roster-row{margin:0 0 10px;padding:0 0 3px;min-width:0}.roster-row:last-child{margin-bottom:0}.roster-row h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;padding:0 1px;color:#daf2ec;font-size:12px;line-height:20px;font-weight:850}.roster-row h3 small{font-size:9px;color:#89a8b4;font-weight:500}
.variant-track{display:flex;gap:7px;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:none;padding:2px 2px 5px;touch-action:none}.variant-track::-webkit-scrollbar{display:none}
.variant-track>.roster-card{flex:0 0 max(96px,calc((100% - 14px)/3.15));height:105px;min-height:80px;min-width:0;touch-action:none;padding:8px}
.variant-track .roster-card strong{font-size:12px;line-height:1.16;overflow-wrap:anywhere}.variant-track .roster-card small{font-size:8px;margin-top:3px}.variant-track .roster-card img{width:84%;height:100%;pointer-events:none}
.variant-track .roster-future{opacity:1;background:linear-gradient(140deg,#112330,#091620);border-style:dashed;color:#688593}.variant-track .roster-future .placeholder{left:0;right:0;top:7px;text-align:center;font-size:44px;line-height:1;color:#4d7080}.variant-track .roster-future strong{font-size:10px;color:#7e9da9}
.roster-heading{font-size:8px;letter-spacing:.08em;color:#8caebd}.roster-status{display:block;font-size:8px;min-height:10px;flex-shrink:0;line-height:1.25}.character-screen .choices-side{min-height:0;gap:7px}.selection-tools{flex-shrink:0}.fighter-detail{flex-shrink:0}
.health-second{height:8px;padding:1px 3px;margin-top:3px;opacity:.67}.health-second div{background:linear-gradient(90deg,#a6a1ed,#b0d6fc)}.p2 .health-second div{background:linear-gradient(90deg,#ae9bd4,#e6c8fb)}.health.active-stage{opacity:1;border-color:#d2e8dda0}.hud-bottom{margin-top:3px}.hud-bottom span:last-child{font-variant-numeric:tabular-nums;font-size:9px}
@media(orientation:portrait){.character-screen .selection-layout{gap:8px}.character-screen .preview-side{flex:0 0 120px;min-height:80px}.character-screen .choices-side{flex:1 1 0;min-height:0;gap:6px}.variant-track>.roster-card{height:94px}.roster-row h3{font-size:11px;line-height:18px}.roster-row{margin-bottom:7px}.health-second{height:6px}.hud-bottom span:last-child{font-size:8px}}
@media(orientation:portrait) and (max-height:650px){.character-screen .preview-side{flex-basis:80px}.character-screen .page-heading{display:none}.character-screen .choices-side{gap:4px}.variant-track>.roster-card{height:85px;min-height:75px}.roster-heading{font-size:7px}}
@media(orientation:landscape) and (max-height:540px){.character-screen .choices-side{gap:4px}.variant-track>.roster-card{height:85px;min-height:70px}.roster-row h3{font-size:10px;line-height:16px;margin-bottom:3px}.roster-row{margin-bottom:5px}.variant-track .roster-card strong{font-size:11px}.variant-track .roster-card small{font-size:7px}.health-second{height:5px;padding:1px 2px;margin-top:2px}.hud-bottom span:last-child{font-size:8px}}
@media(orientation:landscape) and (max-height:350px){.roster-heading{display:none}.variant-track>.roster-card{height:73px;min-height:64px}.roster-status{display:none}.character-screen .choices-side{gap:3px}.selection-tools{justify-content:flex-end}}

/* V09: six stages stay within the screen; only their own list can scroll. */
.stage-selection{min-height:0;overflow:hidden}.stage-cards{min-height:0;overflow-y:auto;overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(64px,1fr);scrollbar-width:thin;touch-action:pan-y;align-content:stretch}.stage-card{min-height:64px;overflow:hidden}.stage-card strong{overflow-wrap:anywhere;font-size:12px}.stage-card small{font-size:7px}.stage-random{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex-shrink:0}.stage-random label{min-width:0}.stage-random select{width:100%;min-height:36px;font-size:10px}.stage-random p{grid-column:1/-1;margin:1px 0;font-size:9px}.object-hint{position:absolute;z-index:3;pointer-events:none;bottom:47px;left:24%;right:24%;text-align:center;font:650 10px/1.35 system-ui;color:#e2e7bd;background:#132c36a8;border:1px solid #b6ca9d44;border-radius:7px;padding:4px 6px;max-height:48px;overflow:hidden}.replay-active .object-hint{bottom:90px}.spectator-active .object-hint{bottom:100px}
@media(orientation:portrait){.stage-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:72px;max-height:154px;flex:none}.stage-card{min-height:72px}.stage-selection{flex-shrink:1;min-height:145px}.stage-random{display:grid}.stage-random label{font-size:8px}.stage-random p{display:none}.object-hint{bottom:208px;left:10px;right:10px;font-size:9px}.replay-active .object-hint{bottom:90px}}
@media(orientation:landscape) and (max-height:540px){.stage-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:64px;min-height:65px;flex:1}.stage-random select{min-height:32px;font-size:9px}.stage-random label{font-size:7px}.stage-card strong{font-size:10px}.stage-card small{display:none}.object-hint{bottom:44px;left:26%;right:26%;font-size:8px;padding:3px 4px}.settings-page[data-setting-panel="image"]{grid-template-columns:1fr 1fr 1fr;gap:3px 10px}.settings-page[data-setting-panel="image"] .dialog-note{display:none}}
@media(orientation:portrait) and (max-height:710px){.stage-cards{max-height:122px;grid-auto-rows:60px}.stage-card{min-height:60px}.stage-selection{min-height:125px}.object-hint{bottom:178px;font-size:8px}.settings-page[data-setting-panel="image"]{grid-template-columns:1fr 1fr;gap:6px}.settings-page[data-setting-panel="image"] .dialog-note{grid-column:1/-1}.stage-preview-box{min-height:94px}}

/* RF-EXEC-0010: entrada LAN e pareamento em camadas, sem scroll da página. */
.mode-cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.mode-card.lan{border-color:#476e89;background:linear-gradient(135deg,#123342,#18223a)}
.lan-dialog{width:min(740px,calc(100vw - 24px));max-height:calc(var(--viewport-height,100dvh) - 20px);overflow:auto}.lan-dialog h2{font-size:22px}.lan-dialog textarea{display:block;width:100%;min-height:64px;height:78px;resize:none;background:#081923;border:1px solid #456077;border-radius:9px;color:#d7eef3;padding:9px;font:11px/1.4 monospace;overflow:auto}.lan-setup{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lan-setup>.lan-actions{grid-column:1/-1}.lan-exchange{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lan-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.lan-actions button{min-height:44px;padding:8px 11px;font-size:11px}.lan-dialog #lan-status{font-size:12px;color:#9df2df;margin:12px 0 6px}.lan-dialog .online-small{font-size:11px;line-height:1.45;margin:7px 0}.lan-dialog .dialog-heading{margin-bottom:12px}
@media(orientation:portrait){.mode-cards{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));max-height:none;gap:9px}.mode-card{display:flex;flex-direction:column;gap:8px;justify-content:center;padding:12px}.mode-symbol{font-size:32px}.mode-body strong{font-size:20px}.mode-body>span{font-size:10px}.mode-body small{font-size:7px}.lan-setup,.lan-exchange{grid-template-columns:1fr}.lan-dialog textarea{height:70px}.lan-dialog h2{font-size:21px}}
@media(max-height:410px) and (orientation:landscape){.mode-cards{gap:8px}.mode-card{padding:10px}.mode-symbol{font-size:30px}.mode-body strong{font-size:19px}.mode-body>span{font-size:9px}.mode-arrow{display:none}.lan-dialog{padding:12px 17px}.lan-dialog textarea{height:48px;min-height:48px}.lan-dialog h2{font-size:18px}.lan-dialog .dialog-heading{margin-bottom:8px}.lan-dialog .online-small{font-size:9px}.lan-dialog #lan-status{font-size:10px}}

/* RF-EXEC-0011: compact game chrome, two-step character choice, real audio controls. */
:root{--chrome:50px}
#chrome{min-height:var(--chrome);padding-top:calc(env(safe-area-inset-top,0px) + 5px);padding-bottom:5px}
#chrome button{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:10px;font-size:19px}
#chrome .chrome-button{width:auto;min-width:36px;padding:0 10px;font-size:10px}#chrome .fs-icon{font-size:22px}.chrome-actions{gap:7px}.chrome-left{gap:9px}
#characters-view .selection-layout{grid-template-columns:minmax(180px,.75fr) minmax(310px,1.25fr)}
#characters-view .selection-tools{min-height:12px;margin:0}
#characters-view .choices-side{gap:8px}
#characters-view .character-footer{display:grid;grid-template-columns:minmax(84px,.8fr) minmax(72px,.65fr) minmax(140px,1.35fr);gap:9px;margin:0}
#characters-view .character-footer button{width:100%;min-width:0;margin:0;font-size:12px;min-height:44px;padding:9px 10px}
#selection-status,#roster-status{display:none!important}
body[data-selection-step=skin] #characters-view .selection-tools{display:none}
body[data-selection-step=skin] #characters-view .fighter-detail{display:flex;flex-direction:column;justify-content:center;gap:15px;flex:1;min-height:0}
.appearance-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.appearance-heading h3{font-size:25px;margin-top:5px;letter-spacing:-.035em}.appearance-heading button{font-size:12px}
body[data-selection-step=skin] .skin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}
body[data-selection-step=skin] .skin-options button{min-height:80px;padding:12px 8px;font-size:13px;border-radius:12px}
.appearance-note{color:#a4bdc3;font-size:11px}#change-fighter{font-size:11px;align-self:flex-start}
.object-hint{border:0;background:#0c202987;color:#afc5b8;font-weight:500;padding:3px 7px;border-radius:5px;font-size:9px;max-height:35px;left:26%;right:26%}
/* Audio is paginated inside the settings viewport; no document scrolling. */
#settings-dialog{max-width:700px}
.settings-page.audio-page{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:10px}
.audio-subtabs{display:flex;gap:6px}.audio-subtabs button{flex:1;min-height:32px;padding:5px;font-size:11px;border-radius:7px;background:transparent}.audio-subtabs .active{background:#1c4146;color:var(--cyan);border-color:#5caba4}
.audio-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 17px;align-items:center}
.audio-panel .setting-field{font-size:11px}.audio-panel input[type=range]{height:28px;min-height:28px}.audio-panel select{min-height:36px;font-size:11px}.audio-panel .check-setting{min-height:38px;margin:0;font-size:11px}.audio-panel button{min-height:36px;padding:6px;font-size:10px}
.audio-library-note{font-size:10px;color:#91aeb8;line-height:1.5}
.now-playing{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c2831;border:1px solid #335960;padding:10px 12px;border-radius:10px;min-height:65px}
.now-playing>div:first-child{min-width:0}.now-playing small{font-size:8px;letter-spacing:.11em;color:var(--cyan);display:block}.now-playing strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.now-playing span{font-size:9px;color:#9fb9c5;display:block}
.music-transport{display:flex;gap:5px;flex-shrink:0}.music-transport button{width:34px;min-width:34px;min-height:34px;height:34px;padding:0;font-size:21px}#music-play{font-size:16px}
@media(orientation:portrait){
 :root{--chrome:48px}#chrome .chrome-button{width:36px;padding:0}#chrome .button-word{display:none}
 #characters-view .page-heading h2{font-size:24px;line-height:1.12}
 #characters-view .page-heading .eyebrow{font-size:8px}
 #characters-view .selection-layout{display:flex;flex-direction:column;gap:9px}
 #characters-view .preview-side{flex:0 0 106px;min-height:70px}
 #characters-view .player-tabs button{min-height:44px;padding:6px 10px}#characters-view .player-tabs strong{font-size:16px}
 #characters-view .character-footer{grid-template-columns:minmax(74px,.85fr) minmax(66px,.65fr) minmax(125px,1.5fr);gap:6px}
 #characters-view .character-footer button{font-size:11px;min-height:44px;padding:8px 5px}
 .variant-track>.roster-card{height:96px}
 body[data-selection-step=skin] #characters-view .preview-side{flex-basis:clamp(115px,24vh,225px)}
 body[data-selection-step=skin] .fighter-detail{gap:12px}
 .appearance-heading h3{font-size:22px}
 .object-hint{left:12px;right:12px;font-size:8px;max-height:30px}
 .audio-panel{gap:9px}.now-playing{padding:9px;gap:7px}.now-playing strong{font-size:11px}
}
@media(orientation:landscape) and (max-height:540px){
 :root{--chrome:44px}#chrome{padding-top:calc(env(safe-area-inset-top,0px) + 3px);padding-bottom:3px}
 #chrome button{width:36px;height:36px;min-height:36px}#chrome .chrome-caption{font-size:8px}
 #characters-view{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:8px}
 #characters-view .selection-layout{gap:15px;grid-template-columns:minmax(170px,.65fr) minmax(310px,1.35fr)}
 #characters-view .choices-side{gap:6px}
 #characters-view .player-tabs button{min-height:44px;padding:5px 10px}#characters-view .player-tabs strong{font-size:17px}
 #characters-view .variant-track>.roster-card{height:83px;min-height:68px}
 #characters-view .roster-row h3{font-size:11px;line-height:18px}
 #characters-view .preview-caption strong{font-size:26px}.preview-caption{padding:10px 14px}
 .object-hint{font-size:8px;left:27%;right:27%}
 body[data-selection-step=skin] #characters-view .fighter-detail{gap:7px}
 .appearance-heading h3{font-size:21px}body[data-selection-step=skin] .skin-options button{min-height:60px;font-size:11px}.appearance-note{font-size:9px}#change-fighter{min-height:32px;padding:5px 9px}
 #settings-dialog{padding:12px 18px;max-width:720px;width:calc(100% - 26px)}#settings-dialog .dialog-heading{margin-bottom:7px}#settings-dialog .dialog-heading h2{font-size:20px}#settings-dialog .settings-tabs{margin-bottom:7px}
 .settings-page.audio-page{gap:6px}.audio-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}.audio-panel .setting-field{font-size:10px}.audio-panel .check-setting{min-height:30px}.audio-panel .audio-library-note{display:none}.audio-panel button{min-height:30px}.audio-subtabs button{min-height:28px;font-size:10px;padding:2px}
 .now-playing{min-height:50px;padding:6px 10px}.now-playing strong{font-size:12px}.now-playing span{font-size:8px}.audio-page .music-transport button{min-height:32px;height:32px}
}
@media(max-height:660px) and (orientation:portrait){
 #characters-view .preview-side{flex-basis:80px}#characters-view .choices-side{gap:5px}#characters-view{gap:8px}
 body[data-selection-step=skin] #characters-view .preview-side{flex-basis:115px}
 body[data-selection-step=skin] #characters-view .fighter-detail{gap:8px}.appearance-heading h3{font-size:20px}body[data-selection-step=skin] .skin-options button{min-height:58px;font-size:11px}
}
@media(max-width:365px){#chrome .brand b{font-size:15px}#chrome .chrome-actions{gap:5px}#chrome{padding-left:10px;padding-right:10px}.now-playing{flex-wrap:wrap}.music-transport{margin-left:auto}}
@media(orientation:landscape) and (max-height:360px){
 #settings-dialog{padding:8px 14px;max-height:calc(var(--viewport-height) - 12px)}
 #settings-dialog .dialog-heading{margin-bottom:4px}#settings-dialog .dialog-heading button{width:30px;min-height:30px;height:30px;font-size:18px}
 #settings-dialog .settings-tabs{margin-bottom:5px}#settings-dialog .settings-tabs button{min-height:30px;padding:4px 8px}
 #settings-dialog .audio-subtabs button{min-height:26px}#settings-dialog .audio-page{gap:4px}
 #settings-dialog .audio-panel input[type=range]{min-height:24px;height:24px}#settings-dialog .audio-panel select{min-height:30px;padding:3px 5px}
 #settings-dialog .now-playing{min-height:44px;padding:5px 8px}#settings-dialog .now-playing small{font-size:7px}
 #settings-dialog .dialog-footer{margin-top:6px}#settings-dialog .dialog-footer button{min-height:34px;padding:5px 12px}
}

/* RF-EXEC-0012: one lobby, access policies and keyboard-safe nested scrolling. */
.mode-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
.mode-card.online{background:linear-gradient(145deg,#123a40,#14293b);border-color:#427b80}
#online-view{display:flex;flex-direction:column;gap:12px;min-height:0;padding:clamp(12px,2.2vw,28px);overflow:hidden}
.online-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:0 0 auto;margin:0}.online-heading h2{font-size:clamp(23px,3vw,34px);line-height:1.15;margin:7px 0 0;letter-spacing:-.045em}.online-heading .eyebrow{font-size:9px}
.hub-badge{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;color:#a7c3cc;border:1px solid #2f4753;background:#10232db0;padding:7px 10px;border-radius:100px}.hub-badge i{width:6px;height:6px;background:#82919d;border-radius:50%}.hub-badge.ready{color:#97ecd3;border-color:#2f665d}.hub-badge.ready i{background:#78e4bd}.hub-badge.offline{color:#c3b99d}
.online-entry{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;width:100%;max-width:1250px;margin:0 auto;overflow:hidden;align-items:stretch}
.directory-identity{display:grid;grid-template-columns:auto minmax(180px,330px) 1fr;align-items:center;gap:12px;flex:0 0 auto;align-self:stretch;min-width:0}.directory-identity>label{font-size:11px;color:var(--muted)}.directory-identity .online-small{display:block;max-width:none;text-align:right;margin:0;font-size:10px;line-height:1.4}
.input-dice{display:flex;align-items:stretch;min-width:0;gap:6px}.input-dice input{min-width:0;flex:1;width:0}.online-screen input:not([type=radio]):not([type=checkbox]),.online-screen select{display:block;background:#0a1b26;color:#eff7f7;border:1px solid #38545f;border-radius:11px;min-height:44px;font:400 16px/1.3 system-ui;padding:9px 12px;width:100%;min-width:0}.online-screen .input-dice input{width:0}
button.dice{width:44px;min-width:44px;min-height:44px;padding:0;font-size:25px;background:#17343d;color:#98eee0;border:1px solid #3c646b;border-radius:11px}.dice:hover{background:#20505a}
.room-panel{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:9px}.directory-toolbar{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;flex:0 0 auto;margin:0}.filter-pills{display:flex;align-items:center;flex:1;gap:5px;overflow:auto;scrollbar-width:none;min-width:0;touch-action:pan-x}.filter-pills::-webkit-scrollbar{display:none}.filter-pills button{border-radius:99px;font-size:11px;font-weight:600;min-height:36px;padding:7px 13px;white-space:nowrap;background:#0f2330;color:#a8bfca;border:1px solid #284452}.filter-pills button.active{background:#214740;color:#a7f6df;border-color:#6cc2b0}.refresh-icon{width:38px;min-width:38px;min-height:36px;padding:0!important;font-size:24px!important;background:transparent;border-color:#2c4854}
.directory-count{display:flex;justify-content:space-between;gap:12px;color:#86a2ae;font-size:10px;flex:0 0 auto;padding:1px 2px}.directory-count #rooms-updated{font-size:9px}
.room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(130px,max-content);align-content:start;gap:10px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#365c64 transparent;flex:1;min-height:0;padding:2px 5px 6px 2px}
.directory-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:9px;padding:15px;min-height:130px;overflow:hidden;background:linear-gradient(135deg,#17333d,#102431);border:1px solid #33515e;border-radius:16px;text-align:left;position:relative;transition:background .12s,border-color .12s}.directory-card:hover{background:#1a414a;border-color:#67aeac}.directory-card:focus-visible{outline-offset:-3px}.directory-card strong{font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;grid-column:1;max-width:100%}.directory-card .card-enter{grid-column:2;grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#21454d;color:#a9f0e0;font-size:19px;align-self:center}.room-card-kicker{display:flex;gap:7px;align-items:center;grid-column:1;font-size:9px;color:#8fcbbf;white-space:nowrap;overflow:hidden}.room-card-kicker .room-source{font-size:8px;color:#91acb8;padding:3px 6px;border:1px solid #37535f;border-radius:20px}.room-card-info{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #2a424f;padding-top:8px}.room-card-info span{font-size:10px;color:#c1d4da}.room-card-info small{font-size:9px;color:#8faab8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:60%}.directory-card[data-phase=fight]{border-color:#455252}.directory-card[data-phase=fight] .card-enter{color:#f2c48e}
.directory-empty{grid-column:1/-1;min-height:170px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #233f4d;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#12404a70,transparent 70%),#0b1c29;color:var(--muted);gap:9px;margin:0;align-self:stretch}.empty-symbol{display:grid;place-items:center;width:46px;height:46px;border:1px solid #395b64;border-radius:15px;color:#a1e7d6;background:#173740;font-size:25px}.directory-empty strong{font-size:19px;line-height:1.25;color:#e2efef}.directory-empty p{max-width:430px;font-size:12px;line-height:1.65;margin:0;color:#9cb5c2}.directory-empty.offline .empty-symbol{color:#cec4a6;background:#2d302b;border-color:#625d49}
.directory-actions{display:flex;gap:9px;flex:0 0 auto}.directory-actions>button{min-height:44px;font-size:13px;padding:10px 16px}.directory-actions .primary{flex:1}.directory-actions .quiet{flex:0 0 auto;font-size:11px}
.online-bottom{display:flex;align-items:center;gap:9px;flex:0 0 auto;margin:0;padding-top:9px;border-top:1px solid #243a47;min-height:0}.online-bottom p{margin:0;min-height:0;max-height:2.8em;overflow:hidden;font-size:10px;line-height:1.4;flex:1;color:#90aeba}.online-bottom p:empty{display:none}.online-bottom>button{min-height:40px;padding:8px 13px;font-size:12px}.online-bottom #online-ready{flex:1;max-width:480px}.online-bottom #online-leave{margin-left:auto;white-space:nowrap}
.online-entry[data-page=create] .directory-identity{grid-template-columns:auto minmax(180px,360px) 1fr}.room-create{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:28px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:4px 5px 8px 0}.create-intro{padding:24px;border:1px solid #304c5a;border-radius:18px;background:linear-gradient(130deg,#19434a,#10222f);align-self:stretch;min-height:160px}.create-intro .form-step{font-size:9px;color:#8edac9;letter-spacing:.13em;font-weight:700}.create-intro h3{font-size:27px;line-height:1.12;letter-spacing:-.035em;margin:15px 0}.create-intro p{font-size:13px;line-height:1.7;color:#adc5ce}.capacity-note{font-size:11px;color:#bdd9dd;padding-top:22px}.capacity-note span{padding:0 7px;color:#75e2cb}.room-fields{display:flex;flex-direction:column;gap:12px;min-width:0;align-content:start}.room-fields .setting-field{display:flex;flex-direction:column;gap:6px;font-size:11px;margin:0}.room-fields .setting-field input{margin:0}.room-fields>small{font-size:10px;color:#a0bac7;line-height:1.5}.room-fields>button{min-height:44px;font-size:13px}.room-fields .password-input{display:flex;gap:6px}.password-input input{min-width:0;flex:1}.password-input button{font-size:11px;min-width:64px;padding:6px}.access-field{margin:0;padding:0;border:0;min-width:0}.access-field legend{font-size:11px;color:#bfd5dc;margin:0 0 7px}.access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.access-option{display:grid;position:relative;gap:7px;align-content:center;padding:13px 9px;min-height:105px;border:1px solid #35515f;background:#112b37;border-radius:12px;cursor:pointer;text-align:center}.access-option input{position:absolute;width:1px;height:1px;opacity:0;left:8px;top:8px;min-height:0;min-width:0}.access-option:has(input:checked){border-color:#79d6c3;background:#21463f;box-shadow:inset 0 0 0 1px #79d6c322}.access-option:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:2px}.access-icon{font-size:23px;line-height:1;color:#9ddbd5}.access-option strong{font-size:12px;color:#ecf8f6}.access-option small{font-size:9px;color:#a3bdc7;white-space:nowrap}.access-description{font-size:11px;color:#97b4c1;line-height:1.45;margin:0;min-height:30px}.form-error{margin:0;background:#52212b66;border:1px solid #754b54;color:#ffd4d6;padding:8px 10px;border-radius:8px;font-size:11px}
.room-details{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px;overflow:auto;overscroll-behavior:contain;padding-right:3px;touch-action:pan-y}.room-detail-art{height:220px;min-height:150px;max-height:330px;border-radius:16px;align-self:stretch;position:relative}.room-detail-art canvas{display:block;width:100%;height:100%}.room-detail-caption{position:absolute;bottom:0;left:0;right:0;display:grid;gap:5px;padding:14px;background:linear-gradient(transparent,#071824 28%)}.room-detail-caption strong,.room-detail-caption>span{position:static;white-space:normal;overflow:visible;background:none;padding:0}.room-detail-caption strong{font-size:18px}.room-detail-caption span{font-size:10px;color:#98e3d1}.room-details .room-fields .online-small{display:block;font-size:12px;line-height:1.6;margin:0}.room-details .room-fields{display:flex;gap:12px;align-content:normal}.room-details .check-setting{min-height:34px;font-size:11px;margin:0;border:0}.room-details #room-detail-note{display:block;font-size:10px;color:#8fabb8;line-height:1.6}.room-details #online-join{grid-row:auto;grid-column:auto;font-size:13px}
.pending-panel{align-items:center;justify-content:center;text-align:center;padding:20px;overflow:auto;gap:10px}.pending-orbit{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid #497572;background:#153b3f;font-size:28px;box-shadow:0 0 50px #44878322}.pending-panel h3{font-size:24px;margin:2px;letter-spacing:-.03em}.pending-panel p{font-size:12px;color:#a8c5ce;max-width:430px;margin:0;line-height:1.6}.pending-panel>small{font-size:10px;color:#75b9ac}.pending-panel button{margin-top:10px;min-height:44px}
.requests-button{font-size:11px;padding:8px 10px;min-height:38px;white-space:nowrap}.requests-button.has-requests{background:#4a3821;color:#ffe2a0;border-color:#ad9652}.requests-button span{margin-left:4px;font-weight:800}.online-room-tools .settings-tabs{min-width:0;overflow:auto;scrollbar-width:none}.online-room-tools{gap:8px;display:flex;align-items:center}.online-room-tools #online-copy{margin-left:auto;font-size:11px;min-height:38px;padding:7px 9px}.online-room{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;max-width:1250px;width:100%;margin:auto}.online-room-content{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0;overflow:hidden}.online-choices{overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;padding:2px}.online-choices>div{min-width:0}.online-preview{min-height:0}.online-choices .setting-field{margin-bottom:8px;font-size:11px}.online-choices button{font-size:11px;min-height:40px}.online-choices .online-small{font-size:10px;line-height:1.5}
#fight-requests{position:static;margin:0;font-size:10px;padding:5px 8px;min-height:32px}.connection-dialog,.moderation-dialog{width:min(580px,calc(100vw - 24px));max-height:calc(var(--viewport-height,100dvh) - 24px);padding:20px;overflow:hidden}.connection-dialog[open],.moderation-dialog[open]{display:flex;flex-direction:column;gap:13px}.connection-dialog h2,.moderation-dialog h2{font-size:23px;line-height:1.15}.connection-dialog .dialog-heading,.moderation-dialog .dialog-heading{margin:0;flex:0 0 auto}.dialog-scroll,.moderation-list{overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;flex:1;scrollbar-width:thin}.connection-option{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #2b4553}.connection-option>span{font-size:12px;font-weight:800;color:#85d8c8;min-width:25px;padding-top:2px}.connection-option strong{font-size:14px;color:#def2ed}.connection-option p{font-size:12px;line-height:1.6;margin:7px 0 0;color:#a8c2cf}.connection-dialog>.wide,.moderation-dialog>.wide{flex:0 0 auto;min-height:42px;font-size:12px}.moderation-dialog>.online-small{font-size:11px;margin:0}.moderation-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid #395363;background:#112c36;padding:12px;border-radius:12px;margin-bottom:8px}.moderation-row .request-person{flex:1;min-width:120px;overflow:hidden}.request-person strong{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-person small{font-size:10px;color:#8fbdca}.moderation-row button{font-size:11px;min-height:38px;padding:7px 11px}.share-room-actions{display:flex;gap:8px}.share-room-actions button{flex:1;font-size:12px}#share-room-link{width:100%;background:#0b1c2a;padding:12px;border:1px solid #446171;border-radius:9px;font-size:13px}
@media(max-width:650px) and (orientation:portrait){.mode-cards{grid-template-columns:1fr 1fr;grid-template-rows:1fr .85fr}.mode-card.online{grid-column:1/-1;flex-direction:row;align-items:center}.mode-card.online .mode-symbol{font-size:38px}.mode-card.online .mode-body{flex:1}.mode-card.online .lock-badge{position:absolute;right:13px;top:12px;font-size:8px}.online-heading h2{font-size:26px}.hub-badge{font-size:9px;padding:6px 8px}#online-view{padding:14px;gap:11px}.directory-identity,.online-entry[data-page=create] .directory-identity{grid-template-columns:1fr;gap:5px}.directory-identity .online-small{display:none}.directory-identity>label{font-size:10px}.room-list{grid-template-columns:1fr;grid-auto-rows:minmax(118px,max-content);gap:9px}.directory-card{padding:13px;min-height:118px}.directory-card strong{font-size:16px}.room-card-info small{max-width:56%;font-size:9px}.filter-pills{gap:5px}.filter-pills button{font-size:10px;padding:7px 10px;min-height:36px}.directory-count{font-size:10px}.directory-actions>button{font-size:12px;padding:9px 12px}.directory-actions .quiet{font-size:10px}.online-bottom{padding-top:7px;gap:8px}.online-bottom #online-status{font-size:9px}.online-bottom>button{min-height:38px;font-size:11px}.room-create{grid-template-columns:1fr;gap:12px}.create-intro{padding:12px 15px;min-height:0;display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}.create-intro .form-step{display:none}.create-intro h3{font-size:19px;margin:0}.create-intro p{margin:0;font-size:10px;grid-column:1/-1}.create-intro p br{display:none}.capacity-note{font-size:9px;padding:0;grid-column:2;grid-row:1}.capacity-note span{padding:0 2px}.access-option{padding:11px 6px;min-height:92px;gap:6px}.access-option strong{font-size:11px}.access-option small{font-size:8px}.access-description{font-size:10px;min-height:0}.room-fields{gap:10px}.room-details{grid-template-columns:1fr;grid-template-rows:auto auto;gap:12px}.room-detail-art{height:155px;min-height:155px}.room-details .room-fields .online-small{font-size:11px}.room-details .room-fields{gap:9px}.room-details #room-detail-note{font-size:9px}.online-room{gap:8px}.online-room-content{grid-template-columns:.85fr 1.15fr;gap:9px}.online-room-tools{gap:5px}.online-room-tools .settings-tabs button{font-size:10px;padding:8px}.online-room-tools .requests-button,.online-room-tools #online-copy{font-size:9px;padding:6px}.online-member{min-height:65px}.online-member img{width:45px}.online-member .member-copy strong{font-size:11px}.online-member .member-copy span{font-size:9px}.online-member .member-copy small{font-size:8px}.connection-dialog,.moderation-dialog{padding:17px}.connection-dialog h2,.moderation-dialog h2{font-size:21px}}
@media(max-height:500px) and (orientation:landscape){#online-view{padding:9px 18px;gap:7px}.online-heading .eyebrow{display:none}.online-heading h2{font-size:21px;margin:0}.hub-badge{font-size:9px;padding:4px 8px}.online-entry{gap:8px}.directory-identity,.online-entry[data-page=create] .directory-identity{grid-template-columns:auto minmax(180px,290px) 1fr;gap:10px}.directory-identity label{font-size:10px}.directory-identity .online-small{display:block;font-size:9px;margin:0}.online-screen input:not([type=checkbox]):not([type=radio]),.online-screen select{min-height:38px;font-size:16px;padding:6px 9px}.dice{min-height:38px!important;min-width:38px!important;width:38px!important;font-size:23px!important}.directory-toolbar{gap:8px}.filter-pills button{min-height:30px;padding:5px 12px;font-size:10px}.refresh-icon{min-height:30px}.room-panel{gap:6px}.directory-count{font-size:9px}.room-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(94px,max-content);gap:8px}.directory-card{padding:9px 12px;min-height:94px;gap:6px}.directory-card strong{font-size:14px}.room-card-kicker{font-size:8px}.room-card-kicker .room-source{font-size:7px;padding:2px 5px}.room-card-info{padding-top:6px}.room-card-info span{font-size:9px}.room-card-info small{font-size:8px}.directory-actions>button{min-height:35px;padding:6px 11px;font-size:11px}.directory-empty{min-height:110px;gap:5px;padding:12px}.empty-symbol{display:none}.directory-empty strong{font-size:16px}.directory-empty p{font-size:10px;line-height:1.5;max-width:550px}.online-bottom{padding-top:5px;gap:7px}.online-bottom>button{min-height:32px;font-size:10px;padding:5px 10px}.online-bottom p{font-size:9px}.room-create{grid-template-columns:.6fr 1.4fr;gap:15px}.create-intro{padding:13px;min-height:150px}.create-intro .form-step{font-size:8px}.create-intro h3{font-size:21px;margin:12px 0}.create-intro p{font-size:11px}.capacity-note{font-size:9px;padding-top:13px}.room-fields{gap:8px}.room-fields .setting-field{font-size:10px}.room-fields>button{min-height:38px;font-size:11px}.access-option{min-height:76px;padding:8px;gap:4px}.access-option .access-icon{font-size:17px}.access-option strong{font-size:11px}.access-option small{font-size:8px}.access-description{min-height:0;font-size:10px}.room-details{grid-template-columns:.85fr 1.15fr;gap:14px}.room-detail-art{min-height:150px;height:180px}.room-details .room-fields{display:flex;gap:8px}.room-details .room-fields .online-small{font-size:10px}.room-details #room-detail-note{font-size:9px}.online-room{gap:6px}.online-member{min-height:48px;padding:5px 10px}.online-member img{width:40px;height:40px}.online-room-tools{min-height:32px}.online-room-tools button{min-height:32px;font-size:10px;padding:4px 9px}.online-room-content{grid-template-columns:.7fr 1.3fr;gap:10px}.online-choices{padding:2px}.online-choices #online-fighter-panel,.online-choices #online-map-panel{display:grid;grid-template-columns:1fr 1fr;gap:7px}.online-choices .online-small{display:none}.pending-panel{gap:6px;padding:8px}.pending-orbit{display:none}.pending-panel h3{font-size:20px}.pending-panel p{font-size:11px}.pending-panel button{min-height:35px;margin-top:5px}.connection-dialog[open],.moderation-dialog[open]{gap:8px;padding:12px 18px}.connection-dialog h2,.moderation-dialog h2{font-size:20px}.connection-option{padding:10px 0}.connection-option p{font-size:11px}.connection-dialog>.wide,.moderation-dialog>.wide{min-height:36px}.moderation-row{padding:8px}.moderation-dialog>.online-small{font-size:10px}}
/* With an on-screen keyboard, only the form/list scrolls. Never squeeze children through each other. */
.keyboard-open #online-view{gap:6px}.keyboard-open .online-heading{display:none}.keyboard-open .directory-identity .online-small{display:none}.keyboard-open .online-bottom #online-status{display:none}.keyboard-open .online-bottom{padding-top:4px}.keyboard-open .online-bottom>button{min-height:32px}.keyboard-open .create-intro{display:none}.keyboard-open .room-create{grid-template-columns:1fr;overflow:auto}.keyboard-open .room-detail-art{display:none}.keyboard-open .room-details{grid-template-columns:1fr}.keyboard-open .room-list{grid-auto-rows:minmax(90px,max-content)}.keyboard-open .directory-empty{min-height:85px}.keyboard-open .directory-count #rooms-updated{display:none}.keyboard-open .directory-actions{gap:6px}.keyboard-open .directory-actions>button{min-height:34px;padding:6px 10px}.keyboard-open .room-fields{flex-shrink:0}.keyboard-open .directory-identity{flex-shrink:0}.keyboard-open .online-bottom{flex-shrink:0}
@media(prefers-reduced-motion:reduce){.directory-card{transition:none}}

/* RF-EXEC-0015: local input, guided practice and diagnostics. No viewport scroll. */
.advanced-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(var(--viewport-height,100dvh) - 24px);padding:22px;overflow:hidden}
.advanced-dialog[open]{display:flex;flex-direction:column;gap:12px}
.advanced-dialog .dialog-heading,.advanced-dialog .dialog-footer{margin:0;flex-shrink:0}.advanced-dialog h2{font-size:25px;margin:4px 0}.advanced-dialog .dialog-note{margin:5px 0;font-size:12px;line-height:1.55}.advanced-dialog .dialog-scroll{overflow:auto;min-height:0;flex:1}.advanced-dialog .dialog-footer{display:flex;gap:9px}.advanced-dialog .dialog-footer button{flex:1;font-size:12px;min-height:42px}
.key-bindings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.key-binding{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px;gap:6px}.key-binding span{font-size:12px}.key-binding kbd{font:750 15px system-ui;background:#25414d;border:1px solid #446770;border-radius:6px;padding:5px;min-width:28px}.key-binding.listening{border-color:#f3d696;background:#4a4028}.device-status{padding:11px 14px;border:1px solid #3f646b;border-radius:9px;font-size:12px;color:#a9e6d9}
.pad-guide{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pad-guide span{background:#102631;padding:9px;font-size:11px;border-radius:8px}.pad-guide b{color:#8ee9d9;display:block;margin-bottom:3px}
#input-settings-open{margin-bottom:9px}.settings-page[data-setting-panel=controls],.settings-page[data-setting-panel=image]{overflow:auto;min-height:0;overscroll-behavior:contain}
.training-extra{display:flex;gap:8px;margin-bottom:10px}.training-extra button{font-size:11px;flex:1;min-height:42px}#training-dialog .training-settings{overflow:auto;min-height:0}#help-tutorial{font-size:12px;min-height:40px;margin:5px 0}
.lesson-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-card{text-align:left;min-height:68px;display:flex;gap:11px;padding:12px}.lesson-card b{font-size:18px;color:#83e2d0}.lesson-card span{font-size:12px;line-height:1.3}.lesson-card small{display:block;font-size:10px;color:#9cb6c1;margin-top:5px}.lesson-card.completed{border-color:#448575}.lesson-card.current{background:#164149;border-color:#82f0d4}
.tutorial-banner{position:absolute;left:25%;right:25%;bottom:calc(var(--hint-bottom,32px) + 32px);z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0b2631e8;border:1px solid #417077;border-radius:12px;backdrop-filter:blur(4px)}.tutorial-banner>div{flex:1;min-width:0}.tutorial-banner small{display:block;color:#8fddca;font-size:9px;letter-spacing:.12em}.tutorial-banner strong{display:block;font-size:15px;margin:3px 0}.tutorial-banner span{display:block;font-size:11px;line-height:1.4;color:#b6ced7}.tutorial-banner b{display:block;font-size:10px;color:#9cecbb;margin-top:4px}.tutorial-banner button{min-height:36px;padding:7px 9px;font-size:11px}.tutorial-banner #lesson-menu{font-size:20px;padding:0 9px}.guided-active #training-meter{display:none!important}
.history-line{display:grid;grid-template-columns:75px 1fr 45px;gap:8px;padding:10px;border-bottom:1px solid #2b4652;font-size:12px}.history-line b{color:#97e7d8}.history-line small{color:#9cb6c1}
.diagnostics-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.diagnostic-cell{padding:13px;background:#102630;border:1px solid #2e4854;border-radius:10px}.diagnostic-cell small{display:block;color:#9cb6c1;font-size:10px}.diagnostic-cell strong{font-size:19px;display:block;color:#94e9d5;margin-top:5px}.metrics-overlay{position:fixed;right:10px;bottom:5px;z-index:40;pointer-events:none;padding:3px 7px;border-radius:5px;background:#061720dd;color:#b7e4d8;font:10px ui-monospace,monospace}
@media(orientation:portrait){.tutorial-banner{left:14px;right:14px;bottom:calc(var(--viewport-height,100dvh) * .22 + 22px)}.tutorial-banner span{font-size:10px}.tutorial-banner strong{font-size:13px}.advanced-dialog{padding:17px}.key-binding{flex-direction:column;gap:4px}.key-binding span{font-size:11px}.lesson-list{grid-template-columns:1fr}.lesson-card{min-height:59px}.advanced-dialog .eyebrow{font-size:8px}}
@media(max-height:500px) and (orientation:landscape){.advanced-dialog{padding:12px 18px;gap:7px}.advanced-dialog h2{font-size:21px}.advanced-dialog .eyebrow{display:none}.advanced-dialog .dialog-footer button{min-height:36px}.key-binding{min-height:44px}.key-binding kbd{font-size:12px}.tutorial-banner{left:27%;right:27%;bottom:38px;padding:6px 9px;gap:4px}.tutorial-banner strong{font-size:12px}.tutorial-banner span{font-size:9px}.tutorial-banner small{font-size:8px}.tutorial-banner b{font-size:9px}.tutorial-banner button{font-size:10px;min-height:32px}.diagnostic-cell{padding:8px}}

.guided-active .arena-bottom,.guided-active .desktop-controls,.guided-active #object-hint,.guided-active #portrait-hint{visibility:hidden}
@media(orientation:portrait){.tutorial-banner{top:calc(var(--chrome-height,54px) + 100px);bottom:auto}}
@media(max-height:500px) and (orientation:landscape){.tutorial-banner{bottom:8px}.tutorial-banner span{display:none}.tutorial-banner strong{margin:1px 0}.tutorial-banner b{margin-top:2px}}
.advanced-dialog .dialog-footer{width:100%;min-width:0}.advanced-dialog .dialog-footer button{min-width:0;flex-basis:0;white-space:normal}

/* RF-EXEC-0016: first the thin protection, then the thick life. Same mapping for both slots. */
.hud-fighter .health.life-main{border-color:#98c8ff8c;opacity:1}
.hud-fighter .health.life-main.life-exposed{border-color:#ff899cbd}
.hud-fighter .health.health-second{opacity:.9;border-color:#69affb70}
.hud-fighter .health.health-second div{background:linear-gradient(90deg,#348ceb,#b1e4ff)}
.hud-fighter .health.health-second.active-stage{border-color:#a7d5ffba}
.hud-fighter .health.life-main div{background:linear-gradient(180deg,#8fcbff,#40a5ff);transition:width .07s linear}
.hud-fighter.p2 .health div{margin-left:auto}
#hp-number-p1,#hp-number-p2{font-variant-numeric:tabular-nums;white-space:nowrap}
#audio-library-panel{display:flex;flex-direction:column;min-height:0;gap:8px}
.music-queue{margin:0;padding:0;list-style:none;overflow:auto;min-height:0;max-height:250px;overscroll-behavior:contain}
.music-queue-item{display:grid;grid-template-columns:25px 1fr 36px;align-items:center;gap:8px;padding:10px 8px;border-bottom:1px solid #9cbdd21f;color:#a8bfca;font-size:12px}
.music-queue-item.current{color:#d5fcf3;background:#74dbc711;border-radius:8px}
.music-queue-number{font-size:10px;color:#74dbc7}.music-queue-item small{font-size:10px;opacity:.7;text-align:right}
.audio-playlist-footer{font-size:10px;color:#8eacb9;margin:0;line-height:1.4}
@media(orientation:landscape) and (max-height:540px){#audio-library-panel{gap:2px}.music-queue{max-height:100px}.music-queue-item{padding:6px 8px;font-size:10px}.audio-playlist-footer{font-size:9px}.hud-bottom span:last-child{font-size:7px}}

/* RF-EXEC-0017: thumbnails artisticas originais dos tres modos, mantendo a interface existente. */
.mode-card{isolation:isolate;position:relative;transition:transform .16s ease,border-color .16s ease}
.mode-card .mode-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 39%;opacity:.73;z-index:0;pointer-events:none;user-select:none;filter:saturate(1.12)}
.mode-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(3,11,21,.96) 0%,rgba(4,13,25,.86) 32%,rgba(7,18,30,.25) 80%,rgba(5,15,27,.13) 100%)}
.mode-card .mode-symbol,.mode-card .mode-body{position:relative;z-index:2;text-shadow:0 2px 10px #07121aaa}
.mode-card .mode-arrow,.mode-card .lock-badge{z-index:3}
.mode-card .mode-symbol{font-size:clamp(28px,4.5vw,58px);filter:drop-shadow(0 3px 5px #0005)}
.mode-card.training .mode-art{object-position:center 35%}
.mode-card.online .mode-art{object-position:center 38%}
.mode-card:focus-visible{outline-offset:2px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.mode-card:hover:not(:disabled){transform:translateY(-3px)}.mode-card:hover .mode-art{filter:saturate(1.22) contrast(1.07)}}
@media(orientation:portrait){.mode-card .mode-art{opacity:.48;object-position:center 35%}.mode-card::after{background:linear-gradient(90deg,rgba(4,14,26,.76) 0%,rgba(4,14,25,.86) 38%,rgba(4,14,25,.92) 100%)}.mode-card .mode-symbol{font-size:clamp(29px,5vw,41px)}}
@media(orientation:landscape) and (max-height:540px){.mode-card .mode-art{opacity:.58}.mode-card .mode-symbol{font-size:clamp(24px,4vw,38px)}}
@media(prefers-reduced-motion:reduce){.mode-card{transition:none}.mode-card:hover{transform:none}}

/* RF-DEPLOY-0017 polish: programmatically focused heading must not look like a textbox. */
#mode-title:focus{outline:none}
@media(orientation:portrait){.mode-card .mode-art{opacity:.72}.mode-card::after{background:linear-gradient(90deg,rgba(4,14,26,.57) 0%,rgba(4,14,25,.74) 43%,rgba(4,14,25,.80) 100%)}}

/* RF V18: two energy banks, awakening state and accessible low-motion presentation. */
.hud-fighter.two-bars .energy{position:relative;overflow:hidden}.hud-fighter.two-bars .energy:after{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;background:#081521;z-index:1}
.hud-fighter.awakened .energy{box-shadow:0 0 0 1px #a7edff88,0 0 12px #60bdff55}.hud-fighter.awakened .hud-label b{color:#d5f3ff;text-shadow:0 0 9px #74bcff88}
.hud-fighter.transform-ready .energy{box-shadow:0 0 9px #e6ca8266}.hud-fighter.awakened small[id^=meter-]{color:#b8e9ff}.hud-fighter.transform-ready small[id^=meter-]{color:#ffe4a2}
.hud-fighter small[id^=meter-]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:clamp(8px,1vw,11px)}
[data-input=super].transform-ready{border-color:#ffe8aa!important;box-shadow:0 0 14px #f0be5466!important}[data-input=super].awakened{border-color:#a7ddff!important}[data-input=special].evolved-ready{border-color:#b6ecff!important;box-shadow:0 0 12px #60c6ff66!important}
[data-input=super]{background-image:linear-gradient(0deg,#f1d18d44 calc(var(--awake-hold,0)*100%),transparent calc(var(--awake-hold,0)*100%))}
#preview-demo-label{color:#bce7ea;font-size:10px;letter-spacing:.04em}.preview-side canvas{touch-action:pan-y}
@media(prefers-reduced-motion:reduce){.hud-fighter.awakened .energy,.hud-fighter.transform-ready .energy{box-shadow:none}.hud-fighter.awakened .hud-label b{text-shadow:none}}

/* RF0028: dedicated transformation, vector controls and compact landscape HUD. */
#touch-controls .actions{grid-template-rows:repeat(3,var(--button-size))}
#touch-controls .actions .transform{grid-row:1;grid-column:2;color:#fbe3b2;border-color:#f4d49390;border-radius:50%}
#touch-controls .actions .special{grid-row:2;grid-column:2}
#touch-controls .actions .super{grid-row:2;grid-column:3;background-image:none}
#touch-controls .actions .jump{grid-row:2;grid-column:1}
#touch-controls .actions .guard{grid-row:3;grid-column:1}
#touch-controls .actions .light{grid-row:3;grid-column:2}
#touch-controls .actions .heavy{grid-row:3;grid-column:3}
#touch-controls .attack-icon{display:block;width:58%;height:58%;margin:auto;pointer-events:none;overflow:visible}
#touch-controls .actions button:disabled{opacity:.3;filter:saturate(.25);box-shadow:none;cursor:not-allowed}
#touch-controls .actions .transform:enabled{background:#775e24a3;border-color:#ffebbb;box-shadow:0 0 12px #eac16b55}
#touch-controls .actions .transform.awakened{opacity:.55;border-color:#95e5ff;color:#95e5ff}
#touch-controls .actions button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(orientation:landscape){
 .hud>.hud-fighter{width:60%;min-width:0;justify-self:start}
 .hud>.hud-fighter.p2{justify-self:end}
 .hud>.hud-fighter .hud-label{gap:5px}
 .hud>.hud-fighter .hud-label>span{max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){#touch-controls .actions .transform:enabled{box-shadow:none}}

/* RF0029: one stacked energy gauge, independent readiness feedback, shared selection. */
.hud-fighter .energy{height:7px;position:relative;overflow:hidden}
.hud-fighter.two-bars .energy:after{display:none}
.hud-fighter .energy .energy-first,.hud-fighter .energy .energy-second{position:absolute;left:0;top:0;bottom:0;height:100%;transition:width .07s linear;right:auto}
.hud-fighter .energy .energy-first{background:linear-gradient(180deg,#fff29c,#eab943)}
.hud-fighter .energy .energy-second{z-index:1;background:linear-gradient(100deg,#ffc46b,#f99330,#ffd086);box-shadow:0 0 8px #fa963a66}
.p2.hud-fighter .energy .energy-first,.p2.hud-fighter .energy .energy-second{left:auto;right:0;margin-left:0}
.energy[data-layers=two] .energy-second:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff0b67a 50%,transparent 65%);background-size:220% 100%;animation:meter-sheen 3.5s ease-in-out infinite}
@keyframes meter-sheen{0%,35%{background-position:120% 0}85%,100%{background-position:-120% 0}}
#touch-controls .actions .transform{grid-column:3;grid-row:1}
#touch-controls .joystick-wrap{transform:translateX(var(--stick-shift,0px))}
#joystick{transition:translate .13s ease-out}
#joystick.active{transition:none}
#joystick:not(.active) .stick-thumb{transition:transform .12s ease-out}
#joystick.active .stick-thumb{transition:none}
.actions button[data-charge-tone=yellow]{--charge:#fbd35d;--charge-soft:#fbd35d45}
.actions button[data-charge-tone=orange]{--charge:#ffab4d;--charge-soft:#ffab4d55}
#touch-controls .actions button.charge-ready:not(:disabled){box-shadow:inset 0 0 9px var(--charge-soft),0 0 12px var(--charge-soft);border-color:var(--charge)}
.actions button.charge-ready .attack-icon{filter:drop-shadow(0 0 2px var(--charge));animation:charge-breathe 2.8s ease-in-out infinite}
.actions button.charge-in .attack-icon{stroke-dasharray:110;animation:charge-trace .24s ease-out,charge-breathe 2.8s .24s ease-in-out infinite}
.actions button.charge-out .attack-icon{animation:charge-release .23s ease-out}
@keyframes charge-trace{from{stroke-dashoffset:110;transform:scale(.88)}to{stroke-dashoffset:0;transform:scale(1)}}
@keyframes charge-breathe{0%,100%{filter:drop-shadow(0 0 1px var(--charge));transform:scale(1)}50%{filter:drop-shadow(0 0 4px var(--charge));transform:scale(1.035)}}
@keyframes charge-release{from{filter:drop-shadow(0 0 5px var(--charge));transform:scale(1.035)}to{filter:none;transform:scale(1)}}
.skin-options .skin-card{display:flex;align-items:center;gap:8px;text-align:left;padding:7px;min-width:0;min-height:58px}
.skin-options .skin-card img{width:38px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0}
.skin-options .skin-card span{min-width:0;font-size:clamp(9px,1vw,12px)}
.online-room-content{grid-template-columns:minmax(150px,.8fr) minmax(0,1.35fr)!important;gap:14px}
.online-choices{display:flex;flex-direction:column;overflow:hidden!important;min-height:0;padding:0}
.online-choices #online-fighter-panel,.online-choices #online-map-panel{display:flex;flex-direction:column;min-height:0;flex:1;gap:8px;overflow:hidden}
.online-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-shrink:0}
.online-selection-heading .eyebrow{font-size:9px}.online-selection-heading small{font-size:8px;color:#abd1d0}
#online-roster-grid{flex:1;min-height:55px;overflow:auto;max-height:none;touch-action:none}
#online-roster-grid .variant-track{grid-auto-columns:clamp(95px,11vw,146px)}
#online-roster-grid .roster-card{height:91px;min-height:80px}
#online-roster-grid .roster-card strong{font-size:11px}
#online-roster-grid .roster-row h3{font-size:12px;margin:0 0 5px}
#online-roster-grid .roster-row{margin-bottom:7px}
#online-fighter-detail{flex:1;min-height:0;overflow:auto}
#online-fighter-detail h3{font-size:18px;margin:4px 0 12px}
.online-choice-footer{display:flex;gap:7px;flex-shrink:0}
.online-choice-footer button{flex:1}.online-choice-footer .primary{flex:1.5}
#online-stage-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(90px,1fr);grid-template-rows:none;overflow:auto;flex:1;min-height:70px}
#online-stage-cards .stage-card{min-height:84px;padding:7px}
#online-stage-cards .stage-card strong{font-size:12px}
#online-stage-cards .stage-card small{font-size:6px}
.online-map-caption{display:flex;flex-direction:column;gap:3px;flex-shrink:0}.online-map-caption strong{font-size:15px}.online-map-caption small{font-size:9px;color:#afced0}
#online-preview-demo{position:absolute;left:8px;right:8px;bottom:8px;font-size:9px;color:#b6e6df}
#online-roster-grid button:disabled,#online-skin-options button:disabled,#online-stage-cards button:disabled{cursor:default;opacity:.7}
@media(orientation:portrait){
 .online-room-content{display:flex!important;flex-direction:column;gap:7px}
 .online-preview{flex:0 0 24%;min-height:94px;max-height:165px}
 .online-preview canvas{width:50%;left:0;right:auto}
 .online-preview>strong,.online-preview>small{left:51%;right:5px;max-width:49%}
 .online-choices{flex:1}
 #online-roster-grid .variant-track{grid-auto-columns:minmax(85px,26vw)}
 #online-roster-grid .roster-card{height:82px;min-height:72px}
 #online-stage-cards{grid-auto-rows:88px}
 #online-skin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 #online-skin-options .skin-card{flex-direction:column;justify-content:center;text-align:center;gap:4px;min-height:94px}
 .online-room-tools .settings-tabs button{min-height:36px}
 .online-bottom #online-status{max-height:28px;overflow:hidden}
}
@media(orientation:landscape) and (max-height:540px){
 .online-room-content{grid-template-columns:minmax(120px,.65fr) minmax(0,1.5fr)!important;gap:8px}
 #online-view:has(#online-room:not([hidden]))>.online-heading{display:none}
 .online-choices #online-fighter-panel,.online-choices #online-map-panel{gap:4px}
 #online-roster-grid .roster-card{height:78px;min-height:70px}
 .online-selection-heading button,.online-choice-footer button{min-height:32px!important;font-size:10px!important;padding:4px 9px!important}
 #online-roster-grid .roster-row h3{font-size:10px}
 #online-stage-cards{grid-auto-rows:78px}
 .online-map-caption small{display:none}.online-randoms{display:none!important}
 #online-map-panel .setting-field{flex-shrink:0;font-size:9px!important;margin:0;display:flex;gap:10px;align-items:center}
 #online-map-panel #online-policy{width:65%;min-height:30px;font-size:12px!important}
 #online-skin-options .skin-card{min-height:64px}
}
@media(prefers-reduced-motion:reduce){.actions button .attack-icon,.energy[data-layers=two] .energy-second:after{animation:none!important}#joystick,#stick-thumb{transition:none!important}}
/* Compact room chrome leaves the catalogue usable on small phones. */
#online-preview-demo{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
#online-view:has(#online-room:not([hidden])) #online-title{font-size:clamp(18px,2.2vw,26px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0 0}
#online-view:has(#online-room:not([hidden]))>.online-heading>div{min-width:0}
#online-view:has(#online-room:not([hidden]))>.online-heading{flex:0 0 auto;gap:9px}
#online-roster-grid{min-height:0}
@media(orientation:portrait){
 #online-view:has(#online-room:not([hidden]))>.online-heading .eyebrow{font-size:8px}
 #online-view:has(#online-room:not([hidden]))>.online-heading{margin-bottom:0}
 .online-preview>strong{top:38%;bottom:auto;font-size:18px}
 .online-preview>#online-participation{top:63%;bottom:auto;font-size:9px}
 #online-room{gap:7px}
}
@media(orientation:landscape) and (max-height:360px){
 #online-room{gap:5px}
 .online-member{min-height:37px!important;padding:4px 7px!important;gap:6px!important}
 .online-member img{width:30px!important;height:30px!important}
 .online-member .member-copy>small{display:none}
 .online-member .member-copy>strong{font-size:10px}.online-member .member-copy>span{font-size:8px}
 .online-room-tools .settings-tabs button,.online-room-tools>button{min-height:28px!important;padding:3px 8px!important;font-size:10px}
 .online-room-tools{gap:5px}
 .online-bottom #online-status{display:none}
 .online-bottom{margin-top:0!important;padding-top:5px!important}
 #online-fighter-panel .online-selection-heading{max-height:26px}
 #online-stage-cards{min-height:0}
}

@media(orientation:landscape) and (max-height:360px){
 #online-roster-grid .roster-card{height:62px!important;min-height:62px!important}
 #online-roster-grid .roster-card>small{display:none}
 #online-roster-grid .roster-card>strong{font-size:10px}
 #online-fighter-panel .online-selection-heading button{min-height:24px!important}
 #online-roster-grid .roster-row h3{margin:0 0 3px}
}
