:root{--page: #e1e0d9;--page-deep: #d2d3cc;--surface: #f7f6f1;--surface-raised: #fcfbf7;--surface-muted: #eeefe9;--surface-tint: #e7eee9;--canvas: #dfe6e1;--canvas-deep: #d1dad4;--canvas-line: rgb(28 53 43 / 24%);--ink: #18211d;--ink-soft: #414d46;--ink-muted: #717a74;--moss: #245b47;--moss-strong: #193f32;--moss-soft: rgb(36 91 71 / 9%);--teal: #2d7169;--teal-soft: rgb(45 113 105 / 10%);--brass: #9d7c3a;--brass-soft: rgb(157 124 58 / 14%);--cinnabar: #a94b3d;--cinnabar-soft: rgb(169 75 61 / 10%);--chrome: #173f34;--chrome-deep: #103128;--chrome-ink: #f2f4ee;--line: rgb(24 33 29 / 12%);--line-strong: rgb(24 33 29 / 21%);--focus: rgb(45 113 105 / 25%);--shadow-soft: 0 8px 22px rgb(38 43 37 / 8%);--shadow-float: 0 18px 44px rgb(31 39 33 / 14%);--shadow-workspace: 0 20px 54px rgb(31 39 33 / 10%);--radius: 6px;--radius-lg: 8px;--control-height: 40px;--motion-fast: .16s;--motion-panel: .19s;--motion-stage: .22s;--motion-feedback: .36s;--motion-ease: cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--page);font-family:Noto Sans SC,Source Han Sans SC,Microsoft YaHei,PingFang SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%;color-scheme:light;background:var(--page)}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background-color:var(--page);background-image:repeating-linear-gradient(0deg,rgb(255 255 255 / 8%) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgb(24 33 29 / 1.5%) 0 1px,transparent 1px 8px);background-attachment:fixed}button,input,select,textarea{font:inherit}button,.import-button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:0 14px;color:var(--ink);background:var(--surface-raised);box-shadow:0 1px #ffffffc2 inset,0 1px 2px #18211d0a;font-weight:650;line-height:1.25;overflow-wrap:anywhere;text-align:center;cursor:pointer;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}button:hover,.import-button:hover{border-color:#295b4757;color:var(--moss);background:var(--surface-tint)}button:active,.import-button:active{background:#e4eae4;box-shadow:0 1px 2px #1d262217 inset;transform:translateY(1px)}button:disabled{border-color:var(--line);color:#8a918c;background:#e4e5dfc7;box-shadow:none;cursor:not-allowed;opacity:1}button[aria-busy=true]:before{width:13px;height:13px;flex:0 0 13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:task-spinner .72s linear infinite}button[aria-busy=true]{cursor:progress}button:focus-visible,.import-button:focus-within,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}form button[type=submit],#create-character-button{border-color:var(--moss);color:#fffdf8;background:var(--moss);box-shadow:0 1px #ffffff29 inset,0 8px 18px #295b4724}form button[type=submit]:hover,#create-character-button:hover{border-color:var(--moss-strong);color:#fffdf8;background:var(--moss-strong)}.ghost-button,.secondary-button,.placement-select-button,.part-select-button,.sprite-scale-actions button{border-color:var(--line);color:var(--ink-soft);background:transparent;box-shadow:none}.ghost-button:hover,.secondary-button:hover,.placement-select-button:hover,.part-select-button:hover,.sprite-scale-actions button:hover{border-color:#295b474d;color:var(--moss);background:var(--moss-soft)}.compact-button{min-height:36px;padding:0 12px;font-size:13px}.command-button{border-color:#245b4757;color:var(--moss);background:var(--moss-soft);box-shadow:none}.command-button:hover{border-color:var(--moss);color:var(--moss-strong);background:#245b4724}.import-button{position:relative;border-color:#295b476b;color:var(--moss);background:transparent}.import-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}label{display:grid;gap:7px;color:var(--ink-soft);font-size:13px;line-height:1.45}input,select,textarea{width:100%;min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius);padding:9px 11px;color:var(--ink);background:var(--surface-raised);box-shadow:0 1px 2px #1d26220a inset;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}input:hover,select:hover,textarea:hover{border-color:#295b4752}input:focus,select:focus,textarea:focus{border-color:var(--teal);background:#fffefb;box-shadow:0 0 0 1px #2f786d1f inset}input::placeholder,textarea::placeholder{color:#8e978f}input[type=checkbox]{width:16px;min-height:16px;margin:0;accent-color:var(--moss)}input[type=range]{min-height:24px;border:0;padding:0;background:transparent;box-shadow:none;accent-color:var(--moss)}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--moss-soft),rgb(29 38 34 / 14%))}input[type=range]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;border:2px solid var(--surface-raised);border-radius:50%;background:var(--moss);box-shadow:0 1px 4px #1d26223d;appearance:none}textarea{min-height:96px;resize:vertical}select option{color:var(--ink);background:var(--surface-raised)}h1,h2,p,pre{margin:0}h1,.auth-grid h2{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;letter-spacing:0}h2,.canvas-card-title,.workflow-title strong,.preview-export-header strong,.motion-adaptation-header strong{font-family:Noto Sans SC,Source Han Sans SC,Microsoft YaHei,PingFang SC,sans-serif;letter-spacing:0}h1{font-size:24px;line-height:1.15}h2{font-size:18px;line-height:1.3}.hidden{display:none!important}.app-shell{width:min(1720px,calc(100vw - 28px));margin:0 auto;padding:14px 0 34px}.topbar{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgb(9 35 28 / 82%);border-radius:var(--radius-lg);padding:11px 18px;color:var(--chrome-ink);background:var(--chrome);box-shadow:0 1px #ffffff14 inset,0 12px 28px #10312824}.topbar h1{color:var(--chrome-ink)}.topbar .eyebrow{color:#c8ad72}.topbar .ghost-button{border-color:#f2f4ee3d;color:#f2f4eed1;background:#ffffff0a}.topbar .ghost-button:hover{border-color:#f2f4ee70;color:var(--chrome-ink);background:#ffffff17}.topbar-actions{display:flex;align-items:center;gap:8px}.support-dialog{width:min(620px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));border:0;border-radius:var(--radius-lg);padding:0;color:var(--ink);background:transparent;box-shadow:var(--shadow-float)}.support-dialog::backdrop{background:#0d18147a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.support-dialog-shell{display:grid;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-raised)}.support-dialog-header{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;color:var(--chrome-ink);background:var(--chrome)}.support-dialog-header h2{color:var(--chrome-ink)}.support-dialog-header .eyebrow{color:#c8ad72}.support-dialog-close{width:38px;min-width:38px;min-height:38px;border-color:#f2f4ee38;padding:0;color:var(--chrome-ink);background:#ffffff0d;box-shadow:none;font-size:24px;font-weight:400;line-height:1}.support-dialog-close:hover{border-color:#f2f4ee6b;color:var(--chrome-ink);background:#ffffff1a}.support-dialog-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--surface-muted)}.support-dialog-tab{min-height:46px;border:0;border-radius:0;border-bottom:2px solid transparent;color:var(--ink-muted);background:transparent;box-shadow:none}.support-dialog-tab:hover{color:var(--moss);background:var(--moss-soft)}.support-dialog-tab.is-active{border-bottom-color:var(--moss);color:var(--moss-strong);background:var(--surface-raised)}.support-dialog-content{max-height:min(560px,calc(100vh - 220px));overflow-y:auto;padding:20px}.support-form{display:grid;gap:16px}.support-form-actions{display:flex;justify-content:flex-end}.support-form-actions button{min-width:120px}.support-dialog-status{min-height:0;border-top:1px solid transparent;padding:0 20px;color:var(--ink-soft);font-size:13px;line-height:1.45}.support-dialog-status:not(:empty){min-height:46px;border-top-color:var(--line);padding-top:12px;padding-bottom:12px;background:var(--surface-muted)}.support-dialog-status[data-type=success]{color:var(--moss)}.support-dialog-status[data-type=error]{color:var(--cinnabar)}.eyebrow{margin:0 0 4px;color:var(--moss);font-size:11px;font-weight:760;letter-spacing:0;line-height:1.2;text-transform:uppercase}.workspace{display:grid;gap:14px}.panel{display:grid;gap:16px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;background:var(--surface);box-shadow:none}.auth-grid,.form-grid,.access-layout,.single-canvas-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-grid{width:min(1080px,100%);min-height:calc(100vh - 116px);align-content:center;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:1px;margin:0 auto;padding:40px 0 72px}.auth-grid .panel{min-height:342px;align-content:start;border:0;border-radius:0;padding:32px;background:var(--surface);box-shadow:var(--shadow-soft)}.auth-grid .panel:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.auth-grid .panel:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:var(--surface-muted)}.auth-grid h2{margin-bottom:6px;font-size:22px}#member-view{gap:0}body:has(#member-view:not(.hidden)) .topbar{min-height:52px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom-color:#f2f4ee1a;padding:8px 16px}body:has(#member-view:not(.hidden)) .topbar h1{font-size:18px}#member-view>.user-panel{display:grid;min-height:52px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-top:0;border-radius:0;padding:8px 16px;border-right-color:var(--line-strong);border-left-color:var(--line-strong);background:var(--surface-raised);box-shadow:0 1px #ffffffb8 inset}#member-view>.user-panel>div,#tool-view>.tool-hero>div{display:flex;min-width:0;align-items:center;gap:12px;flex-wrap:wrap}#user-email{overflow:hidden;max-width:min(48vw,620px);color:var(--ink);font-family:inherit;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.access-badge{width:fit-content;border:1px solid rgb(41 91 71 / 18%);border-radius:999px;padding:4px 9px;color:var(--moss);background:var(--moss-soft);font-size:12px;font-weight:700}.access-badge[data-state=locked]{border-color:#b24f3e38;color:var(--cinnabar);background:var(--cinnabar-soft)}#tool-view{gap:0}#tool-view>.tool-hero{display:grid;min-height:52px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-top:0;border-radius:0;padding:8px 16px;position:relative;border-right:1px solid var(--line-strong);border-left:1px solid var(--line-strong);background:var(--surface-muted);box-shadow:3px 0 0 var(--brass) inset}#tool-view>.tool-hero h2{font-size:16px}.tool-hero-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.active-draft-name{max-width:min(28vw,280px);overflow:hidden;color:var(--ink);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.workflow-home{display:grid;min-height:clamp(560px,calc(100vh - 188px),760px);align-content:center;gap:34px;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:clamp(30px,5vw,72px);background-color:var(--surface);background-image:repeating-linear-gradient(0deg,rgb(24 33 29 / 1.4%) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgb(255 255 255 / 26%) 0 1px,transparent 1px 11px);box-shadow:var(--shadow-workspace)}.workflow-home-header{display:grid;max-width:720px;gap:7px}.workflow-home-header h2{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-size:clamp(24px,3vw,34px);line-height:1.2}.workflow-home-header>p:last-child{color:var(--ink-muted);font-size:14px;line-height:1.7}.workflow-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow-entry{position:relative;display:grid;min-height:310px;grid-template-rows:auto 1fr auto;gap:22px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:clamp(22px,3vw,34px);background:var(--surface-raised);box-shadow:0 1px #ffffffd1 inset,var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.workflow-entry:before{position:absolute;inset:0 0 auto;height:3px;background:var(--moss);content:""}.workflow-entry-material:before{background:var(--brass)}.workflow-entry:hover{border-color:#295b4745;box-shadow:var(--shadow-float);transform:translateY(-2px)}.workflow-entry-material{background:#f3f1e9}.workflow-entry-index{color:var(--moss);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:800}.workflow-entry-copy{display:grid;align-content:start;gap:10px}.workflow-entry-copy h3{margin:0;color:var(--ink);font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-size:25px;font-weight:700;line-height:1.25}.workflow-entry-copy>p:last-child{max-width:520px;color:var(--ink-muted);font-size:14px;line-height:1.7}.workflow-entry-button{width:100%;justify-content:space-between;border-color:var(--moss);color:#fffdf8;background:var(--moss);box-shadow:0 8px 18px #295b4724}.workflow-entry-button:hover{border-color:var(--moss-strong);color:#fffdf8;background:var(--moss-strong)}.workflow-entry-button.secondary-entry-button{border-color:#a98a4a7a;color:#5f4a22;background:var(--brass-soft);box-shadow:none}.workflow-entry-button.secondary-entry-button:hover{border-color:var(--brass);color:#4d3a19;background:#a98a4a33}.workflow-home-path{display:flex;align-items:center;justify-content:center;gap:13px;color:var(--ink-muted);font-size:12px;font-weight:700}.workflow-home-path span:nth-child(2n){color:var(--brass)}.draft-library{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px}.draft-library-header{display:flex;align-items:end;justify-content:space-between;gap:18px}.draft-library-header h3{margin:3px 0 0;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,SimSun,serif;font-size:20px}.draft-storage-status{color:var(--ink-muted);font-size:12px;font-variant-numeric:tabular-nums}.draft-storage-status[data-state=warning],.draft-storage-status[data-state=error]{color:var(--cinnabar)}.draft-list{display:grid;gap:10px}.draft-item{display:grid;grid-template-columns:128px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;background:#fffefab8;transition:border-color .16s ease,background .16s ease}.draft-item[data-active=true]{border-color:#295b476b;background:#e8f0ea99;box-shadow:3px 0 0 var(--moss) inset}.draft-thumbnail{width:128px;height:76px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:linear-gradient(45deg,rgb(41 91 71 / 5%) 25%,transparent 25% 75%,rgb(41 91 71 / 5%) 75%),linear-gradient(45deg,rgb(41 91 71 / 5%) 25%,transparent 25% 75%,rgb(41 91 71 / 5%) 75%);background-position:0 0,8px 8px;background-size:16px 16px}.draft-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.draft-thumbnail-placeholder{display:grid;height:100%;place-items:center;color:var(--ink-faint);font-size:11px}.draft-item-copy{min-width:0}.draft-item-title{display:flex;align-items:center;gap:8px}.draft-item-title strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.draft-current-mark,.draft-stage-mark{color:var(--moss);font-size:11px;font-weight:700}.draft-item-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px;color:var(--ink-muted);font-size:12px}.draft-item-actions{display:flex;align-items:center;gap:6px}.draft-item-actions button{min-height:34px;padding:6px 10px}.draft-delete-button{border-color:#983e2d3d;color:var(--cinnabar)}.draft-list-empty{margin:0;border:1px dashed var(--line-strong);padding:22px;color:var(--ink-muted);text-align:center}.material-preparation-view{display:grid;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-workspace)}.material-preparation-view.is-binding-roundtrip .material-reference-grid{display:none}.material-preparation-view.is-binding-roundtrip .material-canvas-shell>header .import-button,.material-preparation-view.is-binding-roundtrip #material-background-step-button,.material-preparation-view.is-binding-roundtrip #material-split-step-button{display:none}.material-preparation-view.is-binding-roundtrip .material-workbench-shell{min-height:680px}.material-preparation-header{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:13px 16px;background:var(--surface-raised)}.material-reference-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:0;border-bottom:1px solid var(--line);background:#ecece5;box-shadow:0 -1px #ffffff85 inset}.material-reference-figure,.material-prompt-panel{min-width:0;margin:0;padding:16px}.material-reference-figure{display:grid;gap:12px;border-right:1px solid var(--line)}.material-reference-media{display:grid;height:248px;overflow:hidden;place-items:center;border:1px solid var(--canvas-line);border-radius:var(--radius);background:var(--canvas)}.material-reference-media img{display:block;width:100%;height:100%;object-fit:contain}.material-reference-placeholder,.material-canvas-empty{display:grid;place-items:center;color:var(--ink-muted);font-size:13px;text-align:center}.material-reference-figure figcaption,.material-prompt-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.material-reference-figure figcaption>div,.material-prompt-header>div{display:grid;gap:3px}.material-reference-figure figcaption strong,.material-prompt-header strong{color:var(--ink);font-size:14px}.material-reference-figure figcaption span,.material-prompt-header span{color:var(--ink-muted);font-size:12px;line-height:1.5}.material-prompt-panel{display:grid;align-content:start;gap:12px}.material-prompt-preview{min-height:248px;max-height:248px;overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);padding:16px;color:var(--ink-soft);background:var(--surface-raised);font-family:inherit;font-size:13px;line-height:1.7;white-space:pre-wrap}.material-workbench-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);min-height:560px;background:var(--surface-raised)}.material-canvas-shell{display:grid;min-width:0;grid-template-rows:auto 1fr;border-right:1px solid var(--line)}.material-canvas-shell>header{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:13px 16px;background:var(--surface-raised)}.material-canvas-shell>header h2,.material-tool-panel h2{font-size:16px}.material-canvas-stage{position:relative;min-height:clamp(540px,62vh,760px);overflow:hidden;margin:12px;border:1px solid var(--canvas-line);border-radius:var(--radius);background:var(--canvas);box-shadow:0 0 0 1px #ffffff61 inset,0 8px 18px #1f272112}.material-canvas-empty{position:absolute;inset:0;align-content:center;gap:7px;pointer-events:none}.material-canvas-empty strong{color:var(--ink-soft);font-size:16px}#material-source-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:default;touch-action:none}.material-canvas-stage.has-source #material-source-canvas{cursor:grab}.material-canvas-stage.has-source #material-source-canvas[data-tool=pick],.material-canvas-stage.has-source #material-source-canvas[data-tool=protect],.material-canvas-stage.has-source #material-source-canvas[data-tool=erase],.material-canvas-stage.has-source #material-source-canvas[data-tool=shape-erase]{cursor:crosshair}.material-canvas-stage.has-source #material-source-canvas[data-tool=skeleton],.material-canvas-stage.has-source #material-source-canvas[data-step=shape][data-tool=move-part]{cursor:move}.material-canvas-stage.has-source #material-source-canvas[data-step=split]{cursor:pointer}.material-canvas-stage.has-source #material-source-canvas[data-step=shape]{cursor:default}.material-canvas-stage.has-source #material-source-canvas[data-step=shape].is-shape-editing{cursor:crosshair}.material-canvas-stage.has-source #material-source-canvas.is-processing{cursor:grab}.material-canvas-stage.has-source #material-source-canvas.is-panning,.material-canvas-stage.has-source #material-source-canvas.is-moving-part{cursor:grabbing}.material-canvas-stage.has-source #material-source-canvas.is-brushing{cursor:none}.material-tool-shell{display:grid;align-content:start;grid-template-rows:auto auto 1fr;background:#ebece6;box-shadow:1px 0 #ffffff7a inset}.material-tool-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);padding:0 12px;background:#fcfbf76b}.material-tool-steps button{min-width:0;min-height:54px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:18px 6px 16px;color:var(--ink-muted);background:transparent;box-shadow:none;font-size:12px;font-weight:700;text-align:center}.material-tool-steps button:hover:not(:disabled){border-bottom-color:#295b4747;color:var(--moss);background:transparent}.material-tool-steps button.is-active{border-bottom-color:var(--moss);color:var(--moss);background:#245b470a}.material-processing-progress{display:grid;gap:9px;border-bottom:1px solid var(--line);padding:12px 18px;background:#fcfbf7ad}.material-processing-progress.hidden{display:none}.material-processing-progress-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:12px}.material-processing-progress-heading output{color:var(--brass);font-variant-numeric:tabular-nums;font-weight:700}.material-processing-progress progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:3px;appearance:none;background:var(--line)}.material-processing-progress progress::-webkit-progress-bar{background:var(--line)}.material-processing-progress progress::-webkit-progress-value{background:var(--moss)}.material-processing-progress progress::-moz-progress-bar{background:var(--moss)}#material-processing-cancel-button{min-height:32px;justify-self:end}.material-tool-panel{display:grid;align-content:start;gap:18px;padding:22px 18px}.material-tool-panel:not(.hidden),.mode-panel:not(.hidden){animation:pane-in var(--motion-panel) var(--motion-ease) both}.material-source-summary{min-height:62px;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--radius);padding:12px;color:var(--ink-soft);background:#fcfbf7c2;box-shadow:0 1px #ffffffc7 inset;font-size:13px;line-height:1.55}.material-tool-section{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:18px}.material-section-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.material-section-heading strong{color:var(--ink);font-size:13px}.material-mask-status{color:var(--moss);font-size:11px;font-weight:700}.material-mask-status[data-state=working]{color:var(--brass)}.material-mask-status[data-state=empty]{color:var(--ink-muted)}.material-segmented-control,.material-tool-modes{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised)}.material-segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.material-tool-modes{grid-template-columns:repeat(4,minmax(0,1fr))}.material-segmented-control button,.material-tool-modes button{min-height:34px;border:0;border-right:1px solid var(--line);border-radius:0;padding:0 8px;color:var(--ink-muted);background:transparent;box-shadow:none;font-size:12px}.material-segmented-control button:last-child,.material-tool-modes button:last-child{border-right:0}.material-segmented-control button.is-active,.material-tool-modes button.is-active{color:#fffdf8;background:var(--moss)}.material-color-controls{display:grid;grid-template-columns:minmax(92px,.45fr) minmax(0,1fr);align-items:end;gap:8px}.material-color-field{min-width:0}.material-color-field input[type=color]{width:100%;min-height:36px;padding:4px;cursor:pointer}#material-pick-color-button.is-active{border-color:var(--moss);color:var(--moss);background:var(--moss-soft)}.material-history-actions{display:grid;grid-template-columns:repeat(2,40px);justify-content:end;gap:7px;border-top:1px solid var(--line);padding-top:2px}.material-history-actions button{width:40px;min-height:36px;padding:0;font-size:20px}.material-shape-adjust-section .material-history-actions{grid-template-columns:40px 40px minmax(0,1fr);justify-content:stretch}.material-shape-adjust-section .material-history-actions #material-reset-shape-transform-button{width:auto;padding:0 10px;font-size:12px}.material-primary-action{border-color:var(--moss);color:#fffdf8;background:var(--moss);box-shadow:0 8px 18px #295b4724}.material-primary-action:hover{border-color:var(--moss-strong);color:#fffdf8;background:var(--moss-strong)}.material-split-status{min-height:38px;color:var(--ink-muted);font-size:12px;line-height:1.55}.material-split-status[data-state=working]{color:var(--brass)}.material-component-list{display:grid;max-height:360px;gap:6px;overflow:auto;padding-right:2px}.material-component-row{display:grid;min-width:0;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;color:var(--ink-soft);background:var(--surface-raised);cursor:pointer;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.material-component-row:hover{border-color:#295b474d}.material-component-row.is-selected{border-color:#2f786d75;background:var(--teal-soft);animation:selection-settle var(--motion-panel) var(--motion-ease)}.material-component-index{display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--moss);font-size:11px;font-weight:800}.material-component-copy{display:grid;min-width:0;gap:3px}.material-component-copy strong,.material-component-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-component-copy strong{color:var(--ink);font-size:12px}.material-component-copy small{color:var(--ink-muted);font-size:10px}.material-component-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border-top:1px solid var(--line);padding-top:16px}.material-shape-component-list{display:grid;max-height:210px;gap:6px;overflow:auto;padding-right:2px}.material-shape-component-button{display:grid;min-width:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px;color:var(--ink-soft);background:var(--surface-raised);box-shadow:none;text-align:left;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.material-shape-component-button:hover:not(:disabled){border-color:#295b474d;color:var(--ink);background:var(--surface-raised)}.material-shape-component-button.is-selected{border-color:#2f786d75;color:var(--ink);background:var(--teal-soft);animation:selection-settle var(--motion-panel) var(--motion-ease)}.material-shape-component-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-skeleton-guide-toggle{display:flex;min-height:34px;align-items:center;gap:8px;color:var(--ink-soft);font-size:12px}.material-skeleton-guide-section input:disabled,.material-skeleton-guide-section button:disabled{opacity:.5}.material-mesh-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.material-mesh-size-grid label{min-width:0}.material-mesh-size-grid input{width:100%}.material-shape-preset-actions,.material-shape-actions{display:grid;gap:7px}.material-shape-preset-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.material-shape-actions{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding-top:16px}.material-shape-actions #material-rasterize-shape-button{grid-column:1 / -1}.material-binding-handoff{width:100%;border-top:1px solid var(--line)}.material-shape-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;color:var(--ink-soft);font-size:12px}.material-shape-toggles label{display:flex;min-width:0;align-items:center;gap:7px}.danger-button:not(:disabled){color:var(--cinnabar)}.danger-button:not(:disabled):hover{border-color:#b24f3e52;color:var(--cinnabar);background:var(--cinnabar-soft)}#access-expiry,.muted-text,.hint,.plain-list{color:var(--ink-muted)}.muted-text,.hint,.plain-list{font-size:13px;line-height:1.55}.plain-list{margin:0;padding-left:20px}.plain-list li+li{margin-top:6px}.workflow-strip{display:grid;min-height:58px;grid-template-columns:minmax(260px,.55fr) minmax(360px,.8fr);align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line-strong);border-top:0;border-bottom:0;padding:8px 16px;background:#e8eae4;box-shadow:3px 0 0 var(--brass) inset}.workflow-title{display:grid;gap:3px}.workflow-title strong{color:var(--ink);font-size:14px}.workflow-title span{color:var(--ink-muted);font-size:12px;line-height:1.45}.flow-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.flow-step{position:relative;display:flex;min-height:38px;align-items:center;gap:9px;border:0;border-bottom:2px solid transparent;padding:4px 2px;color:var(--ink-muted);background:transparent;transition:color .16s ease,border-color .16s ease}.flow-step span{display:inline-grid;width:24px;height:24px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-muted);background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.flow-step strong{font-size:13px;font-weight:700}.flow-step.is-active{border-bottom-color:var(--moss);color:var(--moss)}.flow-step.is-active span,.flow-step.is-complete span{border-color:var(--moss);color:#fffdf8;background:var(--moss)}.workbench-stage{display:grid;overflow:hidden;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-workspace)}#tool-view:not(.is-preview-stage) .preview-workspace-shell,#tool-view.is-preview-stage .binding-workspace{display:none}#tool-view:not(.is-preview-stage) .binding-workspace,#tool-view.is-preview-stage .preview-workspace-shell{animation:workspace-pane-in var(--motion-panel) var(--motion-ease) both}.binding-workspace,.preview-workspace-shell{min-width:0}.binding-workspace .single-canvas-workspace{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:0;align-items:stretch}.binding-workspace .canvas-panel,.binding-workspace .right-tool-panel{min-width:0;border:0;border-radius:0;padding:0;box-shadow:none}.binding-workspace .canvas-panel{display:grid;align-content:start;gap:0;border-right:1px solid var(--line);background:var(--surface-raised)}.canvas-toolbar{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:13px 16px;background:var(--surface-raised)}.canvas-toolbar>div,.preview-export-header>div,.motion-adaptation-header>div,.fbx-motion-header>div{min-width:0}.canvas-toolbar h2{max-width:680px;font-size:16px}.canvas-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.canvas-import-status{min-height:38px;border-bottom:1px solid var(--line);padding:9px 16px;color:var(--ink-muted);background:#e9ebe5;box-shadow:0 -1px #ffffff70 inset;font-size:12px;line-height:1.55}.canvas-stage{display:grid;min-height:clamp(560px,calc(100vh - 330px),780px);overflow:hidden;border:1px solid var(--canvas-line);border-radius:var(--radius);margin:12px;background:var(--canvas);box-shadow:0 0 0 1px #ffffff61 inset,0 8px 18px #1f272112;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}#skeleton-canvas,#character-preview-canvas,#motion-adaptation-canvas{display:block;width:100%;border:0;background:var(--canvas);touch-action:none}#skeleton-canvas{height:clamp(560px,calc(100vh - 330px),780px);cursor:grab}#skeleton-canvas:active,#character-preview-canvas:active,#motion-adaptation-canvas:active,#skeleton-canvas.is-dragging-part{cursor:grabbing}.canvas-stage:has(#skeleton-canvas.is-dragging-part){border-color:#2d716975;box-shadow:0 0 0 1px #ffffff61 inset,0 0 0 3px #2d716917,0 8px 18px #1f272112}.canvas-stage:has(#skeleton-canvas.is-part-drop-feedback){animation:canvas-drop-settle .3s var(--motion-ease)}.binding-workspace .right-tool-panel{display:flex;min-height:100%;flex-direction:column;background:#ebece6;box-shadow:1px 0 #ffffff7a inset}.mode-tabs,.preview-right-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 16px;background:#fcfbf761}.mode-tab,.preview-right-tab{min-height:56px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 12px;color:var(--ink-muted);background:transparent;box-shadow:none;font-weight:700}.mode-tab:hover,.preview-right-tab:hover{border-bottom-color:#295b4747;color:var(--moss);background:transparent}.mode-tab.is-active,.preview-right-tab.is-active{border-bottom-color:var(--moss);color:var(--moss);background:#245b470a;box-shadow:none}.mode-panel,.generate-panel{display:grid;gap:16px;padding:18px}.generate-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.mode-panel{border-bottom:1px solid var(--line)}.generate-panel{margin-top:auto;border-top:1px solid var(--line);background:#fcfbf7b8}.workflow-save-status{display:inline-flex;min-height:32px;align-items:center;gap:7px;color:var(--ink-muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.workflow-save-status:before{width:7px;height:7px;border-radius:50%;background:var(--brass);content:""}.workflow-save-status[data-state=saved]:before{background:var(--moss)}.workflow-save-status[data-state=saving]:before{background:var(--teal);animation:save-status-pulse .9s ease-in-out infinite alternate}.workflow-save-status[data-state=error]{color:var(--cinnabar)}.workflow-save-status[data-state=error]:before{background:var(--cinnabar)}@keyframes save-status-pulse{to{opacity:.35}}.binding-check-panel{display:grid;gap:11px;border-bottom:1px solid var(--line);padding:15px 18px;background:#fcfbf77a}.binding-check-header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.binding-check-header>div{display:grid;min-width:0;gap:3px}.binding-check-header strong{color:var(--ink);font-size:13px;line-height:1.45}.binding-extra-count{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--ink-muted);background:var(--surface-raised);font-size:10px}.binding-check-details{min-width:0;border-top:1px solid var(--line);padding-top:6px}.binding-check-details>summary{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;color:var(--moss);font-size:11px;font-weight:700;line-height:1.4;list-style:none;cursor:pointer}.binding-check-details>summary::-webkit-details-marker{display:none}.binding-check-details>summary:after{width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s ease}.binding-check-details[open]>summary:after{transform:rotate(225deg) translate(-1px,-1px)}.binding-check-details>summary:hover{color:var(--moss-strong)}.binding-check-details>summary:focus-visible{border-radius:3px;outline:3px solid var(--focus);outline-offset:2px}.binding-check-details-body{display:grid;gap:8px;padding-top:6px}.binding-check-details:not([open])>.binding-check-details-body{display:none}.binding-target-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.binding-target-button{display:flex;min-width:0;min-height:34px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;color:var(--ink-soft);background:#fffdf8b8;box-shadow:none;font-size:11px;text-align:left}.binding-target-button:hover:not(:disabled),.binding-target-button.is-focused{border-color:#2f786d75;color:var(--moss);background:var(--teal-soft)}.binding-target-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--ink-muted)}.binding-target-button[data-status=ready] .binding-target-dot{background:var(--moss)}.binding-target-button[data-status=overlap] .binding-target-dot,.binding-target-button[data-status=far] .binding-target-dot,.binding-target-button[data-status=unresolved] .binding-target-dot{background:var(--brass)}.binding-target-button[data-status=missing] .binding-target-dot{background:var(--cinnabar)}.binding-issue-list{display:grid;max-height:164px;gap:6px;overflow:auto;padding-right:2px}.binding-issue-button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;border:1px solid rgb(169 138 74 / 28%);border-radius:var(--radius);padding:8px 9px;color:#725821;background:var(--brass-soft);box-shadow:none;font-size:11px;line-height:1.45;text-align:left}.binding-issue-button:hover:not(:disabled){border-color:#a98a4a7a;color:#5f4718;background:#a98a4a26}.binding-issue-button:before{content:"定位";color:var(--moss);font-size:10px;font-weight:800}.binding-retry-button{width:100%;color:var(--moss)}#create-character-button{min-height:48px;width:100%;font-size:14px}.range-control{display:grid;gap:8px}.range-control>span{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.range-control output,.motion-adaptation-control output{color:var(--moss);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.resource-summary,.placement-list,.motion-adaptation-controls{display:grid;gap:10px}.compact-placement-list{max-height:min(52vh,520px);overflow:auto;padding-right:3px;scrollbar-color:rgb(41 91 71 / 28%) transparent;scrollbar-width:thin}.placement-row,.part-upload-card{min-width:0;margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:11px;color:var(--ink);background:#fffdf8a8;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.placement-row.is-selected,.part-upload-card.is-selected{border-color:#2f786d6b;background:var(--teal-soft);box-shadow:0 0 0 1px #2f786d14 inset;animation:selection-settle var(--motion-panel) var(--motion-ease)}.placement-row legend{padding:0 5px;color:var(--ink);font-size:13px;font-weight:700}.placement-target{color:var(--ink-muted);font-size:11px}.result-box,.readonly-box,.upload-preview{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);padding:11px;color:var(--ink-soft);background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.preview-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:0;align-items:stretch;margin:0;border:0;border-radius:0;padding:0;background:var(--surface-raised);box-shadow:none}.preview-left-panel,.preview-right-panel{display:grid;min-width:0;align-content:start;gap:0;border:0;border-radius:0;padding:0;background:var(--surface-raised);box-shadow:none}.preview-left-panel{border-right:1px solid var(--line)}.preview-right-panel{background:#ebece6;box-shadow:1px 0 #ffffff7a inset}.preview-workspace .preview-panel-header,.preview-right-title{display:grid;min-height:78px;align-items:center;border-bottom:1px solid var(--line);padding:12px 16px;background:var(--surface-raised)}.preview-workspace .preview-panel-header{grid-template-columns:minmax(170px,.72fr) minmax(0,1.28fr);gap:14px}.preview-panel-header h2,.preview-right-title h2{font-size:16px}.preview-workspace .preview-panel-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.toggle-line{display:inline-flex;min-height:32px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius);padding:0 7px;color:var(--ink-soft);background:transparent;font-size:12px}.preview-zoom-control{width:min(174px,100%)}.preview-compare-control{display:inline-grid;min-height:32px;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fcfbf78a}.preview-compare-control button{min-height:30px;border:0;border-radius:0;padding:0 9px;color:var(--ink-muted);background:transparent;box-shadow:none;font-size:11px}.preview-compare-control button+button{border-left:1px solid var(--line)}.preview-compare-control button.is-active{color:#fffdf8;background:var(--moss)}.preview-motion-bar{display:grid;min-height:56px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:8px 16px;background:#e9ebe5;box-shadow:0 -1px #ffffff70 inset}.preview-motion-bar label{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:10px;margin:0}.motion-source-controls{display:grid;min-width:0;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:9px}.motion-source-controls .preview-motion-status{grid-column:1 / -1}.preview-motion-bar .motion-source-controls{margin:0}.preview-motion-bar .motion-package-select{display:grid;min-width:0;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px}.motion-package-select>span{color:var(--ink);font-size:12px;font-weight:700}#import-fbx-motion-button{white-space:nowrap}.preview-motion-bar select{min-width:0}.preview-motion-status{display:inline-flex;min-height:26px;align-items:center;gap:6px;color:var(--ink-muted);font-size:11px;overflow-wrap:anywhere;white-space:normal}.preview-motion-status:before{width:7px;height:7px;border-radius:50%;background:var(--ink-muted);content:""}.preview-motion-status[data-state=loading]:before{background:var(--teal);animation:save-status-pulse .8s ease-in-out infinite alternate}.preview-motion-status[data-state=playing]:before{background:var(--moss)}.preview-motion-status[data-state=paused]:before,.preview-motion-status[data-state=scrubbing]:before{background:var(--brass)}.preview-motion-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.preview-canvas-layout{display:block;padding:12px 12px 0}.preview-workspace #character-preview-canvas,.preview-right-panel #motion-adaptation-canvas{height:clamp(560px,calc(100vh - 360px),780px);min-height:560px;border:1px solid var(--canvas-line);border-radius:var(--radius);background:var(--canvas);box-shadow:0 0 0 1px #ffffff61 inset,0 8px 18px #1f272112}.preview-time-control{border-top:1px solid var(--line);padding:11px 16px 14px}.preview-right-tabs{min-height:64px;background:#fcfbf76b}.preview-right-tab{min-height:64px}.preview-right-pane{display:none;gap:16px;padding:12px 16px 18px;animation:pane-in var(--motion-panel) var(--motion-ease) both}.preview-right-pane.is-active{display:grid}.motion-adaptation-canvas-card{position:relative;display:grid;gap:0;min-width:0}.canvas-card-title{display:none}.motion-adaptation-panel,.preview-export-panel,.attachment-order-panel{display:grid;gap:14px;margin:0;border:0;border-radius:0;padding:0;color:var(--ink);background:transparent}#open-attachment-order-button.is-active{border-color:var(--moss);color:var(--moss);background:color-mix(in srgb,var(--moss) 9%,var(--paper))}.attachment-order-panel{gap:12px}.attachment-order-header,.attachment-order-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attachment-order-header>div{display:grid;gap:3px}.attachment-order-header strong{color:var(--ink);font-size:15px}.attachment-order-header span,.attachment-order-footer span{color:var(--ink-muted);font-size:12px;line-height:1.45}.attachment-order-list{display:grid;gap:7px;max-height:min(52vh,560px);overflow:auto;padding:2px}.attachment-order-item{position:relative;display:grid;grid-template-columns:20px 48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;background:#fcfbf7c2;box-shadow:0 1px #ffffffbd inset;cursor:pointer;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}.attachment-order-item:hover,.attachment-order-item:focus-visible,.attachment-order-item.is-selected{border-color:color-mix(in srgb,var(--cinnabar) 46%,var(--line));background:color-mix(in srgb,var(--cinnabar) 5%,var(--paper));outline:none}.attachment-order-item.is-selected{animation:selection-settle var(--motion-panel) var(--motion-ease)}.attachment-order-item.is-dragging{opacity:.52;transform:scale(.985)}.attachment-order-item.is-drop-target{border-color:var(--moss);background:var(--moss-soft)}.attachment-order-item.is-drop-target:after{position:absolute;right:4px;left:4px;height:2px;border-radius:1px;background:var(--moss);content:"";animation:drop-marker-in var(--motion-fast) var(--motion-ease) both;pointer-events:none}.attachment-order-item.is-drop-target[data-drop-position=before]:after{top:-5px}.attachment-order-item.is-drop-target[data-drop-position=after]:after{bottom:-5px}.attachment-order-drag-handle{color:var(--ink-faint);font-size:16px;cursor:grab;-webkit-user-select:none;user-select:none}.attachment-order-thumbnail{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid var(--canvas-line);border-radius:6px;background-color:var(--canvas);background-image:linear-gradient(45deg,rgb(44 74 61 / 7%) 25%,transparent 25%),linear-gradient(-45deg,rgb(44 74 61 / 7%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(44 74 61 / 7%) 75%),linear-gradient(-45deg,transparent 75%,rgb(44 74 61 / 7%) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.attachment-order-thumbnail img{width:100%;height:100%;object-fit:contain;image-rendering:auto}.attachment-order-copy{display:grid;min-width:0;gap:3px}.attachment-order-copy strong,.attachment-order-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-order-copy strong{color:var(--ink);font-size:13px}.attachment-order-copy small{color:var(--ink-muted);font-size:11px}.attachment-order-actions{display:flex;gap:5px}.attachment-order-actions button{min-width:44px;padding-inline:8px}.attachment-order-footer{align-items:center;border-top:1px solid var(--line);padding-top:12px}.motion-adaptation-panel{border-top:1px solid var(--line);padding-top:16px}.fbx-motion-panel{display:grid;min-width:0;gap:14px}.fbx-motion-header,.fbx-motion-source-row,.fbx-motion-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fbx-motion-header>div,.fbx-motion-source-row>div{display:grid;min-width:0;gap:3px}.fbx-motion-header strong{color:var(--ink);font-family:"Noto Serif SC",Songti SC,serif;font-size:17px}.fbx-motion-header span,.fbx-motion-source-row span{color:var(--ink-muted);font-size:12px;line-height:1.5}#fbx-motion-preview-canvas{display:block;width:100%;height:clamp(360px,calc(100vh - 500px),560px);min-height:360px;border:1px solid var(--canvas-line);border-radius:var(--radius);background:var(--canvas);box-shadow:0 0 0 1px #ffffff6b inset,0 8px 18px #1f272112}.fbx-motion-form{display:grid;gap:13px;border-top:1px solid var(--line);padding-top:14px}.fbx-motion-source-row{align-items:center;border:1px solid var(--line);border-left:3px solid var(--moss);border-radius:var(--radius);padding:10px 11px;background:#fcfbf7b3}.fbx-motion-source-row strong{max-width:100%;overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}#fbx-motion-preview-status[data-state=loading]{color:var(--teal)}#fbx-motion-preview-status[data-state=ready]{color:var(--moss)}#fbx-motion-preview-status[data-state=error]{color:var(--cinnabar)}.fbx-motion-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fbx-motion-control-grid>label{display:grid;min-width:0;gap:7px;color:var(--ink-muted);font-size:12px}.fbx-range-control>span{display:flex;justify-content:space-between;gap:10px}.fbx-range-control output{color:var(--moss);font-variant-numeric:tabular-nums;font-weight:700}.fbx-mirror-control{justify-self:start;color:var(--ink-muted);font-size:12px}.fbx-motion-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}.fbx-motion-conversion-status{min-height:20px;margin:0;color:var(--ink-muted);font-size:12px;line-height:1.5}.fbx-motion-conversion-status[data-state=loading]{color:var(--teal)}.fbx-motion-conversion-status[data-state=success]{color:var(--moss)}.fbx-motion-conversion-status[data-state=error]{color:var(--cinnabar)}.motion-adaptation-header,.preview-export-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.motion-adaptation-header>div,.preview-export-header>div{display:grid;gap:3px}.motion-adaptation-header strong,.preview-export-header strong{color:var(--ink);font-size:15px}.motion-adaptation-header span,.preview-export-header span{color:var(--ink-muted);font-size:12px;line-height:1.45}.motion-adaptation-precision{border-top:1px solid var(--line);padding-top:10px}.motion-adaptation-precision summary{color:var(--moss);font-size:13px;font-weight:700;cursor:pointer}.motion-adaptation-controls{margin-top:12px}.motion-adaptation-group{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.motion-adaptation-group:first-child{border-top:0;padding-top:0}.motion-adaptation-group-title{color:var(--ink);font-size:13px;font-weight:700}.motion-adaptation-grid,.preview-export-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.motion-adaptation-control{display:grid;gap:7px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#fcfbf7c2;box-shadow:0 1px #ffffffb8 inset}.preview-export-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.preview-export-actions button{min-width:0}#sprite-export-summary,#fbx-motion-preview-status,.canvas-import-status,.material-source-summary{overflow-wrap:anywhere}.export-preflight-list{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:12px}.export-check-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:9px;border-left:3px solid var(--line-strong);padding:6px 8px;color:var(--ink-muted);background:#fcfbf770;font-size:11px;line-height:1.45}.export-check-row strong{color:var(--ink-soft);font-size:11px}.export-check-row[data-status=pass]{border-left-color:var(--moss)}.export-check-row[data-status=warning]{border-left-color:var(--brass);color:#725821;background:var(--brass-soft)}.export-check-row[data-status=error]{border-left-color:var(--cinnabar);color:var(--cinnabar);background:var(--cinnabar-soft)}.export-task-panel{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:12px}.export-task-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-task-header strong{color:var(--ink);font-size:12px}.export-task-header output{color:var(--moss);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-variant-numeric:tabular-nums}.export-task-panel progress{width:100%;height:8px;border:0;accent-color:var(--moss)}.export-task-panel #cancel-export-button{justify-self:end}.export-completion-result{display:grid;gap:4px;border:1px solid rgb(41 91 71 / 24%);border-radius:var(--radius);padding:10px 11px;color:var(--moss);background:var(--moss-soft);font-size:11px;line-height:1.45}.export-completion-result strong{font-size:12px}.task-status-panel{display:grid;min-width:0;gap:9px;border:1px solid rgb(45 113 105 / 22%);border-left:3px solid var(--teal);border-radius:var(--radius);padding:11px 12px;color:var(--ink-soft);background:var(--teal-soft);box-shadow:0 1px #ffffffad inset;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.task-status-panel.is-completion-feedback,.export-completion-result.is-completion-feedback,.notice.is-status-feedback{animation:completion-feedback var(--motion-feedback) var(--motion-ease)}progress::-webkit-progress-value{transition:width var(--motion-panel) linear,background-color var(--motion-fast) ease}.task-status-heading{display:grid;min-width:0;grid-template-columns:14px minmax(0,1fr) max-content;align-items:center;gap:9px}.task-status-indicator{width:10px;height:10px;border-radius:50%;background:var(--ink-muted)}.task-status-copy{display:grid;min-width:0;gap:2px}.task-status-copy strong,.task-status-copy span{min-width:0;overflow-wrap:anywhere}.task-status-copy strong{color:var(--ink);font-size:12px;line-height:1.4}.task-status-copy span{color:var(--ink-muted);font-size:11px;line-height:1.45}.task-status-heading output{color:var(--teal);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.task-status-panel progress,.material-processing-progress progress{width:100%;height:7px;overflow:hidden;border:0;border-radius:4px;appearance:none;accent-color:var(--teal);background:#18211d1c}.task-status-panel progress::-webkit-progress-bar,.material-processing-progress progress::-webkit-progress-bar{background:#18211d1c}.task-status-panel progress::-webkit-progress-value,.material-processing-progress progress::-webkit-progress-value{background:var(--teal)}.task-status-panel progress::-moz-progress-bar,.material-processing-progress progress::-moz-progress-bar{background:var(--teal)}.task-status-panel[data-state=loading] .task-status-indicator,.task-status-panel[data-state=processing] .task-status-indicator{border:2px solid var(--teal);border-right-color:transparent;background:transparent;animation:task-spinner .72s linear infinite}.task-status-panel[data-state=success]{border-color:#245b473d;border-left-color:var(--moss);background:var(--moss-soft)}.task-status-panel[data-state=success] .task-status-indicator,.task-status-panel[data-state=success] progress::-webkit-progress-value{background:var(--moss)}.task-status-panel[data-state=success] progress::-moz-progress-bar{background:var(--moss)}.task-status-panel[data-state=success] output{color:var(--moss)}.task-status-panel[data-state=warning]{border-color:#9d7c3a47;border-left-color:var(--brass);background:var(--brass-soft)}.task-status-panel[data-state=warning] .task-status-indicator,.task-status-panel[data-state=warning] progress::-webkit-progress-value{background:var(--brass)}.task-status-panel[data-state=warning] progress::-moz-progress-bar{background:var(--brass)}.task-status-panel[data-state=warning] output{color:#725821}.task-status-panel[data-state=error]{border-color:#a94b3d47;border-left-color:var(--cinnabar);background:var(--cinnabar-soft)}.task-status-panel[data-state=error] .task-status-indicator,.task-status-panel[data-state=error] progress::-webkit-progress-value{background:var(--cinnabar)}.task-status-panel[data-state=error] progress::-moz-progress-bar{background:var(--cinnabar)}.task-status-panel[data-state=error] output{color:var(--cinnabar)}.task-status-panel[data-state=cancelled]{border-color:var(--line-strong);border-left-color:var(--ink-muted);background:#717a7414}.task-status-panel[data-state=cancelled] output{color:var(--ink-muted)}.task-status-panel[data-state=disabled]{border-color:var(--line);border-left-color:#9aa19c;color:var(--ink-muted);background:#717a740f;box-shadow:none}.task-status-panel[data-state=disabled] .task-status-indicator{background:#9aa19c}.task-status-panel[data-state=disabled] output{color:var(--ink-muted)}.export-task-panel{border-top:1px solid rgb(45 113 105 / 22%);padding:11px 12px}.export-task-header{display:grid;grid-template-columns:14px minmax(0,1fr) max-content}.fbx-motion-conversion-status{min-height:0;margin:0;color:var(--ink-soft)}.export-completion-result[data-state=error]{border-color:#a94b3d42;color:var(--cinnabar);background:var(--cinnabar-soft)}.export-completion-result[data-state=cancelled]{border-color:var(--line-strong);color:var(--ink-muted);background:#717a7414}@keyframes task-spinner{to{transform:rotate(360deg)}}form button[type=submit]:disabled,#create-character-button:disabled,.material-primary-action:disabled,.command-button:disabled{border-color:var(--line);color:#8a918c;background:#e4e5dfc7;box-shadow:none}.export-completion-result[data-type=cancelled]{border-color:#a98a4a4d;color:#725821;background:var(--brass-soft)}.export-completion-result[data-type=error]{border-color:#b24f3e47;color:var(--cinnabar);background:var(--cinnabar-soft)}.sprite-scale-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.sprite-scale-actions button{min-width:0;padding:0 8px}.form-grid,.access-layout{margin-top:16px}.form-grid .panel,.access-layout .panel{align-content:start;background:var(--surface-raised);box-shadow:var(--shadow-soft)}.notice{border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:11px 13px;color:var(--ink-soft);background:var(--surface-raised);font-size:13px;line-height:1.5}.notice.warning{border-color:#a98a4a52;color:#725821;background:var(--brass-soft)}.notice[data-type=success]{border-color:#295b473d;color:var(--moss);background:var(--moss-soft)}.notice[data-type=error]{border-color:#b24f3e47;color:var(--cinnabar);background:var(--cinnabar-soft)}.workflow-home:not(.hidden),.material-preparation-view:not(.hidden),.workbench-stage:not(.hidden){animation:workspace-in var(--motion-stage) var(--motion-ease) both}@keyframes workspace-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pane-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes workspace-pane-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes selection-settle{0%{box-shadow:0 0 0 3px #2d716924}to{box-shadow:0 0 0 1px #2f786d14 inset}}@keyframes canvas-drop-settle{35%{border-color:#2d71698f;box-shadow:0 0 0 1px #ffffff61 inset,0 0 0 4px #2d71691c,0 8px 18px #1f272112}}@keyframes drop-marker-in{0%{opacity:0;transform:scaleX(.72)}to{opacity:1;transform:scaleX(1)}}@keyframes completion-feedback{38%{box-shadow:0 0 0 4px #245b471c}}@media(max-height:760px)and (min-width:821px){.workflow-home{min-height:500px}.material-canvas-stage{min-height:400px}.canvas-stage,#skeleton-canvas,.preview-workspace #character-preview-canvas,.preview-right-panel #motion-adaptation-canvas{height:440px;min-height:440px}#fbx-motion-preview-canvas{height:320px;min-height:320px}}@media(max-width:1360px){.preview-workspace .preview-panel-header{grid-template-columns:1fr}.preview-workspace .preview-panel-actions{justify-content:flex-start}.preview-zoom-control{width:100%}}@media(max-width:1180px){.workflow-strip{grid-template-columns:1fr}.preview-workspace .preview-panel-header{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr)}.preview-workspace .preview-panel-actions{justify-content:flex-end}.preview-zoom-control{width:min(190px,100%)}}@media(max-width:960px){.binding-workspace .single-canvas-workspace,.preview-workspace{grid-template-columns:1fr}.binding-workspace .canvas-panel,.preview-left-panel{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:820px){.app-shell{width:min(100% - 16px,1680px);padding-top:8px}.topbar,#member-view>.user-panel,#tool-view>.tool-hero,.canvas-toolbar,.preview-workspace .preview-panel-header,.motion-adaptation-header,.preview-export-header{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.topbar,.canvas-toolbar,.motion-adaptation-header,.preview-export-header{display:flex}.topbar-actions{width:100%;justify-content:flex-end}.motion-source-controls{grid-template-columns:minmax(0,1fr) auto}.motion-source-controls .preview-motion-status{grid-column:1 / -1}.fbx-motion-control-grid,.auth-grid,.form-grid,.access-layout,.workflow-entry-grid,.material-reference-grid,.material-workbench-shell{grid-template-columns:1fr}.tool-hero-actions,.material-preparation-header,.material-canvas-shell>header,.material-reference-figure figcaption,.material-prompt-header{align-items:stretch;flex-direction:column}.tool-hero-actions{justify-content:flex-start}.draft-library-header,.draft-item-actions{align-items:stretch;flex-direction:column}.draft-item{grid-template-columns:112px minmax(0,1fr)}.draft-thumbnail{width:112px}.draft-item-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.workflow-home{min-height:auto;padding:28px 18px}.workflow-entry{min-height:270px}.material-preparation-header{display:flex}.material-reference-figure,.material-canvas-shell{border-right:0;border-bottom:1px solid var(--line)}.material-reference-media,.material-prompt-preview{height:320px;min-height:320px;max-height:320px}.material-canvas-stage{min-height:480px}.auth-grid{min-height:auto;gap:1px;padding:24px 0}.auth-grid .panel:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.auth-grid .panel:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.canvas-actions,.preview-workspace .preview-panel-actions,.preview-motion-actions,.preview-export-actions{justify-content:flex-start}.preview-motion-bar{grid-template-columns:1fr}.preview-zoom-control{width:100%}.motion-adaptation-grid,.preview-export-controls{grid-template-columns:1fr}.sprite-scale-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-stage,#skeleton-canvas,.preview-workspace #character-preview-canvas,.preview-right-panel #motion-adaptation-canvas{height:520px;min-height:520px}}@media(max-width:560px){.tool-hero-actions,.canvas-actions,.preview-export-actions,.fbx-motion-actions{width:100%}.active-draft-name{max-width:100%}.canvas-actions>*,.preview-export-actions>*,.fbx-motion-actions>*{flex:1 1 100%}.fbx-motion-source-row{align-items:stretch;flex-direction:column}.task-status-heading,.export-task-header{grid-template-columns:14px minmax(0,1fr)}.task-status-heading output{grid-column:2;justify-self:start}.topbar,#member-view>.user-panel,#tool-view>.tool-hero,.workflow-strip,.canvas-toolbar,.mode-panel,.generate-panel,.preview-workspace .preview-panel-header,.preview-right-title,.preview-motion-bar,.preview-right-pane{padding-right:12px;padding-left:12px}.workflow-title span{display:none}.workflow-home{gap:24px;padding:22px 12px}.workflow-home-header h2{font-size:24px}.workflow-entry{min-height:250px;padding:20px}.workflow-entry-copy h3{font-size:21px}.workflow-home-path{flex-wrap:wrap}.draft-item{grid-template-columns:1fr}.draft-thumbnail{width:100%;height:128px}.draft-item-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.generate-actions{grid-template-columns:1fr}.material-reference-figure,.material-prompt-panel,.material-tool-panel{padding-right:12px;padding-left:12px}.material-reference-media,.material-prompt-preview{height:260px;min-height:260px;max-height:260px}.material-canvas-stage{min-height:420px;margin:8px}.flow-steps{gap:8px}.flow-step strong{font-size:12px}.canvas-stage{margin:8px}.canvas-stage,#skeleton-canvas,.preview-workspace #character-preview-canvas,.preview-right-panel #motion-adaptation-canvas{height:440px;min-height:440px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
