.engine-scene{color:#cde0cc;isolation:isolate;background:radial-gradient(at 50% 18%,#29403455,#0000 70%),#071510;min-width:0;position:relative}.engine-scene-heading{z-index:1;pointer-events:none;padding:22px 24px 0;position:relative}.engine-scene-heading>span{letter-spacing:1.2px;color:#94b69e;font:9px/1.8 ui-monospace,monospace;display:block}.engine-scene-heading>strong{letter-spacing:-.7px;max-width:95%;margin-top:7px;font:400 clamp(20px,2vw,29px)/1.25 DM Sans Variable,sans-serif;display:block}.engine-scene-viewport{cursor:grab;width:100%;height:450px;position:relative;overflow:hidden}.engine-scene-viewport:active{cursor:grabbing}.engine-scene-viewport>canvas{touch-action:pan-y;width:100%;height:100%;display:block}.engine-scene-fallback{z-index:2;background:#0c1b15;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.engine-scene-fallback>svg{max-height:350px}.engine-scene-fallback>p{color:#9fbca6;text-align:center;padding:0 24px;font-size:12px;line-height:1.7}.engine-scene-legend{flex-wrap:wrap;gap:9px 18px;min-height:33px;padding:0 24px 18px;display:flex}.engine-scene-legend>span{color:#b0c5b5;align-items:center;gap:7px;font:10px/1.7 ui-monospace,monospace;display:inline-flex}.engine-scene-legend i{border-radius:50%;width:6px;height:6px;display:block;box-shadow:0 0 9px}.engine-scene-toolbar{border-top:1px solid #98b99520;flex-wrap:wrap;gap:7px;padding:14px 22px;display:flex}.engine-scene-toolbar>button{color:#c3d9bc;cursor:pointer;background:#b1d0af08;border:1px solid #b9d5ad25;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:6px 10px;font:11px/1.5 DM Sans Variable,sans-serif;display:inline-flex}.engine-scene-toolbar>button:hover,.engine-scene-toolbar>button[aria-pressed=true]{background:#9cbc7020;border-color:#bfe5ae88}.engine-scene-toolbar>button:disabled{opacity:.4;cursor:default}.engine-scene-toolbar:focus-visible{outline-offset:-4px;outline:2px solid #cdebaf}.engine-scene-timeline{color:#95b19c;align-items:center;gap:12px;padding:0 24px 12px;font:10px/1.7 ui-monospace,monospace;display:flex}.engine-scene-timeline input{accent-color:#d0e6ad;cursor:pointer;flex:1;min-width:30px}.engine-scene-timeline>small{font-size:9px}.engine-scene-caption{color:#8eae99;margin:0;padding:0 24px 21px;font-size:11px;line-height:1.8}.engine-scene-caption>span{color:#617f6d;margin-top:8px;font-size:10px;display:block}.engine-scene:fullscreen{flex-direction:column;max-width:none;display:flex;overflow:auto}.engine-scene:fullscreen .engine-scene-viewport{flex:1;height:65vh;min-height:300px}.engine-scene:fullscreen .engine-scene-caption{max-width:1000px}.demo-teaching-grid:has(.engine-scene){grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}@media (width<=800px){.demo-teaching-grid:has(.engine-scene){grid-template-columns:minmax(0,1fr)}.engine-scene-viewport{height:420px}.engine-scene-heading{padding:20px 20px 0}.engine-scene-toolbar{padding:13px 18px}.engine-scene-legend{padding:0 20px 16px}.engine-scene-caption{padding:0 20px 18px}.engine-scene-timeline{padding:0 20px 12px}}@media (width<=400px){.engine-scene-viewport{height:360px}.engine-scene-heading>strong{font-size:23px}.engine-scene-toolbar{gap:6px}.engine-scene-toolbar>button{padding:6px 8px;font-size:10px}.engine-scene-timeline{flex-wrap:wrap;gap:4px 10px}.engine-scene-timeline>small{display:none}.engine-scene-legend{gap:6px 12px;font-size:9px}}.demo-teaching-grid:has(.engine-scene[data-tool=route_optimizer]){grid-template-columns:minmax(0,1fr)}.demo-teaching-grid:has(.engine-scene[data-tool=route_optimizer]) .demo-method-steps{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.engine-scene[data-tool=route_optimizer] .engine-scene-viewport{height:clamp(500px,43vw,660px)}.engine-scene[data-tool=route_optimizer] .engine-scene-heading{padding-top:27px}@media (width<=800px){.demo-teaching-grid:has(.engine-scene[data-tool=route_optimizer]) .demo-method-steps{grid-template-columns:minmax(0,1fr)}.engine-scene[data-tool=route_optimizer] .engine-scene-viewport{height:460px}}
