:root{--ink:#192f37;--yellow:#f6c552;--paper:#f7f0dc;--teal:#668d88;--muted:#84938e;--line:rgba(25,47,55,.17)}*{box-sizing:border-box}body{margin:0;background:#aec9c6;color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;overflow:hidden}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:5px;padding:11px 15px;font-size:13px;font-weight:700;transition:background .15s,transform .15s}button:hover{background:#fff9e8;transform:translateY(-1px)}button:disabled{opacity:.42;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9923c;outline-offset:3px}button.primary{background:var(--yellow);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}button.dark{background:var(--ink);color:var(--paper)}button.small{padding:7px 10px;font-size:11px}button.danger{color:#ae4430}#world{position:fixed;width:100%;height:100%;inset:0;display:block}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(13,35,42,.25),transparent 50%),linear-gradient(0deg,rgba(14,31,34,.3),transparent 20%)}header{height:86px;position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:20px;padding:18px 30px;z-index:4;background:linear-gradient(#f7f0dcef,#f7f0dc00)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:Impact,'Arial Narrow',sans-serif;font-size:31px;letter-spacing:1.4px;line-height:1}.brand small{display:block;font:8px 'Trebuchet MS',sans-serif;letter-spacing:3px;margin-top:6px}.brand-mark{font-size:42px}#careerbar{margin-left:auto;display:flex;gap:8px}.stat{padding:9px 14px;background:#f7f0dce8;border:1px solid var(--line);border-radius:4px;min-width:84px}.stat small{display:block;font-size:8px;letter-spacing:1.5px;margin-bottom:3px}.stat strong{font-size:15px}.icon{height:40px;min-width:40px;padding:8px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:bold;text-transform:uppercase;color:#727c6b}.section-num{display:inline-block;background:var(--ink);color:var(--yellow);padding:5px 8px;margin-right:8px;font-size:10px}h1,h2,h3,p{margin:0}h1,h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.5px}h1{font-size:52px;line-height:.97;margin:13px 0 14px}h2{font-size:35px;line-height:1.03;margin:10px 0}h3{font-size:14px;margin:3px 0 6px}p{font-size:13px;line-height:1.6}.sub{color:#667473;font-size:12px;line-height:1.6}.note{font-size:10px;color:#707975;line-height:1.5;margin-top:12px}.rule{height:1px;background:var(--line);margin:20px 0}#panel{position:fixed;left:104px;top:108px;bottom:80px;width:360px;max-height:760px;background:var(--paper);border:1px solid #243e4055;box-shadow:5px 7px 0 #192f372b;border-radius:3px;padding:25px;overflow-y:auto;z-index:2;scrollbar-width:thin;scrollbar-color:#a2aea0 transparent}body.creating #panel{left:38px;width:355px}#panel:empty{display:none}#nav{position:fixed;left:24px;top:118px;display:flex;flex-direction:column;gap:10px;z-index:4}#nav button{height:57px;width:58px;padding:6px;background:#f7f0dcdd;font-size:21px;border:1px solid #23404966;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}#nav button small{font-size:7px;text-transform:uppercase;letter-spacing:.3px}#nav button.active{background:var(--yellow);box-shadow:3px 3px 0 var(--ink);border:2px solid var(--ink)}label{font-size:10px;font-weight:700;letter-spacing:.8px;display:block;margin:16px 0 7px}input[type=text],select{width:100%;padding:12px;background:#fffaf0;border:1px solid #94a099;border-radius:3px;color:var(--ink)}.swatches{display:flex;gap:9px;flex-wrap:wrap}.swatch{width:31px;height:31px;padding:0;border:2px solid #fff8;box-shadow:0 0 0 1px #293e3933;border-radius:50%}.swatch.selected{box-shadow:0 0 0 2px var(--ink);border:4px solid var(--paper)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.full{width:100%}.badge{display:inline-block;padding:4px 7px;border:1px solid #647d7460;border-radius:3px;letter-spacing:.8px;font-size:8px;font-weight:bold;text-transform:uppercase}.badge.gold{background:#f6c55255;border-color:#b99939}.badge.locked{color:#8b6960;background:#e6dbcc}.card{background:#ffffff54;border:1px solid var(--line);padding:14px;border-radius:4px;margin-top:10px}.card.active{border-color:#789589;background:#dde6d75c}.card p{font-size:11px;color:#677575}.card .price{font-size:14px;font-weight:bold}.card button{margin-top:10px}.meta{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;font-weight:bold}.tabs{display:flex;gap:5px;overflow:auto;margin:16px 0 6px;padding-bottom:6px}.tabs button{padding:8px 10px;white-space:nowrap;font-size:10px}.tabs .active{background:var(--ink);color:var(--paper)}.meter{height:5px;background:#d6ded0;border-radius:4px;overflow:hidden;margin:7px 0}.meter span{display:block;height:100%;background:#ba8b31}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.metric{border-left:2px solid #d3a33f;padding:4px 0 4px 10px}.metric small{font-size:9px;color:#7a837b;display:block}.metric b{font-size:15px}.slot{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px dashed #889e94;margin:8px 0;background:#dfe7d44d;border-radius:4px}.slot span{font-size:9px;color:#758275;text-transform:uppercase}.slot b{font-size:11px;display:block;margin-top:4px}.slot.dragover{background:#f6c55270;border:2px dashed #293f37}.inventory-item{cursor:grab}.inventory-item:active{cursor:grabbing}.mini-art{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:#d7e0d5;border-radius:3px;font-size:22px}.outfit{display:flex;align-items:center;gap:10px}.outfit span{width:30px;height:36px;display:inline-block;clip-path:polygon(20% 0,38% 0,50% 10%,62% 0,80% 0,100% 25%,80% 42%,77% 100%,23% 100%,20% 42%,0 25%)}#scene-label{position:fixed;bottom:95px;right:42px;text-align:right;pointer-events:none;color:#fff7df;text-shadow:1px 2px 0 #203a3c;z-index:1}#scene-label h2{font-size:64px}#scene-label p{font-size:11px;letter-spacing:3px;font-weight:bold}#scene-label .serial{border-top:1px solid #f9e6b555;margin-top:10px;padding-top:9px;font-size:10px;letter-spacing:2px}footer{position:fixed;bottom:0;height:56px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 30px;color:var(--paper);background:#193038ed;font-size:10px;z-index:3;gap:16px}.key{display:inline-flex;background:#ffffff17;border:1px solid #ffffff35;border-bottom:2px solid #ffffff55;padding:3px 5px;border-radius:3px;font-size:9px;margin-right:4px;color:#fff4d5;min-width:19px;justify-content:center}#toast{position:fixed;bottom:76px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--paper);border:1px solid #f6c55277;border-radius:5px;padding:13px 22px;z-index:20;pointer-events:none;transition:.2s;max-width:85%;font-size:12px}#toast.visible{opacity:1;transform:translate(-50%,0)}#modal{position:fixed;inset:0;background:#0b1d25b0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(5px)}[hidden]{display:none!important}.dialog{width:540px;max-width:100%;max-height:90vh;overflow:auto;padding:30px;background:var(--paper);border:2px solid var(--ink);box-shadow:8px 8px 0 #10262c99;border-radius:5px}.dialog.wide{width:730px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.settings-row{display:flex;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.settings-row input{margin-left:auto;accent-color:#375e59;width:20px;height:20px}.settings-row span{flex:1}.settings-row small{display:block;font-size:10px;color:#6a7c72;margin-top:4px}#flight-hud{position:fixed;inset:105px 30px 125px;pointer-events:none;z-index:2;color:#f9f2d9}.hud-top{display:flex;justify-content:space-between}.mission-strip{max-width:330px;padding:16px;background:#1b343deb;border:1px solid #b8c7ae66;border-left:4px solid var(--yellow);pointer-events:auto}.mission-strip small{letter-spacing:2px;font-size:9px;color:#f3c651}.mission-strip h3{font-size:16px;margin:6px 0}.mission-strip p{font-size:11px;color:#cfdbca}.hud-readouts{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px}.gauge{background:#142f39e8;min-width:110px;padding:12px 18px;border:1px solid #aac2b64d;text-align:center;border-radius:3px}.gauge small{font-size:8px;letter-spacing:2px;color:#a8c0b9;display:block}.gauge b{font:30px Impact,sans-serif}.gauge em{font-size:9px;font-style:normal;margin-left:3px}.reticle{position:absolute;left:50%;top:42%;width:80px;transform:translate(-50%,-50%);border-top:2px solid #fff8;text-align:center;font-size:9px;padding-top:7px;text-shadow:1px 1px #123}.warning{position:absolute;top:25%;left:50%;transform:translateX(-50%);color:#fff0d4;background:#b4502fe0;padding:10px 20px;font-size:12px;letter-spacing:2px;font-weight:bold}.compass{padding:12px;background:#1b343dd9;border:1px solid #b8c7ae66;font-size:12px;height:fit-content;text-align:center}.compass small{display:block;font-size:8px;letter-spacing:1px;margin-bottom:6px}#flight-controls{position:fixed;left:30px;right:30px;bottom:69px;display:flex;justify-content:space-between;z-index:4;gap:10px}#flight-controls>div{display:flex;gap:5px}#flight-controls button{background:#f6efdceb;padding:11px 13px;min-width:44px}.touch-stick{display:none!important}.map-wrap{height:340px;background:#bed0b7;border:2px solid #385249;position:relative;overflow:hidden;margin-top:20px}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#516e551f 1px,transparent 1px),linear-gradient(90deg,#516e551f 1px,transparent 1px);background-size:30px 30px}.map-point{position:absolute;transform:translate(-50%,-50%);font-size:11px;text-align:center;font-weight:bold;white-space:nowrap}.map-point b{display:block;font-size:25px}.map-point small{background:#f7f0dcd9;padding:3px 6px;border:1px solid #49605050}.map-river{position:absolute;height:150%;width:35px;background:#77a7ac;left:62%;top:-20%;transform:rotate(23deg)}#webgl-error{position:fixed;right:30px;top:130px;width:310px;background:var(--paper);padding:25px;z-index:5;border:2px solid var(--ink)}.progress-row{display:flex;gap:9px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.progress-row .num{width:33px;height:33px;border:1px solid #7f9583;border-radius:50%;display:grid;place-items:center;font-size:12px}.progress-row.unlocked .num{background:var(--yellow)}.progress-row p{font-size:10px}.progress-row h3{font-size:12px}.control-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:11px}.control-list .key{background:#274541;color:#fff}.finish-art{font-size:60px;margin:12px 0;color:#cb952f}.drop-banner{position:fixed;top:100px;left:50%;background:var(--yellow);padding:10px 18px;z-index:10;border:2px dashed var(--ink);font-size:12px}body.flying header{background:linear-gradient(#f7f0dcbb,transparent)}
@media(max-width:950px){header{padding:16px 18px}#panel{left:87px;width:320px;padding:20px}#nav{left:16px}#scene-label{right:22px}#scene-label h2{font-size:45px}#careerbar .stat{min-width:64px;padding:8px 10px}.brand{font-size:25px}.brand-mark{font-size:32px}.touch-stick{display:flex!important}.gauge{min-width:80px;padding:10px}.gauge b{font-size:25px}}
@media(max-width:650px){header{height:72px;padding:10px 12px;gap:7px}.brand{font-size:23px;gap:5px}.brand small{font-size:6px;letter-spacing:1.7px}.brand-mark{font-size:26px}#careerbar{gap:4px}.stat{padding:7px!important;min-width:55px!important}.stat small{font-size:6px}.stat strong{font-size:11px}.stat.xp{display:none}header .icon{height:34px;min-width:34px;padding:6px}#panel,body.creating #panel{left:12px;right:12px;bottom:108px;top:auto;max-height:49vh;width:auto;padding:19px;box-shadow:3px 4px #192f3738}body.creating #panel{bottom:59px;max-height:48vh}h1{font-size:38px}h2{font-size:29px}#nav{left:12px;right:12px;bottom:59px;top:auto;flex-direction:row;justify-content:space-between;gap:5px}#nav button{height:43px;width:calc(100% / 6);font-size:17px;gap:0}#nav button small{font-size:6px}#scene-label{top:92px;right:18px;bottom:auto}#scene-label h2{font-size:32px}#scene-label p{font-size:8px;letter-spacing:1px}#scene-label .serial{font-size:7px;margin-top:5px;padding-top:5px}footer{padding:0 12px;font-size:8px;height:49px}footer .desktop-hint{display:none}.dialog{padding:22px}.hud-top{gap:8px}.mission-strip{max-width:240px;padding:10px}.mission-strip h3{font-size:12px}.mission-strip p{font-size:9px}.compass{font-size:10px;padding:9px}#flight-hud{inset:85px 12px 178px}.gauge{min-width:54px;padding:8px}.gauge b{font-size:21px}.gauge small{font-size:6px;letter-spacing:.5px}.gauge em{font-size:6px}.hud-readouts{gap:4px}#flight-controls{left:12px;right:12px;bottom:62px;flex-wrap:wrap}#flight-controls button{padding:10px;font-size:10px;min-width:40px}#flight-controls>div{gap:4px}.touch-stick{display:flex!important}#webgl-error{top:85px;right:12px;width:270px}.map-wrap{height:270px}body.flying #scene-label{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}body.reduced *{transition:none!important}
/* Graphic-novel edition: ink frames, warm paper, hatching and travel plates. */
:root{--ink:#101b26;--yellow:#ffc62f;--paper:#fff0cf;--line:#15253360}#panel,.dialog{border:2px solid var(--ink);box-shadow:6px 7px 0 #0c192876;background-color:var(--paper);background-image:repeating-linear-gradient(115deg,#542e0905 0,#542e0905 1px,transparent 1px,transparent 7px)}.card,.city-card{border:1.5px solid #16243499;box-shadow:2px 3px 0 #18293820}.brand{filter:drop-shadow(1px 1px 0 #ffe6a0)}button{border-color:#18303b99;border-radius:2px}button.primary{box-shadow:4px 4px 0 var(--ink)}h1,h2{text-shadow:1px 2px 0 #dfa63735}.hat-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.hat-choices button small{display:block;font-size:8px;margin-top:4px;opacity:.7}.route-summary{display:flex;gap:12px;justify-content:space-between;margin:20px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:13px 0}.route-summary span{font-size:8px;letter-spacing:.9px;flex:1}.route-summary b{font-size:15px;display:block;margin-top:6px;letter-spacing:0}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.city-card{position:relative;padding:17px;background:#fffcf077;overflow:hidden}.city-card h3{font:25px Impact,sans-serif;margin:6px 0}.city-card p{font-size:11px;color:#54635f;max-width:210px;min-height:49px}.city-card .eyebrow{font-size:8px}.city-card .badge{font-size:7px;margin:12px 0}.city-symbol{float:right;font-size:40px;line-height:1;margin-left:12px;color:#ba853b;text-shadow:2px 2px #1e3b3b}.forecast{padding:18px;border:2px solid #344c47;background:#d6e4c7;box-shadow:4px 4px #17263720}.forecast.danger{background:#f3c79d;border-color:#913c29;background-image:repeating-linear-gradient(135deg,#a4461909 0,#a4461909 2px,transparent 2px,transparent 9px)}.forecast h3{margin:10px 0}.forecast p{font-size:12px}.fuel-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.fuel-options button{padding:16px 8px}.fuel-options small{display:block;margin-top:8px}.mission-strip.travel{max-width:420px;border-left-color:#ffc62f}.drop-banner{transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:90%;white-space:nowrap;box-shadow:3px 4px #13293688}.drop-banner span{font-size:11px}#world{touch-action:none}.reserve{border-bottom:3px solid #bb862c}
@media(max-width:650px){.city-grid{grid-template-columns:1fr}.route-summary{gap:6px}.route-summary b{font-size:12px}.reserve{display:none}.drop-banner{top:76px;flex-wrap:wrap;width:max-content;max-width:95%;justify-content:center}.drop-banner span{width:100%;text-align:center}.drop-banner button{font-size:9px}.fuel-options{grid-template-columns:1fr 1fr}.mission-strip.travel{max-width:245px}}
