/* Illustrated room lobby only. The home and active match retain their own layout. */
body.arcade-room{background:#248d9f url('../assets/room-art-v1/casual-stage.webp') center/cover fixed no-repeat}
body.arcade-room:has(#room-screen[data-room-mode=ranked]){background-image:url('../assets/room-art-v1/ranked-stage.webp')}
body.arcade-room:has(#room-screen[data-room-mode=story]){background-image:url('../assets/room-art-v1/story-stage.webp')}
body.arcade-room .app-shell{max-width:1600px;padding:0 25px 18px}
body.arcade-room #room-screen.room-screen.room-art-v1{--room-stage:url('../assets/room-art-v1/casual-stage.webp');--room-ink:#194b62;display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 105px);min-height:0;max-width:none;margin:0;padding:0 5px 5px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--room-ink);overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked]{--room-stage:url('../assets/room-art-v1/ranked-stage.webp')}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story]{--room-stage:url('../assets/room-art-v1/story-stage.webp')}
body.arcade-room #room-screen.room-screen.room-art-v1 *{box-sizing:border-box}
body.arcade-room #room-screen.room-screen.room-art-v1 [hidden]{display:none!important}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading{position:relative;display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:14px;height:96px;min-height:96px;margin:0;padding:0 9px;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-title{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:450px;height:126px;flex:none;margin-left:8px;padding:12px 55px 10px;isolation:isolate}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-title-plaque{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 4px 2px #35271055);pointer-events:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-kicker{padding:0;margin:0 0 4px;background:none;border-radius:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff5d2;font-size:11px;line-height:1.2;letter-spacing:1.1px;text-shadow:0 1px 2px #412819}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading h1{margin:0;font:800 36px/1 'Baloo 2',sans-serif;letter-spacing:-.3px;color:#fff4c9;text-shadow:0 3px #523017;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge{display:flex;flex:none;align-items:center;gap:12px;width:auto;height:64px;margin-left:auto;padding:5px 9px 5px 17px;border:3px solid #f5d478;border-radius:17px;background:linear-gradient(#10617c,#073b5b);box-shadow:inset 0 2px #54bed4,0 3px #987238,0 0 0 1px #ad7d2e;color:#fff6ce}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge small{font-size:11px;line-height:1.2;letter-spacing:.7px;max-width:40px;color:#e6f7f5}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge strong{font-size:29px;color:#ffeb99;letter-spacing:3px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge button{display:grid;place-items:center;width:44px;height:44px;padding:6px;border:1px solid #93d3de;border-radius:10px;background:linear-gradient(#327d9d,#0a537d);box-shadow:inset 0 2px #74b7c6;color:#e4fbfa}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge svg{width:25px;height:25px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-back{flex:none;min-height:58px;padding:10px 20px;border:3px solid #f9df8f;border-radius:17px;background:linear-gradient(#167db3,#064b81);box-shadow:inset 0 2px #83def2,0 3px #8b6428;color:#fff8dc;font-size:14px;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-back svg{width:21px;height:21px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(325px,1fr);grid-template-rows:minmax(0,1fr);gap:20px;flex:1;min-height:0;height:auto;overflow:visible;padding:0;align-items:stretch}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-left{display:flex;flex-direction:column;gap:14px;min-height:0;min-width:0;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;border:6px solid transparent;border-image:url('../assets/social-art-v2/frame.webp') 195 170/30px/5px stretch;border-radius:23px;background:var(--room-stage) center/cover no-repeat;box-shadow:0 6px 16px #10334555;overflow:hidden;padding:9px 8px 7px}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading{flex:none;align-self:center;min-height:45px;padding:7px 18px;border:2px solid #e1b456;border-radius:14px;background:linear-gradient(#8f5b2d,#5b381c);box-shadow:inset 0 2px #d9ab65,0 3px #2c332944;gap:16px}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading h2{font-size:25px;color:#fff4cd;text-shadow:0 2px #3d271b}
body.arcade-room #room-screen.room-screen.room-art-v1 .panel-heading span{font-size:11px;letter-spacing:.3px;background:#0b4967e8;border:1px solid #ddc782;border-radius:8px;padding:3px 8px;color:#fff5d9;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:110px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:13px;flex:1;min-height:0;overflow:auto;background:none;padding:9px 8px 0;margin:0;scrollbar-width:thin;scrollbar-color:#d7b263 #326577}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="1"]{grid-template-columns:minmax(0,1fr);max-width:430px;width:100%;align-self:center}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="3"]{grid-template-columns:repeat(3,minmax(0,1fr));--plinth-height:95px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true]{grid-template-columns:repeat(var(--team-columns),minmax(0,1fr));grid-template-rows:repeat(2,minmax(190px,1fr));gap:7px 12px;--plinth-height:85px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="8"]{--plinth-height:75px;gap:7px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;width:auto;height:100%;min-height:190px;max-height:none;margin:0;padding:0 0 10px;border:0;border-radius:12px;background:none;box-shadow:none;outline:0;overflow:hidden;isolation:isolate}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot:before{content:'';position:absolute;inset:12px 9% 22px;z-index:-1;border-radius:35% 35% 20px 20px;background:linear-gradient(transparent 0%,#e6fcff45 65%,#d1eff590);pointer-events:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot.team-red:before{background:linear-gradient(transparent,#ffeadc40 55%,#fba89565)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot.team-blue:before{background:linear-gradient(transparent,#d6f9ff40 55%,#72cae765)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-art-pedestal{position:absolute;inset:auto 0 0;width:100%;height:var(--plinth-height);object-fit:fill;z-index:-1;pointer-events:none;filter:drop-shadow(0 5px 3px #30281270)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header{position:relative;z-index:2;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;min-height:34px;width:100%;padding:3px 5px;color:#244c59}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header>b{display:grid;place-items:center;width:31px;height:33px;margin:0;border:2px solid #f9e1a5;border-radius:9px;background:#066a88;color:#fff8d8;box-shadow:0 2px #a58139;font-size:19px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-red .slot-header>b{background:linear-gradient(#cf5547,#9c2931)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-blue .slot-header>b{background:linear-gradient(#1689bd,#155593)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .seat-move-button{min-height:35px;padding:5px 8px;border:2px solid #f1d99a;border-radius:9px;background:linear-gradient(#fff9df,#e9d394);color:#5e4827;font:900 11px/1.2 'Nunito Sans',sans-serif;box-shadow:0 2px #987742}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-red .seat-move-button{background:linear-gradient(#fff5df,#eab6a3);color:#872f30}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-blue .seat-move-button{background:linear-gradient(#e7fff9,#a9dbea);color:#125876}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .ready-badge{margin-left:auto;padding:4px 6px;border:1px solid #e0ba77;border-radius:7px;background:#fff8dfec;color:#595744;font-size:11px;line-height:1.2;letter-spacing:0;box-shadow:0 2px #765e3333}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .you .ready-badge{color:#a24629}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .is-ready .ready-badge{color:#20644a;background:#e0f6cc}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-character{position:absolute;left:5%;bottom:calc(var(--plinth-height) * .52);width:90%;height:calc(100% - var(--plinth-height) * .52 - 27px);max-width:none;min-height:0;flex:none;margin:0;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 2px #203b4050);z-index:0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{position:absolute;left:8%;right:8%;bottom:calc(var(--plinth-height) * .25);width:auto;max-width:none;min-height:0;max-height:none;flex:none;margin:0;padding:0;font:800 19px/1.15 'Baloo 2',sans-serif;color:#194c67;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px #fffae0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{position:absolute;left:8%;right:8%;bottom:calc(var(--plinth-height) * .085);max-width:none;min-height:0;flex:none;margin:0;padding:0;font-size:11px;line-height:1.1;font-weight:900;color:#356169;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-red>small{color:#982e31}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .team-blue>small{color:#0b628c}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="8"] .room-slot>strong{font-size:14px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot.empty>strong{font-size:13px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .empty-seat{position:absolute;display:grid;place-items:center;left:50%;top:44%;transform:translate(-50%,-50%);width:69px;height:69px;min-height:0;margin:0;padding:0;border:2px dashed #179dbdc2;border-radius:50%;background:#ecfefaa8;color:#05799d;box-shadow:0 0 25px #f1ffed70;font:800 52px/1 'Baloo 2',sans-serif}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .kick-player{position:static;display:block;flex:none;width:auto;height:auto;min-height:29px;margin:0;padding:5px 7px;border:1px solid #d7b284;border-radius:6px;background:#fff4df;color:#8e4438;font:800 11px/1 'Nunito Sans',sans-serif}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom{display:flex;flex:none;align-items:center;justify-content:center;min-height:53px;padding:5px 8px 2px;background:none;border:0;gap:10px}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom>span{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom button{min-height:44px;padding:7px 24px;border:2px solid #f7dfa0;border-radius:13px;background:linear-gradient(#1799c2,#075a88);box-shadow:inset 0 2px #83e3ec,0 3px #967037;color:#fff9e6;font-size:14px}
body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom svg{width:23px;height:23px}
body.arcade-room #room-screen.room-screen.room-art-v1 .seat-request-status,body.arcade-room #room-screen.room-screen.room-art-v1 .seat-change-notice{flex:none;margin:7px 8px;padding:7px 10px;background:#fff5d9;color:#446653;border:1px solid #dcb979;font-size:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{display:flex;flex-direction:column;flex:none;min-height:164px;height:164px;margin:0;border:5px solid transparent;border-image:url('../assets/social-art-v2/frame.webp') 195 170/24px/4px stretch;border-radius:19px;background:#fff7de;box-shadow:0 5px 14px #26455250;overflow:hidden;padding:3px 5px 5px}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{display:flex;flex:none;min-height:35px;padding:6px 10px;border:0;border-radius:8px;background:linear-gradient(#089aba,#03526f);box-shadow:inset 0 1px #56d1d8;color:#fff8de}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading h2{font-size:19px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-chat-log{flex:1;min-height:32px;height:auto;max-height:none;padding:6px 12px;background:linear-gradient(120deg,#fff3d0,#fffdf1);scrollbar-width:thin;scrollbar-color:#c19f5f #f3e7c1}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-welcome{max-width:none;margin:0;padding:1px 0;color:#456c72;font-size:12px;line-height:1.4}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-message{padding:3px 0;font-size:12px;line-height:1.4}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form{display:flex;gap:8px;flex:none;height:auto;min-height:47px;padding:3px 7px;background:none;border:0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-input{height:42px;min-height:42px;padding:8px 10px;border:2px solid #dac590;border-radius:10px;background:#fffef5;box-shadow:inset 0 2px 3px #9d8d6122;color:#244c60;font-size:13px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:90px;width:auto;min-height:42px;padding:7px 13px;border:2px solid #8ed9e0;border-radius:10px;background:linear-gradient(#108eb9,#07547f);box-shadow:inset 0 2px #65cbd8,0 2px #827046;color:#fffbea;font:900 13px 'Nunito Sans',sans-serif}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-status{background:none;color:#8a4530;padding:0 10px;font-size:11px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-status:empty{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-right{display:flex;flex-direction:column;min-height:0;min-width:0;gap:10px;padding:9px;border:6px solid transparent;border-image:url('../assets/social-art-v2/frame.webp') 195 170/30px/5px stretch;border-radius:23px;background:linear-gradient(110deg,#fff4d3,#fffbea);box-shadow:0 6px 17px #173c4c55;overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-controls{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bd9955 #f0e1b9;display:flex;flex-direction:column;gap:10px;padding:1px 4px 3px}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel{display:flex;flex-direction:column;flex:none;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:12px;background:none;box-shadow:none;overflow:visible;gap:8px}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character{display:flex;flex:none;align-items:center;justify-content:space-between;min-height:74px;height:74px;padding:9px 12px;border:1px solid #b8d8cc;border-radius:12px;background:linear-gradient(120deg,#e9faee,#c8e5df);overflow:hidden;gap:9px}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character>span{min-width:0}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character small{font-size:11px;line-height:1.2;color:#245469;letter-spacing:1px}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:30px;line-height:1;margin:3px 0;color:#174865}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character p{display:block;font-size:11px;line-height:1.3;margin:4px 0 0;color:#42686d;max-width:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character>img{display:block;flex:none;width:85px;height:88px;object-fit:contain;transform:none;margin-bottom:-12px;filter:drop-shadow(0 4px 2px #2b767738)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:6px;padding:0;min-height:0;max-height:none;overflow:visible;background:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;gap:0;min-width:0;min-height:68px;height:clamp(68px,8.4dvh,92px);padding:4px 3px 3px;border:1px solid #98c6c7;border-radius:10px;background:linear-gradient(#f2fffa,#cfe8e3);box-shadow:inset 0 1px #fff,0 2px #94babc55;color:#285364;overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button img{display:block;width:100%;height:calc(100% - 17px);min-height:0;max-width:80px;object-fit:contain;filter:drop-shadow(0 2px 1px #326c6438)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button .creature-name{display:block;font-size:12px;line-height:15px;font-weight:900;color:#244c61}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button[aria-pressed=true]{border:2px solid #d49b29;background:linear-gradient(#fffce7,#ffe193);box-shadow:inset 0 0 0 1px #fff9bd,0 2px #bd933b}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button[aria-pressed=true]:after{font-size:17px;top:0;right:4px;color:#99631e}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge{display:flex;font-size:10px;line-height:1.1;top:3px;left:2px;right:2px;padding:1px 3px;justify-content:center;background:#fff2cbdc;border-color:#d3b775;color:#5f542d}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge .shop-icon{width:12px;height:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .ranked-pick-badge{top:2px;right:2px;font-size:10px;padding:2px 4px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-kit-disclosure{display:flex;flex-direction:column;flex:none;gap:6px;border:0;padding:0;margin:0;align-self:stretch}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-kit-toggle,body.arcade-room #room-screen.room-screen.room-art-v1 #room-skins-button{display:flex;align-items:center;justify-content:space-between;flex:none;gap:8px;width:100%;min-height:38px;height:38px;padding:6px 12px;margin:0;border:1px solid #abd0c6;border-radius:9px;background:linear-gradient(#f9fff4,#daeae0);box-shadow:inset 0 1px #fff,0 2px #8fab9c55;color:#255164;font:900 12px/1.2 'Nunito Sans',sans-serif;text-align:left;white-space:normal}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-label-long{display:inline}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-label-short{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-skins-button:after{content:'›';font-size:23px;line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-team-status{display:flex;flex-wrap:wrap;gap:5px;flex:none;padding:5px 8px;border:0;border-radius:7px;background:#ece8c9;color:#416360;min-height:26px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-team-status>b{font-size:11px;color:#375a5e;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-team-status>span{width:20px;height:20px;line-height:20px;font-size:11px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-panel{display:block;flex:none;min-width:0;min-height:0;margin:0;padding:0;border:2px solid #bba05c;border-radius:13px;background:#fff6d9;box-shadow:inset 0 0 0 1px #fffbe5;overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-panel>.panel-heading{display:flex;min-height:35px;padding:6px 10px;border:0;background:linear-gradient(#1198b4,#045573)}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-panel .panel-heading h2{font-size:19px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy{display:flex;align-items:center;gap:10px;padding:8px;min-width:0}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy canvas{flex:none;width:45%;height:auto;aspect-ratio:16/9;border:2px solid #ddbc72;border-radius:8px;image-rendering:auto}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy>span{display:block;min-width:0;padding:0}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy strong{font-size:22px;line-height:1.05;color:#265363;white-space:normal}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy small{display:block;font-size:11px;line-height:1.3;color:#5b7168;margin-top:3px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy>span>small:last-child{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-map-select{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 16px);min-height:38px;margin:0 8px 8px;padding:6px 10px;border:1px solid #a9c8b6;border-radius:8px;background:linear-gradient(#f6fff0,#c8e7da);color:#285768;box-shadow:0 2px #799d9055;font-size:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-map-select svg{width:20px;height:20px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-reveal-rule{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank{margin:0;padding:3px 7px;border:2px solid #bc9345;border-radius:13px;background:linear-gradient(120deg,#123c63,#081f45);box-shadow:inset 0 1px #608f9e;color:#fff3c4}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank>.panel-heading{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank .room-map-copy{display:flex;min-height:86px;padding:3px 8px;gap:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-current-rank-badge{display:block;flex:none;width:80px;height:80px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-current-rank-badge>*{width:100%!important;height:100%!important}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank #room-map-name{color:#ffeec0;font-size:25px;line-height:1.1;white-space:normal}
body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank #room-map-terrain{color:#d8edf1;font-size:12px;line-height:1.3;margin-top:4px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start{position:static;left:auto;right:auto;bottom:auto;display:flex;flex:none;flex-direction:column;gap:6px;min-height:0;margin:0;padding:2px 2px 5px;border:0;border-radius:0;background:none;box-shadow:none;z-index:2}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-hint{display:block;margin:0 5px;min-height:0;padding:0;color:#5b6b58;font-size:11px;line-height:1.3;text-align:center}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle{display:flex;align-items:center;justify-content:center;gap:14px;flex:none;grid-column:auto;grid-row:auto;width:100%;height:auto;min-height:62px;margin:0;padding:10px 15px;border:3px solid #fff0aa;outline:1px solid #c49537;border-radius:16px;background:linear-gradient(#fff2b0,#ffcf4a 60%,#e9a632);box-shadow:inset 0 3px #fff9d7,inset 0 -3px #da9630,0 4px #a6782d;color:#583917;font:800 29px/1.05 'Baloo 2',sans-serif;text-shadow:0 1px #ffefaa;white-space:normal}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle>span{font:inherit}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle:disabled{background:linear-gradient(#f2e8c6,#d9c289);border-color:#fff0c0;outline-color:#b79b56;box-shadow:inset 0 2px #fff4d3,0 3px #ad945e;color:#827046;text-shadow:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle.guest-ready-action:not(:disabled){background:linear-gradient(#d2ffc3,#54d3b5);color:#145849;outline-color:#5b9c73;border-color:#ecffd5;box-shadow:inset 0 2px #f5ffe9,0 4px #51876c}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-status{margin:0;color:#805732;font-size:11px;line-height:1.3}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-status:empty{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1.story-party .room-map-panel{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{flex:none;display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:10px 13px;border:5px solid transparent;border-image:url('../assets/social-art-v2/frame.webp') 195 170/23px/4px stretch;border-radius:18px;background:linear-gradient(110deg,#fff2cd,#fffbe9);box-shadow:0 4px 12px #22494b44;color:#235266}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head{display:flex;align-items:center;gap:13px;min-width:0}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head .story-boss-portrait{display:block;flex:none;width:82px;height:82px;border:3px solid #efce7b;border-radius:50%;box-shadow:0 0 0 1px #ab8039,0 3px #b09a61;overflow:hidden;background:#b6d6c4}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head .story-boss-portrait img{width:100%;height:100%;object-fit:cover}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head>div:not(.room-art-boss-facts){min-width:0;flex:1}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head small{font-size:11px;color:#557268;line-height:1.2}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head h2{margin:3px 0;font:800 27px/1 'Baloo 2',sans-serif;color:#194e64}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head p{font-size:12px;line-height:1.3;margin:5px 0 0;color:#667458}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{display:flex;gap:7px;flex:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts>span{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #d7c28d;border-radius:9px;background:#f6eccb}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:27px;height:27px;object-fit:contain}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts span>span{display:flex;flex-direction:column}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{font-size:15px;color:#285667}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-buttons button{min-height:38px;padding:6px 16px;border:2px solid #efd99d;border-radius:10px;background:linear-gradient(#1197b4,#075875);box-shadow:0 2px #9f7b39;color:#fff8db;font-size:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(button,input):focus-visible{outline:3px solid #053f5a;outline-offset:3px}
body.arcade-room #room-kit-detail:not([hidden]){border:3px solid #d3b167;border-radius:13px;background:#fff8df;box-shadow:0 8px 24px #153b5366;color:#29536b}
body.arcade-room #room-kit-detail small{color:#526e62}
body.arcade-room #room-kit-detail strong{color:#255269}
body.arcade-room #room-kit-detail p{color:#466b70}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-wait-short{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{bottom:calc(var(--plinth-height) * .34)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{bottom:calc(var(--plinth-height) * .18)}

@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-body{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:17px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading{height:82px;min-height:82px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-title{width:390px;height:109px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:31px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{height:137px;min-height:137px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true]{grid-template-rows:repeat(2,minmax(104px,1fr));--plinth-height:63px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot{min-height:104px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot{min-height:158px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .ready-badge{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .seat-move-button{font-size:10px;min-height:32px;padding:4px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:15px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{flex-direction:column;gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts>span{padding:3px 6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:22px;height:22px}
}

@media(max-width:700px) and (min-height:521px){
 body.arcade-room .app-shell{padding:0 11px 14px}
 body.arcade-room #room-screen.room-screen.room-art-v1{height:calc(100dvh - 89px);gap:9px;padding:0 2px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading{height:123px;min-height:123px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:66px 48px;gap:6px 9px;padding:0 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-title{display:flex;grid-column:1/-1;grid-row:1;justify-self:center;width:min(355px,105%);height:98px;margin:0;padding:14px 45px 9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:27px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-kicker{font-size:10px;letter-spacing:.6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge{grid-column:1;grid-row:2;width:100%;height:48px;min-height:48px;margin:0;padding:2px 3px 2px 10px;gap:7px;border-width:2px;border-radius:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge small{font-size:10px;max-width:34px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge strong{font-size:25px;letter-spacing:2px;margin:auto}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge button{width:40px;height:40px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-back{grid-column:2;grid-row:2;min-height:48px;height:48px;padding:7px 12px;border-width:2px;border-radius:12px;gap:5px;font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-back svg{width:18px;height:18px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-body{display:flex;flex-direction:column;gap:13px;overflow-y:auto;overflow-x:hidden;min-height:0;padding:5px 5px 102px;scroll-padding:7px;scrollbar-width:thin;scrollbar-color:#d7b674 transparent}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-left{display:contents;overflow:visible}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel{order:0;flex:none;min-height:370px;height:370px;padding:7px 3px 4px;border-width:5px;border-image-width:23px;border-image-outset:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading{min-height:35px;padding:4px 9px;border-radius:10px;gap:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading h2{font-size:21px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .panel-heading span{font-size:10px;padding:2px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster{gap:8px;padding:7px 1px 0;--plinth-height:86px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:170px;gap:7px;--plinth-height:78px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="6"],body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="8"]{grid-template-columns:repeat(2,minmax(0,1fr));--plinth-height:78px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="3"]{grid-template-columns:repeat(3,minmax(0,1fr));--plinth-height:69px;gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot{min-height:160px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header{padding:2px;gap:3px;min-height:32px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header>b{width:24px;height:29px;font-size:16px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .ready-badge{font-size:10px;padding:3px 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .seat-move-button{min-height:33px;padding:3px 5px;font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:14px;line-height:1.1;white-space:normal;max-height:30px;bottom:calc(var(--plinth-height) * .24)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:10px;bottom:calc(var(--plinth-height) * .07)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot.empty>strong{font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .empty-seat{width:49px;height:49px;font-size:38px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .kick-player{min-height:27px;font-size:10px;padding:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom{min-height:47px;padding:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom button{min-height:40px;font-size:12px;padding:6px 18px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-right{order:2;display:block;flex:none;min-height:0;overflow:visible;padding:8px;border-width:5px;border-image-width:23px;border-image-outset:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-controls{display:flex;min-height:0;overflow:visible;padding:0;gap:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button{height:75px;min-height:75px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start{position:fixed;z-index:30;left:18px;right:18px;bottom:10px;padding:7px 10px 9px;gap:5px;border:2px solid #d7b568;border-radius:15px;background:linear-gradient(#fff9e3,#f0deaf);box-shadow:0 2px 12px #123d5680}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-hint{font-size:11px;line-height:1.2;margin:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle{min-height:47px;height:47px;font-size:24px;padding:6px 10px;border-width:2px;border-radius:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{order:3;height:170px;min-height:170px;border-width:5px;border-image-width:23px;border-image-outset:3px;margin:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-input{font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form button{min-width:66px;padding:6px;gap:3px;font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{order:1;padding:9px;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head{flex-wrap:wrap;gap:9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head .story-boss-portrait{width:65px;height:65px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head h2{font-size:23px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head p{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{flex-direction:row;width:100%;justify-content:flex-end;gap:7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-buttons{justify-content:flex-start}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-buttons button{min-height:40px;flex:1;padding:7px 10px;font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{width:100%}
}

@media(max-height:520px){
 body.arcade-room .app-shell{padding:0 12px 10px}
 body.arcade-room #room-screen.room-screen.room-art-v1{height:calc(100dvh - 67px);min-height:0;padding:0 3px 3px;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading{height:54px;min-height:54px;gap:9px;padding:0 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-title{display:flex;width:310px;height:83px;margin:0;padding:9px 38px 6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:26px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-kicker{font-size:10px;line-height:1;letter-spacing:.6px;margin-bottom:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge{height:44px;min-height:44px;padding:2px 3px 2px 9px;gap:7px;border-width:2px;border-radius:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge small{font-size:10px;max-width:34px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge strong{font-size:23px;letter-spacing:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge button{width:36px;height:36px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-back{height:44px;min-height:44px;padding:6px 11px;font-size:12px;border-width:2px;border-radius:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-body{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,1fr);grid-template-rows:minmax(0,1fr);gap:13px;min-height:0;height:auto;padding:0;overflow:visible}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-left{display:flex;flex-direction:column;gap:9px;overflow:auto;min-height:0;padding:4px;scrollbar-width:thin;scrollbar-color:#d3b273 transparent}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel{flex:none;min-height:231px;height:231px;padding:5px 4px 3px;border-width:4px;border-image-width:22px;border-image-outset:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading{min-height:29px;padding:3px 10px;gap:9px;border-radius:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading h2{font-size:20px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .panel-heading span{font-size:10px;padding:2px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster{padding:3px 3px 0;gap:7px;--plinth-height:68px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true]{grid-template-columns:repeat(var(--team-columns),minmax(0,1fr));grid-template-rows:repeat(2,minmax(132px,1fr));--plinth-height:64px;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-capacity="3"]{--plinth-height:67px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot{height:100%;min-height:129px;padding:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header{padding:0 2px;min-height:30px;gap:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header>b{width:22px;height:27px;font-size:15px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .ready-badge{font-size:10px;padding:3px 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .seat-move-button{min-height:30px;padding:4px;font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-character{bottom:calc(var(--plinth-height) * .52);height:calc(100% - var(--plinth-height) * .52 - 21px)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:13px;line-height:1.1;bottom:calc(var(--plinth-height) * .23)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot.empty>strong{font-size:11px;line-height:1;white-space:normal;max-height:23px;bottom:calc(var(--plinth-height) * .21)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:10px;bottom:calc(var(--plinth-height) * .05)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .empty-seat{display:grid;width:38px;height:38px;line-height:1;font-size:29px;top:50%}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .kick-player{font-size:10px;min-height:27px;padding:3px 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom{min-height:39px;padding:3px;justify-content:center}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom button{min-height:33px;padding:4px 14px;font-size:12px;border-radius:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-bottom svg{width:19px;height:19px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{display:flex;flex:none;min-height:137px;height:137px;margin:0;border-width:4px;border-image-width:20px;border-image-outset:3px;padding:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{display:flex;min-height:30px;padding:4px 7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading h2{font-size:17px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-chat-log{min-height:35px;height:auto;padding:5px 8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-welcome{font-size:11px;line-height:1.3;white-space:normal}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form{height:auto;min-height:43px;padding:3px;gap:5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-input{min-height:37px;height:37px;font-size:12px;padding:6px 8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form button{min-height:37px;min-width:70px;padding:4px 7px;font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-right{display:flex;min-height:0;padding:6px;gap:6px;border-width:4px;border-image-width:22px;border-image-outset:3px;overflow:hidden}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-controls{gap:8px;padding:1px 3px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel{display:flex;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character{height:60px;min-height:60px;padding:6px 9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character small{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:26px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character p{font-size:10px;margin-top:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character>img{display:block;width:65px;height:70px;flex:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;overflow:visible;gap:4px;padding:0;min-height:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button{display:flex;flex:none;min-width:0;min-height:62px;height:62px;padding:3px;gap:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button img{width:100%;height:42px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button .creature-name{font-size:11px;line-height:13px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-kit-disclosure{display:flex;flex-direction:row;align-items:stretch;padding:0;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-kit-toggle,body.arcade-room #room-screen.room-screen.room-art-v1 #room-skins-button{flex:1;min-width:0;min-height:36px;height:36px;padding:5px 7px;font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-team-status{padding:4px 6px;min-height:24px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-panel{display:block;min-height:0;padding:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-panel .panel-heading{display:flex}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy{display:flex;flex:none;padding:7px;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy small{display:block;font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-map-copy strong{font-size:20px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank .room-map-copy{min-height:68px;padding:3px 7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-current-rank-badge{width:62px;height:62px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank #room-map-name{font-size:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel>.room-current-rank #room-map-terrain{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start{display:flex;position:static;min-height:0;gap:4px;padding:2px 2px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-hint{font-size:10px;line-height:1.2;margin:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle{grid-column:auto;grid-row:auto;min-height:44px;height:44px;width:100%;font-size:24px;padding:5px 10px;border-width:2px;border-radius:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{flex:none;padding:8px;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head{flex-wrap:wrap;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head .story-boss-portrait{width:58px;height:58px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head h2{font-size:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-head p{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{width:100%;justify-content:flex-end;gap:7px;flex-direction:row}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-buttons button{min-height:38px;font-size:12px}
}

@media(max-height:520px){
 body.arcade-room{overflow:hidden}
 body.arcade-room .app-shell{height:100dvh;overflow:hidden}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-code-badge,body.arcade-room #room-screen.room-screen.room-art-v1 .room-back{order:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel{height:calc(100dvh - 138px);min-height:205px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true]{grid-template-rows:repeat(2,minmax(69px,1fr));--plinth-height:48px;gap:5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot{min-height:69px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .slot-header{min-height:27px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .slot-character{height:calc(100% - 36px);bottom:25px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot.empty .ready-badge{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot>strong{font-size:11px;line-height:1;bottom:17px;white-space:nowrap}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot>small{font-size:9px;line-height:1;bottom:7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot.empty>strong{font-size:11px;line-height:1;bottom:17px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .empty-seat{width:29px;height:29px;top:45%;font-size:25px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-wait-long{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-wait-short{display:inline}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character{height:30px;min-height:30px;padding:3px 8px;gap:7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character>span{display:flex;align-items:center;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character small{font-size:10px;letter-spacing:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:21px;margin:0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character p,body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character>img{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button{height:52px;min-height:52px;padding:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button img{height:35px;object-fit:contain}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button .creature-name{font-size:10px;line-height:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge{font-size:9px;top:0;padding:0 1px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge .shop-icon{width:9px;height:9px}
}

/* Keep all twelve choices and both teams visible on the shortest phone. */
@media(max-height:375px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-heading{height:46px;min-height:46px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .crew-panel{height:calc(100dvh - 130px);min-height:205px}
}

/* Anchor the opaque feet, not the transparent image rectangle, to the water disk. */
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-character{
 left:50%;bottom:calc(var(--plinth-height) * var(--room-ground-factor,.81));width:auto;height:calc(100% - var(--plinth-height) * var(--room-ground-factor,.81) - 20px);max-width:none;object-fit:fill;transform:translate(var(--room-foot-x,-50%),var(--room-foot-y,0%));transform-origin:center bottom;
}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{bottom:calc(var(--plinth-height) * .34)}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{bottom:calc(var(--plinth-height) * .18)}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-character{height:calc(100% - var(--plinth-height) * var(--room-ground-factor,.81) - 12px)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .slot-character{height:calc(100% - var(--plinth-height) * var(--room-ground-factor,.81) + 3px);bottom:calc(var(--plinth-height) * var(--room-ground-factor,.81))}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot>strong{bottom:calc(var(--plinth-height) * .34)}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster[data-team-rows=true] .room-slot>small{bottom:calc(var(--plinth-height) * .16)}
}

/* The picker uses each equipped look's verified battle card. */
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button{padding:0;isolation:isolate}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button>.room-art-picker-fallback{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .character-card-art{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:inherit;z-index:0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .character-card-art .character-card-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;object-fit:cover;filter:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .character-card-art[data-art=portrait] .character-card-image{object-fit:contain}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .character-card-copy,body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .character-card-stamp{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button>.creature-name{position:absolute;z-index:2;inset:auto 0 0;display:block;padding:2px 3px 3px;background:linear-gradient(transparent,#073749d9);color:#fff9de;text-shadow:0 1px 2px #082b41;font-size:12px;line-height:15px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button[data-locked=true]>.creature-name{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge{z-index:3;top:auto;bottom:2px;left:3px;right:3px;padding:2px 3px;background:linear-gradient(#fff6d9,#ebd299);border:1px solid #ac883f;box-shadow:0 1px #fff9dc;color:#674921;font-size:11px;line-height:1.1;opacity:1}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button[aria-pressed=true]:after{z-index:4;border-radius:50%;padding:0 2px;background:#fff2bd;color:#9a6120;text-shadow:none}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid button>.creature-name{font-size:10px;line-height:12px;padding:1px 2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid .hero-lock-badge{font-size:10px;left:1px;right:1px;bottom:1px;padding:1px 2px}
}

/* Story parties carry a complete illustrated boss mission, with the live briefing path. */
body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{
 position:relative;display:grid;grid-template-columns:minmax(110px,.95fr) minmax(140px,1.08fr) minmax(137px,.97fr) minmax(105px,.72fr);align-items:center;gap:11px;height:225px;min-height:225px;padding:42px 24px 20px;border:0;border-radius:0;border-image:none;background:transparent url('../assets/room-art-v1/mission-panel-complete.webp') center/100% 100% no-repeat;box-shadow:none;overflow:visible;
}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-ribbon{position:absolute;left:8%;top:18px;transform:rotate(-3deg);max-width:27%;font:800 22px/1 'Baloo 2',sans-serif;letter-spacing:.4px;color:#fff3b9;text-shadow:0 2px #772922;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 42%;border:2px solid #e4bb5c;border-radius:10px;box-shadow:0 2px #95662644}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy{min-width:0;align-self:center}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font:800 27px/1 'Baloo 2',sans-serif;color:#164d69;margin:0 0 6px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{display:block;font-size:13px;line-height:1.3;color:#31576b}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{margin:9px 0 0;padding:7px 8px;border:1px solid #dfc88b;border-radius:9px;background:#fff8df9c;color:#365f6c;font-size:11px;line-height:1.4}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy .story-last-result{padding:4px 5px;font-size:11px;font-weight:900;margin-top:5px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{display:flex;flex-direction:column;gap:9px;min-width:0;align-self:center}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{display:flex;flex-direction:row;gap:0;padding:7px 5px;border:1px solid #d8bd7b;border-radius:10px;background:linear-gradient(#fff8df,#f7e6b7);box-shadow:inset 0 1px #fffefa}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts>span{flex:1;display:flex;align-items:center;gap:5px;min-width:0;padding:2px 4px;border:0;border-radius:0;background:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts>span+span{border-left:1px solid #d2bd8b}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:28px;height:28px;flex:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts small{font-size:11px;color:#476975;line-height:1.2}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{font-size:16px;line-height:1.2;color:#194b6a}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:43px;padding:7px 8px;border:2px solid #f7e3a2;border-radius:12px;background:linear-gradient(#0e9ab8,#035873);box-shadow:0 2px #a77a2d,inset 0 2px #5bd1d4;color:#fff9df;font:900 12px/1.2 'Nunito Sans',sans-serif}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills:before{content:'☷';font-size:22px;line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{flex:1;min-height:28px;padding:3px 7px;border:1px solid #cfb978;border-radius:7px;background:#fff4d1;box-shadow:none;color:#536857;font-size:11px;line-height:1.2}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward{position:relative;display:flex;flex-direction:column;align-self:stretch;min-width:0;padding:20px 4px 24px;border:3px solid #d8ae53;border-radius:11px;background:#fff7d3;box-shadow:inset 0 0 0 1px #fff4bf,0 2px #a17832;overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{position:absolute;left:0;right:0;top:0;z-index:1;padding:4px 2px;background:linear-gradient(#fff9dc,#eed29a);font-size:10px;font-weight:900;line-height:1.2;text-align:center;color:#35596a;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 35%;border-radius:4px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>img:is([data-coins=true],[data-currency=sparkle]){object-fit:contain}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{position:absolute;bottom:0;left:0;right:0;min-height:27px;padding:5px 3px 4px;background:linear-gradient(#1683a7,#084e75);border-top:1px solid #d6b565;color:#fff9dd;text-align:center;font:800 12px/1.1 'Baloo 2',sans-serif}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:minmax(95px,.85fr) minmax(120px,1fr) minmax(123px,.95fr) minmax(91px,.72fr);height:205px;min-height:205px;gap:8px;padding:37px 20px 17px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-ribbon{font-size:19px;top:15px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:23px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:10px;padding:5px;margin-top:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{padding:5px 2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:23px;height:23px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{font-size:14px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts small{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills{font-size:11px;min-height:39px;gap:3px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{display:grid;grid-template-columns:84px minmax(105px,1fr) 112px;grid-template-rows:1fr auto;min-height:248px;height:248px;padding:38px 19px 17px;gap:8px;background-size:100% 100%}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-ribbon{top:16px;left:12%;font-size:18px;max-width:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{grid-column:1;grid-row:1/3;object-position:50% 40%;height:100%}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy{grid-column:2;grid-row:1;align-self:start}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:11px;padding:5px;margin-top:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{grid-column:2;grid-row:2;gap:7px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .room-art-boss-facts{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward{grid-column:3;grid-row:1/3;min-height:150px;margin:3px 0 0;align-self:stretch}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills{font-size:11px;min-height:38px;gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{font-size:11px;min-height:29px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:11px;line-height:1.1}
}
@media(max-width:700px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;min-height:300px;height:auto;padding:40px 18px 19px;gap:9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-ribbon{top:17px;font-size:18px;max-width:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:23px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{grid-column:1;grid-row:1;min-height:160px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy{grid-column:2;grid-row:1}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{grid-column:2;grid-row:2}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward{grid-column:1;grid-row:2;min-height:143px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:105px minmax(0,1fr);grid-template-rows:116px minmax(0,1fr);min-height:320px;height:320px;gap:9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{grid-column:1;grid-row:1;height:116px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy{grid-column:2;grid-row:1}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{grid-column:2;grid-row:2}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .room-art-boss-facts{display:flex}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward{grid-column:1;grid-row:2;min-height:0;height:100%;margin:0}
}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-ribbon{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The mission keeps its reference proportions; the crew never collapses above it. */
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] .room-left{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d2b36c transparent;padding-bottom:4px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] .crew-panel{flex:none;min-height:318px;height:318px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster{--plinth-height:76px;min-height:170px;grid-template-rows:minmax(170px,1fr)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot{min-height:170px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot>strong{font-size:17px;bottom:calc(var(--plinth-height) * .34)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot>small{font-size:10px;bottom:calc(var(--plinth-height) * .16)}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] .crew-panel{height:282px;min-height:282px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster{--plinth-height:68px;min-height:155px;grid-template-rows:minmax(155px,1fr)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot{min-height:155px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] .crew-panel{height:calc(100dvh - 138px);min-height:205px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster{--plinth-height:56px;min-height:0;grid-template-rows:minmax(0,1fr)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot{min-height:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot>strong{font-size:12px;line-height:1;bottom:calc(var(--plinth-height) * .36)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] #room-roster .room-slot>small{font-size:9px;line-height:1;bottom:calc(var(--plinth-height) * .14)}
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:90px minmax(0,1fr);grid-template-rows:95px 100px;height:243px;min-height:243px;padding:28px 16px 13px;gap:7px 9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{height:95px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:20px;margin-bottom:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:10px;line-height:1.2}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:10px;line-height:1.25;margin-top:5px;padding:4px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:5px;align-self:stretch}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{padding:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:22px;height:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{font-size:13px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts small{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills{min-height:33px;font-size:11px;padding:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{min-height:24px;font-size:10px;padding:2px 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward{padding:18px 2px 23px;border-width:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{font-size:8px;padding:3px 0}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:9px;min-height:23px;padding:4px 1px}
}
@media(max-height:375px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story] .crew-panel{height:calc(100dvh - 130px)}
}

/* Keep the frame's original ribbon above the portrait, as in the supplied crop. */
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:29px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:13px;line-height:1.3}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{font-size:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:13px;z-index:1}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>img:not([data-coins=true]):not([data-currency=sparkle]){transform:scale(1.3);transform-origin:50% 25%}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:25px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{font-size:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:12px}
}

/* Story room: the supplied open expedition stage, independent of team-room framing. */
body.arcade-room.story-room-art{background-image:url('../assets/room-art-v1/story-stage.webp')}
body.arcade-room.story-room-art .app-shell{position:relative;max-width:1600px;padding:0 22px 12px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1{position:static;height:calc(100dvh - 112px);gap:0;padding:0;overflow:visible}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{position:absolute;top:12px;left:245px;right:22px;height:74px;min-height:74px;gap:10px;padding:0;z-index:5}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:360px;height:100px;margin:0;padding:11px 43px 7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:33px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-kicker{font-size:11px;margin-bottom:4px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge{height:46px;padding:4px 7px 4px 12px;border-width:2px;border-radius:12px;gap:8px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge small{font-size:9px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge strong{font-size:22px;letter-spacing:2px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge button{width:32px;height:32px;padding:4px;border-radius:7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge svg{width:22px;height:22px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading .crew-bottom{display:flex;min-height:0;padding:0;margin:0;flex:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading .crew-bottom button{height:46px;min-height:46px;padding:5px 12px;border-radius:12px;box-shadow:inset 0 2px #82d4f5,0 2px #835223;background:linear-gradient(#209bcc,#096096);font-size:13px;gap:6px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading .crew-bottom svg{width:21px;height:21px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-back{height:46px;min-height:46px;padding:6px 13px;border-width:2px;border-radius:12px;background:linear-gradient(#ef4c37,#b91518);box-shadow:inset 0 2px #ff9881,0 3px #6d351f;font-size:13px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-body{grid-template-columns:minmax(0,1.95fr) minmax(330px,1fr);gap:21px;height:100%;min-height:0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{display:grid;grid-template-rows:minmax(230px,1fr) clamp(205px,27.5dvh,255px) clamp(110px,15dvh,140px);gap:8px;overflow:visible;padding:0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel{display:flex;flex-direction:column;height:auto;min-height:0;padding:0 4px;background:none;border:0;border-image:none;border-radius:0;box-shadow:none;overflow:visible}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel>.panel-heading{display:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);--plinth-height:85px;--room-hero-height:clamp(145px,23dvh,240px);height:100%;min-height:0;padding:0;margin:0;overflow:visible;gap:4px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot{height:100%;min-height:0;overflow:visible}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot:before{display:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-character{height:calc(var(--room-hero-height) * var(--room-opaque-scale,1));bottom:calc(var(--plinth-height) * var(--room-ground-factor,.81));max-height:none;filter:drop-shadow(0 8px 3px #263b424a)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header{position:absolute;left:5%;right:5%;top:auto;bottom:calc(var(--plinth-height) + var(--room-hero-height) + 4px);width:auto;min-height:28px;padding:0;align-items:center}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header>b{width:26px;height:27px;font-size:16px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .ready-badge{font-size:10px;padding:3px 5px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:19px;line-height:1;bottom:calc(var(--plinth-height) * .31)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:10px;line-height:1;bottom:calc(var(--plinth-height) * .11)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .empty-seat{top:auto;bottom:calc(var(--plinth-height) * .78);transform:translateX(-50%);width:64px;height:64px;font-size:48px;background:#e8fff093;border-color:#f3d488;color:#146e85;box-shadow:0 0 20px #fff8dd4d}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{height:100%;min-height:0;grid-template-columns:minmax(130px,.99fr) minmax(150px,1.08fr) minmax(139px,.91fr) minmax(112px,.67fr);gap:10px;padding:46px 22px 19px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{object-fit:cover;object-position:50% 30%;height:100%;transform:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:29px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:14px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:13px;line-height:1.25;padding:7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{height:100%;min-height:0;padding:12px 16px 9px;border:0;border-image:none;border-radius:0;background:#fff4d9 url('../assets/room-art-v1/story-wood-frame.webp') center/100% 100% no-repeat;box-shadow:none;overflow:hidden}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{min-height:29px;padding:4px 8px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading h2{font-size:17px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-chat-log{min-height:21px;padding:4px 7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-welcome{font-size:12px;line-height:1.2}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-form{min-height:36px;padding:2px 4px;gap:6px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-input,body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-form button{min-height:34px;height:34px;padding:4px 8px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-right{position:relative;display:flex;flex-direction:column;gap:0;min-height:0;overflow:visible;padding:0;border:0;border-image:none;border-radius:0;background:none;box-shadow:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{display:flex;flex:none;height:auto;max-height:calc(100% - 125px);min-height:0;overflow:auto;padding:20px 19px 18px;border:0;border-radius:0;background:linear-gradient(#fff9e8,#fff3cf) content-box,url('../assets/room-art-v1/story-wood-frame.webp') center/100% 100% no-repeat;box-shadow:none;gap:0;scrollbar-width:thin}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .character-panel{gap:7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character{height:84px;min-height:84px;background:linear-gradient(#e8f9ff,#cce8f7);border-color:#94c2d1}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:32px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid button{height:clamp(60px,9dvh,88px);min-height:60px;border-color:#b8cbd0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-team-status{display:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-kit-toggle,body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-skins-button{background:linear-gradient(#f8ffff,#d9eef5);border-color:#9bbdca;min-height:34px;height:34px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start{position:relative;display:flex;margin-top:auto;padding:0 0 5px;min-height:100px;height:100px;border:0;border-radius:0;background:none;box-shadow:none;gap:0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-hint{position:absolute;left:20px;right:20px;bottom:102px;width:auto;padding:4px 6px;margin:0;border-radius:8px;background:#fff6d6d9;color:#3a5e60;font-size:11px;line-height:1.2;text-align:center}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{height:94px;min-height:94px;padding:10px 20px 10px 64px;border:0;border-radius:20px;background:transparent url('../assets/room-art-v1/story-start-button.webp') center/100% 100% no-repeat;box-shadow:none;color:#493310;font:800 35px/1 'Baloo 2',sans-serif;white-space:nowrap}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle svg{display:none}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room.story-room-art .app-shell{padding:0 18px 12px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{left:205px;right:18px;gap:8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:315px;height:91px;padding-left:42px;padding-right:42px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:29px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-body{grid-template-columns:minmax(0,1.95fr) minmax(315px,1fr);gap:16px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(220px,1fr) 205px 108px;gap:7px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:72px;--room-hero-height:clamp(138px,22dvh,190px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:minmax(115px,.99fr) minmax(140px,1.1fr) minmax(130px,.96fr) minmax(97px,.67fr);gap:8px;padding:40px 19px 16px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:26px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:12px;padding:5px;line-height:1.2}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:12px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{padding:19px 17px 17px;max-height:calc(100% - 110px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character{height:71px;min-height:71px;padding:7px 9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid button{height:60px;min-height:60px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start{height:90px;min-height:90px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{height:85px;min-height:85px;font-size:29px;padding-left:54px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-hint{bottom:91px}
}
@media(max-height:520px){
 body.arcade-room.story-room-art .app-shell{padding:0 12px 8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1{height:calc(100dvh - 74px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{left:125px;right:12px;top:6px;min-height:50px;height:50px;gap:6px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:225px;height:65px;padding:8px 32px 6px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading h1{font-size:21px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-kicker{font-size:8px;margin-bottom:2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge{height:40px;min-height:40px;padding:3px 5px;gap:4px;border-radius:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge small{font-size:8px;max-width:29px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge strong{font-size:17px;letter-spacing:1px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge button{width:28px;height:30px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading .crew-bottom button{width:42px;min-width:42px;height:40px;min-height:40px;padding:8px;font-size:0;gap:0;border-radius:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading .crew-bottom svg{width:22px;height:22px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-back{height:40px;min-height:40px;padding:4px 8px;font-size:11px;border-radius:9px;gap:4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-back svg{width:16px;height:16px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-body{grid-template-columns:minmax(0,1.3fr) minmax(285px,1fr);gap:13px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{display:flex;flex-direction:column;overflow-y:auto;gap:10px;min-height:0;padding-bottom:5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel{height:calc(100dvh - 83px);min-height:calc(100dvh - 83px);flex:none;padding:0 2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:61px;--room-hero-height:clamp(128px,41dvh,168px);min-height:0;padding-top:12px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header{bottom:calc(var(--plinth-height) + var(--room-hero-height) + 1px);min-height:25px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:12px;bottom:calc(var(--plinth-height) * .31)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:9px;bottom:calc(var(--plinth-height) * .1)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .empty-seat{width:45px;height:45px;font-size:35px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{height:auto;max-height:calc(100% - 73px);padding:12px 13px 11px;overflow:auto}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character{height:29px;min-height:29px;padding:3px 5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:20px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character>img{display:none}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid button{height:50px;min-height:50px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start{height:60px;min-height:60px;padding-bottom:0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{height:59px;min-height:59px;padding:7px 14px 7px 45px;font-size:24px;border-radius:12px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-hint{bottom:61px;left:5px;right:5px;font-size:9px;padding:2px 4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{height:216px;min-height:216px;grid-template-columns:84px minmax(0,1fr);grid-template-rows:73px 85px;padding:38px 13px 13px;gap:7px 9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{height:73px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:18px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:10px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:10px;line-height:1.2;padding:3px 4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{flex:none;height:130px;min-height:130px;padding:10px 13px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:84px minmax(0,1fr);grid-template-rows:73px 85px;height:216px;min-height:216px;padding:38px 13px 13px;gap:7px 9px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{height:73px;object-position:50% 40%}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:18px;margin-bottom:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:10px;line-height:1.2;margin-top:4px;padding:3px 4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-facts{padding:1px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-boss-skills{min-height:30px;height:30px;padding:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{min-height:22px;height:22px;padding:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{font-size:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:9px}
}

/* The approved logo/radio/utility top bar stays fixed above every room mode. */
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1{position:relative;height:calc(100dvh - 105px);gap:8px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{position:relative;inset:auto;left:auto;right:auto;top:auto;height:76px;min-height:76px;flex:none;padding:0 5px;z-index:5}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-body{height:auto;flex:1;min-height:0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:360px;height:100px;margin-left:5%;margin-right:auto}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{border:17px solid transparent;border-image:url('../assets/room-art-v1/story-wood-frame.webp') 150/26px/2px stretch;padding:7px;background:#fff5d7;box-shadow:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{border:13px solid transparent;border-image:url('../assets/room-art-v1/story-wood-frame.webp') 150/23px/2px stretch;padding:0;background:#fff6d9;box-shadow:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss{overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-mission-boss>img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 30%;transform:scale(1.14);transform-origin:50% 32%}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{height:70px;min-height:70px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:315px;height:91px;margin-left:3%}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(215px,1fr) 192px 100px;gap:7px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{padding:37px 18px 14px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{border-width:15px;padding:5px;max-height:calc(100% - 105px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character{height:64px;min-height:64px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character{padding:4px 8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character h2{font-size:27px;margin:2px 0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character small{font-size:10px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .selected-character p{font-size:10px;line-height:1.1;margin:2px 0 0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{border-width:10px;gap:0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{height:25px;min-height:25px;padding:3px 7px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-chat-log{min-height:17px;padding:3px 5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-form{min-height:33px;padding:1px 3px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-input,body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-form button{height:30px;min-height:30px;font-size:11px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid button{height:57px;min-height:57px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-kit-toggle,body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-skins-button{height:31px;min-height:31px}
}

@media(min-height:521px) and (min-width:701px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{margin-left:calc(32.5% - 215px)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{margin-left:calc(32.5% - 220px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{margin-left:calc(32.5% - 180px)}
}

/* Casual and Ranked share open scenery, with their own actual party capacities. */
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel{padding:8px 7px 0;background:none;border:0;border-image:none;border-radius:0;box-shadow:none;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{flex:none;align-self:center;padding:4px 22px;min-height:38px;border:3px solid #d8af5a;border-radius:10px;background:linear-gradient(#80562f,#52341f);box-shadow:inset 0 2px #bf9450,0 3px #553a20;width:auto;min-width:250px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot:before{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .slot-character{height:calc(var(--room-hero-height,170px) * var(--room-opaque-scale,1));bottom:calc(var(--plinth-height) * var(--room-ground-factor,.81))}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster{--room-hero-height:clamp(155px,26dvh,265px);--plinth-height:105px;overflow:visible;padding:2px 4px 0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="3"]{--plinth-height:90px;--room-hero-height:clamp(145px,24dvh,245px)}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-team-rows=true]{--plinth-height:75px;--room-hero-height:clamp(70px,14dvh,145px);grid-template-rows:repeat(2,minmax(0,1fr));min-height:0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="8"]{--plinth-height:65px;--room-hero-height:clamp(64px,13dvh,132px)}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot{min-height:0;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .slot-header{position:absolute;left:4%;right:4%;width:auto;top:auto;bottom:calc(var(--plinth-height) + var(--room-hero-height));padding:0;min-height:28px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot>strong{bottom:calc(var(--plinth-height) * .31);line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot>small{bottom:calc(var(--plinth-height) * .11);line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .empty-seat{top:auto;bottom:calc(var(--plinth-height) * .8);transform:translateX(-50%)}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right{border:15px solid transparent;border-image:url('../assets/room-art-v1/lobby-gold-frame.webp') 150/25px/2px stretch;border-radius:0;padding:6px;background:#fff6dc;box-shadow:none;gap:7px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .chat-panel{border:13px solid transparent;border-image:url('../assets/room-art-v1/lobby-gold-frame.webp') 150/23px/2px stretch;border-radius:0;padding:0;background:#fff5dc;box-shadow:none}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{margin-left:6%;margin-right:auto;width:430px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{width:440px;height:156px;padding:55px 48px 16px;transform:translateY(-7px)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-heading{height:123px;min-height:123px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title .room-kicker{position:absolute;bottom:20px;font-size:9px;margin:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title h1{font-size:33px;transform:translateY(-2px)}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-team-status{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{margin:0;padding:2px 6px;min-height:110px;border:2px solid #dbb45d;border-radius:12px;background:linear-gradient(100deg,#082846ed,#135384e8),url('../assets/room-art-v1/ranked-stage.webp') center/cover;box-shadow:inset 0 1px #ecd789}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank .room-map-copy{min-height:103px;padding:3px 5px;gap:10px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank-badge{width:98px;height:98px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-name{font-size:27px;color:#fff3ca}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-terrain{font-size:14px;color:#f3faff}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{height:70px;min-height:70px;padding:8px 15px 8px 60px;border:0;border-radius:13px;background:#ffd454 url('../assets/room-art-v1/lobby-start-button.webp') center 42%/113% 145% no-repeat;box-shadow:inset 0 0 0 2px #ffe9a2,0 3px #846128;color:#49300e;font-size:29px;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle svg{display:none}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{width:365px;margin-left:5%}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{width:360px;height:132px;padding:44px 40px 13px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-heading{height:105px;min-height:105px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title h1{font-size:28px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title .room-kicker{bottom:17px;font-size:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster{--room-hero-height:clamp(135px,23dvh,180px);--plinth-height:82px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="3"]{--room-hero-height:clamp(125px,21dvh,170px);--plinth-height:75px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-team-rows=true]{--room-hero-height:clamp(50px,8.5dvh,75px);--plinth-height:60px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="8"]{--room-hero-height:clamp(45px,8dvh,72px);--plinth-height:52px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right{padding:4px;border-width:12px;border-image-width:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character{height:62px;min-height:62px;padding:6px 9px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid button{height:54px;min-height:54px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-kit-toggle,body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-skins-button{height:31px;min-height:31px;padding:4px 8px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{min-height:82px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank .room-map-copy{min-height:77px;gap:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank-badge{width:73px;height:73px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-name{font-size:25px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-terrain{font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{height:59px;min-height:59px;font-size:25px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{width:280px;height:74px;margin-left:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{width:270px;height:96px;padding:30px 34px 12px;transform:translateY(-3px)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-heading{height:58px;min-height:58px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title h1{font-size:20px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title .room-kicker{bottom:13px;font-size:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel{padding:2px 3px 0}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{min-height:25px;padding:2px 10px;min-width:190px;border-width:2px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster{--room-hero-height:clamp(97px,31dvh,139px);--plinth-height:61px;padding:0 2px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="3"]{--room-hero-height:clamp(87px,28dvh,127px);--plinth-height:56px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-team-rows=true]{--room-hero-height:36px;--plinth-height:43px;grid-template-rows:repeat(2,minmax(0,1fr))}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster[data-capacity="8"]{--room-hero-height:33px;--plinth-height:40px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .slot-header{position:relative;inset:auto;min-height:26px;padding:0 2px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot>strong{font-size:11px;bottom:calc(var(--plinth-height) * .31)}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-roster .room-slot>small{font-size:8px;bottom:calc(var(--plinth-height) * .1)}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right{padding:3px;border-width:10px;border-image-width:17px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-controls{padding:0 1px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{height:45px;min-height:45px;padding:4px 10px 4px 42px;font-size:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{min-height:76px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank .room-map-copy{min-height:70px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank-badge{width:65px;height:65px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-name{font-size:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank #room-map-terrain{font-size:11px}
}
@media(max-height:520px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1{height:calc(100dvh - 67px);gap:5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-heading{height:49px;min-height:49px;padding:0 2px;gap:6px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{width:225px;height:65px;margin:0 auto 0 0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel{height:calc(100dvh - 129px);min-height:calc(100dvh - 129px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:58px;--room-hero-height:clamp(113px,35dvh,150px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{border-width:11px;border-image-width:19px;padding:3px;max-height:calc(100% - 66px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start{height:54px;min-height:54px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{height:54px;min-height:54px;font-size:22px;padding-left:40px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-hint{bottom:54px;font-size:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid button{height:46px;min-height:46px}
}
@media(min-height:521px) and (min-width:701px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{margin-left:calc(32.5% - 215px)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{margin-left:calc(32.5% - 220px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{margin-left:calc(32.5% - 180px)}
}
@media(max-width:1280px) and (min-width:701px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{margin-left:calc(32.5% - 182px)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title{margin-left:calc(32.5% - 180px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-title{margin-left:calc(32.5% - 157px)}
}
/* Keep the arena or rank completely visible beneath the loadout at first open. */
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .character-panel{gap:6px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-controls{gap:7px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character{height:64px;min-height:64px;padding:4px 8px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character h2{font-size:27px;margin:2px 0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character small{font-size:10px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character p{font-size:10px;line-height:1.1;margin:2px 0 0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid button{height:clamp(50px,6.9dvh,70px);min-height:50px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-kit-toggle,body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-skins-button{height:32px;min-height:32px;padding:4px 8px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-panel>.panel-heading{min-height:27px;padding:3px 8px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{position:relative;display:block;height:73px;min-height:73px;padding:0;overflow:hidden}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy canvas{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-arena-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy>span{position:absolute;bottom:5px;left:8px;padding:2px 7px;border-radius:6px;background:#fff7dbe8}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy strong{font-size:18px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy small{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-map-select{height:30px;min-height:30px;width:calc(100% - 10px);margin:4px 5px 5px;padding:3px 8px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start .start-battle:disabled{background-image:url('../assets/room-art-v1/lobby-start-button.webp');background-color:#f7d781;background-position:center 42%;background-size:113% 145%;background-repeat:no-repeat;filter:saturate(.65);opacity:.8;color:#795c2c;border:0;box-shadow:inset 0 0 0 2px #ead494,0 2px #846128}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .room-slot>strong{bottom:calc(var(--plinth-height) * .4)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .room-slot>small{bottom:calc(var(--plinth-height) * .23)}
@media(max-height:780px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid button{height:48px;min-height:48px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{height:44px;min-height:44px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character{height:29px;min-height:29px;padding:3px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character h2{font-size:20px;margin:0}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .selected-character p{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid button{height:46px;min-height:46px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{height:70px;min-height:70px}
}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-start #room-primary-action:disabled{background:#f7d781 url('../assets/room-art-v1/lobby-start-button.webp') center 42%/113% 145% no-repeat;filter:saturate(.65);opacity:.8;color:#795c2c;border:0;box-shadow:inset 0 0 0 2px #ead494,0 2px #846128}
@media(min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-header{position:absolute;top:4px;bottom:auto}
}
@media(min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode] #room-roster .slot-header{position:absolute;top:4px;bottom:auto}
}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{height:66px;min-height:66px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="2"] .room-slot:before{display:block;position:absolute;inset:auto 14% calc(var(--plinth-height) * var(--room-ground-factor,.81));height:calc(var(--room-hero-height) + 7px);border:2px solid #ffd2bcb8;border-radius:23px;background:linear-gradient(#ffd3be30,#ed756744);box-shadow:inset 0 0 30px #fff7dd45;z-index:-1}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="2"] .room-slot.team-blue:before{border-color:#a9e7ffa3;background:linear-gradient(#e0fbff26,#50bffb3b)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .slot-team{left:22%;right:22%;padding:1px 3px;border:1px solid #d0a64e;border-radius:4px;color:#fff9de;line-height:1;font-size:10px;text-shadow:0 1px #49261e66;background:linear-gradient(#cc5244,#992b31)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .team-blue>.slot-team{background:linear-gradient(#188bb5,#115784)}
@media(min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title h1{font-size:38px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{width:335px;min-width:335px;min-height:53px;height:53px;padding:9px 44px 8px;border:0;border-radius:0;background:transparent url('../assets/room-art-v1/title-plaque.webp') center/100% 100% no-repeat;box-shadow:none}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading h2{font-size:21px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode] #room-roster .slot-header{position:absolute;top:4px;bottom:auto}
}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-art-title h1{font-size:34px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{height:47px;min-height:47px;width:300px;min-width:300px;padding:8px 37px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading h2{font-size:20px}
}
@media(max-height:780px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{height:39px;min-height:39px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .slot-team{font-size:8px;padding:0 1px;left:17%;right:17%}
}

/* The selected battle card is the room's single visible hero selection summary. */
body.arcade-room #room-screen.room-screen.room-art-v1 .selected-character{display:none!important}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid>button[aria-pressed=true]:after{content:'✓';position:absolute;z-index:7;top:2px;right:2px;display:grid;place-items:center;width:29px;height:29px;padding:0;border:2px solid #fff2bb;border-radius:50%;background:linear-gradient(#fff1a0,#efac24);box-shadow:inset 0 1px #fffdeb,0 2px 2px #63441999;color:#8e570c;font:1000 26px/1 'Nunito Sans',sans-serif;text-shadow:0 1px #fff5b5}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right{background-clip:padding-box;border-radius:26px}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{background-clip:padding-box;border-radius:23px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{background-clip:padding-box;border-radius:26px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start #room-primary-action:disabled{background-image:url('../assets/room-art-v1/story-start-button.webp');background-size:100% 100%;background-position:center;background-color:transparent}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid>button[aria-pressed=true]:after{width:23px;height:23px;font-size:20px;top:1px;right:1px;border-width:1px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right,body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{border-radius:20px}
}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{background-color:transparent;background-size:100% 100%;background-position:center;box-shadow:none}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start #room-primary-action:disabled{background-color:transparent;background-size:100% 100%;background-position:center;filter:saturate(.78) brightness(.97);opacity:1;box-shadow:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{outline:0;border:0;box-shadow:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle:focus-visible{outline:3px solid #ffed9b;outline-offset:2px}
/* Exact frame interiors: backing ends at the source art's inner edge. */
body.arcade-room #room-screen.room-screen.room-art-v1 .room-art-controls-shell{display:contents}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right{position:relative;isolation:isolate;background:none;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right:before{content:'';position:absolute;z-index:-1;inset:-6px;border-radius:16px;background:#fff6dc;pointer-events:none}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel{position:relative;isolation:isolate;background:none;overflow:visible}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel:before{content:'';position:absolute;z-index:-1;inset:-5px;border-radius:14px;background:#fff6dc;pointer-events:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel:before{inset:-1px;border-radius:10px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell{position:relative;isolation:isolate;display:flex;flex:none;min-height:0;height:calc(100% - 125px);max-height:none;border:17px solid transparent;border-image:url('../assets/room-art-v1/story-wood-frame.webp') 150/26px/2px stretch;padding:7px;background:none;overflow:visible}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell:before{content:'';position:absolute;z-index:-1;inset:-4px;border-radius:15px;background:#fff6dc;pointer-events:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls{display:flex;flex:1;min-height:0;height:100%;max-height:none;margin:0;padding:0;border:0;border-image:none;border-radius:0;background:none;overflow:auto}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .character-panel{flex:1;min-height:0;height:100%;gap:7px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-character-grid>button{height:100%;min-height:0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .character-panel{flex:1;min-height:0;gap:7px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid{flex:1;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) #room-character-grid>button{height:100%;min-height:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-panel{height:clamp(125px,17dvh,175px);flex:none;display:flex;flex-direction:column}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-copy{height:auto;min-height:0;flex:1}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{height:clamp(112px,15dvh,160px);min-height:0;flex:none;display:flex;align-items:center}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank .room-map-copy{width:100%;height:100%;min-height:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank-badge{height:100%;width:auto;max-width:135px;aspect-ratio:1}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-roster .slot-character{display:block;pointer-events:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{display:flex;align-items:center;justify-content:center;padding:0 8% 14px 26%;line-height:1}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle>span{transform:translateY(-1px)}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{display:flex;align-items:center;justify-content:center;padding:0 7% 2px 23%;line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle>span{transform:translateY(-1px)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{background-image:url('../assets/room-art-v1/mission-panel-complete.webp');padding:49px 28px 30px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin-top:28px;height:calc(100% - 28px);align-self:end}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:12px}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right:before{inset:-4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell{height:calc(100% - 108px);border-width:15px;padding:5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell:before{inset:-1px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel:before{inset:2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{padding:39px 23px 25px;gap:7px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin-top:26px;height:calc(100% - 26px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:24px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-panel{height:124px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{height:108px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{padding-bottom:13px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-right:before{inset:-5px;border-radius:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel:before{inset:-4px;border-radius:11px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel:before{inset:-1px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell{height:calc(100% - 66px);border-width:11px;border-image-width:19px;padding:3px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-controls-shell:before{inset:-1px;border-radius:10px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .character-panel{flex:none!important;height:auto!important;min-height:0;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid{flex:none!important;grid-template-rows:none;gap:5px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-character-grid>button{height:55px!important;min-height:55px!important}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .room-map-panel{height:126px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .room-current-rank{height:95px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-start .start-battle{padding:0 7% 8px 25%;font-size:21px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-start .start-battle{padding:0 7% 1px 23%;font-size:21px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{height:237px;min-height:237px;padding:70px 19px 23px;grid-template-rows:63px 74px;gap:6px 8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin:0;height:63px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:17px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:9px;line-height:1.1;margin-top:3px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy>strong{font-size:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts{padding:0 2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-skills{height:27px;min-height:27px;font-size:10px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{height:21px;min-height:21px;font-size:9px}
}

/* Match the frame's cut-in corners, keeping parchment beneath the inner rim. */
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode] .chat-panel{--room-chat-frame:url('../assets/room-art-v1/lobby-gold-frame.webp');--room-chat-border:13px;border-image:none!important;background:none;overflow:visible;border-radius:0}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel:after{content:'';position:absolute;z-index:5;inset:calc(0px - var(--room-chat-border));border:var(--room-chat-border) solid transparent;border-image:var(--room-chat-frame) 150/23px/2px stretch;pointer-events:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{--room-chat-frame:url('../assets/room-art-v1/story-wood-frame.webp')}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel:before{border-radius:14px;clip-path:none}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel:before{border-radius:10px;clip-path:none}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{position:relative;display:grid;place-items:center;padding:0;gap:0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading h2{position:absolute;inset:0 14% 7% 16%;display:flex;align-items:center;justify-content:center;width:auto;margin:0;text-align:center;line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading #room-count{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);white-space:nowrap;margin:0}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(245px,1fr) 275px 116px;gap:7px;overflow-y:auto}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:minmax(130px,.9fr) minmax(150px,1.18fr) minmax(139px,1.01fr) minmax(112px,.67fr);padding:77px 6% 57px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin-top:14px;height:calc(100% - 14px)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{padding:6px 8px;margin-top:7px;line-height:1.25}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:6px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts>span{gap:3px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{white-space:nowrap}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-skills{height:39px;min-height:39px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{height:25px;min-height:25px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-character{height:calc(min(var(--room-hero-height),100% - var(--plinth-height) * var(--room-ground-factor,.81) - 8px) * var(--room-opaque-scale,1))}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel{--room-chat-border:10px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(215px,1fr) 245px 100px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{grid-template-columns:minmax(115px,.9fr) minmax(140px,1.18fr) minmax(130px,1.01fr) minmax(97px,.67fr);padding:70px 6% 45px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin-top:12px;height:calc(100% - 12px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy h2{font-size:23px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{font-size:11px;line-height:1.25}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-skills{height:35px;min-height:35px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .crew-panel{height:calc(100dvh - 140px);min-height:0;padding-bottom:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .slot-character{height:calc(min(var(--room-hero-height),100% - var(--plinth-height) * var(--room-ground-factor,.81) - 31px) * var(--room-opaque-scale,1))}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .slot-header{flex-wrap:nowrap;gap:2px;min-height:24px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .slot-header>b{width:19px;height:23px;min-width:19px;font-size:12px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .slot-header>span{font-size:8px;padding:3px;white-space:nowrap}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .kick-player{min-height:23px;padding:2px 3px;font-size:8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header{top:4px;bottom:auto;left:2%;right:2%;flex-wrap:nowrap;gap:2px;min-height:24px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header>b{width:19px;height:23px;min-width:19px;font-size:12px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-header>span{font-size:8px;padding:3px;white-space:nowrap}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .kick-player{min-height:23px;padding:2px 3px;font-size:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{height:29px;min-height:29px;min-width:150px;width:150px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading #room-count{font-size:8px;padding:3px 5px;left:calc(100% + 3px)}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading h2{inset:0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{height:245px;min-height:245px;padding:70px 6% 47px;grid-template-columns:84px minmax(0,1fr);grid-template-rows:62px 60px;gap:6px 8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-boss{margin-top:12px;height:50px;align-self:start}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{padding:4px 5px;margin-top:3px;line-height:1.1}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions{display:grid;grid-template-columns:minmax(0,1fr) 75px;grid-template-rows:29px 29px;gap:2px 4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts{grid-column:1/-1;height:29px;padding:0 2px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts img{width:22px;height:22px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts small{font-size:9px;line-height:1}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-facts strong{font-size:13px;line-height:1}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-skills{height:29px;min-height:29px;padding:2px;font-size:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions .story-room-buttons button{height:29px;min-height:29px;padding:2px;font-size:9px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-reward{padding:15px 3px 19px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-reward>small{font-size:8px;padding:2px 1px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-reward>strong{font-size:9px;min-height:19px;padding:3px 1px}
}

/* Phone continuation: keep code cells and eight-seat controls clear of artwork. */
@media(max-height:520px) and (orientation:landscape){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge{display:grid;grid-template-columns:31px minmax(49px,auto) 28px;gap:7px;min-width:138px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge small{grid-area:1/1;width:31px;max-width:31px;white-space:normal;line-height:1.2}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge strong{grid-area:1/2;margin:0;text-align:center}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-code-badge button{grid-area:1/3}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual][data-room-capacity="8"] .crew-panel>.panel-heading{height:25px;min-height:25px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual][data-room-capacity="8"] .crew-bottom{min-height:37px;padding:2px 3px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"]{--room-hero-height:56px;--plinth-height:44px;gap:1px 5px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .slot-character{height:calc(min(var(--room-hero-height),100% - var(--plinth-height) * var(--room-ground-factor,.81) - 2px) * var(--room-opaque-scale,1))}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .slot-header{position:absolute;inset:0 1px auto;display:flex;flex-wrap:nowrap;align-items:flex-start;min-height:22px;padding:0;gap:1px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.empty .slot-header{justify-content:center}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .slot-header>b{min-width:17px;width:17px;height:22px;font-size:11px;border-width:1px;border-radius:5px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .slot-header>.ready-badge{padding:2px;font-size:7px;max-width:40px;white-space:normal}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .kick-player{height:22px;min-height:22px;padding:1px 2px;font-size:7px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .slot-header{display:block}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .seat-move-button{position:absolute;left:0;top:0;width:23px;height:27px;min-height:27px;padding:0;font-size:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .seat-move-button:after{content:attr(data-room-seat-label);font-size:11px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .kick-player{position:absolute;right:0;top:0;width:23px;height:27px;min-height:27px;padding:0;font-size:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .kick-player:after{content:'×';font-size:19px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .ready-badge{position:absolute;left:0;top:29px;width:23px;padding:1px;font-size:7px;line-height:1.1}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot>strong{font-size:10px;bottom:calc(var(--plinth-height) * .34)}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .slot-team{left:11%;right:11%;font-size:8px;bottom:calc(var(--plinth-height) * .14);padding:0;border:0;line-height:1.05}
}

/* Keep the established word positions while each mode gets its own wide base. */
@media(max-width:1280px) and (min-height:800px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"]{--room-hero-height:clamp(72px,calc(50dvh - 330px),132px)}
}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked],
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=story]{--room-ground-factor:.845}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot>.slot-name{left:8%;right:8%;bottom:calc(var(--plinth-height) * .25)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .room-slot>strong{left:11%;right:11%;bottom:calc(var(--plinth-height) * .40)}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] #room-roster .room-slot>small{left:11%;right:11%;bottom:calc(var(--plinth-height) * .25)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{left:8%;right:8%;font-size:17px;bottom:calc(var(--plinth-height) * .29)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{left:8%;right:8%;font-size:9px;bottom:calc(var(--plinth-height) * .20)}
@media(min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied .slot-header{display:flex;flex-wrap:nowrap;gap:3px;height:29px;min-height:29px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied .slot-seat-number{width:27px;min-width:27px;height:28px;min-height:28px;padding:0;flex:none}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied button.slot-seat-number{font-size:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied button.slot-seat-number:after{content:attr(data-room-seat-number);font-size:14px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied .ready-badge{max-width:calc(100% - 58px);padding:3px;font-size:9px;white-space:nowrap}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied .kick-player{width:25px;min-width:25px;height:28px;min-height:28px;padding:0;font-size:0}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster .room-slot.occupied .kick-player:after{content:'×';font-size:19px}
}
/* Seat messages use the decorative heading band, without resizing the dance. */
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-request-status,
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-change-notice{position:absolute;z-index:8;top:9px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:95%;min-height:37px;margin:0;padding:5px 10px;border-radius:9px;text-align:center;box-shadow:0 2px 4px #3c371d55}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-change-notice{pointer-events:none}
/* Open the Story stage above the fixed-size dancer for its authored motion. */
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(min-content,1fr) 275px 116px}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel{height:auto;min-height:min-content}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:100px;min-height:calc(var(--room-hero-height) * var(--room-dance-head-span,1.2) + var(--plinth-height) * var(--room-ground-factor) + 36px)}
body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .slot-character{height:calc(var(--room-hero-height) * var(--room-opaque-scale,1))}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(min-content,1fr) 245px 100px}
}
/* The seat controls occupy side rails, leaving the dancer's head unobscured. */
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied .slot-header{position:absolute;display:block;inset:4px 0 auto;width:100%;height:28px;min-height:28px;padding:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied .slot-seat-number{position:absolute;inset:0 auto auto 0;width:25px;min-width:25px;height:27px;min-height:27px;margin:0;padding:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied button.slot-seat-number{font-size:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied button.slot-seat-number:after{content:attr(data-room-seat-number);font-size:13px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied .ready-badge{position:absolute;inset:0 0 auto auto;width:auto;max-width:40px;margin:0;padding:3px;font-size:8px;line-height:1.05;white-space:normal;text-align:center}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied:not(.you) .ready-badge{inset:30px auto auto 0;width:29px;max-width:29px;padding:2px 0;font-size:7px}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied .kick-player{position:absolute;inset:0 0 auto auto;width:23px;min-width:23px;height:27px;min-height:27px;margin:0;padding:0;font-size:0}
body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity] .room-slot.occupied .kick-player:after{content:'×';font-size:18px}
@media(min-height:521px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(min-content,1fr) 244px 110px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:85px;--room-hero-height:clamp(174px,20.75dvh,220px);min-height:calc(var(--room-hero-height) * var(--room-dance-head-span,1.2) + var(--plinth-height) * var(--room-ground-factor) + 4px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:14px;bottom:calc(var(--plinth-height) * .295)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:8px;bottom:calc(var(--plinth-height) * .20)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{padding:68px 6% 49px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-actions{gap:4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-boss-skills{height:35px;min-height:35px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-request-status,
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-change-notice{top:1px;min-height:25px;font-size:9px;padding:3px 7px;gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .seat-request-status button{min-height:22px;padding:2px 5px;font-size:9px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] #room-roster[data-capacity="8"] .room-slot.occupied:not(.you) .seat-move-button:after{content:attr(data-room-seat-number)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .crew-panel{height:auto;min-height:min-content}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{--plinth-height:70px;min-height:calc(var(--room-hero-height) * var(--room-dance-head-span,1.2) + var(--plinth-height) * var(--room-ground-factor) + 34px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>strong{font-size:11px;bottom:calc(var(--plinth-height) * .30)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster .room-slot>small{font-size:7px;bottom:calc(var(--plinth-height) * .20)}
}

/* Invite replaces the capacity chip; the released lower row belongs to chat. */
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading #room-count{display:none}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom{position:absolute;left:calc(100% + 6px);right:auto;top:50%;bottom:auto;transform:translateY(-50%);display:flex;width:max-content;min-height:0;height:auto;margin:0;padding:0;gap:0}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom button{height:34px;min-height:34px;padding:4px 9px;border-radius:10px;font-size:11px;gap:4px;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom svg{width:19px;height:19px}
body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .chat-panel{height:210px;min-height:210px}
@media(max-width:1280px) and (min-height:521px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .chat-panel{height:183px;min-height:183px}
}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom{left:calc(100% + 4px)}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom button{height:27px;min-height:27px;padding:3px 6px;font-size:9px;gap:3px;border-radius:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading .crew-bottom svg{width:15px;height:15px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .chat-panel{height:174px;min-height:174px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .crew-panel{height:calc(100dvh - 175px);min-height:168px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=ranked] .crew-panel{height:calc(100dvh - 177px);min-height:0}
}
@media(max-height:375px){
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .crew-panel{height:calc(100dvh - 167px)}
}

/* Leave a complete message row within the Story chat frame. */
@media(min-height:521px){
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-left{grid-template-rows:minmax(min-content,1fr) 232px 130px;gap:5px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-roster{min-height:calc(var(--room-hero-height) * var(--room-dance-head-span,1.2) + var(--plinth-height) * var(--room-ground-factor) + 1px)}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .story-room-panel{padding:64px 6% 47px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .room-art-mission-copy p{padding-top:4px;padding-bottom:4px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 #room-chat-form{min-height:34px;padding-top:0;padding-bottom:0}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{height:29px;min-height:29px;padding:3px 8px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading h2{line-height:1}
}
/* Phone Invite joins the room-code row; the crew plaque releases stage space. */
@media(max-height:520px) and (orientation:landscape){
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .crew-panel>.panel-heading{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-heading{gap:6px;padding-left:0;padding-right:0}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title{width:clamp(210px,29vw,280px);padding-left:31px;padding-right:31px;margin-left:0;margin-right:auto}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title h1{font-size:clamp(18px,2.5vw,23px)}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-art-title .room-kicker{font-size:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-code-badge{width:164px;min-width:164px;flex:0 0 164px;height:44px;min-height:44px;margin-left:0;padding:2px 4px 2px 8px;gap:6px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-code-badge small{width:28px;max-width:28px;flex:none;font-size:9px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-code-badge strong{flex:1;min-width:0;font-size:19px;letter-spacing:1px;text-align:center}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-code-badge button{width:32px;height:34px;flex:none}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-heading>.crew-bottom{position:static;display:flex;flex:none;width:164px;height:44px;min-height:44px;margin:0;padding:0;transform:none;gap:0}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-heading>.crew-bottom button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;min-height:44px;padding:4px 6px;border:2px solid #f5d478;border-radius:11px;background:linear-gradient(#10617c,#073b5b);box-shadow:inset 0 2px #54bed4,0 3px #987238;font-size:12px;white-space:nowrap}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-heading>.crew-bottom svg{width:22px;height:22px}
 body.arcade-room #room-screen.room-screen.room-art-v1:not([data-room-mode=story]) .room-back{height:44px;min-height:44px;padding:4px 8px;font-size:11px;gap:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1[data-room-mode=casual] .crew-panel{padding-top:8px}
}

/* Chat view, send destination, and expansion controls share the room materials. */
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading{position:relative;z-index:8;overflow:visible;gap:8px}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading h2{min-width:0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button{display:inline-flex;flex:none;align-items:center;justify-content:flex-start;gap:7px;min-height:32px;max-width:100%;margin:0;padding:2px 5px;border:1px solid transparent;border-radius:7px;background:transparent;box-shadow:none;color:#fff9dc;font:800 18px/1 'Baloo 2',sans-serif;white-space:nowrap;text-shadow:0 1px #174e5c}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button>span{display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:0}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button svg{width:20px;height:20px;flex:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button>svg:first-child{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button svg:last-child{width:12px;height:12px}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button:hover,
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button[aria-expanded=true]{border-color:#dfcc86;background:#0a4c65;box-shadow:inset 0 1px #80c9d2}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-expand-button{display:grid;place-items:center;flex:none;width:32px;height:32px;min-height:32px;margin:0 0 0 auto;padding:5px;border:1px solid #c2e6dc;border-radius:7px;background:linear-gradient(#238bab,#095574);box-shadow:inset 0 1px #85d0d7;color:#fff9dc}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-expand-button svg{width:18px;height:18px}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-chat-destination{position:relative;z-index:12;display:flex;align-items:stretch;flex:0 0 88px;min-width:0;isolation:isolate}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form #room-chat-send-channel-button{display:flex;align-items:center;justify-content:center;gap:4px;flex:none;width:100%;min-width:0;min-height:0;height:100%;margin:0;padding:3px 6px;border:2px solid #d5b56d;border-radius:8px;background:linear-gradient(#fff6d4,#e8cf92);box-shadow:inset 0 1px #fffdf0,0 1px #8f713d;color:#21566a;font:900 12px/1 'Nunito Sans',sans-serif;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-send-channel-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-send-channel-button svg{width:11px;height:11px;flex:none}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-input{flex:1;min-width:0}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu){position:absolute;z-index:30;display:grid;gap:3px;left:0;right:auto;top:calc(100% + 4px);bottom:auto;width:164px;max-width:calc(100vw - 32px);margin:0;padding:6px;border:2px solid #dfc073;border-radius:10px;background:linear-gradient(135deg,#fff9df,#f1dfaf);box-shadow:inset 0 0 0 1px #fffdf0,0 5px 14px #153b4f66;color:#1b5264;text-shadow:none}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu).opens-up{top:auto;bottom:calc(100% + 4px)}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu)[hidden]{display:none!important}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-menu button,
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form #room-chat-send-channel-menu button{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-width:0;height:auto;min-height:34px;padding:5px 8px 5px 25px;border:1px solid transparent;border-radius:6px;background:none;box-shadow:none;color:#245769;font:900 12px/1.2 'Nunito Sans',sans-serif;text-align:left;white-space:nowrap}
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-menu button[aria-checked=true],
body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form #room-chat-send-channel-menu button[aria-checked=true]{border-color:#c9aa60;background:linear-gradient(#126f8b,#08495f);box-shadow:inset 0 1px #70b8c5;color:#fff4c8}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu) button[aria-checked=true]:before{content:'✓';position:absolute;left:8px;font-size:12px;line-height:1}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu) button:not([aria-checked=true]):hover{border-color:#d8c285;background:#fff9e7}
body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-button,#room-chat-send-channel-button,#room-chat-expand-button,#room-chat-channel-menu button,#room-chat-send-channel-menu button):focus-visible{outline:2px solid #ffd562;outline-offset:2px}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel.room-chat-expanded{position:fixed;z-index:55;max-height:none;max-width:none;overflow:visible;box-shadow:0 10px 30px #163b5970}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel:has(:is(#room-chat-channel-menu,#room-chat-send-channel-menu):not([hidden])){z-index:55}
body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading:has(#room-chat-channel-menu:not([hidden])){z-index:20}
body.arcade-room #room-screen.room-screen.room-art-v1 .room-chat-placeholder{flex:none;pointer-events:none}
@media(max-height:520px){
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-button{min-height:28px;gap:5px;padding:1px 3px;font-size:15px}
 body.arcade-room.story-room-art #room-screen.room-screen.room-art-v1 .chat-panel:not(.room-chat-expanded){height:150px;min-height:150px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .chat-panel>.panel-heading>span{display:none}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-expand-button{width:28px;height:28px;min-height:28px;padding:4px}
 body.arcade-room #room-screen.room-screen.room-art-v1 .room-chat-destination{flex-basis:69px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form #room-chat-send-channel-button{padding:2px 4px;font-size:10px;gap:3px}
 body.arcade-room #room-screen.room-screen.room-art-v1 :is(#room-chat-channel-menu,#room-chat-send-channel-menu){width:145px;padding:4px;gap:2px;border-radius:8px}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-menu{width:248px;grid-template-columns:repeat(2,minmax(0,1fr))}
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-channel-menu button,
 body.arcade-room #room-screen.room-screen.room-art-v1 #room-chat-form #room-chat-send-channel-menu button{min-height:30px;padding-top:4px;padding-bottom:4px;font-size:11px}
}

body.arcade-room #room-screen.room-screen.room-art-v1 .chat-message-channel{display:inline-block;vertical-align:1px;margin-right:2px;padding:1px 4px;border:1px solid #c4b16d;border-radius:4px;background:#eaf0d7;color:#275e65;font:900 9px/1.1 'Nunito Sans',sans-serif;white-space:nowrap}
