*{box-sizing:border-box}html,body{margin:0;background:#0e191f;color:#edf1e7;font:15px/1.5 Arial,Helvetica,sans-serif}a{color:inherit}button,input,select{font:inherit;accent-color:#ef9a67}button,select{color:inherit;background:#1c3039;border:1px solid #46606a;border-radius:4px;padding:9px 12px}button{cursor:pointer}button:disabled,input:disabled,select:disabled{opacity:.45;cursor:default}button[aria-pressed=true]{border-color:#ef9a67;color:#ffb688;background:#3b302c}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #f8b075;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;background:#fff;color:#132831;z-index:20;padding:15px}.skip:focus{top:12px}header{padding:23px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a4148}.brand{font-size:23px;font-weight:700;letter-spacing:-.6px;text-decoration:none}.brand span{color:#ee8c61}nav{display:flex;gap:25px;font-size:13px}nav a{text-decoration:none}main{max-width:1720px;margin:auto;padding:28px 3vw 60px}.intro{margin-bottom:22px}.eyebrow{font:11px/1.5 monospace;color:#88cdd2;letter-spacing:2px;margin:0 0 8px}h1{font-size:clamp(32px,3vw,54px);font-weight:500;letter-spacing:-1.8px;margin:0}h1 em{font-style:normal;color:#f1a06c}.intro>p:last-child{margin:8px 0 0;color:#b4c7cb}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 275px;border:1px solid #3b535b;background:#14252d;border-radius:8px;overflow:hidden}.viewport{position:relative;min-height:600px;background:#17242c}#terrain-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.view-title{position:absolute;left:25px;top:22px;pointer-events:none;max-width:65%;text-shadow:0 2px 15px #0a151b}#mode-label{font:10px monospace;letter-spacing:1.5px;color:#abe1dc}.view-title h2{font-size:29px;font-weight:500;margin:5px 0}.view-title p{font:12px/1.5 monospace;color:#bfd0cf;margin:0}.metrics{position:absolute;bottom:24px;left:25px;right:25px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;pointer-events:none;background:linear-gradient(90deg,#11212cde,#11212caa);padding:15px 18px;border-left:2px solid #e9a36e}.metrics strong{font:26px monospace;color:#f2c296;display:block}.metrics span{font:9px/1.4 monospace;color:#bdd0d1;letter-spacing:.6px}.camera-note{position:absolute;bottom:125px;left:25px;font:11px monospace;color:#bcd1d0}#loading,#error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#13242e;padding:25px;text-align:center;gap:15px}#controls{padding:21px 20px;background:#172932;border-left:1px solid #354c55}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#c0d2d5;margin-bottom:14px}.field select{width:100%;font-size:12px}.transport{display:flex;gap:8px;margin:18px 0 15px}.transport button{font-size:12px;flex:1}.primary{background:#ec9664;color:#15232b;border-color:#ec9664;font-weight:600}input[type=range]{width:100%}.rate{flex-direction:row;align-items:center;justify-content:space-between}.rate select{width:66%}.control-title{font:10px monospace;letter-spacing:1.5px;color:#8baab5;margin:21px 0 8px}.camera-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.camera-buttons button{font-size:10px;padding:8px 3px}.layers{display:flex;flex-direction:column;gap:8px;font-size:11px}.layers label{display:flex;gap:8px;align-items:center}.keys{font:10px/1.8 monospace;color:#91aeb8;margin:20px 0 0}.evidence{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;margin-top:20px}.trace-panel,.result-panel{background:#152630;border:1px solid #344c54;border-radius:6px;padding:20px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-label h2{font-size:16px;font-weight:500;margin:0}.section-label span{font:10px monospace;color:#9eb9c1}#trace{display:block;width:100%;height:160px}#trace-cursor{stroke:#edf1e7;stroke-width:1.4}#trace-lines text{fill:#8eaab1;font:10px monospace}.travel-values{display:flex;gap:20px;flex-wrap:wrap;font:12px monospace}.result-panel h2{font-size:22px;color:#f0b17a;font-weight:500;margin:6px 0}.result-panel p:not(.eyebrow){font-size:12px;color:#b4c6cc}.result-panel a{font-size:12px}.parameters{border-top:1px solid #344c54;margin-top:25px;padding:17px 0;font-size:12px;color:#afc4ca}.parameters summary{cursor:pointer;color:#e4ede7}.parameters table{border-collapse:collapse;margin-top:15px;width:100%;max-width:900px}.parameters td{padding:7px 8px;border-bottom:1px solid #29424a}.parameters td:first-child{color:#e3e9df;width:40%}.parameters p{max-width:1100px}.workspace:fullscreen{background:#14252d;width:100vw;height:100vh;border-radius:0}.workspace:fullscreen .viewport{height:100vh}
@media(max-width:800px){header{padding:17px 4vw}.brand{font-size:19px}nav{gap:14px;font-size:11px}nav a:last-child{display:none}main{padding:22px 14px 40px}.workspace{grid-template-columns:1fr}.viewport{min-height:520px}#controls{border-left:0;border-top:1px solid #354c55;padding:18px}.camera-buttons{grid-template-columns:repeat(6,1fr)}.layers{display:grid;grid-template-columns:1fr 1fr}.field{font-size:12px}.field select{font-size:13px}.rate select{width:55%}.keys{margin-bottom:0}.evidence{grid-template-columns:1fr}.view-title{left:16px;top:18px;max-width:85%}.view-title h2{font-size:24px}.metrics{left:12px;right:12px;bottom:16px;gap:6px;padding:13px 11px}.metrics strong{font-size:19px}.metrics span{font-size:8px}.camera-note{bottom:109px;left:16px;font-size:10px}.workspace:fullscreen{overflow:auto}.workspace:fullscreen .viewport{height:70vh;min-height:420px}.camera-buttons button{font-size:10px}.intro>p:last-child{font-size:13px}.travel-values{gap:14px;font-size:11px}}
@media(max-width:480px){.metrics{grid-template-columns:repeat(2,1fr);gap:10px 18px}.metrics strong{font-size:22px}.metrics span{font-size:10px;letter-spacing:.2px}.camera-note{bottom:154px}}
