  body{ overflow:hidden; }
  .nc-wrap{ height:calc(100vh - 104px); min-height:520px; display:flex; flex-direction:column; gap:10px; }
  .nc-board-home{ flex:1; min-height:0; padding:2px; display:flex; flex-direction:column; gap:20px; }
  .nc-wrap.editing .nc-board-home{ display:none; }
  .nc-editor-view{ display:none; position:relative; flex:1; min-height:0; flex-direction:column; gap:10px; }
  .nc-wrap.editing .nc-editor-view{ display:flex; }
  .nc-board-head{ flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .nc-tabs{ display:inline-flex; align-items:center; gap:4px; padding:4px; border-radius:22px; background:rgba(148,164,187,.08); }
  .nc-tab{ min-height:34px; padding:7px 16px; border:0; border-radius:18px; background:transparent; color:#94a4bb; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
  .nc-tab.on{ color:#fff; background:rgba(255,255,255,.1); }
  .nc-board-tools{ display:flex; align-items:center; gap:8px; margin-left:auto; }
  .nc-board-search{ width:270px; }
  .nc-board-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,240px)); align-content:start; gap:12px; overflow:auto; padding-bottom:24px; scrollbar-width:none; }
  .nc-board-grid::-webkit-scrollbar{ display:none; width:0; height:0; }
  .nc-board-card{ position:relative; height:228px; overflow:hidden; border:1px solid rgba(148,164,187,.1); border-radius:8px; background:rgba(20,24,31,.92); cursor:pointer; color:#eaf1fa; text-align:left; text-decoration:none; font:inherit; transition:.16s; }
  .nc-board-card:hover{ transform:translateY(-2px); border-color:rgba(231,178,76,.36); box-shadow:0 18px 42px -28px rgba(0,0,0,.9); }
  .nc-board-actions{ position:absolute; top:7px; right:7px; z-index:2; display:flex; gap:5px; opacity:0; transition:.16s; }
  .nc-board-card:hover .nc-board-actions,.nc-board-card:focus-within .nc-board-actions{ opacity:1; }
  .nc-board-action{ width:24px; height:24px; display:grid; place-items:center; border:1px solid rgba(148,164,187,.18); border-radius:50%; background:rgba(7,11,19,.72); color:#dbe7f5; font:inherit; font-size:12px; line-height:1; cursor:pointer; padding:0; }
  .nc-board-action:hover{ color:#fff; background:rgba(231,178,76,.18); border-color:rgba(231,178,76,.34); }
  .nc-board-action.danger:hover{ color:#f4708a; background:rgba(244,112,138,.12); border-color:rgba(244,112,138,.34); }
  .nc-board-new{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border-style:dashed; }
  .nc-board-plus{ width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#ef4444; font-size:24px; line-height:1; }
  .nc-board-new strong{ font-size:13px; }
  .nc-board-thumb{ height:137px; background:linear-gradient(145deg,rgba(148,164,187,.22),rgba(47,55,69,.56)); background-size:cover; background-position:center; }
  .nc-board-thumb.placeholder{ display:grid; place-items:center; color:rgba(234,241,250,.1); font-size:30px; font-weight:900; }
  .nc-board-info{ padding:10px 8px; }
  .nc-board-title{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:800; color:#fff; }
  .nc-board-time{ display:block; margin-top:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; color:#5c6b82; }
  .nc-board-badges{ display:flex; align-items:center; gap:6px; margin-top:7px; min-width:0; }
  .nc-board-badge{ max-width:92px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:2px 6px; border:1px solid rgba(148,164,187,.14); border-radius:999px; background:rgba(148,164,187,.06); color:#94a4bb; font-size:11px; line-height:1.3; }
  .nc-board-badge.gold{ border-color:rgba(231,178,76,.28); background:rgba(231,178,76,.1); color:#e7b24c; }
  .nc-board-action.wide{ width:auto; min-width:34px; padding:0 7px; border-radius:999px; }
  .nc-board-empty{ grid-column:1/-1; padding:40px 16px; color:#5c6b82; font-size:13px; text-align:center; }
  .nc-template-card{ display:flex; flex-direction:column; justify-content:space-between; padding:14px; }
  .nc-template-icon{ width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#1a1206; background:linear-gradient(135deg,#f4cd72,#e7b24c); font-size:18px; font-weight:900; }
  .nc-template-meta{ display:flex; flex-direction:column; gap:7px; min-width:0; }
  .nc-template-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:800; color:#fff; }
  .nc-template-detail{ color:#5c6b82; font-size:12px; line-height:1.5; }
  .nc-template-actions{ display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; }
  .nc-template-btn{ min-height:28px; padding:5px 9px; border:1px solid rgba(148,164,187,.16); border-radius:7px; background:rgba(148,164,187,.06); color:#cbd6e4; font:inherit; font-size:12px; cursor:pointer; }
  .nc-template-btn:hover{ color:#fff; border-color:rgba(231,178,76,.32); background:rgba(231,178,76,.12); }
  .nc-template-btn.danger:hover{ color:#f4708a; border-color:rgba(244,112,138,.34); background:rgba(244,112,138,.12); }
  body.nc-local-fullscreen{ overflow:hidden; }
  body.nc-local-fullscreen .nc-wrap{ position:fixed; inset:0; z-index:70; height:100vh; min-height:0; box-sizing:border-box; padding:12px; background:#070b13; }
  .nc-wrap:fullscreen{ width:100vw; height:100vh; min-height:0; box-sizing:border-box; padding:12px; background:#070b13; }
  .nc-wrap:-webkit-full-screen{ width:100vw; height:100vh; min-height:0; box-sizing:border-box; padding:12px; background:#070b13; }
  .nc-hero{ flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:10px 14px; border:1px solid rgba(148,164,187,.08); border-radius:14px; background:rgba(8,13,22,.42); }
  .nc-title{ display:flex; align-items:center; gap:10px; min-width:0; }
  .nc-title strong{ display:block; font-size:16px; line-height:1.2; }
  .nc-title span:last-child{ display:block; margin-top:4px; font-size:12px; color:#94a4bb; }
  .nc-stats{ display:grid; grid-template-columns:.8fr .8fr 1.35fr; gap:8px; min-width:340px; }
  .nc-stat{ padding:7px 10px; border:1px solid rgba(148,164,187,.09); border-radius:10px; background:rgba(148,164,187,.03); }
  .nc-stat b{ display:block; font-family:var(--mono,ui-monospace,monospace); font-size:16px; color:#eaf1fa; line-height:1.1; }
  #ncRunState{ font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nc-stat span{ display:block; margin-top:3px; font-size:10.5px; color:#5c6b82; }
  .nc-bar{ flex:none; display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:8px; border:1px solid rgba(148,164,187,.1); border-radius:14px; background:rgba(7,11,19,.34); }
  .nc-wrap.editing .nc-bar{ display:none; }
  .nc-group{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
  .nc-group-label{ display:none; flex:0 0 100%; font-size:10px; font-weight:800; color:#5c6b82; letter-spacing:0; }
  .nc-add,.nc-ghost{ display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:8px 12px; font-size:12.5px; font-weight:650; color:#e7b24c; background:rgba(231,178,76,.09); border:1px solid rgba(231,178,76,.28); border-radius:10px; cursor:pointer; font-family:inherit; transition:.16s; user-select:none; -webkit-user-select:none; }
  .nc-add:hover,.nc-ghost:hover{ background:rgba(231,178,76,.15); transform:translateY(-1px); }
  .nc-ghost{ color:#94a4bb; background:rgba(148,164,187,.05); border-color:rgba(148,164,187,.14); }
  .nc-select{ min-height:34px; max-width:150px; padding:7px 9px; color:#94a4bb; background:rgba(148,164,187,.05); border:1px solid rgba(148,164,187,.14); border-radius:10px; outline:none; font:inherit; font-size:12.5px; }
  .nc-name{ min-height:34px; width:116px; box-sizing:border-box; padding:7px 9px; color:#eaf1fa; background:rgba(148,164,187,.05); border:1px solid rgba(148,164,187,.14); border-radius:10px; outline:none; font:inherit; font-size:12.5px; }
  .nc-file{ display:none; }
  .nc-run{ margin-left:auto; min-height:36px; padding:8px 16px; font-size:13px; font-weight:800; color:#1a1206; background:linear-gradient(135deg,#f4cd72,#e7b24c); border:none; border-radius:10px; cursor:pointer; font-family:inherit; box-shadow:0 12px 28px -16px rgba(231,178,76,.8); }
  .nc-run:disabled{ opacity:.65; cursor:wait; }
  .nc-zoom{ width:58px; min-width:58px; justify-content:center; color:#eaf1fa; font-family:var(--mono,ui-monospace,monospace); text-align:center; }
  input.nc-zoom{ box-sizing:border-box; outline:none; }
  .nc-help{ display:flex; align-items:center; gap:8px; min-width:180px; font-size:11.5px; color:#5c6b82; }
  .nc-help i{ width:6px; height:6px; border-radius:50%; background:#2dd4bf; box-shadow:0 0 8px rgba(45,212,191,.8); flex:none; }
  .nc-canvas-shell{ --agent-panel-width:380px; position:relative; flex:1; min-height:0; }
  body.nc-local-fullscreen .nc-canvas-shell{ min-height:0; }
  .nc-wrap:fullscreen .nc-canvas-shell,
  .nc-wrap:-webkit-full-screen .nc-canvas-shell{ min-height:0; }
  body.nc-local-fullscreen .nc-hero,
  .nc-wrap:fullscreen .nc-hero,
  .nc-wrap:-webkit-full-screen .nc-hero{ display:none; }
  body.nc-local-fullscreen .nc-canvas-shell,
  .nc-wrap:fullscreen .nc-canvas-shell,
  .nc-wrap:-webkit-full-screen .nc-canvas-shell{ order:1; }
  body.nc-local-fullscreen .nc-bar,
  .nc-wrap:fullscreen .nc-bar,
  .nc-wrap:-webkit-full-screen .nc-bar{ display:none; }
  body.nc-local-fullscreen .nc-group,
  .nc-wrap:fullscreen .nc-group,
  .nc-wrap:-webkit-full-screen .nc-group{ align-content:flex-start; gap:6px; padding:8px; border:1px solid rgba(148,164,187,.12); border-radius:10px; background:rgba(148,164,187,.04); }
  body.nc-local-fullscreen .nc-group-label,
  .nc-wrap:fullscreen .nc-group-label,
  .nc-wrap:-webkit-full-screen .nc-group-label{ display:block; }
  body.nc-local-fullscreen .nc-add,
  body.nc-local-fullscreen .nc-ghost,
  body.nc-local-fullscreen .nc-run,
  .nc-wrap:fullscreen .nc-add,
  .nc-wrap:fullscreen .nc-ghost,
  .nc-wrap:fullscreen .nc-run,
  .nc-wrap:-webkit-full-screen .nc-add,
  .nc-wrap:-webkit-full-screen .nc-ghost,
  .nc-wrap:-webkit-full-screen .nc-run{ min-height:30px; padding:6px 10px; font-size:12px; border-radius:8px; }
  body.nc-local-fullscreen .nc-run,
  .nc-wrap:fullscreen .nc-run,
  .nc-wrap:-webkit-full-screen .nc-run{ margin-left:0; align-self:flex-end; }
  body.nc-local-fullscreen .nc-help,
  .nc-wrap:fullscreen .nc-help,
  .nc-wrap:-webkit-full-screen .nc-help{ display:none; }
  .nc-fs-dock{ display:none; position:absolute; left:50%; bottom:16px; z-index:12; transform:translateX(-50%); max-width:calc(100% - 32px); padding:6px 8px; border:1px solid rgba(148,164,187,.11); border-radius:14px; background:rgba(8,12,20,.76); box-shadow:0 18px 48px -28px rgba(0,0,0,.82); backdrop-filter:blur(18px); }
  .nc-wrap.editing .nc-fs-dock{ display:flex; }
  body.nc-local-fullscreen .nc-fs-dock,
  .nc-wrap:fullscreen .nc-fs-dock,
  .nc-wrap:-webkit-full-screen .nc-fs-dock{ display:flex; }
  .nc-fs-row{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
  .nc-fs-dock,.nc-fs-dock *{ pointer-events:auto; }
  .nc-fs-group{ display:flex; align-items:center; gap:3px; padding-right:7px; border-right:1px solid rgba(148,164,187,.1); }
  .nc-fs-group:last-child{ padding-right:0; border-right:0; }
  .nc-fs-btn{ min-width:30px; min-height:30px; padding:6px 9px; border:1px solid transparent; border-radius:8px; background:transparent; color:#b8c5d6; font:inherit; font-size:12px; font-weight:650; cursor:pointer; }
  .nc-fs-btn.icon{ width:30px; padding:6px 0; font-size:15px; line-height:1; }
  .nc-fs-btn:hover{ background:rgba(148,164,187,.09); color:#fff; border-color:rgba(148,164,187,.11); }
  .nc-view-toggle{ gap:2px; padding:3px; border:1px solid rgba(148,164,187,.1); border-radius:10px; background:rgba(3,7,13,.5); }
  .nc-view-toggle .nc-fs-btn{ min-height:26px; padding:4px 9px; }
  .nc-view-toggle .nc-fs-btn[aria-pressed="true"]{ border-color:rgba(45,212,191,.22); background:rgba(45,212,191,.12); color:#baf5ec; box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 18px -13px rgba(45,212,191,.8); }
  .nc-canvas-shell.story-view [data-workflow-tools],.nc-canvas-shell.story-view #ncFsMore,.nc-canvas-shell.story-view #ncFsRun{ display:none!important; }
  .nc-fs-agent{ color:#f1c768; }
  .nc-fs-agent:hover,.nc-canvas-shell.agent-open .nc-fs-agent{ border-color:rgba(231,178,76,.3); background:rgba(231,178,76,.12); color:#fff2c6; box-shadow:0 0 22px -13px rgba(231,178,76,.72); }
  .nc-fs-btn.primary{ border-color:rgba(231,178,76,.34); background:linear-gradient(135deg,#f1c768,#e5ae43); color:#1a1206; box-shadow:0 10px 24px -18px rgba(231,178,76,.8); }
  .nc-fs-btn:disabled{ opacity:.5; cursor:not-allowed; }
  .nc-fs-zoom{ width:56px; min-width:56px; justify-content:center; color:#eaf1fa; font-family:var(--mono,ui-monospace,monospace); text-align:center; cursor:text; background:rgba(148,164,187,.07); border-color:rgba(148,164,187,.12); }
  .nc-fs-side-moved{ display:none!important; }
  .nc-save-state{ min-width:58px; padding:0 4px; color:#5c6b82; font-size:12px; text-align:center; white-space:nowrap; }
  .nc-save-state.saving{ color:#e7b24c; }
  .nc-save-state.saved{ color:#2bd576; }
  .nc-save-state.error{ color:#f4708a; }
  .nc-online-state{ min-width:52px; color:#7f8fa7; font-size:12px; white-space:nowrap; }
  body.nc-local-fullscreen .nc-legend,
  .nc-wrap:fullscreen .nc-legend,
  .nc-wrap:-webkit-full-screen .nc-legend{ display:none; }
  .nc-canvas{ position:relative; flex:1; min-height:0; border:1px solid rgba(148,164,187,.12); border-radius:14px; overflow:hidden; scrollbar-width:none; cursor:grab;
    --grid-minor:24px; --grid-major:120px; --grid-x:0px; --grid-y:0px; height:100%;
    background-image:linear-gradient(rgba(148,164,187,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(148,164,187,.09) 1px,transparent 1px),linear-gradient(rgba(148,164,187,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(148,164,187,.15) 1px,transparent 1px),linear-gradient(165deg,#0b111c,#070b12);
    background-size:var(--grid-minor) var(--grid-minor),var(--grid-minor) var(--grid-minor),var(--grid-major) var(--grid-major),var(--grid-major) var(--grid-major),100% 100%;
    background-position:var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),0 0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
  .nc-canvas-shell.agent-open .nc-canvas{ margin-right:var(--agent-panel-width); border-radius:14px 0 0 14px; }
  .nc-storyboard{ display:none; height:100%; box-sizing:border-box; overflow:auto; padding:38px 40px 110px; border:1px solid rgba(148,164,187,.12); border-radius:14px; scrollbar-width:thin; scrollbar-color:rgba(148,164,187,.18) transparent; background-color:#080d15; background-image:radial-gradient(circle at 1px 1px,rgba(148,164,187,.12) 1px,transparent 1px),linear-gradient(160deg,rgba(13,20,32,.94),rgba(6,10,17,.98)); background-size:24px 24px,100% 100%; box-shadow:inset 0 1px rgba(255,255,255,.035); }
  .nc-canvas-shell.story-view .nc-storyboard{ display:block; }
  .nc-canvas-shell.story-view .nc-canvas,.nc-canvas-shell.story-view .nc-empty,.nc-canvas-shell.story-view .nc-map,.nc-canvas-shell.story-view .nc-float,.nc-canvas-shell.story-view .nc-legend{ display:none!important; }
  .nc-canvas-shell.agent-open .nc-storyboard{ margin-right:var(--agent-panel-width); border-radius:14px 0 0 14px; }
  .nc-story-head{ max-width:1100px; margin:0 auto 24px; display:flex; align-items:flex-end; justify-content:space-between; gap:22px; }
  .nc-story-head span{ display:block; margin-bottom:7px; color:#5eead4; font-size:10.5px; font-weight:850; letter-spacing:.12em; }
  .nc-story-head strong{ display:block; color:#f5f8fc; font-size:26px; letter-spacing:-.03em; }
  .nc-story-head p{ margin:8px 0 0; color:#718197; font-size:12px; }
  .nc-story-head>small{ flex:none; padding:7px 10px; border:1px solid rgba(148,164,187,.13); border-radius:999px; background:rgba(8,12,20,.66); color:#94a4bb; font-size:11px; }
  .nc-story-grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:14px; }
  .nc-story-card{ min-width:0; overflow:hidden; border:1px solid rgba(148,164,187,.12); border-radius:14px; background:linear-gradient(155deg,rgba(18,25,37,.94),rgba(9,14,23,.96)); box-shadow:0 20px 50px -42px rgba(0,0,0,.95),inset 0 1px rgba(255,255,255,.035); }
  .nc-story-card-head{ min-height:58px; display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid rgba(148,164,187,.09); }
  .nc-story-index{ width:31px; height:31px; display:grid; place-items:center; flex:none; border:1px solid rgba(45,212,191,.2); border-radius:9px; background:rgba(45,212,191,.08); color:#80eadb; font:700 10.5px var(--mono,ui-monospace,monospace); }
  .nc-story-card-head>div{ min-width:0; flex:1; }
  .nc-story-card-head small{ display:block; margin-bottom:3px; color:#607087; font-size:9.5px; }
  .nc-story-card-head strong{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eaf1fa; font-size:12.5px; }
  .nc-story-card-head em{ flex:none; color:#7f90a8; font-size:10px; font-style:normal; }
  .nc-story-media{ aspect-ratio:16/9; display:grid; place-items:center; overflow:hidden; background:rgba(3,7,13,.72); color:#5f6e82; font-size:11px; }
  .nc-story-media img,.nc-story-media video{ width:100%; height:100%; display:block; object-fit:cover; }
  .nc-story-media.empty{ background:linear-gradient(145deg,rgba(21,29,42,.62),rgba(5,9,16,.82)); }
  .nc-story-copy{ margin:0; padding:15px 16px 18px; white-space:pre-wrap; overflow-wrap:anywhere; color:#cbd6e4; font-size:12.5px; line-height:1.72; }
  .nc-story-copy.muted{ color:#5f6e82; }
  .nc-story-progress{ padding:24px 18px 22px; }
  .nc-story-progress>div{ display:flex; justify-content:space-between; gap:12px; color:#dbe5f1; font-size:12px; }
  .nc-story-progress>div span{ color:#f1c768; }
  .nc-story-progress>i{ height:5px; display:block; overflow:hidden; margin:13px 0 9px; border-radius:999px; background:rgba(148,164,187,.12); }
  .nc-story-progress>i span{ height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#2dd4bf,#e7b24c); }
  .nc-story-progress>small{ color:#607087; font-size:10.5px; }
  .nc-story-empty{ grid-column:1/-1; min-height:300px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; border:1px dashed rgba(148,164,187,.15); border-radius:16px; background:rgba(7,11,19,.45); text-align:center; }
  .nc-story-empty strong{ color:#eaf1fa; font-size:17px; }
  .nc-story-empty span{ color:#718197; font-size:12px; }
  .nc-story-empty button{ margin-top:8px; padding:8px 12px; border:1px solid rgba(45,212,191,.22); border-radius:9px; background:rgba(45,212,191,.1); color:#a7f3e8; cursor:pointer; font:inherit; font-size:12px; }
  .nc-canvas-shell.agent-open .nc-fs-dock{ left:calc((100% - var(--agent-panel-width))/2); }
  .nc-canvas-shell.agent-open .nc-map{ right:calc(var(--agent-panel-width) + 16px); }
  .nc-canvas::-webkit-scrollbar{ display:none; width:0; height:0; }
  .nc-canvas.panning{ cursor:grabbing; user-select:none; }
  .nc-canvas.asset-drop-ready{ box-shadow:inset 0 0 0 1px rgba(231,178,76,.34); }
  .nc-canvas.asset-drop-target{ box-shadow:inset 0 0 0 2px #e7b24c,inset 0 0 44px rgba(231,178,76,.08); }
  .nc-canvas.connecting{ cursor:crosshair; }
  .nc-canvas.selecting{ cursor:crosshair; user-select:none; }
  .nc-canvas.connecting,.nc-canvas.connecting *{ user-select:none; -webkit-user-select:none; }
  .nc-canvas.connecting input,.nc-canvas.connecting textarea{ user-select:text; -webkit-user-select:text; }
  .nc-inner{ position:relative; width:8000px; height:5000px; margin:1200px; transform-origin:0 0; }
  .nc-selection-box{ position:absolute; z-index:4; display:none; pointer-events:none; border:1px dashed rgba(70,180,255,.9); background:rgba(70,180,255,.13); border-radius:6px; box-shadow:0 0 0 1px rgba(70,180,255,.1) inset; }
  .nc-selected-region{ position:absolute; z-index:3; display:none; pointer-events:auto; cursor:move; border:1px solid rgba(45,212,191,.85); background:rgba(45,212,191,.06); border-radius:10px; box-shadow:0 0 0 1px rgba(45,212,191,.12) inset,0 0 18px rgba(45,212,191,.18); }
  .nc-selected-region.dragging{ background:rgba(45,212,191,.11); border-color:#2dd4bf; box-shadow:0 0 0 1px rgba(45,212,191,.18) inset,0 0 24px rgba(45,212,191,.26); }
  .nc-selected-region::after{ content:"已选区域"; position:absolute; left:8px; top:-22px; padding:2px 6px; border:1px solid rgba(45,212,191,.22); border-radius:6px; background:rgba(8,12,20,.9); color:#9be7dc; font-size:11px; white-space:nowrap; }
  .nc-edges{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }
  .nc-edge-hit{ pointer-events:stroke; cursor:pointer; }
  .nc-edge-sel{ stroke:#2dd4bf; stroke-width:3; filter:drop-shadow(0 0 6px rgba(45,212,191,.45)); }
  .nc-node{ position:absolute; z-index:2; width:250px; border:1px solid rgba(148,164,187,.12); border-radius:12px; background:rgba(11,16,24,.94); box-shadow:0 14px 34px -24px rgba(0,0,0,.85); font-size:12.5px; transition:border-color .16s, box-shadow .16s, transform .16s; user-select:none; -webkit-user-select:none; }
  .nc-node.resized{ display:flex; flex-direction:column; }
  .nc-node.resized .nc-body{ flex:1; min-height:0; overflow:auto; }
  .nc-node.sel{ border-color:rgba(231,178,76,.54); box-shadow:0 16px 36px -24px rgba(231,178,76,.38),0 14px 34px -24px rgba(0,0,0,.85); }
  .nc-node[data-state="running"]{ border-color:rgba(45,212,191,.55); }
  .nc-node[data-state="done"]{ border-color:rgba(43,213,118,.45); }
  .nc-node[data-state="error"]{ border-color:rgba(244,112,138,.55); }
  .nc-node.collapsed{ width:220px; height:auto!important; }
  .nc-node.collapsed .nc-body{ display:none; }
  .nc-node.collapsed .nc-port{ top:50%!important; transform:translateY(-50%); }
  .nc-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid rgba(148,164,187,.08); cursor:move; border-radius:12px 12px 0 0; font-weight:700; user-select:none; -webkit-user-select:none; }
  .nc-node.collapsed .nc-head{ border-bottom:0; border-radius:13px; }
  .nc-head .dot{ width:8px; height:8px; border-radius:50%; flex:none; }
  .nc-actions{ display:flex; align-items:center; gap:7px; flex:none; }
  .nc-fold{ cursor:pointer; color:#94a4bb; font-size:14px; line-height:1; }
  .nc-fold:hover{ color:#e7b24c; }
  .nc-x{ cursor:pointer; color:#5c6b82; font-size:15px; line-height:1; }
  .nc-x:hover{ color:#f4708a; }
  .nc-body{ padding:10px; display:flex; flex-direction:column; gap:8px; }
  .nc-lab{ font-size:10.5px; color:#5c6b82; user-select:none; -webkit-user-select:none; }
  .nc-node-title{ font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .nc-node-title[contenteditable="true"]{ min-width:54px; max-width:160px; padding:2px 5px; margin:-3px -6px; border:1px solid rgba(70,180,255,.5); border-radius:5px; background:rgba(70,180,255,.08); outline:none; overflow:visible; text-overflow:clip; cursor:text; user-select:text; -webkit-user-select:text; }
  .nc-resize-handle{ position:absolute; z-index:5; display:none; width:11px; height:11px; padding:0; border:2px solid #101722; border-radius:50%; background:#e7b24c; box-shadow:0 0 0 1px rgba(231,178,76,.4); }
  .nc-node.sel:not(.collapsed) .nc-resize-handle{ display:block; }
  .nc-resize-n{ left:50%; top:-6px; transform:translateX(-50%); cursor:ns-resize; }.nc-resize-ne{ right:-6px; top:-6px; cursor:nesw-resize; }.nc-resize-e{ right:-6px; top:50%; transform:translateY(-50%); cursor:ew-resize; }.nc-resize-se{ right:-6px; bottom:-6px; cursor:nwse-resize; }.nc-resize-s{ left:50%; bottom:-6px; transform:translateX(-50%); cursor:ns-resize; }.nc-resize-sw{ left:-6px; bottom:-6px; cursor:nesw-resize; }.nc-resize-w{ left:-6px; top:50%; transform:translateY(-50%); cursor:ew-resize; }.nc-resize-nw{ left:-6px; top:-6px; cursor:nwse-resize; }
  .nc-align-guide{ position:absolute; z-index:3; display:none; pointer-events:none; background:rgba(45,212,191,.78); box-shadow:0 0 8px rgba(45,212,191,.32); }
  .nc-align-guide.vertical{ top:0; bottom:0; width:1px; }.nc-align-guide.horizontal{ left:0; right:0; height:1px; }
  .nc-remark-mark{ display:none; flex:0 0 auto; align-items:center; justify-content:center; height:17px; min-width:17px; padding:0 4px; border-radius:4px; background:#fff1c2; color:#8a5d00; font-size:11px; font-weight:700; }
  .nc-node.has-remark .nc-remark-mark{ display:inline-flex; }
  .nc-in{ width:100%; box-sizing:border-box; padding:7px 9px; font-size:12px; color:#eaf1fa; background:rgba(6,10,17,.56); border:1px solid rgba(148,164,187,.12); border-radius:8px; outline:none; font-family:inherit; resize:none; user-select:text; -webkit-user-select:text; }
  .nc-in:focus{ border-color:rgba(231,178,76,.4); }
  .nc-seg{ display:flex; gap:5px; flex-wrap:wrap; }
  .nc-chip{ padding:4px 8px; font-size:11px; border-radius:7px; cursor:pointer; color:#94a4bb; background:rgba(148,164,187,.045); border:1px solid rgba(148,164,187,.11); user-select:none; -webkit-user-select:none; }
  .nc-chip.on{ color:#e7b24c; background:rgba(231,178,76,.1); border-color:rgba(231,178,76,.32); }
  .nc-go{ width:100%; padding:8px; font-size:12.5px; font-weight:700; color:#1a1206; background:linear-gradient(135deg,#f1c768,#e5ae43); border:none; border-radius:8px; cursor:pointer; font-family:inherit; user-select:none; -webkit-user-select:none; }
  .nc-go:disabled{ opacity:.6; cursor:wait; }
  .nc-note{ font-size:10.5px; color:#5c6b82; min-height:15px; line-height:1.45; }
  .nc-refbar{ display:flex; align-items:center; gap:6px; min-height:26px; padding:5px 6px; border:1px solid rgba(70,180,255,.14); border-radius:8px; background:rgba(70,180,255,.05); color:#6f8198; font-size:10.5px; }
  .nc-refbar.has-ref{ color:#cbd6e4; border-color:rgba(70,180,255,.25); }
  .nc-refbar span{ white-space:nowrap; }
  .nc-refthumbs{ display:flex; align-items:center; gap:4px; min-width:0; }
  .nc-refthumb{ width:22px; height:22px; border-radius:5px; border:1px solid rgba(148,164,187,.18); background-size:cover; background-position:center; flex:none; }
  .nc-refmore{ min-width:22px; height:22px; display:grid; place-items:center; padding:0 4px; border-radius:5px; background:rgba(148,164,187,.1); color:#94a4bb; font-size:10px; flex:none; }
  .nc-thumb{ width:100%; border-radius:8px; display:block; border:1px solid rgba(148,164,187,.12); }
  .nc-drop{ width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; text-align:center; font-size:11px; color:#5c6b82; border:1.4px dashed rgba(148,164,187,.26); border-radius:9px; cursor:pointer; background-size:cover; background-position:center; }
  .nc-drop:hover{ border-color:rgba(231,178,76,.42); color:#94a4bb; }
  .nc-video-result{ width:100%; aspect-ratio:16/9; display:none; border:1px solid rgba(148,164,187,.16); border-radius:9px; overflow:hidden; background:#05070c; }
  .nc-video-result video{ width:100%; height:100%; display:block; object-fit:contain; background:#05070c; }
  .nc-mini{ display:inline-flex; align-items:center; gap:5px; padding:3px 7px; border-radius:7px; font-size:10.5px; color:#94a4bb; background:rgba(148,164,187,.06); border:1px solid rgba(148,164,187,.12); }
  .nc-float{ position:absolute; z-index:5; left:16px; bottom:16px; display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid rgba(148,164,187,.12); border-radius:12px; background:rgba(9,14,24,.88); backdrop-filter:blur(10px); color:#94a4bb; font-size:11.5px; box-shadow:0 16px 38px -22px rgba(0,0,0,.9); }
  .nc-legend{ position:absolute; z-index:5; right:16px; bottom:16px; display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid rgba(148,164,187,.12); border-radius:12px; background:rgba(9,14,24,.88); backdrop-filter:blur(10px); font-size:11px; color:#5c6b82; }
  .nc-legend span{ display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
  .nc-legend i{ width:9px; height:9px; border-radius:50%; border:2px solid #94a4bb; }
  .nc-legend .img i{ border-color:#46b4ff; }
  .nc-map{ position:absolute; z-index:6; right:16px; top:16px; width:164px; height:104px; border:1px solid rgba(148,164,187,.16); border-radius:10px; background:rgba(9,14,24,.82); backdrop-filter:blur(10px); overflow:hidden; cursor:pointer; box-shadow:0 16px 38px -24px rgba(0,0,0,.9); }
  .nc-map svg{ width:100%; height:100%; display:block; }
  .nc-map-node{ fill:rgba(231,178,76,.72); stroke:rgba(255,255,255,.24); stroke-width:.7; }
  .nc-map-node.img{ fill:rgba(70,180,255,.72); }
  .nc-map-view{ fill:rgba(45,212,191,.08); stroke:#2dd4bf; stroke-width:1.4; }
  .nc-menu{ position:fixed; z-index:30; display:none; width:208px; max-width:calc(100vw - 16px); box-sizing:border-box; padding:8px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(35,35,36,.97); box-shadow:0 26px 60px -25px rgba(0,0,0,.98),inset 0 1px rgba(255,255,255,.045); backdrop-filter:blur(18px); }
  .nc-menu.add{ width:220px; }
  .nc-menu.on{ display:block; }
  .nc-menu-title{ padding:7px 9px 8px; color:#9a9da4; font-size:11.5px; font-weight:650; letter-spacing:.01em; }
  .nc-menu-section{ padding:11px 9px 5px; color:#6f737b; font-size:10.5px; }
  .nc-menu-separator{ height:1px; margin:6px 9px; background:rgba(148,164,187,.12); }
  .nc-menu button{ display:flex; align-items:center; gap:10px; width:100%; min-height:36px; padding:7px 9px; border:0; border-radius:9px; background:transparent; color:#d8dadd; text-align:left; cursor:pointer; font:inherit; font-size:12.5px; user-select:none; -webkit-user-select:none; transition:color .16s ease,background .16s ease; }
  .nc-menu button:hover,.nc-menu button:focus-visible{ outline:none; color:#fff; background:rgba(255,255,255,.1); }
  .nc-menu button:disabled{ color:#59606b; cursor:not-allowed; background:transparent; }
  .nc-menu-k{ width:20px; height:20px; display:grid; place-items:center; flex:none; border-radius:6px; background:rgba(255,255,255,.05); color:#e2e7ee; font-size:10px; font-weight:800; }
  .nc-menu-icon{ width:19px; height:19px; display:grid; place-items:center; flex:none; color:#d8dadd; }
  .nc-menu-icon svg{ width:19px; height:19px; display:block; overflow:visible; }
  .nc-menu-icon .nc-icon-spark{ color:#e7b24c; stroke:currentColor; transform-box:fill-box; transform-origin:center; }
  .nc-menu button:hover .nc-menu-icon,.nc-menu button:focus-visible .nc-menu-icon{ color:#f4f5f7; }
  .nc-menu button:not(:disabled):hover .nc-icon-base,.nc-menu button:not(:disabled):focus-visible .nc-icon-base{ animation:nc-menu-icon-draw .38s ease-out both; }
  .nc-menu button:not(:disabled):hover .nc-icon-detail,.nc-menu button:not(:disabled):focus-visible .nc-icon-detail{ animation:nc-menu-icon-draw .42s .07s ease-out both; }
  .nc-menu button:not(:disabled):hover .nc-icon-spark,.nc-menu button:not(:disabled):focus-visible .nc-icon-spark{ animation:nc-menu-icon-spark .42s .18s cubic-bezier(.2,.9,.25,1.35) both; }
  @keyframes nc-menu-icon-draw{ from{ stroke-dasharray:1; stroke-dashoffset:1; opacity:.18; } to{ stroke-dasharray:1; stroke-dashoffset:0; opacity:1; } }
  @keyframes nc-menu-icon-spark{ 0%{ opacity:0; transform:scale(.2) rotate(-24deg); } 65%{ opacity:1; transform:scale(1.18) rotate(5deg); } 100%{ opacity:1; transform:scale(1) rotate(0); } }
  .nc-menu-t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .nc-menu-shortcut{ margin-left:auto; color:#707884; font-size:10.5px; }
  .nc-image-toolbar{ position:fixed; z-index:29; display:none; align-items:center; gap:2px; box-sizing:border-box; overflow-x:auto; padding:7px; border:1px solid rgba(255,255,255,.11); border-radius:14px; background:rgba(35,35,36,.96); box-shadow:0 24px 54px -28px rgba(0,0,0,.98),inset 0 1px rgba(255,255,255,.055); backdrop-filter:blur(18px); scrollbar-width:none; }
  .nc-image-toolbar::-webkit-scrollbar{ display:none; }
  .nc-image-toolbar.on{ display:flex; }
  .nc-image-toolbar button{ position:relative; min-width:max-content; height:36px; display:inline-flex; align-items:center; gap:6px; padding:0 9px; border:0; border-radius:9px; background:transparent; color:#d8dadd; cursor:pointer; font:inherit; font-size:11.5px; font-weight:650; white-space:nowrap; transition:color .16s ease,background .16s ease; }
  .nc-image-toolbar button:hover,.nc-image-toolbar button:focus-visible{ outline:none; color:#fff; background:rgba(255,255,255,.1); }
  .nc-image-toolbar button.more{ margin-left:3px; border-left:1px solid rgba(148,164,187,.14); border-radius:0 9px 9px 0; }
  .nc-image-toolbar .nc-menu-icon{ width:18px; height:18px; color:#eef1f5; }
  .nc-image-toolbar .nc-menu-icon svg{ width:18px; height:18px; }
  .nc-image-toolbar b{ margin-left:1px; padding:2px 5px; border-radius:999px; background:#3d9fab; color:#dffbff; font-size:8px; line-height:1.2; letter-spacing:.04em; }
  .nc-image-toolbar button:hover .nc-icon-base,.nc-image-toolbar button:focus-visible .nc-icon-base{ animation:nc-menu-icon-draw .38s ease-out both; }
  .nc-image-toolbar button:hover .nc-icon-detail,.nc-image-toolbar button:focus-visible .nc-icon-detail{ animation:nc-menu-icon-draw .42s .07s ease-out both; }
  .nc-image-toolbar button:hover .nc-icon-spark,.nc-image-toolbar button:focus-visible .nc-icon-spark{ animation:nc-menu-icon-spark .42s .18s cubic-bezier(.2,.9,.25,1.35) both; }
  .nc-side-tools{ position:absolute; right:14px; top:50%; z-index:13; transform:translateY(-50%); display:flex; flex-direction:column; gap:8px; padding:6px; border:1px solid rgba(148,164,187,.1); border-radius:14px; background:rgba(8,12,20,.42); box-shadow:0 14px 40px -28px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.025); backdrop-filter:blur(14px); transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease; }
  .nc-side-tools:hover,.nc-side-tools:focus-within{ transform:translate(-2px,-50%); border-color:rgba(231,178,76,.2); background:rgba(10,15,24,.94); box-shadow:0 22px 52px -26px rgba(0,0,0,.92),0 0 28px -18px rgba(231,178,76,.46),inset 0 1px rgba(255,255,255,.07); }
  .nc-side-tool{ position:relative; width:42px; height:42px; display:grid; place-items:center; border:1px solid transparent; border-radius:11px; background:transparent; color:#7f90a8; cursor:pointer; font:inherit; transition:transform .18s ease,color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
  .nc-side-tool b{ display:none; }
  .nc-side-tool span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .nc-side-tool svg{ width:19px; height:19px; display:block; stroke:currentColor; transition:transform .2s ease,filter .2s ease; }
  .nc-side-tool svg>*{ transform-box:fill-box; transform-origin:center; transition:transform .22s ease,opacity .22s ease; }
  .nc-side-tool::after{ content:attr(aria-label); position:absolute; right:calc(100% + 11px); top:50%; transform:translate(5px,-50%); padding:6px 9px; border:1px solid rgba(148,164,187,.16); border-radius:7px; background:rgba(8,12,20,.96); box-shadow:0 10px 28px -16px rgba(0,0,0,.9); color:#dce6f2; font-size:11px; font-weight:700; line-height:1; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity .16s ease,transform .16s ease; }
  .nc-side-tool:hover,.nc-side-tool.on,.nc-side-tool:focus-visible{ color:#fff; border-color:rgba(231,178,76,.3); background:linear-gradient(145deg,rgba(231,178,76,.18),rgba(231,178,76,.07)); box-shadow:0 8px 20px -12px rgba(231,178,76,.65),inset 0 1px rgba(255,255,255,.08); }
  .nc-side-tool:hover,.nc-side-tool:focus-visible{ transform:translateY(-1px) scale(1.04); outline:none; }
  .nc-side-tool:hover::after,.nc-side-tool:focus-visible::after{ transform:translate(0,-50%); opacity:1; }
  .nc-side-tool:hover svg,.nc-side-tool:focus-visible svg{ transform:scale(1.08); filter:drop-shadow(0 0 6px rgba(231,178,76,.34)); }
  .nc-side-tool[data-side="nodes"]:hover circle{ transform:scale(1.22); }
  .nc-side-tool[data-side="agent"]:hover path:first-child{ transform:rotate(12deg) scale(1.12); }
  .nc-side-tool[data-side="agent"]:hover path:last-child{ transform:translate(-1px,-1px) scale(1.18); }
  .nc-side-tool[data-side="assets"]:hover path:nth-child(n+2){ transform:rotate(90deg); }
  .nc-side-tool[data-side="export"]:hover path:nth-child(-n+2){ transform:translateY(2px); }
  #ncSideTplMenu:hover path:nth-child(n+2){ transform:translateX(2px); }
  #ncSideMore:hover circle:first-child{ transform:translateX(-1.5px); }
  #ncSideMore:hover circle:last-child{ transform:translateX(1.5px); }
  .nc-side-panel{ position:absolute; right:68px; top:16px; bottom:76px; z-index:13; display:none; width:292px; border:1px solid rgba(148,164,187,.12); border-radius:14px; background:rgba(8,12,20,.9); box-shadow:0 24px 58px -30px rgba(0,0,0,.9); backdrop-filter:blur(18px); overflow:hidden; }
  .nc-side-panel.on{ display:flex; flex-direction:column; }
  .nc-side-panel.agent{ right:0; top:0; bottom:0; width:var(--agent-panel-width); box-sizing:border-box; border-color:rgba(148,164,187,.14); border-radius:0 14px 14px 0; background:linear-gradient(180deg,rgba(12,17,27,.98),rgba(7,11,19,.98)); box-shadow:-22px 0 46px -34px rgba(0,0,0,.9); }
  .nc-canvas-shell.agent-open .nc-side-tools{ right:calc(var(--agent-panel-width) + 12px); }
  .nc-side-head{ height:46px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 12px 0 14px; border-bottom:1px solid rgba(148,164,187,.09); }
  .nc-side-head strong{ color:#eaf1fa; font-size:13px; }
  .nc-side-panel.agent .nc-side-head{ height:56px; padding-left:17px; }
  .nc-side-panel.agent .nc-side-head strong{ display:flex; align-items:center; gap:8px; font-size:14px; }
  .nc-side-panel.agent .nc-side-head strong::before{ content:'✦'; color:#f1c768; font-size:16px; filter:drop-shadow(0 0 8px rgba(231,178,76,.42)); }
  .nc-side-close{ width:28px; height:28px; border:0; border-radius:8px; background:transparent; color:#94a4bb; cursor:pointer; font:inherit; font-size:18px; line-height:1; }
  .nc-side-close:hover{ color:#fff; background:rgba(148,164,187,.08); }
  .nc-side-body{ flex:1; min-height:0; overflow:auto; padding:10px; scrollbar-width:none; }
  .nc-side-panel.agent .nc-side-body{ padding:14px; }
  .nc-side-body::-webkit-scrollbar{ display:none; width:0; height:0; }
  .nc-side-empty{ padding:28px 12px; color:#5c6b82; font-size:12px; line-height:1.7; text-align:center; }
  .nc-side-list{ display:flex; flex-direction:column; gap:7px; }
  .nc-side-item{ width:100%; box-sizing:border-box; display:flex; align-items:center; gap:9px; min-height:46px; padding:8px; border:1px solid rgba(148,164,187,.1); border-radius:10px; background:rgba(148,164,187,.035); color:#cbd6e4; text-align:left; cursor:pointer; font:inherit; }
  .nc-side-item:hover{ border-color:rgba(231,178,76,.24); background:rgba(231,178,76,.08); }
  .nc-side-dot{ width:8px; height:8px; border-radius:50%; flex:none; background:#94a4bb; }
  .nc-side-main{ min-width:0; flex:1; }
  .nc-side-title{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eaf1fa; font-size:12.5px; font-weight:800; }
  .nc-side-meta{ display:block; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#5c6b82; font-size:11px; }
  .nc-asset-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .nc-asset-hint{ margin-bottom:9px; padding:8px 9px; border:1px dashed rgba(231,178,76,.2); border-radius:9px; color:#9baabd; font-size:10.5px; line-height:1.5; text-align:center; }
  .nc-asset-card{ min-width:0; border:1px solid rgba(148,164,187,.1); border-radius:10px; background:rgba(148,164,187,.035); overflow:hidden; cursor:pointer; color:#cbd6e4; text-align:left; font:inherit; }
  .nc-asset-card[draggable="true"]{ cursor:grab; }
  .nc-asset-card[draggable="true"]:active{ cursor:grabbing; }
  .nc-asset-card:hover{ border-color:rgba(231,178,76,.24); background:rgba(231,178,76,.07); }
  .nc-asset-thumb{ height:88px; display:grid; place-items:center; background:rgba(7,11,19,.46); background-size:cover; background-position:center; color:#5c6b82; font-size:12px; }
  .nc-asset-card.video .nc-asset-thumb{ background:linear-gradient(145deg,rgba(244,114,182,.14),rgba(70,180,255,.07)); }
  .nc-asset-info{ padding:7px; }
  .nc-asset-info b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eaf1fa; font-size:11.5px; }
  .nc-asset-info span{ display:block; margin-top:3px; color:#5c6b82; font-size:10.5px; }
  .nc-export-box{ display:flex; flex-direction:column; gap:10px; padding:2px; }
  .nc-export-preview{ min-height:150px; display:grid; place-items:center; border:1px dashed rgba(148,164,187,.16); border-radius:12px; background:rgba(148,164,187,.025); color:#5c6b82; font-size:12px; line-height:1.6; text-align:center; }
  .nc-export-btn{ width:100%; min-height:36px; border:1px solid rgba(231,178,76,.34); border-radius:10px; background:linear-gradient(135deg,#f1c768,#e5ae43); color:#1a1206; cursor:pointer; font:inherit; font-size:12.5px; font-weight:800; }
  .nc-agent{ min-height:100%; display:flex; flex-direction:column; gap:12px; }
  .nc-agent-hero{ padding:16px 14px; border:1px solid rgba(231,178,76,.14); border-radius:14px; background:radial-gradient(circle at 18% 10%,rgba(231,178,76,.13),transparent 42%),rgba(148,164,187,.025); color:#7f90a8; text-align:center; }
  .nc-agent-orb{ width:42px; height:42px; display:grid; place-items:center; margin:0 auto 10px; border:1px solid rgba(231,178,76,.28); border-radius:14px; background:rgba(231,178,76,.1); color:#f1c768; font-size:21px; box-shadow:0 16px 34px -22px rgba(231,178,76,.9),inset 0 1px rgba(255,255,255,.08); }
  .nc-agent-hero strong{ display:block; color:#f5f8fc; font-size:15px; }
  .nc-agent-hero p{ margin:6px 0 0; font-size:11.5px; line-height:1.65; }
  .nc-agent-context{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; color:#7f90a8; font-size:10.5px; }
  .nc-agent-context span{ display:inline-flex; align-items:center; gap:5px; }
  .nc-agent-context i{ width:5px; height:5px; border-radius:50%; background:#2bd576; box-shadow:0 0 8px rgba(43,213,118,.6); }
  .nc-agent-starters{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .nc-agent-starter{ min-height:64px; padding:10px; border:1px solid rgba(148,164,187,.11); border-radius:11px; background:rgba(148,164,187,.035); color:#b8c5d6; text-align:left; cursor:pointer; font:inherit; font-size:11.5px; line-height:1.45; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
  .nc-agent-starter:hover,.nc-agent-starter:focus-visible{ transform:translateY(-1px); outline:none; border-color:rgba(231,178,76,.28); background:rgba(231,178,76,.08); color:#fff; }
  .nc-agent-starter b{ display:block; margin-bottom:4px; color:#eaf1fa; font-size:12px; }
  .nc-agent-messages{ display:flex; flex-direction:column; gap:8px; }
  .nc-agent-message{ padding:9px 10px; border:1px solid rgba(148,164,187,.1); border-radius:10px; background:rgba(148,164,187,.035); color:#cbd6e4; white-space:pre-wrap; word-break:break-word; font-size:12px; line-height:1.6; }
  .nc-agent-message.user{ margin-left:24px; border-color:rgba(70,180,255,.16); background:rgba(70,180,255,.07); }
  .nc-agent-message.error{ border-color:rgba(244,112,138,.22); color:#f7a0b1; background:rgba(244,112,138,.07); }
  .nc-agent-plan{ display:flex; flex-direction:column; gap:7px; padding:9px; border:1px solid rgba(231,178,76,.17); border-radius:11px; background:rgba(231,178,76,.045); }
  .nc-agent-plan label{ display:flex; align-items:flex-start; gap:8px; color:#cbd6e4; cursor:pointer; font-size:11.5px; line-height:1.45; }
  .nc-agent-plan input{ margin-top:2px; accent-color:#e7b24c; }
  .nc-agent-guides{ display:grid; gap:7px; padding-top:3px; }
  .nc-agent-guides>strong{ color:#f1c768; font-size:11px; }
  .nc-agent-guide{ display:block; width:100%; padding:9px 10px; border:1px solid rgba(70,180,255,.18); border-radius:9px; background:rgba(70,180,255,.07); color:#cbd6e4; text-align:left; cursor:pointer; font:inherit; }
  .nc-agent-guide:hover,.nc-agent-guide:focus-visible{ outline:none; border-color:rgba(231,178,76,.32); background:rgba(231,178,76,.08); }
  .nc-agent-guide b{ display:block; margin-bottom:3px; color:#edf4fc; font-size:11.5px; }
  .nc-agent-guide span{ display:block; color:#7f90a8; font-size:10.5px; line-height:1.45; }
  .nc-agent-warning{ color:#d8a94d; font-size:11px; line-height:1.5; }
  .nc-agent-apply{ min-height:34px; border:1px solid rgba(43,213,118,.3); border-radius:9px; background:rgba(43,213,118,.12); color:#7ce7a9; cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
  .nc-agent-compose{ position:sticky; bottom:-14px; display:flex; flex-direction:column; gap:8px; margin-top:auto; padding:18px 0 14px; background:linear-gradient(transparent,rgba(7,11,19,.99) 22%); }
  .nc-agent-compose textarea{ width:100%; min-height:98px; box-sizing:border-box; padding:12px; border:1px solid rgba(148,164,187,.18); border-radius:13px; outline:none; resize:vertical; background:#0b1220; color:#eaf1fa; font:inherit; font-size:12px; line-height:1.55; box-shadow:inset 0 1px rgba(255,255,255,.025); }
  .nc-agent-compose textarea:focus{ border-color:rgba(231,178,76,.36); box-shadow:0 0 0 3px rgba(231,178,76,.07); }
  .nc-agent-submit{ min-height:36px; border:1px solid rgba(231,178,76,.34); border-radius:10px; background:linear-gradient(135deg,#f1c768,#e5ae43); color:#1a1206; cursor:pointer; font:inherit; font-size:12.5px; font-weight:900; }
  .nc-agent-submit:disabled,.nc-agent-apply:disabled{ opacity:.45; cursor:not-allowed; }
  .nc-agent-quote{ display:flex; justify-content:space-between; gap:8px; color:#65758c; font-size:10.5px; }
  .nc-dialog-mask{ position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(4,8,15,.48); }
  .nc-dialog{ width:min(420px,100%); padding:16px; border:1px solid rgba(148,164,187,.2); border-radius:8px; background:#111827; box-shadow:0 24px 60px rgba(0,0,0,.42); color:#eaf1fa; }
  .nc-dialog.nc-asset-picker{ width:min(680px,100%); }
  .nc-dialog.nc-collab-dialog{ width:min(560px,100%); }
  .nc-asset-picker-body{ max-height:min(520px,65vh); overflow:auto; padding:2px; scrollbar-width:thin; }
  .nc-asset-picker-body .nc-asset-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
  .nc-dialog h3{ margin:0 0 12px; font-size:15px; }
  .nc-dialog input,.nc-dialog textarea{ width:100%; box-sizing:border-box; border:1px solid rgba(148,164,187,.24); border-radius:7px; background:#0b1220; color:#eaf1fa; padding:9px 10px; outline:none; font:inherit; resize:vertical; }
  .nc-dialog textarea{ min-height:110px; }
  .nc-dialog p{ margin:0; white-space:pre-wrap; line-height:1.55; color:#cbd6e4; }
  .nc-dialog-actions{ display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
  .nc-dialog-actions button{ border:1px solid rgba(148,164,187,.25); background:#172033; color:#dbe7f5; border-radius:7px; padding:7px 13px; cursor:pointer; }
  .nc-dialog-actions button.primary{ border-color:#1677ff; background:#1677ff; color:#fff; }
  .nc-collab-form{ display:grid; grid-template-columns:minmax(0,1fr) 104px auto; gap:8px; margin-top:12px; }
  .nc-collab-form select{ min-height:38px; border:1px solid rgba(148,164,187,.24); border-radius:7px; background:#0b1220; color:#eaf1fa; padding:8px 10px; outline:none; font:inherit; }
  .nc-collab-form button{ min-height:38px; border:1px solid rgba(231,178,76,.32); border-radius:7px; background:#e7b24c; color:#1a1206; font:inherit; font-weight:800; cursor:pointer; }
  .nc-collab-members{ display:flex; flex-direction:column; gap:8px; margin-top:14px; max-height:260px; overflow:auto; }
  .nc-collab-member{ display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:9px; border:1px solid rgba(148,164,187,.14); border-radius:8px; background:rgba(148,164,187,.05); }
  .nc-collab-avatar{ width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:rgba(231,178,76,.16); color:#e7b24c; font-weight:900; }
  .nc-collab-name{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
  .nc-collab-meta{ display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7f8fa7; font-size:12px; }
  .nc-collab-role{ color:#cbd6e4; font-size:12px; }
  .nc-collab-remove{ border:1px solid rgba(244,112,138,.3); border-radius:7px; background:rgba(244,112,138,.1); color:#f4708a; padding:6px 9px; cursor:pointer; font:inherit; font-size:12px; }
  .nc-collab-status{ min-height:18px; margin-top:10px; color:#e7b24c; font-size:12px; }
  .nc-collab-status.error{ color:#f4708a; }
  .nc-empty{ position:absolute; inset:0; display:none; align-items:center; justify-content:center; pointer-events:none; z-index:4; }
  .nc-empty.on{ display:flex; }
  .nc-canvas-shell.agent-open .nc-empty{ right:var(--agent-panel-width); }
  .nc-empty-card{ width:min(720px, calc(100% - 40px)); padding:24px; border:0; border-radius:18px; background:rgba(7,11,19,.34); text-align:center; color:#94a4bb; pointer-events:auto; backdrop-filter:blur(6px); }
  .nc-empty-kicker{ display:inline-flex; margin-bottom:9px; padding:4px 9px; border:1px solid rgba(231,178,76,.2); border-radius:999px; background:rgba(231,178,76,.07); color:#d8b55f; font-size:10.5px; font-weight:800; letter-spacing:.04em; }
  .nc-empty-card>b{ display:block; margin-bottom:7px; color:#f5f8fc; font-size:20px; letter-spacing:-.02em; }
  .nc-empty-card>p{ margin:0 0 18px; color:#7f90a8; font-size:12.5px; }
  .nc-empty-workflows{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .nc-empty-workflow{ min-width:0; display:flex; align-items:center; gap:11px; min-height:76px; padding:11px 12px; border:1px solid rgba(148,164,187,.12); border-radius:12px; background:linear-gradient(145deg,rgba(22,28,39,.88),rgba(10,15,24,.9)); color:#dbe5f1; text-align:left; cursor:pointer; font:inherit; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
  .nc-empty-workflow:hover,.nc-empty-workflow:focus-visible{ transform:translateY(-2px); outline:none; border-color:rgba(231,178,76,.3); box-shadow:0 18px 30px -24px rgba(0,0,0,.95),0 0 26px -19px rgba(231,178,76,.7); }
  .nc-empty-workflow-icon{ width:42px; height:42px; display:grid; place-items:center; flex:none; border-radius:11px; background:rgba(231,178,76,.1); color:#f1c768; }
  .nc-empty-workflow-icon.image{ background:rgba(70,180,255,.1); color:#69c2ff; }
  .nc-empty-workflow-icon.video{ background:rgba(45,212,191,.1); color:#5eead4; }
  .nc-empty-workflow-icon.drama{ background:rgba(244,114,182,.1); color:#f59aca; }
  .nc-empty-workflow-icon svg{ width:22px; height:22px; }
  .nc-empty-workflow strong{ display:block; color:#f1f5fa; font-size:12.5px; }
  .nc-empty-workflow small{ display:block; margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#718197; font-size:10.5px; }
  .nc-empty-divider{ display:flex; align-items:center; gap:10px; margin:17px 0 11px; color:#5f6e82; font-size:10.5px; }
  .nc-empty-divider::before,.nc-empty-divider::after{ content:''; height:1px; flex:1; background:rgba(148,164,187,.1); }
  .nc-empty-actions{ display:flex; justify-content:center; gap:7px; flex-wrap:wrap; }
  .nc-fs-add{ min-width:84px; }
  /* ports */
  .nc-port{ position:absolute; width:13px; height:13px; border-radius:50%; background:#0d131c; border:2px solid #94a4bb; cursor:crosshair; z-index:3; user-select:none; -webkit-user-select:none; touch-action:none; }
  .nc-port:hover{ border-color:#e7b24c; }
  .nc-port.can-connect{ border-color:#2bd576; box-shadow:0 0 0 4px rgba(43,213,118,.12),0 0 14px rgba(43,213,118,.45); }
  .nc-port.dragging{ border-color:#e7b24c; box-shadow:0 0 0 4px rgba(231,178,76,.13),0 0 14px rgba(231,178,76,.5); }
  .nc-port.pin{ left:-7px; }
  .nc-port.pout{ right:-7px; }
  .nc-port.img{ border-color:#46b4ff; }
  .nc-port.img:hover{ border-color:#e7b24c; }
  @media (prefers-reduced-motion:reduce){
    .nc-side-tools,.nc-side-tool,.nc-side-tool::after,.nc-side-tool svg,.nc-side-tool svg>*{ transition:none; }
    .nc-side-tools:hover,.nc-side-tools:focus-within{ transform:translateY(-50%); }
    .nc-side-tool:hover,.nc-side-tool:focus-visible,.nc-side-tool:hover svg,.nc-side-tool:focus-visible svg,.nc-side-tool:hover svg>*{ transform:none; }
    .nc-menu button:hover .nc-menu-icon *,.nc-menu button:focus-visible .nc-menu-icon *,.nc-image-toolbar button:hover .nc-menu-icon *,.nc-image-toolbar button:focus-visible .nc-menu-icon *{ animation:none; }
  }
  @media (max-width:900px){
    body{ overflow:auto; }
    .nc-wrap{ height:auto; min-height:0; }
    .nc-board-head{ align-items:stretch; flex-direction:column; }
    .nc-board-tools{ width:100%; margin-left:0; }
    .nc-board-search{ width:100%; }
    .nc-board-grid{ grid-template-columns:1fr; }
    .nc-board-card{ width:100%; }
    .nc-board-actions{ opacity:1; }
    .nc-collab-form{ grid-template-columns:1fr; }
    .nc-collab-member{ grid-template-columns:34px minmax(0,1fr) auto; }
    .nc-collab-remove{ grid-column:2/4; }
    .nc-side-panel,.nc-side-panel.agent{ left:8px; right:66px; top:8px; bottom:72px; width:auto; border-radius:14px; }
    .nc-canvas-shell.agent-open .nc-canvas{ margin-right:0; border-radius:14px; }
    .nc-canvas-shell.agent-open .nc-storyboard{ margin-right:0; border-radius:14px; }
    .nc-canvas-shell.agent-open .nc-fs-dock{ left:50%; }
    .nc-canvas-shell.agent-open .nc-map{ right:12px; }
    .nc-canvas-shell.agent-open .nc-side-tools{ right:14px; }
    .nc-canvas-shell.agent-open .nc-empty{ right:0; }
    .nc-hero{ flex-direction:column; }
    .nc-stats{ width:100%; min-width:0; }
    .nc-run{ margin-left:0; width:100%; justify-content:center; }
    .nc-help{ width:100%; }
    .nc-canvas-shell{ height:68vh; min-height:520px; max-height:620px; overflow:hidden; display:flex; flex-direction:column; gap:8px; }
    body.nc-local-fullscreen .nc-canvas-shell{ height:auto; min-height:0; max-height:none; }
    .nc-canvas{ flex:1; height:auto; min-height:0; }
    .nc-storyboard{ flex:1; height:auto; min-height:0; padding:22px 58px 94px 12px; }
    .nc-story-head{ align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:18px; }
    .nc-story-head strong{ font-size:22px; }
    .nc-story-grid{ grid-template-columns:1fr; }
    .nc-float,.nc-legend,.nc-map{ display:none; }
    .nc-fs-dock,.nc-canvas-shell.agent-open .nc-fs-dock{ left:8px; right:66px; bottom:8px; max-width:none; transform:none; overflow-x:auto; scrollbar-width:none; }
    .nc-fs-dock::-webkit-scrollbar{ display:none; }
    .nc-fs-row{ width:max-content; flex-wrap:nowrap; justify-content:flex-start; }
    .nc-fs-group{ flex:none; }
    .nc-empty{ align-items:center; overflow:visible; padding:0; }
    .nc-empty-card{ width:min(520px,calc(100vw - 82px)); padding:18px 12px; }
    .nc-empty-workflows{ grid-template-columns:1fr; }
    .nc-empty-workflow{ min-height:62px; }
    .nc-agent-starters{ grid-template-columns:1fr; }
  }
