:root{--bg: #15171f;--bg-panel: #1b1e29;--bg-toolbar: #11131b;--bg-viewport: #1f2230;--border: #2b3040;--text: #d7dbe6;--text-dim: #8b91a3;--accent: #5b9eff;--accent-strong: #4a8ae0;--primary: #5b9eff;--primary-hover: #6db0ff;--slider-fill: #4a8ae0;--hover: #232736}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,sans-serif;font-size:13px;overflow:hidden}#app{display:grid;grid-template-rows:44px 1fr;grid-template-columns:1fr 320px;grid-template-areas:"toolbar toolbar" "viewport sidebar";height:100vh;width:100vw}#toolbar{grid-area:toolbar;background:var(--bg-toolbar);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 14px;flex-wrap:wrap;min-height:44px}.brand{font-weight:600;font-size:14px;letter-spacing:.2px;margin-right:4px}.brand .accent{color:var(--accent)}.site-back{border:1px solid var(--accent-strong);border-radius:4px;padding:5px 10px;color:var(--text);background:var(--bg-panel);font-size:12px;font-weight:600;text-decoration:none}.site-back:hover,.site-back:focus-visible{border-color:var(--primary-hover);color:#0a1020;background:var(--primary);outline:none}.github-link{margin-left:auto;color:var(--accent, #4aa);font-size:13px;font-weight:500;text-decoration:none;padding:4px 8px;border:1px solid var(--border);border-radius:4px}.github-link:hover{background:var(--bg-toolbar-hover, rgba(255, 255, 255, .08))}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-group+.toolbar-group{border-left:1px solid var(--border);padding-left:14px;margin-left:-2px}.view-label{color:var(--text-dim);margin-right:2px}button{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}button:hover{background:var(--hover);border-color:var(--accent-strong)}button:active{background:var(--bg)}button.primary{background:var(--primary);border-color:var(--primary);color:#0a1020;font-weight:600}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}#viewport{grid-area:viewport;position:relative;background:var(--bg-viewport);overflow:hidden}#canvas{display:block;width:100%;height:100%}#stats{position:absolute;top:10px;left:10px;background:#0f1119c7;padding:8px 12px;border-radius:4px;font-size:12px;color:var(--text);line-height:1.5;pointer-events:none;backdrop-filter:blur(4px);border:1px solid var(--border);min-width:120px}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-label{color:var(--text-dim);text-transform:uppercase;font-size:10px;letter-spacing:.5px}.stat-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent)}#hud{position:absolute;bottom:10px;left:10px;background:#0f1119b3;padding:6px 10px;border-radius:4px;font-size:11px;color:var(--text-dim);line-height:1.6;pointer-events:none;backdrop-filter:blur(4px)}.hud-label{color:var(--accent);margin:0 2px 0 8px}.hud-label:first-child{margin-left:0}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0f1119d9;padding:12px 18px;border-radius:6px;border:1px solid var(--border);color:var(--text);font-size:13px}#sidebar{grid-area:sidebar;background:var(--bg-panel);border-left:1px solid var(--border);overflow-y:auto;padding:12px}.sidebar-section{margin-bottom:14px}.sidebar-section h3{margin:8px 4px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.tree-group{margin-bottom:6px;border:1px solid var(--border);border-radius:6px;background:#0000001f;overflow:hidden}.tree-group>summary{list-style:none;cursor:pointer;padding:7px 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text);background:var(--bg-toolbar);user-select:none;display:flex;align-items:center;gap:6px;border-bottom:1px solid transparent;transition:background .12s ease,border-color .12s ease}.tree-group[open]>summary{border-bottom-color:var(--border)}.tree-group>summary::-webkit-details-marker{display:none}.tree-group>summary:before{content:"▸";font-size:10px;color:var(--text-dim);transition:transform .12s ease;display:inline-block;width:10px}.tree-group[open]>summary:before{transform:rotate(90deg)}.tree-group>summary:hover{background:var(--hover)}.tree-category{padding:0 4px}.tree-category>summary{list-style:none;cursor:pointer;padding:5px 10px 5px 22px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);user-select:none;display:flex;align-items:center;gap:6px;border-radius:4px;margin:2px 4px;transition:color .12s ease,background .12s ease}.tree-category>summary::-webkit-details-marker{display:none}.tree-category>summary:before{content:"▸";font-size:9px;color:var(--text-dim);transition:transform .12s ease;display:inline-block;width:9px}.tree-category[open]>summary:before{transform:rotate(90deg)}.tree-category>summary:hover{color:var(--accent);background:var(--hover)}.tree-category .sliders{padding:2px 4px 6px 10px}.slider-row{padding:6px 4px;border-radius:4px;display:flex;flex-direction:column;gap:4px}.slider-row:hover{background:var(--hover)}.slider-header{display:flex;align-items:center;justify-content:space-between}.slider-label{font-size:12px;color:var(--text)}.slider-value{font-variant-numeric:tabular-nums;font-size:11px;color:var(--accent);background:#5b9eff1f;padding:1px 6px;border-radius:3px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--border);border-radius:4px;outline:none;cursor:pointer;margin:2px 0 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--slider-fill);cursor:pointer;border:2px solid var(--bg-panel);box-shadow:0 0 0 1px var(--accent-strong)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--slider-fill);cursor:pointer;border:2px solid var(--bg-panel);box-shadow:0 0 0 1px var(--accent-strong)}.slider-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim);margin-top:-2px}.slider-min,.slider-max{cursor:pointer;padding:1px 3px;border-radius:3px;transition:background .12s ease,color .12s ease;outline:none}.slider-min:hover,.slider-max:hover,.slider-min:focus-visible,.slider-max:focus-visible{background:#5b9eff2e;color:var(--accent)}.slider-bound-input{width:56px;font-size:10px;font-family:inherit;background:var(--bg);color:var(--accent);border:1px solid var(--accent-strong);border-radius:3px;padding:1px 3px;outline:none}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:var(--bg-panel);color:var(--text);border:1px solid var(--accent-strong);border-radius:6px;padding:8px 14px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:1000}.toast.show{opacity:1;transform:translate(-50%)}.advanced-toggle,.sliders-advanced{display:none}#sidebar::-webkit-scrollbar{width:8px}#sidebar::-webkit-scrollbar-track{background:transparent}#sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}#pose-panel{position:absolute;top:10px;right:10px;background:#0f1119c7;padding:8px 12px;border-radius:4px;border:1px solid var(--border);backdrop-filter:blur(4px);min-width:200px;max-width:240px}#pose-panel .slider-row{padding:2px 0}#pose-panel .slider-row:hover{background:transparent}#pose-panel .slider-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.pose-reset{padding:2px 8px;font-size:10px;align-self:flex-end;margin-top:2px}.export-pose-opt{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);cursor:pointer;user-select:none;white-space:nowrap}.export-pose-opt input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}@media (max-width: 720px){#app{grid-template-rows:auto auto 1fr;grid-template-columns:1fr;grid-template-areas:"toolbar" "sidebar" "viewport"}#sidebar{max-height:220px;border-left:none;border-top:1px solid var(--border)}}
