.solo-rank-open { min-height:44px; padding:9px 18px; border:1px solid #41657f; border-radius:7px; background:#11263b; color:#b5edff; font-size:12px; font-weight:700; line-height:1.35; cursor:pointer; }
.menu-overlay > .solo-rank-open { width:min(86%,360px); margin-top:12px; }
.solo-rank-open:hover { background:#193950; border-color:#6ed6f4; }
.solo-rank-open:disabled { cursor:default; opacity:.65; }
#soloRunTimer { flex:0 0 auto; font:700 11px/1.2 ui-monospace,monospace; color:#b4eaff; white-space:nowrap; }
#result { overflow-y:auto; overscroll-behavior:contain; justify-content:flex-start; padding:18px 0; }
#result > * { flex-shrink:0; }
#result .result-actions { margin-top:12px; gap:8px; }
#result .solo-upload-state { font-size:11px; line-height:1.55; color:#a2b5cf; text-align:center; }
.solo-upload-state:empty { display:none; }
.solo-run-result { width:min(84%,360px); margin-top:10px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 8px; padding:10px 13px; background:#102137; border:1px solid #2b4e67; border-radius:7px; color:#a6bdd4; font-size:11px; }
.solo-run-result strong { font:800 25px/1.2 ui-monospace,monospace; color:#d2f6ff; }
.solo-run-result small { grid-column:1/-1; font-size:10px; text-align:left; }
.solo-rank-overlay { position:fixed; z-index:80; inset:0; display:grid; place-items:center; padding:14px; background:rgba(2,6,12,.94); }
.solo-rank-card { width:min(100%,510px); min-height:0; height:min(760px,calc(var(--app-height,100vh) - 28px)); max-height:calc(var(--app-height,100vh) - 28px); display:flex; flex-direction:column; padding:18px; border:1px solid #39526e; border-radius:14px; background:linear-gradient(150deg,#142239,#080f1c); color:#dce7f4; overflow:hidden; }
.solo-rank-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.solo-rank-heading small { color:#72d8f1; font-size:10px; }
.solo-rank-heading h2 { margin:5px 0 12px; font-size:23px; line-height:1.3; }
.solo-rank-card button { min-height:44px; border:1px solid #365169; background:#162a40; color:#dce7f4; border-radius:7px; cursor:pointer; font-size:12px; }
.solo-rank-card button:focus-visible,.solo-rank-open:focus-visible { outline:2px solid #88e7ff; outline-offset:2px; }
.solo-rank-card button:disabled { opacity:.55; cursor:default; }
#soloRankClose { width:44px; flex:0 0 44px; align-self:flex-start; font-size:25px; background:transparent; }
.solo-rank-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.solo-rank-tabs button.selected { border-color:#67d7f7; color:#a2edff; background:#174058; }
.solo-rank-rules { color:#9aabc0; font-size:11px; line-height:1.6; margin:12px 0 8px; }
.solo-rank-local { margin:0 0 10px; color:#bdeeff; font:600 12px/1.4 ui-monospace,monospace; }
.solo-rank-tablehead,.solo-rank-row { display:grid; grid-template-columns:40px minmax(0,1fr) 102px; gap:10px; align-items:center; }
.solo-rank-tablehead { padding:8px 9px; border-bottom:1px solid #31445c; color:#94aac5; font-size:11px; }
.solo-rank-tablehead span:last-child { text-align:right; }
.solo-rank-scroll { min-height:64px; overflow-y:auto; overscroll-behavior:contain; flex:1 1 auto; }
#soloRankList { list-style:none; padding:0; margin:0; }
.solo-rank-row { min-height:48px; padding:8px 9px; border-bottom:1px solid #ffffff0e; font-size:12px; }
.solo-rank-number { color:#6fddf7; font-weight:800; }
.solo-rank-name { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.solo-rank-row strong { font:700 14px/1.2 ui-monospace,monospace; text-align:right; }
#soloRankState { margin:12px 9px; color:#acb9cb; font-size:11px; line-height:1.6; }
.solo-rank-footer { padding-top:12px; flex:0 0 auto; }
.solo-rank-footer > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.solo-rank-footer p { font-size:11px; color:#b4cce2; line-height:1.55; margin:9px 0; }
.solo-rank-footer small { font-size:10px; color:#7f90a7; }
@media(max-width:560px) {
  .solo-rank-overlay { padding:10px; padding-top:max(10px,env(safe-area-inset-top,0px),var(--solo-safe-top,0px)); padding-bottom:max(10px,env(safe-area-inset-bottom,0px),var(--solo-safe-bottom,0px)); }
  .solo-rank-card { padding:13px; max-height:calc(var(--app-height,100vh) - 28px - var(--solo-safe-top,0px) - var(--solo-safe-bottom,0px)); }
  .solo-rank-heading h2 { font-size:21px; }
  .solo-rank-tablehead,.solo-rank-row { grid-template-columns:30px minmax(0,1fr) 90px; gap:6px; }
}
@media(max-height:640px) {
  #result h2 { margin-top:4px; }
  #result .challenge-victory-praise { margin-top:8px; font-size:15px; }
  #result .result-actions { gap:6px; }
  .menu-overlay > .solo-rank-open { margin-top:6px; }
  .solo-rank-rules { margin-top:8px; }
}

.mode-online{display:block;text-decoration:none;font-family:inherit;box-sizing:border-box;border-color:#496182}.mode-online .mode-label{color:#a5dfff}
.solo-account {margin:10px 0;padding:12px;border:1px solid #496086;border-radius:8px;background:#19273e;font-size:12px}.solo-rank-heading{position:sticky;top:0;background:#112034;z-index:3}
.solo-account>div {display:flex;gap:8px;margin:8px 0}.solo-account button{padding:8px 14px}.solo-account small{color:#aabdd5;line-height:1.55;display:block}
.solo-pending{margin-bottom:10px;padding:10px;border:1px solid #72d8ec;border-radius:8px;font-size:12px;display:grid;gap:8px}.solo-pending p{margin:0;font-size:11px;line-height:1.45;color:#aac3df}
.solo-rank-card{height:auto;max-height:calc(var(--app-height,100vh) - 28px);overflow-y:auto}.solo-rank-scroll{flex:1 1 220px;min-height:90px}.solo-rank-heading,.solo-rank-tabs,.solo-account,.solo-pending,.solo-rank-rules,.solo-rank-tablehead,.solo-rank-local{flex-shrink:0}
.statusbar {gap:8px} #modeStatus {flex:1}.platform-status-link{flex:0 0 auto} #soloRunTimer{font-size:10px}
#soundBtn{font-size:12px;width:48px}.toy-sound-panel{position:absolute;z-index:26;top:8px;right:8px;width:min(260px,calc(100% - 16px));padding:12px;border:1px solid #3b506b;border-radius:12px;background:#0e1827;box-shadow:0 12px 35px #0009}
.toy-sound-heading{display:flex;align-items:center;justify-content:space-between;font-size:14px}.toy-sound-panel button{color:#f4f7fb;cursor:pointer}#toySoundClose{width:44px;height:44px;background:transparent;border:0;font-size:23px}
#toyMusicToggle,#toySfxToggle{display:block;width:100%;min-height:48px;margin-top:8px;padding:10px 14px;text-align:left;border:1px solid #3b506b;border-radius:7px;background:#172638;font-size:14px}.toy-sound-panel button[aria-pressed="true"]{border-color:#42cde5;color:#8eebff}
.toy-pause{z-index:24;background:rgba(4,7,12,.94);gap:18px}.toy-pause h2{margin:0;font-size:28px}.toy-pause p{margin:0;color:#9eafc4;font-size:13px}.toy-pause .text-button{min-height:44px;padding:8px 20px}
#menu{overflow-y:auto;overscroll-behavior:contain;padding:16px 0}#menu>*{flex-shrink:0}
@media(max-height:720px){#menu{justify-content:flex-start}.seal-top{display:none}.menu-copy h1{font-size:38px;margin:6px 0}.mode-grid{margin-top:12px;gap:6px}.mode-card{min-height:54px;padding-block:7px}.menu-note{margin-top:8px}.creator-links-menu{margin-top:7px}.thanks-letter-button{margin-top:5px}}
@media(max-width:560px){#soloRunTimer:not(.hidden)~.platform-status-link{display:none}.solo-account{padding:9px}.solo-rank-card{padding:12px}.solo-rank-heading h2{font-size:20px}}
