:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#e8ecf3;background:#08111f;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#081323}button,input,select,textarea{font:inherit}button{cursor:pointer}code{background:#ffffff14;border-radius:6px;padding:.12rem .4rem}#root{min-height:100vh}.app-shell{max-width:2100px;margin:0 auto;padding:28px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#09111fb8;box-shadow:0 12px 40px #0000002e}.hero h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.hero p{max-width:900px;margin:0;color:#b8c3d8}.eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;color:#99d9ff;background:#5fc4ff1f;border:1px solid rgba(95,196,255,.22);font-size:.9rem}.hero-actions,.result-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-actions{align-items:flex-start}.primary-button,.ghost-button,.preset-chip{border-radius:14px;border:1px solid transparent;transition:transform .18s ease,border-color .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,#4c7dff,#29b8ff);color:#fff;padding:12px 18px;font-weight:700}.ghost-button{background:#ffffff0a;color:#e8ecf3;border-color:#ffffff1a;padding:12px 18px}.preset-chip{background:#ffffff0d;color:#dbe6fa;border-color:#ffffff14;padding:10px 14px}.tag-chip{background:#ffffff0a;color:#d6e0f3;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:10px 14px;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.preset-chip-active{background:linear-gradient(135deg,#4c7dff57,#29b8ff38);color:#f8fbff;border-color:#78b7ffb3;box-shadow:0 0 0 1px #78b7ff38 inset,0 10px 24px #397cff38}.primary-button:hover,.ghost-button:hover,.preset-chip:hover,.tag-chip:hover{transform:translateY(-1px);border-color:#94c5ff73}.tag-chip-active{background:linear-gradient(135deg,#2367d8eb,#3c96ffd6);color:#fff;border-color:#8cc4ffc7;box-shadow:0 0 0 1px #aad6ff2e inset,0 10px 24px #2561ce3d}.workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:24px}.workflow-layout{display:grid;grid-template-columns:92px minmax(0,1fr);gap:20px}.workflow-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:24px}.workflow-main-script-manager,.workflow-main-single-panel{grid-template-columns:minmax(0,1fr)}.tab-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:20px;height:fit-content}.tab-rail-button{display:grid;gap:6px;width:100%;padding:14px 10px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#d7e3f6;text-align:center;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.tab-rail-button strong{font-size:.98rem}.tab-rail-index{color:#8fb9ff;font-size:.82rem;letter-spacing:.08em}.tab-rail-button-active{background:linear-gradient(135deg,#4c7dff57,#29b8ff38);border-color:#78b7ffb3;box-shadow:0 0 0 1px #78b7ff38 inset,0 10px 24px #397cff38}.tab-rail-button:hover{transform:translateY(-1px);border-color:#94c5ff73}.panel{border-radius:24px;padding:24px;border:1px solid rgba(255,255,255,.08);background:#0a1220d1;contain:layout paint}.left-panel{display:flex;flex-direction:column;gap:18px}.panel-full-width,.right-panel{min-width:0}.panel-tab-row{display:flex;gap:10px;margin-bottom:18px}.panel-tab-button{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#d6e0f3;padding:10px 16px;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.panel-tab-button:hover{transform:translateY(-1px);border-color:#94c5ff73}.panel-tab-button-active{background:linear-gradient(135deg,#4c7dff57,#29b8ff38);border-color:#78b7ffb3;box-shadow:0 0 0 1px #78b7ff38 inset,0 10px 24px #397cff38}.section-title h2{margin:0 0 4px;font-size:1.08rem}.section-title p{margin:0;color:#95a7c5;font-size:.95rem}.group-section{display:grid;gap:10px}.group-section-head{display:grid;gap:4px;padding:0 2px}.group-section-head h3{margin:0;font-size:1rem;color:#eef5ff}.group-section-head p{margin:0;color:#95a7c5;font-size:.93rem}.group-card{display:grid;gap:18px;padding:18px;border-radius:20px;border:1px solid rgba(132,169,222,.16);background:linear-gradient(180deg,#111e32f0,#0a1220eb);box-shadow:0 0 0 1px #ffffff05 inset,0 14px 34px #00000029}.group-card-body,.field-stack{display:grid;gap:16px}.subsection-title{display:grid;gap:4px}.subsection-title strong{color:#dfeaff;font-size:.95rem}.subsection-title span{color:#8fa4c5;font-size:.88rem}.preset-grid,.toggle-row{display:flex;gap:12px;flex-wrap:wrap}.preset-select-wrap{max-width:420px}.collapsible-section{display:grid;gap:12px}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;color:#e8ecf3;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.section-toggle span{display:grid;gap:2px}.section-toggle small{color:#95a7c5}.collapsible-body{display:grid;gap:14px;padding:16px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.path-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.path-card,.cinematic-preset-card{display:grid;gap:6px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;color:#dbe6fa;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.path-card span,.cinematic-preset-card span{color:#9fb1cf;font-size:.92rem}.path-card-active,.cinematic-preset-card-active{background:linear-gradient(135deg,#4c7dff38,#29b8ff24);border-color:#78b7ff7a;box-shadow:0 10px 24px #2561ce2e}.path-card:hover,.cinematic-preset-card:hover,.section-toggle:hover{border-color:#94c5ff73;transform:translateY(-1px)}.cinematic-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tag-grid{display:flex;gap:10px;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-card{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.info-card span{color:#95a7c5;font-size:.92rem}.info-card strong{color:#eef5ff;font-size:1rem}.control-center{display:grid;gap:16px}.control-toolbar{display:flex;flex-wrap:wrap;gap:10px}.control-toolbar-split{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.control-toolbar-left{flex:1 1 auto}.control-toolbar-right{flex:0 0 auto;justify-content:flex-end}.table-action-group{display:flex;flex-wrap:nowrap;gap:8px;align-items:center}.table-action-button-nowrap{white-space:nowrap;min-width:96px;justify-content:center}.control-refresh-button{min-width:148px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.control-refresh-button-indicator{width:9px;height:9px;flex:0 0 9px;border-radius:999px;background:#94c5ff38;box-shadow:0 0 0 1px #94c5ff1f inset}.control-refresh-button-loading .control-refresh-button-indicator{background:#52b8ff;box-shadow:0 0 0 1px #a5deff33 inset,0 0 12px #52b8ff8c;animation:control-refresh-pulse .9s ease-in-out infinite}@keyframes control-refresh-pulse{0%,to{transform:scale(.9);opacity:.72}50%{transform:scale(1.12);opacity:1}}.control-table-wrap{display:grid;gap:12px}.control-sync-banner{display:grid;gap:6px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.control-sync-banner strong{color:#eef5ff}.control-sync-banner span{color:#d7e3f6;word-break:break-word}.control-sync-banner-ok{border-color:#71d6a24d;background:#2e7d5b29}.control-sync-banner-warning{border-color:#ffc45e4d;background:#8b60172e}.control-sync-banner-neutral{border-color:#78b7ff38;background:#4c7dff1a}.control-switch-row{gap:14px;margin-bottom:20px}.control-switch-button{min-width:92px;min-height:50px;padding:12px 22px;border-radius:16px;font-size:1.02rem;font-weight:700;letter-spacing:.01em;border-width:1px}.control-switch-button-asset{border-color:#5ba8ff80;background:linear-gradient(135deg,#1a3a74eb,#1b63b8b8);color:#edf6ff;box-shadow:0 0 0 1px #78b7ff1f inset,0 8px 18px #1f62c92e}.control-switch-button-storyboard{border-color:#c378ff80;background:linear-gradient(135deg,#542780eb,#9244adc2);color:#f7f1ff;box-shadow:0 0 0 1px #d298ff1f inset,0 8px 18px #843eb433}.control-switch-button:hover{transform:translateY(-2px) scale(1.01)}.control-switch-button.control-switch-button-active{border-color:#ffffff85;box-shadow:0 0 0 1px #ffffff2e inset,0 12px 26px #4a8fff3d}.control-switch-button-asset.control-switch-button-active{background:linear-gradient(135deg,#3a7efff2,#4ac3ffe6)}.control-switch-button-storyboard.control-switch-button-active{background:linear-gradient(135deg,#a04ffff2,#ff78c6e0)}.control-filter-row{display:flex;flex-wrap:wrap;gap:10px}.control-filter-chip{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#d7e3f6;outline:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.control-filter-chip:hover{transform:translateY(-1px);border-color:#94c5ff73}.control-filter-chip-active{background:linear-gradient(135deg,#3768d3f5,#2c85ebe6);border-color:#8cc4ffb8;box-shadow:0 0 0 1px #aad6ff29 inset}.control-meta{display:grid;gap:4px}.control-meta span{color:#dce7fa;font-size:.96rem}.control-meta small{color:#95a7c5;word-break:break-all}.control-table{width:100%;border-collapse:collapse;border-spacing:0;overflow:hidden;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.control-table th,.control-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.06)}.control-table th{color:#dce7fa;font-size:.92rem;background:#ffffff0a}.control-table td{color:#eef5ff;font-size:.94rem}.control-table tbody tr:last-child td{border-bottom:none}.control-copy-text{max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.6}.control-related-assets-cell{display:grid;gap:10px;min-width:220px}.control-related-assets-group{display:grid;gap:6px}.control-related-assets-group-title{color:#b9cae6;font-size:.8rem;font-weight:700}.control-related-asset-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.control-related-asset-chip{padding:5px 9px;font-size:.78rem;line-height:1.2;border-radius:999px}.control-related-asset-chip-character.control-related-asset-chip-matched{color:#eef6ff;border-color:#6db1ff75;background:#3068d03d}.control-related-asset-chip-scene.control-related-asset-chip-matched{color:#f4efff;border-color:#cb87ff6b;background:#7647b63d}.control-related-asset-chip-missing{color:#9fb1cf;border-color:#ffffff14;background:#ffffff08}.inline-note{color:#9fb1cf;font-size:.92rem}.field-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;grid-auto-flow:row dense}.field-span-full{grid-column:1 / -1}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-panel,.canvas-import-form{display:grid;gap:16px}.canvas-import-toggle-card{align-items:flex-start}.canvas-import-toggle-card span{display:grid;gap:4px}.canvas-import-toggle-card small{color:#9fb1cf}.field{display:flex;flex-direction:column;gap:8px}.field span{color:#d6e0f3;font-size:.95rem;font-weight:600}.field .field-label-highlight{color:#ffd26c}.field input,.field select,.field textarea,.result-box{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#eff4ff;padding:12px 14px;outline:none}.field select option{color:#0b1728;background:#f4f7fc}.field textarea,.result-box{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#64a5ff9e;box-shadow:0 0 0 4px #3d80ff1f}.toggle-card{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);min-height:48px}.toggle-card input{width:18px;height:18px}.recommend-card{display:grid;gap:12px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#4c7dff24,#2730542e);border:1px solid rgba(123,173,255,.18);margin-bottom:18px}.recommend-card strong{display:block;margin-bottom:4px;color:#eef5ff}.recommend-card p{margin:0;color:#bed0eb}.result-box{min-height:640px;margin-top:12px;line-height:1.65}.result-box-readonly{max-height:calc(100vh - 220px);overflow:auto;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.result-toolbar-secondary{margin-top:12px}.result-note{margin-top:12px;padding:12px 14px;border-radius:14px;color:#c8daf7;background:#4c7dff1f;border:1px solid rgba(120,183,255,.26)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#030812b8}.modal-card{width:min(980px,100%);max-height:min(80vh,920px);overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:#09111ff5;box-shadow:0 24px 80px #0000005c;padding:24px}.modal-card-sm{width:min(560px,100%)}.modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.modal-header h3{margin:0 0 4px;font-size:1.3rem}.modal-header p{margin:0;color:#9fb1cf}.empty-state{padding:18px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#b8c3d8}.template-list{display:grid;gap:16px}.template-item{padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.template-item-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.template-item-head strong{display:block;margin-bottom:4px}.template-item-head span{color:#9fb1cf;font-size:.92rem}.template-preview{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#eff4ff;padding:12px 14px;resize:vertical;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.toast-message{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:220;min-width:180px;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border-radius:14px;color:#eff7ff;text-align:center;box-shadow:0 18px 48px #00000047}.toast-message-success{border:1px solid rgba(113,214,162,.38);background:#205c44f0}.form-error-message{padding:14px 16px;border-radius:14px;color:#ffb4b4;background:#7921213d;border:1px solid rgba(255,107,107,.34)}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.hidden-file-input{display:none}.script-manager-panel{display:grid;gap:16px}.manager-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;min-height:520px}.episode-list{display:grid;gap:10px;align-content:start;max-height:720px;overflow:auto;padding-right:4px}.episode-list-item{display:grid;gap:4px;width:100%;text-align:left;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e8ecf3;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.episode-list-item span{color:#9fb1cf;font-size:.92rem}.episode-list-item:hover{transform:translateY(-1px);border-color:#94c5ff73}.episode-list-item-active{background:linear-gradient(135deg,#4c7dff38,#29b8ff24);border-color:#78b7ff7a;box-shadow:0 10px 24px #2561ce2e}.episode-preview{display:grid;gap:12px}.scene-strip-head,.episode-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.episode-preview-head strong{display:block;margin-bottom:4px;font-size:1rem}.episode-preview-head span{color:#9fb1cf;font-size:.92rem}.scene-strip-head strong,.scene-preview-head strong{display:block;margin-bottom:4px;font-size:1rem}.scene-strip-head span,.scene-preview-head span{color:#9fb1cf;font-size:.92rem}.scene-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.scene-chip{min-width:180px;display:grid;gap:4px;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e8ecf3;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.scene-chip span{color:#9fb1cf;font-size:.88rem}.scene-chip:hover{transform:translateY(-1px);border-color:#94c5ff73}.scene-chip-active{background:linear-gradient(135deg,#4c7dff38,#29b8ff24);border-color:#78b7ff7a;box-shadow:0 10px 24px #2561ce2e}.scene-preview-card{display:grid;gap:12px;padding:16px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.scene-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.episode-content-box{min-height:520px;margin-top:0}.scene-content-box{min-height:280px;margin-top:0}@media(max-width:1200px){.workspace,.workflow-main{grid-template-columns:1fr}.right-panel{position:static}.result-box-readonly{max-height:520px}}@media(max-width:720px){.app-shell{padding:18px}.hero{flex-direction:column;padding:20px}.workflow-layout{grid-template-columns:1fr}.tab-rail{position:static;flex-direction:row;overflow-x:auto}.tab-rail-button{min-width:120px}.modal-header,.template-item-head,.control-toolbar-split{flex-direction:column}.control-toolbar-right{width:100%;justify-content:flex-start}.grid-2,.info-grid,.path-toggle,.cinematic-preset-grid,.manager-layout{grid-template-columns:1fr}.episode-preview-head,.scene-strip-head,.scene-preview-head{flex-direction:column}.result-box{min-height:420px}.result-box-readonly{max-height:420px}}
