/* Home base and a single continuous, vertical time trail. */
.path-home{background:radial-gradient(ellipse at 20% 0%,#26485e,transparent 65%),#102435}.path-wrap{max-width:700px;padding:0 24px 32px}.crew-base{max-width:510px;margin:auto;padding:25px 0 10px}.base-top{position:relative;display:flex;justify-content:space-between;align-items:center;padding:0;background:none;border:0;height:auto;gap:10px}.base-top .eyebrow{color:#81dfd4;font-size:10px;letter-spacing:2px}.streak-chip{display:grid;grid-template-columns:16px auto;align-items:center;column-gap:5px;padding:8px 12px;background:#193f50;border:1px solid #47736f;border-radius:15px;color:#ffe19c}.streak-chip b{font-size:14px}.streak-chip small{grid-column:1/3;font-size:8px;color:#9ecacb;letter-spacing:1px;margin-top:4px}.base-intro{text-align:center;margin:25px 0 0}.base-kicker{font-size:9px;letter-spacing:2.2px;color:#91b9c5}.base-intro h1{font-size:clamp(37px,7vw,52px);line-height:1.04;letter-spacing:-1.8px;margin:12px 0 0;color:#f2fff5;font-weight:850}.base-intro em{font-style:normal;background:linear-gradient(110deg,#7ef1dc,#ffe2a0 45%,#ffa795 90%);background-clip:text;color:transparent}.base-showcase{position:relative;height:300px;margin:8px 0 0;border-radius:44%;overflow:hidden;isolation:isolate}.base-showcase canvas{width:100%;height:100%;display:block;mask-image:radial-gradient(ellipse at 50% 58%,#000 38%,transparent 72%)}.base-orbit{position:absolute;border:1px solid #9affe12b;z-index:-1;border-radius:50%;inset:38px 60px 35px;transform:rotate(-20deg)}.orbit-two{inset:60px 35px 60px;transform:rotate(20deg)}.base-star{position:absolute;color:#ffdc91;text-shadow:0 0 20px #f9c45c88;font-size:25px;z-index:1}.star-one{left:20%;top:20%}.star-two{right:15%;top:43%;font-size:30px;color:#91fce9}.star-three{left:28%;bottom:16%;font-size:12px}.base-caption{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;background:#112c3bcc;border:1px solid #78c9c02d;border-radius:14px;padding:8px 20px}.base-caption span{display:block;font-size:8px;letter-spacing:2px;color:#7fbcbf}.base-caption b{display:block;font-size:12px;color:#e1f9ed;margin-top:4px}.base-bot-worker{position:absolute;width:38px;bottom:54px;z-index:2;filter:drop-shadow(0 8px 6px #001a29)}.base-bot-worker svg{display:block;width:100%}.worker-a{left:12%;--worker-direction:1}.worker-b{right:11%;bottom:85px;--worker-direction:-1;transform:scale(.8)}.base-bot-worker i{position:absolute;width:14px;height:14px;border-radius:4px;background:#ffba57;top:20px;right:-10px;box-shadow:inset -3px -3px 0 #b2754d}.worker-b i{background:#ec7fbd;box-shadow:inset -3px -3px 0 #b34d8e}.base-robot-fallback{position:absolute;inset:10px 25% 20px}.base-robot-fallback svg{height:100%;width:100%}.base-mission{padding:18px 20px 14px;border:1px solid #72aeb05c;background:linear-gradient(120deg,#234b59,#1a384a);border-radius:23px;position:relative}.base-mission>div:first-child span{display:block;font-size:10px;letter-spacing:1px;color:#92cbc6;text-transform:uppercase}.base-mission b{display:block;color:#fff0c5;font-size:21px;margin-top:6px}.mission-emblem{position:absolute;top:24px;right:22px;font-size:28px;color:#ffd27f}.base-mission p{font-size:12px;line-height:1.5;color:#b4d1d4;max-width:90%;margin:8px 0 14px}.base-progress{height:5px;background:#0d2c3d;border-radius:9px;overflow:hidden}.base-progress i{display:block;height:100%;background:linear-gradient(90deg,#3acaba,#f6d58f);border-radius:9px}.base-mission>small{display:flex;justify-content:space-between;margin-top:8px;font-size:9px;letter-spacing:1.5px;color:#96babd}.base-mission>small b{display:inline;font-size:10px;margin:0;color:#ccede5;letter-spacing:0}.base-play.primary{margin:15px 0 12px;width:100%;min-height:60px;border-radius:21px;border:1px solid #beffe2;background:linear-gradient(110deg,#b2f6ca,#71e4d7);color:#174853;font-size:21px;font-weight:900;box-shadow:0 5px 0 #237d83,0 12px 28px #081d2c66}.base-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.base-nav button{min-height:88px;display:grid;grid-template-columns:40px 1fr;align-content:center;column-gap:8px;text-align:left;border:1px solid #527d8e80;border-radius:19px;background:linear-gradient(130deg,#234659,#1b3347);color:#e3fff0;padding:13px 16px;cursor:pointer}.base-nav button>span{grid-row:1/3;font-size:31px;color:#a3efd4;line-height:1.2}.base-nav button b{font-size:14px}.base-nav button small{font-size:10px;color:#99bac4;margin-top:5px}.crew-base .crew-gear-row{background:#193747;border-color:#466f78;margin-top:14px;border-radius:18px}.crew-base .crew-gear-row b{font-size:12px;color:#deeee0}.crew-base .crew-gear-row small{color:#9bcac8;font-size:10px}.crew-base .crew-gear-row button{background:#2c5666;font-size:12px}.base-restoration{border:1px solid #466f7866;border-radius:17px;margin-top:14px;overflow:hidden}.base-restoration summary{padding:15px 16px;cursor:pointer;color:#b4d4d4;font-size:12px;list-style:none}.base-restoration summary span{float:right;color:#95efd8}.base-restoration .restoration{margin:0;border:0;border-radius:0}.base-save-note{text-align:center;color:#7ca2b1;font-size:10px;line-height:1.9;margin:22px 0 0}.home-trail[hidden],.crew-base[hidden]{display:none}.home-trail{padding-top:0}.trail-toolbar{display:flex;position:sticky;top:0;margin:0 -24px;padding:14px 20px;align-items:center;gap:12px;z-index:12;background:#102b3beb;backdrop-filter:blur(15px);border-bottom:1px solid #8ccbc736}.trail-toolbar>button{border:1px solid #87cac34d;min-height:44px;min-width:44px;border-radius:14px;background:#285363;color:#d6fff2;font-weight:800;padding:10px;cursor:pointer}.trail-toolbar>div{flex:1}.trail-toolbar span{display:block;font-size:8px;letter-spacing:2px;color:#89b8bf}.trail-toolbar b{font-size:18px;display:block;margin-top:3px;color:#f3edcc}.trail-toolbar #trailPlay{font-size:12px;background:#a8ebcf;color:#174853}.trail-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* The five chapter environments share one road and one travelling captain. */
.home-trail .worlds{position:relative;isolation:isolate;margin:0 -24px;background:#183d4b;border-radius:0 0 35px 35px;overflow:clip}.home-trail .world{height:820px;position:relative;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--land),transparent 25%),transparent 90%),#203c4b;isolation:isolate}.home-trail #region1{background:linear-gradient(#846e59,#725867)}.home-trail #region2{background:linear-gradient(#725867,#244f5d 30%,#1b3b55)}.home-trail #region3{background:linear-gradient(#1b3b55,#53577e 45%,#3c4b78)}.home-trail #region4{background:linear-gradient(#3c4b78,#162b50 35%,#0c1d3a)}.home-trail .world:after{display:none}.home-trail .world.locked{filter:none}.home-trail .world.locked .trail-landmark{opacity:.24;filter:saturate(.5)}.home-trail .world-title{position:absolute;left:20px;right:20px;top:25px;z-index:3;padding:10px 14px;border-radius:17px;background:#0b293bba;max-width:430px;pointer-events:none}.home-trail .world-title>svg{width:40px;height:40px}.home-trail .world-title h2{font-size:19px;margin:5px 0 0}.home-trail .world-title .eyebrow{font-size:8px}.home-trail .world-title>b{font-size:11px}.home-trail .route{position:absolute;inset:0;height:820px;margin:0;z-index:2}.home-trail .route-lines{height:820px}.home-trail .route-lines path{stroke:#1d354866;stroke-width:20;filter:drop-shadow(0 3px 0 #ffffff18)}.home-trail .route-lines path.passed{stroke:#7cd6c8;stroke-width:14;filter:drop-shadow(0 0 5px #8be9dc66)}.home-trail .route-lines .trail-link{stroke:#426b77;stroke-width:17}.home-trail .map-node{width:60px;height:60px;border:3px solid #c2d6d3;background:linear-gradient(#84bfc6,#477c93);box-shadow:0 6px 0 #183e56,0 10px 16px #082b4280;z-index:3}.home-trail .map-node strong{font-size:23px}.home-trail .map-node>span{top:68px;width:125px;font-size:11px;text-shadow:0 2px 6px #072338}.home-trail .map-node small{top:92px;font-size:10px;color:#d7e4df}.home-trail .map-node:disabled{background:linear-gradient(#5e7b8a,#385367);color:#8ba8b6;border-color:#78929c;box-shadow:0 5px 0 #1b354a}.home-trail .map-node:disabled>span{color:#bac7cc}.home-trail .map-node.finished{background:linear-gradient(#83eed0,#39a9ad);border-color:#d4ffdc}.home-trail .map-node.current{background:linear-gradient(#ffe7a2,#efad54);border-color:#fff0cb;color:#593f3a;box-shadow:0 6px 0 #956649,0 0 0 8px #ffef9e25,0 0 25px #f9c86b66}.home-trail .map-node.boss{border-radius:21px;border-color:#ffe4a3}.home-trail .map-actor{display:none}.trail-landmark{position:absolute;width:65%;left:34%;top:160px;transform:rotate(-3deg);opacity:.8;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse,#000 32%,transparent 73%)}.trail-landmark svg{display:block;width:100%;height:auto}.home-trail .world:nth-of-type(even) .trail-landmark{left:0;top:390px;transform:rotate(3deg)}.time-gate{position:absolute;top:-28px;left:50%;transform:translateX(-50%);z-index:5;white-space:nowrap;border:2px solid #b1f2db;border-radius:24px;background:#234859;color:#bafde1;min-height:48px;padding:10px 18px;font-size:11px;font-weight:800;box-shadow:0 0 0 7px #55c8ca24,0 0 30px #85f1e13a;cursor:pointer}.time-gate:disabled{background:#31495d;color:#819ba9;border-color:#638190;box-shadow:none;cursor:default}.trail-rover{position:absolute;width:57px;height:63px;transform:translate(-50%,-55%);z-index:8;filter:drop-shadow(0 7px 6px #062d42a0);pointer-events:none}.trail-rover svg{display:block;width:100%;height:100%}.rover-dust{position:absolute;bottom:2px;left:14px;width:30px;height:5px;border-radius:50%;background:#b5ffe0;opacity:0;filter:blur(3px)}.trail-rover[data-driving=true] .rover-dust{opacity:.6}.home-trail .home-note{text-align:center;font-size:10px;margin:22px 0;color:#80a5b5;line-height:2}.home-trail .home-note a{color:#a5d4d4}.gear-dialog{z-index:180}
/* Seven-second, skippable arrival vignette, rendered in engine. */
.time-cinematic[hidden]{display:none}.time-cinematic{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at 50% 65%,#4c5073,#0c2033 72%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff5da;padding:60px 15px 35px}.portal-skip{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));z-index:8;border:1px solid #c4fff261;border-radius:24px;background:#183d54c9;color:#dcfff0;padding:12px 22px;min-height:46px;font-size:14px;font-weight:700;cursor:pointer}.cinema-stars{position:absolute;inset:-50%;background:radial-gradient(circle,#d1ffec 1px,transparent 3px) 0 0/113px 99px;opacity:.18;transform:perspective(400px) rotateX(15deg)}.cinema-copy{z-index:4;max-width:550px;text-align:center;transition:opacity .7s,transform .7s}.cinema-copy>span{font-size:10px;letter-spacing:3px;color:#a6eee2}.cinema-copy h2{font-size:clamp(36px,7vw,66px);line-height:1.05;letter-spacing:-2px;margin:18px 0}.cinema-copy p{max-width:360px;margin:auto;color:#c5d7da;font-size:15px;line-height:1.6}.cinema-stage{position:relative;width:min(950px,100%);height:clamp(240px,45vw,440px);flex-shrink:0;margin-top:15px;perspective:700px}.portal-art{position:absolute;inset:0;transition:opacity 1s,transform 1.5s;mask-image:radial-gradient(ellipse,#000 25%,transparent 74%)}.portal-art svg{width:100%;height:100%;display:block}.cinema-gate{position:absolute;width:160px;height:220px;left:50%;top:45%;transform:translate(-50%,-50%) rotateY(-20deg);border:9px solid #9fffe9;border-radius:50%;background:radial-gradient(ellipse,#eefff0,#3adacba8 40%,#14648a66 70%);box-shadow:0 0 35px #83ffe9,inset 0 0 35px #85ffef;transition:opacity .7s,transform 1.4s;z-index:3}.cinema-gate i{position:absolute;inset:-22px;border:1px dashed #adfff2;border-radius:50%;transform:rotate(18deg)}.cinema-gate i:nth-child(2){inset:10px;border:2px solid #e9ffdf77}.cinema-gate i:nth-child(3){inset:-42px;border:1px solid #89f7e530}.cinema-rover{position:absolute;width:90px;left:18%;bottom:10%;z-index:5;transition:left 1.4s ease-in-out,transform 1.2s ease-in-out,opacity .6s;filter:drop-shadow(0 8px 10px #08283d99)}.cinema-rover svg{width:100%;display:block}.cinema-cubes{position:absolute;inset:0;z-index:6;pointer-events:none}.cinema-cubes i{position:absolute;left:30%;top:45%;width:14px;height:14px;border-radius:4px;background:#ffd16d;box-shadow:inset -4px -4px 0 #86532244;opacity:0}.cinema-cubes i:nth-child(2){left:67%;top:36%;background:#67e5d5}.cinema-cubes i:nth-child(3){left:57%;top:63%;background:#fe8eb8}.cinema-cubes i:nth-child(4){left:24%;top:71%;background:#afa2ff}.cinema-cubes i:nth-child(5){left:73%;top:64%;background:#64c8ff}.cinema-footer{font-size:9px;letter-spacing:3px;color:#89b2be;margin-top:20px;z-index:2}.time-cinematic[data-phase=depart] .portal-art{opacity:0;transform:scale(.7)}.time-cinematic[data-phase=depart] .cinema-copy{opacity:0;transform:translateY(10px)}.time-cinematic[data-phase=travel] .cinema-rover{left:49%;transform:scale(.2);opacity:0}.time-cinematic[data-phase=travel] .cinema-gate{transform:translate(-50%,-50%) scale(2);opacity:.4}.time-cinematic[data-phase=travel] .portal-art{opacity:.35;transform:scale(.9)}.time-cinematic[data-phase=travel] .cinema-copy{opacity:0}.time-cinematic[data-phase=arrived] .cinema-gate{opacity:0;transform:translate(-50%,-50%) scale(.5)}.time-cinematic[data-phase=arrived] .cinema-rover{left:46%;transform:scale(.8);opacity:1}.time-cinematic[data-phase=arrived] .cinema-cubes i{opacity:1}.time-cinematic[data-phase=arrived] .cinema-copy{opacity:1;transform:none}
.path-home[data-animated=true] .base-bot-worker{animation:base-worker 8s ease-in-out infinite}.path-home[data-animated=true] .worker-b{animation-delay:-4s}.path-home[data-animated=true] .base-star{animation:base-twinkle 3.5s ease-in-out infinite}.path-home[data-animated=true] .star-two{animation-delay:-1.8s}.path-home[data-animated=true] .trail-rover[data-driving=true] svg{animation:rover-rumble .18s ease-in-out infinite alternate}.time-cinematic[data-phase=arrived] .cinema-cubes i{animation:arrival-cube 2.2s ease-in-out infinite alternate}.time-cinematic[data-phase=arrived] .cinema-cubes i:nth-child(2n){animation-delay:-1s}@keyframes base-worker{0%,100%{translate:0 0;rotate:0deg}45%,55%{translate:30px -6px;rotate:8deg}}@keyframes base-twinkle{50%{opacity:.35;transform:scale(.75)}}@keyframes rover-rumble{to{transform:translateY(-2px) rotate(2deg)}}@keyframes arrival-cube{to{translate:0 -12px;rotate:20deg}}.path-home[data-animated=false] *{animation-play-state:paused!important}.time-cinematic[data-paused=true] *{animation-play-state:paused!important;transition:none!important}.base-nav button:focus-visible,.time-gate:focus-visible,.trail-toolbar button:focus-visible,.portal-skip:focus-visible{outline:3px solid #ffe0a0;outline-offset:4px}
@media(max-width:600px){.path-wrap{padding:0 16px 24px}.crew-base{padding-top:max(18px,env(safe-area-inset-top))}.base-top .eyebrow{font-size:9px;letter-spacing:1.3px}.base-intro{margin-top:22px}.base-showcase{height:250px}.base-caption{bottom:6px}.base-mission{padding:16px 18px}.base-nav button{padding:12px;column-gap:4px;grid-template-columns:34px 1fr}.base-nav button b{font-size:13px}.trail-toolbar{margin:0 -16px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}.home-trail .worlds{margin:0 -16px}.home-trail .world-title{left:12px;right:12px;top:34px;padding:8px 12px}.home-trail .world-title h2{font-size:17px}.home-trail .world-title>svg{width:34px;height:34px}.home-trail .map-node{width:55px;height:55px}.home-trail .map-node>span{width:112px;top:63px;font-size:10px}.home-trail .map-node small{width:112px;top:85px;font-size:10px}.trail-rover{width:52px;height:58px}.time-gate{font-size:10px;max-width:90%;white-space:normal;min-height:48px}.cinema-gate{width:110px;height:160px}.cinema-rover{width:68px}.cinema-copy p{font-size:13px;padding:0 20px}.time-cinematic{padding-bottom:50px}.cinema-footer{font-size:8px;letter-spacing:2px}}@media(max-height:740px){.base-showcase{height:210px}.base-intro h1{font-size:36px}.base-intro{margin-top:15px}.base-mission p{margin:6px 0 10px}.cinema-copy h2{font-size:38px;margin:12px 0}.cinema-stage{height:250px}}@media(prefers-reduced-motion:reduce){.path-home *,.time-cinematic *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.base-showcase canvas{touch-action:pan-y}
