:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1628;--bg-2:#13203a;--glass:#101b30bd;--glass-strong:#0e1729eb;--text:#e6edf5;--muted:#8b9bb3;--faint:#5d6e88;--line:#ffffff17;--line-2:#ffffff29;--hover:#ffffff12;--ink:#14213d;--signal:#f2c230;--signal-2:#ffd75a;--cobalt:#6b95ff;--danger:#ff6a5c;--ok:#44d39a;--r:12px;--r-sm:8px;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-family:Inter,Noto Sans JP,Hiragino Sans,system-ui,sans-serif;font-size:14px;line-height:1.55}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,select,textarea,input{font:inherit;color:inherit}a{color:var(--cobalt)}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.ic{flex:none;width:20px;height:20px}.ic.sm{width:16px;height:16px}.ic.xs{width:14px;height:14px}.stage{position:fixed;inset:0}.viewport{touch-action:none;background:radial-gradient(120% 90% at 50% 18%,#213358 0%,#12203a 42%,#0b1426 100%);position:absolute;inset:0;overflow:hidden}.viewport canvas{outline:none;width:100%;height:100%;display:block}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 32px #00000059,inset 0 1px #ffffff0a}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--hover)}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.primary-btn{border-radius:var(--r-sm);background:var(--signal);height:36px;color:var(--ink);cursor:pointer;white-space:nowrap;border:0;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.primary-btn:hover{background:var(--signal-2)}.primary-btn:disabled{opacity:.45;cursor:default}.primary-btn .ic{width:18px;height:18px}.ghost-btn,.chip-btn{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;white-space:nowrap;background:#ffffff08;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.ghost-btn:hover,.chip-btn:hover{background:var(--hover);border-color:#ffffff42}.ghost-btn:disabled{opacity:.4;cursor:default}.chip-btn{border-radius:999px;padding:3px 10px;font-size:12.5px}select{appearance:none;border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:#ffffff0a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%238b9bb3' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") right 8px center no-repeat;padding:6px 28px 6px 10px}select option{color:var(--text);background:#13203a}.topbar{pointer-events:none;z-index:5;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:12px;left:12px;right:12px}.topbar .group{pointer-events:auto;align-items:center;gap:2px;padding:5px;display:flex}.mark{color:var(--text);letter-spacing:.01em;align-items:center;gap:7px;padding:0 8px 0 6px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.sep{background:var(--line-2);width:1px;height:24px;margin:0 6px}.model-btn{border-radius:var(--r-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:210px;max-width:320px;height:38px;padding:0 8px 0 10px;display:flex}.model-btn:hover{background:var(--hover)}.model-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.model-label{color:var(--muted);letter-spacing:.04em;font-size:10.5px}#modelName{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.transport{gap:4px!important;padding:5px 6px!important}.icon-btn.play{background:var(--signal);width:40px;height:40px;color:var(--ink);border-radius:50%}.icon-btn.play:hover{background:var(--signal-2)}.play .when-paused{display:none}.play[data-state=paused] .when-paused{display:block}.play[data-state=paused] .when-running{display:none}.speed select{height:32px;font-family:var(--mono);padding-top:4px;padding-bottom:4px;font-size:13px}.rec-btn{color:var(--danger)}.rec-btn.rec{background:#ff6a5c29;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{background:#ff6a5c52}}.topbar .right .primary-btn{margin-left:4px}.inspector{z-index:4;flex-direction:column;width:360px;display:flex;position:absolute;top:72px;bottom:12px;right:12px;overflow:hidden}.inspector[hidden]{display:none}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:6px 6px 0;display:flex}.tabs [role=tab]{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:9px 4px 10px;font-weight:500;position:relative}.tabs [role=tab]:hover,.tabs [role=tab][aria-selected=true]{color:var(--text)}.tabs [role=tab][aria-selected=true]:after{content:"";background:var(--signal);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:22%;right:22%}.tabs .collapse{width:32px;height:32px;color:var(--muted)}.reopen{z-index:4;width:40px;height:40px;position:absolute;top:72px;right:12px}.reopen[hidden]{display:none}.panel{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 16px 18px;display:flex;overflow:auto}.panel[hidden]{display:none}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:8px}.note{color:var(--muted);margin:0;font-size:13px}.note code,.status code{font-family:var(--mono);color:var(--text);background:#ffffff0f;border-radius:4px;padding:1px 5px;font-size:12px}.credit{font-size:12.5px}.block{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.block-head{justify-content:space-between;align-items:center;display:flex}.block h2{color:var(--muted);letter-spacing:.06em;margin:0;font-size:12px;font-weight:600}#holdPose[hidden]{display:none}.rows{flex-direction:column;gap:12px;display:flex}.rows .empty{color:var(--muted);margin:0;font-size:13px}.act{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;display:grid}.act label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.act output{font-family:var(--mono);color:var(--signal);font-size:12px}input[type=range]{appearance:none;cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:18px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--signal) var(--p,50%), #ffffff1f var(--p,50%));border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:#ffffff1f;border-radius:4px;height:4px}input[type=range]::-moz-range-progress{background:var(--signal);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--signal);background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 1px 4px #0006}input[type=range]::-moz-range-thumb{border:3px solid var(--signal);background:#fff;border-radius:50%;width:10px;height:10px}input[type=range]:disabled{cursor:default;opacity:.7}.readout{gap:0}.readout .jrow{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;display:flex}.readout .jrow:last-child{border-bottom:0}.readout .jrow span:first-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.readout .jrow span:last-child{font-family:var(--mono);font-size:12.5px}.add{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.add button{border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;background:#ffffff08;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px;font-size:13px;display:flex}.add button:hover{border-color:var(--signal);background:#f2c2300f}.shape{width:22px;height:22px;display:block}.shape.box{background:#e6e8ec;border-radius:3px;transform:rotate(12deg)}.shape.sphere{background:radial-gradient(circle at 35% 35%,#d9dde3,#8f959e 65%,#5d636c);border-radius:50%}.shape.capsule{background:#3a3d44;border-radius:999px;width:30px;height:12px;margin:5px 0;transform:rotate(-20deg);box-shadow:inset 0 0 0 1px #ffffff2e}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kbd-hint{color:var(--faint);margin-left:auto;font-size:12px}kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--muted);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.file{position:relative}.file input{opacity:0;width:1px;height:1px;position:absolute}.status{color:var(--muted);white-space:pre-wrap;margin:0;font-size:12.5px}.status.error{color:var(--danger)}.status.ok{color:var(--ok)}.status:empty{display:none}textarea.code{resize:vertical;min-height:280px;font-family:var(--mono);border:1px solid var(--line);border-radius:var(--r-sm);color:#dfe7f2;tab-size:2;caret-color:var(--signal);background:#0308128c;flex:1;padding:12px;font-size:12.5px;line-height:1.6}textarea.code:focus{border-color:#6b95ff99;outline:none}.examples{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.examples select{flex:1}#plot{border:1px solid var(--line);border-radius:var(--r-sm);background:#03081273;width:100%;height:220px}.legend{flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend span:before{content:"";background:var(--c);border-radius:2px;width:14px;height:3px}.pick{grid-template-columns:1fr 1fr;gap:4px 10px;font-size:13px;display:grid}.pick label{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:var(--muted);align-items:center;gap:7px;padding:3px 0;display:flex;overflow:hidden}.pick label:has(input:checked){color:var(--text)}.pick input,.toggle input{accent-color:var(--signal)}.pick .empty{color:var(--muted);grid-column:1/-1;margin:0}.hud{z-index:3;gap:0;padding:8px 4px;display:flex;position:absolute;bottom:12px;left:12px}.gauge{border-right:1px solid var(--line);flex-direction:column;padding:0 14px;line-height:1.3;display:flex}.gauge:last-child{border-right:0}.gauge .k{color:var(--muted);letter-spacing:.04em;font-size:10.5px}.gauge .v{font-family:var(--mono);min-width:64px;font-size:15px;font-weight:500}.view-tools{z-index:3;align-items:center;gap:2px;padding:5px;display:flex;position:absolute;bottom:12px;right:384px}.inspector[hidden]~.view-tools{right:12px}.toggle{border-radius:var(--r-sm);cursor:pointer;color:var(--muted);align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.toggle:hover{background:var(--hover)}.toggle:has(input:checked){color:var(--signal)}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle:has(input:focus-visible){outline:2px solid var(--cobalt)}.hint{z-index:2;color:var(--muted);pointer-events:none;white-space:nowrap;margin:0;font-size:12.5px;transition:opacity .6s;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.hint.gone{opacity:0}.loading{z-index:6;background:radial-gradient(#0d162899,#0d1628eb);place-items:center;display:grid;position:absolute;inset:0}.loading[hidden]{display:none}.loading-box{text-align:center}.loading-box p{color:var(--muted);margin:14px 0 12px}.loading-mark{border:3px solid #ffffff1a;border-top-color:var(--signal);border-radius:50%;width:44px;height:44px;margin:0 auto;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.meter{background:#ffffff1a;border-radius:3px;width:260px;height:3px;margin:0 auto;overflow:hidden}.meter span{background:var(--signal);width:0;height:100%;transition:width .2s;display:block}.rec-badge{z-index:5;color:#fff;background:#ff6a5ceb;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.rec-badge[hidden]{display:none}.rec-badge .dot{background:#fff;border-radius:50%;width:8px;height:8px;animation:1s steps(2,end) infinite blink}.rec-badge #recTime{font-family:var(--mono);font-weight:500}@keyframes blink{50%{opacity:0}}.toast{background:var(--glass-strong);color:var(--text);border:1px solid var(--line-2);z-index:20;opacity:0;pointer-events:none;border-radius:999px;max-width:calc(100vw - 24px);padding:9px 16px;font-size:13px;transition:opacity .2s,transform .2s;position:fixed;top:76px;left:50%;transform:translate(-50%,-6px);box-shadow:0 10px 30px #0006}.toast.show{opacity:1;transform:translate(-50%)}dialog#library{border:1px solid var(--line-2);background:var(--glass-strong);width:min(760px,100vw - 24px);max-height:min(680px,100dvh - 40px);color:var(--text);border-radius:16px;padding:0;box-shadow:0 30px 80px #0000008c}dialog#library::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050a148c}.lib{max-height:inherit;flex-direction:column;display:flex}.lib>header{justify-content:space-between;align-items:center;padding:18px 20px 8px;display:flex}.lib>header h2{margin:0;font-size:18px;font-weight:600}.lib-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 16px;display:flex}.lib-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 10px 12px;font-weight:500;position:relative}.lib-tabs button[aria-selected=true]{color:var(--text)}.lib-tabs button[aria-selected=true]:after{content:"";background:var(--signal);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.lib-body{padding:16px 20px 20px;overflow:auto}.lib-body[hidden]{display:none}.lib-body .note{margin-bottom:14px}.lib-list{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.lib-list li{position:relative}.lib-list li.empty{color:var(--muted);grid-column:1/-1;font-size:13px}.lib-item{text-align:left;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:#ffffff08;flex-direction:column;gap:4px;width:100%;height:100%;padding:14px 14px 13px;transition:border-color .15s,background .15s;display:flex}.lib-item:hover{border-color:var(--signal);background:#f2c2300d}.lib-item strong{font-size:14.5px;font-weight:600}.lib-item span{color:var(--muted);font-size:12.5px;line-height:1.5}.lib-item .badge{color:var(--signal);border:1px solid #f2c23066;border-radius:999px;align-self:flex-start;padding:0 8px;font-size:11px;font-style:normal}.lib-del{border:1px solid var(--line-2);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:12px;position:absolute;top:8px;right:8px}.lib-del:hover{color:var(--danger);border-color:var(--danger)}body.embed .topbar,body.embed .inspector,body.embed .reopen,body.embed .hud,body.embed .view-tools,body.embed .hint{display:none!important}@media (max-width:860px){.topbar{flex-wrap:wrap;gap:8px;top:8px;left:8px;right:8px}.topbar .left{flex:100%}.model-btn{flex:1;min-width:0;max-width:none}.topbar .transport{flex:none}.topbar .right{flex:none;margin-left:auto}.topbar .icon-btn{width:34px;height:34px}.topbar .right a.icon-btn{display:none}.inspector{width:auto;height:44dvh;inset:auto 8px 8px}.reopen{top:auto;bottom:8px;right:8px}.hud{padding:6px 2px;bottom:calc(44dvh + 16px);left:8px}.gauge{padding:0 10px}.gauge .v{min-width:48px;font-size:13px}.view-tools{bottom:calc(44dvh + 16px);right:8px}.inspector[hidden]~.view-tools{bottom:8px;right:56px}.inspector[hidden]~.hud{bottom:8px}.hint{display:none}.lib-list{grid-template-columns:1fr}.kbd-hint{display:none}}@media (max-width:520px){.mark span,.topbar .right .primary-btn span{display:none}.topbar .right .primary-btn{padding:0 10px}.toggle{padding:5px 7px}#fitView{display:none}}@media (prefers-reduced-motion:reduce){.rec-btn.rec,.rec-badge .dot,.loading-mark{animation:none}.toast,.hint{transition:none}}
