@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Teko:wght@500;600;700&display=swap";:root{font-family:Space Grotesk,system-ui,sans-serif;color:#f7fbff;background:#070713;font-synthesis:none;--cyan: #33e6ff;--violet: #a14bff;--lime: #b7ff35;--amber: #ffb229;--danger: #ff3f78}*{box-sizing:border-box}html,body,#game-shell{width:100%;height:100%;height:100dvh;margin:0;overflow:hidden}body{background:#080814;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-touch-callout:none}button{font:inherit;color:inherit}#game-shell{position:fixed;inset:0;min-height:-webkit-fill-available;isolation:isolate}#game-shell:after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;opacity:0;box-shadow:inset 0 0 120px #ff3f78a6;transition:opacity .5s}#game-shell.lockdown:after{opacity:.11;animation:alarmPulse 1.3s ease-in-out infinite}#game-shell.lockdown.critical:after{opacity:.3;animation-duration:.48s}@keyframes alarmPulse{50%{opacity:.03}}#game-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.screen{position:absolute;inset:0;z-index:30;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}.screen.active{opacity:1;visibility:visible;pointer-events:auto}#loading-screen{background:#070711;gap:20px;align-content:center}#loading-screen p{font-size:11px;letter-spacing:.32em;color:#8a91a9}.loading-mark{width:70px;height:70px;position:relative;animation:rotate 2.4s linear infinite}.loading-mark span{position:absolute;inset:10px;border:3px solid transparent;border-top-color:var(--cyan);border-radius:50%}.loading-mark span:nth-child(2){inset:20px;border-top-color:var(--violet);animation:reverseRotate 1.2s linear infinite}.loading-mark span:nth-child(3){inset:30px;border:5px solid var(--lime);box-shadow:0 0 20px var(--lime)}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes reverseRotate{to{transform:rotate(-720deg)}}.keyart-screen{place-items:stretch;background:linear-gradient(90deg,#040512e6,#0606158c 42%,#0505102e 75%),url(/menu-keyart.png) center/cover}.menu-vignette{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,4,12,.9),transparent 42%),radial-gradient(circle at 65% 48%,transparent 20%,rgba(3,3,13,.35) 95%)}.menu-card{align-self:center;position:relative;width:min(560px,calc(100% - 48px));margin-left:clamp(24px,7vw,120px)}.eyebrow{color:var(--cyan);font-weight:700;font-size:11px;letter-spacing:.28em;margin:0 0 14px}.menu-card h1{font-family:Teko,sans-serif;font-size:clamp(80px,10vw,150px);line-height:.67;letter-spacing:-.025em;margin:0;text-shadow:0 8px 40px #000}.menu-card h1 span{color:transparent;-webkit-text-stroke:2px var(--cyan);filter:drop-shadow(0 0 12px rgba(51,230,255,.45))}.menu-copy{color:#cbd2e6;max-width:430px;font-size:14px;margin:30px 0 18px;text-shadow:0 2px 10px #000}.difficulty-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(500px,100%);margin-bottom:14px}.difficulty-picker button{min-height:58px;padding:10px 8px;color:#9ba5bd;background:#080a1ab8;border:1px solid rgba(255,255,255,.12);cursor:pointer;display:grid;gap:3px;text-align:left;transition:border-color .2s,background .2s,color .2s,transform .2s}.difficulty-picker button:hover{transform:translateY(-1px);border-color:#33e6ff73}.difficulty-picker button.selected{color:#f7fbff;border-color:var(--lime);background:#4a65176b;box-shadow:inset 0 -2px var(--lime),0 0 20px #b7ff351a}.difficulty-picker b{font-size:9px;letter-spacing:.12em}.difficulty-picker small{color:#77819b;font-size:8px}.difficulty-picker .selected small{color:#c1d98e}.primary-button,.secondary-button{border:0;min-width:230px;padding:16px 22px;font-weight:700;font-size:12px;letter-spacing:.14em;cursor:pointer;transition:transform .18s,filter .18s}.primary-button{color:#061014;background:linear-gradient(90deg,var(--lime),#5fffc0);box-shadow:0 10px 35px #b7ff3538}.primary-button span{float:right;font-size:17px;line-height:12px}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);filter:brightness(1.1)}.secondary-button{color:#dbe3f8;background:#ffffff14;border:1px solid rgba(255,255,255,.18);margin-top:10px}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(500px,100%);margin-top:8px}.menu-actions .mini-button{min-width:0;margin:0;padding:12px 10px;font-size:9px}.text-button{display:block;border:0;background:none;color:#e5eafb;padding:14px 0;font-size:12px;cursor:pointer;opacity:.75}.setting-button{display:block;width:100%;margin:-8px 0 14px;padding:11px 14px;color:var(--cyan);background:#33e6ff0f;border:1px solid rgba(51,230,255,.22);font-weight:700;font-size:9px;letter-spacing:.13em;cursor:pointer}.modal-card.compact .setting-button{margin:10px 0 0}.menu-badge{position:absolute;right:35px;bottom:28px;display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:.16em;color:#aab2c7}.menu-badge b{color:#0d1504;background:var(--lime);padding:7px 9px}.panel-screen{background:#04050fc2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-card{position:relative;width:min(680px,calc(100% - 32px));padding:clamp(28px,5vw,54px);background:linear-gradient(135deg,#151830f7,#0a0b1af7);border:1px solid rgba(92,225,255,.2);box-shadow:0 40px 100px #0000008c,inset 0 1px #ffffff0f}.modal-card.compact{width:min(430px,calc(100% - 32px));text-align:center}.modal-card h2{font-family:Teko;font-size:clamp(44px,7vw,72px);line-height:.9;margin:0 0 28px}.close-button{position:absolute;right:14px;top:10px;border:0;background:none;color:#8b93aa;font-size:32px;cursor:pointer}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.control-grid article{min-height:130px;padding:20px;background:#ffffff0a;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.05)}.control-grid b{font-size:11px;letter-spacing:.16em;margin-top:12px}.control-grid small{color:#8991a8;font-size:10px;margin-top:4px}.key-cluster,.mouse-icon{font-family:monospace;color:var(--cyan);border:1px solid rgba(51,230,255,.35);padding:7px 10px;box-shadow:inset 0 -3px #33e6ff1f}.mobile-note{color:#929ab2;font-size:11px;margin:0 0 24px;text-align:center}.panel-copy{color:#9da8c1;font-size:12px;line-height:1.55;margin:-12px 0 22px;max-width:560px}.selection-card,.multiplayer-card{max-height:min(820px,calc(100dvh - 24px));overflow:auto}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 24px}.avatar-option{position:relative;min-height:112px;padding:14px 12px;color:#aeb8d0;background:#ffffff09;border:1px solid rgba(255,255,255,.1);cursor:pointer;text-align:left;transition:.2s}.avatar-option:hover{transform:translateY(-2px);border-color:var(--avatar-accent)}.avatar-option.selected{color:#fff;border-color:var(--avatar-accent);background:color-mix(in srgb,var(--avatar-accent) 15%,rgba(16,18,38,.95));box-shadow:inset 0 -3px var(--avatar-accent),0 0 24px color-mix(in srgb,var(--avatar-accent) 18%,transparent)}.avatar-bot{position:relative;display:block;width:46px;height:48px;margin:0 auto 11px}.avatar-bot:before{content:"";position:absolute;width:28px;height:24px;left:9px;top:0;border:5px solid var(--avatar-suit);background:var(--avatar-dark);box-shadow:inset 0 0 0 3px var(--avatar-accent),0 0 15px var(--avatar-accent)}.avatar-bot:after{content:"";position:absolute;width:34px;height:18px;left:6px;top:30px;border:6px solid var(--avatar-suit);background:var(--avatar-dark)}.avatar-option b,.avatar-option small{display:block;text-align:center}.avatar-option b{font-size:10px;letter-spacing:.14em}.avatar-option small{color:#747f9a;font-size:8px;margin-top:4px}.room-entry{display:grid;gap:14px}.room-entry.hidden,.room-lobby.hidden,.result-row.hidden{display:none}.room-entry>.primary-button{width:100%}.join-row{display:grid;grid-template-columns:1fr 112px;gap:8px}.join-row input{min-width:0;padding:14px 16px;color:var(--cyan);background:#040714cc;border:1px solid rgba(51,230,255,.3);outline:none;font:700 16px monospace;letter-spacing:.26em;text-transform:uppercase}.join-row input:focus{border-color:var(--cyan);box-shadow:0 0 20px #33e6ff1f}.join-row .secondary-button{min-width:0;margin:0}.room-lobby{display:grid;gap:14px}.room-code-wrap{display:grid;justify-items:center;gap:5px;padding:15px;background:#33e6ff0f;border:1px solid rgba(51,230,255,.18)}.room-code-wrap small{color:#7d8ba8;font-size:8px;letter-spacing:.2em}#room-code-display{color:var(--cyan);background:none;border:0;cursor:pointer;font:700 30px monospace;letter-spacing:.25em;text-shadow:0 0 20px rgba(51,230,255,.55)}.room-members{display:grid;grid-template-columns:1fr 1fr;gap:7px}.room-member{display:flex;gap:9px;align-items:center;padding:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);font-size:9px;letter-spacing:.08em}.room-member i{width:10px;height:10px;border-radius:50%;background:var(--member-color);box-shadow:0 0 12px var(--member-color)}.room-member.ready:after{content:"READY";margin-left:auto;color:var(--lime);font-size:7px}.room-status{min-height:18px;margin:0;color:#8d98b2;text-align:center;font-size:10px}.room-status.error{color:var(--danger)}.room-lobby .text-button{margin:auto}#hud{position:absolute;z-index:10;left:24px;right:24px;top:18px;display:grid;grid-template-columns:155px 1fr auto;gap:20px;align-items:start;transition:opacity .25s;pointer-events:none}.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.brand-chip{height:40px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.15em}.brand-chip i{width:15px;height:15px;border:3px solid var(--cyan);transform:rotate(45deg);box-shadow:0 0 12px var(--cyan)}.progress-wrap{width:min(460px,100%);justify-self:center;padding-top:4px}.stage-row{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;text-shadow:0 2px 6px #000}.stage-row b{color:var(--lime)}.progress-track{height:5px;margin-top:9px;background:#ffffff21;position:relative;overflow:visible}#progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--cyan),var(--lime));box-shadow:0 0 12px var(--cyan);transition:width .25s}#checkpoint-pip{position:absolute;width:10px;height:10px;top:-3px;left:0;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff;transition:left .4s}.hud-stats{display:flex;gap:12px;align-items:center;text-shadow:0 2px 7px #000;pointer-events:auto}.hud-stats>div{display:grid}.hud-stats small{color:#7f89a3;font-size:8px;letter-spacing:.15em}.hud-stats b{font-family:monospace;font-size:13px}#lockdown-stat b{color:var(--danger);text-shadow:0 0 10px var(--danger)}.icon-button{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);background:#0809188c;cursor:pointer;border-radius:50%;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.crew-chip{position:absolute;z-index:12;left:24px;top:70px;display:flex;gap:8px;align-items:center;padding:8px 11px;background:#070a19b8;border:1px solid rgba(51,230,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crew-chip span,.crew-chip small{color:#77849f;font-size:7px;letter-spacing:.14em}.crew-chip b{color:var(--cyan);font:700 11px monospace;letter-spacing:.16em}#objective{position:absolute;z-index:12;top:105px;left:50%;transform:translate(-50%,-18px);opacity:0;display:grid;text-align:center;filter:drop-shadow(0 4px 8px #000);transition:opacity .4s,transform .4s}#objective.show{opacity:1;transform:translate(-50%)}#objective span{color:var(--cyan);font-size:8px;letter-spacing:.3em}#objective b{font-family:Teko;font-size:36px;letter-spacing:.06em;line-height:1}#objective small{color:#aab2c6;font-size:10px}#checkpoint-toast{position:absolute;z-index:13;left:50%;bottom:90px;transform:translate(-50%,30px);display:flex;gap:13px;align-items:center;padding:12px 18px;background:#080e0ee0;border:1px solid rgba(183,255,53,.28);opacity:0;transition:.35s}#checkpoint-toast.show{opacity:1;transform:translate(-50%)}#checkpoint-toast>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#0b1503;background:var(--lime);font-weight:900}#checkpoint-toast div{display:grid}#checkpoint-toast small{color:var(--lime);font-size:7px;letter-spacing:.2em}#checkpoint-toast b{font-size:11px;letter-spacing:.08em}#danger-toast{position:absolute;z-index:12;left:50%;top:34%;transform:translate(-50%,-10px);color:#fff;display:flex;align-items:center;gap:10px;padding:8px 15px;background:#43081fbf;border:1px solid rgba(255,63,120,.4);font-size:10px;letter-spacing:.14em;opacity:0;transition:.25s}#danger-toast.show{opacity:1;transform:translate(-50%)}#danger-toast span{color:var(--danger);font-size:18px;font-weight:900}#interaction-prompt{position:absolute;z-index:16;left:50%;bottom:34px;transform:translate(-50%,14px);display:flex;align-items:center;gap:11px;min-width:215px;padding:10px 15px;color:#fff;background:#060916e0;border:1px solid rgba(51,230,255,.45);box-shadow:0 12px 35px #00000073,0 0 20px #33e6ff17;cursor:pointer;opacity:0;transition:opacity .2s,transform .2s}#interaction-prompt.ready{opacity:1;transform:translate(-50%)}#interaction-prompt span{display:grid;place-items:center;width:26px;height:26px;color:#071015;background:var(--cyan);font:800 12px monospace}#interaction-prompt b{font-size:9px;letter-spacing:.13em}#mobile-controls{position:absolute;z-index:25;inset:auto 0 0;height:240px;pointer-events:none}#game-shell.touch-mode.game-running:not(.game-paused) #mobile-controls{opacity:1!important;visibility:visible!important}#joystick-zone{position:absolute;left:calc(22px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));width:148px;height:148px;border:2px solid rgba(255,255,255,.24);background:radial-gradient(circle,#1218349e,#0709196b);border-radius:50%;pointer-events:auto;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;box-shadow:0 10px 32px #00000052,inset 0 0 30px #33e6ff0d}#joystick-zone:after{content:"";position:absolute;inset:39px;border:1px dashed rgba(255,255,255,.24);border-radius:50%}#joystick-zone>span{position:absolute;left:50%;top:-19px;transform:translate(-50%);color:#e1ebffb8;font-size:8px;font-weight:700;letter-spacing:.18em}#joystick-knob{position:absolute;z-index:2;width:58px;height:58px;left:50%;top:50%;margin:-29px 0 0 -29px;border:2px solid rgba(202,250,255,.74);border-radius:50%;background:#33e6ffb3;box-shadow:0 0 30px #33e6ff7a,inset 0 0 15px #fff3}#jump-button{position:absolute;right:calc(24px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:102px;height:102px;border-radius:50%;border:2px solid rgba(183,255,53,.72);background:#5477128a;font-weight:800;letter-spacing:.1em;font-size:12px;pointer-events:auto;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;box-shadow:0 0 28px #b7ff3533,inset 0 0 22px #b7ff3514}#jump-button.pressed{transform:scale(.92);background:#b7ff35b3;color:#101604}#interact-button,#camera-button{position:absolute;right:calc(142px + env(safe-area-inset-right));width:62px;height:62px;border-radius:50%;font-weight:800;letter-spacing:.08em;font-size:9px;pointer-events:auto;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none}#interact-button{bottom:calc(91px + env(safe-area-inset-bottom));border:2px solid rgba(51,230,255,.72);background:#145d6e9e;box-shadow:0 0 24px #33e6ff40}#camera-button{bottom:calc(20px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.35);color:#d7def1;background:#0f132a9e}#interact-button.pressed{transform:scale(.9);color:#061014;background:var(--cyan)}#camera-button.pressed{transform:scale(.9);color:#071015;background:var(--cyan)}#look-hint{position:absolute;right:calc(24px + env(safe-area-inset-right));bottom:calc(145px + env(safe-area-inset-bottom));padding:8px 11px;color:#e1ebffc7;background:#0709189e;border:1px solid rgba(255,255,255,.12);font-size:8px;letter-spacing:.13em;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}#look-hint.show{opacity:1;transform:translateY(0)}#respawn-wipe{position:absolute;z-index:20;inset:0;background:#080811;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s}#respawn-wipe.show{opacity:1;visibility:visible}#respawn-wipe span{color:var(--cyan);font-size:9px;letter-spacing:.3em}.finish-panel{background:radial-gradient(circle,#321562b8,#04050fe0)}.lime{color:var(--lime)}.result-time{color:var(--cyan);font-family:Teko;font-size:56px;line-height:1;margin-bottom:22px}.result-row{display:flex;justify-content:space-between;padding:12px 4px;border-top:1px solid rgba(255,255,255,.09);font-size:11px;letter-spacing:.15em}.result-row b{color:var(--lime)}.finish-panel .primary-button{margin-top:22px}.orientation-screen{position:absolute;inset:0;z-index:60;display:none;place-items:center;padding:20px;background:radial-gradient(circle at 50% 40%,#1c2346f7,#04050ffc);text-align:center}.orientation-screen.show{display:grid}.orientation-card{width:min(410px,100%)}.orientation-card .rotate-glyph{display:block;color:var(--cyan);font-size:68px;line-height:1;filter:drop-shadow(0 0 16px rgba(51,230,255,.55));animation:rotatePrompt 1.8s ease-in-out infinite}.orientation-card .eyebrow{margin-top:18px}.orientation-card h2{font-family:Teko;font-size:48px;line-height:.9;margin:0 0 12px}.orientation-card p:not(.eyebrow){color:#aeb7ce;font-size:12px;line-height:1.6;max-width:340px;margin:0 auto 18px}.orientation-card .secondary-button{min-width:0;width:min(290px,100%)}@keyframes rotatePrompt{0%,to{transform:rotate(-25deg)}50%{transform:rotate(65deg)}}@media(pointer:coarse),(max-width:780px){#hud{left:13px;right:13px;top:10px;grid-template-columns:1fr auto;gap:12px}.brand-chip{display:none}.progress-wrap{grid-column:1 / -1;grid-row:2;width:100%}.hud-stats{justify-self:end}.hud-stats>div:first-child{position:absolute;left:0;top:5px}.menu-card{align-self:end;margin:0 20px 42px;width:min(540px,calc(100% - 40px))}.menu-card h1{font-size:clamp(68px,22vw,108px)}.menu-copy{margin:20px 0 14px;font-size:12px}.difficulty-picker button{min-height:52px}.keyart-screen{background-position:61% center}.menu-badge{display:none}.control-grid{grid-template-columns:1fr 1fr}.control-grid article{min-height:112px;padding:12px}#objective{top:100px}#interaction-prompt{display:none}.hud-stats>div:nth-child(2){display:none}.crew-chip{left:13px;top:83px}.avatar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:450px){.hud-stats{gap:7px}.hud-stats>div:nth-child(2){display:none}#nodes-stat{display:none}#game-shell.lockdown #nodes-stat{display:grid}.hud-stats b{font-size:11px}.modal-card{padding:32px 22px}.control-grid small{display:none}.control-grid article{min-height:92px}.difficulty-picker{gap:4px}.difficulty-picker button{min-height:48px;padding:8px 5px}.difficulty-picker small{display:none}}@media(pointer:fine){.orientation-screen{display:none!important}}@media(pointer:coarse)and (orientation:landscape)and (max-height:440px){.menu-card{align-self:center;margin-top:8px;margin-bottom:8px}.menu-card h1{font-size:76px}.menu-copy{margin:12px 0 10px}.difficulty-picker button{min-height:44px}.menu-actions .mini-button{padding:8px 7px}.text-button{padding:9px 0}#joystick-zone{width:136px;height:136px}#jump-button{width:94px;height:94px}}

