:root{color:#f5f8ff;font-synthesis:none;text-rendering:optimizelegibility;--panel:#111b30;--line:#304565;--muted:#a9b8d2;--blue:#91b4ff;--mars:#f28758;--slot:min(8vh,66px);--slot-gap:7px;background:#080d1b;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% -25%,#1c3970 0,#0000 55%),linear-gradient(#101a30,#080d1b 70%);min-width:360px;min-height:100vh;margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #fff}.app-shell{grid-template-rows:58px minmax(0,1fr) 146px 29px;gap:9px;width:min(1920px,100%);height:100dvh;min-height:700px;margin:0 auto;padding:0 20px;display:grid}.topbar{border-bottom:1px solid #283a5c;grid-template-columns:1fr 1fr 1fr;align-items:center;min-width:0;display:grid}.brand{color:#f4f7ff;justify-self:start;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-symbol{background:#17294e;border:1px solid #668bd0;border-radius:10px;flex:none;grid-template-rows:repeat(2,7px);grid-template-columns:repeat(2,7px);place-content:center;gap:3px;width:34px;height:34px;display:grid;box-shadow:inset 0 0 14px #608bda22}.brand-symbol i{background:#a9c4ff;border-radius:50%;width:7px;height:7px}.brand-name{letter-spacing:.13em;white-space:nowrap;font-size:13px;font-weight:900}.brand-name span{color:#91b4ff;margin-left:4px;font-weight:700}.page-title{letter-spacing:.06em;white-space:nowrap;justify-self:center;margin:0;font-size:clamp(18px,2vw,26px);font-weight:850;line-height:1}.topbar-right{justify-self:end;align-items:center;gap:14px;display:flex}.connection{color:#d4def0;letter-spacing:.09em;white-space:nowrap;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.connection i{background:#60e2b0;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px #60e2b088}.connection.offline i{background:#ffbf5b}.new-match{letter-spacing:.08em;white-space:nowrap;background:linear-gradient(#1c3156,#142541);border:1px solid #4b6da9;border-radius:8px;height:42px;padding:0 16px;font-size:11px;font-weight:850}.new-match:hover:not(:disabled){background:#294878;border-color:#a8c7ff}.new-match:disabled{opacity:.58;cursor:wait}.new-match span{color:#b2ccff;margin-left:8px;font-size:17px}.error-banner{z-index:5;color:#ffe0de;background:#431f2a;border:1px solid #9b4d50;border-radius:9px;max-width:min(680px,90vw);padding:10px 14px;font-size:14px;position:absolute;top:64px;left:50%;transform:translate(-50%)}.error-banner button{color:inherit;background:0 0;border:0;margin-left:12px;font-size:19px}.map-window{background:linear-gradient(145deg,#111e36,#0e172a);border:1px solid #344f7b;border-radius:15px;grid-template-rows:25px minmax(0,1fr);gap:7px;min-height:0;padding:10px 15px 12px;display:grid;box-shadow:0 8px 24px #0004,inset 0 1px #ffffff0b}.window-heading{color:#b9c8e2;letter-spacing:.14em;justify-content:space-between;align-items:center;font-size:11px;font-weight:850;display:flex}.map-coordinate{color:#c2d0e8;align-items:center;gap:9px;font-size:10px;display:flex}.map-coordinate b{color:#c1d5ff;font-size:16px}.map-coordinate i{color:#647899;font-style:normal}.map-layout{grid-template-rows:minmax(0,1fr) 22px;grid-template-columns:30px minmax(0,1fr);gap:2px 7px;min-height:0;padding:4px 12px 0 7px;display:grid;position:relative}.map{gap:var(--slot-gap);grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));align-self:stretch;min-height:0;display:grid}.cell{isolation:isolate;background:#45291f;border:1px solid #6e5544;border-radius:8px;place-items:center;min-width:0;min-height:0;animation:.25s both reveal;display:grid;position:relative;overflow:hidden}.tile-art{z-index:0;filter:saturate(.94)contrast(1.04);background-image:url(/assets/mars-terrain-atlas-Cl3Bplzi.png);background-repeat:no-repeat;background-size:200% 200%;position:absolute;inset:0}.tile-plain{background-position:0 0}.tile-ridge{background-position:100% 0}.tile-unknown{filter:saturate(.72)brightness(.94);background-position:0 0}.tile-beacon{background-position:100% 100%}.cell:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#10172922,#11182750);position:absolute;inset:0}.cell.unknown:after{background:linear-gradient(#0c173a50,#10182b77)}.cell.rover-cell{border:3px solid #d9e6ff;box-shadow:0 0 0 2px #15284e,0 0 22px #9ec1ff9c}.tile-icon{z-index:2;filter:drop-shadow(0 3px 3px #090b16);place-items:center;width:min(58%,52px);height:min(58%,52px);display:grid}.tile-icon svg{width:100%;height:100%;display:block;overflow:visible}.rover-icon svg{filter:drop-shadow(0 0 7px #deebff)}.rover-wheel{fill:#111827;stroke:#e7efff;stroke-width:2px}.rover-axle{fill:none;stroke:#d9e5fa;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.rover-chassis{fill:#c5d9ff;stroke:#fff;stroke-width:1.5px;stroke-linejoin:round}.rover-panel{fill:#29436e;stroke:#e5efff;stroke-width:1px}.rover-mast,.rover-antenna{fill:none;stroke:#f5f8ff;stroke-width:2px;stroke-linecap:round}.rover-camera{fill:#69e2db;stroke:#fff;stroke-width:1px}.beacon-label{z-index:2;color:#fff2ce;letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 3px #000;background:#21150dc9;border:1px solid #ffcf77;border-radius:5px;padding:3px 7px;font-size:clamp(8px,.8vw,12px);font-weight:900;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.map-axis{color:#d0dbee;text-align:center;font-size:12px;font-weight:850;display:grid}.axis-y{grid-area:1/1;grid-template-rows:repeat(7,1fr);align-items:center}.axis-x{grid-area:2/2;grid-template-columns:repeat(7,1fr);align-items:center}.info-grid{grid-template-columns:1.25fr 1fr 1fr 1.3fr;gap:10px;min-height:0;display:grid}.info-window{background:linear-gradient(145deg,#162745,#111c32);border:1px solid #35527e;border-radius:11px;min-width:0;min-height:0;padding:13px 15px;overflow:hidden;box-shadow:0 7px 20px #0003}.info-window h2{color:#d5e0f3;letter-spacing:.13em;margin:0 0 7px;font-size:11px;font-weight:850}.how-window>p{color:#e2e9f5;margin:0 0 7px;font-size:13px}.say-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.say-list b{color:#f1f5fc;background:#0e1a30;border:1px solid #334b70;border-radius:7px;align-items:center;min-height:32px;padding:6px 8px;font-size:clamp(11px,1vw,14px);line-height:1.12;display:flex}.signal-reading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.signal-reading>b{font-size:clamp(25px,3vw,38px);line-height:1}.signal-reading>span{color:#c2d0e8;text-align:right;font-size:12px}.signal-meter{background:#273957;border-radius:8px;height:8px;margin:8px 0 7px;overflow:hidden}.signal-meter i{background:linear-gradient(90deg,#68d9d5,#b0f2dc);border-radius:8px;height:100%;transition:width .25s;display:block}.signal-trend{color:#d0deef;letter-spacing:.08em;align-items:center;gap:7px;font-size:11px;font-weight:850;display:flex}.signal-trend b{color:#b9d0ff;background:#20375c;border-radius:50%;place-items:center;width:22px;height:22px;font-size:16px;display:grid}.trend-closer b{color:#78efcb;background:#17453f}.trend-farther b{color:#ffaaa0;background:#502b35}.mission-state{letter-spacing:.04em;align-items:center;gap:9px;font-size:clamp(12px,1.1vw,16px);font-weight:900;display:flex}.mission-state i{background:#ffd15a;border-radius:50%;flex:none;width:11px;height:11px;box-shadow:0 0 0 4px #ffd15a25,0 0 14px #ffd15a66}.mission-state.found i{background:#55e1ad;box-shadow:0 0 0 4px #55e1ad25,0 0 14px #55e1ad66}.mission-state.stranded i{background:#ff6a69;box-shadow:0 0 0 4px #ff6a6925,0 0 14px #ff6a6966}.status-facts{color:#aebfda;letter-spacing:.1em;justify-content:space-between;gap:6px;margin-top:15px;font-size:9px;font-weight:850;display:flex}.status-facts b{color:#f2f6ff;letter-spacing:0;margin-top:3px;font-size:18px;display:block}.mission-log{gap:7px;display:grid}.mission-log>div{color:#becce1;grid-template-columns:24px minmax(0,1fr);gap:7px;font-size:11px;line-height:1.3;display:grid}.mission-log small{color:#9fbdf3;font-size:10px;font-weight:900}.mission-log .latest{color:#fff}.site-footer{color:#91a4c3;letter-spacing:.12em;border-top:1px solid #2d405f;justify-content:space-between;align-items:center;font-size:9px;font-weight:850;display:flex}.site-footer b{color:#83a5e9;margin:0 4px}.loading{color:#c5d1e8;letter-spacing:.1em;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;font-size:13px;display:flex}.loading .brand-mark{width:58px;height:58px;font-size:27px}.loading p{min-height:16px}.loading button{color:#fff;background:#1c3156;border:1px solid #4b6da9;border-radius:8px;min-height:44px;padding:0 18px;font-weight:800}@keyframes reveal{0%{opacity:.55;transform:scale(.975)}to{opacity:1;transform:scale(1)}}@media (width<=900px){:root{--slot:min(8vw,60px)}.app-shell{grid-template-rows:58px minmax(470px,1fr) auto 29px;height:auto;min-height:100dvh}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px}}@media (width<=560px){:root{--slot:min(10vw,43px);--slot-gap:5px}.app-shell{grid-template-rows:56px minmax(420px,auto) auto 28px;gap:8px;min-height:100dvh;padding:0 10px}.brand-symbol{width:29px;height:29px}.brand-name{letter-spacing:.08em;font-size:9px}.page-title{letter-spacing:0;font-size:12px}.topbar-right{gap:7px}.connection{font-size:0}.connection i{width:10px;height:10px}.new-match{height:36px;padding:0 8px;font-size:8px}.map-window{grid-template-rows:22px minmax(0,1fr);padding:8px}.map-layout{grid-template-rows:minmax(0,1fr) 19px;grid-template-columns:21px minmax(0,1fr);gap:2px;padding:2px 2px 0}.map{gap:var(--slot-gap)}.cell{border-radius:5px}.map-coordinate{gap:4px;font-size:8px}.map-coordinate b{font-size:12px}.info-grid{grid-auto-rows:120px;gap:7px}.info-window{padding:10px}.info-window h2{font-size:9px}.how-window>p{font-size:10px}.say-list{gap:4px}.say-list b{min-height:29px;padding:4px;font-size:9px}.signal-reading>b{font-size:25px}.signal-reading>span,.signal-trend{font-size:9px}.mission-state{font-size:10px}.status-facts{margin-top:12px;font-size:7px}.status-facts b{font-size:14px}.mission-log>div{font-size:9px}.site-footer{letter-spacing:.08em;font-size:6px}.site-footer span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.result-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050a15bb;place-items:center;padding:20px;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.result-dialog{text-align:center;background:radial-gradient(at 50% 0,#243d69,#111c32 64%);border:1px solid #6387c4;border-radius:18px;width:min(480px,95vw);padding:26px 30px 22px;animation:.22s cubic-bezier(.2,.85,.2,1) pop-in;box-shadow:0 30px 100px #000b,inset 0 1px #ffffff20}.result-mark{color:#ffd15a;background:#1b2d4e;border:1px solid #637ca6;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 10px;font-size:30px;font-weight:900;display:grid}.result-mark.win{color:#ff7771;background:#472530;border-color:#dc6d70}.result-kicker{color:#a9c2eb;letter-spacing:.17em;margin:0;font-size:10px;font-weight:900}.result-dialog h2{color:#f5f8ff;margin:8px 0;font-size:25px}.result-copy{color:#ccd7e9;margin:0 0 14px;font-size:14px;line-height:1.4}.result-score{color:#c8d5e9;letter-spacing:.1em;background:#0d182b;border:1px solid #344c70;border-radius:9px;justify-content:center;align-items:center;gap:16px;margin:14px 0;padding:10px;font-size:10px;display:flex}.result-score span{align-items:center;gap:7px;display:flex}.result-score b{color:#fff;font-size:16px}.result-score i{color:#778ba9;font-style:normal}.result-voice{text-align:left;background:#0e1a30;border:1px solid #334b70;border-radius:8px;align-items:center;gap:9px;max-width:390px;margin:0 auto 12px;padding:7px 9px;display:flex}.result-voice .voice-glyph{color:#e3edff;background:#203b68;border:1px solid #5576ae;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid}.result-voice div{gap:2px;display:grid}.result-voice small{color:#9fbdf3;letter-spacing:.12em;font-size:8px;font-weight:900}.result-voice b{white-space:nowrap;font-size:13px}.result-new-match{letter-spacing:.1em;background:linear-gradient(#3569b4,#234776);border:1px solid #9dbdf7;border-radius:9px;width:100%;height:49px;font-size:12px;font-weight:900}.result-new-match span{color:#cfdeff;margin-left:8px;font-size:17px}.result-review{color:#adc1e1;letter-spacing:.12em;background:0 0;border:0;margin-top:10px;font-size:10px;font-weight:850}.result-review:hover{color:#fff}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}
