@charset "UTF-8";
:root{color-scheme:dark;--bg:#121318;--panel:#191b22;--line:#2a2d36;--ink:#edf0f5;--muted:#9299a9;--orange:#f0a36b;--mint:#7ae1b5;font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:hover,a:hover{color:#fff}.skip{position:absolute;top:-100px;left:10px;padding:15px;background:var(--orange);color:#111;z-index:200}.skip:focus{top:10px}
.app-header{height:66px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#16171d;position:sticky;top:0;z-index:30;padding:0 25px 0 22px;gap:30px}.logo{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:750;letter-spacing:-1.2px;width:182px;flex-shrink:0}.logo-k{display:grid;place-items:center;width:31px;height:32px;background:var(--orange);color:#241810;font-size:27px;font-weight:850;font-style:italic;border-radius:6px;letter-spacing:-3px;padding-right:4px}.brand-dot{color:var(--orange)}.top-nav{display:flex;align-self:stretch;align-items:center;gap:28px;font-size:13px;color:var(--muted)}.top-nav :is(a,button){height:100%;display:flex;align-items:center;position:relative}.top-nav .active{color:var(--ink);font-weight:600}.top-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--orange)}.header-right{margin-left:auto;display:flex;align-items:center;gap:22px}.connection-chip{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.connection-chip b{font-weight:400}.led,.tiny-led{display:inline-block;width:5px;height:5px;border-radius:50%;background:#646b78}.led.connected,.tiny-led{background:var(--mint);box-shadow:0 0 5px #7ae1b525}.led.error{background:#f29a86}.lobby-button{background:var(--orange);padding:9px 16px;color:#241810;border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}.lobby-button span{font-size:16px;margin-right:5px}.lobby-button:hover{background:#ffb783;color:#241810}
.sidebar{position:fixed;top:66px;left:0;bottom:0;width:204px;background:#16171d;border-right:1px solid var(--line);padding:26px 12px;display:flex;flex-direction:column;z-index:10}.nav-caption{color:#747b8a;font-size:9px;letter-spacing:.14em;margin:0 14px 12px}.side-link{display:flex;align-items:center;gap:11px;border:0;border-radius:6px;background:none;padding:11px 13px;text-align:left;font-size:12px;color:#acb2c0;min-height:40px}.side-link.selected{background:#f0a36b14;color:#ffc79f}.nav-icon{font-size:18px;width:19px;text-align:center;color:#a5acba}.selected .nav-icon{color:var(--orange)}.side-count{margin-left:auto;font-size:10px;color:var(--orange)}.side-divider{border-top:1px solid var(--line);margin:24px 12px}.side-game{display:flex;gap:10px;align-items:center;padding:9px 11px;border:0;background:none;text-align:left;border-radius:6px;font-size:10px;font-weight:500;line-height:1.5;color:#c0c6d3}.side-game img{width:29px;height:34px;border-radius:3px;object-fit:cover}.side-game small{display:block;font-size:9px;color:#777f90;margin-top:2px;font-weight:400}.side-game.selected{background:#252831}.side-game:hover,.side-link:hover{background:#252831}.sidebar-bottom{margin-top:auto;padding:15px 12px 0;font-size:10px;color:#8e96a6;line-height:1.8}.sidebar-bottom .tiny-led{margin-right:5px}.sidebar-bottom :is(a,button){display:block;color:#bdc5d5;margin-top:7px;font-size:10px}
.workspace{margin-left:204px;display:grid;grid-template-columns:minmax(0,1fr) 218px;min-height:calc(100vh - 109px)}main{padding:27px 28px 22px;min-width:0}.floor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:15px}.section-label{font-size:8px;letter-spacing:.16em;color:#7c8496;margin:0 0 7px}h1{font-size:26px;letter-spacing:-1.5px;font-weight:650;line-height:1.2;margin:0}.floor-counts{display:flex;gap:15px;font-size:10px;color:#8992a5}.floor-counts b{font-size:12px;color:#cbd3e0;font-weight:500;margin-right:4px}.floor-tabs{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);height:37px}.filters{display:flex;align-self:stretch;gap:24px}.filters button{border:0;border-bottom:2px solid transparent;background:none;font-size:11px;padding:0 0 10px;color:#8e97a9}.filters button[aria-pressed=true]{border-bottom-color:var(--orange);color:#eceef4;font-weight:600}.view-mode{font-size:19px;line-height:1;color:#b8c0cf;margin-top:-7px}.status-bar{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#7f899b;padding:15px 0 20px}.preview-label{display:flex;align-items:center;gap:5px;color:#aab4c4;white-space:nowrap}
.machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 18px;align-items:start}.cabinet{--accent:#c4b7f2;min-width:0;position:relative;padding:7px 7px 0;border:1px solid #3d4050;background:linear-gradient(90deg,#1d202a,#333643 3%,#252834 5%,#212430 95%,#3b3e4e 97%,#20232e);border-radius:8px 8px 4px 4px;box-shadow:0 12px 15px #0003;transition:transform .16s,border-color .16s}.cabinet:hover{transform:translateY(-3px);border-color:#6d7085}.cabinet.dd{--accent:#e8bd79}.cabinet.kof{--accent:#ee8b9b}.cabinet.tag{--accent:#83afd8}.marquee{height:49px;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#10131b;border:1px solid #4e4e60;border-bottom:3px solid var(--accent);padding:9px 11px;border-radius:3px 3px 0 0;box-shadow:inset 0 0 12px #0007;position:relative}.marquee:before,.marquee:after{content:"+";font:7px Consolas,monospace;position:absolute;top:3px;color:#62677c}.marquee:before{left:3px}.marquee:after{right:3px}.game-name{font:bold 13px/1.15 Consolas,monospace;letter-spacing:-.4px;color:var(--accent);overflow-wrap:anywhere}.game-name small{display:block;font:6px/1 Consolas,monospace;letter-spacing:.08em;color:#b4b7c6;margin-top:5px}.unit-number{font:8px Consolas,monospace;color:#8e93a8;align-self:start;margin-top:2px}.monitor-wrap{padding:12px 9px 8px;background:#141721}.monitor{display:block;width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;padding:0;border:7px solid #06080c;border-radius:12px;background:#0b0e15;box-shadow:0 0 0 1px #474b5c;color:#cad1e1}.monitor:after,.detail-monitor:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:7px;background:repeating-linear-gradient(transparent 0 2px,#0001 2px 3px);box-shadow:inset 0 0 20px #0006}.monitor img,.detail-monitor img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.monitor img[hidden],.detail-monitor img[hidden]{display:none}.monitor img.attract-art{object-fit:cover;opacity:.85}.screen-badge{position:absolute;z-index:3;top:6px;left:6px;font:7px Consolas,monospace;padding:4px 5px;background:#090b13df;border:1px solid #43495a;color:#a4aec0;border-radius:2px}.screen-badge.live{border-color:#7ae1b560;color:var(--mint)}.screen-bottom{position:absolute;z-index:3;bottom:5px;right:5px;font:7px Consolas,monospace;background:#090b13c9;padding:3px 5px;color:#bdc7dc}.no-signal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font:11px Consolas,monospace;letter-spacing:.1em;color:#8590ab;background:radial-gradient(ellipse,#252739,#0b0e15)}.no-signal small{font:6px Consolas,monospace;letter-spacing:.12em;color:#626f89}.no-signal[hidden]{display:none}.standby .no-signal{z-index:1;background:linear-gradient(transparent 25%,#080b13c9);justify-content:end;padding-bottom:16px;gap:6px;color:#fff;font:600 12px "Malgun Gothic",sans-serif;letter-spacing:0}.standby .no-signal small{color:#c4cddd;font:9px "Malgun Gothic",sans-serif;letter-spacing:0}.speaker{display:flex;align-items:center;justify-content:space-between;font:5px Consolas,monospace;letter-spacing:.12em;color:#7b8498;margin:7px 4px 0}.speaker:before,.speaker:after{content:"";width:33px;height:4px;background:repeating-linear-gradient(90deg,#06090e 0 2px,transparent 2px 4px)}.control-panel{height:35px;border-top:1px solid #626375;border-bottom:1px solid #0c1018;background:linear-gradient(#3c3e4e,#292c3b);display:flex;align-items:center;justify-content:space-between;padding:6px 17px;transform:perspective(250px) rotateX(7deg);transform-origin:top}.joystick{width:30px;height:11px;background:#161a25;border:1px solid #51556b;border-radius:50%;position:relative;margin-top:7px}.joystick:before{content:"";position:absolute;width:4px;height:14px;background:#868a96;left:12px;bottom:4px}.joystick:after{content:"";position:absolute;width:14px;height:14px;background:#b6accb;border-radius:50%;left:7px;bottom:12px;box-shadow:inset -3px -3px #81788e}.panel-label{font:5px/1.7 Consolas,monospace;letter-spacing:.1em;color:#acb4c7;text-align:center}.buttons{display:grid;grid-template-columns:repeat(3,10px);gap:3px 5px;transform:rotate(-12deg)}.buttons i{width:10px;height:10px;border:1px solid #ffffff20;background:var(--accent);border-radius:50%;box-shadow:inset 0 -2px #0004,0 1px #080b13}.buttons i:nth-child(n+4){opacity:.65}.cabinet-front{background:#1e222d;border-top:1px solid #3d4254;padding:10px 10px 9px;min-height:75px}.seat-lights{display:flex;align-items:center;gap:4px;font:7px Consolas,monospace;color:#8b97af;margin-bottom:7px}.seat-light{display:block;width:4px;height:4px;background:#424b62;border:1px solid #606a82}.seat-light.occupied{background:var(--mint);border-color:var(--mint);box-shadow:0 0 4px #7ae1b530}.seat-lights .count{margin-left:3px}.occupants{font-size:10px;line-height:1.5;color:#d4dcea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cabinet-foot{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font:6px Consolas,monospace;color:#8b98b2}.coin-slot{border:1px solid #5c6178;border-radius:2px;color:var(--accent);padding:3px 5px}.floor-message{padding:21px 0;color:#8390a6;font-size:10px;line-height:1.7}.floor-message:empty{padding:0}.floor-message button{border:0;background:none;color:var(--orange);text-decoration:underline;font-size:10px}
.quick-library{margin-top:30px}.empty-floor .quick-library{display:none}.library-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.library-head h2{margin:0;font-size:13px;font-weight:600}.library-head :is(a,button){font-size:10px;color:#8995ab}.game-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-library :is(a,button){position:relative;overflow:hidden;min-width:0;border-radius:5px;border:1px solid #323746;background:#1c202a;display:block}.game-library img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;opacity:.78}.game-library :is(a,button)>span{display:block;padding:10px 12px;font-size:10px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-library small{display:block;color:#838fa5;font-size:9px;margin-top:4px}.game-library i{position:absolute;right:9px;top:8px;font-size:12px;opacity:.8}.game-library :is(a,button):hover{border-color:#6c748c}.game-library :is(a,button):hover img{opacity:1}
.community{border-left:1px solid var(--line);padding:28px 18px;background:#15171e}.community-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.community-head h2{font-size:12px;font-weight:600;margin:0}.community-head>span{font-size:10px;padding:3px 6px;border-radius:4px;background:#242b34;color:#9bacbb}.online-user{display:flex;align-items:center;gap:10px;margin:0 0 17px;min-width:0}.avatar{width:31px;height:31px;border-radius:9px;background:hsl(var(--avatar-hue) 20% 28%);border:1px solid hsl(var(--avatar-hue) 20% 36%);display:grid;place-items:center;font-weight:650;font-size:12px;flex-shrink:0;color:hsl(var(--avatar-hue) 45% 82%);position:relative}.avatar:after{content:"";position:absolute;bottom:-2px;right:-2px;width:7px;height:7px;background:var(--mint);border:2px solid #15171e;border-radius:50%}.online-user>span:last-child{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap;line-height:1.6}.online-user small{display:block;font-size:9px;color:#7f8b9d;margin-top:1px}.community-empty{font-size:10px;line-height:1.8;color:#7f8b9d}.community-card{margin-top:28px;background:#202530;border:1px solid #333c4c;border-radius:6px;padding:14px}.community-card-icon{display:block;color:var(--orange);font-size:20px;margin-bottom:12px}.community-card strong{font-size:12px;font-weight:600}.community-card p{font-size:10px;line-height:1.8;color:#8f9cb0;margin:8px 0 14px}.community-card :is(a,button){display:block;padding:8px;background:#30394a;border-radius:4px;font-size:10px;text-align:center;color:#d8e1ef}.community-footer{margin-top:25px;font-size:9px;color:#69788f;line-height:1.9}footer{margin-left:204px;padding:14px 28px;border-top:1px solid var(--line);color:#5e6b80;font-size:9px;display:flex;justify-content:space-between}footer>span:first-child{font-weight:650;font-size:11px;color:#7e8ba1}.version-dot{margin:0 5px}
dialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #4d566b;border-radius:9px;padding:26px;background:#1b202b;color:var(--ink);box-shadow:0 25px 100px #0009;position:relative}dialog::backdrop{background:#080b11db;backdrop-filter:blur(4px)}dialog h2{font-size:20px;line-height:1.4;margin:0 30px 20px 0}.close{position:absolute;right:16px;top:16px;width:30px;height:30px;background:#2b3343;border:0;border-radius:4px;font-size:23px;color:#b6c1d5}.detail-monitor{width:100%;aspect-ratio:4/3;border:9px solid #070a10;border-radius:12px;background:#111721;position:relative;overflow:hidden;display:grid;place-items:center;color:#7b8eae}.detail-monitor>span{font:13px Consolas,monospace}#detail-seats{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 12px}.detail-seat{border:1px solid #45526b;border-radius:4px;padding:9px 12px;font-size:11px;max-width:100%;overflow-wrap:anywhere}.detail-seat b{font:11px Consolas,monospace;color:var(--mint);margin-right:9px}.room-id{font-size:9px;overflow-wrap:anywhere;color:#7d8da8;margin-bottom:22px}.primary{display:block;text-align:center;padding:12px;background:var(--orange);color:#2d1e13;border-radius:5px;font-size:12px;font-weight:650}.primary:hover{color:#2d1e13;background:#ffb783}.detail-note{font-size:10px;color:#8292ab;text-align:center;margin:12px 0 0}
.side-link{font-size:13px}.side-game{font-size:11px}.side-game small{font-size:10px}.online-user>span:last-child{font-size:12px}.online-user small{font-size:10px}.community-head h2{font-size:13px}.community-card p{font-size:11px}.community-card :is(a,button){font-size:11px}.occupants{font-size:11px}.cabinet-foot{font-size:8px}.coin-slot{font-size:8px}.seat-lights{font-size:8px}.cabinet-front{min-height:79px}.game-library :is(a,button)>span{font-size:12px}.game-library small{font-size:10px}.floor-message{font-size:11px}.screen-badge{font-size:8px}.community{position:sticky;top:66px;height:calc(100vh - 66px);align-self:start;overflow-y:auto;overscroll-behavior:contain}#machines{scroll-margin-top:85px}
@media(min-width:1750px){.machine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace{grid-template-columns:minmax(0,1fr) 240px}main{padding:30px 36px}}
@media(max-width:1200px){.community{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{width:180px}.workspace,footer{margin-left:180px}.logo{width:158px}.game-name{font-size:14px}}
@media(max-width:960px){.sidebar{width:70px;padding:24px 9px}.side-link{font-size:0;justify-content:center;padding:10px}.side-count,.side-game span,.nav-caption,.sidebar-bottom{display:none}.side-game{justify-content:center;padding:9px 0}.side-divider{margin:19px 7px}.workspace,footer{margin-left:70px}.logo{width:auto;margin-right:20px}.app-header{gap:20px;padding:0 20px}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-library{gap:12px}main{padding:24px}.game-name{font-size:15px}}
@media(max-width:600px){.app-header{height:59px;padding:0 15px;gap:13px}.logo{font-size:22px;margin:0}.logo-k{width:27px;height:28px;font-size:24px}.top-nav{gap:15px;font-size:11px;margin-left:6px}.top-nav :is(a,button):nth-child(2){display:none}.connection-chip{display:none}.header-right{gap:0}.lobby-button{font-size:10px;padding:8px 10px}.lobby-button span{font-size:12px}.sidebar{display:none}.workspace,footer{margin-left:0}main{padding:23px 15px 18px}.floor-head{margin-bottom:20px}h1{font-size:24px}.floor-counts{gap:11px;font-size:8px}.floor-counts b{font-size:10px}.status-bar{font-size:8px;padding:13px 0 17px}.machine-grid{gap:20px 12px}.cabinet{padding:5px 5px 0}.marquee{padding:8px 7px;height:45px}.game-name{font-size:11px}.game-name small{font-size:5px}.unit-number{font-size:6px}.monitor-wrap{padding:10px 6px 7px}.monitor{border-width:5px;border-radius:10px}.speaker{font-size:4px}.speaker:before,.speaker:after{width:20px}.control-panel{padding:5px 11px;height:31px}.panel-label{display:none}.joystick{transform:scale(.85);transform-origin:left center}.buttons{grid-template-columns:repeat(3,8px);gap:3px}.buttons i{width:8px;height:8px}.cabinet-front{padding:9px 6px;min-height:72px}.occupants{font-size:8px}.cabinet-foot{font-size:5px}.seat-lights{font-size:6px;gap:3px}.screen-badge{font-size:5px;padding:3px;top:4px;left:4px}.screen-bottom{font-size:5px;right:4px;bottom:4px}.no-signal{font-size:8px;gap:7px}.no-signal small{font-size:5px}.standby .no-signal{font-size:10px;padding-bottom:11px}.standby .no-signal small{font-size:7px}.game-library{grid-template-columns:1fr}.game-library :is(a,button){display:grid;grid-template-columns:105px 1fr;align-items:center}.game-library img{height:74px;aspect-ratio:auto}.game-library :is(a,button)>span{font-size:11px}.game-library i{top:12px}.quick-library{margin-top:26px}.preview-label{font-size:8px}footer{padding:14px 15px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* The arcade player is mounted only after an explicit cabinet/game selection. */
.top-nav button,.library-head button,.sidebar-bottom button{border:0;background:none;padding:0;color:inherit;text-align:left;font:inherit}.top-nav button{height:100%}.library-head button{font-size:10px;color:#8995ab}.sidebar-bottom button{display:block;color:#bdc5d5;margin-top:7px;font-size:10px}.lobby-button{border:0}.game-library button{padding:0;text-align:left;color:inherit;width:100%;font:inherit}.community-card button{display:block;width:100%;padding:8px;border:0;border-radius:4px;background:#303846;color:#e0e6ef;font-size:11px;margin-top:14px}.primary{width:100%;border:0}body.player-open{overflow:hidden}
#player-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#101218;overflow:hidden}#player-dialog::backdrop{background:#101218}#player-dialog iframe{display:block;border:0;width:100%;height:100%}#player-loading{position:absolute;inset:0;display:grid;place-content:center;background:#101218;color:#b2bfd2;font-size:14px}#player-loading[hidden]{display:none}#player-load-error{position:absolute;inset:0;z-index:2;background:#101218;display:grid;place-content:center;gap:14px;text-align:center;color:#c7d1e0;font-size:14px}#player-load-error[hidden]{display:none}#player-load-error button{padding:12px;border:1px solid #4b5260;border-radius:6px;background:#252a35;color:#edf0f5}
.screen-badge.last{background:#25232be8;color:#ebc48f;border-color:#79694c}.detail-frame-state{font-size:11px;color:#d5bb95;margin:12px 0}
.arcade-language{display:flex;align-items:center;gap:6px;color:#8995aa;font-size:10px;white-space:nowrap}.arcade-language select{border:1px solid #3d4556;border-radius:4px;background:#202531;color:#e6ebf3;padding:5px 6px;font:inherit;cursor:pointer}.arcade-language select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}@media(max-width:600px){.arcade-language>span{display:none}.arcade-language select{padding:5px 3px;max-width:72px}}
.monitor img.attract-art.saved-cover{object-fit:contain;opacity:1;background:#000}
.floor-tools{display:flex;align-items:center;gap:20px}.rom-import-entry{border:1px solid #63606a;border-radius:5px;background:#29252a;color:#f6c69e;padding:9px 12px;font-size:11px;font-weight:600;white-space:nowrap}.rom-import-entry:hover{border-color:var(--orange);background:#3b2d27;color:#fff}
@media(max-width:600px){.floor-tools{gap:8px;flex-direction:column;align-items:flex-end}.rom-import-entry{font-size:9px;padding:7px 8px}.floor-counts{gap:8px}}

/* Keep the cabinet look, but size the words as controls people can actually read. */
.machine-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.marquee{height:auto;min-height:72px;padding:12px 17px;align-items:center}
.game-name{font-size:clamp(18px,1.15vw,23px);line-height:1.12;letter-spacing:0}
.game-name small{font-size:12px;line-height:1.3;letter-spacing:.04em;margin-top:5px}
.unit-number{font-size:12px;flex-shrink:0}
.monitor-wrap{padding:14px 11px 9px}
.screen-badge,.screen-badge.last{font-size:11px;padding:6px 8px}
.screen-bottom{font-size:10px;padding:4px 6px}
.no-signal{font-size:16px}.no-signal small{font-size:11px}
.standby .no-signal{font-size:17px;padding-bottom:20px;gap:8px}
.standby .no-signal small{font-size:13px}
.cabinet-front{min-height:110px;padding:14px 16px}
.seat-lights{font-size:12px;margin-bottom:10px;gap:7px}
.seat-light{width:7px;height:7px}
.occupants{font-size:16px;font-weight:600;line-height:1.4}
.cabinet-foot{font-size:13px;margin-top:12px;gap:10px}
.coin-slot{font-size:14px;font-weight:700;padding:8px 10px;white-space:nowrap}
.section-label,.nav-caption{font-size:11px}
.top-nav,.filters button,.floor-counts,.floor-counts b,.status-bar,.preview-label{font-size:14px}
.floor-tabs{height:45px}.filters button{padding-bottom:12px}
.rom-import-entry{font-size:14px;padding:10px 13px}
.side-link,.side-game,.side-game small,.online-user>span:last-child,.online-user small{font-size:14px}
.community-head h2,.community-card strong{font-size:16px}
.community-card p,.community-card :is(a,button),.community-empty,.community-footer{font-size:13px}
.game-library :is(a,button)>span{font-size:15px}.game-library small{font-size:13px}
.floor-message,.floor-message button{font-size:14px}
.lobby-button,.connection-chip,.arcade-language,.library-head :is(a,button){font-size:13px}
.status-actions{display:flex;align-items:center;gap:16px}.status-actions button{border:1px solid #3c4b59;border-radius:5px;background:#1a2630;color:#a9e4ca;padding:5px 10px;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}.status-actions button:disabled{opacity:.65;cursor:default}.status-actions button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}@media(max-width:700px){.status-actions{gap:7px}.status-actions button{font-size:11px}.preview-label{display:none}}
.detail-seat,.detail-seat b,.detail-note,.detail-frame-state,.primary{font-size:14px}
@media(max-width:1800px){.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.side-link{font-size:0}.side-game span{display:none}}
@media(max-width:760px){.machine-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .machine-grid{gap:22px}.marquee{min-height:68px;padding:12px 14px}
  .game-name{font-size:19px}.game-name small{font-size:11px}.unit-number{font-size:11px}
  .screen-badge,.screen-badge.last{font-size:10px;padding:5px 7px}.screen-bottom{font-size:10px}
  .standby .no-signal{font-size:16px}.standby .no-signal small{font-size:12px}
  .cabinet-front{min-height:105px;padding:13px 14px}.seat-lights{font-size:11px;gap:5px}
  .occupants{font-size:15px}.cabinet-foot{font-size:12px}.coin-slot{font-size:13px}
  .top-nav,.filters button,.floor-counts,.floor-counts b,.status-bar{font-size:12px}
  .rom-import-entry{font-size:12px;padding:8px 10px}
}

/* Give desktop navigation the same comfortable reading size as the cabinets. */
#lobby-chat-toggle{position:fixed;right:24px;bottom:22px;z-index:35;display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #a9784f;border-radius:8px;background:#eaa56d;color:#25190f;font-size:15px;font-weight:700;box-shadow:0 10px 32px #0008}#lobby-chat-toggle[aria-expanded="true"]{background:#343b48;color:#f3f5f7;border-color:#657184}#lobby-chat-toggle b{min-width:22px;border-radius:12px;background:#a63529;color:#fff;padding:2px 6px;font-size:12px;text-align:center}#lobby-chat-toggle b[hidden]{display:none}
#lobby-chat-panel{position:fixed;right:24px;bottom:80px;z-index:35;width:min(390px,calc(100vw - 28px));height:min(570px,calc(100dvh - 106px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid #57637a;border-radius:10px;background:#1a202b;box-shadow:0 22px 60px #000b;overflow:hidden}#lobby-chat-panel[hidden]{display:none}#lobby-chat-panel>header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #354153}#lobby-chat-panel>header strong{display:block;font-size:18px;color:#f2f4f8}#lobby-chat-panel>header small{display:block;margin-top:3px;font-size:12px;color:#b1bfd0}#lobby-chat-close{border:0;background:none;color:#b9c4d5;font-size:26px;line-height:1;padding:0 3px}#lobby-chat-status{margin:0;padding:8px 17px;color:#b6c5d6;font-size:12px;line-height:1.4}#lobby-chat-messages{min-height:0;overflow:auto;overscroll-behavior:contain;list-style:none;padding:5px 14px 14px;margin:0;display:flex;flex-direction:column;gap:9px}#lobby-chat-messages li{border:1px solid #303a49;border-radius:7px;background:#222c39;padding:9px 11px;overflow-wrap:anywhere}#lobby-chat-messages li.system{background:#202631;border-color:#303640}#lobby-chat-messages li b{display:block;color:#edb47f;font-size:13px;margin-bottom:4px}#lobby-chat-messages li.system b{color:#aab8ca}#lobby-chat-messages li p{margin:0;color:#e0e6ed;font-size:14px;line-height:1.45;white-space:pre-wrap}#lobby-chat-form{display:grid;gap:6px;padding:13px 14px 15px;border-top:1px solid #354153}#lobby-chat-form label{font-size:12px;color:#b6c4d5}#lobby-chat-form input{width:100%;min-width:0;padding:10px 11px;border:1px solid #506078;border-radius:5px;background:#111923;color:#f1f5f9;font-size:14px}#lobby-chat-form>div{display:flex;gap:7px}#lobby-chat-form>div button{border:1px solid #efa86f;border-radius:5px;background:#efa86f;color:#25190f;padding:8px 12px;font-size:14px;font-weight:700}#lobby-chat-form button:disabled{opacity:.6;cursor:default}#lobby-chat-form :is(input,button):focus-visible,#lobby-chat-toggle:focus-visible{outline:2px solid #f6ad68;outline-offset:2px}
@media(max-width:600px){#lobby-chat-toggle{right:14px;bottom:14px;padding:11px 13px;font-size:14px}#lobby-chat-panel{right:14px;bottom:68px;height:min(570px,calc(100dvh - 83px))}}
#lobby-chat-messages li p,#lobby-chat-form input{font-size:16px}
#lobby-chat-messages li b,#lobby-chat-form label,#lobby-chat-status{font-size:14px}
#lobby-chat-form>div button{min-width:68px;white-space:nowrap}
#lobby-chat-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto}
#lobby-chat-auth{padding:0 14px 10px;border-bottom:1px solid #354153}
#lobby-chat-login{display:grid;gap:7px}
#lobby-chat-login label{font-size:14px;color:#b6c4d5}
#lobby-chat-login>div{display:flex;gap:7px}
#lobby-chat-login input{width:100%;min-width:0;padding:10px 11px;border:1px solid #506078;border-radius:5px;background:#111923;color:#f1f5f9;font-size:16px}
#lobby-chat-login button{min-width:90px;padding:8px 10px;border:1px solid #efa86f;border-radius:5px;background:#efa86f;color:#25190f;font-size:14px;font-weight:700;white-space:nowrap}
#lobby-chat-login button:disabled,#lobby-chat-logout:disabled{opacity:.6;cursor:default}
#lobby-chat-session{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;color:#dce5ef}
#lobby-chat-session[hidden],#lobby-chat-login[hidden],#lobby-chat-form[hidden],#lobby-chat-messages[hidden]{display:none}
#lobby-chat-identity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lobby-chat-logout{padding:7px 9px;border:1px solid #526177;border-radius:5px;background:#252f3b;color:#d7e1eb;font-size:13px;white-space:nowrap}
#lobby-chat-login :is(input,button):focus-visible,#lobby-chat-logout:focus-visible{outline:2px solid #f6ad68;outline-offset:2px}
@media(min-width:961px){
  .sidebar{width:250px;padding:28px 15px}
  .workspace,footer{margin-left:250px}
  .logo{width:228px}
  .nav-caption{font-size:12px;margin:0 14px 15px}
  .side-link{min-height:52px;padding:13px 15px;gap:13px;font-size:17px;font-weight:600}
  .nav-icon{font-size:22px;width:24px}
  .side-count{font-size:13px}
  .side-divider{margin:27px 12px}
  .side-game{padding:11px 10px;gap:12px;font-size:15px;font-weight:600;line-height:1.35}
  .side-game img{width:43px;height:50px;flex-shrink:0}
  .side-game small{font-size:12px;line-height:1.4;margin-top:4px}
  .sidebar-bottom,.sidebar-bottom :is(a,button){font-size:13px}
}
@media(min-width:961px) and (max-width:1200px){
  .sidebar{width:210px}.workspace,footer{margin-left:210px}.logo{width:188px}
  .side-link{font-size:15px}.side-game{font-size:14px}.side-game img{width:35px;height:43px}
}
@media(min-width:1201px){
  .workspace{grid-template-columns:minmax(0,1fr) 360px}
  .community{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px 14px 14px}
  .community-head{flex:none;margin-bottom:13px}
  #online-users{flex:none;max-height:min(23vh,190px);overflow-y:auto;border-bottom:1px solid #354153;margin-bottom:14px;padding:0 4px 3px 0;overscroll-behavior:contain}
  .online-user{margin-bottom:10px}
  #community-chat-slot{flex:1;min-height:0;display:flex}
  #lobby-chat-toggle,#lobby-chat-close{display:none}
  #lobby-chat-panel{position:static;z-index:auto;width:100%;height:100%;min-height:0;box-shadow:none;border-color:#394457}
  #lobby-chat-panel>header{padding:11px 12px}
  #lobby-chat-panel>header small{font-size:11px}
  #lobby-chat-status{padding:8px 12px;font-size:12px}
  #lobby-chat-auth{padding:0 10px 10px}
  #lobby-chat-login>div{flex-wrap:wrap}
  #lobby-chat-login button{width:100%}
  #lobby-chat-messages{padding:5px 9px 10px}
  #lobby-chat-messages li{padding:7px 9px}
  #lobby-chat-form{padding:9px}
}
.coin-slot{display:inline-flex;align-items:center;justify-content:center;min-height:32px;background:#252b38;white-space:nowrap}
.coin-slot:hover{background:#394154}
.coin-slot:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
