:root{font-family:"Avenir Next","Trebuchet MS",sans-serif;color:#f7f4ff;background:#101438;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 15%,#28346b 0,#101438 75%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:4px solid #75f0df;outline-offset:5px}main{max-width:1440px;margin:auto;padding:24px 40px}header{display:flex;align-items:center;gap:24px;margin-bottom:22px}.brand{font-weight:800;font-size:22px;color:#f6f2ff;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-moon{color:#ffe17e;font-size:38px;line-height:1}.flight-label{color:#abaed6;font-size:14px;margin-left:auto}#mute{color:#e0e4ff;border:1px solid #626d9f;background:#242d5d;border-radius:30px;padding:11px 17px;font-weight:600;font-size:13px;min-width:119px}.game{position:relative;isolation:isolate;aspect-ratio:12/7;border-radius:30px;overflow:hidden;background:#18205a;box-shadow:0 24px 80px #02072660;border:1px solid #56609370}canvas{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;display:flex;align-items:center;z-index:3}.overlay[hidden],#hud[hidden]{display:none}.intro{background:linear-gradient(90deg,#1a205b08 33%,#192055b0 54%,#192055ef 100%);justify-content:flex-end}.intro-copy{width:49%;padding:30px 40px 30px 20px}.story-tag{color:#79e4d5;font-size:13px;font-weight:800;letter-spacing:.4px}h1{font-size:clamp(30px,4.2vw,58px);line-height:1.08;letter-spacing:-2px;margin:18px 0 20px}p{color:#c8cdeb;font-size:18px;line-height:1.6;margin:0 0 24px}.instructions{display:flex;align-items:flex-start;gap:15px;margin:25px 0}kbd{font:800 28px "Trebuchet MS",sans-serif;display:grid;place-items:center;background:#edf2ff;color:#30396e;width:47px;height:48px;border-radius:12px;box-shadow:0 5px 0 #acb9e0;flex-shrink:0}.instructions strong{display:block;font-size:15px;margin-bottom:8px}.instructions span{font-size:13px;color:#bcc6e6;line-height:1.65;display:block}.primary{display:flex;justify-content:space-between;align-items:center;gap:60px;background:#ffe183;border:0;border-bottom:5px solid #d8a34e;padding:17px 27px 14px;border-radius:17px;color:#3c3557;font-size:20px;font-weight:850;box-shadow:0 8px 30px #080e3c40}.primary:hover{background:#ffebad;transform:translateY(-1px)}.primary:active{transform:translateY(3px)}.primary span{font-size:25px}.start-note{display:block;color:#a6b0d9;font-size:12px;margin-top:15px}footer{display:flex;justify-content:space-between;margin-top:20px;color:#929fc8;font-size:13px}footer i{font-size:20px;color:#f7a2bb;font-style:normal;padding-left:5px}#hud{position:absolute;inset:0;pointer-events:none}.goodies{display:flex;gap:19px;position:absolute;top:24px;left:28px;background:#121b49b5;border:1px solid #90a1dd28;border-radius:19px;padding:12px 20px}.goodies>div{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:center}.goodies span{font-size:24px}.goodies b{font-size:20px}.goodies small{grid-column:1/3;text-align:center;font-size:9px;color:#c1cbed}.journey{position:absolute;right:28px;top:35px;display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px}.track{width:125px;height:7px;border-radius:9px;background:#58628c;overflow:hidden}.track i{display:block;width:0;height:100%;background:#ffe183;border-radius:9px}.cadence{position:absolute;left:28px;bottom:24px;display:flex;align-items:center;gap:14px;background:#131d4abd;border:1px solid #96a1d832;padding:12px 16px;border-radius:17px}.cadence kbd{width:32px;height:32px;font-size:21px;border-radius:8px;box-shadow:0 3px 0 #acb9e0}.cadence strong,.cadence small{display:block}.cadence strong{font-size:13px}.cadence small{font-size:11px;color:#b6c2e9;margin-top:4px}.meter{width:7px;height:32px;border-radius:9px;background:#45547e;overflow:hidden;display:flex;align-items:flex-end}.meter i{display:block;width:100%;height:0;background:#79e4d5;border-radius:9px}.pause{background:#11183b70;justify-content:center;backdrop-filter:blur(4px)}.pause-card{text-align:center;background:#242e64f0;padding:30px 48px 38px;border:1px solid #7c8ac580;border-radius:30px;box-shadow:0 20px 80px #0a123b60}.pause-icon{font-size:55px;color:#c7d4ff}h2{font-size:34px;letter-spacing:-1px;margin:10px 0 12px}.pause p{font-size:15px;margin-bottom:26px}.resume{display:flex;align-items:center;gap:16px;font-size:16px;font-weight:700}.finish{justify-content:flex-end;background:linear-gradient(90deg,transparent 30%,#182055b0 53%,#182055ee 100%)}.finish-card{width:49%;padding:25px}.finish-card p{font-size:16px}.treasure{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.treasure div{background:#38447299;border:1px solid #8a95c340;border-radius:17px;padding:13px 10px;font-size:13px;display:flex;align-items:center;gap:10px}.treasure span{font-size:26px}.treasure b{font-size:22px}.finish-card>small{display:block;margin-top:15px;color:#b4c0df;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){main{padding-top:40px}}@media(max-width:900px){main{padding:18px}.game{border-radius:22px}.flight-label{display:none}#mute{margin-left:auto}h1{font-size:38px}.intro-copy{padding:20px;width:51%}.intro-copy p{font-size:15px;margin-bottom:12px}.instructions{margin:16px 0;gap:10px}.instructions strong{font-size:12px}.instructions span{font-size:11px}.primary{font-size:17px;padding:11px 20px 9px;gap:40px}.story-tag{font-size:11px}.start-note{font-size:10px}.goodies{gap:12px;padding:9px 12px;top:15px;left:15px}.goodies small{display:none}.goodies span{font-size:20px}.goodies b{font-size:17px}.journey{top:26px;right:17px}.track{width:80px}.cadence{left:15px;bottom:15px;padding:8px 12px}h2{font-size:26px}.treasure{gap:7px;margin:15px 0}.treasure div{padding:8px;font-size:11px;gap:6px}.finish-card p{font-size:13px}.finish-card{width:51%}}@media(max-width:620px){main{padding:12px}header{margin-bottom:13px;gap:5px}.brand{font-size:17px}.brand-moon{font-size:30px}#mute{font-size:12px;padding:9px;min-width:95px}.game{aspect-ratio:3/4;min-height:540px}.intro{align-items:flex-end;background:linear-gradient(0deg,#182055 15%,#182055e0 50%,transparent 80%)}.intro-copy{width:100%;padding:22px 26px}.intro-copy p{display:none}h1{font-size:38px;margin:10px 0 14px}h1 br{display:none}.instructions strong{font-size:14px}.instructions span{font-size:12px}.primary{width:100%}.goodies{gap:10px}.goodies span{font-size:19px}.goodies b{font-size:16px}.journey{top:80px;left:20px;right:auto}.cadence small{font-size:10px}.pause-card{padding:22px;margin:15px}.resume{font-size:12px}footer{font-size:10px;gap:12px;margin-top:12px}.finish{align-items:flex-end;background:linear-gradient(0deg,#182055 5%,#182055ee 55%,transparent 90%)}.finish-card{width:100%;padding:25px}.finish-card p{font-size:14px}.finish-card h2{font-size:30px}.finish-card>small{text-align:center}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

@media(min-width:901px){main{max-width:min(1440px,calc(171.43dvh - 212px));}}
.launch{justify-content:flex-end;pointer-events:none;background:linear-gradient(90deg,transparent 35%,#192055bb 70%)}.launch-copy{width:47%;padding:35px}.launch-copy h2{font-size:42px;margin:15px 0 25px}.launch-instruction{display:flex;align-items:center;gap:18px;font-size:25px;margin-bottom:23px}.launch-copy p{font-size:17px}.launch-meter{height:25px;border-radius:20px;background:#10183c;border:2px solid #7485b0;overflow:hidden;margin:22px 0 16px;max-width:370px}.launch-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#79e4d5,#ffe183);border-radius:18px}.launch-copy>strong{font-size:16px;color:#ffe183}.launch-copy>small{display:block;font-size:12px;color:#b7c4e5;margin-top:15px}.scene-caption{position:absolute;top:35px;left:50%;transform:translateX(-50%);padding:15px 25px;background:#18214ccc;border:1px solid #a1bad04d;border-radius:20px;color:#ffe6a1;font-weight:800;font-size:24px;text-align:center;white-space:nowrap}.scene-caption[hidden]{display:none}@media(max-width:900px){.launch-copy{padding:20px}.launch-copy h2{font-size:30px}.launch-instruction{font-size:20px;gap:12px}.launch-copy p{font-size:14px}.launch-copy>strong{font-size:13px}}@media(max-width:620px){.launch{align-items:flex-end;background:linear-gradient(0deg,#192055 5%,#192055dc 48%,transparent 75%)}.launch-copy{width:100%;padding:25px}.launch-copy h2{margin:10px 0 15px}.launch-instruction{margin-bottom:15px}.launch-copy p{margin:10px 0}.launch-meter{margin:15px 0 12px}.scene-caption{font-size:17px;max-width:90%;white-space:normal;min-width:240px}}
header{flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.header-actions #mute{margin-left:0}#restart{color:#e0e4ff;border:1px solid #626d9f;background:#242d5d;border-radius:30px;padding:11px 17px;font-weight:600;font-size:13px;white-space:nowrap}#restart:hover{background:#394677}@media(max-width:620px){header{row-gap:12px}#restart{font-size:12px;padding:9px}}

.bike-controls{margin:0 0 22px;padding:16px 20px;border:1px solid #626d9f;border-radius:16px;background:#1c2555}
.bike-controls summary{cursor:pointer;font-weight:800}.bike-controls summary span{font-size:12px;font-weight:400;color:#c8cdeb;margin-left:12px}
.bike-settings{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 12px}.bike-settings label{display:flex;align-items:center;gap:10px;font-size:13px}
.bike-settings select,.bike-settings input{font:inherit;color:#f7f4ff;background:#10183c;border:1px solid #7485b0;border-radius:8px;padding:9px;min-height:40px;color-scheme:dark}.bike-settings input{width:100px}.bike-settings input:invalid{border-color:#ff9fae}
.bike-controls :is(input,select,summary):focus-visible{outline:3px solid #75f0df;outline-offset:3px}
.sensor-row{display:flex;align-items:center;gap:18px;border-top:1px solid #626d9f;padding:12px 0}.sensor-row strong{min-width:170px;font-size:14px}.sensor-row output{font-variant-numeric:tabular-nums;color:#79e4d5;margin-left:12px}.sensor-row>span{flex:1;font-size:13px;color:#c8cdeb;overflow-wrap:anywhere}.sensor-row>div{display:flex;gap:8px}.sensor-row button{font:inherit;font-size:12px;color:#f7f4ff;background:#303e76;border:1px solid #7485b0;border-radius:8px;min-height:40px;padding:8px 12px}.sensor-row button:hover:enabled{background:#46568d}.sensor-row button:disabled{opacity:.5;cursor:default}
#sensor-help{font-size:12px;line-height:1.6;max-width:80ch;margin:8px 0 0;color:#c8cdeb}.pause-card .primary{margin:auto;gap:0}
@media(max-width:900px){.sensor-row{flex-wrap:wrap;gap:8px 16px}.sensor-row>span{min-width:45%}.sensor-row>div{margin-left:auto}}
@media(max-width:620px){.bike-controls{padding:14px}.bike-controls summary span{display:block;margin:8px 0 0}.sensor-row>span{flex-basis:100%}.sensor-row>div{margin-left:0}.bike-settings label{flex-wrap:wrap}}

#lift-toggle{font:inherit;font-size:13px;font-weight:600;color:#e0e4ff;background:#242d5d;border:1px solid #626d9f;border-radius:30px;padding:11px 17px;min-height:40px;white-space:nowrap}
#lift-toggle:hover:enabled{background:#394677}#lift-toggle[aria-pressed="true"]{color:#101438;background:#79e4d5;border-color:#79e4d5}#lift-toggle:disabled{opacity:.5;cursor:default}
@media(max-width:620px){.header-actions{flex-wrap:wrap;justify-content:flex-end}#lift-toggle{font-size:12px;padding:9px}}

.game{width:100%}
.next-item{position:absolute;top:100px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:12px;background:#131d4abd;color:#ffe6a1;font-size:14px;font-weight:700;white-space:nowrap}
@media(max-width:620px){.next-item{top:120px;font-size:12px}}

/* The scene is the focus: a deep blue sky behind locally rendered 3D models. */
.game{background:radial-gradient(ellipse at 55% 44%,#344565 0%,#1b2a4e 38%,#101a39 80%)}
.flight-feedback{position:absolute;left:50%;top:23%;transform:translateX(-50%);pointer-events:none;font-size:22px;font-weight:800;text-align:center;text-shadow:0 2px 8px #101438;z-index:2}
.graphics-status{position:absolute;inset:0;z-index:10;display:grid;place-content:center;text-align:center;padding:36px;background:#172348f5;color:#ffe6a1;font-size:18px;line-height:1.6}
.graphics-status[hidden]{display:none}
button:disabled{cursor:default;opacity:.55}
@media(max-width:620px){.flight-feedback{top:28%;width:90%;font-size:18px}}

.video-mode-link{color:#ffe183;text-decoration:none;font-size:13px;font-weight:700;border:1px solid #626d9f;border-radius:30px;padding:11px 17px;white-space:nowrap}.video-mode-link:hover{background:#394677}

.header-actions{flex-wrap:wrap}#record-toggle{color:#e0e4ff;border:1px solid #626d9f;background:#242d5d;border-radius:30px;padding:11px 17px;font-weight:600;font-size:13px}#record-toggle:hover{background:#394677}#record-toggle[aria-pressed="true"]{color:#101438;background:#ff9fae;border-color:#ff9fae}#record-help{font-size:12px;line-height:1.6;max-width:80ch;margin:8px 0;color:#c8cdeb}
