:root{color-scheme:dark;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#eee8df;background:#141412;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 15%,#24231e 0,transparent 65%);min-height:100dvh}button{font:inherit}button:focus-visible,summary:focus-visible{outline:2px solid #e4bc84;outline-offset:4px}.masthead{height:78px;max-width:1500px;padding:0 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c}.brand{display:flex;align-items:center;gap:12px}.moon{color:#e1c49b;font-size:32px;line-height:1}h1{font-size:20px;font-weight:600;letter-spacing:3px;margin:0}.workspace-label{color:#989387;font-size:12px;letter-spacing:2px}.workspace{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:40px;padding:26px 34px 20px}.viewer{min-width:0}.stage{height:calc(100dvh - 166px);min-height:240px;position:relative;display:flex;align-items:center;justify-content:center;background:#0c0e0c;border:1px solid #ffffff0c;border-radius:16px;overflow:hidden}.art-frame{height:100%;max-width:100%;aspect-ratio:2/3;position:relative;flex:none}.art-frame img,.art-frame canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.art-frame img{object-fit:contain}.art-frame canvas{pointer-events:none}.art-frame canvas[hidden]{display:none}.image-status{position:absolute;bottom:20px;left:20px;right:20px;padding:12px 16px;background:#151914eb;border:1px solid #9c8067;border-radius:10px;text-align:center;font-size:13px;color:#f0dabc}.image-status[hidden]{display:none}.viewer-footer{display:flex;justify-content:space-between;gap:12px;margin:13px 3px;color:#948f84;font-size:11px}.live-dot{display:inline-block;width:5px;height:5px;background:#abb899;border-radius:100%;margin-right:7px;vertical-align:2px}.controls{padding-top:8px;min-width:0}.eyebrow{font-size:11px;letter-spacing:3px;color:#a49885;margin:0 0 13px}h2{font-size:28px;letter-spacing:1px;font-weight:500;margin:0 0 13px}.scene-tag{display:inline-block;font-size:11px;color:#d2b48b;background:#b4977120;border:1px solid #b4977138;padding:5px 9px;border-radius:5px}.scene-intro>p:last-child{font-size:13px;line-height:1.9;color:#aaa396;min-height:49px;margin:17px 0 20px}.scene-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scene-choice{border:1px solid #ffffff14;background:#25241f;color:#aaa396;padding:0;overflow:hidden;border-radius:9px;cursor:pointer;transition:border-color .18s,background .18s}.scene-choice img{display:block;width:100%;height:77px;object-fit:cover;object-position:center 37%}.scene-choice span{display:block;padding:8px 1px;font-size:11px;white-space:nowrap}.scene-choice[aria-pressed=true]{border-color:#dfbd8b;background:#42382a;color:#f2dfc5}.scene-choice:hover{border-color:#c5a16f}.scene-help{font-size:11px;line-height:1.8;color:#8e897e;margin:12px 0 22px}.actions{display:flex;gap:10px}.actions button{flex:1;padding:12px 6px;border:1px solid #ffffff22;border-radius:8px;background:#ffffff05;color:#d7cfc2;font-size:12px;cursor:pointer}.actions button:hover{background:#ffffff0c}.actions button:disabled{opacity:.4;cursor:default}.action-status{font-size:12px;color:#d2b48b;margin:8px 0;min-height:17px}.next-step{display:flex;gap:13px;padding:19px 0;border-top:1px solid #ffffff0e;border-bottom:1px solid #ffffff0e;margin-top:12px}.step-number{font-size:21px;font-weight:300;color:#8d795e}.next-step strong{font-size:13px;font-weight:500;color:#d9c7ad}.next-step p{font-size:11px;line-height:1.8;color:#969082;margin:7px 0 0}.production-status{margin-top:20px;font-size:12px;color:#918a7d;line-height:1.9}.production-status summary{cursor:pointer;color:#b8af9f}.production-status strong{color:#d5c5b0;font-weight:500}.production-status p{margin:12px 0}.stage:fullscreen{width:100vw;height:100dvh;border:0;border-radius:0;background:#080a09}.stage:fullscreen .art-frame{max-width:100vw}.stage:fullscreen .image-status{max-width:500px;margin:auto}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:22px;padding-left:22px;padding-right:22px}.masthead{padding:0 22px}.scene-choice img{height:64px}.scene-choice span{font-size:10px}h2{font-size:25px}}@media(max-width:650px){.masthead{height:65px;padding:0 18px}.workspace{grid-template-columns:1fr;padding:16px 18px;gap:16px}.stage{height:min(68dvh,690px)}.controls{padding:5px 0 30px}.scene-intro>p:last-child{min-height:0}.scene-picker{grid-template-columns:repeat(3,1fr)}.scene-choice img{height:85px}.scene-choice span{font-size:12px}.workspace-label{font-size:10px;letter-spacing:1px}.viewer-footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.interaction-guide{margin-top:20px;border:1px solid #b4977130;border-radius:10px;padding:13px;font-size:12px;line-height:1.8;color:#aaa396}.interaction-guide summary{cursor:pointer;color:#e1c49b}.interaction-guide summary span{float:right;font-size:10px;color:#918a7d}.join-flow{padding-left:20px}.command-guide{display:grid;gap:9px}.command-row{display:grid;grid-template-columns:92px 1fr;gap:0 4px;padding-bottom:8px;border-bottom:1px solid #ffffff0a}.command-row strong{color:#dacbb4;font-weight:500}.command-row small{grid-column:2;color:#8e897e;font-size:10px}.guide-note{font-size:11px;color:#938c7f}

#try-blink{margin:6px 0;padding:9px 14px;border:1px solid #dfbd8b70;border-radius:7px;background:#42382a;color:#f2dfc5;cursor:pointer;font:inherit;font-size:12px}#try-blink:disabled{opacity:.4;cursor:default}

.local-command-form{margin-top:10px}.local-command-form label{display:block;font-size:11px;color:#c9b99f;margin-bottom:5px}.local-command-form>div{display:flex;gap:6px}.local-command-form input{min-width:0;width:100%;background:#151713;border:1px solid #ffffff25;color:#eee8df;border-radius:6px;padding:9px;font:inherit;font-size:12px}.local-command-form button{white-space:nowrap;background:#42382a;color:#f2dfc5;border:1px solid #dfbd8b70;border-radius:6px;padding:6px 10px;cursor:pointer}.local-command-form button:disabled{opacity:.4;cursor:default}

.camera-panel{border:1px solid #b4977130;border-radius:9px;padding:12px;margin-top:14px;font-size:12px;color:#aaa396;line-height:1.7}.camera-panel summary{color:#d9c7ad;cursor:pointer}.camera-panel p{font-size:11px;margin:8px 0}.camera-buttons{display:flex;gap:6px}.camera-buttons button{flex:1;border:1px solid #ffffff20;background:#332f26;border-radius:6px;padding:8px 2px;font:inherit;font-size:11px;color:#e1c49b;cursor:pointer}
.actor-controls{margin-top:14px;border-top:1px solid #b4977130;padding-top:16px}.actor-controls h3{font-size:16px;font-weight:500;color:#e1c49b;margin:0 0 8px}.actor-controls p{font-size:11px;line-height:1.8;color:#a69c8c}.actor-controls>label{display:block;font-size:11px;color:#c9b99f;margin:12px 0 6px}.actor-controls select{width:100%;padding:10px;border:1px solid #ffffff25;background:#24231e;color:#eee8df;border-radius:7px;font:inherit;font-size:12px}.actor-controls .actions{margin-top:10px}.actor-controls .command-guide{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.command-guide button{padding:8px 10px;background:#42382a;color:#e6d3b6;border:1px solid #b4977140;border-radius:6px;font:inherit;font-size:11px;cursor:pointer}button:disabled{opacity:.4;cursor:default}.follow-label{line-height:1.8}.follow-label input{accent-color:#b49771;vertical-align:middle}.art-frame{overflow:hidden}#actors-canvas{z-index:1}#environment{z-index:2}.stage{position:sticky;top:16px}@media(max-width:650px){.stage{position:relative;top:auto}}
@media(max-width:650px){.viewer{position:sticky;top:0;z-index:8;background:#141412;padding-top:6px}.stage{height:min(44dvh,420px);min-height:200px}.viewer-footer{margin:7px 3px}.workspace{align-items:start}.masthead{height:56px}.scene-intro>p:last-child{margin:10px 0}.scene-help{margin-bottom:12px}}
.gift-star{margin-top:12px;width:100%;padding:11px;border:1px solid #c7a76b60;border-radius:7px;color:#e6cf9e;background:linear-gradient(110deg,#3e3525,#292d30);font:inherit;font-size:12px;cursor:pointer}.gift-note{font-size:10px!important;color:#928674!important}
.motion-diagnostics{margin-top:16px;color:#b8af9f;font-size:12px;line-height:1.8}.motion-diagnostics summary{cursor:pointer}.motion-diagnostics button{padding:9px;margin-top:9px;background:#302d25;color:#d9c7ad;border:1px solid #b4977140;border-radius:6px}.motion-diagnostics p{font-size:11px;color:#969082}
/* Separate scroll regions prevent the pinned preview from covering controls. */
@media(max-width:650px){
 body{height:100dvh;overflow:hidden}.masthead{height:56px}
 .workspace{height:calc(100dvh - 56px);grid-template-rows:minmax(150px,40%) minmax(0,1fr);gap:12px;padding:10px 18px;overflow:hidden}
 .viewer{position:relative;top:auto;z-index:auto;min-height:0;height:100%;display:flex;flex-direction:column;padding:0}
 .stage{position:relative;top:auto;flex:1;height:auto;min-height:0}.viewer-footer{flex-shrink:0;margin:6px 3px}
 .controls{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 28px;scroll-padding-block:12px}
}
.test-tools{display:flex;gap:8px;margin:10px 0}.test-tools button{flex:1;padding:10px 7px;border:1px solid #b4977160;border-radius:7px;background:#393327;color:#ead4b1;font:inherit;font-size:12px;cursor:pointer}.controls-hint{padding:9px 10px;background:#b4977115;border-radius:6px;color:#d6bd98!important}.interaction-feedback{min-height:22px;color:#e2c58f!important;line-height:1.7}
.preview-feedback{font-size:12px;color:#e2c58f;line-height:1.5;padding:6px 10px;margin:4px 0;background:#28251d;border-radius:6px;flex-shrink:0;min-height:30px}#residency-controls[hidden]{display:none}#residency-controls>label{display:block;font-size:11px;color:#c9b99f;margin:12px 0 6px}.viewer{min-height:0}.controls{scrollbar-gutter:stable}
/* Keep character feedback legible while the mobile control pane remains scrollable. */
@media(max-width:650px){.workspace{grid-template-rows:minmax(200px,56%) minmax(0,1fr)}.preview-feedback{font-size:11px;margin:2px 0;padding:4px 8px}.viewer-footer{margin:3px}}
