@font-face{font-family:Inter;src:local("Inter"),local("Segoe UI")}
*{box-sizing:border-box}body{margin:0;background:#091921;color:#e5f1f2;font:16px/1.45 Inter,"Segoe UI",sans-serif}button,select{font:inherit;max-width:100%}button,select{color:inherit;background:#19333f;border:1px solid #46636e;border-radius:8px;padding:9px 12px;min-height:40px}button{cursor:pointer}button:hover:not(:disabled){background:#264a55}button:disabled{opacity:.55;cursor:default}a{color:#a5e9e0;text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f0c879;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.7px}h2{font-size:16px}h3{font-size:15px}.top{min-height:48px;padding:6px max(16px,calc((100vw - 1380px)/2));border-bottom:1px solid #29424b;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:8px;color:#e5f1f2;font-weight:750;text-decoration:none}.top nav{display:flex;align-items:center;gap:16px;font-size:14px}.top button{padding:5px 10px;background:none}main{max-width:1380px;margin:auto;padding:14px 20px 10px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:#8cdfd3;margin-bottom:4px}.intro{color:#aac3cc;font-size:14px;max-width:370px}.intro strong{color:#e4ecea;font-weight:500}#play{border:1px solid #37545f;border-radius:14px;background:#102731}.mission{display:flex;align-items:center;gap:12px;padding:9px 14px;background:#18343d;border-bottom:1px solid #37545f;border-radius:14px 14px 0 0;font-size:14px;flex-wrap:wrap}.mission p{flex:1;min-width:180px}.job{color:#f4ce88;font-size:12px;letter-spacing:1px;font-weight:bold}#progress{font-size:14px;color:#acd2ca}.workspace{display:grid;grid-template-columns:minmax(190px,21%) minmax(0,1fr)}.object-panel{min-width:0;background:radial-gradient(ellipse at 45% 40%,#23414b 0%,#102731 70%);padding:12px}.measurement-panel{min-width:0;border-left:1px solid #37545f;padding:12px;background:#0d202a;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(225px,.9fr);gap:10px 16px;align-content:start}.measurement-panel>.panel-title{grid-column:1/-1}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pill{color:#b4cdd5;font-size:12px;padding:3px 7px;border:1px solid #37545f;border-radius:20px}.object-panel .panel-title .pill{display:none}.track-scene{height:175px;position:relative;overflow:hidden;--robot-position:16.667%}.speech{position:absolute;inset:5px 0 auto;font-size:14px;color:#e9d8ab;text-align:center}.robot{position:absolute;width:135px;left:clamp(-12px,calc(var(--robot-position) - 67px),calc(100% - 123px));bottom:4px;filter:drop-shadow(0 9px 12px #0004);z-index:2;transform-origin:50% 80%}.track{position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(#91a7ac,#516d79 65%,#2c4958 66%);border-radius:8px;display:flex;justify-content:space-around;align-items:center}.track i{width:30px;text-align:center;border:1px solid transparent;border-radius:5px;font-style:normal;font-size:12px;background:#263f49;color:#d8ebe9}.track i.selected{outline:2px solid #ffe09d}.track i.checked{background:#185f54}.locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4em),1fr));gap:6px;margin-top:8px}.locations button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;border-color:#385561;background:#122b35;padding:8px 3px;text-align:center}.locations b{font-size:17px}.locations span{font-size:14px;line-height:1.25;overflow-wrap:normal}.locations [aria-pressed=true]{border-color:#9de5d9;background:#254953;box-shadow:inset 0 0 0 1px #9de5d9}.note{font-size:14px;color:#abc4cb;margin:10px 0}.plan{border-top:1px solid #35515b;padding-top:10px}.plan ol{padding-left:20px;margin:7px 0;color:#99b1ba;font-size:14px;line-height:1.7}.plan .active{color:#a7ecdd}.quiet{background:none;font-size:14px;padding:5px 0;border:none;color:#ace4de;text-decoration:underline;text-underline-offset:4px}.hint-text{font-size:14px;margin-top:5px;color:#ead7a8}.visual-evidence,.actions-panel{min-width:0}.view-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.view-tabs button{font-size:14px;min-height:36px;padding:6px 8px}.view-tabs [aria-pressed=true]{background:#315952;border-color:#85cdbd}.measurement-view{background:#07151e;border:1px solid #35505b;border-radius:9px;overflow:hidden;position:relative}canvas{display:block;width:100%}#height{height:155px}#profile{height:112px}.visual-evidence[data-view=appearance] #profile{display:none}.visual-evidence[data-view=appearance] #height{height:270px}.legend{font-size:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:3px 12px;color:#b0c7ce}.legend i{width:55px;height:7px;background:linear-gradient(90deg,#153555,#55b9ac,#f0ce7b)}.unknown-key{margin-left:auto;color:#e5bb80}.evidence{font-size:14px;color:#c0d7df;margin-top:8px}.scan-controls{display:grid;grid-template-columns:1fr;gap:8px;align-items:end}.scan-controls label{display:flex;flex-direction:column;gap:3px;font-size:14px}.scan-controls select{width:100%;font-size:14px;padding:8px}#scan-setup summary{font-size:14px;color:#b3dad3;cursor:pointer;padding:5px 0}#scan-setup[open] summary{margin-bottom:5px}#setup-summary{font-size:12px;color:#a9c6d0}.primary{background:#a2e5d5;color:#0e3036;border-color:#a2e5d5;font-weight:700}.primary:hover:not(:disabled){background:#c1f4e8}.scan-controls .primary{font-size:14px}.setting-note{font-size:13px;color:#b4c8d0;margin-top:7px}.decision{margin-top:10px}.decision>label{font-size:14px;font-weight:600}.decision-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.decision select,.decision button{width:100%;font-size:14px}.decision select{padding:8px;min-width:0}.feedback{font-size:14px;color:#ead7a8;margin-top:10px}.plan-review{margin-top:10px;border-top:1px solid #304b58;padding-top:8px}.plan-review p{font-size:14px;color:#aec8d0;margin-bottom:8px}.plan-review button{font-size:14px;width:100%}.workshop-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #37545f;gap:14px;padding:10px 14px;flex-wrap:wrap}.workshop-bottom p{font-size:14px;color:#abc2c8;flex:1;min-width:180px}.workshop-bottom button{font-size:14px;padding:8px 13px}footer{display:flex;gap:14px;align-items:center;padding-top:8px;color:#a8bfc8;font-size:12px;flex-wrap:wrap}footer span{flex:1;min-width:180px}footer button{border:0;padding:5px;background:none;font-size:14px;text-decoration:underline;text-underline-offset:3px}dialog{color:#e8f2f3;background:#102833;border:1px solid #6b969c;border-radius:14px;width:min(600px,calc(100vw - 28px));max-height:85dvh;padding:26px;line-height:1.6;overflow:auto}dialog::backdrop{background:#03121ade;backdrop-filter:blur(4px)}dialog p{margin:13px 0}dialog h2{font-size:26px}dialog li{margin:8px 0}dialog .close{float:right;padding:0 9px;font-size:25px;margin:-10px -10px 5px 10px;background:none}.finish-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px}.skip{position:fixed;top:-100px;z-index:50}.skip:focus{top:0;background:#14333f;padding:15px}#map-toggle{display:none}#scan-status{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#07151eea;padding:16px;text-align:center;font-size:14px;color:#daf1e8}#scan-progress{width:80%;accent-color:#9bdfd0}.wobble{animation:wobble 1.6s ease-in-out 2}.delivering{animation:delivery 2.6s ease-in-out forwards}@keyframes delivery{from{left:-10%}to{left:80%}}@keyframes wobble{30%,70%{transform:rotate(-5deg) translateY(-5px)}50%{transform:rotate(5deg)}}[hidden]{display:none!important}
@media(min-width:901px) and (max-height:750px){main{padding-top:8px}.title-row{margin-bottom:8px}h1{font-size:28px}.intro{font-size:14px}.object-panel .plan,.object-panel .note{display:none}.track-scene{height:160px}#height{height:115px}#profile{height:100px}.visual-evidence[data-view=appearance] #height{height:240px}.measurement-panel{gap:8px 12px}.top{min-height:44px;padding-top:2px;padding-bottom:2px}}
@media(max-width:1000px) and (min-width:901px){.workspace{grid-template-columns:180px minmax(0,1fr)}.measurement-panel{grid-template-columns:minmax(0,1fr) minmax(210px,.9fr);gap:10px}.object-panel{padding:10px}.locations button{padding:6px 2px}}
@media(max-width:900px){main{padding:10px 12px}.title-row .intro{display:none}.workspace{grid-template-columns:1fr}.object-panel{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 12px}.object-panel>.panel-title,.object-panel>.plan,.object-panel>.note{display:none}.track-scene{height:85px}.robot{width:80px;left:10px;bottom:0}.track{display:none}.speech{top:0;font-size:12px;line-height:1.25}.locations{margin:0}.locations button{flex-direction:row;flex-wrap:wrap;justify-content:center;padding:8px;gap:5px}.hint-text{grid-column:1/-1}.measurement-panel{border-left:0;border-top:1px solid #37545f;grid-template-columns:minmax(0,1.1fr) minmax(210px,.9fr)}#height{height:110px}#profile{height:110px}.visual-evidence[data-view=appearance] #height{height:225px}.mission .job{display:none}.mission p{flex-basis:60%}.mission #progress{flex-grow:1}.plan-review{margin-top:8px}}
@media(max-width:719px){.top{padding:4px 10px;flex-wrap:wrap}.brand{font-size:15px}.top nav{gap:10px}.top button{padding:4px 7px}main{padding:10px 8px}.title-row{margin-bottom:10px}.title-row h1{font-size:27px}.eyebrow{font-size:12px;letter-spacing:1px}.mission{padding:8px 10px;gap:3px}.mission p{flex-basis:100%}.object-panel{grid-template-columns:65px minmax(0,1fr);gap:7px;padding:6px 9px}.track-scene{height:70px}.robot{width:67px;left:0}.speech{display:none}.locations button{flex-direction:column;padding:7px 3px;gap:1px}.locations span{font-size:14px}.object-panel>.quiet{grid-column:1/-1;justify-self:start;min-height:30px;padding:0}.object-panel:has(.hint-text:not([hidden])) .hint-text{grid-column:1/-1}.measurement-panel{display:block;padding:10px}.measurement-panel>.panel-title{margin-bottom:8px}.view-tabs{margin-bottom:5px}.view-tabs button{flex:1;padding:6px;font-size:14px}#map-toggle{display:inline-block;padding:3px 0;min-height:32px;margin-bottom:4px}.measurement-view #height,.measurement-view .legend{display:none}.visual-evidence[data-view=appearance] #height,.visual-evidence.show-map #height{display:block;height:125px}.visual-evidence.show-map .legend{display:flex}#profile{height:115px}.evidence{margin-top:6px}.scan-controls{grid-template-columns:1fr 1fr;gap:8px}.scan-controls .primary{grid-column:1/-1}.scan-controls select{padding:8px 4px}.scan-controls label{font-size:14px}.actions-panel{margin-top:6px}.decision-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.decision select{width:100%;font-size:14px;padding:8px 4px}.decision button{font-size:14px;padding:8px}.workshop-bottom{padding:10px}.workshop-bottom p{min-width:140px}footer{gap:8px}.plan-review p{margin-bottom:6px}dialog{padding:22px}.feedback{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

.capture-meta{font-size:12px;color:#a7c6cf;margin-top:6px}
@media(max-width:719px){.visual-evidence[data-view=appearance] #height,.visual-evidence.show-map #height{height:115px}}

/* Text above the robot participates in flow, including enlarged-text layouts. */
.track-scene{height:auto;padding-bottom:140px}.speech{position:relative;inset:auto;padding-top:5px;overflow-wrap:break-word}
@media(min-width:901px) and (max-height:750px){.track-scene{height:auto;padding-bottom:130px}}
@media(max-width:900px){.track-scene{height:auto;padding-bottom:70px}}
@media(max-width:719px){.track-scene{height:70px;padding-bottom:0}}

/* Optional workshop preserves the original controls and acquired records. */
.workshop-launch{display:block;width:100%;padding:0;overflow:hidden;margin:10px 0;background:#0c2029;text-align:left}
.workshop-launch img{display:block;width:100%;height:85px;object-fit:cover}.workshop-launch span{display:block;padding:8px;font-size:.875rem}
#workshop{width:min(1550px,calc(100vw - 20px));max-height:96dvh;padding:16px;line-height:1.45}
.workshop-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.workshop-heading h2{font-size:1.4rem}.workshop-heading p{margin:0}
#workshop .workshop-stage{position:relative;float:left;width:38%;padding-right:14px}
#workshop-canvas{width:100%;height:clamp(280px,42dvh,500px);border-radius:12px;overflow:hidden;background:#07161e}
#workshop-canvas canvas{height:100%;touch-action:none}
#workshop-fallback{position:absolute;inset:0 14px auto 0;background:#0b202b;border-radius:12px;overflow:hidden;min-height:280px}
#workshop-fallback img{width:100%;display:block;max-height:34dvh;object-fit:cover}#workshop-fallback p{padding:12px;font-size:.875rem}
.workshop-camera{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.workshop-camera button{font-size:.8rem;min-height:40px;padding:7px 10px}
.workshop-boundary{font-size:.8rem;color:#b7ccd2;margin:10px 0!important}
#workshop-game{margin-left:38%}#workshop .workspace{display:block}#workshop .object-panel{display:block;padding:8px 10px}#workshop .object-panel>.panel-title,#workshop .track-scene,#workshop .plan,#workshop .note,#workshop .workshop-launch{display:none}
#workshop .locations{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}#workshop .locations button{flex-direction:row;justify-content:center;padding:7px;gap:8px}
#workshop .object-panel>.quiet{padding:3px 0;min-height:32px}#workshop .mission{border-radius:10px 10px 0 0}#workshop .mission .job{display:none}
#workshop .measurement-panel{border-left:0}#workshop .measurement-panel h2{font-size:1rem}
#workshop .measurement-view #profile{height:145px}#workshop .measurement-view #height{height:140px}
#workshop .visual-evidence[data-view=appearance] #height{height:270px}#workshop .workshop-bottom{clear:none}
.workshop-mode{display:none}
@media(max-width:1050px){#workshop .workshop-stage{width:33%}#workshop-game{margin-left:33%}#workshop .measurement-panel{display:block}#workshop .measurement-view #height{height:100px}#workshop .measurement-view #profile{height:125px}#workshop .scan-controls{grid-template-columns:1fr 1fr}#workshop .scan-controls button{grid-column:1/-1}#workshop .visual-evidence[data-view=appearance] #height{height:180px}}
@media(max-width:719px){.workshop-launch{grid-column:1/-1;margin:0;text-align:center}.workshop-launch img{display:none}.workshop-launch span{padding:8px}
#workshop{width:calc(100vw - 12px);padding:10px;max-height:98dvh}#workshop .workshop-heading{align-items:start;gap:8px}#workshop .workshop-heading h2{font-size:1.15rem}#workshop .workshop-heading .eyebrow{display:none}#close-workshop{font-size:.8rem;padding:8px;min-height:44px}
.workshop-mode{display:flex;gap:6px;margin-bottom:10px}.workshop-mode button{flex:1;font-size:.85rem}.workshop-mode [aria-pressed=true]{background:#316055}
#workshop .workshop-stage{display:none;float:none;width:100%;padding:0}
#workshop[data-layout=scene] .workshop-stage{display:block}
#workshop[data-layout=scene] #workshop-game .visual-evidence,#workshop[data-layout=scene] #workshop-game .actions-panel,#workshop[data-layout=scene] #workshop-game .workshop-bottom,#workshop[data-layout=scene] #workshop-game .mission{display:none}
#workshop-game{margin:0}#workshop-canvas{height:300px;max-height:43dvh}#workshop-fallback{inset:0 0 auto;min-height:200px}
#workshop .visual-evidence[data-view=appearance] #height{height:115px}#workshop .measurement-view #profile{height:115px}#workshop .measurement-view #height{height:115px}#workshop .workshop-boundary{font-size:.8rem}
}

#workshop-canvas{position:relative}
#workshop{max-width:calc(100vw - 12px)}
#workshop .workshop-heading{position:sticky;top:-16px;z-index:5;background:#102833;padding:10px 0;flex-wrap:wrap;min-width:0}
#workshop .workshop-heading>div{min-width:0;flex:1 1 160px}
#close-workshop{flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:719px){#workshop .workshop-heading{top:-10px}#workshop .workshop-heading>div{flex-basis:140px}}