/* Signal Drift: a compact field instrument, with a warm arcade accent. */
@font-face{font-family:"Space Grotesk";src:url("../fonts/SpaceGrotesk.ttf") format("truetype");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/IBMPlexMono-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--cream:#f4ebd8;--muted:#a0adb0;--line:rgba(201,214,204,.19);--accent:#efac78;font-family:"Space Grotesk",sans-serif}
.site-header{border-top:3px solid var(--accent);background:#0c1921}
.brand{gap:13px}.brand-mark{color:var(--accent)}
.brand-name{font-size:21px;font-weight:700;letter-spacing:-.7px}
.brand-tagline{font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:1.15px;color:#9cabaf}
.brand-tagline:before{content:"";display:inline-block;width:5px;height:5px;background:var(--accent);margin-right:7px;vertical-align:1px}
.intro h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(44px,4.5vw,72px);font-weight:600;letter-spacing:-3.8px;line-height:1.01}
.intro h1 em{font-style:normal;font-weight:400;color:var(--accent);letter-spacing:-3.5px}
.intro-copy{color:#b0bfc2;font-size:13px;line-height:1.8}
.eyebrow,.brand-tagline,.intro-meta,.personal-best,.ranking-heading h2,.score-label,.time-row,.battery-heading,.hop-hud,.planet-caption,.edition,.level-difficulty,.level-card-bottom,.level-local-note,.selected-level-copy>span{font-family:"IBM Plex Mono",monospace;font-weight:400}
.eyebrow{color:var(--accent);letter-spacing:1.2px}.little-spark{display:none}
.intro .eyebrow:before{content:"";display:inline-block;vertical-align:3px;width:24px;height:1px;background:var(--accent);margin-right:10px}
.primary-button{border-radius:3px;background:var(--cream);color:#142c30;box-shadow:3px 3px 0 var(--accent);font-size:14px;font-weight:600}
.primary-button:hover{background:#fff7e5;box-shadow:4px 5px 0 var(--accent)}
.primary-button:active{box-shadow:1px 1px 0 var(--accent)}
.secondary-button{border-radius:3px;background:transparent}
.icon-button{font-family:"IBM Plex Mono",monospace;border-radius:3px;color:var(--cream)}
.selected-level{border-top:1px solid #798581;border-bottom:1px solid #798581;padding:12px 0;max-width:330px}
.selected-level-number{font-family:"IBM Plex Mono",monospace;font-size:25px;color:var(--accent);min-width:37px}
.selected-level-copy>span{font-size:7px;letter-spacing:.1px;color:#9bafb5}.selected-level-copy>strong{font-size:13px;font-weight:500}
.level-link{font-size:10px;color:var(--cream)}.level-link:hover{color:var(--accent)}
.intro-meta{font-size:9px;color:#9aadb4}.intro>.text-button{font-size:11px;color:#bac7c8}
.ranking-heading h2{font-size:9px;letter-spacing:.6px}
.leaderboard li{border-bottom:1px solid var(--line)}.leaderboard .avatar{border-radius:3px}
.leaderboard .rank,.leaderboard strong,.score-line>strong,.result-score,.result-stats strong,.time-row strong,.battery-heading strong{font-family:"IBM Plex Mono",monospace}
.leaderboard .rank{color:#89a0a8}.rival-name small{color:#9aafb6}
.game-hud .eyebrow{color:var(--accent)}.score-line>strong{letter-spacing:-3px;font-size:49px}.score-label{color:#9bb0b9;letter-spacing:1px}
.combo{border-radius:2px}.time-row,.battery-heading{color:#94abb4;font-size:8px;letter-spacing:.6px}
.connection p,.tip{color:#a4b8c1}.hop-hud{color:#93a9b3;letter-spacing:.5px}
.run-track,.battery-track,.battery-fill{border-radius:0}.run-progress{background:var(--accent)}
.stage-toast{border-radius:3px;font-family:"IBM Plex Mono",monospace;font-size:11px}
.planet-caption{color:#8aa7af;letter-spacing:1.4px}.signal-legend{color:#a0b3ba;font-size:10px}.desktop-controls{color:#8da6b1}.edition{color:#8ca0a8;letter-spacing:.8px}
.overlay-card,.guide-dialog,.level-dialog{background:#10252e;border-radius:4px;border:1px solid #718c91;box-shadow:8px 8px 0 #06101780}
.overlay-card h2,.guide-dialog h2,.level-dialog h2{font-family:"Space Grotesk",sans-serif;font-weight:500;letter-spacing:-1.5px}
.card-symbol{border-radius:3px;border-color:#efac7855;color:var(--accent);background:#efac780a}
.overlay-copy,.guide-intro,.levels-intro{color:#b6c7c9}.guide-rules p,.guide-note{color:#a6bdc3}
.level-grid{gap:1px;background:#4a646a;border:1px solid #4a646a}
.level-card{border:0;border-radius:0;background:#10252e;padding:17px;gap:10px}
.level-card:hover{background:#1c333a}.level-card[aria-pressed="true"]{background:#243933;box-shadow:inset 3px 0 var(--lime)}
.level-card-number{font-family:"IBM Plex Mono",monospace;font-size:23px}
.level-difficulty{border:0;border-radius:0;padding:4px 0;font-size:8px;letter-spacing:.3px}
.level-card-name{font-size:15px;font-weight:500}.level-card-description{color:#a3b9bf;font-size:11px;min-height:35px}
.level-card-bottom{font-size:8px;color:#a4b9be;gap:8px}.level-local-note{color:#9cb2b7;font-size:9px}
.games-return{font-size:11px;color:#c5d0cb}.games-return:hover{color:var(--accent)}
@media(min-width:901px){.intro{max-width:370px}.intro .eyebrow{font-size:9px}.level-goal{font-size:11px}}
@media(min-width:901px) and (max-width:1150px){.intro{max-width:290px}.intro h1{font-size:49px;letter-spacing:-3px}.intro h1 em{letter-spacing:-3px}.intro-copy{font-size:12px}.selected-level{gap:8px}.selected-level-number{min-width:31px;font-size:23px}.selected-level-copy>span{font-size:6px}.selected-level-copy>strong{font-size:12px}.level-link{font-size:9px}}
@media(max-width:900px){.brand-name{font-size:19px}.brand-tagline{font-size:7px;letter-spacing:.6px}.intro h1{font-size:46px;letter-spacing:-2.6px}.intro h1 em{letter-spacing:-2.6px}.intro-copy{font-size:11px}.selected-level-copy>span{font-size:6px}.level-link{font-size:8px}.selected-level-number{min-width:29px;font-size:23px}.score-line>strong{font-size:41px}.level-goal{font-size:10px}.level-card-name{font-size:14px}.rival-name small{font-size:8px}}
@media(max-width:560px){.brand-name{font-size:17px;letter-spacing:-.5px}.brand-tagline{font-size:5px;letter-spacing:.35px}.brand-tagline:before{width:4px;height:4px;margin-right:4px;vertical-align:0}.brand-mark{width:30px;height:30px}.brand{gap:8px}.header-actions{gap:9px}.games-return{font-size:9px}.intro h1{font-size:41px;line-height:.99;letter-spacing:-2.2px}.intro h1 em{letter-spacing:-2.2px}.intro .eyebrow{font-size:7px;letter-spacing:.7px}.intro-copy{font-size:11px;max-width:300px;line-height:1.6}.intro .eyebrow:before{width:15px;vertical-align:2px;margin-right:7px}.selected-level{max-width:300px;padding:8px 0;gap:9px}.selected-level-number{font-size:23px;min-width:33px}.selected-level-copy>span{font-size:6px}.selected-level-copy>strong{font-size:12px}.level-link{font-size:10px}.intro .primary-button{font-size:13px;min-height:44px}.intro-meta{font-size:8px}.score-line>strong{font-size:35px;letter-spacing:-2px}.game-hud .score-label{font-size:7px}.game-hud .eyebrow{font-size:7px}.level-goal{font-size:9px;max-width:160px}.time-row,.battery-heading{font-size:6px}.hop-hud{font-size:6px}.tip{font-size:9px}.rival-name small{font-size:7px}.signal-legend{font-size:9px}.level-card{padding:13px 10px}.level-card-name{font-size:12px}.level-card-description{font-size:10px;min-height:45px}.level-difficulty{font-size:7px}.level-card-bottom{font-size:7px}.level-local-note{font-size:8px}.level-dialog-footer>p:first-child{font-size:10px}.planet-caption{font-size:6px;letter-spacing:1px}}
@media(max-width:380px){.site-header{padding-inline:12px}.brand-name{font-size:15px}.brand-mark{width:27px;height:27px}.header-actions{gap:7px}.intro h1{font-size:38px}.games-return{font-size:8px}.selected-level{max-width:282px}}

.ranking-heading{margin-bottom:16px}.planet-caption a{pointer-events:auto;color:#bacbd0;text-decoration:underline;text-underline-offset:4px}.planet-caption a:hover{color:var(--cream)}
.guide-disclaimer{margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}.guide-disclaimer h3{font-size:17px;font-weight:500;margin:0 0 12px}.guide-disclaimer p{font-size:13px;line-height:1.7;color:#b6c7c9;margin:0 0 12px}.guide-disclaimer a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}

/* Release badge stays visible when the footer edition hides on small screens. */
.brand-tagline{display:flex;align-items:center;gap:9px}.release-badge{display:inline-block;flex-shrink:0;font:500 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1px;color:#d2e5ce;border:1px solid #607d71;border-radius:3px;padding:0 5px;white-space:nowrap}.brand-tagline:before{display:none}
@media(max-width:900px){.brand-tagline .edition-label{display:none}.brand-tagline{margin-top:4px}}
