.flash-library{margin-bottom:42px}.flash-library h2,.flash-card h3,.flash-tools button,.flash-file,.flash-card button{font-family:"XBAND Rough",monospace}.flash-library h2{font-size:32px;margin:0}.flash-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;margin:20px 0;border-block:1px solid #252525}.flash-card h3{font-size:28px;margin:0}.flash-card p{margin:4px 0;font-size:14px}.flash-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.flash-library button,.flash-file{background:#111;color:#eee;border:1px solid #444;border-radius:5px;padding:12px 20px;font-size:20px;cursor:pointer}.flash-card button{background:#eee;color:#080808;min-width:100px}.flash-library button:disabled{opacity:.35;cursor:default}.flash-library button:focus-visible,.flash-file:focus-within{outline:2px solid white;outline-offset:4px}.flash-file input{display:block;max-width:230px;font:12px monospace;margin-top:8px}#flash-status{font-size:13px;min-height:24px}#flash-screen{width:100%;height:min(65vw,620px);min-height:280px;background:#000;border:1px solid #292929;display:grid;place-items:center;overflow:hidden}#flash-screen>p{font-family:"XBAND Rough",monospace;font-size:36px;color:#555}#flash-screen ruffle-player{display:block;width:100%;height:100%}#flash-screen:fullscreen{height:100vh;border:0}.flash-note,.flash-credit{font-size:12px;color:#999!important}@media(max-width:600px){.flash-library{padding:18px}.flash-card{gap:12px}.flash-card h3{font-size:23px}.flash-library button,.flash-file{font-size:18px;padding:10px 14px}#flash-screen{height:70vw;min-height:230px}.flash-tools{gap:8px}}
#flash-screen iframe{display:block;width:100%;height:100%;border:0}#flash-save-status{font-size:12px;color:#bbb;overflow-wrap:anywhere}

/* Fullscreen must override the smaller mobile game height as well. */
#flash-screen:fullscreen{box-sizing:border-box;width:100vw;height:100vh;height:100dvh;min-height:0;max-width:none;max-height:none;margin:0;padding:0;border:0}#flash-screen:fullscreen iframe{width:100%;height:100%}

.arena-play-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.arena-play-buttons button{white-space:nowrap}@media(max-width:600px){.arena-play-buttons{flex-direction:column}}

