:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#07110f;color:#eef8f1;--ink:#eef8f1;--muted:#94aa9f;--line:#213d34;--panel:#0c1b17;--panel2:#10251e;--green:#7cf3b2;--orange:#ffb36c;--red:#ff6f76;--blue:#72c9ff;--violet:#c5a7ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 86% -8%,#194536 0,transparent 32rem),linear-gradient(145deg,#07110f,#091611 55%,#06100e);min-height:100vh}.masthead{min-height:76px;padding:14px clamp(18px,4vw,62px);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:#07110fe8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #459b73;border-radius:13px;background:linear-gradient(145deg,#153f31,#0b1a16);color:var(--green);font:800 20px Georgia}.brand b,.brand small{display:block}.brand small{color:var(--muted);font-size:10px;margin-top:3px;letter-spacing:.06em;text-transform:uppercase}.masthead nav{display:flex;gap:18px}.masthead nav a{color:#c5d9ce;text-decoration:none;font-size:12px;font-weight:700}.live{display:flex;align-items:center;gap:7px;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}main{width:min(1520px,calc(100% - 40px));margin:auto;padding:54px 0 80px}.intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:48px;align-items:end;margin-bottom:24px}.eyebrow{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em}.intro h1{font:500 clamp(44px,6vw,88px)/.94 Georgia,serif;letter-spacing:-.045em;margin:14px 0 24px}.intro h1 em{color:var(--green);font-weight:400}.intro p:not(.eyebrow){max-width:800px;color:#a9c0b3;line-height:1.75}.mission-controls{padding:22px;background:#0a1814;border:1px solid var(--line);border-radius:22px}.control-row{display:flex;gap:9px;flex-wrap:wrap}.mission-controls button,.map-panel button,.camera-toolbar button{border:1px solid #315347;border-radius:10px;background:#10251e;color:#dcebe3;padding:10px 14px;font-weight:750;cursor:pointer}.mission-controls .primary{background:var(--green);color:#082016;border-color:var(--green)}.mission-controls .accent{border-color:#6dbef0;color:#a9dcff}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mission-controls label{display:grid;gap:7px;color:var(--muted);font-size:11px}.mission-controls select{appearance:none;border:1px solid #315347;background:#0c1b17;color:var(--ink);padding:11px;border-radius:10px}.algorithm-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.algorithm{appearance:none;text-align:left;color:var(--ink);border:1px solid var(--line);background:linear-gradient(145deg,#0d1e19,#091511);border-radius:17px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;cursor:pointer}.algorithm>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#132b24;color:var(--green);font:800 15px Georgia}.algorithm b,.algorithm small{display:block}.algorithm b{font-size:12px}.algorithm small{color:var(--muted);font-size:9px;margin-top:5px;line-height:1.35}.algorithm em{font-style:normal;color:var(--muted);font-size:10px}.algorithm.active{border-color:#4f9f7d;box-shadow:inset 0 0 0 1px #4f9f7d33}.algorithm.localisation{cursor:default}.algorithm.localisation>span{color:var(--violet)}.lab-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.panel{background:linear-gradient(145deg,#0d1e19,#091511);border:1px solid var(--line);border-radius:22px;padding:20px;overflow:hidden;box-shadow:0 22px 70px #0004}.panel>header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.panel header small{color:var(--green);letter-spacing:.12em;font-weight:800;font-size:9px}.panel h2{font-size:18px;margin:5px 0}.panel header>span{color:var(--muted);font-size:10px}.state{padding:7px 10px;border-radius:99px;border:1px solid #386451;color:var(--green)!important}.world-panel{grid-row:span 2}.world-panel canvas{width:100%;height:590px;border-radius:15px;background:#07100e;display:block;touch-action:none}.perception-panel canvas{width:100%;height:300px;background:#07100e;display:block}.world-hud{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding-top:12px}.world-hud kbd{display:inline-grid;place-items:center;min-width:23px;height:23px;border:1px solid #3c5e52;border-radius:5px;margin-left:4px}.safety-explanation{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;margin-top:10px;border-radius:10px;border:1px solid #315347;font-size:10px}.safety-explanation span{color:var(--muted);text-align:right}.safety-explanation.clear b{color:var(--blue)}.safety-explanation.retreat b{color:var(--orange)}.safety-explanation.blocked b{color:var(--red)}.touch-controls{display:none}.camera-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:9px}.camera-toolbar button{padding:7px 10px;font-size:9px}.camera-toolbar button.active{background:var(--green);color:#062016;border-color:var(--green)}.camera-toolbar span{margin-left:auto;color:var(--muted);font-size:9px}.camera-frame{position:relative;border:1px solid #244439;border-radius:15px;overflow:hidden;background:#07100e}.reticle{position:absolute;inset:50% auto auto 50%;width:30px;height:30px;border:1px solid #d5f7e366;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.reticle:before,.reticle:after{content:"";position:absolute;background:#d5f7e366}.reticle:before{width:42px;height:1px;left:-7px;top:14px}.reticle:after{height:42px;width:1px;top:-7px;left:14px}.camera-hud{position:absolute;left:9px;right:9px;bottom:8px;display:flex;justify-content:space-between;color:#d9eee2;font:700 9px ui-monospace,monospace;text-shadow:0 1px 4px #000}.detections{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.detections span{font-size:10px;padding:6px 8px;border-radius:99px;background:#183328;color:#c8f5db}.boundary{font-size:10px;color:var(--muted);line-height:1.55}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.metrics div{padding:12px;background:#10251e;border:1px solid #244439;border-radius:13px}.metrics span,.metrics small{display:block;color:var(--muted);font-size:9px}.metrics strong{display:inline-block;font-size:21px;margin:5px 4px 2px 0}.safety{display:flex;justify-content:space-between;padding-top:15px;margin-top:15px;border-top:1px solid var(--line);font-size:11px}.safety b{color:var(--blue)}.map-panel canvas{width:100%;height:350px;display:block;background:#07100e;border-radius:15px}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:9px}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.legend .free{background:#163b31}.legend .occupied{background:#ff9c66}.legend .unknown{background:#14211d}.legend .path{background:#7cf3b2}.legend .planned{background:#72c9ff}.legend .particle{background:#c5a7ff}.graph-panel{grid-column:1/-1}.node-graph{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 10px;overflow-x:auto}.node{min-width:112px;padding:14px;border:1px solid #315347;border-radius:14px;background:#10251e;text-align:center;font-size:12px;color:var(--green)}.node small{color:var(--muted)}.node.localisation{color:var(--violet)}.node-graph>i{width:28px;height:1px;background:linear-gradient(90deg,var(--line),var(--green));flex:0 0 auto}.graph-panel p{color:var(--muted);font-size:11px;text-align:center}.explainers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.explainers article{padding:21px;border:1px solid var(--line);border-radius:18px;background:#0a1814}.explainers span{font:700 10px ui-monospace;color:var(--green)}.explainers h3{font:500 18px Georgia;margin:13px 0 9px}.explainers p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}.evidence{margin-top:18px;border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;justify-content:space-between;gap:34px;align-items:center;background:#0a1814}.evidence h2{margin:5px 0}.evidence ul{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none}.evidence li{padding:12px;border-left:2px solid var(--green);background:#10251e;color:#b9d0c4;font-size:11px}footer{border-top:1px solid var(--line);padding:32px clamp(20px,4vw,62px);display:flex;justify-content:space-between;gap:36px;color:var(--muted);font-size:11px}footer b,footer span{display:block}footer b{color:var(--ink);margin-bottom:6px}footer p{max-width:650px;margin:0;text-align:right;line-height:1.6}@media(max-width:1080px){.masthead nav{display:none}.intro{grid-template-columns:1fr}.lab-grid{grid-template-columns:1fr}.world-panel{grid-row:auto}.graph-panel{grid-column:auto}.algorithm-deck{grid-template-columns:1fr}.explainers{grid-template-columns:1fr 1fr}.evidence{align-items:start;flex-direction:column}.evidence ul{grid-template-columns:1fr 1fr;width:100%}}@media(max-width:620px){.masthead{padding:12px 16px}.live{display:none}main{width:min(100% - 24px,1520px);padding-top:34px}.intro h1{font-size:46px}.control-grid{grid-template-columns:1fr}.mission-controls button{flex:1}.algorithm{grid-template-columns:auto 1fr}.algorithm em{grid-column:2}.panel{padding:14px;border-radius:17px}.world-panel canvas{height:430px}.perception-panel canvas,.map-panel canvas{height:270px}.world-hud{display:block;line-height:2}.safety-explanation{display:block}.safety-explanation span{display:block;text-align:left;margin-top:5px}.touch-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}.touch-controls button{border:1px solid #315347;background:#10251e;color:var(--ink);padding:11px 4px;border-radius:8px}.metrics{grid-template-columns:1fr 1fr}.metrics strong{font-size:20px}.node-graph{justify-content:flex-start}.explainers{grid-template-columns:1fr}.evidence ul{grid-template-columns:1fr}footer{flex-direction:column}footer p{text-align:left}}
