@font-face{font-family:Barlow;src:url('./fonts/barlow-regular.ttf')}@font-face{font-family:Barlow;src:url('./fonts/barlow-semibold.ttf');font-weight:600}@font-face{font-family:Condensed;src:url('./fonts/barlow-condensed-extrabold.ttf');font-weight:800}:root{font-family:Barlow,Arial,sans-serif;color:#edf4f5;background:#080f19;--orange:#f1b578;--blue:#9ad8dc;--ink:#11212c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #fff0b7;outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{cursor:default}.hidden{display:none!important}#app,#world{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}#world,#hud{touch-action:none}header{position:absolute;inset:0 0 auto;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;z-index:6;pointer-events:none}.wordmark{color:#edf4f5;text-decoration:none;display:flex;align-items:center;pointer-events:auto;font-size:13px;font-weight:600;letter-spacing:.3px}.wordmark span{font-weight:400;margin-left:3px}.wordmark i{height:5px;width:5px;background:var(--orange);margin-left:7px}.utilities{display:flex;gap:6px;pointer-events:auto}.utilities button{min-width:42px;min-height:38px;padding:0 12px;border:1px solid #c7d9e42b;border-radius:4px;color:#d4e4ed;background:#0d1b29d9;font-size:12px;font-weight:600}#pause{font-size:18px}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#09131eea,#0a1621ad 45%,#07121c0a);display:flex;align-items:center;overflow:auto;touch-action:pan-y}.menu-content{margin:85px 6vw 48px;width:500px;max-width:88vw}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;color:#9bd8dc;margin-bottom:15px;line-height:1.6}h1{font:800 clamp(76px,8.2vw,124px)/.83 Condensed,Arial,sans-serif;letter-spacing:-1px;margin:0 0 25px}h1 span{color:var(--orange)}.tagline{font-size:24px;font-weight:600;margin:0 0 8px;letter-spacing:-.3px}.intro{font-size:15px;color:#a7bdcd;margin:0 0 22px;line-height:1.5}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 21px;background:var(--orange);color:var(--ink);font-size:14px;font-weight:600;letter-spacing:1px;width:100%;border-radius:4px;min-height:52px}.primary>span:last-child{font-size:25px;line-height:18px}.secondary{display:block;background:#243745;border:1px solid #b0cfe127;color:#eaf2f8;border-radius:4px;width:100%;padding:13px;margin-top:10px;font-size:13px;font-weight:600}.menu-meta{display:flex;gap:15px;font-size:11px;letter-spacing:.8px;font-weight:600;color:#b7cad8;margin:17px 0}.menu-meta span+span{border-left:1px solid #566d7c;padding-left:15px}.how{font-size:13px;line-height:1.6;color:#8fa9bb;max-width:420px;margin:10px 0}.version{position:absolute;bottom:16px;right:28px;color:#7c95a9;font-size:11px;letter-spacing:1px}#best,#save-notice{font-size:11px;color:#9bafb9;line-height:1.5}#best{margin-top:8px}#sector-select{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sector{background:#142331d4;color:#a6bcc9;border:1px solid #829cb730;border-radius:4px;text-align:left;padding:10px 12px}.sector small{display:block;font-size:10px;color:#78919f;margin-bottom:4px;letter-spacing:1px}.sector strong{font:800 19px Condensed,Arial,sans-serif;letter-spacing:.3px;white-space:nowrap}.sector.selected{border-color:var(--sector);color:var(--sector);background:#1b3440e0}.sector.selected small{color:var(--sector)}#sector-desc{min-height:36px;font-size:13px;line-height:1.4;color:#a8c0d0;margin:10px 0 17px}.journal-link{background:transparent;color:#a8d9dc;font-size:11px;letter-spacing:1px;padding:7px 0;border-bottom:1px solid #85aab04a}#hud{position:absolute;inset:0;pointer-events:none}.top-hud{position:absolute;top:77px;left:28px;right:28px;display:flex;gap:10px;align-items:stretch}.shift-block,.size-block,.score-block{background:#101f2ee8;border:1px solid #b6c7d323;border-radius:4px;padding:10px 14px}.shift-block{min-width:113px}.top-hud span{font-size:10px;font-weight:600;letter-spacing:1px;display:block;color:#91aebf}.shift-block strong{display:block;font:800 35px/1.1 Condensed,Arial,sans-serif;font-variant-numeric:tabular-nums}.size-block{width:230px}.size-block span{font-size:13px;color:#dceaf0}.growth-track,.cargo-track{height:4px;background:#314551;border-radius:1px;margin:8px 0;overflow:hidden}.growth-track i,.cargo-track i{display:block;height:100%;background:#9ad8dc;transition:width .15s}.size-block small{font-size:11px;color:#92aebf}.score-block{margin-left:auto;text-align:right;min-width:100px}.score-block strong{font:800 32px Condensed,Arial,sans-serif;font-variant-numeric:tabular-nums}#challenge{position:absolute;top:176px;left:28px;padding:10px 13px;background:#0e1d2acb;border-left:2px solid var(--orange);max-width:295px}#challenge span{display:block;color:#e7bc90;font-size:10px;font-weight:600;letter-spacing:1px}#challenge strong{font-size:13px;display:block;margin-top:5px;font-weight:400;line-height:1.4}.objective-track{height:2px;background:#2a3d4b;margin-top:9px}.objective-track i{display:block;height:100%;background:var(--orange)}.bottom-hud{position:absolute;left:28px;right:28px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:end;gap:12px}.build-state{background:#0e1d2ce8;border:1px solid #b4cfdd27;border-radius:5px;max-width:290px;width:290px;padding:12px 14px}.build-state>span{font-size:12px;letter-spacing:1.3px;font-weight:600}.build-state>strong{font-size:12px;line-height:1.5;display:block;font-weight:400;margin-top:5px;color:#b3cbd8}.cargo-track i{background:var(--orange)}.cargo-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.cargo-row small{font-size:11px;color:#b7ced9}.stability{display:flex;gap:4px}.stability i{width:13px;height:5px;background:#bce4e5}.stability i.lost{background:#3d4f5b}#installed{font-size:10px;line-height:1.5;color:#9eb8c8;margin-top:7px}#installed:empty{display:none}.abilities{display:flex;flex-direction:column;align-items:center;gap:11px}#gulp{pointer-events:auto;position:relative;isolation:isolate;overflow:hidden;width:102px;height:102px;border-radius:50%;border:2px solid #e4be8d;background:#172d40eb;color:#ffe5c5;display:flex;flex-direction:column;justify-content:center;align-items:center;touch-action:none;flex-shrink:0}#gulp strong{font-size:14px;font-weight:600;letter-spacing:1px}#gulp small{font-size:11px;color:#b0c7d5;margin-top:5px}.ability-ring{position:absolute;inset:0;background:conic-gradient(#f6b75b30 var(--charge,100%),transparent 0);z-index:-1}#gulp:disabled{border-color:#617986;color:#9eb5c5}#boost{pointer-events:auto;position:relative;overflow:hidden;border:1px solid #aedee0;background:#172e3ee8;color:#d7f7f3;width:114px;min-height:48px;padding:8px 5px;border-radius:4px}#boost strong{display:block;font-size:11px;letter-spacing:.8px;font-weight:600}#boost small{display:block;font-size:9px;letter-spacing:.3px;margin-top:4px}#boost i{position:absolute;bottom:0;left:0;height:3px;background:#b9e9de}#boost:disabled{border-color:#496a7a;color:#93a9b9}#boost.active{border-color:#fff1c4;color:#fff1c4;background:#366076}#toast{position:absolute;top:33%;left:50%;transform:translateX(-50%);text-align:center;white-space:pre-line;width:max-content;max-width:86%;padding:10px 18px;border-radius:4px;background:#0c1d2ae0;border:1px solid #cee4ef30;font-size:17px;font-weight:600;line-height:1.5;opacity:0;transition:opacity .2s}#toast.show{opacity:1}#combo{position:absolute;left:50%;bottom:23%;transform:translateX(-50%);text-align:center;opacity:0;color:#d5e9f5}#combo strong{font:800 30px Condensed,Arial,sans-serif;display:block}#combo span{font-size:9px;letter-spacing:1.6px}#tutorial{position:absolute;left:50%;bottom:210px;transform:translateX(-50%);background:#152c3dea;border:1px solid #a6c8dc44;border-radius:4px;font-size:12px;padding:11px 15px;max-width:85%;width:max-content;text-align:center;line-height:1.5}#stick{display:none;position:absolute;width:100px;height:100px;border-radius:50%;border:2px solid #cce6f48c;background:#adcce511;transform:translate(-50%,-50%)}#stick i{position:absolute;left:33px;top:33px;width:30px;height:30px;border-radius:50%;background:#d9edffaa}.modal{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;background:#040e1bcc;backdrop-filter:blur(9px);touch-action:pan-y}.dialog{width:100%;max-width:890px;padding:30px;border:1px solid #a5c8d23d;background:#122735;border-radius:8px;max-height:91dvh;overflow:auto;touch-action:pan-y}.compact{max-width:455px}.dialog .eyebrow{margin-bottom:12px}.dialog h2{font:800 40px/1.1 Condensed,Arial,sans-serif;margin:0 0 14px}.dialog>p{font-size:14px;line-height:1.6;color:#b7cdda}.compact .primary{margin-top:22px}.text-button{font-size:13px;display:block;width:100%;color:#b8ccdb;background:transparent;padding:14px}#build-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:24px}.build-card{background:#1a3344;border:1px solid #819fb238;border-top:3px solid var(--accent);border-radius:4px;text-align:left;padding:19px;color:#eaf2f8}.build-card svg{width:40px;height:40px;color:var(--accent);margin-bottom:17px}.build-card h3{font:800 26px Condensed,Arial,sans-serif;color:var(--accent);margin:0 0 10px}.build-card .build-verb{font-size:10px;color:#afc5d3;line-height:1.4;display:block;min-height:28px}.build-card p{font-size:13px;line-height:1.55;margin-bottom:0;min-height:64px}.result-score{margin:18px 0}.result-score span{font:800 60px Condensed,Arial,sans-serif;color:var(--orange);display:block}.result-score small{font-size:10px;letter-spacing:1.3px;color:#a9c0d2}#result-facts{font-size:13px;line-height:1.8;border-top:1px solid #a5c1d630;padding-top:13px}#result-next{color:#dfcfb1}#boss-hud{position:absolute;top:173px;left:50%;transform:translateX(-50%);width:345px;max-width:92%;padding:12px 14px;background:#231f2eed;border:1px solid #bd8c7855;border-radius:4px}#boss-hud>div:first-child{display:flex;justify-content:space-between;color:#ffc098;font-size:12px;font-weight:600;letter-spacing:1px}.boss-track{height:5px;background:#543b49;margin:8px 0}.boss-track i{height:100%;display:block;background:#efaa82}#boss-instruction{font-size:12px;color:#dbc1be;line-height:1.4;display:block}#target-guide{position:absolute;left:50%;top:271px;transform:translateX(-50%);display:flex;gap:7px;align-items:center;padding:5px 10px;border:1px solid #8cabb52c;background:#102431cc;border-radius:20px}#target-guide span{font-size:22px;line-height:1;display:block;color:#f1c781}#target-guide strong{font-size:10px;letter-spacing:.6px}#material-row{display:flex;gap:12px;margin-top:8px;font-size:11px}#material-row span{display:flex;align-items:center;gap:4px;color:var(--material)}.shape{display:inline-block;width:7px;height:7px;background:var(--material)}.shape-0{transform:rotate(45deg)}.shape-2{clip-path:polygon(50% 0,100% 100%,0 100%)}.audio-options{display:flex;gap:8px}#journal-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);align-items:center;gap:8px;margin:25px 0}#journal-grid>strong,#journal-grid>small{font-size:11px;font-weight:600}#journal-grid>small{text-align:center;color:#9bbbcf}.journal-cell{display:grid;place-items:center;aspect-ratio:1.5;background:#1b3545;color:#5f7e90;border:1px solid #7aa1b526;border-radius:3px}.journal-cell.complete{color:#e9c996;border-color:#c5a26e;background:#354c4b}#journal-stats{font-size:12px}
@media(max-width:700px){header{padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}.wordmark{font-size:11px}.utilities{gap:4px}.utilities button{padding:0 9px;min-height:36px;font-size:11px}.overlay{align-items:flex-end;background:linear-gradient(180deg,#07142100,#08141cb8 18%,#0b1723ef 42%,#0b1723 87%)}.menu-content{margin:85px 20px 34px;width:100%;max-width:none}.eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:13px}h1{font-size:72px;margin-bottom:18px}.tagline{font-size:21px}.intro{font-size:13px;margin-bottom:18px}.sector{padding:9px}.sector strong{font-size:19px}.menu-meta{gap:10px;font-size:10px;margin:14px 0}.menu-meta span+span{padding-left:10px}.how{font-size:12px;margin:8px 0}.version{right:20px;bottom:12px;font-size:9px}.top-hud{top:62px;left:12px;right:12px;gap:6px}.shift-block,.size-block,.score-block{padding:9px;border-radius:4px}.shift-block{min-width:78px}.shift-block strong{font-size:30px}.top-hud span{font-size:9px;letter-spacing:.3px}.size-block{flex:1;width:auto}.size-block span{font-size:12px}.size-block small{font-size:10px;line-height:1.25;display:block}.score-block{min-width:63px}.score-block strong{font-size:29px}.growth-track{margin:6px 0}.bottom-hud{left:12px;right:12px;bottom:max(20px,env(safe-area-inset-bottom));gap:9px}.build-state{max-width:230px;padding:10px;width:calc(100% - 107px)}.build-state>span{font-size:11px}.build-state>strong{font-size:11px}.stability{gap:3px}.stability i{width:9px}.cargo-row small{font-size:10px}#installed{font-size:10px}#gulp{width:89px;height:89px}#gulp strong{font-size:12px}#gulp small{font-size:10px}#boost{width:98px;min-height:45px}#boost strong{font-size:10px}#boost small{font-size:8px}#challenge{top:155px;left:12px;max-width:253px;padding:8px 11px}#challenge span{font-size:10px}#challenge strong{font-size:12px}#toast{top:35%;font-size:15px;padding:9px 13px}#tutorial{font-size:12px;bottom:190px}#combo{bottom:27%}#combo strong{font-size:25px}.modal{padding:15px}.dialog{padding:20px}.dialog h2{font-size:32px}.dialog>p{font-size:13px}#build-cards{grid-template-columns:1fr;gap:9px;margin-top:18px}.build-card{padding:13px;display:grid;grid-template-columns:32px 1fr;column-gap:13px;border-top-width:1px;border-left:3px solid var(--accent)}.build-card svg{grid-row:1/4;width:30px;height:30px;margin:4px 0}.build-card h3{font-size:23px;margin:0 0 5px}.build-card .build-verb{font-size:10px;min-height:0}.build-card p{grid-column:2;font-size:12px;min-height:0;margin:6px 0 0}#boss-hud{top:153px}#boss-hud>div:first-child{font-size:11px}#boss-instruction{font-size:11px}#target-guide{top:245px}.result-score span{font-size:50px}#result-facts{font-size:12px}}
@media(max-width:370px){h1{font-size:61px}.menu-content{margin-left:17px;margin-right:17px}.tagline{font-size:19px}.sector strong{font-size:17px}.sector{padding:8px 7px}.score-block{min-width:54px}.utilities button{padding:0 7px}.cargo-row{gap:4px}.stability i{width:7px}.build-state>strong{font-size:10px}}
@media(max-height:730px) and (max-width:700px){.menu-content{margin-top:80px;margin-bottom:28px}.menu-content .eyebrow{margin-bottom:8px}h1{font-size:61px;margin-bottom:14px}.intro{margin-bottom:13px}.menu-meta{margin:11px 0}.how{display:none}#sector-desc{margin-bottom:12px}.journal-link{padding-top:3px}.dialog{max-height:93dvh}.build-card{padding:11px}.dialog>p{margin:9px 0}}
@media(max-height:580px) and (min-width:701px){header{padding:12px 22px}.overlay{align-items:flex-start}.menu-content{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;width:88vw;max-width:none;margin:75px 6vw 25px}.menu-content .eyebrow{grid-column:1;margin:0}.menu-content h1{grid-column:1;grid-row:2;font-size:70px;margin:0}.tagline{grid-column:1;grid-row:3;font-size:20px}.intro{grid-column:1;grid-row:4;margin:0}.menu-meta{grid-column:1;grid-row:5;margin:0}.how{display:none}.journal-link{grid-column:1;grid-row:6;justify-self:start}#best{grid-column:1;grid-row:7;margin:0}#sector-select{grid-column:2;grid-row:1/3}#sector-desc{grid-column:2;grid-row:3/5;margin:0;min-height:0}#play{grid-column:2;grid-row:5/7}#continue{grid-column:2;grid-row:7;margin:0;padding:8px}#save-notice{display:none}.top-hud{top:62px;left:22px;right:22px}.top-hud>div{padding:7px 10px}.shift-block strong{font-size:25px}.size-block small{display:none}#challenge{top:142px;left:22px;max-width:224px}#challenge strong{font-size:11px}.bottom-hud{bottom:13px;left:22px;right:22px}.build-state{max-width:225px;padding:9px}.build-state>strong{font-size:10px}#gulp{width:76px;height:76px}#boost{width:98px;min-height:40px}.abilities{flex-direction:row;align-items:end;gap:10px}#tutorial{bottom:135px;font-size:11px}#boss-hud{top:134px;width:300px}#target-guide{top:218px}#toast{top:47%;font-size:14px}.version{bottom:10px}.dialog{max-height:94dvh;padding:20px}#build-cards{margin-top:14px}.build-card{padding:13px}.build-card svg{margin-bottom:9px}.build-card p{min-height:0}.dialog h2{font-size:30px}.dialog .eyebrow{margin-bottom:7px}.dialog>p{margin:6px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Forge choices stay legible while showing the actual recipe. */
.fusion-recipe{margin-top:16px;border-top:1px solid #b7c8d42b;padding-top:12px;grid-column:2;display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.45;color:#acbecb}.fusion-recipe b{font-weight:600;color:#c9d7e2}.fusion-recipe.ready{color:#e6dcb6}.fusion-recipe.ready b{color:#ffe0a0}#forge-status{font-size:11px;letter-spacing:.6px;color:#93babd;margin-top:8px}#forge-status.unbound{color:#ffe1a3;text-shadow:0 0 12px #ffc77d66}#installed{color:#f0d5a6;font-size:12px} .build-card p{font-size:14px}.dialog>p{font-size:15px}
@media(max-width:700px){.fusion-recipe{margin-top:8px;padding-top:8px;font-size:12px}.build-card p{font-size:14px}.build-card .build-verb{font-size:11px}.build-state>strong{font-size:12px}#installed{max-height:38px;overflow:hidden;font-size:11px}#forge-status{font-size:10px}#boost small{font-size:10px}.dialog{max-height:92dvh}.build-card{padding:12px}}
