/* V7.2 画布交互增强：更易拖动、更易接线、90% 编辑区、分镜历史 */
.node-settings-bottom{
  display:block;
  width:calc(100% - 22px);
  min-height:44px;
  margin:0 11px 12px;
  border:1px solid #284474;
  border-radius:11px;
  background:linear-gradient(135deg,#1b202b,#2a3243);
  color:#ced2da;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.node-settings-bottom:hover,.node.advanced .node-settings-bottom{border-color:#6c94d8;background:linear-gradient(135deg,#262d3c,#1d3a6d);color:#eff1f4}
.node.compact .node-settings-bottom{display:none!important}

.node-drag-edge{position:absolute;z-index:7;display:block;touch-action:none;cursor:move}
.node-drag-edge.top{left:10px;right:10px;top:-5px;height:11px}
.node-drag-edge.bottom{left:10px;right:10px;bottom:-5px;height:11px}
.node-drag-edge.left{top:10px;bottom:10px;left:-5px;width:11px}
.node-drag-edge.right{top:10px;bottom:10px;right:-5px;width:11px}
.node-drag-edge:hover{background:rgba(108,148,216,.16)}

.node-media-shell{position:relative}
.node-media-drag{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  min-width:108px;
  height:42px;
  padding:0 15px;
  border:1px solid rgba(153,181,228,.72);
  border-radius:22px;
  background:rgba(9,11,14,.82);
  color:#e1e3e8;
  box-shadow:0 8px 28px rgba(0,0,0,.48);
  font-size:12px;
  font-weight:700;
  cursor:move;
  opacity:.72;
  touch-action:none;
  backdrop-filter:blur(9px);
}
.node-media-drag:hover,.node-media-drag:active{opacity:1;background:rgba(30,36,48,.94);border-color:#83a4de}
.video-frame-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}
.video-frame-actions button{min-height:31px;border:1px solid #31425f;border-radius:8px;background:#12161e;color:#c6cad4;font-size:9px;cursor:pointer}
.video-frame-actions button:hover{border-color:#6f96d9;background:#212835;color:#f6f7f8}

.node-prompt-shell{position:relative}
.node-prompt{padding-bottom:38px!important;scrollbar-color:#3d5887 #0d1015;scrollbar-width:thin}
.node-prompt-toggle{
  position:absolute;
  z-index:5;
  right:7px;
  bottom:7px;
  height:27px;
  padding:0 9px;
  border:1px solid #31405b;
  border-radius:7px;
  background:rgba(12,14,18,.94);
  color:#a4bde7;
  font-size:9px;
  cursor:pointer;
}
.node-prompt-toggle:hover{border-color:#7197d9;color:#eff1f4}
.node.prompt-expanded{width:min(90vw,1100px)!important;z-index:35}
.node.prompt-expanded .node-prompt{height:72vh;min-height:420px;max-height:72vh;overflow-y:scroll!important;overscroll-behavior:contain;font-size:14px;line-height:1.75}
.node.prompt-expanded .node-body{padding:14px}

.node-connect-zone.output{
  position:absolute;
  z-index:3;
  right:-24px;
  top:22px;
  width:20px;
  height:calc(100% - 44px);
  cursor:crosshair;
  touch-action:none;
}
.node-connect-zone.output:hover~.port.output,.node.connection-target .port.input{background:#82a4de;box-shadow:0 0 0 7px rgba(102,143,214,.18)}
.node.connection-target{border-color:#7fa1dd!important;box-shadow:0 0 0 4px rgba(99,141,213,.2),0 22px 55px rgba(0,0,0,.65)!important}
.node.connection-target::after{content:'松开即可连接';position:absolute;z-index:12;left:50%;top:7px;transform:translateX(-50%);padding:5px 9px;border-radius:7px;background:#212836;color:#e1e3e8;font-size:9px;pointer-events:none}

.storyboard-style-field select{height:36px!important;border-color:#354a6e!important;background:#12151c!important;color:#e1e3e8!important}
.storyboard-history{margin:0 11px 11px;border:1px solid #2f384b;border-radius:11px;background:#0c0e12;overflow:hidden}
.storyboard-history>header{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-bottom:1px solid #293142;color:#dadde4;font-size:10px}
.storyboard-history>header span{display:flex;gap:5px}
.storyboard-history button{border:1px solid #31415c;border-radius:7px;background:#141821;color:#a9c0e8;cursor:pointer}
.storyboard-history>header button{height:25px;padding:0 8px;font-size:8px}
.storyboard-history-list{max-height:380px;padding:8px;overflow-y:auto;scrollbar-color:#344c75 #0a0c11;scrollbar-width:thin}
.storyboard-record{margin-bottom:8px;border:1px solid #242b39;border-radius:8px;background:#101319;overflow:hidden}
.storyboard-record>header{display:flex;justify-content:space-between;padding:7px 9px;border-bottom:1px solid #212734;color:#8aaae0;font-size:9px}
.storyboard-record>header small{color:#5e6e8b}
.storyboard-record>div{max-height:250px;padding:10px;color:#d7dbe2;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-y:auto}
.storyboard-record-edit{outline:none;border:1px solid transparent}
.storyboard-record-edit:hover{border-color:#2f3f5d;background:#111722}
.storyboard-record-edit:focus{border-color:#756cf2;background:#111827;box-shadow:inset 0 0 0 2px rgba(117,108,242,.12)}
.storyboard-record>p{margin:0;padding:7px 9px;border-top:1px solid #493b20;background:#2c2413;color:#ffd78a;font-size:9px}
.storyboard-empty{padding:16px;color:#636f85;font-size:10px;text-align:center}
.storyboard-followup{display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px;border-top:1px solid #293142}
.storyboard-followup textarea{min-height:60px;padding:8px;resize:vertical;color:#dfe2e7;font-size:10px}
.storyboard-followup button{min-width:78px;padding:0 10px;font-size:10px}
.storyboard-followup button:disabled{opacity:.45;cursor:not-allowed}
.node.compact .storyboard-history{display:none!important}

@media(max-width:760px){
  .node.prompt-expanded{width:88vw!important}
  .node.prompt-expanded .node-prompt{height:65vh;min-height:360px;max-height:65vh}
  .node-media-drag{min-width:92px;height:38px}
}