/* Original game artwork beside each arcade listing. */
.flash-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px 20px;align-items:start}.flash-card-art{display:block;grid-column:1;grid-row:1 / span 2;width:140px;height:112px;max-width:100%;object-fit:contain;background:#050505;border:1px solid #292929;border-radius:5px}.flash-card>div{min-width:0;grid-column:2}.flash-card>button,.flash-card>.arena-play-buttons{grid-column:2;justify-self:start}.flash-card .arena-play-buttons{justify-content:flex-start;flex-direction:row}.flash-card button{font-size:18px;padding:9px 14px}.flash-card h3{line-height:1.2}.flash-card p{line-height:1.6}@media(max-width:600px){.flash-card{grid-template-columns:1fr;gap:14px}.flash-card-art{grid-row:auto;grid-column:1;width:min(100%,320px);height:180px}.flash-card>div,.flash-card>button,.flash-card>.arena-play-buttons{grid-column:1}}

.kitten-leaderboard{margin:24px 0;padding:18px;background:#080808;border:1px solid #303030;border-radius:4px}.kitten-leaderboard summary{font:24px "XBAND Rough",sans-serif;cursor:pointer}.kitten-leaderboard p{font:12px/1.7 monospace;color:#bbb}.kitten-score-scroll{overflow-x:auto}.kitten-leaderboard table{width:100%;border-collapse:collapse;font:13px/1.6 monospace}.kitten-leaderboard th,.kitten-leaderboard td{text-align:left;padding:10px 8px;border-bottom:1px solid #292929}.kitten-leaderboard th{font-size:10px;color:#999}.kitten-leaderboard td:last-child{white-space:nowrap}.kitten-leaderboard a{color:#eee;overflow-wrap:anywhere}.kitten-leaderboard tr.is-you{background:#202020}.kitten-leaderboard tr:first-child td:first-child{color:#fff}.kitten-leaderboard button{font:16px "XBAND Rough",sans-serif;padding:9px 13px}.kitten-leaderboard #kitten-my-score{color:#fff}@media(max-width:560px){.kitten-leaderboard{padding:12px}.kitten-leaderboard summary{font-size:20px}.kitten-leaderboard td{padding:10px 5px;font-size:12px}}

/* Artwork-only arcade shelf; game information opens on selection. */
.flash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 30px}
.flash-library .flash-tile{display:block;width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid #333;border-radius:3px;background:#050505;aspect-ratio:4/3}
.flash-tile .flash-card-art{width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;object-fit:cover;object-position:center}
.flash-library .flash-tile:hover{border-color:#eee}
#flash-info{box-sizing:border-box;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:42px 24px 24px;border:1px solid #555;border-radius:5px;background:#080808;color:#eee;overflow:auto}
#flash-info::backdrop{background:#000c}
#flash-info .flash-card{margin:0;padding:0;border:0;grid-template-columns:180px minmax(0,1fr);gap:16px 24px}
#flash-info .flash-card[hidden]{display:none}
#flash-info .flash-card-art{width:180px;height:160px;object-fit:contain}
#flash-info h3{font-size:28px}
#flash-info p{font:14px/1.7 monospace;color:#bbb}
#flash-info button{font-family:"XBAND Rough",monospace}
#flash-info-close{position:absolute;right:8px;top:6px;width:32px;height:30px;padding:0;border:0;background:transparent;color:#ddd;font:26px/1 monospace;cursor:pointer}
#flash-info button:focus-visible{outline:2px solid #eee;outline-offset:3px}
@media(max-width:600px){.flash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#flash-info{padding:42px 18px 20px}#flash-info .flash-card{grid-template-columns:1fr}#flash-info .flash-card-art{width:100%;height:170px}#flash-info .flash-card>div,#flash-info .flash-card>button{grid-column:1}}

.kitten-leaderboard #game-my-score{color:#fff}

/* Numbered Xiao Xiao collection inside the artwork selector. */
#flash-info .xiao-heading,#flash-info .xiao-collection{grid-column:1/-1}
.xiao-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#flash-info .xiao-collection button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;width:100%;padding:8px;background:#101010;color:#eee;border:1px solid #353535;font-size:19px}
.xiao-collection img{display:block;width:100%;height:auto;aspect-ratio:14/9;object-fit:cover}
.xiao-collection small{font:10px monospace;color:#aaa;letter-spacing:1px}
@media(max-width:440px){.xiao-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.flash-library .flash-tile{position:relative}.xiao-tile-label{position:absolute;inset:auto 0 0;padding:9px 5px;background:#000d;color:#fff;font:20px "XBAND Rough",monospace;text-align:center}

.quake-achievement-list{margin:16px 0}.quake-achievement-list summary{cursor:pointer;font-family:"XBAND Rough",monospace;font-size:20px}.quake-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.quake-achievement-grid article{display:flex;align-items:flex-start;gap:10px;background:#070707;padding:10px;min-width:0}.quake-achievement-grid img{width:60px;height:60px;object-fit:cover;flex-shrink:0}.quake-achievement-grid strong{font-family:"XBAND Rough",monospace;font-weight:400;font-size:18px}.quake-achievement-grid p{font-size:11px;margin:5px 0 0}@media(max-width:520px){.quake-achievement-grid{grid-template-columns:1fr}}

#flash-info .quake-achievement-list{grid-column:1/-1}#game-info-quake>p{grid-column:2}#flash-info .quake-achievement-grid p{font-size:11px}@media(max-width:600px){#game-info-quake>p{grid-column:1}}

.quake-player-select{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.quake-player-select>span{font-size:14px;color:#bbb}#quake-player-grid{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}#quake-player-grid[hidden]{display:none}#quake-player-grid button{display:grid;justify-items:center;gap:8px;background:#141414;padding:10px;font-size:16px}#quake-player-grid button[aria-pressed=true]{background:#383838}#quake-player-grid img{image-rendering:auto;width:64px;height:64px}#quake-player-grid span{white-space:normal}

/* Native CS server listing: artwork cropped into the same arcade tile. */
#flash-info .cs16-cover{object-fit:cover;object-position:65% center}#game-info-cs16 label{display:block;margin-top:14px;font:16px "XBAND Rough",monospace}#cs16-connect-command{box-sizing:border-box;width:100%;padding:12px 8px;margin:8px 0;background:#000;color:#fff;border:1px solid #333;font:12px monospace;letter-spacing:0}#cs16-copy-status{min-height:1.7em;font-size:12px!important}#game-info-cs16 a{color:#eee;text-decoration:underline}
