:root{--ivory:#eee8dc;--ink:#2d3329;--muted:#b9b9a5;--line:#fff3}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#283529;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ivory)}button,a,select,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #d1b68a;outline-offset:7px}button:hover{color:#fff}#view{display:block;width:100vw;height:100vh;position:absolute}#veil{position:absolute;inset:0;background:linear-gradient(90deg,#101c18b5 0%,#16241a33 45%,transparent 75%),linear-gradient(0deg,#101910a6,transparent 21%,transparent 82%,#16201855);pointer-events:none;transition:opacity 1.2s}body.walking #veil{opacity:.2}header{position:absolute;top:0;left:0;width:100%;padding:32px 42px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}.brand{text-decoration:none;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;letter-spacing:.22em;display:flex;gap:22px;align-items:center}.brand span{font:9px sans-serif;letter-spacing:.13em;border-left:1px solid #fff5;padding-left:24px}.topright{display:flex;gap:28px;align-items:center;font-size:10px;letter-spacing:.12em}.topright>span{opacity:.65}.topright button{font-size:11px;padding:8px 0;border-bottom:1px solid #fff5}kbd{font:9px sans-serif;padding-left:9px;opacity:.5}#intro{position:absolute;left:7%;top:26%;transition:opacity .6s,transform .6s;max-width:480px}.eyebrow{font-size:9px;letter-spacing:.32em;margin-bottom:29px;color:#d0c8b4}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4vw,62px);line-height:1.55;letter-spacing:.11em;font-weight:400;margin:0 0 24px}#intro p{font-size:12px;line-height:2.2;letter-spacing:.12em;opacity:.72}.actions{display:flex;align-items:center;gap:23px;margin-top:40px}.actions button{font-size:11px;letter-spacing:.1em;padding:17px 0}.actions .primary{background:var(--ivory);color:var(--ink);min-width:213px;text-align:left;padding:19px 22px}.primary span{float:right;margin-left:14px}.actions>button:not(.primary){border-bottom:1px solid #fff5}.actions>button>span{margin-left:17px}.intro-note{font-size:8px;letter-spacing:.14em;opacity:.4;margin-top:24px}#loader{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#ffffff17}#loader i{display:block;height:100%;width:0;background:#ceb88e;transition:width .2s}footer{position:absolute;bottom:0;width:100%;padding:27px 42px;display:flex;justify-content:space-between;align-items:center;gap:16px}footer nav{display:flex;gap:29px}footer button{font-size:10px;letter-spacing:.1em;padding:9px 0}footer nav b{font-size:8px;font-weight:400;opacity:.5;margin-right:9px}footer nav button.active{border-bottom:1px solid #e3d6b6}#controls-note{font-size:9px;letter-spacing:.1em;opacity:.55}aside{position:absolute;right:34px;top:95px;width:360px;background:#eee8dcf5;color:var(--ink);padding:22px;box-shadow:0 15px 60px #14200e30;backdrop-filter:blur(14px)}.panel-head{display:flex;justify-content:space-between;align-items:center;font-family:serif;font-size:19px;letter-spacing:.12em}.panel-head button{font:25px sans-serif;color:#645f51;padding:0 0 0 15px}aside p{font-size:10px;color:#746c5e;line-height:1.9}aside svg{width:100%;margin-top:10px}svg text{font-family:sans-serif;text-anchor:middle;fill:#6a6657}.map-point{cursor:pointer}.map-point circle{fill:#645f4c}.map-point text{fill:#f4eee1;font:9px sans-serif}.map-point:hover circle{fill:#9b7653}.map-footer{border-top:1px solid #655d4826;font-size:9px;display:flex;justify-content:space-between;padding-top:17px;color:#776e5d}.map-footer span{font-size:8px}#settings{width:282px}#settings label{font-size:11px;display:flex;justify-content:space-between;align-items:center;margin:25px 0}select{color:#494d3c;background:transparent;border:0;border-bottom:1px solid #90857066;padding:7px;font:11px sans-serif}input{width:122px;accent-color:#747951}#settings>button{font-size:11px;border-top:1px solid #7c715344;width:100%;text-align:left;padding:18px 0;color:#393f2f}small{display:block;font-size:9px;line-height:1.8;opacity:.5}#crosshair{position:absolute;top:50%;left:50%;pointer-events:none;font-size:25px;color:#fff8;transform:translate(-50%,-50%)}#walk-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:22px 30px;background:#263427d9;text-align:center;backdrop-filter:blur(8px)}#walk-hint button{font-size:13px;display:block;margin:auto auto 12px;padding:10px}#walk-hint span{font-size:9px;opacity:.55;white-space:nowrap}#error{position:absolute;left:7%;top:60%;padding:20px;background:#432e26e0;max-width:550px;font-size:12px;line-height:1.8}body.active #intro{opacity:0;pointer-events:none;transform:translateY(12px)}[hidden]{display:none!important}@media(max-width:760px){header{padding:23px}.brand{font-size:23px;gap:12px}.brand span{padding-left:12px;font-size:7px}.topright{gap:17px}.topright>span{display:none}#intro{left:8%;top:25%}h1{font-size:39px}.actions{gap:17px}.actions .primary{min-width:190px}footer{padding:18px 23px}footer nav{gap:17px}footer button{font-size:9px}#controls-note{display:none}aside{right:20px;width:calc(100% - 40px);max-width:360px}.intro-note{max-width:250px;line-height:1.9}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#walk-hint{top:auto;bottom:85px;transform:translateX(-50%);padding:14px 25px}#walk-hint button{margin-bottom:7px;padding:4px}

footer nav{gap:20px;overflow-x:auto;white-space:nowrap;min-width:0}footer nav button{flex-shrink:0}#controls-note{max-width:180px;line-height:1.7}#map{width:420px;max-width:calc(100vw - 40px)}
footer nav{scrollbar-width:none}footer nav::-webkit-scrollbar{display:none}@media(max-width:1200px){#controls-note{display:none}footer nav{gap:17px}}

#g1-panel{width:350px;top:88px;max-height:calc(100vh - 174px);overflow-y:auto;padding:20px}#g1-toggle{color:#ead2a9}.g1-caption{display:flex;justify-content:space-between;margin:13px 0;font-size:9px;color:#81755f}.g1-caption strong{font-weight:500;color:#596849}.g1-drive{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.g1-drive button,.g1-poses button,.g1-patrol-row button{border:1px solid #a3957a66;padding:10px 5px;font-size:10px;color:#4a493b;background:#fffa}.g1-drive button:hover,.g1-poses button:hover,.g1-patrol-row button:hover{background:#d9d1bd}#g1-stop{background:#5b6653;color:#fff}.g1-keys{font-size:9px!important;line-height:1.8!important;margin:10px 0!important}.g1-inline{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:10px 0}.g1-check{font-size:10px;display:flex;align-items:center;gap:6px}.g1-check input{width:auto}.g1-section-label{font-size:10px;letter-spacing:.08em;margin:17px 0 8px;padding-top:13px;border-top:1px solid #a598802e}.g1-poses{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.g1-patrol-row{display:flex;gap:8px;align-items:center;margin-top:12px}.g1-patrol-row select{font-size:10px;max-width:170px}.g1-patrol-row button{flex:1}.g1-joint{display:grid;grid-template-columns:1fr auto;gap:5px;margin:12px 0;font-size:10px}.g1-joint input{grid-column:1 / 3;width:100%}.g1-joint output{font-variant-numeric:tabular-nums;color:#91816a}#g1-group{width:100%}#g1-panel small{margin-top:16px;opacity:.65}@media(max-width:650px){#g1-panel{right:15px;width:310px;max-height:calc(100vh - 160px)}.topright{gap:12px}}

.g1-progress{font-variant-numeric:tabular-nums;font-size:10px!important;margin:6px 0 12px!important}

body.g1-mode header{background:linear-gradient(#20271ce0,transparent);padding-bottom:24px}body.g1-mode footer{background:linear-gradient(transparent,#20271ca6)}#g1-panel>.panel-head{position:sticky;top:-20px;background:#eee8dc;z-index:2;padding:10px 0;margin-top:-10px}

.g1-panel-actions{display:flex;align-items:center;gap:12px}.g1-panel-actions #g1-collapse{font:11px sans-serif;letter-spacing:0;padding:6px 9px;border:1px solid #a3957a66;border-radius:3px}.g1-mini{display:none;gap:8px;margin-top:12px}.g1-mini button{font:10px sans-serif;padding:10px 8px;border:1px solid #a3957a66;color:#4a493b;background:#fffa}.g1-mini button:first-child{background:#5b6653;color:#fff}.g1-caption{flex-wrap:wrap;gap:8px;line-height:1.6}.g1-caption strong{max-width:100%;font-size:10px}.g1-poses button[data-g1-pose="restore"]{grid-column:1 / 4;background:#dcd9c9}.g1-drive button{white-space:nowrap}#g1-panel.collapsed{width:292px;overflow:visible}#g1-panel.collapsed .g1-mini{display:flex}#g1-panel.collapsed .g1-progress{margin-bottom:0!important}#g1-panel.collapsed .g1-caption{margin-bottom:7px}#g1-panel.collapsed .panel-head{position:static}#g1-queue{font-size:10px;line-height:1.7;color:#6c7756}#g1-panel small{line-height:1.8}

.body-controls{margin-bottom:16px;border-bottom:1px solid #a3957a55;padding-bottom:16px}.body-controls .g1-section-label{border:0;margin-top:4px;padding-top:0;font-size:12px}.body-controls label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;margin:8px 0}.body-controls select{max-width:218px;font-size:10px}#body-engine{font-size:8px;color:#887d67;margin:0}#body-state{font-size:10px;line-height:1.7;min-height:17px;color:#516246}.body-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.body-buttons button{font-size:10px;padding:10px 7px;border:1px solid #a3957a66;color:#4a493b;background:#fffa}#body-start,#body-stop{grid-column:1 / 3;background:#53664f;color:white}.body-instructions{font-size:10px;margin-bottom:5px}.body-controls small{margin-top:6px!important}#body-preview{position:absolute;left:25px;bottom:98px;width:228px;border:1px solid #e3dbc366;background:#263022e8;box-shadow:0 7px 35px #0003;border-radius:5px;overflow:hidden}.body-preview-head{padding:8px 11px;display:flex;align-items:center;justify-content:space-between;font-size:9px}.body-preview-head button{font-size:18px;padding:0 2px}.body-video-wrap{position:relative;transform:scaleX(-1)}#body-video{width:100%;height:auto;display:block}#body-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#body-live{font-size:9px;color:#53664f;line-height:1.7;display:flex;align-items:center;gap:6px;margin:9px 0}.body-live-dot{width:6px;height:6px;flex:none;background:#6c915b;border-radius:50%}.g1-mini{flex-wrap:wrap}.g1-mini #body-mini-stop{background:#ece3d4;color:#514a3d}@media(max-width:700px){#body-preview{left:14px;bottom:85px;width:180px}}

#research-panel{position:fixed;left:24px;top:100px;z-index:25;width:min(340px,calc(100vw - 48px));padding:22px;background:rgba(244,241,232,.97);color:#38382d;border:1px solid #bcb4a3;border-radius:12px;box-shadow:0 12px 50px #0003}#research-panel p{font-size:13px;line-height:1.6}#research-panel small{display:block;font-size:11px;line-height:1.7;opacity:.75;margin-top:14px}#research-panel button{cursor:pointer}#performance{display:block;font:12px monospace;margin-top:18px}

#g1-metrics{display:none;left:24px;right:auto;top:94px;width:330px;padding:16px;max-height:calc(100vh - 210px);overflow:auto;background:#202820ed;color:#e8e9da;border:1px solid #82907855;backdrop-filter:blur(12px)}body.g1-mode #g1-metrics{display:block}#g1-metrics .panel-head{font:14px sans-serif;letter-spacing:.06em}#metrics-collapse{font:11px sans-serif;padding:5px 8px;border:1px solid #a2ac9066;color:#ddd}#g1-metrics p{font-size:10px;color:#c9d3bc;margin:9px 0}#g1-metrics label{font-size:10px;display:flex;justify-content:space-between;align-items:center}#g1-metrics select{color:#ddd}#g1-metrics select option{color:#222}#g1-metrics small{font-size:9px;opacity:.72;margin-top:10px;line-height:1.7}.metrics-scroll{max-height:230px;overflow:auto;margin-top:8px}#g1-metrics table{width:100%;font:10px ui-monospace,monospace;border-collapse:collapse;font-variant-numeric:tabular-nums}#g1-metrics th{font-weight:400;text-align:left;color:#aab9a0;white-space:nowrap}#g1-metrics td{text-align:right;padding:5px 3px;border-bottom:1px solid #ffffff0d}#g1-metrics thead{position:sticky;top:0;background:#242d24}#g1-metrics thead th{font-size:9px;padding-bottom:8px}#g1-metrics thead th:not(:first-child){text-align:right}body.g1-mode #body-preview{bottom:82px;width:190px}@media(max-width:1000px){#g1-metrics{left:14px;top:auto;bottom:90px;width:285px;max-height:270px}.metrics-scroll{max-height:120px}body.g1-mode #body-preview{left:14px;bottom:370px;width:150px}}

@media(max-width:1000px){body.g1-mode.hand-view #g1-metrics{bottom:22px;max-height:270px}body.g1-mode.hand-view #body-preview{top:88px;bottom:auto;width:150px}}

body.g1-mode.hand-view #body-preview{left:auto;right:34px;bottom:95px;top:auto}@media(max-width:1000px){body.g1-mode.hand-view #body-preview{left:14px;right:auto;top:88px;bottom:auto}}

#object-panel{position:fixed;z-index:32;left:22px;top:87px;width:330px;max-height:calc(100vh - 180px);overflow:auto;padding:20px;background:rgba(27,30,26,.96);color:#eee5d6;border:1px solid #6d705a;border-radius:12px;box-shadow:0 15px 50px #0005;font-size:12px}#object-panel[hidden]{display:none}#object-panel label{display:block;margin:10px 0}#object-panel select,#object-panel input[type=number]{width:100%;color:#eee5d6;background:#363b31;border:1px solid #646952;border-radius:5px;padding:7px}#object-panel input[type=range]{width:100%;accent-color:#d6b777}#object-panel button{border:1px solid #757661;color:#eee5d6;background:#444c38;padding:9px;border-radius:5px;cursor:pointer}#object-panel button:disabled{opacity:.45;cursor:default}#object-panel small{display:block;color:#b9bdae;line-height:1.7}#object-panel output{float:right;font-variant-numeric:tabular-nums}#object-state,#object-grip-values{color:#e6c887;line-height:1.6}#object-values{font-variant-numeric:tabular-nums}.object-properties{display:grid;grid-template-columns:100px 1fr;gap:16px}body:has(#object-panel:not([hidden])) #g1-metrics{display:none}#object-pull:active{background:#73764a}@media(max-width:900px){#object-panel{left:10px;top:80px;width:285px;max-height:calc(100vh - 160px);padding:14px}}

#object-panel>.panel-head{position:sticky;top:0;z-index:2;background:#1b1e1a;padding:12px 0;margin-top:-8px;font-size:17px}#object-panel p{color:#bdc4ad}#object-panel #object-state,#object-panel #object-grip-values{color:#e6c887}#object-posture{font-size:10px;line-height:1.7}

#research-panel{max-height:calc(100vh - 150px);overflow:auto}#dynamics-panel summary{cursor:pointer;font-size:14px;margin:14px 0}#dynamics-panel label{display:block;margin:12px 0;font-size:12px}#dynamics-panel select,#dynamics-panel input[type=range]{width:100%}#dynamics-panel select{padding:8px;background:#eee9db;color:#34362c}#dynamics-values{white-space:pre-line;font-variant-numeric:tabular-nums}#dynamics-panel button{padding:8px;font-size:11px}#dynamics-panel output{font-size:11px}body:has(#research-panel:not([hidden])) #g1-metrics{display:none}

#research-panel>.panel-head{position:sticky;top:-22px;z-index:2;margin:-22px -22px 12px;padding:20px 22px;background:#f4f1e8}

.dynamics-drive{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.dynamics-drive button{touch-action:none;user-select:none}#dynamics-policy-note{font-size:11px;line-height:1.6;color:#595e50}

#dynamics-fingers{font:11px/1.8 ui-monospace,monospace;white-space:pre-wrap;color:#373e31}#dynamics-contact-note{font-size:11px;line-height:1.6}

.dynamics-drive button{border:1px solid #d6d3c9;background:#f7f5ef;color:#394331;padding:10px 4px;font-size:11px}.dynamics-drive button:enabled:hover{background:#e3e7da;color:#303d2d}.dynamics-drive button:enabled:active{background:#525c49;color:white}.dynamics-drive button:disabled{opacity:.42}.dynamics-drive button:focus-visible{outline:2px solid #526847;outline-offset:2px}
