/* Furniture Canvas MVP — clean-room canvas UI */
body.yc-body { overflow: hidden; background: #090b0e; }
body.yc-body #app { width: 100vw; height: 100vh; overflow: hidden; }
.yc-loading { width:100vw; height:100vh; display:grid; place-items:center; background:#090b0e; color:#8d929b; }

.yc-app {
  --yc-bg: #090b0e;
  --yc-grid: #24282d;
  --yc-panel: #1a1c20;
  --yc-panel-2: #111316;
  --yc-panel-3: #23262b;
  --yc-line: #30343a;
  --yc-line-soft: #272a2f;
  --yc-text: #eff0f3;
  --yc-muted: #9297a1;
  --yc-dim: #666c76;
  --yc-brand: #706cff;
  --yc-brand-2: #a55eff;
  --yc-danger: #ff6577;
  --yc-success: #50d4ae;
  --yc-warning: #ffac62;
  --yc-shadow: 0 18px 60px rgba(0,0,0,.42);
  position: fixed; inset: 0; overflow: hidden; color: var(--yc-text); background: var(--yc-bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 12px; user-select: none;
}
.yc-app[data-theme="light"] {
  --yc-bg:#f5f6f8; --yc-grid:#d8dbe2; --yc-panel:#ffffff; --yc-panel-2:#f7f8fa; --yc-panel-3:#eef0f4;
  --yc-line:#dfe2e9; --yc-line-soft:#e9ebf0; --yc-text:#252831; --yc-muted:#737986; --yc-dim:#989eaa;
  --yc-shadow:0 18px 60px rgba(39,43,55,.17);
}
.yc-app button,.yc-app input,.yc-app select,.yc-app textarea { font: inherit; }
.yc-app button { color: inherit; }
.yc-app ::-webkit-scrollbar { width: 7px; height: 7px; }
.yc-app ::-webkit-scrollbar-thumb { background:#3a3e45; border-radius:20px; }
.yc-app ::-webkit-scrollbar-track { background:transparent; }
.yc-app[data-theme="light"] ::-webkit-scrollbar-thumb { background:#c8ccd5; }

.yc-topbar { position:absolute; z-index:80; inset:0 0 auto 0; height:54px; display:flex; align-items:center; justify-content:space-between; padding:0 15px 0 12px; pointer-events:none; background:linear-gradient(180deg,rgba(9,11,14,.98),rgba(9,11,14,.72) 65%,transparent); }
.yc-app[data-theme="light"] .yc-topbar { background:linear-gradient(180deg,rgba(245,246,248,.98),rgba(245,246,248,.82) 65%,transparent); }
.yc-top-left,.yc-top-actions { display:flex; align-items:center; pointer-events:auto; }
.yc-top-left { gap:12px; }
.yc-top-left>i { width:1px; height:18px; background:var(--yc-line); }
.yc-brand-button,.yc-project-name { border:0; background:transparent; cursor:pointer; height:34px; border-radius:8px; display:flex; align-items:center; gap:6px; padding:0 7px; }
.yc-brand-button:hover,.yc-project-name:hover { background:var(--yc-panel-3); }
.yc-brand-button b { font-size:16px; letter-spacing:-.035em; }
.yc-brand-button span { color:var(--yc-muted); font-size:10px; }
.yc-project-name { font-size:13px; font-weight:650; max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yc-save-indicator { color:var(--yc-dim); font-size:10px; opacity:0; transition:.18s; }
.yc-save-indicator[data-state="saving"],.yc-save-indicator[data-state="error"],.yc-save-indicator[data-state="dirty"] { opacity:1; }
.yc-save-indicator[data-state="saving"] { color:var(--yc-warning); }
.yc-save-indicator[data-state="error"] { color:var(--yc-danger); }
.yc-save-indicator[data-state="dirty"] { color:#b9a7ff; }
.yc-top-actions { gap:8px; }
.yc-top-icon,.yc-avatar { height:32px; min-width:32px; border:1px solid var(--yc-line-soft); background:rgba(25,28,32,.88); color:#d8dae0; border-radius:10px; display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(14px); }
.yc-app[data-theme="light"] .yc-top-icon,.yc-app[data-theme="light"] .yc-avatar { background:rgba(255,255,255,.92); color:#454a54; }
.yc-top-icon:hover,.yc-avatar:hover { border-color:#4a4f58; background:var(--yc-panel-3); }
.yc-top-icon.wide { display:flex; gap:6px; padding:0 10px; }
.yc-top-icon.wide span { color:#8f83ff; }
.yc-top-icon.wide b { font-size:11px; }
.yc-avatar { border-radius:50%; background:linear-gradient(135deg,#5b62ff,#9f5fff); border:0; color:white; font-weight:750; }

.yc-stage { position:absolute; inset:0; overflow:hidden; outline:none; cursor:default; background:var(--yc-bg); }
.yc-stage[data-mode="pan"],.yc-stage.space-pan { cursor:grab; }
.yc-stage.panning { cursor:grabbing; }
.yc-grid { position:absolute; inset:-60px; background-image:radial-gradient(circle,var(--yc-grid) 1px,transparent 1.15px); background-size:26px 26px; pointer-events:none; }
.yc-world { position:absolute; left:0; top:0; width:12000px; height:8000px; transform-origin:0 0; }
.yc-world.animate { transition:transform .24s cubic-bezier(.22,.8,.25,1); }
.yc-edge-layer { position:absolute; inset:0; overflow:visible; pointer-events:none; }
.yc-edge,.yc-edge-hit { fill:none; stroke-linecap:round; }
.yc-edge-hit { stroke:transparent; stroke-width:16; pointer-events:stroke; cursor:pointer; }
.yc-edge { stroke-width:2.2; opacity:.7; pointer-events:none; filter:drop-shadow(0 0 4px rgba(124,121,255,.14)); }
.yc-edge.type-text { stroke:#52d6b5; }.yc-edge.type-image { stroke:#7c79ff; }.yc-edge.type-video { stroke:#ffac62; }.yc-edge.type-audio { stroke:#eb6c9f; }.yc-edge.type-model3d { stroke:#46b9e9; }.yc-edge.type-any { stroke:#9298a2; }
.yc-edge.selected { stroke-width:3.5; opacity:1; filter:drop-shadow(0 0 7px currentColor); }
.yc-temp-edge { position:absolute; inset:0; z-index:45; pointer-events:none; overflow:visible; opacity:0; }
.yc-temp-edge.active { opacity:1; }
.yc-temp-edge path { fill:none; stroke:#8f85ff; stroke-width:2.2; stroke-dasharray:7 5; }
.yc-lasso { position:absolute; z-index:44; border:1px solid #7b76ff; background:rgba(111,103,255,.12); border-radius:4px; pointer-events:none; }
.yc-canvas-empty { position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); color:#464b54; text-align:center; pointer-events:none; }
.yc-canvas-empty b { display:block; font-size:42px; font-weight:400; color:#30353d; margin-bottom:12px; }
.yc-canvas-empty span { font-size:12px; }

.yc-group-layer,.yc-node-layer { position:absolute; inset:0; pointer-events:none; }
.yc-group-layer { z-index:1; }.yc-edge-layer { z-index:2; }.yc-node-layer { z-index:3; }
.yc-group,.yc-node { pointer-events:auto; }
.yc-group { position:absolute; border:1px dashed color-mix(in srgb,var(--group-color) 56%,transparent); background:color-mix(in srgb,var(--group-color) 5%,transparent); border-radius:16px; }
.yc-group.selected { border-style:solid; box-shadow:0 0 0 2px color-mix(in srgb,var(--group-color) 20%,transparent); }
.yc-group header { height:34px; margin-top:-35px; display:flex; align-items:center; justify-content:space-between; padding:0 10px; background:color-mix(in srgb,var(--group-color) 20%,var(--yc-panel)); border:1px solid color-mix(in srgb,var(--group-color) 42%,var(--yc-line)); border-radius:9px 9px 0 0; cursor:move; color:#eae9ff; }
.yc-app[data-theme="light"] .yc-group header { color:#403c68; }
.yc-group header button { border:0; background:transparent; color:inherit; cursor:pointer; }

.yc-node { position:absolute; height:var(--node-height); border:1px solid #353940; background:#17191d; border-radius:13px; box-shadow:0 18px 44px rgba(0,0,0,.32); overflow:visible; transition:border-color .14s,box-shadow .14s,opacity .14s; }
.yc-app[data-theme="light"] .yc-node { background:#fff; border-color:#dfe2e9; box-shadow:0 14px 38px rgba(38,42,54,.14); }
.yc-node:hover { border-color:#454a53; }
.yc-node.selected { border-color:#7771ff; box-shadow:0 0 0 2px rgba(119,113,255,.17),0 18px 48px rgba(0,0,0,.38); }
.yc-node.locked::after { content:"🔒"; position:absolute; right:8px; bottom:7px; opacity:.55; font-size:10px; }
.yc-node.disabled { opacity:.52; filter:saturate(.55); }
.yc-node.collapsed { height:42px!important; }
.yc-node.status-running { border-color:#806fff; box-shadow:0 0 0 2px rgba(128,111,255,.17),0 18px 50px rgba(0,0,0,.38); }
.yc-node.status-succeeded { border-color:rgba(80,212,174,.56); }
.yc-node.status-failed { border-color:rgba(255,101,119,.72); }
.yc-node-head { height:42px; display:flex; align-items:center; gap:8px; padding:0 9px 0 10px; border-bottom:1px solid #2b2e33; border-radius:13px 13px 0 0; background:#1d1f23; cursor:move; }
.yc-app[data-theme="light"] .yc-node-head { background:#fafafd; border-color:#e7e9ee; }
.yc-node.collapsed .yc-node-head { border-bottom:0; border-radius:13px; }
.yc-node-symbol { width:22px; height:22px; border-radius:7px; display:grid; place-items:center; background:#2b2e35; color:#dedfe5; font-size:11px; font-weight:750; }
.yc-app[data-theme="light"] .yc-node-symbol { background:#eeeff5; color:#555b68; }
.yc-cat-text .yc-node-symbol { color:#52d6b5; }.yc-cat-image .yc-node-symbol { color:#9993ff; }.yc-cat-video .yc-node-symbol { color:#ffb06b; }.yc-cat-custom .yc-node-symbol { color:#67c9ed; }
.yc-node-head strong { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.yc-node-status { color:var(--yc-dim); font-size:8px; white-space:nowrap; }
.status-running .yc-node-status { color:#a99fff; }.status-succeeded .yc-node-status { color:#64d9b8; }.status-failed .yc-node-status { color:#ff7f8e; }
.yc-node-menu-btn { width:25px; height:25px; border:0; background:transparent; color:#777c85; border-radius:7px; cursor:pointer; font-size:9px; }
.yc-node-menu-btn:hover { background:#2a2d32; color:#fff; }
.yc-node-body { position:relative; display:flex; flex-direction:column; min-height:0; overflow:hidden; border-radius:0 0 13px 13px; color:var(--yc-muted); }
.yc-node-content { flex:1 1 auto; min-height:0; padding:11px; overflow:auto; overscroll-behavior:contain; touch-action:pan-y; scrollbar-gutter:stable; }
.yc-node-content>*+* { margin-top:8px; }
.yc-node-field { display:grid; gap:5px; }
.yc-node-field>span,.yc-node-prompt>span { font-size:9px; color:#8c919a; }
.yc-node-field input,.yc-node-field select,.yc-node-prompt textarea,.yc-node-prompt input,.yc-node-content>select,.yc-node-content>input { width:100%; border:1px solid #31353b; background:#101216; color:#d9dbe0; border-radius:7px; outline:none; }
.yc-app[data-theme="light"] .yc-node-field input,.yc-app[data-theme="light"] .yc-node-field select,.yc-app[data-theme="light"] .yc-node-prompt textarea,.yc-app[data-theme="light"] .yc-node-prompt input { background:#f7f8fa; border-color:#dfe2e9; color:#30343d; }
.yc-node-field input,.yc-node-field select { height:30px; padding:0 8px; font-size:9px; }
.yc-node-prompt { display:grid; gap:5px; position:relative; }
.yc-node-prompt textarea { height:54px; resize:none; padding:7px 8px; line-height:1.5; font-size:9px; }
.yc-node-prompt.tall textarea { height:94px; font-size:10px; }
.yc-node-prompt .yc-count { position:absolute; right:6px; bottom:5px; font-size:8px; color:#5e636c; }
.yc-node-two { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.yc-generation-settings { overflow:hidden; border:1px solid #30343b; border-radius:8px; background:rgba(11,13,16,.38); }
.yc-generation-settings-toggle { width:100%; min-height:34px; padding:0 9px; border:0; background:transparent; color:var(--yc-text); display:flex; align-items:center; gap:7px; text-align:left; cursor:pointer; }
.yc-generation-settings-toggle:hover { background:rgba(255,255,255,.04); }
.yc-generation-settings-toggle:focus-visible { outline:2px solid #7771ff; outline-offset:-2px; }
.yc-generation-settings-toggle b { flex:1; font-size:9px; }.yc-generation-settings-toggle small { color:var(--yc-dim); font-size:8px; }.yc-generation-settings-chevron { width:10px; color:#9b96ff; font-size:11px; }
.yc-generation-settings-panel { padding:9px; border-top:1px solid #30343b; }.yc-generation-settings-panel>*+* { margin-top:8px; }.yc-generation-settings-panel[hidden] { display:none; }
.yc-app[data-theme="light"] .yc-generation-settings { background:#fafafd; border-color:#e2e4ea; }.yc-app[data-theme="light"] .yc-generation-settings-panel { border-color:#e2e4ea; }
.yc-check { display:flex; align-items:center; gap:6px; min-height:24px; color:#9499a2; font-size:9px; }
.yc-check input { accent-color:#706cff; }
.yc-range { display:grid; grid-template-columns:1fr 34px; gap:6px; align-items:center; }
.yc-range input { width:100%; accent-color:#726cff; }
.yc-range b { font-size:8px; color:#bbbfc7; text-align:right; }
.yc-note-body textarea { background:color-mix(in srgb,var(--note) 18%,#121418); border-color:color-mix(in srgb,var(--note) 32%,#31353b); }
.yc-load-zone { height:116px; border:1px dashed #3b3f46; background:#101216; border-radius:9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:#757b85; position:relative; overflow:hidden; cursor:pointer; }
.yc-app[data-theme="light"] .yc-load-zone { background:#f7f8fa; border-color:#d5d9e1; }
.yc-load-zone:hover { border-color:#6863d9; }
.yc-load-zone>b { font-size:24px; font-weight:400; color:#676d76; }
.yc-load-zone>span { max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.yc-load-zone>small { font-size:8px; color:#5d626b; }
.yc-load-zone.has-file img,.yc-load-zone.has-file video { width:100%; height:100%; object-fit:contain; background:#0e1013; }
.yc-load-zone.has-file>span { position:absolute; left:6px; right:6px; bottom:5px; padding:4px 6px; color:#fff; background:rgba(0,0,0,.58); border-radius:5px; }
.yc-load-play { position:absolute!important; left:50%!important; right:auto!important; top:50%!important; bottom:auto!important; transform:translate(-50%,-50%); width:32px!important; height:32px; display:grid!important; place-items:center; border-radius:50%!important; background:rgba(0,0,0,.65)!important; }
.yc-audio-wave { font-size:26px; color:#eb6c9f; letter-spacing:2px; }
.yc-inline-btn { width:100%; height:28px; border:1px solid #34383e; background:#202328; color:#b8bcc4; border-radius:7px; cursor:pointer; font-size:9px; }
.yc-inline-btn:hover { border-color:#665fff; color:#fff; }
.yc-table-import-state { display:grid; gap:2px; margin-top:6px; padding:6px 7px; border:1px solid #3d4651; border-radius:7px; color:#d8dfeb; font-size:9px; line-height:1.35; }.yc-table-import-state b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.yc-table-import-state span,.yc-table-import-state.muted { color:#9aa3b0; }.yc-table-import-dialog { display:grid; gap:13px; color:#4f5663; line-height:1.55; }.yc-table-import-dialog p { margin:0; }.yc-table-import-dialog label { display:grid; gap:6px; font-weight:700; color:#353b46; }.yc-table-import-dialog select { min-height:40px; border:1px solid #d9dce5; border-radius:8px; padding:0 10px; background:#fff; color:#262b33; }.yc-table-import-preview { min-height:96px; padding:10px; border:1px solid #e0e3eb; border-radius:9px; background:#f7f8fb; overflow:auto; }.yc-table-import-preview table { width:100%; margin-top:8px; border-collapse:collapse; font-size:12px; }.yc-table-import-preview th,.yc-table-import-preview td { max-width:150px; padding:5px 7px; border:1px solid #e0e3eb; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }.yc-table-import-preview th { background:#ebeefa; color:#43407f; }.yc-table-import-preview small { display:block; margin-top:6px; color:#777f8c; }
.yc-large-action { width:100%; min-height:92px; border:1px dashed #3b3f46; background:#101216; color:#9499a2; border-radius:9px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.yc-large-action.compact { min-height:54px; flex-direction:row; }
.yc-large-action b { font-size:22px; color:#7d78ff; }.yc-large-action span { font-size:10px; color:#c5c8ce; }.yc-large-action small { font-size:8px; }
.yc-node-result { width:100%; height:92px; border:1px solid #34383e; border-radius:8px; overflow:hidden; padding:0; background:#0d0f12; position:relative; cursor:pointer; }
.yc-node-result img,.yc-node-result video { width:100%; height:100%; object-fit:contain; }
.yc-node-result em { position:absolute; left:5px; bottom:5px; background:rgba(0,0,0,.64); color:#fff; font-style:normal; font-size:8px; padding:3px 5px; border-radius:4px; }
.yc-node-video-result { cursor:default; }.yc-node-video-result em { top:5px; bottom:auto; }.yc-node-result-preview { position:absolute; top:5px; right:5px; width:24px; height:24px; border:0; border-radius:6px; background:rgba(0,0,0,.64); color:#fff; cursor:pointer; }
.yc-result-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:rgba(0,0,0,.65); }
.yc-node-text-result { max-height:74px; overflow:auto; padding:8px; border-radius:7px; background:#111317; color:#bfc3ca; font-size:9px; line-height:1.5; white-space:pre-wrap; }
.yc-node-text-list { display:grid; gap:4px; }.yc-node-text-list>div { padding:4px 6px; border:1px solid #30343c; border-radius:5px; overflow-wrap:anywhere; }
.yc-review-score { display:flex; align-items:center; gap:10px; padding:8px; border:1px solid rgba(80,212,174,.22); background:rgba(80,212,174,.07); border-radius:8px; }
.yc-review-score b { font-size:24px; color:#54d3ae; }.yc-review-score span { font-size:9px; }
.yc-node-footer { position:relative; flex:0 0 38px; height:38px; padding:5px 7px; display:flex; align-items:center; gap:7px; background:linear-gradient(180deg,rgba(23,25,29,.2),#17191d 28%); border-top:1px solid #292d32; border-radius:0 0 12px 12px; }
.yc-app[data-theme="light"] .yc-node-footer { background:linear-gradient(180deg,rgba(255,255,255,.2),#fff 28%); border-color:#e7e9ee; }
.yc-node-footer button { flex:1; height:27px; border:0; border-radius:7px; background:linear-gradient(135deg,#596fff,#9e5cff); color:#fff; cursor:pointer; font-size:9px; }
.yc-node-footer button:disabled { opacity:.45; cursor:not-allowed; }
.yc-node-footer span { color:#686e78; font-size:8px; }
.yc-node-progress { position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:0 0 12px 12px; overflow:hidden; }
.yc-node-progress i { display:block; height:100%; background:linear-gradient(90deg,#5f72ff,#b25dff); transition:width .18s; }
.yc-port { position:absolute; z-index:8; width:12px; height:12px; border:2px solid #15171b; border-radius:50%; padding:0; cursor:crosshair; transform:translateY(-50%); box-shadow:0 0 0 1px rgba(255,255,255,.16); }
.yc-port.input { left:-7px; }.yc-port.output { right:-7px; }
.yc-port.type-text { background:#52d6b5; }.yc-port.type-image { background:#7c79ff; }.yc-port.type-video { background:#ffac62; }.yc-port.type-audio { background:#eb6c9f; }.yc-port.type-model3d { background:#46b9e9; }.yc-port.type-any { background:#9aa1ad; }
.yc-port>span { position:absolute; top:50%; transform:translateY(-50%); background:#202328; border:1px solid #353941; color:#aeb2ba; border-radius:5px; padding:3px 5px; font-size:7px; white-space:nowrap; opacity:0; pointer-events:none; transition:.12s; }
.yc-port.input>span { left:15px; }.yc-port.output>span { right:15px; }
.yc-port:hover>span,.yc-port.connection-target>span { opacity:1; }
.yc-port.connection-target { box-shadow:0 0 0 5px rgba(124,121,255,.22); transform:translateY(-50%) scale(1.18); }
.yc-app.hide-port-labels .yc-port>span { display:none; }

.yc-rail { position:absolute; z-index:65; left:15px; top:50%; transform:translateY(-42%); width:43px; padding:7px 0; border:1px solid var(--yc-line); border-radius:22px; background:rgba(25,27,31,.94); box-shadow:0 14px 44px rgba(0,0,0,.35); backdrop-filter:blur(16px); display:flex; flex-direction:column; align-items:center; gap:1px; }
.yc-app[data-theme="light"] .yc-rail { background:rgba(255,255,255,.95); }
.yc-rail-btn { position:relative; width:33px; height:33px; border:0; background:transparent; color:#a7acb5; border-radius:10px; display:grid; place-items:center; cursor:pointer; font-size:15px; }
.yc-rail-btn:hover,.yc-rail-btn.active { background:#292c32; color:#fff; }
.yc-app[data-theme="light"] .yc-rail-btn:hover,.yc-app[data-theme="light"] .yc-rail-btn.active { background:#ebeef4; color:#5f57dc; }
.yc-rail-btn.add { width:33px; height:33px; border-radius:50%; background:linear-gradient(135deg,#5c76ff,#a45dff); color:#fff; box-shadow:0 0 0 5px rgba(96,104,255,.14); margin-bottom:3px; }
.yc-rail-btn.add.active { box-shadow:0 0 0 5px rgba(96,104,255,.23),0 0 16px rgba(111,94,255,.38); }
.yc-rail-btn>span { position:absolute; left:45px; top:50%; transform:translateY(-50%); background:#1d2025; border:1px solid #33373d; border-radius:6px; padding:5px 8px; font-size:9px; white-space:nowrap; opacity:0; pointer-events:none; transition:.12s; }
.yc-rail-btn:hover>span { opacity:1; }
.yc-rail-btn[data-count]:not([data-count="0"])::after { content:attr(data-count); position:absolute; right:-5px; top:-4px; min-width:14px; height:14px; border-radius:8px; background:#706cff; color:#fff; font-size:7px; display:grid; place-items:center; padding:0 3px; }
.yc-rail-sep { width:20px; height:1px; background:var(--yc-line); margin:4px 0; }

.yc-left-panel { position:absolute; z-index:60; left:61px; top:50%; transform:translateY(-42%) translateX(-12px); width:230px; max-height:min(680px,calc(100vh - 120px)); border:1px solid var(--yc-line); border-radius:15px; background:var(--yc-panel); box-shadow:var(--yc-shadow); opacity:0; pointer-events:none; overflow:hidden; display:flex; flex-direction:column; transition:.16s ease; }
.yc-left-panel.open { opacity:1; pointer-events:auto; transform:translateY(-42%) translateX(0); }
.yc-panel-head { min-height:54px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; border-bottom:1px solid var(--yc-line-soft); }
.yc-panel-head strong { display:block; font-size:12px; }.yc-panel-head small { display:block; color:var(--yc-dim); font-size:8px; margin-top:3px; }
.yc-panel-head>button { width:26px; height:26px; border:0; background:transparent; color:var(--yc-muted); border-radius:7px; cursor:pointer; font-size:16px; }.yc-panel-head>button:hover { background:var(--yc-panel-3); }
.yc-palette-tabs { height:38px; display:flex; align-items:center; gap:18px; padding:0 12px; }
.yc-palette-tabs button { border:0; background:transparent; color:var(--yc-muted); padding:0; cursor:pointer; font-size:9px; }.yc-palette-tabs button.active { color:var(--yc-text); }
.yc-panel-search { margin:0 11px 10px; height:34px; border:1px solid var(--yc-line); border-radius:7px; background:var(--yc-panel-2); display:flex; align-items:center; gap:7px; padding:0 9px; color:var(--yc-dim); }
.yc-panel-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--yc-text); font-size:9px; }
.yc-palette-grid { padding:0 11px 8px; display:grid; grid-template-columns:1fr 1fr; gap:8px; overflow:auto; min-height:0; }
.yc-palette-card { min-height:92px; border:1px solid var(--yc-line); border-radius:10px; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; cursor:grab; }
.yc-palette-card:hover { background:var(--yc-panel-3); border-color:#5c61a0; }
.yc-palette-card:active { cursor:grabbing; }.yc-palette-card b { font-size:20px; font-weight:450; }.yc-palette-card span { font-size:9px; }
.yc-panel-foot { padding:10px 12px 12px; color:var(--yc-dim); text-align:center; font-size:8px; margin-top:auto; }
.yc-panel-actions { display:flex; gap:7px; padding:10px 11px; }
.yc-panel-actions>button,.yc-panel-actions>label { flex:1; min-height:31px; border:1px solid var(--yc-line); background:var(--yc-panel-2); color:var(--yc-muted); border-radius:7px; display:flex; align-items:center; justify-content:center; gap:5px; cursor:pointer; font-size:8px; }
.yc-panel-actions .yc-panel-primary,.yc-panel-primary { background:linear-gradient(135deg,#5d72ff,#9d60ff); border:0; color:#fff; }
.yc-panel-primary.full { margin:12px; width:calc(100% - 24px); height:34px; border:0; border-radius:8px; cursor:pointer; }
.yc-panel-primary.loading { opacity:.55; pointer-events:none; }
.yc-assets-grid { flex:1; min-height:200px; overflow:auto; padding:0 11px 12px; display:grid; grid-template-columns:1fr 1fr; gap:8px; align-content:start; }
.yc-asset-card { min-width:0; border:1px solid var(--yc-line); background:var(--yc-panel-2); color:var(--yc-text); border-radius:9px; padding:5px; cursor:grab; text-align:left; }
.yc-asset-card>span { height:72px; border-radius:6px; background:#111317; overflow:hidden; display:grid; place-items:center; }.yc-asset-card img { width:100%; height:100%; object-fit:cover; }
.yc-asset-card strong,.yc-asset-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.yc-asset-card strong { font-size:8px; margin-top:6px; }.yc-asset-card small { color:var(--yc-dim); font-size:7px; margin-top:2px; }
.yc-asset-symbol { font-size:22px; color:#7771ff; }
.yc-panel-empty { grid-column:1/-1; padding:26px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:var(--yc-muted); text-align:center; }.yc-panel-empty>b { font-size:28px; }.yc-panel-empty small { font-size:8px; color:var(--yc-dim); }.yc-panel-empty.small { padding:14px; font-size:9px; }
.yc-template-list,.yc-prompt-list,.yc-history-list { overflow:auto; padding:0 10px 11px; display:grid; gap:7px; }
.yc-template-card { border:1px solid var(--yc-line); border-radius:9px; padding:10px; display:flex; gap:8px; align-items:center; background:var(--yc-panel-2); }
.yc-template-card>div { min-width:0; flex:1; }.yc-template-card b { font-size:9px; }.yc-template-card p { margin:4px 0 0; color:var(--yc-muted); font-size:8px; line-height:1.45; }.yc-template-card>button { border:0; background:#343745; color:#d9dbe2; border-radius:6px; height:26px; padding:0 8px; cursor:pointer; font-size:8px; }
.yc-panel-section-title { min-height:34px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; color:var(--yc-dim); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }.yc-panel-section-title button { border:0; background:transparent; color:var(--yc-muted); cursor:pointer; font-size:8px; }
.yc-prompt-card { border:1px solid var(--yc-line); background:var(--yc-panel-2); border-radius:10px; padding:10px; }
.yc-prompt-card-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }.yc-prompt-card-head b { font-size:9px; }.yc-prompt-card-head button { border:0; background:transparent; color:#8982ff; cursor:pointer; font-size:8px; }
.yc-prompt-card p { margin:8px 0; color:var(--yc-muted); font-size:8px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.yc-prompt-card footer { display:flex; gap:4px; align-items:center; }.yc-prompt-card footer span { padding:2px 5px; border-radius:10px; background:var(--yc-panel-3); color:var(--yc-muted); font-size:7px; }.yc-prompt-card footer button { margin-left:auto; border:0; background:#3a3653; color:#d9d4ff; border-radius:5px; padding:4px 7px; cursor:pointer; font-size:7px; }
.yc-history-row { width:100%; border:1px solid var(--yc-line); background:var(--yc-panel-2); color:var(--yc-text); border-radius:8px; padding:8px 9px; display:flex; align-items:center; justify-content:space-between; text-align:left; cursor:pointer; }
.yc-history-row:hover { border-color:#5c58a3; }.yc-history-row span b,.yc-history-row span small { display:block; }.yc-history-row span b { font-size:8px; }.yc-history-row span small { font-size:7px; color:var(--yc-dim); margin-top:3px; }.yc-history-row em { font-style:normal; font-size:7px; color:#8c84ff; }
.yc-help-block { margin:10px; padding:10px; border:1px solid var(--yc-line); background:var(--yc-panel-2); border-radius:9px; }.yc-help-block h4 { margin:0 0 8px; font-size:9px; }.yc-help-block p { margin:0; color:var(--yc-muted); font-size:8px; line-height:1.6; }.yc-help-block>div { display:flex; justify-content:space-between; align-items:center; min-height:27px; border-bottom:1px solid var(--yc-line-soft); }.yc-help-block>div:last-child { border-bottom:0; }.yc-help-block kbd { font-size:7px; color:#aaa5ff; }.yc-help-block span { color:var(--yc-muted); font-size:8px; }

.yc-bottom-toolbar { position:absolute; z-index:55; left:50%; bottom:13px; transform:translateX(-50%); height:38px; padding:0 7px; border:1px solid var(--yc-line); border-radius:20px; background:rgba(25,27,31,.94); box-shadow:0 12px 38px rgba(0,0,0,.34); backdrop-filter:blur(14px); display:flex; align-items:center; }
.yc-app[data-theme="light"] .yc-bottom-toolbar { background:rgba(255,255,255,.94); }
.yc-bottom-toolbar button { width:29px; height:29px; border:0; background:transparent; color:#9297a0; border-radius:8px; cursor:pointer; font-size:13px; }.yc-bottom-toolbar button:hover,.yc-bottom-toolbar button.active { background:var(--yc-panel-3); color:#7c77ff; }
.yc-bottom-toolbar .yc-run-workflow { width:auto; min-width:104px; padding:0 10px; display:flex; align-items:center; justify-content:center; gap:6px; color:#d9d7ff; }.yc-bottom-toolbar .yc-run-workflow b { color:#8f83ff; }.yc-bottom-toolbar .yc-run-workflow:disabled { cursor:not-allowed; opacity:.58; }.yc-bottom-toolbar .yc-run-workflow[aria-busy="true"] { background:var(--yc-panel-3); color:#aaa5ff; }
.yc-bottom-toolbar>i { width:1px; height:18px; background:var(--yc-line); margin:0 3px; }.yc-bottom-toolbar>span { min-width:39px; text-align:center; color:var(--yc-dim); font-size:8px; }
.yc-selection-toolbar { position:absolute; z-index:52; transform:translateX(-50%); height:35px; padding:0 5px; border:1px solid var(--yc-line); background:var(--yc-panel); border-radius:9px; box-shadow:var(--yc-shadow); display:flex; align-items:center; }
.yc-selection-toolbar button { width:27px; height:27px; border:0; background:transparent; color:var(--yc-muted); border-radius:6px; cursor:pointer; }.yc-selection-toolbar button:hover { background:var(--yc-panel-3); color:var(--yc-text); }.yc-selection-toolbar button.danger:hover { color:var(--yc-danger); }.yc-selection-toolbar>i { width:1px; height:18px; background:var(--yc-line); margin:0 3px; }
.yc-minimap { position:absolute; z-index:54; right:18px; bottom:80px; width:202px; padding:5px; border:1px solid var(--yc-line); background:var(--yc-panel); border-radius:10px; box-shadow:var(--yc-shadow); }.yc-minimap canvas { width:190px; height:118px; border-radius:6px; cursor:crosshair; }.yc-minimap>button { position:absolute; right:4px; top:4px; width:20px; height:20px; border:0; background:rgba(0,0,0,.6); color:#fff; border-radius:50%; cursor:pointer; }

.yc-context-menu,.yc-node-menu,.yc-brand-menu { position:fixed; z-index:120; display:none; width:190px; padding:6px; border:1px solid var(--yc-line); border-radius:10px; background:var(--yc-panel); box-shadow:var(--yc-shadow); }
.yc-context-menu.open,.yc-node-menu.open,.yc-brand-menu.open { display:block; }
.yc-context-menu button,.yc-node-menu button,.yc-brand-menu button { width:100%; min-height:31px; border:0; background:transparent; color:var(--yc-text); border-radius:6px; padding:0 9px; display:flex; align-items:center; gap:8px; text-align:left; cursor:pointer; font-size:9px; }.yc-context-menu button:hover,.yc-node-menu button:hover,.yc-brand-menu button:hover { background:var(--yc-panel-3); }.yc-node-menu button>span,.yc-brand-menu button>span { flex:1; }.yc-node-menu button.danger,.yc-brand-menu button.danger { color:var(--yc-danger); }.yc-node-menu kbd,.yc-brand-menu kbd { color:var(--yc-dim); font-size:7px; }
.yc-context-menu hr,.yc-node-menu hr,.yc-brand-menu hr { border:0; border-top:1px solid var(--yc-line-soft); margin:5px 0; }
.yc-context-sub { position:relative; }.yc-context-sub>button { justify-content:space-between; }.yc-context-sub>section { position:fixed; display:none; left:calc(100% - 2px); top:-6px; width:190px; max-height:430px; overflow:auto; padding:6px; border:1px solid var(--yc-line); border-radius:10px; background:var(--yc-panel); box-shadow:var(--yc-shadow); }.yc-context-sub:hover>section,.yc-context-sub.open>section { display:block; }.yc-context-sub section button { justify-content:space-between; }.yc-context-sub section small { color:var(--yc-dim); }

.yc-assistant-orb { position:absolute; z-index:62; right:16px; bottom:13px; width:53px; height:53px; border:0; border-radius:50%; cursor:pointer; background:radial-gradient(circle at 34% 24%,#fff 0 7%,#a95cff 19%,#6155ff 56%,#2433aa 100%); box-shadow:0 12px 35px rgba(91,75,255,.45); color:#fff; font-size:23px; }.yc-assistant-orb:hover { transform:translateY(-2px) scale(1.02); }
.yc-assistant { position:absolute; z-index:95; right:0; top:0; bottom:0; width:min(560px,calc(100vw - 80px)); background:#151719; border-left:1px solid #2d3035; box-shadow:-24px 0 64px rgba(0,0,0,.38); display:grid; grid-template-rows:72px 1fr auto; transform:translateX(100%); transition:.2s ease; visibility:hidden; pointer-events:none; }
.yc-assistant.open { transform:translateX(0); visibility:visible; pointer-events:auto; }
.yc-app[data-theme="light"] .yc-assistant { background:#fff; border-color:#e1e3e9; }
.yc-assistant-head { display:flex; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid var(--yc-line); }
.yc-assistant-id { display:flex; align-items:center; gap:10px; }.yc-assistant-logo { width:43px; height:43px; border-radius:13px; display:grid; place-items:center; background:linear-gradient(145deg,#5148ff,#aa5aff); font-size:20px; }.yc-assistant-id strong,.yc-assistant-id small { display:block; }.yc-assistant-id strong { font-size:14px; }.yc-assistant-id small { color:var(--yc-muted); font-size:9px; margin-top:3px; }.yc-assistant-head>div:last-child { display:flex; gap:2px; }.yc-assistant-head>div:last-child button { width:32px; height:32px; border:0; background:transparent; color:var(--yc-muted); border-radius:8px; cursor:pointer; font-size:17px; }.yc-assistant-head>div:last-child button:hover { background:var(--yc-panel-3); }
.yc-assistant-thread { overflow:auto; padding:24px 30px; display:grid; align-content:start; gap:16px; user-select:text; }
.yc-assistant-message { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; line-height:1.75; }.yc-assistant-message.user { grid-template-columns:minmax(0,1fr) 30px; }.yc-assistant-message.user>.yc-message-avatar { grid-column:2; }.yc-assistant-message.user>div:last-child { grid-row:1; grid-column:1; justify-self:end; max-width:88%; background:#29254a; padding:10px 12px; border-radius:12px 12px 3px 12px; }
.yc-message-avatar { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#292c32; color:#9c93ff; }.yc-assistant-message.user .yc-message-avatar { background:#7168ff; color:white; }
.yc-assistant-message h3 { margin:0 0 8px; font-size:15px; }.yc-assistant-message h4 { margin:10px 0 4px; font-size:12px; }.yc-assistant-message p { margin:0 0 8px; color:#d4d6db; font-size:11px; }.yc-app[data-theme="light"] .yc-assistant-message p { color:#4c515c; }.yc-assistant-message ul { padding-left:18px; margin:7px 0; color:#c6c9cf; font-size:11px; }.yc-assistant-message hr { border:0; border-top:1px solid var(--yc-line); margin:16px 0; }.yc-thinking { color:#8f8aaf!important; animation:yc-pulse 1.2s infinite; }.yc-message-action { border:1px solid #514b8f; background:#322d52; color:#e4e1ff; border-radius:8px; padding:7px 10px; cursor:pointer; font-size:9px; }
@keyframes yc-pulse { 50% { opacity:.45; } }
.yc-assistant-composer { position:relative; margin:0 15px 15px; border:1px solid #393d44; border-radius:18px; background:#1a1c20; padding:10px 12px; }.yc-app[data-theme="light"] .yc-assistant-composer { background:#f8f9fb; border-color:#d9dde5; }.yc-assistant-composer textarea { width:100%; height:72px; resize:none; border:0; outline:0; background:transparent; color:var(--yc-text); padding:3px; font-size:11px; }.yc-composer-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; }.yc-composer-options { display:flex; align-items:center; gap:5px; min-width:0; }.yc-composer-options button,.yc-composer-options select { height:31px; border:0; background:transparent; color:var(--yc-text); border-radius:16px; padding:0 8px; font-size:9px; outline:0; }.yc-composer-options button:hover,.yc-composer-options select:hover { background:var(--yc-panel-3); }.yc-mode-button { border:1px solid var(--yc-line)!important; background:var(--yc-panel-3)!important; }.yc-attach-button { font-size:15px!important; }.yc-assistant-send { width:34px; height:34px; border:0; border-radius:50%; background:#727987; color:#15171a; cursor:pointer; font-size:15px; }.yc-assistant-send:hover { background:#8c83ff; color:white; }
.yc-assistant-context-controls { display:flex; flex-wrap:wrap; gap:5px 12px; padding:7px 3px 9px; border-top:1px solid var(--yc-line-soft); }.yc-assistant-context-controls label { display:flex; align-items:center; gap:5px; color:var(--yc-muted); font-size:9px; cursor:pointer; }.yc-assistant-context-controls input { accent-color:#7c77ff; }.yc-assistant-context-controls p { flex-basis:100%; margin:0; color:var(--yc-dim); font-size:8px; line-height:1.45; }.yc-assistant-send:disabled { cursor:not-allowed; opacity:.55; }
.yc-attachment-list { display:flex; gap:5px; overflow:auto; }.yc-attachment-list:empty { display:none; }.yc-attachment-list span { display:flex; align-items:center; gap:4px; padding:4px 6px; border-radius:6px; background:var(--yc-panel-3); color:var(--yc-muted); font-size:8px; }.yc-attachment-list button { border:0; background:transparent; color:var(--yc-muted); cursor:pointer; }.yc-existing-asset-button { border:1px solid var(--yc-line)!important; background:var(--yc-panel-3)!important; white-space:nowrap; }.yc-assistant-asset-picker { display:grid; gap:10px; }.yc-assistant-asset-picker-hint,.yc-assistant-asset-picker-state { margin:0; color:var(--yc-muted); font-size:12px; line-height:1.5; }.yc-assistant-asset-picker-state { display:grid; gap:8px; min-height:96px; place-content:center; text-align:center; }.yc-assistant-asset-picker-state button { justify-self:center; border:1px solid #7670d7; border-radius:7px; background:transparent; color:#aaa5ff; cursor:pointer; padding:5px 8px; }.yc-assistant-asset-picker-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; max-height:min(52vh,420px); overflow:auto; padding-right:2px; }.yc-assistant-asset-picker-grid button { min-width:0; display:grid; gap:6px; padding:8px; border:1px solid var(--yc-line); border-radius:10px; background:var(--yc-panel); color:var(--yc-text); text-align:left; cursor:pointer; }.yc-assistant-asset-picker-grid button:hover { border-color:#8177ff; background:var(--yc-panel-3); }.yc-assistant-asset-picker-grid button>span { display:grid; height:88px; place-items:center; overflow:hidden; border-radius:7px; background:var(--yc-panel-3); }.yc-assistant-asset-picker-grid img { width:100%; height:100%; object-fit:cover; }.yc-assistant-asset-picker-grid b,.yc-assistant-asset-picker-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.yc-assistant-asset-picker-grid small { color:var(--yc-muted); }
.yc-mode-menu { position:absolute; display:none; left:12px; bottom:50px; width:190px; padding:7px; border:1px solid var(--yc-line); border-radius:11px; background:var(--yc-panel); box-shadow:var(--yc-shadow); }.yc-mode-menu.open { display:block; }.yc-mode-row { position:relative; }.yc-mode-row>button { width:100%; height:37px; border:0; background:transparent; color:var(--yc-text); border-radius:7px; display:flex; align-items:center; gap:8px; text-align:left; cursor:pointer; }.yc-mode-row>button span { flex:1; }.yc-mode-row>button em { font-style:normal; }.yc-mode-row:hover>button,.yc-mode-row.active>button { background:#34314e; }.yc-mode-row>section { position:absolute; display:none; left:calc(100% + 4px); bottom:0; width:225px; padding:7px; border:1px solid var(--yc-line); border-radius:11px; background:var(--yc-panel); box-shadow:var(--yc-shadow); }.yc-mode-row:hover>section { display:block; }.yc-mode-row>section button { width:100%; height:38px; border:0; background:transparent; color:var(--yc-muted); border-radius:7px; text-align:left; padding:0 10px; cursor:pointer; }.yc-mode-row>section button:hover { background:var(--yc-panel-3); color:var(--yc-text); }

.yc-job-toast { position:absolute; z-index:90; right:74px; bottom:15px; width:330px; padding:11px 12px; border:1px solid var(--yc-line); border-radius:12px; background:var(--yc-panel); box-shadow:var(--yc-shadow); display:grid; grid-template-columns:1fr auto; gap:8px; }.yc-job-toast>div:first-child strong,.yc-job-toast>div:first-child span { display:block; }.yc-job-toast strong { font-size:10px; }.yc-job-toast span { color:var(--yc-muted); font-size:8px; margin-top:3px; }.yc-job-toast>button { border:0; background:transparent; color:var(--yc-danger); cursor:pointer; font-size:8px; }.yc-job-bar { grid-column:1/-1; height:4px; border-radius:3px; background:var(--yc-panel-3); overflow:hidden; }.yc-job-bar i { display:block; height:100%; width:0; background:linear-gradient(90deg,#5e74ff,#a75fff); transition:width .2s; }

.yc-onboarding { position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.46); }.yc-onboarding-hole { position:absolute; box-sizing:border-box; border:2px solid #8177ff; border-radius:14px; box-shadow:0 0 0 9999px rgba(0,0,0,.38),0 0 28px rgba(125,111,255,.55); pointer-events:none; }.yc-onboarding>section { position:absolute; box-sizing:border-box; width:320px; max-width:calc(100vw - 20px); max-height:calc(100vh - 20px); overflow:auto; padding:18px; border:1px solid #46405f; border-radius:14px; background:#1b1d22; box-shadow:var(--yc-shadow); }.yc-onboarding small { color:#8e86ff; }.yc-onboarding h3 { margin:7px 0; font-size:17px; }.yc-onboarding p { margin:0; color:#aeb2bb; line-height:1.65; font-size:11px; }.yc-onboarding footer { display:flex; justify-content:flex-end; gap:8px; margin-top:15px; }.yc-onboarding footer button { height:32px; border:1px solid #393d45; background:#25282e; color:#c4c7cd; border-radius:8px; padding:0 12px; cursor:pointer; }.yc-onboarding footer button:last-child { border:0; background:linear-gradient(135deg,#5f72ff,#a15fff); color:white; }

/* Modal content specific to canvas */
.yc-export-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.yc-export-grid button { min-height:130px; border:1px solid var(--line); background:#fafafd; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; cursor:pointer; }.yc-export-grid button:hover { border-color:#8a82ff; box-shadow:0 8px 24px rgba(92,84,210,.13); }.yc-export-grid b { font-size:20px; color:#6d65ed; }.yc-export-grid span { color:#7b818d; font-size:11px; text-align:center; }
.yc-share-dialog { display:grid; gap:14px; }.yc-share-dialog p { margin:0; color:#707784; line-height:1.65; }.yc-share-dialog label:not(.yc-check) { display:grid; gap:7px; }.yc-share-dialog input[type="text"],.yc-share-dialog input:not([type]) { height:40px; border:1px solid #dddfe7; border-radius:9px; padding:0 10px; }
.yc-job-list { display:grid; gap:7px; max-height:430px; overflow:auto; }.yc-job-list article { display:flex; align-items:center; gap:10px; border:1px solid #e4e6ed; border-radius:9px; padding:9px 10px; }.yc-job-list article>span { width:8px; height:8px; border-radius:50%; background:#9ba1ac; }.yc-job-list article>span.status-running { background:#7c72ff; }.yc-job-list article>span.status-succeeded { background:#35bd94; }.yc-job-list article>span.status-failed { background:#ed6071; }.yc-job-list article div { flex:1; }.yc-job-list article b,.yc-job-list article small { display:block; }.yc-job-list article small { color:#8a909b; margin-top:3px; }.yc-job-list article em { font-style:normal; color:#737986; }
.yc-user-card { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #e5e7ed; border-radius:10px; }.yc-user-card>span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#5d72ff,#a45fff); color:white; font-weight:800; }.yc-user-card b,.yc-user-card small { display:block; }.yc-user-card small { color:#858b96; margin-top:4px; }
.yc-admin-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.yc-admin-shortcuts button { min-height:40px; border:1px solid var(--yc-line); border-radius:8px; background:var(--yc-panel); color:var(--yc-text); cursor:pointer; }.yc-admin-shortcuts button:hover,.yc-admin-shortcuts button:focus-visible { border-color:#756cf0; outline:2px solid rgba(117,108,240,.3); }
.yc-preview-stage { min-height:520px; display:grid; place-items:center; background:#111318; border-radius:12px; overflow:hidden; }.yc-preview-stage img,.yc-preview-stage video { max-width:100%; max-height:680px; object-fit:contain; }.yc-preview-report { padding:60px; text-align:center; }.yc-preview-report>b { font-size:90px; color:#2bb78d; }.yc-preview-report h3 { margin:10px 0; }.yc-preview-report p { color:#737986; }.yc-preview-text { min-height:220px; padding:18px; background:#f7f8fa; border-radius:10px; white-space:pre-wrap; line-height:1.7; }
.yc-draw-tools { display:flex; align-items:center; gap:8px; margin-bottom:10px; }.yc-draw-tools button { height:32px; border:1px solid #dddfe6; background:#fff; border-radius:7px; padding:0 10px; cursor:pointer; }.yc-draw-tools button.active { background:#6d65ed; border-color:#6d65ed; color:white; }.yc-draw-tools span { color:#6d7480; margin-right:auto; }.yc-draw-wrap { border:1px solid #dcdfe6; border-radius:10px; overflow:hidden; background:#fff; }.yc-draw-wrap.checker { background-color:#f2f2f4; background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%); background-size:20px 20px; background-position:0 0,0 10px,10px -10px,-10px 0; }.yc-draw-wrap canvas { display:block; width:100%; height:auto; touch-action:none; }
.yc-whiteboard-tools { flex-wrap:wrap; }.yc-whiteboard-tools button { flex:0 0 auto; white-space:nowrap; }.yc-whiteboard-tools #yc-draw-color { flex:0 0 40px; width:40px; min-width:40px; height:32px; padding:2px; }.yc-whiteboard-tools #yc-draw-size { flex:1 1 150px; min-width:120px; }
.yc-stage-config-summary { display:grid; gap:3px; padding:7px 8px; border:1px solid #38414b; border-radius:8px; color:#d9e0ea; font-size:9px; }.yc-stage-config-summary span { color:#949eaa; }.yc-stage-editor { position:relative; display:grid; grid-template-columns:240px 1fr; min-height:540px; border:1px solid #e2e4ea; border-radius:11px; overflow:hidden; }.yc-stage-editor aside { max-height:560px; overflow:auto; padding:14px; background:#f7f8fa; display:grid; align-content:start; gap:12px; }.yc-stage-editor aside label { display:grid; gap:6px; color:#646b77; }.yc-stage-editor aside select,.yc-stage-editor aside input { min-height:36px; }.yc-stage-editor aside select { border:1px solid #dfe1e8; border-radius:8px; background:#fff; }.yc-stage-editor output { color:#3f4651; font-weight:700; }.yc-stage-distance { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.yc-stage-distance button { min-height:44px; border:1px solid #d9dce5; border-radius:8px; background:#fff; color:#484f5b; font-size:20px; cursor:pointer; }.yc-stage-viewport { position:relative; overflow:hidden; display:grid; place-items:center; min-height:360px; background:radial-gradient(circle at 50% 35%,#334253,#12161d 65%); }.yc-stage-empty { width:min(430px,80%); display:grid; gap:12px; justify-items:center; color:#d9dee8; text-align:center; line-height:1.55; }.yc-stage-empty span { color:#aeb6c3; }.yc-stage-empty button { min-height:44px; border:1px solid #5c6471; border-radius:8px; background:#292e36; color:#89919d; padding:0 16px; }.yc-stage-close-guard { position:absolute; inset:0; z-index:4; display:grid; align-content:center; justify-items:center; gap:12px; padding:24px; background:rgba(20,23,29,.92); color:#fff; text-align:center; }.yc-stage-close-guard[hidden] { display:none; }.yc-stage-close-guard>div { display:flex; gap:10px; }.yc-stage-close-guard button { min-height:44px; border:1px solid #7770df; border-radius:8px; background:#fff; color:#39365d; padding:0 16px; cursor:pointer; }.yc-stage-close-guard button:last-child { background:#6d65ed; color:#fff; }

@media (max-width: 900px) {
  .yc-left-panel { left:56px; width:220px; }
  .yc-assistant { width:calc(100vw - 24px); }
  .yc-composer-options select { display:none; }
  .yc-save-indicator { display:none; }
}

/* Preserve the native hidden contract even when components declare display modes. */
.yc-app [hidden] { display: none !important; }
.yc-left-panel[data-panel="nodes"] { transform:translateY(-46%) translateX(-12px); }
.yc-left-panel[data-panel="nodes"].open { transform:translateY(-46%) translateX(0); }
.yc-left-panel[data-panel="nodes"] .yc-palette-tabs { height:46px; padding-top:4px; }

.yc-chat-history { display:grid; gap:8px; max-height:430px; overflow:auto; }
.yc-chat-history-row { display:grid; grid-template-columns:minmax(0,1fr) 34px; align-items:stretch; border:1px solid #e5e7ee; border-radius:12px; overflow:hidden; background:#fff; }
.yc-chat-history-row.active { border-color:#7a73ff; box-shadow:0 0 0 2px rgba(122,115,255,.12); }
.yc-chat-history-row > button { border:0; background:transparent; cursor:pointer; color:#2c3038; }
.yc-chat-history-row > button:first-child { display:grid; gap:4px; text-align:left; padding:11px 13px; }
.yc-chat-history-row b { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yc-chat-history-row span { font-size:11px; color:#8a909c; }
.yc-chat-history-row > button:last-child { border-left:1px solid #edf0f4; color:#959aa5; font-size:18px; }
.yc-chat-history-row > button:last-child:hover { color:#ff6577; background:#fff5f6; }

.yc-mode-empty { display:block; padding:10px; color:var(--yc-muted); font-size:9px; line-height:1.5; }
.yc-mode-empty button,.yc-model-load-error button { margin:6px 0 0; border:1px solid #7670d7; border-radius:7px; background:transparent; color:#aaa5ff; cursor:pointer; padding:5px 8px; font-size:11px; }
.yc-model-load-error { display:grid; gap:4px; color:#d98b95; font-size:11px; line-height:1.45; }
.yc-template-name-error { margin:0; color:var(--yc-danger); font-size:12px; line-height:1.5; }
.yc-assistant-draft { display:grid; gap:8px; border:1px solid #625bb5; border-radius:10px; padding:10px; background:rgba(91,81,196,.12); }.yc-assistant-draft p { margin:0; }.yc-assistant-draft label { display:grid; gap:4px; color:var(--yc-muted); font-size:10px; }.yc-assistant-draft textarea,.yc-assistant-draft select,.yc-assistant-draft input { width:100%; box-sizing:border-box; border:1px solid var(--yc-line); border-radius:7px; background:var(--yc-panel); color:var(--yc-text); padding:7px; }.yc-assistant-draft textarea { min-height:68px; resize:vertical; }.yc-assistant-draft>div { display:grid; grid-template-columns:1fr 86px; gap:8px; }

@media (max-width: 560px) {
  .yc-stage-editor { grid-template-columns:1fr; min-height:0; max-height:68vh; overflow:auto; }
  .yc-stage-editor aside { max-height:none; overflow:visible; }
  .yc-stage-viewport { min-height:220px; }
  .yc-stage-editor aside select,.yc-stage-editor aside input,.yc-stage-distance button { min-height:44px; }
  .yc-whiteboard-tools { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .yc-whiteboard-tools button { width:100%; min-width:0; padding:0 6px; }
  .yc-whiteboard-tools #yc-draw-color { width:100%; min-width:0; }
  .yc-whiteboard-tools #yc-draw-size { grid-column:span 3; width:100%; min-width:0; }
  .yc-topbar { height:52px; padding:0 9px; }
  .yc-topbar .yc-top-actions > button:not([data-top-action="user"]) { display:none; }
  .yc-rail { left:8px; width:48px; }
  .yc-rail-btn { width:40px; height:40px; min-width:40px; min-height:40px; }
  .yc-rail-btn.add { width:40px; height:40px; }
  .yc-left-panel, .yc-left-panel[data-panel="nodes"] { left:8px; right:8px; top:auto; bottom:8px; width:auto; max-height:min(66vh,560px); transform:translateY(24px); border-radius:16px; }
  .yc-left-panel[data-panel="assets"] { z-index:70; }
  .yc-left-panel.open, .yc-left-panel[data-panel="nodes"].open { transform:translateY(0); }
  .yc-left-panel[data-panel="nodes"] .yc-palette-tabs { overflow-x:auto; height:auto; min-height:46px; }
  .yc-palette-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yc-palette-card { min-height:68px; }
  .yc-bottom-toolbar { left:58px; right:8px; bottom:8px; transform:none; width:auto; overflow-x:auto; justify-content:flex-start; }
  .yc-bottom-toolbar button { width:38px; height:38px; min-width:38px; }
  .yc-bottom-toolbar .yc-run-workflow { width:auto; min-width:112px; }
  .yc-selection-toolbar { max-width:calc(100% - 16px); overflow-x:auto; overflow-y:hidden; }
  .yc-selection-toolbar button { flex:0 0 32px; }
  .yc-assistant-orb { right:12px; bottom:60px; width:52px; height:52px; }
  .yc-assistant { inset:8px; width:auto; border:1px solid #2d3035; border-radius:16px; }
  .yc-assistant-thread { padding:18px 16px; }
  .yc-assistant-composer { margin:0 10px 10px; }
  .yc-mode-menu { left:0; right:0; bottom:54px; width:auto; max-height:58vh; overflow:auto; }
  .yc-mode-row>section, .yc-mode-row.active>section { position:static; display:block; width:auto; margin:3px 0 7px; box-shadow:none; }
  .yc-mode-row>section button { min-height:44px; height:auto; }
  .yc-mode-button { max-width:calc(100vw - 245px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .yc-existing-asset-button { padding:0 6px!important; font-size:8px!important; }
  .yc-assistant-asset-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:50vh; }
  .yc-assistant-draft>div { grid-template-columns:1fr 76px; }
  .yc-job-toast { left:8px; right:8px; bottom:70px; width:auto; }
  .yc-context-menu, .yc-node-menu, .yc-brand-menu { max-width:calc(100vw - 16px); }
  .yc-context-sub:hover:not(.open)>section { display:none; }
}
