@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:dark;--ink:#111522;--cream:#f5ead2;--muted:#abb5b5;--orange:#ed946e;--line:#f5ead22b;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--cream);background:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button{transition:background .2s,color .2s,transform .2s}button:hover{color:#fff;background:#ffffff12}button:active{transform:translateY(1px)}#world{position:fixed;inset:0;outline:none;touch-action:none;cursor:grab}#world:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}.paper{position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}header{position:fixed;top:42px;left:48px;right:42px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:4}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:500}.identity h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:78px;line-height:1;margin:12px 0 8px;font-weight:400;letter-spacing:-.055em}.identity h1 span{font-family:Georgia,serif;font-size:36px;vertical-align:top;color:var(--orange);margin:0 0 0 12px;display:inline-block;transform:rotate(-15deg)}.identity p{font-size:14px;margin:0;color:var(--muted);letter-spacing:.02em}.top-actions{display:flex;gap:10px;pointer-events:auto}.round{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:18px}.coordinates{position:fixed;right:48px;top:130px;text-align:right;z-index:3;font-size:12px;letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums}.coordinates>span:first-child{color:var(--orange);letter-spacing:.16em}.coordinates>div{margin:12px 0 8px}.coordinates strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;line-height:1;color:var(--cream);font-weight:400;letter-spacing:0}.unit{font-size:12px;letter-spacing:0;margin-left:7px;display:block;margin-top:5px}.annotation{position:fixed;right:16%;top:58%;font-family:'Libre Caslon Display',Georgia,serif;font-style:italic;font-size:23px;transform:rotate(-8deg);color:#e1cdaa9c;pointer-events:none}.annotation-line{display:inline-block;width:80px;border-top:1px solid #e1cdaa6c;vertical-align:middle;transform:rotate(-21deg);margin:0 16px 18px 0}.annotation-line:before{content:'';display:block;width:5px;height:5px;border:1px solid #e1cdaa6c;border-radius:50%;margin:-3px 0 0 -5px}footer{position:fixed;left:48px;right:48px;bottom:37px;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;pointer-events:none}footer>*{pointer-events:auto}.chapter .eyebrow{font-size:12px;color:var(--orange)}.chapter h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:34px;letter-spacing:-.02em;margin:8px 0}.chapter p{font-size:12px;color:var(--muted);margin:0}.chapter p b{margin:0 6px;font-weight:400}.flight-bar{display:flex;align-items:center;gap:3px;padding:7px;border:1px solid #e8d9bf40;border-radius:100px;background:#141c26b3;backdrop-filter:blur(14px);box-shadow:0 6px 30px #0002}.flight-bar button{font-size:14px;padding:12px 16px;background:transparent;border:0;border-radius:100px;white-space:nowrap}.flight-bar button span{margin-right:7px;font-size:18px;vertical-align:-1px}.flight-bar button.active{background:var(--cream);color:var(--ink)}.flight-bar button:hover{background:#f5ead225}.flight-bar button.active:hover{background:#fff4df}.flight-bar button.icon-button{padding:12px;min-width:40px}.divider{height:22px;width:1px;background:var(--line);margin:0 3px}.zoom-control{justify-self:end;display:grid;grid-template-columns:26px 104px 26px;align-items:center;gap:6px}.zoom-control button{border:0;background:none;padding:2px;font-size:22px}.zoom-control input{width:104px;height:3px;accent-color:var(--orange);cursor:pointer}.zoom-control>span{grid-column:1/4;font-size:10px;letter-spacing:.15em;text-align:center;color:var(--muted);margin-top:7px}.zoom-control i{font-style:normal;margin:0 12px}.help{position:fixed;right:42px;top:98px;width:350px;padding:25px;background:#141d29f5;border:1px solid var(--line);z-index:10;box-shadow:0 20px 80px #0008;max-height:calc(100dvh - 120px);overflow:auto;border-radius:3px}.help-heading{display:flex;align-items:start;gap:10px}.help h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:31px;line-height:1.1;margin:0;flex:1}.help .round{flex-shrink:0;width:30px;height:30px}.help p{font-size:14px;line-height:1.7;color:var(--muted);margin:18px 0}.help dl{font-size:13px;display:grid;grid-template-columns:110px 1fr;row-gap:14px;margin:24px 0}.help dt{color:var(--orange)}.help dd{margin:0;line-height:1.5}.help .help-foot{font-size:12px;border-top:1px solid var(--line);padding-top:15px;margin-bottom:0}.reticle{display:none;position:fixed;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);pointer-events:none;opacity:.6}.reticle i:first-child{display:block;position:absolute;top:8px;width:18px;border-top:1px solid var(--cream)}.reticle i:last-child{display:block;position:absolute;left:8px;height:18px;border-left:1px solid var(--cream)}body.flying .reticle{display:block}body.flying .annotation{display:none}#loading{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;z-index:20;font-family:'Libre Caslon Display',Georgia,serif;font-size:28px;transition:opacity .5s}.loading-orbit{font-size:65px;color:var(--orange);animation:spin 8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#notice{position:fixed;bottom:126px;left:50%;transform:translate(-50%,8px);font-size:13px;padding:10px 17px;border-radius:30px;background:#101722c9;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:9;white-space:nowrap}#notice.visible{opacity:1;transform:translate(-50%,0)}#restore-ui{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#1119259c;border:1px solid var(--line);border-radius:40px;padding:10px 20px;font-size:12px;z-index:5}body.ui-hidden header,body.ui-hidden footer,body.ui-hidden .coordinates,body.ui-hidden .annotation,body.ui-hidden .reticle,body.ui-hidden .touch-flight{display:none}.touch-flight{display:none;position:fixed;bottom:155px;left:22px;z-index:4;text-align:center}.touch-flight button{background:#152332a8;border:1px solid var(--line);height:42px;width:42px;border-radius:50%;font-size:22px;margin:2px;touch-action:none}.touch-height{position:fixed;right:18px;bottom:164px}
@media(pointer:coarse){body.flying .touch-flight{display:block}}
@media(max-width:900px){header{top:28px;left:28px;right:28px}.identity h1{font-size:64px}.eyebrow{font-size:10px}footer{left:28px;right:28px;bottom:26px;grid-template-columns:1fr auto;gap:24px}.flight-bar{grid-column:1/3;grid-row:2;justify-self:center}.zoom-control{grid-column:2;grid-row:1}.chapter h2{font-size:28px}.coordinates{right:28px;top:103px}.annotation{right:8%;top:56%}.chapter p{font-size:11px}.flight-bar button{padding:10px 15px}.coordinates strong{font-size:29px}}
@media(max-width:520px){header{top:24px;left:22px;right:20px}.identity h1{font-size:58px;margin-top:10px}.identity h1 span{font-size:26px;margin-left:8px}.identity p{font-size:12px}.identity .eyebrow{font-size:9px;letter-spacing:.15em}.round{width:32px;height:32px}.top-actions{gap:7px}.coordinates{top:114px;right:22px;font-size:10px}.coordinates strong{font-size:26px}.unit{font-size:10px}.coordinates #position{display:none}.coordinates>span:first-child{font-size:9px;letter-spacing:.09em}footer{left:22px;right:22px;bottom:max(20px,env(safe-area-inset-bottom));gap:18px}.chapter h2{font-size:27px}.chapter p{max-width:180px;font-size:11px;line-height:1.6}.zoom-control{grid-template-columns:18px 65px 18px;gap:2px}.zoom-control input{width:65px}.zoom-control>span{font-size:8px}.zoom-control i{margin:0 5px}.flight-bar{padding:5px}.flight-bar button{padding:10px 13px;font-size:13px}.flight-bar button span{font-size:17px}.annotation{font-size:19px;right:9%;top:56%}.annotation-line{width:36px;margin-right:8px}.help{right:18px;left:18px;width:auto;top:72px}.help dl{grid-template-columns:105px 1fr}.help h2{font-size:29px}#notice{bottom:185px;font-size:11px;max-width:90vw;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

body.flying header,body.flying .coordinates,body.flying .chapter{text-shadow:0 1px 12px #0c172c99}body.flying .identity p,body.flying .coordinates,body.flying .chapter p{color:#ecdfc7}body.flying .coordinates>span:first-child,body.flying .chapter .eyebrow{color:#ffe0ac}
@media(max-width:400px){.flight-bar{width:100%;display:grid;grid-template-columns:1fr 1.15fr 1.15fr 28px;gap:0}.flight-bar .divider,.flight-bar button span{display:none}.flight-bar button{padding:11px 2px;font-size:12px;min-width:0}.flight-bar button.icon-button{padding:10px 2px;min-width:0}.identity .eyebrow{display:block;max-width:175px;line-height:1.6}.chapter h2{font-size:25px}.zoom-control{grid-template-columns:18px 56px 18px}.zoom-control input{width:56px}}
.identity h1 #world-title{font-family:inherit;font-size:inherit;vertical-align:baseline;color:inherit;margin:0;display:inline;transform:none}.identity h1 .title-star{font-family:Georgia,serif}.world-picker{position:fixed;left:50%;transform:translateX(-50%);top:42px;display:flex;gap:5px;padding:5px;border:1px solid #e7d5c932;background:#101523b8;backdrop-filter:blur(16px);border-radius:40px;z-index:5}.world-picker button{border:0;background:none;padding:10px 15px;border-radius:30px;white-space:nowrap;font-size:13px;display:flex;gap:8px;align-items:center;color:#c7c2c1}.world-picker button.selected{background:#f3e6ce;color:#172131}.world-picker button>span{font-size:10px;opacity:.65}.world-picker small{font-size:10px;padding-left:3px;opacity:.7}.planet-dot{height:12px;width:12px;border-radius:50%;display:inline-block}.home-dot{background:linear-gradient(35deg,#729778 25%,#3f9f9c 30% 65%,#c38d61 70%)}.giant-dot{background:repeating-linear-gradient(15deg,#dc9279 0 3px,#96647d 3px 5px,#e6bf88 5px 7px);height:17px;width:17px}.giant-world .annotation{display:none}.layer-map{display:none;position:fixed;right:43px;top:36%;width:154px;z-index:4}.giant-world .layer-map{display:block}.layer-map .eyebrow{font-size:10px;color:#ccc3c2;letter-spacing:.14em}.layer-map>strong{font-family:'Libre Caslon Display',Georgia,serif;display:block;font-weight:400;font-size:25px;margin:6px 0 20px}.layer-stop{display:flex;align-items:center;gap:12px;font-size:12px;color:#b6b1bc;position:relative;background:none;border:0;padding:10px 0;width:100%;text-align:left;white-space:nowrap}.layer-stop i{font-style:normal;position:relative;display:flex;align-items:center;justify-content:center;font-size:16px;width:10px;height:10px;border-radius:50%;background:#172031;border:1px solid #8e8797;flex-shrink:0}.layer-stop.current{color:#fff0d6}.layer-stop.current i{background:#ecaf8d;border-color:#ffe4c7;box-shadow:0 0 12px #eca3876b}.layer-stop.passed i{background:#8d7595}.layer-stop:last-child i{border:0;background:transparent}.layer-track{position:absolute;left:4px;top:91px;width:1px;height:172px;background:#8b7d914d}.layer-track>div{background:linear-gradient(#e7b08d,#b68dcb,#7fd5cf);width:1px;height:0;transition:height .2s}.giant-world .chapter{max-width:320px}.giant-world .chapter h2{font-size:32px}.giant-world .coordinates{color:#d9c6ce}.giant-world .chapter,.giant-world header,.giant-world .coordinates,.layer-map{text-shadow:0 2px 14px #0b0e22aa}.sound-on{color:#ffb4db!important;border-color:#ffb4db88!important;background:#d979a127!important}.ui-hidden .world-picker,.ui-hidden .layer-map{display:none}.giant-world .paper{opacity:.08}.core-party .layer-map{opacity:.6}.core-party .identity h1 .title-star{color:#ed9dc7}.core-party .coordinates>span:first-child{color:#fbb4d8}#travel{position:fixed;inset:0;background:#111522;z-index:18;display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .55s}#travel.visible{opacity:1;pointer-events:auto}#travel>span{font-size:11px;letter-spacing:.23em;color:#ceb6bd}#travel strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:100px;font-weight:400;margin:12px 0}#travel p{font-size:13px;color:#c5b4b8}#reveal{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:15;opacity:0;pointer-events:none;background:radial-gradient(ellipse,#e3b4de1f,transparent 70%)}#reveal strong{font-family:'Libre Caslon Display',Georgia,serif;font-style:italic;font-size:clamp(100px,20vw,240px);color:#fff2cd;text-shadow:5px 6px 0 #d851967a;line-height:1}#reveal>span{font-size:12px;letter-spacing:.26em;margin-top:28px;color:#ffe4ef}#reveal.show{animation:core-reveal 2.9s ease-out forwards}@keyframes core-reveal{0%{opacity:0;transform:scale(1.13)}12%{opacity:1;transform:scale(1)}65%{opacity:1}100%{opacity:0;transform:scale(1.03)}}
@media(max-width:1050px){.world-picker{top:180px;left:28px;transform:none}.layer-map{right:25px;width:126px}.layer-map>strong{font-size:22px}.layer-stop{font-size:11px}.giant-world .chapter h2{font-size:28px}.identity h1{font-size:64px}}
@media(max-width:600px){.world-picker{top:173px;left:22px;padding:4px}.world-picker button{font-size:12px;padding:9px 12px;gap:6px}.layer-map{right:16px;top:42%;width:12px}.layer-map .eyebrow,.layer-map>strong{display:none}.layer-track{top:14px;height:159px;left:4px}.layer-stop{height:32px;padding:10px 0;font-size:0;gap:0}.layer-stop span{display:none}.layer-stop i{width:9px;height:9px}.layer-stop:last-child i{font-size:15px}.giant-world .chapter h2{font-size:27px}.giant-world .chapter{max-width:210px}.giant-world #hint{font-size:11px}.core-party .coordinates #position{display:none}.core-party .identity p{display:none}.core-party .world-picker{top:146px}#travel strong{font-size:80px}#travel p{max-width:260px;text-align:center;line-height:1.7}#reveal>span{font-size:9px;letter-spacing:.12em}.core-party .chapter .eyebrow{color:#f3a5cc}}
@media(max-width:400px){.world-picker{top:173px;left:22px;right:22px;justify-content:center}.world-picker button{padding:9px 7px;font-size:11px;gap:5px}.world-picker small{padding-left:0}.world-picker .planet-dot{display:none}.giant-world .chapter h2{font-size:23px}.giant-world .chapter{max-width:160px}.giant-world .flight-bar button{font-size:12px}.identity h1 #world-title{font-size:58px}.top-actions{gap:4px}.top-actions .round{width:29px;height:29px}}
@media(min-width:601px) and (max-height:720px){.layer-map{top:252px;right:28px;width:126px}.layer-map>.eyebrow,.layer-map>strong{display:none}.layer-stop{height:28px;padding:6px 0;font-size:11px}.layer-track{top:10px;height:140px}}
.layer-track{height:208px}.storm-stop i{font-size:15px;border:0;background:transparent}.storm-stop.current{color:#b4eaf2}.storm-stop.current i{color:#bcf8ff;background:transparent;box-shadow:none}.layer-map .storm-stop.current~.layer-stop.current{color:#b6b1bc}
@media(max-width:600px){.layer-stop{height:28px}.layer-track{height:168px}}
@media(min-width:601px) and (max-height:720px){.layer-stop{height:25px}.layer-track{height:150px}}

.surface-guide{position:fixed;left:48px;top:228px;z-index:5;display:flex;gap:5px;padding:5px;border:1px solid #e7d5c932;background:#101b24ad;backdrop-filter:blur(12px);border-radius:32px}.surface-guide button{border:0;border-radius:24px;padding:9px 13px;background:none;font-size:12px;color:#eee6cc;white-space:nowrap}.surface-guide button:hover{background:#f5ead222}.surface-guide button span{font-size:17px;color:#a8d6bb;vertical-align:-1px;margin-right:5px}.surface-guide #leave-cave{display:none}.giant-world .surface-guide,.ui-hidden .surface-guide{display:none}.underground .surface-guide #visit-forest,.underground .surface-guide #visit-cave{display:none}.underground .surface-guide #leave-cave{display:block}.underground .zoom-control,.underground .annotation{display:none}.underground .identity h1 .title-star{color:#a1dfd3}.underground .chapter{max-width:300px}.cave-party .chapter .eyebrow,.cave-party .coordinates>span:first-child{color:#f4b5d1}
@media(max-width:1050px){.surface-guide{left:28px;top:233px}.surface-guide button{padding:7px 11px}}
@media(max-width:600px){.surface-guide{left:22px;top:224px;padding:3px}.surface-guide button{padding:7px 11px;font-size:11px}.surface-guide button span{font-size:14px}.underground .chapter{max-width:210px}.underground .chapter h2{font-size:27px}}
@media(max-width:400px){.surface-guide{right:22px;justify-content:center}.surface-guide button{padding:7px 10px}.underground .chapter h2{font-size:24px}}
@media(max-height:510px) and (min-width:601px){.surface-guide{top:230px}.chapter h2{font-size:25px}.surface-guide button{padding:6px 11px}}

.giant-world .surface-guide{display:flex}.giant-world .surface-guide #visit-forest,.giant-world .surface-guide #visit-cave,.giant-world .surface-guide #leave-cave{display:none}body.ui-hidden .surface-guide,body.ui-hidden .discover{display:none}.surface-guide #discover-toggle{color:#f2dcad}.surface-guide #discover-toggle span{color:#ecc595}.discover{z-index:11}.wonder-list{display:grid;gap:10px;margin:22px 0 18px}.wonder-card{border:1px solid #e9d9bc30;background:#d5dfd207;border-radius:8px;text-align:left;padding:14px 15px;display:block;width:100%}.wonder-card:hover{background:#a2d9c516;border-color:#a2d9c575}.wonder-card strong{font-size:14px;font-weight:500;display:block;color:#f4e5c8}.wonder-card small{font-size:12px;color:#b9c7c4;line-height:1.6;display:block;margin-top:5px}.gas-wonders{display:none}.giant-world .gas-wonders{display:grid}.giant-world .rock-wonders{display:none}.field-sources{border-top:1px solid #e8d6b726;padding-top:14px;font-size:11px;color:#b4c4c1}.field-sources summary{cursor:pointer}.field-sources p{font-size:11px;line-height:1.8;margin:10px 0 0}.field-sources a{color:#b2decf;text-decoration-color:#b2decf50;text-underline-offset:3px}
@media(max-width:600px){.surface-guide{max-width:calc(100vw - 44px)}.surface-guide button{padding:7px 8px;font-size:10px}.surface-guide button span{margin-right:3px}.discover{top:72px;max-height:calc(100dvh - 95px)}.wonder-card{padding:12px 13px}.wonder-card strong{font-size:13px}}
@media(max-width:360px){.surface-guide button{padding:7px 6px}.surface-guide button span{display:none}}
/* The sky finder contains only the two other worlds. */
.neighbor-wonders button[hidden]{display:none}.neighbor-wonders{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #d0c5bd2b}.neighbor-wonders .field-intro{font-size:12px;line-height:1.7;color:#bdc9c5}

.observing-sky .annotation{display:none}
