:root{color:#edf2fa;font-synthesis:none;text-rendering:optimizelegibility;--bg:#090d14;--panel:#101722e6;--panel-light:#161f2ee6;--line:#9db2cf24;--muted:#8090a7;--text:#edf2fa;--accent:#ff9a64;--accent-soft:#ff9a6426;--blue:#94b6ff;background:#090d14;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%, #172235 0, var(--bg) 45%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.36}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b12b8;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex}.brand-lockup,.topbar-actions,.view-switcher,.saved-header{align-items:center;display:flex}.brand-lockup{gap:12px}.brand-mark{background:var(--accent);color:#24150e;letter-spacing:-.08em;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid;box-shadow:0 0 26px #ff9a6447}.brand-name{letter-spacing:.18em;font-size:12px;font-weight:800}.brand-subtitle{color:var(--muted);margin-top:3px;font-size:12px}.topbar-actions{gap:7px}.save-state{color:#9daabd;align-items:center;gap:7px;margin-right:12px;font-size:12px;display:flex}.status-dot{background:#65d7ae;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 10px #65d7aecc}.ghost-button{color:#aab5c8;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 11px;font-size:12px;transition:all .2s}.ghost-button:hover:not(:disabled){border-color:var(--line);color:#fff;background:#ffffff0a}.ghost-button.danger:hover:not(:disabled){color:var(--accent)}.workspace{grid-template-columns:265px minmax(420px,1fr) 330px;gap:14px;min-height:calc(100vh - 76px);padding:18px;display:grid}.panel,.stage-panel{border:1px solid var(--line);background:var(--panel);border-radius:16px;min-height:0;overflow:hidden;box-shadow:0 16px 50px #0000002e}.panel{padding:20px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.18em;font-size:9px;font-weight:800}h1{letter-spacing:-.04em;margin:6px 0 0;font-size:20px}.count-chip,.live-chip{color:#95a4bb;border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:4px 8px;font-size:10px}.live-chip{color:#73d7ae;align-items:center;gap:6px;display:flex}.panel-intro{color:var(--muted);margin:15px 0 18px;font-size:12px;line-height:1.7}.selected-joint-card{background:linear-gradient(135deg,#ff9a642b,#ff9a640a);border:1px solid #ff9a6440;border-radius:11px;flex-direction:column;gap:4px;padding:14px;display:flex}.selected-kicker,.selected-id{color:#be8b73;font-size:10px}.selected-joint-card strong{font-size:16px}.selected-id{color:#7e8ba0;font-family:ui-monospace,monospace}.angle-controls{gap:14px;margin-top:21px;display:grid}.translation-card{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.translation-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.translation-heading small{color:#697991;margin-top:5px;font-size:10px;display:block}.translation-controls{gap:12px;margin-top:13px}.angle-row{color:#a9b4c6;grid-template-columns:54px 1fr 40px;align-items:center;gap:8px;font-size:11px;display:grid}.angle-row output{text-align:right;color:var(--accent);font-family:ui-monospace,monospace;font-size:10px}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.control-note{color:#748197;margin:22px 0;font-size:10px;line-height:1.7}.control-note span{color:var(--accent);border:1px solid #ff9a6459;border-radius:4px;margin-right:4px;padding:1px 4px}.section-label{color:#91a0b5;letter-spacing:.04em;font-size:11px;font-weight:700}.quick-section{border-top:1px solid var(--line);padding-top:17px}.quick-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;display:grid}.quick-button{color:#9faabe;text-align:left;background:#ffffff0a;border-radius:7px;padding:8px 7px;font-size:11px;transition:all .18s}.quick-button:hover{background:var(--accent-soft);color:#ffc1a1}.digit-select-label{color:#77869b;gap:7px;margin-top:14px;font-size:10px;display:grid}.digit-select-label select{color:#cbd5e5;border:1px solid var(--line);background:#121b29;border-radius:8px;outline:none;width:100%;padding:9px 10px;font-size:11px}.digit-select-label select:focus{border-color:#ff9a648c}.stage-panel{background:#0b111b;flex-direction:column;display:flex}.stage-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 16px;display:flex}.view-switcher{gap:5px}.toolbar-label{color:#6f7d93;margin-right:5px;font-size:11px}.view-button{color:#8190a6;background:0 0;border-radius:7px;padding:7px 10px;font-size:11px}.view-button.active,.view-button:hover{color:#f9c0a2;background:var(--accent-soft)}.camera-readout{color:#7d8ca3;font-size:11px}.canvas-wrap{flex:1;min-height:560px;position:relative}.pose-canvas{position:absolute;top:0;bottom:0;left:0;right:0}.canvas-hint{z-index:2;color:#75849a;border:1px solid var(--line);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090d149e;border-radius:99px;padding:8px 11px;font-size:10px;position:absolute;bottom:16px;left:18px}.hint-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;margin-right:6px;display:inline-block}.output-panel{flex-direction:column;display:flex}.output-heading{align-items:center}.prompt-box{resize:vertical;color:#cad5e6;background:#04080e8c;border:1px solid #93add52e;border-radius:10px;outline:none;width:100%;min-height:285px;padding:14px;font-size:12px;line-height:1.8}.prompt-box:focus{border-color:#ff9a6480}.primary-button{color:#25150e;background:var(--accent);border-radius:9px;margin-top:10px;padding:12px 14px;font-size:12px;font-weight:800;transition:all .2s;box-shadow:0 7px 20px #ff9a6426}.primary-button:hover{background:#ffb38b;transform:translateY(-1px)}.saved-section{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.saved-header{justify-content:space-between}.text-button{color:var(--accent);background:0 0;padding:0;font-size:11px}.text-button:hover{color:#ffc1a1}.saved-list{gap:5px;max-height:175px;margin-top:9px;display:grid;overflow-y:auto}.saved-item{background:#ffffff09;border-radius:8px;justify-content:space-between;align-items:center;display:flex}.saved-load{color:#d3dbea;text-align:left;background:0 0;align-items:center;gap:9px;min-width:0;padding:9px;display:flex}.saved-load strong,.saved-load small{display:block}.saved-load strong{font-size:11px;font-weight:600}.saved-load small{color:#718098;margin-top:3px;font-size:9px}.saved-icon{color:var(--accent)}.delete-button{color:#647187;background:0 0;padding:9px;font-size:16px}.delete-button:hover{color:#ff867d}.empty-saved{color:#65748b;padding:12px 0 2px;font-size:11px;line-height:1.7}.workflow-card{color:#718098;align-items:center;gap:5px;margin-top:auto;padding-top:18px;font-size:9px;line-height:1.4;display:flex}.workflow-card i{color:#47566d;margin:0 1px;font-style:normal}.workflow-number{width:20px;height:20px;color:var(--accent);background:var(--accent-soft);border-radius:5px;place-items:center;font-size:9px;display:grid}.toast{z-index:20;color:#2b1810;background:#ffbd96;border-radius:99px;padding:10px 16px;font-size:12px;font-weight:700;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0000004d}@media (max-width:1180px){.workspace{grid-template-columns:235px minmax(360px,1fr) 290px;gap:10px;padding:12px}.panel{padding:16px}.canvas-wrap{min-height:520px}}@media (max-width:920px){.workspace{grid-template-columns:220px minmax(0,1fr)}.output-panel{grid-column:1/-1;min-height:auto}.prompt-box{min-height:190px}.workflow-card{margin-top:18px}}@media (max-width:680px){.topbar{align-items:flex-start;height:auto;min-height:68px;padding:12px 14px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:2px}.save-state{justify-content:flex-end;width:100%;margin:0 0 2px}.workspace{flex-direction:column;padding:8px;display:flex}.controls-panel{order:2}.stage-panel{order:1;min-height:540px}.output-panel{order:3}.canvas-wrap{min-height:480px}.stage-toolbar{padding:0 10px}.camera-readout{display:none}.canvas-hint{text-align:center;left:10px;right:10px}}
