@import url('fonts.css');
:root{--ink:#e9e9d9;--muted:#919990;--acid:#d7efad;--line:#c4d6ba30;--mono:'Space Mono',monospace;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#080b0c;color:var(--ink);font-family:var(--sans)}button,a,input,label{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,label:focus-within{outline:2px solid var(--acid);outline-offset:5px}button:hover{color:var(--acid)}a{color:inherit;text-decoration:none}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#veil{pointer-events:none;position:fixed;inset:0;background:linear-gradient(90deg,#080b0cb0 0%,#080b0c55 30%,transparent 57%),linear-gradient(0deg,#080b0c90,transparent 18%,transparent 84%,#080b0c55);transition:opacity 1s}body.flying #veil{opacity:.35}.masthead{position:fixed;top:0;left:0;right:0;height:112px;margin:0 3.2%;display:flex;align-items:center;border-bottom:1px solid var(--line);z-index:3}.wordmark{font-size:29px;font-weight:700;letter-spacing:-1.6px;white-space:nowrap}.wordmark .slash{font-weight:400;color:var(--muted);padding:0 13px}.serif{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:35px}.specimen-tag{margin-left:42px;display:flex;align-items:center;gap:13px;font:10px var(--mono);letter-spacing:1.2px;color:#bfc8bb}.specimen-tag i{height:5px;width:5px;background:var(--acid);border-radius:50%;box-shadow:0 0 12px #d7efad88}.specimen-tag b{font-weight:400}.specimen-tag>span{color:#68766b}.masthead nav{margin-left:auto;display:flex;gap:24px;align-items:center}.masthead nav button{font:10px var(--mono);letter-spacing:1px;padding:12px 0}#sound span{color:var(--muted);padding-left:8px}#fullscreen{font-size:25px}.intro{position:fixed;left:6.7%;top:25%;z-index:2}.eyebrow{font:9px var(--mono);letter-spacing:2px;color:#b9c7b3}.intro .eyebrow{display:flex;align-items:center;gap:14px}.line{width:25px;height:1px;background:var(--acid)}h1{font-size:clamp(64px,7.3vw,124px);line-height:.95;letter-spacing:-5px;font-weight:500;margin:34px 0 27px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-4px;color:var(--acid)}.intro>p{font-size:14px;line-height:1.9;color:#b3beb1}.launch-row{display:flex;align-items:center;gap:26px;margin-top:32px}.primary{background:var(--acid);color:#162216;padding:18px 23px;font:10px var(--mono);letter-spacing:1px;min-width:165px;display:flex;justify-content:space-between;gap:32px;align-items:center}.primary:hover{background:#eef9d8;color:#102910}.primary span{font-size:20px;line-height:12px}.text-button{font:9px var(--mono);letter-spacing:.8px;padding:16px 0}.text-button span{margin-left:14px;font-size:16px}.intro-note{display:flex;gap:12px;align-items:center;margin-top:54px;font:8px var(--mono);letter-spacing:1px;color:#abb8a5}.intro-note>span:first-child{color:var(--acid)}.note-rule{width:25px;height:1px;background:#788774}.bottom-bar{position:fixed;bottom:0;left:3.2%;right:3.2%;height:76px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;z-index:5;font:9px var(--mono);letter-spacing:.5px}.coordinates{display:flex;gap:16px;align-items:center;color:#c2ccbb}.cross{font-size:25px;font-style:normal;color:var(--acid)}.field-name{color:#81917e;margin-left:12px;font-size:8px}.shortcuts{margin-left:auto;display:flex;gap:18px;color:#a3b19c;font-size:8px}kbd{font:inherit;color:#e1e9d9;display:inline-block;border:1px solid #b1c6a34a;border-radius:2px;padding:3px 5px;margin-right:4px}.bottom-bar>button{margin-left:auto;border-left:1px solid var(--line);padding-left:23px;font:9px var(--mono);display:flex;gap:12px;align-items:center}.bottom-bar>button b{background:#d1eda120;color:var(--acid);padding:4px 5px;font-weight:400}.bottom-bar>button>span{font-size:18px}.hidden{display:none!important}#flight-hud{position:fixed;inset:0;pointer-events:none}.telemetry{position:absolute;left:4%;bottom:115px}.telemetry>div:nth-child(2),.route>div{display:flex;gap:10px;align-items:baseline;margin:8px 0}.telemetry b{font-size:48px;letter-spacing:-2px;font-weight:400}.telemetry small,.route small{color:#9bad98;font:10px var(--mono)}.meter{width:114px;height:2px;background:#b9cba533;margin:12px 0}.meter i{height:100%;background:var(--acid);width:25%;display:block}#flight-state{font:8px var(--mono);letter-spacing:2px;color:var(--acid)}.reticle{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;color:#eefbda77;font:18px var(--mono)}.reticle i{height:1px;width:13px;background:#eefbda55}.route{position:absolute;right:4%;top:150px;text-align:right}.route b{font-size:30px;font-weight:400}.route>div{justify-content:end}.route p{font:9px var(--mono);color:#aabda0}#timer{font:10px var(--mono);color:#d9e6d0}.altitude{position:absolute;right:4%;bottom:115px;display:flex;gap:10px;align-items:baseline;font:10px var(--mono)}.altitude b{font-size:24px;font-weight:400}.altitude span,.altitude small{color:#9fb095;font-size:9px}#message{position:absolute;left:50%;top:26%;transform:translateX(-50%);font:11px var(--mono);letter-spacing:3px;color:var(--acid);text-shadow:0 1px 10px black;white-space:nowrap}#lab{position:fixed;right:0;top:0;bottom:0;width:390px;background:#0d1413ed;backdrop-filter:blur(18px);z-index:9;border-left:1px solid var(--line);display:flex;flex-direction:column;padding:28px 24px}.lab-header{display:flex;align-items:center;justify-content:space-between}h2{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:10px 0}.lab-header h2 span{color:#82977b;font-size:21px}#close-lab{font-size:30px;font-weight:400}.lab-description{font-size:11px;color:#9faf99;margin:8px 0 20px}.lab-actions{display:flex;gap:7px;margin-bottom:18px}.lab-actions button{padding:10px 12px;border:1px solid var(--line);font:8px var(--mono);letter-spacing:1px}.lab-actions button:first-child{background:var(--acid);color:#182516}#gene-controls{overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#495e40 transparent;padding-right:10px}details{border-top:1px solid var(--line)}summary{font:10px var(--mono);letter-spacing:1px;padding:17px 0;cursor:pointer;color:#cbd7c2;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--acid)}details[open] summary:after{content:'−'}summary span{color:#74886d;margin-left:auto;margin-right:20px}.gene{display:block;font:9px var(--mono);color:#adbf9f;margin:0 0 15px}.gene>span{display:flex;justify-content:space-between}.gene output{color:#d0e3b5}input[type=range]{appearance:none;width:100%;height:2px;background:#30442c;margin:13px 0 2px;cursor:pointer;accent-color:var(--acid)}input[type=range]::-webkit-slider-thumb{appearance:none;width:8px;height:8px;border-radius:50%;background:var(--acid)}.lab-footer{padding-top:16px;border-top:1px solid var(--line);display:flex;gap:15px;flex-wrap:wrap}.lab-footer button,.lab-footer label{font:8px var(--mono);color:#d2e2be;cursor:pointer;padding:4px 0}.lab-footer input{display:none}.lab-footer>span{font:7px var(--mono);color:#72896c;width:100%;letter-spacing:1px}#help{position:fixed;inset:0;z-index:12;background:#080e0dba;backdrop-filter:blur(15px);display:grid;place-items:center}#help>div{border:1px solid var(--line);padding:40px;background:#101b17;width:420px;max-width:92vw}#help p{font:11px var(--mono);color:#adbf9f;line-height:2.6}#help .primary{margin-top:30px}#loading{position:fixed;inset:0;display:grid;place-content:center;background:#090d0c;z-index:20;text-align:center;font:11px var(--mono);transition:opacity .2s}#loading>span{font:italic 68px Georgia;color:var(--acid)}#loading p{color:#8b9c82;margin-top:30px}#touch-controls{display:none}body.lab-open .intro{opacity:0;pointer-events:none}body.lab-open .shortcuts{visibility:hidden}
@media(min-width:1600px){.intro{top:26%}.intro>p{font-size:16px}.eyebrow{font-size:10px}}
@media(max-width:1000px){.shortcuts{display:none}.field-name{display:none}.specimen-tag{margin-left:26px;font-size:8px;gap:8px}.intro{left:6%;top:25%}.intro-note{margin-top:35px}.bottom-bar{height:66px}.masthead{height:90px}.intro>p{font-size:12px}.launch-row{gap:18px}.text-button{font-size:8px}}
@media(max-width:600px){.masthead{height:80px;margin:0 6%}.wordmark{font-size:23px}.serif{font-size:28px}.specimen-tag{display:none}.masthead nav{gap:19px}#fullscreen{font-size:20px}.intro{top:24%;left:7%}h1{font-size:70px;letter-spacing:-3px;margin-top:25px}h1 em{letter-spacing:-3px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.launch-row{display:block;margin-top:24px}.text-button{margin-top:8px}.intro-note{font-size:7px;margin-top:25px}.bottom-bar{margin:0;left:6%;right:6%;height:62px}.coordinates{font-size:7px;gap:9px}.bottom-bar>button{padding-left:12px;font-size:8px;gap:7px}.cross{font-size:20px}#lab{width:100%;max-width:390px}.route{top:105px}.route p{max-width:125px;font-size:8px}.telemetry{bottom:95px}.altitude{bottom:95px}.telemetry b{font-size:32px}.eyebrow{font-size:8px;letter-spacing:1px}body.flying #touch-controls{display:flex;position:fixed;inset:55% 0 80px;pointer-events:none;justify-content:space-between;align-items:center;padding:0 8%;z-index:4}#touch-stick{pointer-events:auto;touch-action:none;width:100px;height:100px;border-radius:50%;border:1px solid #c4d6ba33;background:#101b1722;display:grid;place-items:center}#touch-stick i{width:34px;height:34px;background:#d7efad33;border:1px solid #d7efad66;border-radius:50%}.touch-buttons{display:flex;flex-direction:column;gap:10px}.touch-buttons button{pointer-events:auto;touch-action:none;border:1px solid #c4d6ba33;width:62px;height:40px;background:#101b1755;font:9px var(--mono)}#message{font-size:9px;letter-spacing:1px}}
#flight-hud{text-shadow:0 1px 8px #05110ef0}.route{background:linear-gradient(270deg,#07100d88,transparent);padding:18px 20px 20px 40px;margin-right:-20px}.route .eyebrow,.route p{color:#d2dfc6}
@media(max-width:600px){body.lab-open #lab{width:100%;max-width:none;top:48%;padding:18px 22px}body.lab-open .lab-description{margin-bottom:10px}body.lab-open .lab-actions{margin-bottom:10px}body.lab-open .lab-header h2{font-size:25px;margin:5px 0}body.lab-open .lab-footer{padding-top:9px}body.lab-open .bottom-bar{display:none}}
@media(max-width:600px){.intro{top:19%}.intro h1{font-size:64px}.intro .launch-row{position:fixed;left:7%;bottom:102px;display:flex;gap:17px;align-items:center;margin:0}.intro .text-button{font-size:7px;margin:0}.intro .text-button span{margin-left:5px}.intro .intro-note{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:600px){.intro>p{color:#e2e9d7;text-shadow:0 1px 7px #06140d,0 0 14px #06140d}}
#world:focus{outline:none}.masthead{background:linear-gradient(#07100a45,transparent)}.masthead nav span{color:#cad7bd}.masthead nav button{white-space:nowrap}.intro>p{color:#d9e1cf;text-shadow:0 1px 7px #05100c}.lab-description{line-height:1.5;min-height:30px;margin-bottom:10px}.lab-actions{margin-bottom:10px}.lab-actions button:disabled{opacity:.3;cursor:default}.lineage{display:flex;align-items:center;justify-content:space-between;font:7px var(--mono);letter-spacing:.6px;color:#8da37e;margin-bottom:10px}.lineage button{border-bottom:1px solid #a2bd8333;font:7px var(--mono);padding:6px 0;color:var(--acid)}.development{margin-bottom:12px}.development>label{display:flex;justify-content:space-between;font:8px var(--mono);color:#a5be91}.development input{margin:12px 0 6px}.founders{display:flex;align-items:center;gap:8px;margin-bottom:16px;font:7px var(--mono);color:#8da37e}.founders select{background:#162417;border:1px solid var(--line);padding:7px;color:#cfddc1;font:8px var(--mono);min-width:94px}.founders button{font:7px var(--mono);padding:5px}.bearing{position:absolute;left:50%;top:142px;transform:translateX(-50%);display:flex;gap:13px;align-items:center;color:var(--acid);font:9px var(--mono);letter-spacing:1px}#bearing-arrow{font-size:24px;display:inline-block;transition:transform .1s linear}.touch-rolls{display:flex;gap:6px}.touch-rolls button{width:28px!important;font-size:19px!important}.bottom-bar,.masthead{text-shadow:0 1px 6px #05100c}
@media(max-width:600px){.masthead nav{gap:12px}.masthead nav button{font-size:8px}.masthead #weather span,.masthead #sound span{display:block;padding:3px 0 0}.bearing{top:105px;font-size:7px}.bearing #bearing-arrow{font-size:20px}body.lab-open #lab{top:45%;padding:13px 20px}.lab-description{font-size:9px;min-height:0;margin:3px 0 6px}body.lab-open .lab-actions{margin-bottom:5px}.lineage{margin-bottom:2px}.development{margin-bottom:5px}.founders{margin-bottom:6px}.lab-actions button{padding:7px 10px}.founders select{padding:4px}.lab-header .eyebrow{font-size:7px}.lab-footer{gap:8px}#gene-controls{min-height:85px}#lab .lab-header h2{font-size:23px}#lab .development input{margin-top:9px}}
#atlas{position:fixed;inset:0;z-index:15;background:#07100cce;backdrop-filter:blur(15px);display:grid;place-items:center;padding:24px}.atlas-sheet{width:min(1180px,100%);max-height:94vh;overflow:auto;background:#0f1915;border:1px solid var(--line);padding:26px}.atlas-sheet>header{display:flex;gap:24px;align-items:center}.atlas-sheet h2{font-size:38px;margin:8px 0}.atlas-sheet>header>button{font:9px var(--mono);letter-spacing:1px;margin-left:auto;white-space:nowrap}#close-atlas{margin-left:0;font-size:26px}.atlas-sheet>p{font-size:11px;color:#a9bda1;line-height:1.7;margin:8px 0 22px}#atlas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.specimen-card{background:radial-gradient(ellipse at 50% 40%,#263730,#15221a);border:1px solid #a2ba802a;text-align:left;padding:0 0 13px;overflow:hidden;min-width:0}.specimen-card:hover{border-color:var(--acid);background:#223321}.specimen-card:disabled{opacity:.5;cursor:wait}.specimen-card img{width:100%;aspect-ratio:320/260;object-fit:contain;display:block}.specimen-caption{font:10px var(--mono);color:#d2e2bc;letter-spacing:1px;display:block;padding:0 12px}.specimen-card small{font:7px var(--mono);color:#8ea67c;display:block;margin:8px 12px 0}.founders{gap:6px}.founders select{min-width:80px}
@media(max-width:700px){#atlas{padding:12px}.atlas-sheet{padding:16px;max-height:96vh}.atlas-sheet h2{font-size:29px}.atlas-sheet>header{gap:12px}.atlas-sheet>header>button{font-size:7px}.atlas-sheet .eyebrow{font-size:6px}#atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.specimen-caption{font-size:8px}.specimen-card small{font-size:6px}.founders{gap:4px}.founders button{font-size:6px}.founders select{min-width:75px}}
#route-name{pointer-events:auto;max-width:200px;line-height:1.6;text-align:right}.flow{position:absolute;right:4%;bottom:178px;width:170px;font:8px var(--mono);color:#c9ddb4}.flow>div:first-child{display:flex;justify-content:space-between;align-items:center}.flow .eyebrow{font-size:8px;letter-spacing:1px}.energy-track{height:3px;background:#98af7830;margin:11px 0}.energy-track>i{display:block;height:100%;width:100%;background:var(--acid);box-shadow:0 0 9px #d7efad44}.flow>b{display:block;font-size:23px;font-weight:400;margin-top:8px;letter-spacing:2px}#flow-label{font-size:7px;letter-spacing:1px}.flight-tip{font-family:var(--sans)!important;font-size:12px!important;line-height:1.8!important;color:#c5d5b8!important}
@media(max-width:600px){.flow{top:275px;bottom:auto;right:6%;width:120px}.flow>b{font-size:18px}.flow .eyebrow{font-size:6px}#flow-label{font-size:6px;letter-spacing:.4px}.energy-track{margin:7px 0}#route-name{max-width:135px;font-size:7px;letter-spacing:1px}.bearing{left:7%;transform:none;top:114px}.route{padding-left:15px}.touch-buttons{gap:12px}}

#timeout{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:grid;gap:12px;text-align:center;color:#ffcca0;font:11px var(--mono);letter-spacing:4px;text-shadow:0 2px 14px #080b0c}#timeout strong{font-size:54px;font-weight:400;letter-spacing:-3px}#timeout small{font-size:9px;letter-spacing:2px}.impact-timeout #world{filter:saturate(.55)}.impact-timeout .reticle{opacity:.25}

.impact-timeout #message{opacity:0}

/* A single toolbar, one navigation cue, and compact flight telemetry. */
.masthead{height:76px;border-bottom:0}.masthead nav{gap:20px}.wordmark{font-size:23px}.wordmark .serif{font-size:28px}.masthead #help-toggle{font-size:17px}body.lab-open #open-lab{visibility:hidden}
body.flying .masthead{height:60px}body.flying .wordmark{font-size:18px}body.flying .wordmark .serif{font-size:22px}
.telemetry{bottom:30px}.telemetry>div:nth-child(1){display:flex;gap:9px;align-items:baseline}.telemetry b{font-size:32px}.telemetry .altitude{position:static;margin-left:18px;font:9px var(--mono);color:#c2d3b6;display:inline-flex;gap:7px}.telemetry .altitude b{font-size:18px;letter-spacing:0}.telemetry .altitude small{font-size:8px}
.bearing{top:85px}.route{top:88px;background:none;padding:0;margin:0}.route-meta{font:9px var(--mono);color:#c9d5bf;gap:16px!important}.route-meta #flow-score{font-size:9px;letter-spacing:0}.route b{font-size:24px}.flow{bottom:30px;width:150px}.flow .energy-track{margin:8px 0}.flow #flow-label:empty,#flight-state:empty,#growth-state:empty{display:none}
@media(max-width:600px){.masthead{height:65px;margin:0 5%}.masthead nav{gap:12px}.wordmark{font-size:18px}.wordmark .slash{padding:0 6px}.wordmark .serif{font-size:22px}.masthead nav button{font-size:8px}.bearing{top:84px;left:6%}.route{top:85px;right:6%}.route-meta{gap:10px!important;font-size:8px}.telemetry{bottom:22px}.telemetry b{font-size:26px}.telemetry .altitude{margin-left:8px}.flow{top:auto;bottom:22px;width:115px;right:6%}body.flying #touch-controls{inset:55% 0 88px}.masthead #weather span,.masthead #sound span{display:none}}

body:not(.flying) #help-toggle{display:none}

#world{touch-action:none}

#help>div{max-height:calc(100dvh - 40px);overflow-y:auto}
