*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071519;color:#f3f4ed;font-family:Inter,Arial,sans-serif;font-size:16px}button,input,select,a{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;border:1px solid #ffffff32;border-radius:6px;background:#10252b88;padding:11px 15px;min-height:44px;transition:background .18s,border-color .18s}button:hover{background:#29434a;border-color:#c8dcd9}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #bcf4d7;outline-offset:4px}main{width:100%;height:100%;outline:none;position:relative}#world{display:block;width:100%;height:100%}header{position:absolute;top:0;left:0;right:0;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#06141ab0,transparent);gap:12px;pointer-events:none}.brand{display:flex;gap:13px;align-items:center;letter-spacing:.25em;font-size:21px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:.16em;line-height:2.5;color:#d3e0df}.sigil{font-size:38px;color:#b7efd6;font-weight:300}.header-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}#perf{font-size:12px;letter-spacing:.06em;color:#c6d9d6;margin-right:10px}#menuBtn span{padding-left:15px}.glass{background:linear-gradient(110deg,#06171dcc,#10252b75);border:1px solid #d2e4d726;backdrop-filter:blur(12px);border-radius:8px}#mission{position:absolute;top:125px;left:32px;padding:21px 24px;width:310px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em;color:#bad4c9}h1{font-size:26px;font-weight:400;letter-spacing:-.035em;margin:12px 0 8px}#mission p{font-size:14px;line-height:1.5;color:#d5dfdc;margin:0}#progress{height:2px;background:#ffffff20;margin-top:16px;overflow:hidden}#progress i{display:block;height:100%;width:0;background:#b7efd6}#compass{position:absolute;top:116px;left:50%;transform:translateX(-50%);display:flex;gap:55px;align-items:center;text-shadow:0 2px 8px #000}#compass span{font-size:12px;opacity:.6}#compass b{font-size:14px;letter-spacing:.15em;font-weight:400}#reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:10px;align-items:center;opacity:.65;pointer-events:none}#reticle i{width:21px;height:1px;background:#fff;box-shadow:0 1px 3px #000}#reticle span{width:5px;height:5px;border:1px solid white;border-radius:50%}#telemetry{position:absolute;left:32px;bottom:135px;display:flex;gap:42px;text-shadow:0 2px 10px #07151b}#telemetry div{display:flex;flex-direction:column}#telemetry span{font-size:11px;letter-spacing:.1em;color:#d9e1dc}#telemetry strong{font-size:44px;font-weight:300;line-height:1.35;font-variant-numeric:tabular-nums}#telemetry small{font-size:12px;color:#d2deda}footer{position:absolute;bottom:0;left:0;right:0;padding:22px 32px;background:linear-gradient(transparent,#041216df);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.flight-status{display:flex;flex-direction:column;gap:7px;font-size:12px;letter-spacing:.13em}.flight-status span:last-child{font-size:10px;color:#c0d0cf}.tools{display:flex;gap:6px}.tools button{font-size:13px;background:#05171e75;padding:10px 12px}kbd{font:10px Arial;margin-left:9px;border:1px solid #ffffff35;padding:3px;border-radius:3px;color:#bfcfca}#helpHint{font-size:12px;color:#c1d4d4;flex-basis:100%;text-align:right}#lesson{position:absolute;right:32px;top:125px;width:300px;padding:23px}#lesson h2{font-weight:400;font-size:22px;line-height:1.3}#lesson p{font-size:14px;line-height:1.65;color:#d0ddd8}#closeLesson{position:absolute;right:4px;top:4px;background:none;border:0;font-size:22px;padding:3px;min-width:32px}#toast{position:absolute;left:50%;top:30%;transform:translateX(-50%);font-size:18px;text-align:center;background:#0a2026d9;border:1px solid #abddc744;padding:14px 25px;border-radius:6px;opacity:0;transition:opacity .25s;pointer-events:none;max-width:80%}#toast.show{opacity:1}#targetIndicator{position:absolute;color:#cef6d9;text-shadow:0 2px 4px black;font-size:20px;pointer-events:none}#targetIndicator span{display:block;font-size:12px}dialog{color:#edf4ef;background:#0b1b21f5;border:1px solid #b9dbcf40;border-radius:15px;padding:28px;width:min(710px,94vw);max-height:92dvh;overflow:auto;box-shadow:0 25px 100px #0008;backdrop-filter:blur(24px)}dialog::backdrop{background:#02101565;backdrop-filter:blur(5px)}.deck-top{display:flex;align-items:center;justify-content:space-between}.deck-top button{border:0;background:none;font-size:25px;padding:0;width:40px}dialog h2{font-size:36px;font-weight:350;letter-spacing:-.04em;margin:14px 0}.sub{color:#a6bbb9;margin:0 0 22px;font-size:15px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-grid button{text-align:left;min-height:88px;padding:16px;background:#ffffff03}.mode-grid b{display:block;font-size:16px;font-weight:500}.mode-grid span{display:block;font-size:13px;color:#a9bfba;margin-top:9px}.mode-grid .selected{border-color:#9fe3c4;background:#a9e8c30e}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.settings-grid label{font-size:13px;color:#b6cfc7;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.settings-grid select{width:100%;background:#162b32;color:#ebf4ef;border:1px solid #cee3db29;border-radius:5px;padding:12px;font-size:14px}.settings-grid input{width:100%;accent-color:#b8edd2}details{border-top:1px solid #ffffff15;padding:15px 0}summary{cursor:pointer;color:#c3d7d0;font-size:14px}details p{color:#a7bdb7;font-size:13px;line-height:1.6}.deck-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:16px}.deck-bottom span{font-size:13px;color:#a8c4b6}#launch,.primary{background:#c6f1d8;color:#102822;border-color:#c6f1d8;font-weight:600;padding:14px 24px}#launch span{margin-left:30px;color:#102822}.export-actions{display:flex;flex-wrap:wrap;gap:8px}.export-actions>*{font-size:13px}.export-actions a{color:#bcf0da;padding:12px}#labList{display:grid;gap:12px;margin:20px 0}#labList div{font-size:13px;color:#a8c4bb;line-height:1.6}#labList b{color:#eff6f0}#labList a{color:#b8e8d8}.boundary{border-left:2px solid #b79b71;padding-left:12px}#pause{max-width:420px;text-align:center}#pause button{display:block;width:100%;margin-top:10px}#pause p{color:#b1c4bd;font-size:14px}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#071519;z-index:10}#loading h2{font-size:25px;font-weight:400}#loading p{font-size:14px;color:#a9bdb7}#touchControls{display:none}.replay-label{color:#c7e9d4}
@media(pointer:coarse){#touchControls{display:block}#joystick{position:absolute;bottom:146px;left:26px;width:112px;height:112px;border:1px solid #fff5;border-radius:50%;background:#08202935;touch-action:none}#joystick div{position:absolute;top:35px;left:35px;width:40px;height:40px;background:#ddf5ec55;border:1px solid #d6f9e9;border-radius:50%}#joystick span{position:absolute;bottom:-22px;left:30px;font-size:10px;letter-spacing:.15em}.touch-right{position:absolute;bottom:144px;right:24px;display:grid;grid-template-columns:50px 50px;gap:8px;touch-action:none}.touch-right label{grid-column:span 2;font-size:10px;letter-spacing:.1em}.touch-right input{width:110px;display:block;accent-color:#cdf2db;height:28px}#brakeBtn{grid-column:span 2;font-size:11px}#telemetry{bottom:295px}#helpHint,kbd{display:none}footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}}
@media(max-width:700px){header{padding:15px 16px}.brand{font-size:16px;gap:7px}.brand small{font-size:8px}.sigil{font-size:29px}#perf,#sound{display:none}#menuBtn{font-size:12px;padding:8px 10px}#menuBtn span{padding-left:7px}#mission{top:88px;left:16px;padding:13px 15px;width:220px}#mission h1{font-size:21px;margin:8px 0}#mission p{font-size:12px}#mission .eyebrow{font-size:10px}#compass{top:87px;left:auto;right:16px;transform:none;gap:8px}#compass span{display:none}#compass b{font-size:12px}#telemetry{left:18px;gap:22px}#telemetry strong{font-size:29px}#telemetry span{font-size:9px}#telemetry small{font-size:10px}footer{padding:16px;gap:14px}.tools{width:100%;justify-content:space-between}.tools button{padding:8px 10px;font-size:12px}.flight-status{font-size:10px}#lesson{right:16px;top:210px;width:250px;padding:18px}#lesson h2{font-size:19px}#lesson p{font-size:13px}dialog{padding:20px}dialog h2{font-size:29px}.mode-grid b{font-size:14px}.mode-grid span{font-size:12px}.mode-grid button{padding:12px}.deck-bottom>span{max-width:130px}#launch{padding:14px 19px}#launch span{margin-left:10px}}
@media(max-height:540px){#mission{top:85px;padding:10px 16px}#mission h1{font-size:19px;margin:6px 0}#mission p,#progress,#weatherLabel,#helpHint{display:none}#telemetry{bottom:95px;left:175px}#telemetry strong{font-size:27px}#joystick,.touch-right{bottom:85px}#lesson{top:90px;right:20px}footer{padding:12px 22px}.tools{width:auto}#compass{top:88px}}

/* Mini AI Labs cover artwork, kept whole on every display. */
.deck-cover{display:block;width:100%;height:220px;object-fit:contain;background:#000;border-radius:8px;margin:0 0 18px}
@media(max-width:700px),(max-height:650px){.deck-cover{height:150px;margin-bottom:12px}}

#craftDescription{color:#c4d9d1;font-size:14px;line-height:1.6;margin:0 0 20px;min-height:2.8em}#flightCaution{position:absolute;left:50%;top:61%;transform:translateX(-50%);color:#ffe1a6;background:#24180cdd;border:1px solid #d4b98b66;padding:9px 14px;border-radius:5px;font-size:14px;pointer-events:none;white-space:nowrap}button:disabled{opacity:.4;cursor:default}
