:root{color:#20262d;background:#e9eef2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow:hidden}button,select{font:inherit}button{background:#f8fafbd9;border:1px solid #c7d0d8;border-radius:6px;color:#24313b;cursor:pointer;padding:.42rem .66rem}button:hover:not(:disabled){background:#fff;border-color:#7f919f}button:disabled{cursor:wait;opacity:.54}button.primary{background:#185a91;border-color:#185a91;color:#fff}button.primary:hover:not(:disabled){background:#104b7b}#scene{background:#e9eef2;height:100dvh;min-height:420px;overflow:hidden;position:relative;width:100vw}.scene-canvas{top:0;right:0;bottom:0;left:0;position:absolute;z-index:0}.scene-canvas canvas{display:block;height:100%;width:100%}.top-bar{align-items:center;background:#f7f9fbe8;border-bottom:1px solid #cfd8df;box-shadow:0 1px 9px #1f36400e;display:flex;gap:10px;left:0;min-height:43px;padding:5px 14px;position:absolute;right:0;top:0;z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{color:#185a91;font-size:.61rem;font-weight:780;letter-spacing:.13em;text-decoration:none;white-space:nowrap}.brand span{color:#8da1b0;padding:0 .18rem}.policy-context{border-left:1px solid #d3dce3;display:grid;gap:.06rem;min-width:0;padding-left:14px}.policy-context strong{font-size:.72rem;line-height:1.1;white-space:nowrap}.policy-context span{color:#70808c;font-size:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-context,.command-output{display:none}.project-link{align-items:center;background:#edf4f8;border:1px solid #cbdbe5;border-radius:999px;color:#185a91;display:inline-flex;flex:0 0 auto;font-size:.61rem;font-weight:700;gap:.28rem;padding:.26rem .52rem;text-decoration:none;white-space:nowrap}.project-link:hover{background:#e3eff6;border-color:#8eafc4;color:#104b7b}.github-mark{fill:currentColor;height:.78rem;width:.78rem}.top-actions{display:flex;gap:6px;margin-left:auto}.top-actions select{background:#fffdfa;border:1px solid #c7d0d8;border-radius:6px;color:#26333c;max-width:150px;padding:.31rem .4rem;font-size:.68rem}.top-actions button{font-size:.67rem;padding:.33rem .52rem}.command-output,.clock{color:#5c6c78;font-size:.62rem;white-space:nowrap}.clock{font-variant-numeric:tabular-nums}.pill{background:#f8fafb;border:1px solid #cbd2d9;border-radius:999px;color:#53616d;font-size:.61rem;padding:.25rem .45rem;white-space:nowrap}.pill.ready{background:#e5f2ea;border-color:#b8ddc3;color:#24613a}.pill.error{background:#fbe9e9;border-color:#efc4c4;color:#8f3030}.cmd-panel,.monitor-panel{background:#f9fbfdec;border:1px solid #cbd6df;border-radius:8px;box-shadow:0 8px 28px #22354422;display:grid;gap:9px;max-height:calc(100dvh - 68px);overflow:auto;padding:11px;position:absolute;top:55px;z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cmd-panel{left:14px;width:min(350px,calc(100vw - 28px))}.monitor-panel{left:378px;width:min(330px,calc(100vw - 392px))}.cmd-panel[hidden],.monitor-panel[hidden]{display:none}.telemetry-summary{color:#60707c;display:flex;font-size:.63rem;justify-content:space-between}.telemetry-summary output{color:#1f3f57;font-variant-numeric:tabular-nums}#actionChart{background:#edf2f5;border:1px solid #d2dde4;border-radius:6px;height:auto;width:100%}.action-values{display:grid;font-variant-numeric:tabular-nums;gap:3px 5px;grid-template-columns:repeat(4,1fr)}.action-values span{background:#f0f4f7;border-radius:3px;color:#50616d;font-size:.56rem;padding:.17rem .22rem}.action-values b{color:#195886;font-weight:680}.controller-status{align-items:center;background:#edf4f7;border:1px solid #d5e1e7;border-radius:5px;color:#627580;display:flex;font-size:.63rem;justify-content:space-between;padding:.38rem .5rem}.controller-status output{color:#185a91;font-weight:700}.command-settings{border-top:1px solid #d8e1e6;display:grid;gap:8px;padding-top:8px}.command-settings label{align-items:center;color:#4c5d68;display:grid;font-size:.63rem;gap:6px;grid-template-columns:58px 1fr 78px}.command-settings input{accent-color:#185a91;min-width:0}.command-settings output{color:#21608c;font-variant-numeric:tabular-nums;text-align:right}.command-live{display:grid;gap:5px;grid-template-columns:repeat(3,1fr)}.command-live strong{color:#263b49;font-size:.66rem;grid-column:1 / -1}.command-live div{background:#edf2f5;border-radius:4px;display:grid;gap:2px;padding:.35rem .4rem}.command-live span{color:#70808c;font-size:.57rem}.command-live output{color:#195886;font-size:.62rem;font-variant-numeric:tabular-nums;white-space:nowrap}.stop-command{background:#fff4f1;border-color:#e6b5a8;color:#9c4432;font-size:.65rem}.virtual-joystick{bottom:17px;color:#345466;display:grid;gap:4px;justify-items:center;pointer-events:auto;position:absolute;touch-action:none;-webkit-user-select:none;user-select:none;z-index:2}.joystick-left{left:18px}.joystick-right{right:18px}.joystick-label{align-items:baseline;display:flex;gap:7px;text-shadow:0 1px 2px #fff}.joystick-label strong{font-size:.7rem}.joystick-label span{color:#607985;font-size:.58rem}.joystick-base{background:#dbe8eea8;border:1px solid #7694a4b8;border-radius:50%;box-shadow:inset 0 0 0 6px #eef5f880,0 4px 13px #233b481c;height:126px;position:relative;width:126px}.joystick-cross{background:#6d8c9b55;display:block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.joystick-cross.horizontal{height:1px;width:76%}.joystick-cross.vertical{height:76%;width:1px}.joystick-knob{background:#185a91cf;border:2px solid #ffffffcc;border-radius:50%;box-shadow:0 3px 9px #183e522e;height:44px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:44px}.virtual-joystick output{color:#496978;font-size:.58rem;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #fff}.terrain-panel{background:#f9fbfdec;border:1px solid #cbd6df;border-radius:8px;box-shadow:-10px 0 32px #2235441f;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 68px);max-width:min(390px,100vw);overflow:auto;padding:14px;position:absolute;right:14px;top:55px;width:390px;z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.terrain-panel[hidden]{display:none}.panel-heading{align-items:start;cursor:grab;display:flex;justify-content:space-between;touch-action:none;-webkit-user-select:none;user-select:none}.panel-heading:active{cursor:grabbing}.panel-heading strong{font-size:.88rem}.panel-kicker{color:#185a91;font-size:.58rem;font-weight:750;letter-spacing:.12em;margin:0 0 .2rem}.panel-copy,.terrain-hint{color:#687984;font-size:.68rem;line-height:1.45;margin:0}.icon-button{font-size:1rem;line-height:1;padding:.2rem .43rem}.terrain-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.terrain-form label{color:#485963;display:grid;font-size:.65rem;font-weight:650;gap:.25rem}.terrain-form label:last-child{grid-column:span 2}.terrain-form select,.terrain-form input{background:#fff;border:1px solid #c7d0d8;border-radius:5px;color:#273640;min-width:0;padding:.32rem}.terrain-form input[type=range]{accent-color:#185a91;padding:0;width:100%}.terrain-form output{color:#627580;font-size:.61rem;font-weight:500}.terrain-tools{display:flex;flex-wrap:wrap;gap:5px}.terrain-tools button,.terrain-actions button,.file-button{font-size:.65rem;padding:.32rem .46rem}.terrain-tools button.active{background:#e6f0f8;border-color:#7ca4c3;color:#145486}#terrainMap{background:#eaf0eb;border:1px solid #c8d3db;border-radius:7px;cursor:crosshair;height:auto;max-width:100%;touch-action:none;width:100%}.terrain-elements{display:grid;gap:4px;max-height:108px;overflow:auto}.terrain-element{align-items:center;background:#ffffffbd;border:1px solid #d6dfe5;border-radius:5px;display:flex;font-size:.65rem;justify-content:space-between;padding:.31rem .42rem}.terrain-element.selected{border-color:#5c93bb;color:#155583}.terrain-element button{font-size:.61rem;padding:.16rem .32rem}.terrain-element-editor{background:#f2f6f8;border:1px solid #d4e0e6;border-radius:6px;display:grid;gap:7px;grid-template-columns:1fr 1fr;padding:8px}.terrain-element-editor[hidden]{display:none}.terrain-element-editor strong{font-size:.67rem;grid-column:span 2}.terrain-element-editor label{color:#52636e;display:grid;font-size:.6rem;gap:3px}.terrain-element-editor label[hidden]{display:none}.terrain-element-editor input,.terrain-element-editor select{background:#fff;border:1px solid #c7d0d8;border-radius:4px;color:#273640;min-width:0;padding:.27rem}.terrain-actions{display:flex;flex-wrap:wrap;gap:5px}.file-button{background:#f8fafbd9;border:1px solid #c7d0d8;border-radius:6px;color:#24313b;cursor:pointer}.file-button input{display:none}.boot-screen{align-items:center;background:radial-gradient(circle at 50% 44%,#f8fafced,#e7edf2f8 60%,#dfe6ecfa);display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;text-align:center;transition:opacity .58s ease,visibility .58s ease;z-index:10}.boot-screen.reveal{opacity:0;pointer-events:none;visibility:hidden}.boot-mark{color:#185a91;font-size:.72rem;font-weight:780;letter-spacing:.17em;margin-bottom:1.15rem}.boot-spinner{animation:spin 1s linear infinite;border:2px solid #c1cfda;border-radius:50%;border-top-color:#185a91;height:34px;margin-bottom:1rem;width:34px}.boot-screen strong{font-size:1rem}.boot-screen span{color:#677783;font-size:.78rem;margin-top:.4rem}.boot-progress{background:#d1dce4;border-radius:999px;height:5px;margin-top:1.15rem;overflow:hidden;width:min(310px,64vw)}.boot-progress i{background:#185a91;border-radius:inherit;display:block;height:100%;transition:width .42s ease;width:0}.boot-screen output{color:#6c7b87;font-size:.72rem;margin-top:.42rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 890px){.top-bar{flex-wrap:wrap;gap:5px 8px;min-height:48px;padding:5px 10px}.policy-context{flex:1}.top-actions{flex-wrap:wrap;margin-left:0;order:3;width:100%}.command-output{margin-left:auto}.monitor-panel{left:14px;top:110px;width:min(330px,calc(100vw - 28px))}.cmd-panel,.monitor-panel,.terrain-panel{max-height:calc(100dvh - 120px)}}@media (max-width: 560px){.brand{display:none}.policy-context{border-left:0;padding-left:0}.policy-context span,.command-output,.pill{display:none}.project-link{font-size:.57rem;gap:.2rem;padding:.22rem .42rem}.github-mark{height:.7rem;width:.7rem}.top-actions select{max-width:120px}.cmd-panel,.monitor-panel{left:10px;top:110px;width:calc(100vw - 20px)}.terrain-panel{right:10px;top:110px;width:calc(100vw - 20px)}.virtual-joystick{bottom:12px}.joystick-left{left:10px}.joystick-right{right:10px}.joystick-base{height:112px;width:112px}.joystick-knob{height:40px;width:40px}.joystick-label span{display:none}}
