:root{font-family:Microsoft YaHei UI,PingFang SC,system-ui,sans-serif;color:#d9e9e8;background:#071114;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #071114;--panel: #0c1a1e;--panel-2: #102329;--line: rgba(169, 215, 218, .15);--muted: #789397;--accent: #4ddad2;--accent-2: #25a8cb;--cream: #fff8e8}*{box-sizing:border-box}body{margin:0;min-width:1080px;min-height:720px;overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{min-height:100vh;background:radial-gradient(circle at 55% 38%,#15353b 0,#091518 42%,#061013);display:grid;grid-template-rows:64px 1fr}.topbar{display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:22px;padding:0 18px;border-bottom:1px solid var(--line);background:#071114eb;backdrop-filter:blur(16px);z-index:4}.brand{display:flex;align-items:center;gap:12px}.brand-crown{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#062328;background:linear-gradient(135deg,var(--accent),var(--accent-2));font-size:22px}.brand strong{display:block;font-size:16px;letter-spacing:.08em}.brand span{display:block;font:10px Consolas,monospace;color:var(--muted);letter-spacing:.13em;margin-top:2px}.project-name{width:min(360px,100%);justify-self:center;color:#dcebea;background:transparent;border:0;border-bottom:1px solid transparent;text-align:center;font-weight:600;padding:8px}.project-name:hover,.project-name:focus{border-color:var(--line)}.top-actions{display:flex;align-items:center;gap:8px}.save-state{color:var(--muted);font-size:11px;margin-right:6px;white-space:nowrap}.save-state.saved{color:#8cbfaf}.save-state.error{color:#ff9c88}.soft-button,.primary-button,.wide-button{border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#12252a;cursor:pointer;font-size:12px}.soft-button:hover,.wide-button:hover{border-color:#4ddad273;background:#163038}.primary-button{color:#052528;border-color:transparent;background:linear-gradient(135deg,var(--accent),#46bdcf);font-weight:700}.workspace{min-height:0;display:grid;grid-template-columns:230px minmax(540px,1fr) 250px}.sidebar{min-height:0;overflow-y:auto;padding:18px 14px;background:#09171bf0;z-index:2}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 12px;text-transform:uppercase;letter-spacing:.08em}.panel-heading span{font-size:12px;font-weight:700}.panel-heading small{font:10px Consolas,monospace;color:var(--muted)}.section-gap{margin-top:22px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.preset-grid button{min-height:68px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;text-align:left;border:1px solid var(--line);border-radius:10px;color:#cfe0df;background:#102228;padding:10px;cursor:pointer}.preset-grid button:hover{transform:translateY(-1px);border-color:#4ddad280;background:#153039}.preset-grid b{font:10px Consolas,monospace;color:var(--accent)}.preset-grid span{grid-column:1 / -1;font-size:13px;font-weight:600}.preset-grid small{color:var(--muted);font:9px Consolas,monospace}.field-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;padding:8px 4px}.field-label input{width:44px;height:28px;background:none;border:0}.tip-card,.spec-note{border:1px solid rgba(77,218,210,.18);background:linear-gradient(145deg,#1f656a29,#0c1d2180);border-radius:12px;padding:13px;margin-top:18px}.tip-card b,.spec-note span{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.tip-card p,.spec-note p{color:var(--muted);font-size:11px;line-height:1.6;margin:7px 0 0}.stage-column{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:45px minmax(0,1fr) 142px}.stage-toolbar{display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:#081417bf;z-index:2}.stage-toolbar button{border:0;background:transparent;color:var(--muted);padding:7px 10px;cursor:pointer;border-radius:7px;font-size:11px}.stage-toolbar button:hover,.stage-toolbar button.tool-active{color:var(--accent);background:#4ddad21a}.mode-pill{display:flex;padding:3px;border:1px solid var(--line);background:#0d1d21;border-radius:8px;margin-right:6px}.mode-pill span{padding:5px 10px;color:var(--muted);font-size:11px}.mode-pill .active{color:#082326;background:var(--accent);border-radius:5px;font-weight:700}.stage-status{margin-left:auto;color:#567176;font:9px Consolas,monospace;text-transform:uppercase}.viewport{position:relative;min-height:0;overflow:hidden;background:#dff5f7}.viewport canvas{width:100%;height:100%;display:block;cursor:grab}.viewport canvas:active{cursor:grabbing}.viewport-2d canvas{touch-action:none;image-rendering:auto}.viewport-help{position:absolute;z-index:2;left:50%;bottom:14px;transform:translate(-50%);color:#e1f6f6d9;background:#041215a8;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(9px);border-radius:99px;padding:7px 12px;font-size:10px;pointer-events:none;white-space:nowrap}.model-status{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:10px 16px;border:1px solid rgba(57,214,207,.35);border-radius:10px;color:#dffafa;background:#05171bdb;font-size:12px;pointer-events:none}.model-status.error{color:#ffd3cc;border-color:#ff8e7c73}.timeline{border-top:1px solid var(--line);background:#09181c;padding:11px 14px 16px}.timeline-controls{height:35px;display:flex;align-items:center;gap:10px}.transport{width:30px;height:30px;border:0;border-radius:50%;color:#062226;background:var(--accent);cursor:pointer;font-size:12px}.time-readout{min-width:105px;font:12px Consolas,monospace}.time-readout small{color:var(--muted)}.timeline-ruler{position:relative;height:67px;padding-top:14px}.timeline-ruler input{width:100%;accent-color:var(--accent)}.markers{position:absolute;top:43px;left:7px;right:7px;height:22px;border-top:1px solid var(--line)}.keyframe-marker{position:absolute;top:-8px;width:13px;height:22px;transform:translate(-50%);border:0;background:transparent;padding:0;cursor:pointer}.keyframe-marker span{display:block;width:10px;height:10px;transform:rotate(45deg);background:var(--accent);border:2px solid #092027}.keyframe-marker i{display:none;position:absolute;top:15px;left:0;color:#ff8e7c;font-style:normal}.keyframe-marker:hover i{display:block}.inspector-section{border-top:1px solid var(--line);padding:15px 2px}.inspector-section h3{margin:0 0 11px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.expression-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.expression-grid button{border:1px solid var(--line);border-radius:7px;padding:8px 4px;color:#9eb2b3;background:#0f2227;font-size:11px;cursor:pointer}.expression-grid button.selected{color:#072326;border-color:var(--accent);background:var(--accent);font-weight:700}.slider-label{display:flex;justify-content:space-between;color:#a8bdbe;font-size:11px}.slider-label output{color:var(--accent);font:10px Consolas,monospace}.inspector-section input[type=range]{width:100%;accent-color:var(--accent);margin-top:10px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.two-fields label{color:var(--muted);font-size:10px}.two-fields select,.two-fields input{width:100%;color:#d2e2e1;border:1px solid var(--line);border-radius:7px;background:#102328;padding:7px;margin-top:6px;font-size:11px}.export-block{display:grid;gap:7px}.export-block h3{margin:0 0 4px}.wide-button{width:100%;text-align:left}.wide-button.disabled{color:#536b6e;cursor:not-allowed}.toast{position:fixed;z-index:20;left:50%;top:73px;transform:translate(-50%);color:#bcd0d0;background:#061417d6;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:10px;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fatal-error,.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:start;gap:14px;padding:40px;background:#071114}.fatal-error h1{margin:0;font-size:42px}.fatal-error p{color:var(--muted)}.eyebrow{color:var(--accent);font:11px Consolas,monospace;letter-spacing:.14em}@media(max-width:1220px){.workspace{grid-template-columns:205px minmax(520px,1fr) 225px}.save-state{display:none}}.scene-app{height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr);background:radial-gradient(circle at 52% 35%,#16353b 0,#091518 44%,#061013)}.scene-topbar{grid-template-columns:265px minmax(260px,1fr) auto}.scene-title{min-width:0;text-align:center}.scene-title strong{display:block;color:#e7f2f1;font-size:13px}.scene-title span{display:block;overflow:hidden;color:var(--muted);font-size:10px;margin-top:3px;text-overflow:ellipsis;white-space:nowrap}.scene-workspace{min-height:0;display:grid;grid-template-columns:250px minmax(560px,1fr) 265px}.scene-sidebar{min-height:0;overflow-y:auto;padding:18px 14px;background:#09171bf5}.pose-library{border-right:1px solid var(--line)}.scene-inspector{border-left:1px solid var(--line)}.scene-pose-list{display:grid;gap:8px}.scene-pose-list button{width:100%;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:10px;color:#c9dcdb;text-align:left;border:1px solid var(--line);border-radius:11px;background:#102228;cursor:pointer;transition:.16s ease}.scene-pose-list button:hover{transform:translateY(-1px);border-color:#4ddad26b;background:#153038}.scene-pose-list button.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #4ddad233;background:linear-gradient(135deg,#1c5154b3,#11272c)}.scene-pose-list button>b{width:38px;height:38px;display:grid;place-items:center;color:#08272a;background:linear-gradient(135deg,var(--accent),#54b7d1);border-radius:9px;font-size:19px}.scene-pose-list button span{min-width:0}.scene-pose-list strong,.scene-pose-list small{display:block}.scene-pose-list strong{font-size:12px}.scene-pose-list small{color:var(--muted);font-size:10px;margin-top:4px}.upload-card{width:100%;min-height:78px;display:grid;place-content:center;gap:7px;color:#bcd2d1;border:1px dashed rgba(77,218,210,.36);border-radius:11px;background:#14363c73;cursor:pointer}.upload-card:hover{background:#194b518a}.upload-card b{color:var(--accent);font-size:12px}.upload-card span{max-width:190px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.scene-stage-column{min-width:0;min-height:0;display:grid;grid-template-rows:45px minmax(0,1fr)}.scene-toolbar{display:flex;align-items:center;gap:14px;padding:0 14px;color:#668187;font-size:10px;border-bottom:1px solid var(--line);background:#081417c7}.scene-toolbar>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-canvas{position:relative;min-height:0;overflow:hidden;background:#071518}.scene-canvas canvas{width:100%;display:block;background:#cde8e9;border-bottom:1px solid rgba(77,218,210,.32);box-shadow:0 8px 22px #00000047;cursor:grab;touch-action:none}.scene-canvas canvas:active{cursor:grabbing}.scene-canvas.erase-mode canvas,.scene-canvas.erase-mode canvas:active{cursor:crosshair}.scene-hint{position:absolute;left:50%;bottom:9px;transform:translate(-50%);padding:6px 13px;color:#cde8e7e0;font-size:10px;white-space:nowrap;border:1px solid rgba(77,218,210,.15);border-radius:99px;background:#0b1f23f0;pointer-events:none}.scene-control{padding:12px 3px;border-top:1px solid rgba(169,215,218,.09)}.scene-control label{display:flex;justify-content:space-between;color:#a9bdbd;font-size:11px}.scene-control output{color:var(--accent);font:10px Consolas,monospace}.scene-control input[type=range]{width:100%;accent-color:var(--accent);margin-top:11px}.scene-control.compact{margin-top:10px;padding-bottom:4px}.scene-button-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:5px 0 17px}.scene-button-row button{padding:9px 7px;color:#a7bdbc;font-size:10px;border:1px solid var(--line);border-radius:8px;background:#102328;cursor:pointer}.scene-button-row button:hover,.scene-button-row button.selected{color:var(--accent);border-color:#4ddad273}.mask-tools .wide-button{margin-top:7px}.wide-button.tool-active{color:#052528;border-color:transparent;background:var(--accent);font-weight:700}.scene-inspector .export-block{display:block}.scene-inspector .export-block .primary-button{margin-top:2px;text-align:center}@media(max-width:1220px){.scene-workspace{grid-template-columns:215px minmax(520px,1fr) 230px}.scene-title span{display:none}}
