/* LOBBY RUN — full-width game surface */
/* Scoped rules override the older home-page medal layout, never the home top-10. */
#game-leaderboard .rank-avatar{width:46px!important;height:46px!important;flex:0 0 46px!important;margin:0!important;border:0;outline:0;border-radius:7px;padding:3px;box-sizing:border-box}
#game-leaderboard .rank-face{position:static!important;width:40px!important;height:40px!important;border:0;border-radius:4px!important;box-shadow:none!important}
#game-leaderboard .rank-gold{outline:2px solid #dfb34f;outline-offset:-2px}
#game-leaderboard .rank-silver{outline:2px solid #c5d0db;outline-offset:-2px}
#game-leaderboard .rank-bronze{outline:2px solid #b87746;outline-offset:-2px}
#game-leaderboard .rank-photo{border:0}
#runner .scene-options.characters{grid-template-columns:repeat(3,minmax(0,1fr))}
#runner .characters .scene-option img{object-fit:contain;height:98px;background:#0a130e}
#runner .characters .scene-option span{text-align:center}
#runner .control-table>div{align-items:center;min-height:58px}
#runner .bind-key{min-width:110px;max-width:60%;min-height:36px;padding:6px 12px;color:#d9edcf;background:#17281b;border:1px solid #536c46;border-radius:5px;font:700 12px Manrope;cursor:pointer}
#runner .bind-key:hover,#runner .bind-key.is-listening{border-color:var(--green);color:var(--green);background:#223919}
#runner .binding-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}
#runner #controls-message{min-height:18px;margin:12px 0;color:#c9ebad}
#runner .difficulty-tabs{display:flex;gap:8px;margin:12px 0}
#runner .difficulty-tabs button{border:1px solid #415a3c;border-radius:5px;padding:9px 15px;background:#132017;color:#b6c9ab;font:700 12px Manrope;cursor:pointer}
#runner .difficulty-tabs button.active{background:#b4ff38;color:#0b180a;border-color:#b4ff38}
#runner .settings-head{position:sticky;top:-24px;background:#0e1711;z-index:2;padding-top:12px}
@media(max-width:560px){#runner .settings-head{top:-18px}#runner .runner-controls{display:flex;min-height:30px;height:auto;justify-content:flex-end}#runner .runner-fps-label{display:block;padding:7px 0}}
[hidden]{display:none!important}
.runner-intro{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:26px;border-bottom:1px solid #29362d;padding:5px 0 26px;margin-bottom:23px}.runner-intro h1{font:800 clamp(38px,5vw,70px)/.86 Manrope,Arial,sans-serif;letter-spacing:-.07em;margin:0}.runner-intro h1 span{color:var(--green)}.runner-intro p{color:#a2b19e;font-size:12px;line-height:1.65;margin:0}.runner-intro p b{color:#e9f8de}.runner-intro>.text-link{white-space:nowrap}
.runner-shell{position:relative;width:100%;background:#0b100e;border:1px solid #324834;border-radius:10px;overflow:hidden;box-shadow:0 20px 70px #0007}.runner-toolbar{height:48px;padding:0 16px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #26372b;background:#101813;color:#a7b69e;font-size:10px;letter-spacing:.07em}.runner-toolbar .green-dot{margin-right:5px}.runner-toolbar strong{color:var(--green)}.runner-connection{margin-left:auto;color:#6e806e;font-size:9px;letter-spacing:.02em}.runner-icon-button{border:1px solid #3c513e;background:#172219;color:#9aae95;border-radius:5px;width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.runner-icon-button:hover{border-color:var(--green);color:var(--green)}.runner-icon-button .icon{width:14px;height:14px}
.runner-stage{height:min(625px,calc(100vw * .46));min-height:460px;position:relative;overflow:hidden;background:#12251f}.runner-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -100px 100px #06110ddd,inset 0 0 0 1px #8cff3540}.runner-stage canvas{width:100%;height:100%;display:block;image-rendering:auto;outline:none;background:#15231e}.runner-hud{position:absolute;inset:13px 16px auto;display:flex;align-items:start;gap:15px;z-index:4;pointer-events:none}.runner-hud>*{pointer-events:auto}.hud-score,.hud-speed{min-width:99px;border-left:2px solid var(--green);padding:4px 9px;background:#08100bdd}.hud-score small,.hud-speed small{display:block;color:#7c9680;font-size:8px;letter-spacing:.14em}.hud-score strong,.hud-speed strong{font:800 25px/1.1 Manrope;color:#e9f6d9}.hud-speed{border-color:#56a47a}.hud-speed strong{font-size:20px;color:#b7ec85}.hud-bonuses{display:flex;gap:7px;margin-left:auto}.hud-bonuses span{display:flex;align-items:center;gap:5px;border:1px solid #40563b;background:#0b170dca;padding:4px 7px;color:var(--green);font-size:12px}.hud-bonuses img{width:24px;height:24px;object-fit:contain}.hud-bonuses b{font:800 14px Manrope}.runner-hud .runner-icon-button{margin-left:0}
.hazard-warning{position:absolute;right:18px;top:73px;z-index:3;border:1px solid #ffac54;background:#2d1d0ccb;color:#ffd49e;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:9px;text-align:right}.hazard-warning b{font-size:12px;color:#fff}
.game-overlay{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#07100edb 0%,#07100ebd 42%,#07100e68 100%);display:flex;align-items:center;padding:35px 7%;color:#eff7ed}.game-overlay[hidden],.runner-hud[hidden],.game-small-overlay[hidden],.game-panel-overlay[hidden],.hazard-warning[hidden],.touch-controls [hidden]{display:none}.menu-grid{width:min(900px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.game-menu-copy .eyebrow{margin-bottom:14px}.game-menu-copy h2{font:800 clamp(33px,4.4vw,65px)/.92 Manrope;letter-spacing:-.07em;margin:0 0 17px}.game-menu-copy h2 span{color:var(--green)}.game-menu-copy p{color:#9eb09d;line-height:1.6;font-size:13px}.menu-best{margin-top:28px;border-left:2px solid var(--green);padding:8px 12px;background:#0a150d99;display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:end;width:max-content}.menu-best span{font-size:8px;color:#809680;letter-spacing:.14em;grid-column:1/-1}.menu-best b{font:800 30px Manrope;color:#eafaec}.menu-best small{font-size:10px;color:#7f9b7b}.game-menu-buttons{display:flex;flex-direction:column;gap:10px}.game-primary,.game-secondary,.game-option{font:700 12px Manrope;border-radius:5px;min-height:48px;padding:0 15px;display:flex;align-items:center;gap:10px;cursor:pointer}.game-primary{justify-content:center;border:1px solid var(--green);background:var(--green);color:#091509;box-shadow:0 8px 30px #aaff3530}.game-primary:hover{background:#ceff82}.game-primary .icon{margin-left:auto}.game-option{justify-content:start;background:#111f16db;border:1px solid #3e593f;color:#d1decf;text-align:left}.game-option:hover{border-color:var(--green);background:#172a19}.game-option>span{flex:1}.game-option>span small{display:block;color:#7e967d;font-size:9px;font-weight:400;margin-top:3px}.game-option>.icon:first-child{color:var(--green);width:20px;height:20px}.game-option>.icon:last-child{width:14px}.menu-footer{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #334834;background:#0c1510dd;min-height:40px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#7c917c;font-size:9px}.menu-footer a{color:var(--green)}.menu-footer a:hover{color:#eaffbd}
.game-small-overlay{align-items:center;justify-content:center;background:#06100dcc}.game-dialog{width:min(390px,90%);border:1px solid #476442;background:#101b13f5;padding:30px;text-align:center;box-shadow:0 20px 60px #000}.game-dialog h2{font:800 40px Manrope;letter-spacing:-.07em;margin:0 0 9px}.game-dialog p{font-size:12px;color:#aabda7;line-height:1.6}.game-dialog .game-primary,.game-dialog .game-secondary{width:100%;justify-content:center;margin-top:10px}.game-dialog small{display:block;color:#6f836e;font-size:9px;margin-top:17px}.result-score{display:flex;justify-content:center;align-items:end;gap:8px;margin:11px}.result-score b{font:800 50px Manrope;color:var(--green);letter-spacing:-.08em}.result-score span{font-size:11px;color:#7f9a7d;margin-bottom:10px}.result-save{min-height:22px;color:#d9f4c8!important}.game-secondary{justify-content:center;border:1px solid #40543f;background:transparent;color:#afc3ab}.game-secondary:hover{border-color:var(--green);color:var(--green)}
.game-panel-overlay{align-items:stretch;justify-content:end;padding:0;background:#020904cc}.game-settings{width:min(620px,100%);height:100%;overflow:auto;background:#0e1711;border-left:1px solid #405b3d;padding:24px}.settings-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2e412e;padding-bottom:16px;margin-bottom:18px}.settings-head h2{font:800 30px Manrope;letter-spacing:-.06em;margin:0}.settings-note{font-size:11px;color:#94a992;line-height:1.6;margin-top:0}.difficulty-options{display:flex;flex-direction:column;gap:9px}.difficulty-card{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;border:1px solid #293c2b;background:#111d13;padding:13px;cursor:pointer}.difficulty-card:hover,.difficulty-card:has(input:checked){border-color:var(--green);background:#17271a}.difficulty-card input{position:absolute;opacity:0}.difficulty-number{font:800 24px Manrope;color:#536b51}.difficulty-card:has(input:checked) .difficulty-number{color:var(--green)}.difficulty-card h3{margin:0;font-size:16px;color:#e3f0df}.difficulty-card h3 small{font-size:8px;color:var(--green);border:1px solid #3f5b3c;padding:2px 4px;margin-left:5px;vertical-align:middle}.difficulty-card p{margin:5px 0 0;color:#91a68f;font-size:11px;line-height:1.5}.scene-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 22px}.scene-option{position:relative;border:1px solid #293b2c;background:#132017;padding:5px;cursor:pointer}.scene-option:hover,.scene-option:has(input:checked){border-color:var(--green)}.scene-option input{position:absolute;opacity:0}.scene-option img{width:100%;height:74px;object-fit:cover;display:block}.scene-option.characters img{height:86px;object-fit:contain;background:#09110b}.scene-option span{display:block;color:#aec1a9;font-size:10px;padding:5px 3px}.scene-option i{display:none;position:absolute;right:6px;top:5px;color:var(--green);font-style:normal}.scene-option:has(input:checked) i{display:block}.game-settings h3{font-size:12px;color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 8px}.leaderboard-status{min-height:18px;color:#f4d58a;font-size:10px}.game-settings .leader-row{background:#111b13;padding:8px 7px;margin-bottom:3px;border:1px solid #243426}.game-settings .leader-name{font-size:11px}.game-settings .leader-score{font-weight:800}.rank-avatar{width:34px;height:34px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}.rank-face{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#aaff35,#087b65);color:#081207;font:800 12px Manrope;overflow:hidden;position:relative;z-index:1}.rank-photo{width:100%;height:100%;object-fit:cover}.medal-frame{position:absolute;inset:-7px;width:48px;height:48px;object-fit:contain;z-index:2;pointer-events:none}.rank-silver .rank-face{background:linear-gradient(135deg,#e8f5f2,#7a9895)}.rank-bronze .rank-face{background:linear-gradient(135deg,#eab681,#915333)}.rank-avatar.rank-gold,.rank-avatar.rank-silver,.rank-avatar.rank-bronze{border:2px solid #e6b44a;border-radius:50%;box-sizing:border-box}.rank-avatar.rank-silver{border-color:#c7d4d2}.rank-avatar.rank-bronze{border-color:#b86f45}.leader-row.gold .rank,.leader-row.silver .rank,.leader-row.bronze .rank{color:var(--green)}
.runner-controls{height:42px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #293b2c;background:#0b120d;color:#869c85;font-size:9px}.key-hints{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.key-hints kbd{background:#202f23;color:#d4e9d2;border:1px solid #486049;border-radius:3px;padding:3px 6px}.runner-fps-label{color:#6f896c}.runner-status{margin:0;padding:8px 16px;color:#6e856b;background:#0b120d;border-top:1px solid #1e2d21;font-size:9px}.touch-controls{display:none}.runner-rules{margin:58px 0 0}.runner-rules .section-heading{margin-bottom:22px}.runner-rules h2{font-size:28px}.runner-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.runner-rule-grid article{border:1px solid #2b3e2e;background:#121c15;border-radius:6px;padding:18px}.runner-rule-grid span{color:var(--green);font:800 13px Manrope}.runner-rule-grid h3{font-size:16px;margin:9px 0}.runner-rule-grid p{font-size:11px;line-height:1.7;color:#9daf9b;margin:0}.speed-table{margin-top:15px;border:1px solid #2b3e2e;background:#121c15;padding:13px 16px;color:#92a88f;font-size:11px}.speed-table summary{cursor:pointer;color:var(--green);font-weight:800}.speed-table div{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.speed-table div span{border:1px solid #344832;padding:5px 8px;background:#162318}.speed-table b{color:#e9f5d9}.speed-table p{margin:0;font-size:10px}.game-toast{position:absolute;left:50%;bottom:64px;transform:translate(-50%,20px);opacity:0;transition:.25s;background:#c8ff7c;color:#0c1b0b;padding:9px 14px;border-radius:5px;font-weight:800;font-size:11px;z-index:8;pointer-events:none}.game-toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.runner-intro{grid-template-columns:1fr auto}.runner-intro p{display:none}.runner-stage{height:min(590px,calc(100vw * .68));min-height:480px}.menu-grid{grid-template-columns:1fr;gap:20px}.game-menu-copy h2{font-size:36px}.menu-best{margin-top:14px}.game-menu-buttons{max-width:370px}.game-menu-copy p{font-size:11px}.runner-rules{margin-top:40px}.runner-rule-grid{grid-template-columns:1fr}.runner-fps-label{display:none}}
@media(max-width:560px){.runner-intro{display:block}.runner-intro>.text-link{display:inline-block;margin-top:15px}.runner-shell{margin-inline:-16px;width:calc(100% + 32px);border-radius:0}.runner-toolbar{padding:0 10px;height:43px;font-size:8px}.runner-connection{display:none}.runner-stage{height:calc(100svh - 170px);min-height:450px}.runner-hud{inset:9px 9px auto;gap:5px}.hud-score,.hud-speed{min-width:76px;padding:3px 6px}.hud-score strong{font-size:19px}.hud-speed strong{font-size:15px}.hud-bonuses{gap:4px}.hud-bonuses span{padding:2px 4px}.hud-bonuses img{width:21px;height:21px}.game-overlay{padding:20px 20px 50px;background:linear-gradient(90deg,#07100ee8,#07100eae)}.game-menu-copy h2{font-size:34px}.game-menu-copy p{font-size:10px}.menu-best{margin-top:12px}.menu-best b{font-size:23px}.game-menu-buttons{gap:7px}.game-primary,.game-option{min-height:43px;font-size:10px}.game-option>span small{font-size:8px}.menu-footer{font-size:8px;padding:0 9px}.menu-footer span:first-child{max-width:190px}.game-settings{padding:18px 14px}.scene-options{grid-template-columns:1fr 1fr}.scene-option img{height:61px}.runner-controls{display:none}.touch-controls{display:flex;position:absolute;bottom:7px;left:8px;right:8px;z-index:4;justify-content:space-between;align-items:end;pointer-events:none}.touch-controls button{pointer-events:auto;border:1px solid #688c54;border-radius:5px;background:#0a160ddb;color:#d8f8c8;min-width:70px;min-height:42px;font-weight:800;font-size:11px}.touch-controls .touch-jump{width:90px;height:54px;background:#aaff35;color:#0a1607;border-color:#aaff35}.touch-move{display:flex;gap:5px}.touch-move button{min-width:46px}.runner-status{font-size:8px}.runner-rules{margin-top:35px}.runner-rules h2{font-size:22px}.speed-table{font-size:10px}.key-hints{display:none}}
.runner-shell{scroll-margin-top:92px}.runner-stage canvas,.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none}.game-overlay{overflow:auto}.game-panel-overlay{overflow:hidden}.game-menu-copy h2{font-size:clamp(32px,4.4vw,56px);letter-spacing:-.06em;line-height:1.02}.game-option{min-height:54px}.game-menu-buttons>.game-primary{min-height:56px}.runner-shell:fullscreen{display:flex;flex-direction:column;border-radius:0;max-width:none}.runner-shell:fullscreen .runner-stage{flex:1;height:auto;min-height:0}.runner-shell:fullscreen .runner-status{flex:none}.scene-option:has(input:focus-visible),.difficulty-card:has(input:focus-visible){outline:2px solid #fff;outline-offset:3px}.runner-stage .game-dialog{position:relative;z-index:2}.runner-shell:not([data-phase=playing]) .touch-controls{display:none}.runner-shell[data-phase=playing] .game-overlay[hidden]{display:none!important}.runner-shell[data-phase=paused] .runner-hud{pointer-events:none}.runner-shell[data-phase=paused] .runner-hud>*{pointer-events:none}.menu-footer{gap:12px}.game-settings .leader-name{flex:1}
@media(max-width:850px){.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-menu-copy h2{font-size:38px}.game-menu-copy p{font-size:11px}.game-overlay{padding:28px 28px 55px}.game-panel-overlay{padding:0}}
@media(max-width:560px){.menu-grid{grid-template-columns:1fr;gap:17px}.game-menu-copy h2{font-size:34px;line-height:1}.game-menu-copy p{margin:7px 0;font-size:10px}.menu-best{display:none}.game-menu-buttons{max-width:100%}.game-option{min-height:48px}.game-menu-buttons>.game-primary{min-height:48px}.runner-stage{min-height:440px;height:calc(100svh - 130px)}.runner-shell{scroll-margin-top:140px}.game-menu-copy .eyebrow{margin-bottom:10px}.menu-footer{font-size:8px}.game-overlay{padding:22px 20px 48px}.game-panel-overlay{padding:0}.touch-controls{position:relative;left:auto;right:auto;bottom:auto;padding:8px;gap:6px;background:#0d170f}.touch-controls .touch-jump{height:46px;flex:1;max-width:140px}.touch-controls button{height:46px}.runner-shell:fullscreen .runner-stage{min-height:0}.runner-rule-grid{gap:10px}.runner-hud .runner-icon-button{width:30px;min-width:30px}.hud-score{min-width:80px}.game-dialog{padding:20px}.game-dialog h2{font-size:30px}.scene-options{grid-template-columns:1fr 1fr}.game-settings .settings-head h2{font-size:23px}}
@media(orientation:landscape) and (max-height:550px){.runner-shell:fullscreen .runner-stage{min-height:0}.runner-shell:fullscreen .menu-grid{grid-template-columns:1fr 1fr}.runner-shell:fullscreen .game-menu-copy h2{font-size:28px}.runner-shell:fullscreen .game-menu-copy p{display:none}.runner-shell:fullscreen .game-option{min-height:39px}.runner-shell:fullscreen .game-menu-buttons>.game-primary{min-height:39px}.runner-shell:fullscreen .menu-best{display:none}.runner-shell:fullscreen .menu-footer{display:none}.runner-shell:fullscreen .runner-controls,.runner-shell:fullscreen .runner-status{display:none}.runner-shell:fullscreen .game-overlay{padding:15px 24px}.runner-shell:fullscreen .game-panel-overlay{padding:0}}
@media(max-width:560px){.runner-stage{height:calc(100svh - 310px);min-height:440px}.game-menu-copy h2{font-size:30px}.game-menu-copy p{display:none}.game-menu-buttons{gap:6px}.menu-grid{gap:16px}.game-overlay{padding:20px 20px 50px}.game-panel-overlay{padding:0}.menu-footer span:first-child{max-width:155px;font-size:7px}}
