@font-face{font-family:Archivo;src:url('../explorer/assets/archivo.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:Newsreader;src:url('../explorer/assets/newsreader-italic.woff2') format('woff2');font-style:italic;font-weight:200 800;font-display:swap}
:root{font-family:Archivo,Arial,sans-serif;color:#f6f4ef;background:#111e28;--paper:#f6f4ef;--ink:#14171a;--red:#d8412f;--blue:#4a8fc7;--muted:#a8bac5}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible{outline:3px solid #72d9e2;outline-offset:3px}[hidden]{display:none!important}#app{max-width:1600px;padding:0 30px;margin:auto}header{height:68px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:12px;color:#f6f4ef;text-decoration:none;font:bold 29px Georgia}.brand span{font:9px monospace;letter-spacing:1.2px}.header-actions{display:flex;gap:8px}.header-actions button{color:#cedbe2;border:1px solid #ffffff2c;background:transparent;padding:9px 12px;border-radius:5px;font:10px monospace;min-height:40px}.mast{display:flex;align-items:end;justify-content:space-between;padding:26px 0 20px}.eyebrow{color:#82bfcd;font:9px monospace;letter-spacing:1.8px;margin:0 0 10px}h1{font-size:46px;line-height:1;letter-spacing:-1.8px;margin:0;font-weight:500}h1 em{font-family:Newsreader,Georgia,serif;font-weight:400;color:#b4dfdf}.mission-name{font:9px/1.7 monospace;color:#8da9bb;margin:0}.mission-name b{font:15px Georgia;color:#f6f4ef}.mission{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px solid #ffffff20;font-size:12px}.mission>span:first-child{font:9px monospace;color:#72d9e2;white-space:nowrap;letter-spacing:1px}.mission p{margin:0;line-height:1.5}.mission>span:last-child{margin-left:auto;font:8px monospace;color:#94a9b6;white-space:nowrap}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.world-wrap{min-width:0}#world{height:640px;position:relative;overflow:hidden;border:1px solid #516b79;border-radius:12px;background:#26536a;outline:none}#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}#markers{position:absolute;inset:0;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1px solid #ffffff80;background:#102936e8;border-radius:5px;padding:7px 10px;color:#e4f4ee;min-height:34px;font:9px monospace;letter-spacing:.5px;white-space:nowrap;box-shadow:0 3px 12px #0002}.marker::after{content:'';position:absolute;height:12px;top:100%;left:50%;border-left:1px solid #ffffff80}.marker:hover,.marker.active{background:#235367;border-color:#83dce4}.world-top,.world-bottom{position:absolute;left:16px;right:16px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;font:8px monospace;letter-spacing:1px;text-shadow:0 1px 5px #102936}.world-top{top:17px}.world-top span{background:#102936b5;padding:7px;border-radius:3px}.world-bottom{bottom:14px;align-items:center}.world-bottom>span{background:#102936ba;padding:8px;border-radius:3px}#overview{pointer-events:auto;background:#f6f4ef;color:#14171a;border:0;border-radius:4px;padding:10px;font:9px monospace;min-height:36px}#destinations{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 4px}#destinations button{background:#192e3b;border:1px solid #ffffff2a;color:#c8dbe3;border-radius:4px;padding:9px 11px;font:10px monospace;min-height:38px}#destinations button:hover{border-color:#78c7d8}#status{font:10px/1.6 monospace;color:#a8bac5;min-height:32px;margin:6px 0}#panel{background:#f6f4ef;color:#14171a;border-radius:12px;align-self:start;padding:22px;min-height:640px;max-height:790px;overflow:auto;scrollbar-width:thin}.panel-top{display:flex;justify-content:space-between;gap:12px;font:8px monospace;letter-spacing:.8px;color:#4a6271;border-bottom:1px solid #14171a22;padding-bottom:15px}#panel h2{font:29px/1.08 Georgia;margin:22px 0 15px;letter-spacing:-.6px}#panel-body{font-size:13px;line-height:1.7;color:#4a4d52}#panel-body p{margin:0 0 14px}#panel-body strong{color:#14171a}.note{background:#e7edf0;border:1px solid #4a8fc7;border-radius:6px;padding:12px;font-size:12px;line-height:1.6;margin:14px 0}.note.bad{background:#f3e6df;border-color:#d8412f}.note.good{background:#e2eee7;border-color:#507c69}#panel-actions{display:grid;gap:9px;margin-top:18px}#panel-actions button{text-align:left;border:1px solid #14171a2e;background:white;border-radius:6px;padding:12px 13px;line-height:1.4;font-size:12px;min-height:44px}#panel-actions button.primary,.primary{background:#172d3b;color:#fff;border:0;box-shadow:0 3px 0 #4a8fc7;border-radius:5px;padding:13px 16px;min-height:44px;font-size:12px}#panel-actions button.chosen{background:#dcecf2;border-color:#4a8fc7}#panel-actions button:hover{border-color:#4a8fc7}#panel-foot{font:9px/1.6 monospace;color:#6b6e73;margin-top:20px;padding-top:14px;border-top:1px solid #14171a20}.source-card{padding:12px 0;border-bottom:1px solid #14171a1a}.source-card small{display:block;color:#517084;font:9px monospace}.source-card b{display:block;margin:5px 0;font-size:12px}.source-card p{font-size:12px;margin:0!important}.log-entry{padding:10px 0;border-bottom:1px solid #14171a20;font-size:12px}.log-entry.success{border:1px solid #507c69;border-radius:4px;padding:10px;margin:6px 0}.log-entry.test{border:1px solid #d8412f;border-radius:4px;padding:10px;margin:6px 0}.ship-state{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:19px 0;margin-top:12px;gap:22px}.ship-state span{display:block;font:8px monospace;color:#87a5b9;letter-spacing:1px;margin-bottom:8px}.ship-state strong{font-size:11px;font-weight:400;line-height:1.5}footer{display:flex;justify-content:space-between;padding:19px 0 30px;font:8px monospace;letter-spacing:.6px;color:#87a5b9}footer a{color:#c8dbe3}.overlay{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);background:#f6f4ef;color:#14171a;border-radius:10px;padding:26px;text-align:center;width:min(380px,90%);box-shadow:0 15px 55px #03111b88}.overlay h2{font:29px/1.1 Georgia;margin:14px 0}.overlay p{font-size:12px;line-height:1.7;color:#4a4d52}.overlay small{display:block;font:9px/1.5 monospace;margin-top:15px;color:#6b6e73}.welcome{overflow:hidden}.welcome img{width:calc(100% + 52px);margin:-26px -26px 20px;display:block;height:145px;object-fit:cover;object-position:50% 15%}.welcome .primary{width:100%}.welcome .eyebrow{color:#3d7486;font-size:8px}.overlay .primary{cursor:pointer}#travel-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#102936e6;color:#fff;border:1px solid #7bbccd;border-radius:8px;padding:20px;text-align:center;font:13px/1.6 monospace;pointer-events:none;min-width:230px}dialog{background:#f6f4ef;border:0;border-radius:12px;max-width:430px;padding:28px}dialog::backdrop{background:#08131ac9}dialog h2{font:28px Georgia}dialog p{font-size:13px;line-height:1.6}dialog>div{display:flex;gap:10px}dialog button{padding:12px;border:1px solid #14171a30;border-radius:4px}button:disabled{opacity:.45}.error{position:absolute;inset:15%;z-index:20;background:#f6f4ef;color:#14171a;padding:25px;line-height:1.6}
@media(min-width:1500px){#world{height:720px}#panel{min-height:720px}}@media(max-width:1050px){#app{padding:0 18px}.play-layout{grid-template-columns:minmax(0,1fr) 290px}#panel{padding:18px}#world{height:570px}#panel{min-height:570px}.world-top{font-size:7px}.world-top span:last-child{display:none}}@media(max-width:760px){#app{padding:0 12px}header{height:60px}.brand span{font-size:7px;letter-spacing:0}.header-actions{gap:4px}.header-actions button{font-size:8px;padding:8px;min-height:40px}.mast{padding:22px 0 17px}h1{font-size:36px}.eyebrow{font-size:7px;letter-spacing:1px}.mission-name{font-size:7px}.mission-name b{font-size:12px}.mission{flex-wrap:wrap;gap:7px;padding:12px 0}.mission p{order:3;width:100%;font-size:11px}.play-layout{grid-template-columns:1fr;gap:8px}#world{height:480px}#panel{min-height:0;max-height:none;padding:20px}#panel h2{font-size:27px;margin-top:17px}.ship-state{grid-template-columns:1fr 1fr;gap:18px}footer{font-size:6px;gap:10px}.marker{font-size:8px;padding:6px 8px}#destinations button{font-size:9px;min-height:42px}#status{min-height:0}.world-top{left:10px;right:10px}.world-bottom{left:10px;right:10px;font-size:7px}.world-bottom>span{max-width:66%;line-height:1.4}.welcome img{height:120px}.welcome{padding:22px}.welcome img{width:calc(100% + 44px);margin:-22px -22px 16px}.welcome h2{font-size:27px}.welcome p{font-size:11px}}