/* Neon Shift preview v2: responsive controls and cinematic enhancement */
#game-shell { isolation:isolate; }
.neon-sensitivity { display:flex; flex-direction:column; gap:9px; margin:12px 0; padding:12px 16px;
  border:1px solid rgba(82,229,255,.26); background:rgba(5,17,37,.65);
  border-radius:12px; color:#cbf6ff; font-weight:800; font-size:12px; letter-spacing:.08em; }
.neon-sensitivity input { accent-color:#36e8ff; width:100%; min-height:26px; }
.difficulty-picker button[data-difficulty="nightmare"] { border-color:rgba(255,76,133,.55);
  background:linear-gradient(145deg,rgba(112,13,63,.62),rgba(26,5,46,.85));
  box-shadow:inset 0 0 24px rgba(254,42,101,.15); }
.difficulty-picker button[data-difficulty="nightmare"].selected { border-color:#ff568e;
  box-shadow:0 0 28px rgba(255,43,118,.32),inset 0 0 24px rgba(254,42,101,.2); }
#game-canvas { filter: saturate(1.08) contrast(1.025); }
#joystick-zone, #jump-button, #interact-button, #camera-button {
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; touch-action:none;
}
@media (pointer:coarse) {
  #camera-button { min-width:62px; min-height:62px; }
  #interact-button { min-width:62px; min-height:62px; }
  #joystick-zone { border-color:rgba(51,230,255,.47); }
  #jump-button { box-shadow:0 0 38px #b7ff354d,inset 0 0 24px #b7ff352a; }
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:440px) {
  #mobile-controls { height: min(220px,80vh); }
  #joystick-zone { width:132px; height:132px; }
  #jump-button { width:90px; height:90px; }
  .difficulty-picker { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .difficulty-picker button { min-width:0; }
}

.preview-ribbon{margin:0 0 8px;font-size:10px;letter-spacing:.15em;font-weight:900;color:#35ecff;text-shadow:0 0 16px #20dcff;}
.difficulty-picker{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:560px){.difficulty-picker button b{font-size:10px}.difficulty-picker button small{font-size:9px}.difficulty-picker{gap:5px}}

/* V2.1 polish: more readable and physically grounded dark-industrial palette */
#game-canvas{filter:saturate(.99) contrast(1.04);}
#mobile-controls{contain:layout style;}
#joystick-zone{border-color:rgba(86,242,255,.66);background:radial-gradient(circle at 50% 42%,rgba(22,45,69,.88),rgba(3,9,24,.76));}
#jump-button{border-color:#b8ff50; background:radial-gradient(circle at 38% 33%,rgba(100,143,56,.84),rgba(20,42,30,.82));}
#camera-button{background:rgba(5,23,43,.85);border-color:rgba(78,212,240,.66);}
@media (pointer:coarse) and (orientation:landscape) and (max-height:440px){
 #hud{top:calc(5px + env(safe-area-inset-top));}
 #objective{top:76px;max-width:48vw}
 #mobile-controls{height:min(198px,64vh);}
 #jump-button{width:82px;height:82px;bottom:calc(9px + env(safe-area-inset-bottom));}
 #camera-button{width:58px;height:58px;bottom:calc(16px + env(safe-area-inset-bottom));right:calc(122px + env(safe-area-inset-right));}
 #joystick-zone{width:120px;height:120px;bottom:calc(9px + env(safe-area-inset-bottom));}
 #interact-button{right:calc(122px + env(safe-area-inset-right));bottom:calc(85px + env(safe-area-inset-bottom));}
}

/* NEON SHIFT REFORGED — true production UI, legible on small mobile landscapes */
:root{--cyan:#41dcf4;--violet:#8062e4;--lime:#b4ff5a;--amber:#ffba49;--danger:#ff4865;}
body{background:#050b15;}
#game-shell{background:#050b15;}
#game-canvas{filter:none!important;transform:none!important;width:100%!important;height:100%!important;}
.menu-card{
  border:1px solid rgba(82,209,243,.23);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(6,19,37,.92),rgba(6,12,27,.83));
  box-shadow:0 24px 110px rgba(0,0,0,.65), inset 0 1px 0 rgba(160,232,253,.1);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
}
.preview-ribbon{padding:7px 11px;display:inline-block;border:1px solid rgba(68,221,241,.42);
  border-radius:6px;background:rgba(6,50,69,.42);font-size:10px;}
.difficulty-picker{grid-template-columns:repeat(4,minmax(0,1fr));}
.difficulty-picker button{border-radius:9px;transition:background .18s,border-color .18s,transform .18s;}
.difficulty-picker button.selected{border-color:#5df6ff;background:linear-gradient(145deg,rgba(20,78,103,.6),rgba(8,28,55,.8));}
.primary-button{border-radius:10px;background:linear-gradient(105deg,#27dfeb,#69f5b2);color:#061624;
 box-shadow:0 8px 32px rgba(43,207,236,.25);}
.hud-stats>div{background:rgba(5,14,29,.68);border:1px solid rgba(120,215,245,.12);
 border-radius:7px;padding:5px 9px;backdrop-filter:blur(6px);}
.progress-track{background:rgba(25,46,68,.75);}
#joystick-zone{background:radial-gradient(circle,rgba(18,51,68,.82),rgba(4,13,27,.84));}
#jump-button{color:#eaffd8;text-shadow:0 0 16px rgba(160,255,68,.7);background:linear-gradient(145deg,rgba(25,67,45,.9),rgba(7,30,25,.93));}
#camera-button{background:linear-gradient(145deg,rgba(16,47,66,.9),rgba(5,22,36,.94));}
#look-hint{background:rgba(6,22,37,.68);border-radius:8px;}
@media(pointer:coarse) and (orientation:landscape) and (max-height:500px){
 #hud{top:calc(3px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));gap:6px}
 #hud .progress-wrap{padding-top:1px}
 #hud .stage-row{font-size:9px}
 #hud .hud-stats{gap:4px}
 #hud .hud-stats small{font-size:8px}
 #hud .hud-stats b{font-size:12px}
 #objective{max-width:40vw;font-size:10px;top:70px;opacity:.9}
 #mobile-controls{height:170px}
 #joystick-zone{width:110px;height:110px;left:calc(20px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom))}
 #jump-button{width:92px;height:92px;right:calc(18px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}
 #camera-button{width:60px;height:60px;right:calc(124px + env(safe-area-inset-right));bottom:calc(19px + env(safe-area-inset-bottom))}
 #interact-button{right:calc(128px + env(safe-area-inset-right));bottom:calc(87px + env(safe-area-inset-bottom))}
 .menu-card{max-height:calc(100dvh - 30px);overflow-y:auto}
}

.route-hint{display:block;margin-top:8px;color:#a5eeff;font-size:11px;line-height:1.55;opacity:.92}

/* Keep the canvas responsive on mobile browser toolbar changes. */
#game-canvas{width:100%!important;height:100%!important;display:block}

/* V3.5 landing guide legend; high-contrast, mobile-readable */
.route-hint{border-left:3px solid #a9ff56;padding:7px 10px;
  background:rgba(10,48,61,.35);border-radius:3px;letter-spacing:.018em}
.landing-guide-key{display:inline-flex;gap:6px;align-items:center;
  color:#b9f8ed;font-size:10px;font-weight:700}
@media(pointer:coarse) and (orientation:landscape) and (max-height:440px){
  .route-hint{font-size:10px;line-height:1.3;padding:4px 6px}
}

.v4-medal{padding:10px 16px;letter-spacing:.08em;text-align:center;font-weight:900;
color:#dbf6fa;background:linear-gradient(90deg,rgba(15,43,54,.85),rgba(26,35,61,.85));
border:1px solid rgba(116,233,250,.35);border-radius:10px}
.route-hint{color:#d6ffff;line-height:1.55}

/* Compact accessible menu on mobile landscape: keep every action reachable. */
.keyart-screen .menu-card{max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;padding:7px 10px 12px 2px}
@media(max-height:440px){
 .keyart-screen .menu-card h1{font-size:clamp(57px,7vw,88px)}
 .keyart-screen .menu-copy{font-size:11px;line-height:1.25;margin:9px 0}
 .keyart-screen .eyebrow{margin:3px 0 7px;font-size:8px}
 .keyart-screen .difficulty-picker{margin-bottom:6px;gap:4px}
 .keyart-screen .difficulty-picker button{min-height:37px;padding:4px}
 .keyart-screen .primary-button{padding:9px 15px}
 .keyart-screen .menu-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px;gap:4px}
 .keyart-screen .menu-actions .mini-button{padding:7px 4px;font-size:8px;letter-spacing:0}
 .keyart-screen .text-button{padding:7px 0}
 .keyart-screen .v41-nickname{margin:2px 0;font-size:8px}
}

/* V4.1 leaderboard + cooperative gates */
.v41-nickname{display:flex;justify-content:center;align-items:center;gap:8px;
 color:#b9eefd;font-size:10px;font-weight:800;letter-spacing:.08em;margin:5px auto}
.v41-nickname input{width:150px;padding:8px;border:1px solid rgba(133,222,239,.4);
 background:rgba(1,15,28,.75);color:#e5ffff;border-radius:7px;font-size:12px}
.v41-overlay{position:absolute;inset:0;z-index:95;background:rgba(0,5,19,.93);
 display:flex;justify-content:center;align-items:center;padding:14px;overflow:auto}
.v41-board{position:relative;width:min(490px,95vw);max-height:93%;overflow:auto;
 border:1px solid rgba(128,233,241,.5);border-radius:15px;padding:18px;
 background:linear-gradient(145deg,#092437,#111529);color:#ebffff}
.v41-board h2{font-size:23px;margin:5px 0 12px}
.v41-close{position:absolute;right:10px;top:7px;border:0;color:white;
 background:transparent;font-size:29px}
.v41-filters{display:flex;gap:9px}
.v41-filters select{flex:1;min-width:0;padding:9px 8px;background:#0c2a39;
 color:#fff;border:1px solid #4c98af;border-radius:7px}
.v41-rows{padding:0;margin:12px 0;list-style:none;max-height:34vh;overflow:auto}
.v41-rows li{display:flex;justify-content:space-between;gap:8px;font-size:12px;
 padding:8px 7px;border-bottom:1px solid rgba(153,224,234,.18)}
.v41-rows span{color:#b7f8ca;white-space:nowrap}
.v41-board-status,.v41-result{font-size:11px;color:#b8e5f2;letter-spacing:.04em}
.v41-coop-guide{position:absolute;top:24%;left:50%;transform:translateX(-50%);
 z-index:28;max-width:88vw;text-align:center;pointer-events:none;
 padding:9px 15px;border-radius:9px;border:1px solid #87eaf1;
 background:rgba(8,35,44,.9);color:#b8fbee;font:bold 13px sans-serif}
@media (max-height:440px){.v41-board{padding:12px;max-height:96%}
 .v41-board h2{font-size:18px}.v41-rows{max-height:27vh}
 .v41-nickname{margin:2px auto}.v41-nickname input{padding:5px}}
