:root {
  color-scheme: dark;
  --bg: #0a0c0e;
  --panel: #111417;
  --panel-2: #161a1e;
  --panel-3: #1c2126;
  --line: #2a3036;
  --line-soft: #20252a;
  --text: #f2f1ed;
  --muted: #8e969e;
  --muted-2: #626a72;
  --accent: #e0b66d;
  --accent-strong: #f1c36f;
  --green: #9fd66d;
  --red: #ee7c72;
  --blue: #76a9fa;
  --purple: #b992f7;
  --node-width: 280px;
  --shadow: 0 20px 60px #0009;
}

* { box-sizing: border-box; }

html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
}

button, input, textarea, select { font: inherit; }
button { color: inherit; }

.studio-shell { position: relative; width: 100%; height: 100%; background: var(--bg); }

.topbar {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: 74px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 22px;
  background: linear-gradient(180deg, #0d1013 0%, #0d1013ed 72%, transparent 100%);
  pointer-events: none;
}

.topbar-group { display: flex; align-items: center; gap: 9px; pointer-events: auto; }
.topbar-actions { justify-content: flex-end; }

.toolbar-button {
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #14181ce8;
  color: #d9dde0;
  cursor: pointer;
  box-shadow: 0 6px 20px #0003;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.toolbar-button:hover { border-color: #46505a; background: #1b2025; transform: translateY(-1px); }
.toolbar-button.strong { font-weight: 750; color: #fff; }
.toolbar-button.accent { color: var(--accent-strong); border-color: #59492d; background: #1b1812ed; }
.toolbar-button.image-studio-toggle { color:var(--accent-strong); border-color:#665331; background:#1b1812ed; }
.toolbar-button.transfer-toggle { color:#a9d7c0; border-color:#355447; background:#111c18ed; }
.toolbar-button.board-toggle { color:#b8b4e8; border-color:#49466b; background:#171625ed; }
.toolbar-button.workspace-tab.active,.toolbar-button.image-studio-toggle.active,.toolbar-button.transfer-toggle.active,.toolbar-button.board-toggle.active { color:#fff; border-color:#8c713c; background:#2a2215; box-shadow:inset 0 -2px #e0b66d,0 6px 20px #0004; }
.toolbar-button.context-action { padding-inline:10px; border-style:dashed; color:var(--muted); }
.toolbar-button.icon-only { width: 40px; padding: 0; font-size: 19px; }
.button-icon { font-size: 17px; line-height: 1; }

.brand-lockup { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:150px; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; outline:none; pointer-events:auto; }
.brand-lockup:focus-visible { border-radius:10px; box-shadow:0 0 0 2px #e0b66d66; }
.brand-logo { width: 42px; height: 42px; display: grid; place-items: center; flex: none; overflow: hidden; border: 1px solid #51452f; border-radius: 10px; background: #000; color: var(--accent-strong); font-size: 15px; }
.brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy strong { display: block; max-width: 210px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: Georgia, "Songti SC", serif; font-size: 16px; letter-spacing: .04em; }
.brand-copy > span { display: block; max-width: 210px; margin-top: 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--accent); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.brand-popover { position: absolute; z-index: 70; top: calc(100% + 15px); left: 50%; width: 300px; padding: 10px; border: 1px solid #4c4436; border-radius: 13px; background: #14181cf5; box-shadow: 0 22px 55px #000b; opacity: 0; visibility: hidden; transform: translate(-50%, -7px); transition: opacity .16s ease, transform .16s ease, visibility .16s; pointer-events: none; }
.brand-lockup:hover .brand-popover, .brand-lockup:focus-visible .brand-popover, .brand-lockup.open .brand-popover { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.brand-popover-image { height: 160px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; background: linear-gradient(145deg, #252018, #101418); color: #766c5a; font-size: 9px; letter-spacing: .18em; }
.brand-popover-image img { width: 100%; height: 100%; object-fit: cover; }
.brand-popover p { margin: 9px 3px 2px; color: #aeb4b8; font-size: 9px; line-height: 1.6; text-align: left; text-transform: none; letter-spacing: 0; }

.save-state { display: inline-flex; align-items: center; gap: 7px; margin-right: 4px; color: var(--muted); font-size: 11px; }
.save-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px #9fd66d88; }
.save-state.saving i { background: var(--accent); animation: pulse 1s infinite; }
.save-state.error i { background: var(--red); }

.canvas-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  cursor: grab;
  background-color: var(--bg);
  background-image: radial-gradient(circle, #30353a 1px, transparent 1.2px);
  background-size: 24px 24px;
  user-select: none;
  touch-action: none;
}
.canvas-stage.panning { cursor: grabbing; }
.canvas-stage.asset-drop-ready { box-shadow:inset 0 0 0 3px #d8af5d,inset 0 0 80px #d8af5d22; }

.image-studio { position:fixed; z-index:25; inset:0; padding:88px 18px 18px; overflow:hidden; background:linear-gradient(145deg,#090806,#11100d 55%,#15120d); }
.transfer-studio { position:fixed; z-index:25; inset:0; padding:94px 26px 26px; overflow:auto; background:radial-gradient(circle at 15% 5%,#18312666,transparent 32%),linear-gradient(145deg,#090c0b,#0e1411 58%,#121810); }
.transfer-studio.hidden { display:none; }
.transfer-head { max-width:1450px; margin:0 auto 18px; display:flex; justify-content:space-between; align-items:flex-end; }
.transfer-head h1 { margin:4px 0; font:500 28px Georgia,"Songti SC",serif; }
.transfer-head p { margin:0; color:var(--muted); font-size:11px; }
.transfer-layout { max-width:1450px; min-height:calc(100vh - 175px); margin:auto; display:grid; grid-template-columns:370px minmax(0,1fr); gap:15px; }
.transfer-box-tabs { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:10px; background:#0b100e; }.transfer-box-tabs button { padding:8px 15px; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }.transfer-box-tabs button.active { background:#347355; color:white; }.transfer-box-view { max-width:1450px; margin:auto; }.transfer-box-view.hidden { display:none; }.transfer-step { display:block; margin-bottom:13px; color:#7fb498; font-size:9px; font-weight:800; letter-spacing:.15em; }
.transfer-destination-card { padding:17px; border:1px solid var(--line); border-radius:14px; background:#111714e8; box-shadow:var(--shadow); }.destination-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.destination-options label { display:flex; align-items:flex-start; gap:8px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#0c120f; cursor:pointer; }.destination-options label:has(input:checked) { border-color:#4e8b6c; background:#12221a; }.destination-options input { accent-color:#62b98d; }.destination-options b,.destination-options small { display:block; }.destination-options b { font-size:10px; }.destination-options small { margin-top:4px; color:var(--muted); font-size:8px; }.transfer-selection { margin-top:12px; max-height:240px; overflow:auto; }.transfer-selection-item { display:flex; justify-content:space-between; gap:8px; padding:9px; border-bottom:1px solid var(--line-soft); font-size:9px; }.transfer-selection-item button { border:0; background:transparent; color:var(--red); cursor:pointer; }.transfer-meta select { padding:10px; border:1px solid var(--line); border-radius:8px; background:#0b100e; color:var(--text); }.transfer-confirm { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); }.transfer-confirm span { color:var(--muted); font-size:9px; }.transfer-list-head { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border:1px solid var(--line); border-radius:13px 13px 0 0; background:#111714; }.transfer-list-head b { margin-right:8px; font:500 19px Georgia,"Songti SC",serif; }.transfer-list-head span { color:var(--muted); font-size:9px; }.transfer-list-head button { padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#171d1a; color:inherit; cursor:pointer; }.transfer-box-view>.transfer-file-list { padding:0 16px; border:1px solid var(--line); border-top:0; border-radius:0 0 13px 13px; background:#101512; }.transfer-status { padding:5px 7px; border-radius:6px; background:#242a27; color:#aeb8b2; }.transfer-status.received { background:#183426;color:#8ed5aa; }
.board-studio { position:fixed; z-index:25; inset:0; padding:92px 24px 24px; overflow:hidden; background:linear-gradient(145deg,#0b0a12,#11101b 60%,#13111a); }.board-studio.hidden { display:none; }.board-head { height:63px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }.board-head h1 { margin:3px 0; font:500 25px Georgia,"Songti SC",serif; }.board-head p { margin:0;color:var(--muted);font-size:9px; }.board-project-controls { display:flex; align-items:center; gap:8px; }.board-project-controls select,.board-project-controls button { padding:9px 11px;border:1px solid #37334d;border-radius:8px;background:#151421;color:var(--text); }.board-project-controls button{cursor:pointer}.board-project-controls span{color:#8984ad;font-size:8px}.board-toolbar { height:47px; display:flex; align-items:center; gap:6px; margin-top:13px; padding:6px; border:1px solid #302e42; border-radius:10px 10px 0 0; background:#12111b; }.board-toolbar button { padding:7px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:#b7b3ca;cursor:pointer}.board-toolbar button:hover,.board-toolbar button.active{border-color:#474260;background:#242135;color:white}.board-toolbar>span{flex:1}.team-board-canvas{position:relative;height:calc(100vh - 240px);overflow:hidden;border:1px solid #302e42;border-top:0;background-color:#0d0c14;background-image:radial-gradient(circle,#37334b 1px,transparent 1.2px);background-size:24px 24px;cursor:grab}.team-board-world{position:absolute;transform-origin:0 0;width:5000px;height:3500px}.board-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#77728f;pointer-events:none}.board-empty b{font:500 20px Georgia,"Songti SC",serif}.board-empty span{margin-top:8px;font-size:9px}.board-empty.hidden{display:none}.board-node{position:absolute;width:230px;min-height:90px;border:1px solid #423e56;border-radius:11px;background:#191822;box-shadow:0 12px 30px #0006;cursor:move;user-select:none}.board-node header{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #302e42;color:#aaa5c0;font-size:8px}.board-node header button{border:0;background:transparent;color:#8d889f;cursor:pointer}.board-node .board-node-body{padding:11px}.board-node.text .board-node-body{font-size:15px;line-height:1.5;white-space:pre-wrap}.board-node.note{background:#302817;border-color:#665632;color:#efe0a9}.board-node img,.board-node video{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:7px;background:#09080d}.board-node textarea{width:100%;min-height:80px;border:0;background:transparent;color:inherit;resize:none;outline:none}.board-node.arrow{width:190px;min-height:50px;background:transparent;border:0;box-shadow:none}.board-node.arrow .board-node-body{font-size:50px;color:#a29cd1}.board-status{padding:7px 4px;color:#716d86;font-size:8px}.board-node.selected{outline:2px solid #928bd0}.board-node .board-asset-name{display:block;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.transfer-upload-card,.transfer-library-card { padding:17px; border:1px solid var(--line); border-radius:14px; background:#111714e8; box-shadow:var(--shadow); }
.transfer-dropzone { min-height:245px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px dashed #476958; border-radius:12px; background:#0d1511; cursor:pointer; outline:none; transition:.18s; }
.transfer-dropzone:hover,.transfer-dropzone.dragging { border-color:#87c2a4; background:#122019; transform:translateY(-2px); }
.transfer-upload-icon { width:50px; height:50px; display:grid; place-items:center; margin-bottom:15px; border-radius:50%; background:#347355; color:white; font-size:25px; }
.transfer-dropzone strong { font-size:13px; }.transfer-dropzone small { margin-top:8px; color:var(--muted); font-size:9px; }
.transfer-meta { display:grid; gap:11px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); }
.transfer-meta.hidden { display:none; }.transfer-meta label { display:grid; gap:6px; color:#9fafA7; font-size:9px; font-weight:700; }
.transfer-meta input,.transfer-meta textarea,.transfer-toolbar input,.transfer-toolbar select { padding:10px; border:1px solid var(--line); border-radius:8px; background:#0b100e; color:var(--text); outline:none; }
.transfer-meta textarea { min-height:65px; resize:vertical; }.transfer-meta-actions { display:flex; justify-content:flex-end; gap:8px; }.transfer-meta-actions button,.transfer-toolbar button { padding:9px 13px; border:1px solid var(--line); border-radius:8px; background:#171d1a; cursor:pointer; }.transfer-meta-actions .primary { border-color:#3e7d60; background:#347355; }
.transfer-upload-list { margin-top:14px; }.transfer-upload-item { margin-top:11px; }.transfer-upload-info { display:flex; justify-content:space-between; gap:12px; margin-bottom:6px; color:#bdc7c1; font-size:9px; }.transfer-upload-info span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.transfer-progress { height:4px; overflow:hidden; border-radius:4px; background:#25302a; }.transfer-progress i { display:block; width:0; height:100%; background:#62b98d; transition:.2s; }
.transfer-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-bottom:15px; border-bottom:1px solid var(--line-soft); }.transfer-toolbar>div { display:flex; align-items:center; gap:8px; }.transfer-toolbar b { font-family:Georgia,"Songti SC",serif; font-size:19px; }.transfer-toolbar span { color:var(--muted); font-size:9px; }.transfer-toolbar input { width:220px; }.transfer-toolbar select { max-width:140px; }.transfer-toolbar button { padding:8px 12px; font-size:17px; }
.transfer-file-row { display:grid; grid-template-columns:minmax(200px,1fr) 130px 95px 110px 100px; gap:13px; align-items:center; padding:13px 5px; border-bottom:1px solid var(--line-soft); }.transfer-file-main { display:flex; align-items:center; gap:11px; min-width:0; }.transfer-file-icon { flex:none; width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:#1b2821; color:#84b99e; font-size:8px; font-weight:800; }.transfer-file-copy { min-width:0; }.transfer-file-copy b,.transfer-file-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.transfer-file-copy b { font-size:11px; }.transfer-file-copy small,.transfer-cell { margin-top:4px; color:var(--muted); font-size:8px; }.transfer-tag { display:inline-block; max-width:120px; padding:5px 7px; overflow:hidden; border-radius:6px; background:#1c2520; color:#aebbb4; text-overflow:ellipsis; white-space:nowrap; }.transfer-actions { display:flex; justify-content:flex-end; gap:5px; }.transfer-actions a,.transfer-actions button { padding:7px 9px; border:0; border-radius:7px; font-size:9px; text-decoration:none; cursor:pointer; }.transfer-download { background:#347355; color:white; }.transfer-delete { background:transparent; color:#d47e74; }.transfer-empty { padding:70px 15px; color:var(--muted); font-size:10px; text-align:center; }
@media(max-width:950px){.transfer-layout{grid-template-columns:1fr}.transfer-toolbar{align-items:flex-start;flex-direction:column}.transfer-toolbar>div:last-child{width:100%;flex-wrap:wrap}.transfer-toolbar input{flex:1}.transfer-file-row{grid-template-columns:1fr auto}.transfer-file-row>.transfer-cell{display:none}.transfer-studio{padding-inline:12px}}
.board-draw-layer{position:absolute;inset:0;width:5000px;height:3500px;overflow:visible;pointer-events:none}.board-draw-path{fill:none;stroke:#f0c96f;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.board-connection{fill:none;stroke:#8e89b7;stroke-width:3;pointer-events:stroke;cursor:pointer;transition:stroke .15s,stroke-width .15s}.board-connection:hover{stroke:#ef6d79;stroke-width:5}.board-draw-layer marker path{fill:#8e89b7}.board-port{position:absolute;z-index:2;top:50%;width:10px;height:10px;border:2px solid #918ab9;border-radius:50%;background:#171620;transform:translateY(-50%);pointer-events:none}.board-port-in{left:-6px}.board-port-out{right:-6px}.board-node.connection-source{outline:2px solid #e0b66d;box-shadow:0 0 0 5px #e0b66d22,0 12px 30px #0006}.team-board-canvas.drawing{cursor:crosshair}
.board-draw-options{display:none;align-items:center;gap:4px;padding-left:7px;border-left:1px solid #302e42}.board-toolbar:has([data-board-tool="draw"].active) .board-draw-options{display:flex}.board-draw-options label{display:grid;width:27px;height:27px;place-items:center;overflow:hidden;border-radius:7px}.board-draw-options input{width:36px;height:36px;padding:0;border:0;background:none;cursor:pointer}.board-draw-options button{padding:5px 7px;font-size:8px}
.board-erase-options{display:none;align-items:center;gap:4px;padding-left:7px;border-left:1px solid #302e42}.board-toolbar:has([data-board-tool="erase"].active) .board-erase-options{display:flex}.board-erase-options button{padding:5px 7px;font-size:8px}
.board-object{position:absolute;box-sizing:border-box;cursor:move;user-select:none}.board-object.selected{outline:2px solid #7c6cf2;outline-offset:4px}.board-object.asset{min-height:40px}.board-object img,.board-object video{display:block;width:100%;height:100%;object-fit:contain;border-radius:3px;background:transparent}.board-object textarea{display:block;width:100%;height:100%;min-height:inherit;padding:3px;border:0;background:transparent;color:var(--text);font:16px/1.55 inherit;resize:none;outline:none;user-select:text}.board-object.note{padding:18px;background:var(--note-color);color:#222;box-shadow:0 8px 20px #0002;transform:rotate(-.5deg)}.board-object.note textarea{padding-bottom:20px;color:#222;font:var(--note-font-size,16px)/1.5 "KaiTi","STKaiti",sans-serif;overflow:hidden}.board-note-count{position:absolute;right:11px;bottom:8px;color:#2228;font-size:9px;line-height:1;pointer-events:none}.board-note-count.over{color:#c53b43;font-weight:800}.board-object-tools{position:absolute;z-index:5;left:50%;bottom:calc(100% + 8px);display:flex;gap:4px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 20px #0004;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:.15s}.board-object:hover>.board-object-tools,.board-object.selected>.board-object-tools{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.board-object-tools button,.board-object-tools a{display:grid;width:25px;height:25px;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text);text-decoration:none;cursor:pointer}.board-object-tools button:hover,.board-object-tools a:hover{background:var(--hover)}.board-note-colors{display:flex;gap:3px}.board-note-colors button{width:17px;height:17px;border:1px solid #0002;border-radius:50%}
.board-object textarea[readonly]{pointer-events:none}.board-object-tools button.active{background:var(--hover);color:#7c6cf2}.board-vote-summary{position:absolute;right:0;top:calc(100% + 5px);display:flex;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}.board-vote-summary span{padding:2px 5px;border-radius:9px;background:var(--panel)}
.board-object.text{min-width:120px;min-height:42px}.board-object.text textarea{overflow:hidden;white-space:pre-wrap}.board-object.asset.annotated>.board-object-tools{bottom:calc(100% + var(--annotation-height,28px) + 14px)}.board-asset-annotation{position:absolute;left:0;bottom:calc(100% + 8px);display:block;width:100%;min-height:28px!important;max-height:150px;padding:5px 7px!important;overflow:auto;border:0;border-radius:5px;background:color-mix(in srgb,var(--panel) 88%,transparent)!important;color:var(--text)!important;font:13px/1.4 inherit!important;text-align:center;box-shadow:0 5px 16px #0003;resize:none}.board-asset-annotation[readonly]{overflow:hidden;background:transparent!important;box-shadow:none}.board-asset-annotation::placeholder{color:var(--muted)}
.board-resize{position:absolute;z-index:8;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#6d5df3;box-shadow:0 1px 4px #0006}.board-resize.nw{left:-10px;top:-10px;cursor:nwse-resize}.board-resize.ne{right:-10px;top:-10px;cursor:nesw-resize}.board-resize.sw{left:-10px;bottom:-10px;cursor:nesw-resize}.board-resize.se{right:-10px;bottom:-10px;cursor:nwse-resize}
.board-context-menu{position:fixed;z-index:160;display:grid;min-width:156px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 16px 38px #0007}.board-context-menu.hidden{display:none}.board-context-menu button{padding:9px 11px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.board-context-menu button:hover{background:var(--hover)}.board-context-menu button.danger{color:#ef6d79}.team-board-canvas.placing{cursor:crosshair}
.board-draw-layer{pointer-events:none}.board-connection-group{pointer-events:stroke}.board-connection{pointer-events:none;stroke:var(--text);stroke-width:2.4}.board-connection-hit{fill:none;stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}.board-connection-group:hover .board-connection,.board-connection-group.selected .board-connection{stroke:#ef5350;stroke-width:3}.board-cut{font-size:18px;fill:#ef5350;paint-order:stroke;stroke:var(--panel);stroke-width:5;opacity:0;pointer-events:none;text-anchor:middle;dominant-baseline:middle}.board-connection-group:hover .board-cut{opacity:1}.board-draw-layer marker path{fill:context-stroke}.team-board-canvas.drawing{cursor:crosshair}
.team-board-canvas.space-pan{cursor:grab}.team-board-canvas.space-pan:active{cursor:grabbing}
.board-library{height:100%;display:flex;flex-direction:column}.board-library.hidden,.board-editor.hidden{display:none}.board-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 22px;border-bottom:1px solid #302e42}.board-library-head h1{margin:4px 0;font:500 28px Georgia,"Songti SC",serif}.board-library-head p{margin:0;color:var(--muted);font-size:10px}.board-library-head>div:last-child{display:flex;align-items:center;gap:12px}.board-library-head span{color:#8984ad;font-size:9px}.board-library-head button{padding:10px 16px;border:1px solid #8c713c;border-radius:8px;background:#2a2215;color:#f1d28c;cursor:pointer}.board-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:14px;padding:22px 2px;overflow:auto}.board-project-card{position:relative;min-height:150px;padding:20px;border:1px solid #302e42;border-radius:12px;background:linear-gradient(145deg,#171620,#111019);color:var(--text);text-align:left;cursor:pointer;transition:.18s ease}.board-project-card:hover{transform:translateY(-2px);border-color:#756445;box-shadow:0 16px 34px #0005}.board-project-card .board-project-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:18px;border-radius:9px;background:#2a2215;color:#e0b66d;font-size:18px}.board-project-card b{display:block;padding-right:32px;font:500 17px Georgia,"Songti SC",serif}.board-project-card small{display:block;margin-top:9px;color:#77728f;font-size:9px}.board-project-card .board-project-delete{position:absolute;top:13px;right:13px;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#77728f;cursor:pointer}.board-project-card .board-project-delete:hover{border-color:#6b373d;background:#2b171b;color:#ef8c96}.board-library-empty{grid-column:1/-1;display:grid;min-height:300px;place-items:center;border:1px dashed #343145;border-radius:12px;color:#77728f}.board-editor{height:100%}.board-editor-title{position:relative;padding-left:126px}.board-editor-title #boardBackToList{position:absolute;left:0;bottom:5px;padding:8px 11px;border:1px solid #37334d;border-radius:8px;background:#151421;color:#b7b3ca;cursor:pointer}

/* 1.3 布局测试版：主导航、项目上下文与统一工作区 */
:root{--sidebar-width:196px;--contextbar-height:68px}
.studio-shell{padding-left:var(--sidebar-width)}
.primary-sidebar{position:fixed;z-index:80;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;padding:18px 12px 14px;border-right:1px solid #24292e;background:linear-gradient(180deg,#0e1114,#0a0c0e);box-shadow:12px 0 35px #0003}
.primary-sidebar .brand-lockup{justify-content:flex-start;min-width:0;padding:0 8px 18px;border-bottom:1px solid var(--line-soft)}
.primary-sidebar .brand-logo{width:38px;height:38px}.primary-sidebar .brand-copy strong{font-size:13px}.primary-sidebar .brand-copy>span{font-size:7px}
.primary-nav{display:flex;flex-direction:column;gap:4px;margin-top:18px}.nav-section-label{padding:15px 11px 6px;color:#596168;font-size:8px;font-weight:800;letter-spacing:.18em}
.primary-nav-item{width:100%;height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#858e95;text-align:left;cursor:pointer;transition:.15s}.primary-nav-item span{width:20px;color:#737d84;font-size:16px;text-align:center}.primary-nav-item b{font-size:11px;font-weight:650}.primary-nav-item:hover{background:#151a1e;color:#d8dde0}.primary-nav-item.active{border-color:#4d412c;background:linear-gradient(90deg,#2b2418,#17191a);color:#f0d59c;box-shadow:inset 2px 0 #e0b66d}.primary-nav-item.active span{color:#e0b66d}.settings-nav{margin-top:auto}
.topbar{left:var(--sidebar-width);height:var(--contextbar-height);grid-template-columns:1fr auto 1fr;padding:0 20px;border-bottom:1px solid var(--line-soft);background:#0d1013f5;backdrop-filter:blur(14px);pointer-events:auto}
.project-context{display:flex;align-items:center;gap:10px;width:max-content;max-width:280px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#14181c;color:var(--text);cursor:pointer}.project-context>span{color:var(--muted);font-size:8px}.project-context>b{max-width:150px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.project-context>i{color:var(--accent);font-style:normal}
.board-topbar-back{width:max-content;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#14181c;color:var(--text);cursor:pointer}.board-topbar-presence{color:var(--muted);font-size:8px;white-space:nowrap}
.workspace-heading{text-align:center}.workspace-heading span{display:block;color:#756a56;font-size:7px;font-weight:800;letter-spacing:.18em}.workspace-heading strong{display:block;margin-top:3px;font:500 15px Georgia,"Songti SC",serif}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.topbar-tool{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#15191d;color:#cdd2d5;font-size:9px;cursor:pointer}.topbar-tool:hover{border-color:#4d5660}.device-chip{max-width:120px;overflow:hidden;padding:7px 9px;border:1px solid #2d3d35;border-radius:20px;background:#111a16;color:#83ae96;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.canvas-stage{left:var(--sidebar-width);top:var(--contextbar-height)}
.image-studio,.director-studio,.replacement-studio,.transfer-studio,.board-studio{left:var(--sidebar-width);top:var(--contextbar-height);padding-top:26px}
.image-studio{padding-top:16px}
.replacement-studio{position:fixed;z-index:25;right:0;bottom:0;display:block;overflow:hidden;padding:0;background:var(--bg)}
.replacement-studio.hidden{display:none}
.replacement-studio iframe{display:block;width:100%;height:100%;border:0;background:#0a0c0e}
.replacement-studio-status{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at center,#151a1fee,#080a0cee);text-align:center;color:#efe6d9}.replacement-studio-status.hidden{display:none}.replacement-studio-status b{display:block;margin-bottom:8px;font-size:18px}.replacement-studio-status span{display:block;max-width:420px;margin-bottom:14px;color:#aeb6bd;font-size:12px;line-height:1.7}.replacement-studio-status .topbar-tool{margin:auto;background:#1d232a;color:#f3e7d3}
.director-studio{position:fixed;z-index:25;right:0;bottom:0;display:block;overflow:hidden;padding:0;background:#07090b}
.director-studio.hidden{display:none}
.director-studio iframe{display:block;width:100%;height:100%;border:0;background:#07090b}
.image-studio-head,.transfer-head,.board-head{padding-top:0}.image-studio-head .close-button{display:none}.image-studio{padding-bottom:18px}.transfer-studio{padding-inline:24px}.board-studio{padding-inline:24px}
.board-editor{height:100%;display:flex;min-height:0;flex-direction:column}.board-editor.hidden{display:none}.board-editor>.board-head{display:none}.board-editor>.board-toolbar{flex:none;margin-top:0}.board-editor>.team-board-canvas{flex:1;min-height:0;height:auto}.board-editor>.board-status{flex:none}
.asset-workspace{position:fixed;z-index:25;left:var(--sidebar-width);right:0;top:var(--contextbar-height);bottom:0;display:grid;grid-template-columns:210px 1fr;grid-template-rows:auto auto 1fr;gap:0;padding:24px;overflow:hidden;background:linear-gradient(145deg,#0b0e10,#101418)}.asset-workspace.hidden{display:none}.asset-workspace>.drawer-head{grid-column:1/-1;padding:0 0 18px;border-bottom:1px solid var(--line)}.asset-workspace>.asset-main-tabs{grid-column:1/-1;margin:14px 0}.asset-workspace>.asset-group-list{grid-column:1;grid-row:3;display:block;padding-right:14px;border-right:1px solid var(--line-soft);overflow:auto}.asset-workspace>.asset-tabs{grid-column:2;grid-row:3;align-self:start;margin:0 0 0 16px}.asset-workspace>.asset-actions{position:absolute;top:122px;right:24px}.asset-workspace>.asset-list{grid-column:2;grid-row:3;margin:44px 0 0 16px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:12px}.asset-workspace .asset-card{margin:0}
.asset-workspace.local-file-drop-ready::after{content:'松开导入素材';position:absolute;z-index:20;inset:18px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:12px;background:#0b0e10e8;color:var(--accent-strong);font-size:18px;font-weight:800;pointer-events:none;box-shadow:inset 0 0 70px #e0b66d18}
.canvas-stage.local-file-drop-ready::after,.team-board-canvas.local-file-drop-ready::after{content:'松开即可上传并放到这里';position:absolute;z-index:45;inset:18px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--text);font-size:18px;font-weight:800;letter-spacing:.04em;pointer-events:none;box-shadow:inset 0 0 70px color-mix(in srgb,var(--accent) 12%,transparent)}
.board-file-asset{display:flex;width:100%;height:100%;box-sizing:border-box;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);text-decoration:none;overflow:hidden}.board-file-asset span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.12em}.board-file-asset b{display:block;max-width:100%;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.board-file-asset small{color:var(--muted);font-size:8px}.board-file-asset.board-audio{padding:9px 12px}.board-file-asset audio{width:100%;height:32px}
.asset-quick-panel{position:fixed;z-index:75;top:var(--contextbar-height);right:0;bottom:0;width:360px;padding:18px;border-left:1px solid var(--line);background:#111417f7;box-shadow:-20px 0 50px #0007;transform:translateX(105%);transition:transform .2s}.asset-quick-panel.open{transform:none}.quick-asset-tabs{display:flex;gap:5px;margin:15px 0}.quick-asset-tabs button{flex:1;padding:8px;border:1px solid var(--line);border-radius:7px;background:#15191d;color:var(--muted);font-size:9px;cursor:pointer}.quick-asset-tabs button.active{border-color:#665331;background:#251f15;color:#e4c680}.quick-asset-hint{padding:9px;border:1px solid #37332b;border-radius:8px;background:#181611;color:#a99b7e;font-size:8px;line-height:1.6}.quick-asset-list{height:calc(100% - 130px);overflow:auto}.quick-asset-card{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:8px;border:1px solid var(--line-soft);border-radius:9px;background:#15191d;cursor:grab}.quick-asset-card img,.quick-asset-card video{width:58px;height:48px;object-fit:cover;border-radius:6px;background:#080a0c}.quick-asset-card div{min-width:0}.quick-asset-card b,.quick-asset-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-asset-card b{font-size:9px}.quick-asset-card small{margin-top:5px;color:var(--muted);font-size:7px}.quick-asset-empty{padding:50px 10px;color:var(--muted);font-size:9px;text-align:center}
.asset-drop-destinations{position:fixed;z-index:95;left:calc(var(--sidebar-width) + 22px);right:22px;bottom:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;border:1px solid #605238;border-radius:12px;background:#0c0f11f2;box-shadow:0 20px 60px #000c;backdrop-filter:blur(16px)}
.asset-drop-destinations.hidden{display:none}.asset-drop-destination{min-height:76px;display:grid;grid-template-columns:36px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:11px 14px;border:1px dashed #5a554a;border-radius:9px;background:#15191d;color:#bfc5c9;transition:.15s}.asset-drop-destination span{grid-row:1/3;font-size:23px;color:var(--accent)}.asset-drop-destination b{align-self:end;font-size:11px}.asset-drop-destination small{align-self:start;margin-top:3px;color:var(--muted);font-size:8px}.asset-drop-destination.drag-over{border-style:solid;border-color:var(--accent);background:#2a2317;color:white;box-shadow:inset 0 0 0 1px #e0b66d55,0 0 24px #e0b66d33;transform:translateY(-3px)}
@media(max-width:850px){.asset-drop-destinations{grid-template-columns:repeat(2,minmax(0,1fr));left:calc(var(--sidebar-width) + 10px);right:10px;bottom:10px}.asset-drop-destination{min-height:64px}}
.drawer-left{left:var(--sidebar-width)}
@media(max-width:1050px){:root{--sidebar-width:72px}.primary-sidebar{width:72px;padding-inline:8px}.primary-sidebar .brand-lockup{justify-content:center;padding-inline:0}.primary-sidebar .brand-copy,.primary-nav-item b,.nav-section-label{display:none}.primary-nav-item{justify-content:center;padding:0}.primary-nav-item span{width:auto}.asset-workspace{grid-template-columns:170px 1fr}.device-chip{display:none}}
.image-studio.hidden { display:none; }
.account-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#252013,#090b0d 46%,#050607);color:#edf0f1}.account-gate.hidden{display:none}.account-gate-card{width:min(420px,100%);padding:30px;border:1px solid #49402d;border-radius:20px;background:#101316f2;box-shadow:0 35px 100px #000c}.account-gate-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.account-gate-brand img{width:48px;height:48px;object-fit:contain}.account-gate-brand b,.account-gate-brand span{display:block}.account-gate-brand b{font:600 16px Georgia,"Songti SC",serif}.account-gate-brand span{margin-top:4px;color:#8b9297;font-size:7px;letter-spacing:.18em}.account-gate h1{margin:7px 0 8px;font:500 27px Georgia,"Songti SC",serif}.account-gate p{margin:0 0 22px;color:#929ba1;font-size:11px;line-height:1.7}.account-gate form{display:grid;gap:12px}.account-gate label{display:grid;gap:7px;color:#a9b0b5;font-size:9px}.account-gate input{height:42px;padding:0 12px;border:1px solid #353c41;border-radius:9px;background:#090b0d;color:white;outline:0}.account-gate input:focus{border-color:#a88a4d}.account-gate button{height:44px;margin-top:5px;border:1px solid #94763c;border-radius:9px;background:#342814;color:#f0d18f;font-weight:700;cursor:pointer}.account-gate-feedback{min-height:18px;margin:16px 0 0!important;color:#e88787!important}.account-chip{height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #51452f;border-radius:18px;background:#19150e;color:#d6bd86;cursor:pointer}.account-chip.hidden{display:none}.account-chip span{font-size:9px}.account-chip b{max-width:90px;overflow:hidden;color:#e9edef;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-center-dialog{width:min(1180px,calc(100vw - 34px));max-height:calc(100dvh - 34px);padding:0;overflow:auto;border:1px solid #49402d;border-radius:18px;background:#0e1113;color:#e9edef;box-shadow:0 35px 100px #000d}.account-center-dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.account-center-dialog>header{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #293036;background:#0e1113f2;backdrop-filter:blur(14px)}.account-center-dialog h2{margin:4px 0;font:500 24px Georgia,"Songti SC",serif}.account-center-dialog header p{margin:0;color:#899197;font-size:9px}.account-center-dialog header>div:last-child{display:flex;gap:8px}.account-center-dialog button{padding:9px 12px;border:1px solid #3b4349;border-radius:8px;background:#171c20;color:#d9dee1;cursor:pointer}.account-center-dialog #accountCenterClose{width:34px;padding:0;font-size:20px}.account-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 24px}.account-summary-grid article{padding:17px;border:1px solid #33382e;border-radius:12px;background:linear-gradient(145deg,#191914,#111416)}.account-summary-grid span,.account-summary-grid b{display:block}.account-summary-grid span{color:#8d969c;font-size:9px}.account-summary-grid b{margin-top:9px;color:#e3c477;font-size:23px}.account-admin-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:0 24px 20px}.account-admin-actions form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:14px;border:1px solid #2d3439;border-radius:12px;background:#121619}.account-admin-actions form b{grid-column:1/-1;font-size:11px}.account-admin-actions #companyUserForm{grid-template-columns:1fr 1fr 1fr 130px auto}.account-admin-actions input,.account-admin-actions select,.account-member-actions input{min-width:0;padding:9px 10px;border:1px solid #343c42;border-radius:7px;background:#090c0e;color:#e9edef}.account-center-section{margin:0 24px 20px;border:1px solid #2d3439;border-radius:13px;background:#111518;overflow:hidden}.account-section-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #293036}.account-section-head h3{margin:0;font-size:13px}.account-section-head span{color:#899197;font-size:8px}.account-member-row{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr 1.7fr;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid #242a2e}.account-member-row:last-child{border:0}.account-member-row b,.account-member-row span,.account-member-row small{display:block}.account-member-row small{margin-top:4px;color:#737d84;font-size:8px}.account-member-row>span{font-size:9px}.account-member-points{color:#e0bf70}.account-member-actions{display:flex;gap:6px}.account-member-actions input{width:94px}.account-member-actions button{padding:8px 9px}.account-ledger-row{display:grid;grid-template-columns:150px 140px 1fr 1.5fr;gap:12px;padding:11px 17px;border-bottom:1px solid #242a2e;font-size:9px}.account-ledger-row:last-child{border:0}.account-ledger-row span{color:#929ba1}.account-empty{padding:28px;color:#7d878d;text-align:center;font-size:10px}:root[data-theme="light"] .account-center-dialog,:root[data-theme="light"] .account-center-dialog>header{background:#fff;color:#1c242b}:root[data-theme="light"] .account-summary-grid article,:root[data-theme="light"] .account-admin-actions form,:root[data-theme="light"] .account-center-section{background:#f7f8f9;border-color:#dfe3e6}:root[data-theme="light"] .account-admin-actions input,:root[data-theme="light"] .account-admin-actions select,:root[data-theme="light"] .account-member-actions input{background:white;color:#1c242b;border-color:#d8dde0}@media(max-width:900px){.account-summary-grid{grid-template-columns:repeat(2,1fr)}.account-admin-actions{grid-template-columns:1fr}.account-admin-actions #companyUserForm{grid-template-columns:1fr 1fr}.account-member-row{grid-template-columns:1fr 1fr}.account-member-actions{grid-column:1/-1}.account-ledger-row{grid-template-columns:1fr 1fr}.account-ledger-row span:last-child{grid-column:1/-1}}
.account-gate input{width:100%}.account-gate input.account-input-error{border-color:#c65c5c;box-shadow:0 0 0 2px #c65c5c22}.account-password-field{position:relative;display:block}.account-password-field input{padding-right:44px}.account-gate .account-password-toggle{position:absolute;right:5px;top:5px;width:34px;height:32px;margin:0;padding:0;border:0;background:transparent;color:#929ba1;font-size:15px}.account-gate .account-password-toggle:hover{color:#e6c77e}.account-gate label small{min-height:11px;color:#6f787e;font-size:8px;line-height:1.4}.account-gate label small.bad{color:#df7474}.account-gate button:disabled{cursor:wait;opacity:.65}.account-session-hint{color:#6f787e;font-size:8px;text-align:center}

/* 企业管理后台 */
.account-center-dialog{width:min(1280px,calc(100vw - 28px));height:min(860px,calc(100dvh - 28px));overflow:hidden}.account-center-dialog>header{height:82px;padding:16px 22px}.account-center-dialog>header h2{font-size:22px}.account-center-layout{display:grid;grid-template-columns:190px 1fr;height:calc(100% - 82px)}.account-center-nav{display:flex;flex-direction:column;gap:5px;padding:18px 12px;border-right:1px solid #293036;background:#0a0d0f}.account-center-nav button{display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;gap:2px 8px;padding:11px 10px;border-color:transparent;background:transparent;text-align:left}.account-center-nav button>span{grid-row:1/3;align-self:center;color:#9a8559;font-size:17px;text-align:center}.account-center-nav button b{font-size:10px}.account-center-nav button small{color:#717a80;font-size:8px}.account-center-nav button.active{border-color:#5a492b;background:#241c10;color:#f0d18f}.account-center-content{overflow:auto;padding:24px}.account-tab-panel{min-height:100%}.account-tab-panel.hidden{display:none}.account-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.account-page-head h3{margin:0 0 6px;font:500 21px Georgia,"Songti SC",serif}.account-page-head p{margin:0;color:#899197;font-size:9px}.account-ledger-ok,#accountLedgerAuditCopy{padding:7px 10px;border-radius:20px;background:#173027;color:#74d5aa;font-size:9px}.account-ledger-ok.bad,#accountLedgerAuditCopy.bad{background:#3d1d20;color:#f28d94}.account-summary-grid{padding:0;margin-bottom:18px}.account-summary-grid article{min-height:112px}.account-summary-grid article small{margin-top:10px;color:#717a80;font-size:8px}.account-onboarding,.account-credit-form,.account-info-card{margin-bottom:18px;border:1px solid #2d3439;border-radius:13px;background:#111518}.account-onboarding .account-section-head{border:0}.account-section-head>div h3{margin:0 0 5px}.account-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 15px 15px}.account-step-grid button{display:grid;grid-template-columns:30px 1fr;gap:3px 9px;padding:15px;text-align:left}.account-step-grid i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#3e3018;color:#e6c77e;font-style:normal}.account-step-grid b{font-size:10px}.account-step-grid span{color:#7f898f;font-size:8px;line-height:1.5}.account-center-section{margin:0 0 18px}.account-recent-section .account-ledger-row{grid-template-columns:145px 110px 1fr 1.3fr}.account-create-form{display:grid;grid-template-columns:1fr 1fr 1fr 150px auto;align-items:end;gap:10px;margin-bottom:18px;padding:16px;border:1px solid #3b3426;border-radius:13px;background:#17160f}.account-form-title{grid-column:1/-1}.account-form-title b,.account-form-title span{display:block}.account-form-title span{margin-top:4px;color:#879097;font-size:8px}.account-create-form label,.account-credit-form label{display:grid;gap:6px;color:#929ba1;font-size:8px}.account-create-form input,.account-create-form select,.account-credit-form input{min-width:0;height:38px;padding:0 10px;border:1px solid #343c42;border-radius:7px;background:#090c0e;color:#e9edef}.account-member-table-head,.account-ledger-table-head{display:grid;grid-template-columns:1.2fr 1fr .8fr .7fr 1.7fr;gap:12px;padding:10px 17px;background:#0b0e10;color:#717a80;font-size:8px}.account-member-row{grid-template-columns:1.2fr 1fr .8fr .7fr 1.7fr}.account-member-row>span{font-size:9px}.account-status{width:max-content;padding:5px 8px;border-radius:14px}.account-status.active{background:#173027;color:#74d5aa}.account-status.disabled{background:#332125;color:#d98b91}.account-member-actions button.primary,.account-create-form button.primary,.account-credit-form button.primary{border-color:#8b6d34;background:#3b2d15;color:#f0d18f}.account-point-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-bottom:18px}.account-point-flow article{padding:18px;border:1px solid #2d3439;border-radius:12px;background:#111518}.account-point-flow article span,.account-point-flow article b,.account-point-flow article small{display:block}.account-point-flow article span{color:#8a9399;font-size:8px}.account-point-flow article b{margin:8px 0;font-size:12px}.account-point-flow article small{color:#737d84;font-size:8px}.account-point-flow>i{color:#a8894d;font-size:20px}.account-rate{padding:8px 11px;border:1px solid #594a2f;border-radius:20px;color:#e0bf70;font-size:9px}.account-credit-form{display:grid;grid-template-columns:1.2fr 1fr 1.5fr auto;align-items:end;gap:12px;padding:18px}.account-credit-form>div b,.account-credit-form>div span{display:block}.account-credit-form>div span{margin-top:5px;color:#7f898f;font-size:8px}.account-info-card{padding:18px}.account-info-card b{color:#e3c477}.account-info-card p{max-width:760px;color:#929ba1;font-size:9px;line-height:1.8}.account-ledger-table-head,.account-ledger-row{grid-template-columns:145px 120px 1fr 1.4fr}.account-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-settings-grid article{padding:20px;border:1px solid #2d3439;border-radius:12px;background:#111518}.account-settings-grid b,.account-settings-grid span,.account-settings-grid small{display:block}.account-settings-grid b{color:#8e979d;font-size:9px}.account-settings-grid span{margin:10px 0;color:#e3c477;font-size:14px}.account-settings-grid small{color:#747e84;font-size:8px;line-height:1.7}.account-manual-link{padding:9px 12px;border:1px solid #816735;border-radius:8px;color:#edcf8e;text-decoration:none;font-size:9px}.account-help-list{display:grid;gap:10px}.account-help-list details{padding:15px 17px;border:1px solid #2d3439;border-radius:11px;background:#111518}.account-help-list summary{cursor:pointer;font-weight:700;font-size:10px}.account-help-list p{margin:10px 0 0;color:#929ba1;font-size:9px;line-height:1.8}:root[data-theme="light"] .account-center-nav{background:#f3f5f6;border-color:#dfe3e6}:root[data-theme="light"] .account-center-nav button.active{background:#fff6e5}:root[data-theme="light"] .account-onboarding,:root[data-theme="light"] .account-credit-form,:root[data-theme="light"] .account-info-card,:root[data-theme="light"] .account-settings-grid article,:root[data-theme="light"] .account-help-list details{background:#f7f8f9;border-color:#dfe3e6}:root[data-theme="light"] .account-create-form{background:#fffaf0}:root[data-theme="light"] .account-create-form input,:root[data-theme="light"] .account-create-form select,:root[data-theme="light"] .account-credit-form input{background:#fff;color:#1c242b}
@media(max-width:900px){.account-center-layout{grid-template-columns:72px 1fr}.account-center-nav button{display:block;text-align:center}.account-center-nav button>span{display:block}.account-center-nav button small{display:none}.account-center-content{padding:16px}.account-summary-grid{grid-template-columns:1fr 1fr}.account-step-grid,.account-settings-grid{grid-template-columns:1fr}.account-create-form,.account-credit-form{grid-template-columns:1fr 1fr}.account-create-form .account-form-title,.account-credit-form>div{grid-column:1/-1}.account-member-table-head{display:none}.account-member-row{grid-template-columns:1fr 1fr}.account-member-actions{grid-column:1/-1}.account-point-flow{grid-template-columns:1fr}.account-point-flow>i{transform:rotate(90deg);text-align:center}}
.image-studio-head { max-width:1500px; margin:0 auto 14px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.image-studio-head h1 { margin:3px 0; font-family:Georgia,"Songti SC",serif; font-size:24px; }
.image-studio-head p { margin:0; color:var(--muted); font-size:11px; }
.image-studio-grid { width:min(1500px,100%); height:calc(100dvh - var(--contextbar-height) - 92px); min-height:0; margin:auto; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); gap:14px; }
.image-history-panel,.image-control-panel { border:1px solid #4c4029; border-radius:16px; background:#12110ef2; box-shadow:0 18px 50px #0007; }
.image-history-panel { display:flex; min-width:0; min-height:0; flex-direction:column; padding:16px; overflow:hidden; }
.image-panel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.image-panel-toolbar>div { display:flex; align-items:center; gap:8px; }
.image-panel-toolbar b { font-size:14px; }
.image-panel-toolbar span { color:var(--muted); font-size:10px; }
.image-panel-toolbar button { padding:8px 12px; border:1px solid #51452f; border-radius:8px; background:#1b1812; color:#d8c59d; cursor:pointer; font-size:10px; }
.image-panel-toolbar button.primary { border-color:#80683b; background:#2a2115; color:var(--accent-strong); }
.image-studio-note { margin:14px 0; padding:11px 12px; border:1px solid #51452f; border-radius:10px; background:#1a1710; color:#c8b27f; font-size:10px; }
.image-history-grid { flex:1; min-height:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); align-content:start; gap:10px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:2px 4px 12px 2px; }
.image-history-card { position:relative; min-height:150px; overflow:hidden; border:1px solid #433a28; border-radius:12px; background:#171510; cursor:grab; }
.image-history-card:active { cursor:grabbing; }
.image-history-card.selected { border-color:#e0b66d; box-shadow:0 0 0 2px #e0b66d44,0 0 18px #e0b66d22; }
.image-history-check { position:absolute; z-index:3; top:8px; left:8px; width:22px; height:22px; display:grid; place-items:center; border:1px solid #d6b66f; border-radius:6px; background:#080704d9; color:#ffe0a0; font-weight:900; }
.image-library-badge { position:absolute; z-index:2; top:8px; right:8px; padding:4px 7px; border:1px solid #766035; border-radius:999px; background:#171209dd; color:#e4c47c; font-size:8px; }
.image-history-card img { width:100%; height:150px; display:block; object-fit:cover; background:#090c0f; }
.image-history-card footer { padding:8px; display:grid; gap:3px; }
.image-history-card footer b { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:9px; }
.image-history-card footer span { color:var(--muted); font-size:8px; }
.image-history-card.pending { --generation-bg:#0b0d0f;--generation-dot:#e9eef14d;display:grid;place-items:center;overflow:hidden;border-color:#343b40;background:var(--generation-bg);box-shadow:none; }
.image-history-card.pending::before { content:"";position:absolute;z-index:0;inset:0;background-image:radial-gradient(circle,var(--generation-dot) .7px,transparent .9px);background-size:10px 10px;-webkit-mask-image:radial-gradient(ellipse 62% 68% at center,#000 0 34%,#000b 58%,transparent 88%),radial-gradient(ellipse 52% 60% at center,#000 0 30%,#0009 60%,transparent 90%),radial-gradient(ellipse 44% 52% at center,#000 0 28%,#0008 62%,transparent 92%);-webkit-mask-repeat:no-repeat;-webkit-mask-size:142% 150%,116% 126%,92% 106%;mask-image:radial-gradient(ellipse 62% 68% at center,#000 0 34%,#000b 58%,transparent 88%),radial-gradient(ellipse 52% 60% at center,#000 0 30%,#0009 60%,transparent 90%),radial-gradient(ellipse 44% 52% at center,#000 0 28%,#0008 62%,transparent 92%);mask-repeat:no-repeat;mask-size:142% 150%,116% 126%,92% 106%;animation:generationDotField 8.6s cubic-bezier(.37,.05,.61,.96) infinite;pointer-events:none; }
.image-history-card.pending div { position:relative;z-index:1;width:100%;min-width:0;display:grid;place-items:center;gap:6px;padding:14px;text-align:center;color:#e8ecee;font-size:10px; }
.image-history-card.pending .generation-logo { width:clamp(82px,48%,132px);height:84px; }
.image-history-card.pending small { color:#a7b0b6;font-size:8px; }
.image-history-card.pending p { margin:2px 0 0;overflow:hidden;color:#8e989f;font-size:8px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap; }
.image-history-card.failed { display:grid; place-items:center; padding:14px; color:#f09b92; font-size:10px; text-align:center; }
.image-history-card.failed div { display:grid; gap:7px; }
.image-history-card.failed span { color:#d5aaa5; font-size:8px; }
.image-history-card.failed small { overflow-wrap:anywhere; color:#a97974; line-height:1.5; }
.image-history-empty { grid-column:1/-1; display:grid; min-height:340px; place-items:center; color:#65717b; text-align:center; line-height:1.8; }
.creator-easter-egg { width:min(480px,calc(100vw - 36px)); padding:38px 34px 32px; overflow:hidden; border:1px solid #8c713c; border-radius:20px; background:radial-gradient(circle at 50% 10%,#312510,#100e0a 48%,#070706); color:#eee4cc; text-align:center; box-shadow:0 35px 100px #000c,0 0 45px #d7ae5422; }
.creator-easter-egg::backdrop { background:#000b; backdrop-filter:blur(8px); }
.creator-easter-egg > button { position:absolute; top:14px; right:16px; border:0; background:transparent; color:#9e8f70; font-size:24px; cursor:pointer; }
.creator-easter-egg img { width:130px; height:130px; object-fit:contain; filter:drop-shadow(0 14px 24px #000); }
.creator-easter-egg span { display:block; margin-top:5px; color:#a98b51; font-size:9px; letter-spacing:.32em; }
.creator-easter-egg h2 { margin:11px 0 8px; font:28px Georgia,"Songti SC",serif; }
.creator-easter-egg p { color:#b9ad96; font-size:12px; line-height:1.9; }
.creator-easter-egg strong { display:block; margin-top:24px; color:#e5c77e; font-size:13px; letter-spacing:.06em; }
.creator-easter-egg small { display:block; margin-top:6px; color:#726957; font-size:9px; }
.shared-library-test { display:flex; align-items:center; gap:10px; margin-top:10px; }
.shared-library-test button { border:1px solid #665331; border-radius:7px; background:#211a10; color:#e0c383; padding:8px 12px; cursor:pointer; }
.shared-library-test span { color:#9e927c; font-size:9px; }
.image-control-panel { display:flex; flex-direction:column; padding:16px; overflow:auto; }
.image-upload-zone { min-height:230px; display:grid; place-items:center; overflow:hidden; border:1px dashed #80683b; border-radius:13px; background:#15130e; cursor:pointer; outline:none; }
.image-upload-zone.dragging { border-color:#e0b66d; background:#211b10; box-shadow:0 0 20px #e0b66d22; }
.image-upload-empty { display:grid; place-items:center; gap:10px; color:#d7bd83; }
.image-upload-empty strong { font-size:34px; }
.image-upload-empty b { font-size:15px; }
.image-upload-empty span,.image-upload-empty small { color:#8f8269; font-size:10px; }
.image-upload-preview-grid { width:100%; min-height:230px; display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); align-content:start; gap:9px; padding:10px; }
.image-upload-preview-grid.hidden { display:none; }
.image-reference-card { position:relative; min-width:0; overflow:hidden; border:1px solid #51452f; border-radius:9px; background:#0b0a08; }
.image-reference-card img { width:100%; height:95px; display:block; object-fit:cover; }
.image-reference-card > button { position:absolute; right:5px; top:5px; width:24px; height:24px; border:1px solid #73413c; border-radius:50%; background:#241314dd; color:#f2a39b; cursor:pointer; }
.image-reference-card > span { display:block; padding:6px; overflow:hidden; color:#dbc483; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.image-reference-add { min-height:125px; border:1px dashed #80683b; border-radius:9px; background:#17140e; color:#d7bd83; cursor:pointer; font-size:22px; }
.image-reference-add span { display:block; margin-top:6px; font-size:8px; }
.image-upload-tip { margin:12px 0 18px; color:#aa956c; font-size:10px; text-align:center; }
.image-studio-form { display:grid; gap:13px; margin-top:auto; }
.image-studio-form label { display:grid; gap:6px; color:#b8a780; font-size:9px; font-weight:750; }
.image-form-row { display:grid; grid-template-columns:1fr 1.4fr; gap:10px; }
.image-form-row.three { grid-template-columns:1fr 1fr .7fr; }
.image-studio-form select,.image-studio-form textarea { width:100%; padding:10px; border:1px solid #51452f; border-radius:9px; background:#0f0e0b; color:#eee9df; outline:none; }
.image-studio-form textarea { min-height:140px; resize:vertical; line-height:1.6; }
.image-prompt-wrap { position:relative; }
.image-mention-menu { position:absolute; z-index:8; left:0; right:0; bottom:calc(100% - 22px); display:grid; gap:4px; max-height:190px; overflow:auto; padding:6px; border:1px solid #665331; border-radius:9px; background:#0b0a08f5; box-shadow:0 15px 35px #000b; }
.image-mention-menu button { display:flex; align-items:center; gap:9px; min-height:42px; padding:5px; border:0; border-radius:7px; background:transparent; color:#ead8ad; cursor:pointer; text-align:left; }
.image-mention-menu button:hover { background:#292116; }
.image-mention-menu img { width:38px; height:32px; border-radius:5px; object-fit:cover; }
.image-studio-form select:focus,.image-studio-form textarea:focus { border-color:#b99655; box-shadow:0 0 0 2px #e0b66d18; }
.image-studio-summary { color:#9b8c6e; font-size:9px; }
.image-studio-generate { height:48px; border:0; border-radius:10px; background:linear-gradient(135deg,#ff8cb7,#9d77ff); color:#fff; font-weight:850; cursor:pointer; box-shadow:0 0 16px #b275df33; }
.image-studio-generate:hover { filter:brightness(1.08); box-shadow:0 0 22px #a978ff66; }
@media(max-width:900px){.image-studio{overflow:hidden;padding-inline:10px}.image-studio-grid{height:calc(100dvh - var(--contextbar-height) - 92px);min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(240px,.9fr) minmax(280px,1.1fr)}.image-history-panel,.image-control-panel{min-height:0}.topbar .toolbar-button span:not(.button-icon){display:none}.destination-options{grid-template-columns:1fr}.board-project-controls span{display:none}}
@media(max-height:760px) and (min-width:901px){.image-studio{padding-top:12px}.image-studio-head{margin-bottom:8px}.image-studio-head p{display:none}.image-studio-grid{height:calc(100dvh - var(--contextbar-height) - 62px)}.image-studio-form{gap:8px}.image-studio-form textarea{min-height:88px}.image-studio-note{margin:8px 0}.image-upload-zone{min-height:125px}}

.canvas-world { position: absolute; inset: 0 auto auto 0; transform-origin: 0 0; will-change: transform; }
.edge-layer { position:absolute; z-index:1; left:-5000px; top:-5000px; width:10000px; height:10000px; overflow:visible; pointer-events:none; }
.node-layer { position: absolute; inset: 0 auto auto 0; pointer-events: none; }
.canvas-node { pointer-events: auto; }
.alignment-guide{position:absolute;z-index:4;display:none;pointer-events:none;background:#6f8fff;box-shadow:0 0 0 1px #6f8fff22,0 0 6px #6f8fff55}.alignment-guide.show{display:block}.alignment-guide-x{width:1px}.alignment-guide-y{height:1px}

.edge-hit { fill:none; stroke:transparent; stroke-width:20; pointer-events:stroke; cursor:pointer; }
.edge-line { fill: none; stroke: #59636d; stroke-width: 2; pointer-events:none; transition: stroke .15s ease,stroke-width .15s ease; }
.edge-line.cut-hover { stroke: var(--red); stroke-width: 3; filter:drop-shadow(0 0 5px #ff716e55); }
.edge-line.active { stroke: var(--accent); }
.edge-line.preview { stroke: var(--accent); stroke-width: 2.5; stroke-dasharray: 8 5; pointer-events: none; filter: drop-shadow(0 0 5px #e0b66d66); animation: edge-flow .45s linear infinite; }
.edge-line.connecting { stroke: var(--accent); stroke-dasharray: 900; stroke-dashoffset: 900; animation: edge-connect .48s cubic-bezier(.2,.8,.2,1) forwards; }
.edge-line.cutting { stroke: var(--red); stroke-dasharray: 12 9; animation: edge-cut .28s ease forwards; }
.edge-cutter{pointer-events:all;cursor:pointer}.edge-cutter circle{fill:#2b1214;stroke:#e56f72;stroke-width:1.5;filter:drop-shadow(0 3px 7px #0009)}.edge-cutter text{fill:#ffd4d4;font-size:13px;pointer-events:none}
.canvas-node.connection-drop-target{outline:2px solid var(--accent);box-shadow:0 0 0 5px #e0b66d26,0 16px 40px #0009}.video-reference-group-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%}.video-reference-group-actions button{min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--muted);font-size:8px;cursor:pointer}.video-reference-group-actions button:hover{border-color:#a74f55;color:#e36f76}.video-reference-summary{width:100%;color:var(--muted);font-size:8px;text-align:left}
@keyframes edge-flow { to { stroke-dashoffset: -13; } }
@keyframes edge-connect { to { stroke-dashoffset: 0; } }
@keyframes edge-cut { 45% { stroke-width: 5; filter: drop-shadow(0 0 8px #ff716e); } to { opacity: 0; stroke-dashoffset: -42; } }

.canvas-node {
  position: absolute;
  width: var(--node-width);
  min-height: 120px;
  border: 1px solid #313840;
  border-radius: 15px;
  background: #15191dbd;
  box-shadow: 0 12px 35px #0007;
  overflow: visible;
  color: var(--text);
  backdrop-filter: blur(10px);
  cursor: grab;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.canvas-node.drag-active { cursor:grabbing; }
.canvas-node button,.canvas-node input,.canvas-node textarea,.canvas-node select,.canvas-node a,.canvas-node audio,.canvas-node video { cursor:auto; }
.canvas-node:hover { border-color: #46515b; }
.canvas-node.selected { border-color: var(--accent); box-shadow: 0 0 0 1px #e0b66d4d, 0 18px 50px #000b; }
.canvas-node.running { border-color: var(--green); box-shadow: 0 0 0 1px #9fd66d3d, 0 18px 50px #000b; }

.node-head {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 13px;
  border-bottom: 1px solid var(--line-soft);
  cursor: move;
}
.node-head-left { display: flex; align-items: center; min-width: 0; gap: 9px; }
.node-head-left i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.node-head strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
.node-head small { color: var(--muted-2); font-size: 8px; letter-spacing: .12em; }
.node-head-actions { display:flex;align-items:center;gap:2px;flex:none; }
.node-download { width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#aab5bc;font-size:17px;line-height:1;cursor:pointer; }
.node-download:hover:not(:disabled) { background:#1d3038;color:#83d8ff; }
.node-download:disabled { color:#4d555b;cursor:not-allowed;opacity:.58; }
.node-delete { width: 26px; height: 26px; border: 0; border-radius: 7px; background: transparent; color: var(--muted-2); cursor: pointer; }
.node-delete:hover { background: #3b2222; color: var(--red); }

.node-body { padding: 13px; }
.type-fileAsset .node-body{min-width:0;overflow:hidden}
.type-fileAsset .node-body audio{display:block;width:100%;max-width:100%;height:36px}
.node-body p { margin: 0; color: #c4c9ce; font-size: 11px; line-height: 1.65; white-space: pre-wrap; }
.node-body .muted-copy { color: var(--muted-2); }
.node-body textarea,
.node-body select,
.node-body input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: 0;
  background: #0f1215;
  color: var(--text);
  padding: 9px 10px;
  font-size: 11px;
}
.node-body textarea { min-height: 110px; resize: vertical; line-height: 1.65; }
.text-node-editor-shell{display:grid;gap:8px}
.text-node-editor{
  width:100%;
  min-height:104px!important;
  max-height:240px;
  padding:10px 11px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:#0f1215;
  color:var(--text);
  font:inherit;
  font-size:10px;
  line-height:1.65;
  resize:none!important;
}
.text-node-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.text-node-footer small{color:var(--muted-2);font-size:8px}
.text-node-footer button{height:28px;padding:0 9px;border:1px solid #3c454c;border-radius:6px;background:#171c20;color:#bac1c6;font-size:8px;cursor:pointer}
.text-node-footer button.saved{border-color:#42634f;background:#14241b;color:#8dd0a5}
.node-body textarea:focus, .node-body select:focus, .node-body input:focus { border-color: #74613d; }
.node-body img { display: block; width: 100%; max-height: 310px; border-radius: 9px; object-fit: contain; background: #090b0d; }
.node-body .image-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; color: var(--muted); font-size: 9px; }
.node-card-summary{min-height:72px;display:grid;align-content:center;gap:7px}.node-card-summary strong{overflow:hidden;color:#e1e4e6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.node-card-summary p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#aeb5ba;line-height:1.55}.node-card-summary small{overflow:hidden;color:var(--muted-2);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.generator-summary{min-height:92px}
.video-remote-wait{gap:7px}.video-remote-wait small{color:var(--muted-2);font-size:8px}.video-remote-wait button{height:26px;padding:0 10px;border:1px solid #4b555d;border-radius:6px;background:#182027;color:#aeb8c0;font-size:9px;cursor:pointer}.video-remote-wait button:hover{border-color:#ba9752;color:#e4c27d}:root[data-theme="light"] .video-remote-wait button{border-color:#cbd3d9;background:#fff;color:#5e6871}:root[data-theme="light"] .video-remote-wait button:hover{border-color:#aa8745;color:#73591f}
.node-config { display: grid; gap: 8px; }
.node-config label { display: grid; gap: 5px; min-width: 0; color: #89929a; font-size: 8px; font-weight: 750; }
.node-config-row { display: grid; grid-template-columns: 1.2fr 1fr .75fr; gap: 6px; }
.node-config-row.stations { grid-template-columns: .9fr 1.5fr; }
.node-config select { height: 32px; padding: 0 8px; cursor: pointer; }
.prompt-preview { min-height: 88px !important; color: #afb6bc !important; cursor: default; resize: none !important; }
.generator-empty { padding: 8px 9px; border: 1px dashed #343b42; border-radius: 8px; color: var(--muted-2); font-size: 9px; font-weight: 500; }
.reference-strip { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }
.reference-chip { width: 58px; flex: 0 0 58px; }
.node-body .reference-chip img, .inspector .reference-chip img { width: 58px; height: 45px; border-radius: 7px; object-fit: cover; background: #090b0d; }
.reference-chip span { display: block; margin-top: 4px; overflow: hidden; color: #bfc5ca; font-size: 7px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.mention-menu { position: absolute; z-index: 8; left: 13px; right: 13px; display: grid; gap: 3px; max-height: 160px; overflow: auto; padding: 5px; border: 1px solid #4d5358; border-radius: 9px; background: #0b0e10f5; box-shadow: 0 12px 25px #000b; }
.mention-menu.hidden, .mention-menu button.hidden { display: none; }
.mention-menu button { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 5px; border: 0; border-radius: 6px; background: transparent; color: #d7dadd; cursor: pointer; text-align: left; }
.mention-menu button:hover { background: #252c31; }
.node-body .mention-menu img, .inspector .mention-menu img { width: 34px; height: 28px; border-radius: 5px; object-fit: cover; }
.inspector .prompt-editor-wrap { min-height: 132px; }
.inspector .prompt-editor-wrap textarea, .inspector .prompt-highlight-layer { min-height: 132px; }
.inspector .mention-menu { top: calc(100% + 6px); bottom: auto; left: 0; right: 0; z-index: 12; }
.mention-menu span { overflow: hidden; font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
.node-run {
  width: 100%;
  height: 38px;
  margin-top: 10px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #b6dd72, #8fc651);
  color: #102008;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.node-run:hover { filter: brightness(1.07); }
.node-run:disabled { cursor: wait; opacity: .65; }
.canvas-node.running .node-run { opacity: 1; color: #fff; background: linear-gradient(110deg, #4fd5ff, #9a73ff, #ff6cb2, #ffd66d, #4fd5ff); background-size: 300% 100%; animation: generateButtonFlow 1.8s linear infinite; box-shadow: 0 0 18px #a978ff55; }
.canvas-node.running .node-run.stop-run { cursor: pointer; background: linear-gradient(110deg,#ff5f72,#a94d69,#ff8b5f,#ff5f72); background-size:300% 100%; box-shadow:0 0 18px #ff526655; }
@keyframes generateButtonFlow { to { background-position: -300% 0; } }

.node-port {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #0d1013;
  border-radius: 50%;
  background: #69747e;
  cursor: crosshair;
  box-shadow: 0 0 0 1px #3a424a;
  z-index: 2;
  --port-magnet-x: 0px;
  --port-magnet-y: 0px;
  --port-magnet-scale: 1;
  transform: translate3d(var(--port-magnet-x), calc(-50% + var(--port-magnet-y)), 0) scale(var(--port-magnet-scale));
  transition: transform 110ms cubic-bezier(.2,.8,.25,1), background .14s, box-shadow .14s;
  will-change: transform;
}
.node-port.input { left: -7px; }
.node-port.output { right: -7px; }
.node-port:hover, .node-port.waiting { background: var(--accent); box-shadow: 0 0 0 4px #e0b66d22; }
.node-port.magnet-active{background:var(--accent);box-shadow:0 0 0 5px #e0b66d26,0 0 15px #e0b66d55}
.node-port.snap-target { --port-magnet-scale:1.18; background: #dfff9e; box-shadow: 0 0 0 7px #b6dd7240, 0 0 16px #b6dd72; }
@media(prefers-reduced-motion:reduce){.node-port{transition:background .14s,box-shadow .14s}.node-port.magnet-active{--port-magnet-x:0px!important;--port-magnet-y:0px!important;--port-magnet-scale:1!important}}

.type-prompt .node-head-left i, .type-dot.prompt { background: var(--purple); }
.type-generator .node-head-left i, .type-dot.generator { background: var(--green); }
.type-videoGenerator .node-head-left i, .type-dot.video-generator { background: #ff7aa8; box-shadow: 0 0 12px #ff7aa866; }
.type-trustedAsset .node-head-left i, .type-dot.trusted-asset { background: #75d8ff; box-shadow: 0 0 12px #75d8ff55; }
.trusted-asset-card { display:grid; gap:8px; padding:10px; border:1px solid #28566a; border-radius:9px; background:#10232c; }
.trusted-asset-card input { width:100%; box-sizing:border-box; }
.trusted-asset-card small { color:#83cde8; line-height:1.5; }
.type-videoResult .node-head-left i { background: #ffad62; }
.video-node-summary { padding: 8px 9px; border: 1px solid #563a55; border-radius: 8px; background: #2b152844; color: #e6b9d5; font-size: 8px; line-height: 1.5; }
.video-run { background: linear-gradient(135deg,#ff8cb7,#9d77ff); color:#fff; }
.type-videoGenerator{border-radius:7px;background:#12161ad9}.type-videoGenerator .node-head{height:36px;padding:0 10px;border-bottom:0}.type-videoGenerator .node-head-left{gap:7px}.type-videoGenerator .node-head-left i{width:7px;height:7px}.type-videoGenerator .node-head strong{font-size:10px;font-weight:700}.type-videoGenerator .node-head small,.type-videoGenerator .node-delete{display:none}.type-videoGenerator .node-body{padding:0 10px 10px}.video-generator-empty{height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #343b42;border-radius:6px;background:#0c1013;color:#8f979e;text-align:center}.video-generator-empty-icon{display:grid;place-items:center;width:46px;height:46px;border:2px solid #889199;border-radius:13px;color:#d1d6da;font-size:24px;line-height:1}.video-generator-empty b{color:#d9dde0;font-size:11px}.video-generator-empty small{max-width:210px;color:#737c83;font-size:8px;line-height:1.5}
.node-body video.previewable-media { width:100%; max-height:210px; border-radius:9px; background:#050607; object-fit:contain; }
.image-generator-result{position:relative;display:grid}.image-generator-result img.previewable-media{width:100%;height:230px;max-height:230px;border-radius:6px;object-fit:contain;background:#080a0c}.generator-result-notice{position:absolute;z-index:2;top:7px;left:7px;right:7px;padding:6px 8px;border:1px solid #6f3d3d;border-radius:5px;background:#281717e8;color:#f2a3a3;font-size:8px;line-height:1.4}.generator-result-switcher{position:absolute;z-index:2;right:7px;bottom:7px;display:flex;align-items:center;gap:6px;padding:3px;border-radius:5px;background:#090b0dcf;color:#d4d9dc;font-size:8px}.generator-result-switcher button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:#242a2f;color:#dce1e4;font-size:16px;cursor:pointer}.image-generator-result .image-meta{position:absolute;z-index:2;left:7px;bottom:7px;margin:0;padding:4px 6px;border-radius:4px;background:#090b0dcf}.image-generator-loader,.image-generator-failed{min-height:230px;border-radius:6px}
.video-generator-result{position:relative;display:grid}.video-generator-result video.previewable-media{height:176px;max-height:176px;border-radius:6px}.video-result-notice{position:absolute;z-index:2;top:7px;left:7px;right:7px;padding:6px 8px;border:1px solid #6f3d3d;border-radius:5px;background:#281717e8;color:#f2a3a3;font-size:8px;line-height:1.4}.video-result-switcher{position:absolute;z-index:2;right:7px;bottom:7px;display:flex;align-items:center;gap:6px;padding:3px;border-radius:5px;background:#090b0dcf;color:#d4d9dc;font-size:8px}.video-result-switcher button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:#242a2f;color:#dce1e4;font-size:16px;cursor:pointer}.video-generator-result .image-meta{position:absolute;z-index:2;left:7px;bottom:7px;margin:0;padding:4px 6px;border-radius:4px;background:#090b0dcf}.video-generator-loader{min-height:176px;border-radius:6px}.video-generator-failed{min-height:176px;border-radius:6px}
.type-reference .node-head-left i, .type-image .node-head-left i, .type-result .node-head-left i, .type-dot.reference { background: var(--blue); }
.type-character .node-head-left i { background: #ef8ebf; }
.type-scene .node-head-left i { background: #68cfba; }
.type-shot .node-head-left i { background: #ff9b70; }
.type-note .node-head-left i, .type-dot.note { background: var(--accent); }
.type-dot.assets { background: #d2d7dc; }
.type-note { background: #211c14ee; border-color: #4b3d27; }
.type-note { background: #211c14c9; }

.prompt-editor-wrap { position: relative; min-height: 112px; }
.prompt-editor-wrap textarea, .prompt-highlight-layer { box-sizing: border-box; width: 100%; min-height: 112px; margin: 0; padding: 10px 11px; border: 1px solid #30373d; border-radius: 8px; font: inherit; font-size: 10px; line-height: 1.55; letter-spacing: normal; white-space: pre-wrap; overflow-wrap: break-word; tab-size: 4; }
.prompt-editor-wrap textarea { position: relative; z-index: 2; display: block; background: transparent; color: #d7dcdf; caret-color: #f4f6f7; resize: vertical; }
.prompt-editor-wrap textarea::placeholder { color: #6f777e; }
.prompt-editor-wrap textarea::selection { background: #7f56b988; color: #fff; }
.prompt-highlight-layer { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; background: #101417; color: transparent; }
.inline-prompt-mention { display: inline; border-radius: 3px; background: #7f48bc66; color: transparent; box-shadow: inset 0 0 0 1px #a77ae599, 0 0 8px #a86cff2b; }

.generation-loader { --generation-bg:#0b0d0f;--generation-dot:#e9eef14d;--generation-copy:#b6bec3;position:relative;min-height:180px;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:8px;padding:12px;overflow:hidden;border-radius:10px;background:var(--generation-bg); }
.loader-dots { position:absolute;z-index:0;inset:0;background-image:radial-gradient(circle,var(--generation-dot) .75px,transparent .95px);background-position:0 0;background-size:10px 10px;-webkit-mask-image:radial-gradient(ellipse 62% 68% at center,#000 0 34%,#000b 58%,transparent 88%),radial-gradient(ellipse 52% 60% at center,#000 0 30%,#0009 60%,transparent 90%),radial-gradient(ellipse 44% 52% at center,#000 0 28%,#0008 62%,transparent 92%);-webkit-mask-repeat:no-repeat;-webkit-mask-size:142% 150%,116% 126%,92% 106%;mask-image:radial-gradient(ellipse 62% 68% at center,#000 0 34%,#000b 58%,transparent 88%),radial-gradient(ellipse 52% 60% at center,#000 0 30%,#0009 60%,transparent 90%),radial-gradient(ellipse 44% 52% at center,#000 0 28%,#0008 62%,transparent 92%);mask-repeat:no-repeat;mask-size:142% 150%,116% 126%,92% 106%;animation:generationDotField 8.6s cubic-bezier(.37,.05,.61,.96) infinite;pointer-events:none; }
.generation-logo { position:relative;z-index:1;align-self:end;display:block;width:clamp(118px,31%,196px);height:clamp(112px,29%,188px);background:linear-gradient(110deg,#4fd5ff 0%,#9a73ff 22%,#ff6cb2 48%,#ffd66d 72%,#4fd5ff 100%);background-size:320% 100%;-webkit-mask:url("/logo-loader.png?v=3") center/contain no-repeat;mask:url("/logo-loader.png?v=3") center/contain no-repeat;filter:drop-shadow(0 0 8px #a978ff66) drop-shadow(0 0 18px #4fd5ff22);animation:generationLogoFlow 2.8s linear infinite; }
.generation-loader span { position:relative;z-index:3;color:var(--generation-copy);font-size:9px;letter-spacing:.08em;line-height:1.45; }
.generation-failed { min-height: 130px; display: grid; place-content: center; gap: 7px; text-align: center; color: #dc7777; }
.generation-failed span { max-width: 220px; color: #9f7777; font-size: 9px; }
@keyframes generationDotField { 0%,100%{-webkit-mask-position:118% 104%,-42% 4%,72% -28%;mask-position:118% 104%,-42% 4%,72% -28%}13%{-webkit-mask-position:42% -38%,112% 82%,-24% 64%;mask-position:42% -38%,112% 82%,-24% 64%}29%{-webkit-mask-position:-38% 54%,62% 116%,126% 22%;mask-position:-38% 54%,62% 116%,126% 22%}47%{-webkit-mask-position:106% -34%,-30% 98%,48% 46%;mask-position:106% -34%,-30% 98%,48% 46%}63%{-webkit-mask-position:22% 108%,118% -24%,-34% 18%;mask-position:22% 108%,118% -24%,-34% 18%}81%{-webkit-mask-position:-28% -30%,54% 88%,112% 112%;mask-position:-28% -30%,54% 88%,112% 112%}92%{-webkit-mask-position:82% 28%,8% -26%,30% 118%;mask-position:82% 28%,8% -26%,30% 118%} }
@keyframes generationLogoFlow { to{background-position:320% 0} }
.group-summary { display: grid; gap: 7px; min-height: 70px; align-content: center; }
.group-summary span { overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.6; text-overflow: ellipsis; }
.canvas-node:not(.type-group) { z-index: 2; }
.type-group { z-index: 0; min-height: 0; border-color: #9b75c4aa; background: #5e3d7929; box-shadow: inset 0 0 60px #af75e512, 0 14px 40px #0003; }
.type-group .node-head-left i { background: #bd8cff; }
.type-group .node-body { pointer-events: none; opacity: .72; }
.canvas-node.group-outsider-overlap { z-index: 3; border-color: #f0bf68; box-shadow: 0 0 0 2px #f0bf6855, 0 22px 58px #000e, 0 0 28px #d8994a44; }
.type-group.join-target { border-color: #d2ff89; box-shadow: inset 0 0 65px #a9e85b22, 0 0 0 2px #b9ef6d55; }
.join-group-button { position: absolute; z-index: 8; left: 50%; bottom: -42px; transform: translateX(-50%); min-width: 124px; height: 32px; padding: 0 12px; border: 1px solid #cfa85d; border-radius: 999px; background: #2a2113f2; color: #f1ce86; font-size: 9px; font-weight: 800; cursor: pointer; box-shadow: 0 10px 25px #0009; white-space: nowrap; }
.join-group-button:hover { background: #3a2c17; color: #ffe4a9; }
.selection-box { position: fixed; z-index: 18; display: none; border: 1px solid #c18cff; background: #a76ce522; pointer-events: none; }
.selection-box.show { display: block; }
.canvas-stage.space-pan { cursor: grab; }

.canvas-empty {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(420px, calc(100vw - 40px));
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--muted);
  pointer-events: none;
}
.canvas-empty.hidden { display: none; }
.empty-mark { width: 154px; height: 148px; display: grid; place-items: center; margin: 0 auto 18px; }
.empty-mark img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 14px 28px #0009); }
.canvas-empty strong { display: block; color: #e4e7e9; font: 20px Georgia, "Songti SC", serif; }
.canvas-empty p { margin: 8px 0 18px; font-size: 11px; line-height: 1.7; }
.canvas-empty button { pointer-events: auto; border: 1px solid #5b4a2e; border-radius: 9px; background: #201a12; color: var(--accent); padding: 10px 16px; cursor: pointer; }

.canvas-operation-dock {
  position: fixed;
  z-index: 20;
  right: 24px;
  bottom: 22px;
  display: grid;
  justify-items: end;
  gap: 9px;
  transition: right .2s ease;
}
body:has(#assetQuickPanel.open) .canvas-operation-dock { right: 384px; }
.canvas-minimap{width:176px;height:112px;overflow:hidden;border:1px solid #343c43;border-radius:8px;background:#101418e8;box-shadow:0 12px 34px #0007;cursor:crosshair;touch-action:none;user-select:none;backdrop-filter:blur(12px)}
.canvas-minimap svg{display:block;width:100%;height:100%}.canvas-minimap-edge{stroke:#53606a;stroke-width:1;opacity:.62}.canvas-minimap-node{fill:#68747d;stroke:#89949c;stroke-width:.7}.canvas-minimap-node.group{fill:#242c32;fill-opacity:.48;stroke:#68747d;stroke-dasharray:3 2}.canvas-minimap-node.selected{fill:var(--accent);stroke:#ffe0a0}.canvas-minimap-viewport{fill:#e0b66d18;stroke:var(--accent);stroke-width:1.25;vector-effect:non-scaling-stroke;cursor:grab}.canvas-minimap.dragging,.canvas-minimap.dragging .canvas-minimap-viewport{cursor:grabbing}
.zoom-controls {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #12161adf;
  box-shadow: 0 10px 30px #0006;
}
.zoom-controls button { height: 35px; min-width: 36px; border: 0; border-right: 1px solid var(--line); background: transparent; color: #bac0c5; cursor: pointer; }
.zoom-controls button:last-child { border-right: 0; }
.zoom-controls button:hover { background: var(--panel-3); color: white; }
#zoomReset { width: 58px; font-size: 10px; }
#shortcutSettingsButton { font-size:16px; }
.shortcut-modal { width:min(620px,calc(100vw - 32px)); }
.shortcut-list { display:grid; gap:6px; max-height:min(62vh,560px); overflow:auto; margin:14px 0; }
.shortcut-row { min-height:48px; display:grid; grid-template-columns:1fr 170px 34px; gap:8px; align-items:center; padding:7px 9px; border:1px solid var(--line-soft); border-radius:7px; background:#101417; }
.shortcut-row span { color:#c9ced2; font-size:10px; }
.shortcut-row button { min-height:32px; border:1px solid #394149; border-radius:6px; background:#181e23; color:#dce1e4; cursor:pointer; }
.shortcut-row button.capturing { border-color:var(--accent); color:var(--accent); box-shadow:0 0 0 2px #e0b66d22; }
.shortcut-row .shortcut-clear { width:34px; color:#9da5ab; }
.shortcut-note { color:var(--muted); font-size:9px; line-height:1.6; }

.canvas-guide { position: static; z-index: 10; display: flex; gap: 12px; padding:7px 10px; border:1px solid #242b31; border-radius:7px; background:#0d1114d9; color: #737c83; font-size: 9px; pointer-events: none; box-shadow:0 8px 24px #0005; }
.canvas-guide kbd { border: 1px solid #30363c; border-radius: 5px; background: #121519; padding: 3px 5px; color: #828a92; font-family: inherit; }

.connection-tip { position: fixed; z-index: 22; left: 50%; bottom: 72px; transform: translateX(-50%); border: 1px solid #5f4c2f; border-radius: 999px; background: #211b12e8; color: var(--accent); padding: 8px 13px; font-size: 10px; }
.connection-tip.hidden { display: none; }

.drawer {
  position: fixed;
  z-index: 50;
  top: 0;
  bottom: 0;
  width: 370px;
  display: flex;
  flex-direction: column;
  padding: 25px;
  background: #111417f7;
  border-color: var(--line);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  transition: transform .24s ease;
}
.drawer-left { left: var(--sidebar-width, 0); border-right: 1px solid var(--line); transform: translateX(-105%); }
.drawer-right { right: 0; border-left: 1px solid var(--line); transform: translateX(105%); }
.drawer.open { transform: translateX(0); }

.drawer-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; }
.drawer-head h2, .modal-head h2 { margin: 5px 0 0; font: 25px Georgia, "Songti SC", serif; }
.eyebrow { color: var(--accent); font-size: 8px; font-weight: 850; letter-spacing: .2em; }
.close-button { width: 33px; height: 33px; border: 1px solid var(--line); border-radius: 9px; background: #181c20; color: #9ba2a8; font-size: 19px; cursor: pointer; }
.close-button:hover { color: white; border-color: #4a535c; }

.primary-action { width: 100%; height: 42px; border: 1px solid #5a4a30; border-radius: 10px; background: #201b13; color: var(--accent-strong); font-weight: 750; cursor: pointer; }
.primary-action:hover { background: #2a2115; }
.project-list { flex: 1; overflow: auto; margin: 18px -6px 0; padding: 0 6px 20px; }
.project-card { width: 100%; display: flex; align-items: center; gap: 7px; margin-bottom: 8px; padding: 6px; border: 1px solid transparent; border-radius: 11px; background: transparent; text-align: left; }
.project-card:hover { background: #181c20; border-color: var(--line-soft); }
.project-card.active { background: #1b1a16; border-color: #5d4c30; }
.project-open { min-width: 0; flex: 1; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 11px; padding: 4px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.project-delete, .project-actions button { padding: 6px 7px; border: 1px solid #3b434a; border-radius: 7px; background: #111519; color: #9ca4aa; font-size: 8px; cursor: pointer; }
.project-delete:hover, .project-actions .danger:hover { border-color: #8b4949; color: #ef8e8e; }
.project-actions { display: grid; gap: 4px; }
.trash-toggle { align-self: flex-end; margin-top: 10px; border: 0; background: transparent; color: #8f989f; font-size: 9px; cursor: pointer; }
.trash-toggle.active { color: var(--accent); }
.trash-toggle span { display: inline-grid; min-width: 18px; height: 18px; place-items: center; border-radius: 9px; background: #272d32; }
.project-monogram { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(145deg, #252a2f, #171a1e); color: var(--accent); font: 18px Georgia; }
.project-card b { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
.project-card small { display: block; margin-top: 4px; color: var(--muted-2); font-size: 9px; }
.project-card em { color: var(--muted-2); font-size: 13px; font-style: normal; }
.project-empty { padding: 40px 10px; text-align: center; color: var(--muted-2); font-size: 11px; line-height: 1.7; }
.drawer-foot { padding-top: 16px; border-top: 1px solid var(--line-soft); }
.drawer-foot button { width: 100%; border: 0; background: transparent; color: #b9c0c5; text-align: left; padding: 8px 0; cursor: pointer; }
.drawer-foot small { display: block; color: var(--muted-2); font-size: 8px; line-height: 1.6; }

.asset-main-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-bottom:10px; padding:4px; border:1px solid #4b402c; border-radius:10px; background:#0e0d0a; }
.trusted-library-card .asset-main { grid-template-columns:96px minmax(0,1fr); }
.trusted-library-card .asset-main img,.trusted-library-card .asset-main video { width:96px;height:92px; }
.trusted-library-card .trusted-library-status { color:#80d49c; }
.trusted-library-card.processing .trusted-library-status { color:#e0bc75; }
.trusted-library-card.failed .trusted-library-status { color:#e48d87; }
.trusted-current-preview { display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;margin:8px 0 14px;padding:9px;border:1px solid var(--line-soft);border-radius:9px;background:#0d1114; }
.trusted-current-preview img,.trusted-current-preview video { width:88px;height:72px;object-fit:cover;border-radius:7px;background:#090b0d; }
.trusted-current-preview b,.trusted-current-preview small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.trusted-current-preview small { margin-top:6px;color:var(--muted-2);font-size:8px; }
.inspector.drag-hidden { visibility:hidden;opacity:0;pointer-events:none; }
.asset-main-tabs button,.asset-tabs button { height:32px; border:0; border-radius:7px; background:transparent; color:var(--muted); font-size:10px; cursor:pointer; }
.asset-main-tabs button.active,.asset-tabs button.active { background:#2a2115; color:var(--accent-strong); }
.asset-window-actions { display:flex; align-items:center; gap:7px; }
.asset-window-actions > button:first-child { height:33px; padding:0 11px; border:1px solid #51452f; border-radius:8px; background:#1b1812; color:#d8c59d; cursor:pointer; }
.drawer-right.fullscreen { left:0; right:0; width:auto; border-left:0; padding:25px 32px; transform:translateX(105%); }
.drawer-right.fullscreen.open { transform:translateX(0); }
.drawer-right.fullscreen .asset-group-list { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); max-height:180px; }
.drawer-right.fullscreen .asset-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); align-content:start; gap:12px; }
.drawer-right.fullscreen .asset-card { margin:0; }
.asset-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:4px; border:1px solid var(--line-soft); border-radius:10px; background:#0e1114; }
.asset-group-list { display: grid; gap: 4px; max-height: 150px; overflow: auto; margin-bottom: 10px; padding: 5px; border: 1px solid var(--line-soft); border-radius: 10px; background: #0c0f12; }
.asset-folder { width:100%; min-height:38px; display:flex; align-items:center; gap:8px; padding:0 10px 0 calc(10px + var(--folder-depth, 0) * 16px); border:1px solid transparent; border-radius:8px; background:transparent; color:#9ca5ac; cursor:pointer; text-align:left; }
.asset-folder:hover { background:#171b1f; }
.asset-folder.active { border-color:#665331; background:#211a10; color:#e0c383; }
.asset-folder small { margin-left:auto; color:#6f777e; font-size:8px; }
.asset-folder-chevron { width:12px; flex:0 0 12px; color:#9f8b63; text-align:center; }
.asset-folder-chevron.empty { visibility:hidden; }
.asset-group { border: 1px solid transparent; border-radius: 8px; }
.asset-group.active { border-color: #56452f; background: #19150f; }
.asset-group > div { display: flex; align-items: center; }
.asset-group > div > button:first-child { flex: 1; display: flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 9px; border: 0; background: transparent; color: #9ca5ac; text-align: left; cursor: pointer; }
.asset-group small { margin-left: auto; color: #5f686f; font-size: 7px; }
.asset-group-delete { width: 28px; height: 28px; border: 0; background: transparent; color: #697178; cursor: pointer; }
.asset-group-delete:hover { color: #e68181; }
.asset-group-locked { width: 28px; height: 28px; display: grid; place-items: center; color: #596168; font-size: 10px; cursor: help; }
.asset-group nav { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; padding: 0 5px 5px; }
.asset-group nav button { min-height: 25px; border: 1px solid #252c31; border-radius: 5px; background: #111519; color: #747e85; font-size: 8px; cursor: pointer; }
.asset-group nav button.active { border-color: #7a633f; color: var(--accent); background: #241d13; }
.asset-group-list button[drag-over] { border-color: #8fbf68; }
.asset-actions { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.asset-actions span { color: var(--muted-2); font-size: 9px; }
.asset-actions button { border: 0; background: transparent; color: var(--accent); font-size: 10px; cursor: pointer; }
.asset-list { flex: 1; overflow: auto; margin-right: -8px; padding-right: 8px; }
.asset-card { position: relative; width: 100%; margin-bottom: 9px; border: 1px solid var(--line-soft); border-radius: 11px; overflow: hidden; background: #15191d; }
.asset-card:hover { border-color: #414a53; background: #191e22; }
.asset-main { width: 100%; display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 11px; align-items: center; padding: 9px; border: 0; background: transparent; color: inherit; text-align: left; cursor: grab; }
.asset-main:active { cursor:grabbing; }
.asset-main img, .asset-main video, .asset-placeholder { width: 66px; height: 58px; border-radius: 8px; object-fit: cover; background: #0b0e10; }
.asset-main:disabled { cursor: not-allowed; opacity: .62; }
.asset-placeholder { display: grid; place-items: center; color: var(--muted-2); font: 19px Georgia; }
.asset-card b { display: block; font-size: 11px; }
.asset-card p { max-width: 185px; margin: 5px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--muted-2); font-size: 9px; }
.asset-card em { color: var(--accent); font-size: 17px; font-style: normal; }
.asset-hover-actions { position: absolute; right: 7px; bottom: 7px; display: flex; gap: 4px; opacity: 0; transform: translateY(5px); pointer-events: none; transition: opacity .16s ease, transform .16s ease; }
.asset-card:hover .asset-hover-actions, .asset-card:focus-within .asset-hover-actions { opacity: 1; transform: none; pointer-events: auto; }
.asset-workspace { grid-template-columns: 280px minmax(0,1fr); grid-template-rows: auto auto auto minmax(0,1fr); }
.asset-workspace > .drawer-head { grid-column:1/-1; grid-row:1; }
.asset-workspace > .asset-main-tabs { grid-column:1/-1; grid-row:2; }
.asset-workspace > .asset-group-list { grid-column:1; grid-row:3/5; max-height:none; min-height:0; margin:0; padding:8px 14px 30px 0; border:0; border-right:1px solid var(--line-soft); border-radius:0; background:transparent; overflow:auto; }
.asset-workspace > .asset-toolbar { grid-column:2; grid-row:3; min-width:0; min-height:72px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; gap:5px 18px; margin-left:16px; padding:7px 0 9px; border-bottom:1px solid var(--line-soft); }
.asset-breadcrumb { grid-column:1/-1; display:flex; align-items:center; min-width:0; gap:5px; overflow:auto; white-space:nowrap; }
.asset-breadcrumb.hidden { display:none; }
.asset-breadcrumb button { flex:0 0 auto; padding:3px 5px; border:0; background:transparent; color:#8f989f; font-size:9px; cursor:pointer; }
.asset-breadcrumb button:hover { color:var(--accent-strong); }
.asset-breadcrumb button[aria-current="page"] { color:#e0c383; font-weight:800; cursor:default; }
.asset-breadcrumb span { color:#515960; font-size:11px; }
.asset-workspace > .asset-toolbar .asset-tabs { display:flex; align-items:center; gap:8px; margin:0; }
.asset-workspace > .asset-toolbar .asset-tabs.hidden { display:none; }
.asset-workspace > .asset-toolbar .asset-tabs label { display:flex; align-items:center; gap:8px; color:var(--muted-2); font-size:9px; }
.asset-workspace > .asset-toolbar select, .asset-workspace > .asset-toolbar button { height:34px; padding:0 12px; border:1px solid var(--line); border-radius:7px; background:#15191d; color:var(--text); font-size:9px; cursor:pointer; }
.asset-workspace > .asset-toolbar .asset-actions { position:static; min-height:34px; margin-left:auto; }
.asset-main-tabs [data-asset-main="sharedAssets"].share-drop-ready { border-color:#79c99d; background:#163527; color:#a8e6c1; box-shadow:0 0 0 3px #65bd8c22,0 0 24px #65bd8c22; }
.asset-main-tabs [data-asset-main="sharedAssets"].share-drop-ready::after { content:'松开发送'; margin-left:8px; font-size:8px; }
.asset-workspace > .asset-list { grid-column:2; grid-row:4; min-height:0; margin:0 0 0 16px; overflow:auto; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px; padding:12px 0 30px; }
.asset-workspace > .asset-group-list .asset-folder { min-height:34px; padding:8px 10px 8px calc(10px + var(--folder-depth, 0) * 16px); border-radius:6px; }
.asset-workspace > .asset-group-list .asset-folder.orphan { border-color:#6a5542; color:#c9a884; }
.asset-workspace > .asset-group-list .asset-folder.orphan small { color:#b78862; }
.asset-workspace > .asset-list .asset-card { min-height: 86px; border-radius: 7px; }
.asset-workspace > .asset-list .asset-main { grid-template-columns: 78px minmax(0,1fr); min-height: 86px; padding: 10px; }
.asset-workspace > .asset-list .asset-main img, .asset-workspace > .asset-list .asset-main video, .asset-workspace > .asset-list .asset-placeholder { width: 78px; height: 68px; }
.asset-workspace > .asset-list .asset-card p { max-width: none; }
.asset-workspace{grid-template-rows:auto auto minmax(0,1fr);padding:12px 20px 16px}
.asset-workspace>.drawer-head{display:none}
.asset-workspace>.asset-main-tabs{grid-row:1;height:38px;margin:0 0 8px}
.asset-workspace>.asset-group-list{grid-row:2/4;padding-top:4px}
.asset-workspace>.asset-toolbar{grid-row:2;min-height:48px;padding-top:0}
.asset-workspace>.asset-list{grid-row:3;padding-top:10px}
.asset-workspace.virtual-assets-mode{grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);padding:12px 20px 16px;background:radial-gradient(circle at 75% 15%,#1d243033,transparent 36%),linear-gradient(145deg,#0b0e10,#101418)}
.asset-workspace.virtual-assets-mode>.drawer-head{display:none}
.asset-workspace.virtual-assets-mode>.asset-main-tabs{grid-row:1;height:38px;margin:0 0 8px}
.asset-workspace.virtual-assets-mode>.drawer-head .asset-window-actions>#trustedAssetsButton{display:none}
.asset-workspace.virtual-assets-mode>.asset-group-list{grid-row:2/4;display:block;padding:4px 14px 20px 0}
.asset-workspace.virtual-assets-mode>.asset-toolbar{grid-row:2;min-height:48px;padding:0 0 8px}
.asset-workspace.virtual-assets-mode>.asset-list{grid-row:3;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;padding-top:10px}
.virtual-library-side>h3{margin:4px 0;font:500 19px Georgia,"Songti SC",serif}.virtual-library-side>p{margin:0 0 10px;color:var(--muted-2);font-size:8px;line-height:1.5}.virtual-library-side>.eyebrow{display:none}
.virtual-quota-card{margin-bottom:7px;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:#11161a}.virtual-quota-card>b,.virtual-quota-card>small{display:block}.virtual-quota-card>b{color:#aeb6bc;font-size:8px}.virtual-quota-card>span{display:block;height:4px;margin:8px 0 6px;overflow:hidden;border-radius:4px;background:#292f34}.virtual-quota-card>span>i{display:block;width:var(--quota);height:100%;border-radius:inherit;background:linear-gradient(90deg,#8269ec,#b68cff)}.virtual-quota-card small{color:var(--muted-2);font-size:8px}.virtual-quota-card strong{color:#d9c7ff;font-size:11px}
.virtual-side-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:10px}.virtual-side-stats button{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#8f989f;cursor:pointer}.virtual-side-stats button:first-child{grid-column:1/-1}.virtual-side-stats button:hover{background:#151b20}.virtual-side-stats button.active{border-color:#62519b;background:#211c32;color:#d7caff}.virtual-side-stats button b{font-size:8px}
.virtual-library-search{display:flex;align-items:center;gap:8px;width:min(330px,34vw);height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#11171b}.virtual-library-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:9px}.asset-workspace>.asset-toolbar .asset-actions .virtual-add-button{padding:0 15px;border-color:#725bea;background:#5a3df0;color:#fff;font-weight:800}
.virtual-portrait-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line-soft);border-radius:14px;background:#13181c;box-shadow:0 12px 30px #00000018;transition:.18s}.virtual-portrait-card:hover{transform:translateY(-2px);border-color:#554775;box-shadow:0 18px 36px #0004}.virtual-portrait-cover{position:relative;width:100%;height:210px;padding:0;overflow:hidden;border:0;background:#0b0e11;cursor:pointer}.virtual-portrait-cover img,.virtual-portrait-cover video{width:100%;height:100%;object-fit:cover}.virtual-card-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fffde8;color:#4f36d4;transform:translate(-50%,-50%)}.virtual-card-empty{display:grid;place-items:center;align-content:center;gap:9px;width:100%;height:100%;background:linear-gradient(145deg,#171d22,#0e1215);color:#68737c}.virtual-card-empty i{font-size:36px;font-style:normal}.virtual-card-empty b{font-size:9px}
.virtual-portrait-card-copy{padding:14px 15px 12px}.virtual-portrait-card-copy>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.virtual-portrait-card-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.virtual-portrait-card-copy p{margin:9px 0 5px;color:#a7afb5;font-size:9px}.virtual-portrait-card-copy small{color:var(--muted-2);font-size:8px}.virtual-status-pill{flex:0 0 auto;padding:4px 7px;border-radius:12px;background:#193426;color:#7add9e;font-size:7px}.status-Processing .virtual-status-pill{background:#3b301c;color:#e4bd6f}.status-Failed .virtual-status-pill{background:#3b2020;color:#e38b86}.status-Empty .virtual-status-pill{background:#272d32;color:#89939a}
.virtual-portrait-card-actions{display:flex;gap:7px;padding:0 15px 15px}.virtual-portrait-card-actions button{flex:1;height:32px;border:1px solid var(--line);border-radius:7px;background:#181e22;color:#b9c0c5;font-size:8px;cursor:pointer}.virtual-portrait-card-actions button.primary{border-color:#6650c8;background:#4d35ca;color:#fff}.virtual-portrait-card-actions button.danger{flex:0 0 auto;border-color:#633c3c;color:#d98d88}.virtual-portrait-card-actions button.danger:hover{background:#3a2020}
.asset-workspace.virtual-detail-mode{grid-template-columns:minmax(0,1fr)}.asset-workspace.virtual-detail-mode>.asset-main-tabs,.asset-workspace.virtual-detail-mode>.asset-toolbar,.asset-workspace.virtual-detail-mode>.asset-list{grid-column:1}.asset-workspace.virtual-detail-mode>.asset-group-list{display:none}.asset-workspace.virtual-detail-mode>.asset-list{margin-left:0;display:block;padding-top:0}
.virtual-detail-toolbar-title{margin-right:auto;color:var(--text)!important;font-size:11px!important;font-weight:800}.asset-actions button.danger{color:#dd8d87!important}.virtual-detail-page{max-width:1500px;margin:0 auto;padding:8px 0 32px}.virtual-detail-hero{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center;padding:20px;border:1px solid var(--line-soft);border-radius:15px;background:linear-gradient(120deg,#171520,#11171b)}.virtual-detail-cover{height:180px;overflow:hidden;border-radius:12px;background:#090c0f}.virtual-detail-cover img,.virtual-detail-cover video{width:100%;height:100%;object-fit:cover}.virtual-detail-cover>span{display:grid;place-items:center;width:100%;height:100%;color:#6f7780;font-size:42px}.virtual-detail-hero h2{margin:7px 0 9px;font:500 28px Georgia,"Songti SC",serif}.virtual-detail-hero p{color:var(--muted-2);font-size:9px}.virtual-detail-hero>div:last-child>div{display:flex;gap:8px;margin:13px 0}.virtual-detail-hero>div:last-child>div span{padding:6px 9px;border-radius:14px;background:#24202f;color:#c8b7f4;font-size:8px}.virtual-detail-hero details{margin-top:10px;color:var(--muted-2);font-size:8px}.virtual-detail-hero code{display:block;margin-top:7px;color:#9ba3aa}.virtual-detail-section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.virtual-detail-section-head h3{margin:0;font-size:16px}.virtual-detail-section-head p{margin:5px 0 0;color:var(--muted-2);font-size:8px}.virtual-detail-section-head button{height:34px;padding:0 12px;border:1px solid #6951d1;border-radius:8px;background:#4e36cc;color:#fff;cursor:pointer}.virtual-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.virtual-detail-asset{overflow:hidden;border:1px solid var(--line-soft);border-radius:12px;background:#13181c}.virtual-detail-media{position:relative;height:180px;background:#090c0f}.virtual-detail-media img,.virtual-detail-media video{width:100%;height:100%;object-fit:cover}.virtual-detail-media>span{position:absolute;left:9px;top:9px;padding:4px 7px;border-radius:5px;background:#080b0dcc;color:#fff;font-size:7px}.virtual-detail-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#7591a3;font-size:32px}.virtual-detail-copy{padding:12px}.virtual-detail-copy>div{display:flex;justify-content:space-between;gap:8px}.virtual-detail-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.virtual-detail-copy i{color:#7bd89c;font-size:8px;font-style:normal}.virtual-detail-copy small{display:block;margin-top:6px;overflow:hidden;color:var(--muted-2);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.virtual-detail-copy p{color:#db8983;font-size:8px}.virtual-detail-actions{display:flex;gap:6px;padding:0 12px 12px}.virtual-detail-actions button{flex:1;height:30px;border:1px solid var(--line);border-radius:7px;background:#192025;color:#c7cdd1;font-size:8px;cursor:pointer}.virtual-detail-actions button.primary{border-color:#6951d1;background:#4e36cc;color:#fff}.virtual-detail-actions button.danger{flex:0 0 auto;border-color:#633c3c;color:#dd8d87}
@media(max-width:900px){
  .asset-workspace { grid-template-columns:190px minmax(0,1fr); padding:16px; }
  .asset-workspace > .asset-toolbar { flex-wrap:wrap; gap:6px; }
  .asset-workspace > .asset-list { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
  .asset-workspace.virtual-assets-mode{grid-template-columns:190px minmax(0,1fr)}
}
.asset-hover-actions button { height: 25px; padding: 0 8px; border: 1px solid #4a5259; border-radius: 6px; background: #0c1013e8; color: #d3d7da; font-size: 8px; cursor: pointer; backdrop-filter: blur(8px); }
.asset-hover-actions button:hover { border-color: var(--accent); color: var(--accent); }
.settings-save-button { min-width:132px; transition:background .18s,border-color .18s,color .18s,box-shadow .18s; }
.settings-save-button.is-dirty { border-color:#9a7840; box-shadow:0 0 0 2px #d9ad5530; }
.settings-save-button.is-saving { background:linear-gradient(110deg,#2b2540,#40315f,#2b2540); background-size:220% 100%; animation:generateButtonFlow 1.5s linear infinite; color:#e9dcff; }
.settings-save-button.is-saved { border-color:#397755; background:#173b29; color:#9be1b6; }
.settings-save-button.is-error { border-color:#8a4640; background:#3a1d1b; color:#ffaaa2; }
.update-version-row{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;margin:4px 0 13px;padding:11px;border:1px solid var(--line-soft);border-radius:9px;background:#0e1215}.update-version-row span{color:var(--muted-2);font-size:9px}.update-version-row b{color:var(--accent-strong);font-size:11px}.update-version-row span:last-child{text-align:right}.update-actions{display:flex;gap:8px;margin-top:10px}.update-actions button{min-width:112px;height:36px;border:1px solid var(--line);border-radius:8px;background:#171c20;color:var(--text);cursor:pointer}.update-actions button.primary{border-color:#6e5831;background:#2a2115;color:var(--accent-strong);font-weight:800}.update-actions button:disabled{opacity:.55;cursor:wait}
.asset-folder-dialog { width:min(460px,calc(100vw - 36px)); }
.asset-folder-parent-hint { margin:0 0 16px; padding:9px 11px; border:1px solid #4d4433; border-radius:8px; background:#17140e; color:#c9b37d; font-size:9px; }
.asset-prompt-label { display: grid; gap: 7px; color: #9da5ac; font-size: 9px; }
.asset-prompt-label textarea { min-height: 240px; resize: vertical; line-height: 1.65; }
.prompt-library-toggle { width: 100%; min-height: 38px; margin-bottom: 10px; border: 1px solid #4a3b61; border-radius: 9px; background: #1b1425; color: #d8b9ff; font-weight: 750; cursor: pointer; }
.prompt-library-toggle.active { border-color: #ad7ee0; box-shadow: 0 0 0 2px #9c67d522; }
.prompt-library-card { margin-bottom: 9px; padding: 12px; border: 1px solid var(--line-soft); border-radius: 11px; background: #15191d; }
.prompt-library-card:hover { border-color: #624d7a; background: #19151f; }
.prompt-library-card b { font-size: 11px; }
.prompt-library-card p { max-height: 80px; margin: 7px 0 10px; overflow: hidden; color: #9ea6ad; font-size: 9px; line-height: 1.6; white-space: pre-wrap; }
.prompt-library-card > div { display: flex; gap: 5px; justify-content: flex-end; }
.prompt-library-card button { height: 26px; padding: 0 8px; border: 1px solid #40484f; border-radius: 6px; background: #0e1114; color: #bbc1c5; font-size: 8px; cursor: pointer; }
.prompt-library-card button.danger { color: #dd8585; }
.model-picker { display: grid; gap: 7px; padding: 10px; border: 1px solid var(--line-soft); border-radius: 9px; background: #0d1013; }
.model-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.model-picker-head > span { display: flex; gap: 4px; }
.model-picker-head button { height: 24px; padding: 0 7px; border: 1px solid #414950; border-radius: 6px; background: #171c20; color: #b6bec4; font-size: 8px; cursor: pointer; }
.model-picker-head button:hover { border-color: var(--accent); color: var(--accent); }
.model-picker > span, .model-empty { color: var(--muted-2); font-size: 8px; }
.model-search-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; }
.model-search-row input { min-width:0; margin:0 !important; padding:8px 10px !important; }
.model-search-row span { min-width:48px; color:var(--accent); font-size:8px; text-align:right; }
.model-search-empty { padding:20px 10px; border:1px dashed var(--line); border-radius:7px; color:var(--muted-2); font-size:9px; text-align:center; }
.model-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; min-height:120px; max-height:320px; overflow:auto; padding-right:3px; }
.model-checklist label { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 7px !important; padding: 6px; border-radius: 6px; background: #171c20; }
.model-checklist label.hidden { display:none !important; }
.model-checklist input { width: auto !important; }
.model-checklist span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.protected-lock { display: grid; gap: 8px; margin: 14px 0; padding: 14px; border: 1px solid #5a4930; border-radius: 10px; background: #201a12; }
.protected-lock > span { color: #a89b86; font-size: 9px; }
.protected-lock > div { display: flex; gap: 7px; }
.protected-lock input { flex: 1; }
.protected-hidden { display: none; }

.media-preview-dialog { width:min(92vw,1500px); height:min(90vh,980px); margin:auto; padding:14px; overflow:hidden; border:1px solid #414950; border-radius:14px; background:#090c0ff2; color:white; box-shadow:0 28px 80px #000d; }
.media-preview-dialog::backdrop { background: #000d; }
.media-preview-dialog #closeMediaPreview { position: absolute; z-index: 2; top: 10px; right: 10px; width: 34px; height: 34px; border: 1px solid #ffffff35; border-radius: 50%; background: #111d; color: white; font-size: 21px; cursor: pointer; }
.media-preview-toolbar{position:absolute;z-index:3;left:50%;top:12px;display:flex;gap:4px;padding:4px;border:1px solid #ffffff25;border-radius:9px;background:#090c0fd9;transform:translateX(-50%)}.media-preview-toolbar.hidden{display:none}.media-preview-toolbar button{min-width:34px;height:30px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:white;cursor:pointer}.media-preview-toolbar button:hover{background:#ffffff18}.media-preview-viewport{width:100%;height:calc(100% - 28px);display:grid;place-items:center;overflow:hidden;cursor:default}.media-preview-dialog.image-mode .media-preview-viewport{cursor:grab}.media-preview-dialog.image-mode .media-preview-viewport.dragging{cursor:grabbing}#mediaPreviewContent{display:grid;width:100%;height:100%;place-items:center}#mediaPreviewContent img{display:block;max-width:88vw;max-height:80vh;object-fit:contain;transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none}#mediaPreviewContent video{display:block;max-width:88vw;max-height:80vh;object-fit:contain}#mediaPreviewTitle{height:22px;margin:6px 0 0;text-align:center;color:#adb5bc;font-size:10px}
.image-compare-dialog{width:96vw;max-width:1800px;height:92vh;margin:auto;padding:16px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:0 32px 100px #000d}.image-compare-dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}.image-compare-dialog>header{height:58px;display:flex;align-items:flex-start;justify-content:space-between}.image-compare-dialog h2{margin:2px 0;font:500 22px Georgia,\"Songti SC\",serif}.image-compare-dialog header p{margin:0;color:var(--muted);font-size:9px}.image-compare-dialog>header>button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);font-size:20px;cursor:pointer}.image-compare-grid{height:calc(100% - 58px);display:grid;grid-template-columns:repeat(var(--compare-columns),minmax(220px,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;overflow:auto}.image-compare-grid.many{grid-auto-rows:minmax(320px,1fr)}.image-compare-item{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.image-compare-item>div{position:relative;flex:1;min-height:0;overflow:hidden;background:#07090b}.image-compare-viewport{cursor:grab;touch-action:none}.image-compare-viewport.dragging{cursor:grabbing}.image-compare-item img{position:absolute;inset:12px;display:block;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none}.image-compare-item footer{display:flex;align-items:center;gap:6px;padding:8px}.image-compare-item footer>span{min-width:0;flex:1}.image-compare-item footer b,.image-compare-item footer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-compare-item footer b{font-size:10px}.image-compare-item footer small{margin-top:3px;color:var(--muted);font-size:8px}.image-compare-item footer button{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--hover);color:var(--text);font-size:8px;cursor:pointer}@media(max-width:900px){.image-compare-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.image-generation-detail-dialog{position:relative;width:min(1120px,94vw);height:min(780px,90vh);margin:auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:0 32px 100px #000d}.image-generation-detail-dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}.image-generation-detail-dialog>.close-button{position:absolute;z-index:3;top:12px;right:12px}.image-generation-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);height:100%}.image-generation-detail-preview{display:grid;place-items:center;min-width:0;min-height:0;padding:24px;background:#07090b}.image-generation-detail-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.image-generation-detail-info{display:flex;flex-direction:column;gap:14px;min-height:0;padding:26px 24px 22px;overflow:auto;border-left:1px solid var(--line);background:var(--panel)}.image-generation-detail-info h2{margin:4px 0;font:500 25px Georgia,"Songti SC",serif}.image-generation-detail-info>div>p{margin:0;color:var(--muted);font-size:9px}.image-generation-detail-info dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.image-generation-detail-info dl div{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}.image-generation-detail-info dt{color:var(--muted);font-size:8px}.image-generation-detail-info dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:10px;font-weight:700}.image-generation-detail-info label{display:grid;gap:7px;color:var(--muted);font-size:9px}.image-generation-detail-info textarea{min-height:150px;padding:11px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:var(--theme-input);color:var(--text);line-height:1.6}.image-generation-detail-references{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.image-generation-detail-references:empty{display:none}.image-generation-detail-reference{min-width:0}.image-generation-detail-reference img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:8px}.image-generation-detail-reference span{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.image-generation-detail-reference-note{grid-column:1/-1;padding:9px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:9px}.image-generation-detail-info>.primary{min-height:44px;margin-top:auto}@media(max-width:760px){.image-generation-detail-layout{grid-template-columns:1fr;grid-template-rows:minmax(220px,42%) minmax(0,58%)}.image-generation-detail-info{border-top:1px solid var(--line);border-left:0}}
.image-generation-detail-preview{position:relative;overflow:hidden;cursor:grab}.image-generation-detail-preview.dragging{cursor:grabbing}.image-generation-detail-preview img{transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none}.image-generation-detail-toolbar{position:absolute;z-index:2;top:12px;left:50%;display:flex;gap:4px;padding:4px;border:1px solid #ffffff25;border-radius:9px;background:#090c0fd9;transform:translateX(-50%)}.image-generation-detail-toolbar button{min-width:34px;height:30px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:white;cursor:pointer}.image-generation-detail-toolbar button:hover{background:#ffffff18}
@media (prefers-reduced-motion: reduce) { .loader-dots,.image-history-card.pending::before { animation:none;-webkit-mask-position:50% 50%,85% 20%,16% 78%;mask-position:50% 50%,85% 20%,16% 78%; }.generation-logo{animation:none;background-position:48% 0} }
.inspector-references { margin-top: 7px; }

.inspector {
  position: absolute;
  z-index: 6;
  width: 720px;
  min-width: 560px;
  min-height: 360px;
  overflow: hidden;
  resize: none;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #111518f3;
  box-shadow: 0 18px 50px #0009;
  backdrop-filter: blur(16px);
  pointer-events: auto;
}
.inspector::before { content:""; position:absolute; left:26px; top:-11px; width:1px; height:11px; background:#6d6049; }
.inspector-resize-handle{position:absolute;z-index:3;display:block}.inspector-resize-handle.right{top:32px;right:-5px;bottom:16px;width:10px;cursor:ew-resize}.inspector-resize-handle.bottom{right:16px;bottom:-5px;left:32px;height:10px;cursor:ns-resize}.inspector-resize-handle.corner{right:-6px;bottom:-6px;width:18px;height:18px;cursor:nwse-resize}.inspector-resize-handle.corner::after{content:"";position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-right:2px solid #786b52;border-bottom:2px solid #786b52}
.inspector.hidden { display: none; }
.inspector-close { position:absolute; z-index:2; top:8px; right:8px; width:28px; height:28px; border:0; border-radius:5px; background:#171c20; color:var(--muted); cursor:pointer; }
.inspector-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:12px; padding-top:18px; }
.inspector label { display: block; min-width:0; margin:0; color: #9da5ac; font-size: 9px; font-weight: 750; }
.inspector input, .inspector textarea, .inspector select {
  width: 100%;
  margin-top: 6px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: none;
  background: #0c0f11;
  color: var(--text);
  font-size: 11px;
}
.inspector textarea { min-height: 105px; overflow:hidden; resize:none; line-height: 1.6; }
.inspector .prompt-editor-wrap textarea[data-prompt-editor] { position:relative; z-index:2; min-height:132px; margin:0; padding:9px 10px; border-color:transparent; background:transparent; color:var(--text)!important; -webkit-text-fill-color:var(--text)!important; opacity:1!important; caret-color:#f4f6f7; font-size:11px; line-height:1.6; }
.inspector .prompt-editor-wrap .prompt-highlight-layer { min-height:132px; padding:9px 10px; border:1px solid var(--line); background:#0c0f11; color:transparent; font-size:11px; line-height:1.6; }
.inspector .prompt-editor-wrap textarea[data-prompt-editor]::selection { background:#7f56b988; color:#fff; }
.inspector .row { display: grid; grid-column:span 2; grid-template-columns: 1fr 1fr; gap: 12px; }
.inspector label:has(.inspector-references),.inspector label:has(.prompt-preview),.inspector label:has(textarea),.inspector .helper,.inspector-run,.inspector .danger-action{grid-column:1/-1}
.inspector .danger-action { width: 100%; height: 34px; margin:0; border: 1px solid #57302e; border-radius: 8px; background: #241515; color: var(--red); cursor: pointer; }
.inspector-run{width:100%;height:42px;margin:0;border:0;border-radius:8px;background:#96c95e;color:#102008;font-size:11px;font-weight:850;cursor:pointer}.inspector-run.video-run{background:#9b79dc;color:white}.inspector-run.stop-run{background:#a8444f;color:white}.inspector-run:disabled{cursor:not-allowed;opacity:.5}
.inspector .helper { padding: 10px; border-radius: 8px; background: #0e1214; color: var(--muted); font-size: 9px; line-height: 1.7; }
.inspector:has(.video-generator-panel){min-height:280px;overflow:visible;padding:15px 16px 13px;border-color:#363e45;border-radius:7px;background:#111518f8;box-shadow:0 22px 55px #000a}
.inspector:has(.video-generator-panel)::before{left:50%;height:12px}
.inspector:has(.video-generator-panel) .inspector-close{top:9px;right:9px;background:transparent}
.inspector:has(.video-generator-panel) .inspector-fields{height:auto;padding-top:0}
.video-generator-panel{grid-column:1/-1;display:grid;grid-template-rows:auto auto minmax(106px,auto) auto;gap:10px;min-width:0;height:auto}
.video-generator-panel.text-mode{grid-template-rows:auto minmax(106px,auto) auto}
.video-panel-head{position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft)}
.video-mode-tabs{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 150px 0 34px;border:0}
.video-mode-tab{height:38px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:#a5adb4;font-size:12px;cursor:pointer}
.video-mode-tab.active{border-bottom-color:#a184ed;color:#f5f2ff;font-weight:800}
.video-node-stats{position:absolute;right:34px;color:#7f8991;font-size:10px;white-space:nowrap}
.video-reference-area{min-height:66px}
.video-reference-empty{display:grid;place-items:center;min-height:66px;border:1px dashed #353d43;border-radius:6px;background:#0d1114;color:var(--muted);font-size:9px}
.video-reference-grid,.video-frame-slots{display:flex;justify-content:center;gap:9px;min-height:78px;overflow:hidden}
.video-reference-slot{position:relative;flex:0 0 92px;min-width:0;display:grid;grid-template-rows:1fr auto auto;place-items:center;gap:2px;padding:7px;border:1px dashed #4b535a;border-radius:7px;background:#0c1013;color:#9099a0;text-align:center;cursor:copy;transition:.15s}
.video-frame-slots .video-reference-slot{flex:1;max-width:220px}
.video-reference-slot.drag-over{border-style:solid;border-color:#a184ed;background:#211a36;box-shadow:0 0 0 2px #a184ed33}
.video-reference-slot.filled{border-style:solid;cursor:default}
.video-reference-slot>img,.video-reference-slot>video{width:100%;height:46px;object-fit:cover;border-radius:4px}
.video-reference-slot>span:not(.video-reference-kind){font-size:24px;line-height:34px}.video-reference-slot b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dfe3e6;font-size:11px}.video-reference-slot small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.video-reference-kind{display:grid;place-items:center;width:100%;height:46px;border-radius:4px;background:#20262b;color:#c9d0d5;font-size:10px;font-weight:800}
.video-reference-slot button{position:absolute;top:3px;right:3px;width:20px;height:20px;padding:0;border:1px solid #ffffff30;border-radius:4px;background:#090b0dde;color:white;cursor:pointer}
.video-prompt-area .prompt-editor-wrap textarea[data-prompt-editor]{min-height:106px;border-radius:6px;background:transparent!important;color:#f2f1ed!important;-webkit-text-fill-color:#f2f1ed!important;opacity:1!important;font-size:12px;text-align:left}
.video-prompt-area .prompt-editor-wrap .prompt-highlight-layer{min-height:106px;border-radius:6px;background:#0c1013;font-size:12px;text-align:left}
.inspector .inspector-prompt-editor{height:var(--prompt-editor-height,220px);min-height:180px;max-height:520px;margin-top:6px}.inspector .inspector-prompt-editor textarea[data-prompt-editor],.inspector .inspector-prompt-editor .prompt-highlight-layer{height:100%;min-height:0!important;padding-right:46px}.inspector .inspector-prompt-editor textarea[data-prompt-editor]{overflow:auto!important;resize:none}.prompt-expand-button{position:absolute;z-index:5;top:8px;right:8px;display:grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid #465059;border-radius:6px;background:#171d21dd;color:#cbd2d7;font-size:15px;cursor:pointer}.prompt-expand-button:hover{border-color:#8970cc;background:#241d35;color:#fff}.prompt-resize-handle{position:absolute;z-index:5;right:38px;bottom:-5px;left:38px;height:11px;cursor:ns-resize}.prompt-resize-handle::after{content:"";position:absolute;left:50%;bottom:3px;width:38px;height:2px;border-radius:2px;background:#56616a;transform:translateX(-50%)}.inspector-prompt-editor.expanded .prompt-expand-button{border-color:#8970cc;color:#e7ddff}.inspector .prompt-preview{max-height:180px;overflow:auto;resize:none}
.video-final-prompt{margin-top:6px;border:1px solid var(--line-soft);border-radius:6px;background:#0d1114}.video-final-prompt summary{padding:7px 9px;color:#818b92;font-size:9px;cursor:pointer}.video-final-prompt pre{max-height:150px;margin:0;padding:9px;overflow:auto;border-top:1px solid var(--line-soft);color:#b8c0c5;font:9px/1.6 ui-monospace,monospace;white-space:pre-wrap}
.video-control-shell{position:relative;display:grid;gap:8px}
.video-parameter-row{display:flex;align-items:end;justify-content:space-between;gap:14px}
.video-provider-controls{min-width:0;display:grid;grid-template-columns:minmax(105px,.85fr) minmax(145px,1.2fr);gap:8px}.video-provider-controls label{min-width:0;color:#8e979e;font-size:9px}.video-provider-controls select{width:100%;height:36px;margin-top:5px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#12171b;color:var(--text);font-size:10px}
.video-parameter-buttons{display:flex;align-items:center;justify-content:flex-end;gap:6px}.video-parameter-chip{height:36px;min-width:66px;padding:0 10px;border:1px solid #363e45;border-radius:6px;background:#151a1e;color:#c2c8cc;font-size:10px;cursor:pointer}.video-parameter-chip:hover{border-color:#8870c7;background:#201b2e;color:#eee8ff}
.video-action-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 44px;gap:8px;align-items:center}.video-money{min-width:0;min-height:42px;display:flex;align-items:center;gap:14px;padding:7px 12px;border:1px solid #4a412f;border-radius:7px;background:#19160f;color:#d9c18f;text-align:left;white-space:normal}.video-money b{flex:none;font-size:13px}.video-money small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a89978;font-size:9px;font-weight:500}.video-reset-button{width:38px;height:38px;padding:0;border:1px solid #3c454c;border-radius:7px;background:#171c20;color:#bac1c6;font-size:18px;cursor:pointer}.video-submit-button{width:44px;height:42px;border-radius:8px;font-size:21px;line-height:1;background:linear-gradient(110deg,#4fd5ff,#9a73ff,#ff6cb2,#ffd66d,#4fd5ff);background-size:300% 100%;animation:generateButtonFlow 1.8s linear infinite;box-shadow:0 0 18px #a978ff55}
.video-settings-popover{position:absolute;z-index:12;left:0;right:0;bottom:calc(100% + 10px);display:grid;gap:12px;padding:15px;border:1px solid #4b535a;border-radius:10px;background:#f7f7f8;color:#242a33;box-shadow:0 18px 45px #0008}.video-setting-section{display:grid;gap:8px;padding:7px;border:1px solid transparent;border-radius:8px;transition:.16s}.video-setting-section.focused{border-color:#8d70e0;background:#ede9fa}.video-setting-section>b{display:flex;justify-content:space-between;font-size:11px}.video-setting-section em{color:#6550bd;font-style:normal}.video-setting-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.video-setting-options.two{grid-template-columns:1fr 1fr}.video-setting-options button{height:38px;border:0;border-radius:6px;background:#e3e4e6;color:#424a55;cursor:pointer}.video-setting-options button.active{background:#d7d1ed;color:#4c32a7;font-weight:800}.video-setting-options button:disabled{opacity:.4;cursor:not-allowed}.video-ratio-options{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.video-ratio-options button{min-width:0;display:grid;place-items:center;gap:5px;padding:7px 2px;border:0;border-radius:7px;background:transparent;color:#57606b;font-size:8px;cursor:pointer}.video-ratio-options button.active{background:#ddd8ed;color:#4d35a6}.ratio-icon{display:block;width:20px;height:13px;border:2px solid currentColor;border-radius:2px}.ratio-smart{width:16px;height:16px;border-style:dashed}.ratio-9-16,.ratio-3-4{width:9px;height:18px}.ratio-1-1{width:16px;height:16px}.ratio-4-3{width:18px;height:14px}.ratio-21-9{width:24px;height:8px}.video-settings-popover input[type=range]{width:100%;accent-color:#8568dd}.video-duration-scale{display:flex;justify-content:space-between;color:#77808a;font-size:8px}
.video-settings-popover{border-color:#3b444c;background:#171c20;color:#dfe4e8;box-shadow:0 20px 50px #000a}.video-settings-head{display:flex;align-items:center;justify-content:space-between;min-height:25px;padding:0 2px 3px 7px;border-bottom:1px solid #30383f}.video-settings-head>b{font-size:11px;color:#cbd2d7}.video-settings-close{position:relative;width:26px;height:26px;flex:none;padding:0;border:0;border-radius:6px;background:transparent;color:transparent;font-size:0;cursor:pointer;transition:background .16s,color .16s}.video-settings-close::before,.video-settings-close::after{content:"";position:absolute;top:12px;left:7px;width:12px;height:1px;border-radius:2px;background:#8d979f;transition:background .16s}.video-settings-close::before{transform:rotate(45deg)}.video-settings-close::after{transform:rotate(-45deg)}.video-settings-close:hover{background:#2a3137}.video-settings-close:hover::before,.video-settings-close:hover::after{background:#e7ebee}.video-setting-section.focused{border-color:#655591;background:#242033}.video-setting-section em{color:#b5a2ed}.video-setting-options button{background:#252c31;color:#bfc7cc}.video-setting-options button:hover{background:#30383e;color:#eef1f3}.video-setting-options button.active{background:#40365d;color:#ddd2ff}.video-ratio-options button{color:#9ea8af}.video-ratio-options button:hover{background:#242b30;color:#d7dde1}.video-ratio-options button.active{background:#40365d;color:#ddd2ff}.video-duration-scale{color:#818c94}
@media(max-width:1100px){.video-parameter-row{align-items:stretch;flex-direction:column}.video-provider-controls,.video-parameter-buttons{width:100%}.video-parameter-buttons{justify-content:stretch}.video-parameter-chip{flex:1;min-width:0}.video-ratio-options{grid-template-columns:repeat(4,1fr)}.video-reference-grid{overflow-x:auto}}

.node-menu {
  position: fixed;
  z-index: 80;
  width: 260px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #14181cf5;
  box-shadow: 0 20px 55px #000b;
  backdrop-filter: blur(16px);
}
.node-menu.hidden { display: none; }
.context-menu { position: fixed; z-index: 120; width: 180px; display: grid; gap: 3px; padding: 6px; border: 1px solid #414951; border-radius: 10px; background: #0c0f12f5; box-shadow: 0 18px 45px #000b; backdrop-filter: blur(14px); }
.context-menu.hidden { display: none; }
.context-menu button { min-height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; border: 0; border-radius: 7px; background: transparent; color: #c7ccd0; font-size: 10px; text-align: left; cursor: pointer; }
.context-menu button:hover { background: #252b31; color: white; }
.context-menu button.danger { color: #dc8585; }
.context-menu kbd { color: #68727a; font-size: 8px; }
.node-menu-head { display: flex; justify-content: space-between; padding: 8px 9px 10px; color: #c7ccd0; font-size: 10px; }
.node-menu-head small { color: var(--muted-2); font-size: 8px; letter-spacing: .16em; }
.node-menu button { width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px; border: 0; border-radius: 9px; background: transparent; text-align: left; cursor: pointer; }
.node-menu button:hover { background: #20252a; }
.type-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.node-menu b { display: block; font-size: 11px; }
.node-menu small { display: block; margin-top: 3px; color: var(--muted-2); font-size: 8px; }

.modal { width: min(580px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 17px; background: #14181c; color: var(--text); box-shadow: var(--shadow); }
.modal::backdrop { background: #050607b8; backdrop-filter: blur(4px); }
.modal form { padding: 24px; }
.modal-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 21px; }
.form-fields label, .settings-modal label { display: block; margin-bottom: 14px; color: #aab0b5; font-size: 10px; font-weight: 750; }
.form-fields input, .form-fields textarea, .form-fields select, .settings-modal input, .settings-modal textarea {
  width: 100%;
  margin-top: 7px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  background: #0d1013;
  color: var(--text);
}
.settings-modal form { max-height: min(820px, calc(100vh - 48px)); overflow-x:hidden;overflow-y:auto; }
.settings-modal .modal-head { position:sticky; z-index:7; top:-24px; margin:-24px -24px 18px; padding:24px 24px 14px; border-bottom:1px solid var(--line-soft); background:#14181cf5; backdrop-filter:blur(14px); }
.settings-modal textarea { min-height: 72px; resize: vertical; }
.form-fields textarea { min-height: 90px; resize: vertical; }
.form-fields input:focus, .form-fields textarea:focus, .settings-modal input:focus { border-color: #6c5938; }
.form-fields input.invalid { border-color: #c95f5f; box-shadow: 0 0 0 2px #c95f5f22; }
.form-fields input[readonly] { color: #818991; background: #0c0f12; cursor: default; }
.form-hint { margin: -7px 0 4px; color: var(--muted-2); font-size: 8px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.modal-actions button { min-width: 80px; height: 38px; border: 1px solid var(--line); border-radius: 9px; background: #1a1f23; color: #c5cacf; cursor: pointer; }
.modal-actions button.primary { border-color: #665331; background: #2a2115; color: var(--accent-strong); font-weight: 800; }
.modal-actions.split { display: grid; grid-template-columns: auto 1fr auto auto; }
.settings-modal .modal-actions { position: sticky; bottom: -24px; z-index: 5; margin: 18px -24px -24px; padding: 14px 24px; border-top: 1px solid var(--line-soft); background: #111519f2; backdrop-filter: blur(12px); }
.settings-section { padding: 15px; border: 1px solid #403722; border-radius: 12px; background: #191712; }
.settings-modal details.settings-section { margin-top: 0; }
.relay-settings-drawer > summary { cursor:pointer; list-style:none; margin:0; }
.relay-settings-drawer > summary::-webkit-details-marker,.relay-card > summary::-webkit-details-marker { display:none; }
.relay-settings-drawer > summary::after,.relay-card > summary::after { content:'▸'; margin-left:8px; color:var(--accent); transition:transform .16s ease; }
.relay-settings-drawer[open] > summary::after,.relay-card[open] > summary::after { transform:rotate(90deg); }
.relay-settings-drawer[open] > summary { margin-bottom:15px; }
.section-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.section-label b { font-size: 11px; }
.section-label span { color: var(--muted-2); font-size: 8px; }
.relay-list { display: grid; gap: 11px; }
.settings-modal details.relay-card { margin:0; padding:0; border:1px solid var(--line-soft); border-radius:10px; background:#111519; }
.relay-card-head { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px; cursor:pointer; list-style:none; }
.relay-card-body { padding:0 12px 12px; border-top:1px solid #2f2b22; }
.relay-card-body > :first-child { margin-top:12px; }
.relay-card-head b { font-size: 10px; }
.relay-card-head span { color: var(--muted-2); font-size: 8px; }
.relay-card-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10px; }
.relay-card label { margin-bottom: 10px; }
.relay-card-actions { display: flex; align-items: center; gap: 8px; }
.relay-card-actions button, .relay-add { height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #1a2025; color: #c9ced2; font-size: 9px; cursor: pointer; }
.relay-card-actions button:first-child { border-color: #665331; background: #2a2115; color: var(--accent-strong); }
.relay-card-actions button.danger { margin-left: auto; border-color: #51312e; background: #211717; color: #d9948e; }
.relay-status { flex: 1; color: var(--muted-2); font-size: 8px; line-height: 1.5; }
.relay-add { width: 100%; margin-top: 11px; border-style: dashed; background: transparent; }
.branding-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.branding-fields label:last-child { grid-column: 1 / -1; }
.brand-asset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.brand-asset-card { padding: 10px; border: 1px solid var(--line-soft); border-radius: 10px; background: #101417; }
.brand-asset-card > b { display: block; margin-bottom: 8px; color: #c5cbd0; font-size: 9px; }
.brand-asset-preview { height: 100px; display: grid; place-items: center; overflow: hidden; margin-bottom: 8px; border-radius: 8px; background: #0b0e10; color: var(--muted-2); font-size: 8px; }
.brand-asset-preview.logo { height: 76px; }
.brand-asset-preview img { width: 100%; height: 100%; object-fit: cover; }
.brand-asset-preview.logo img { object-fit: contain; }
.brand-asset-card > div:last-child { display: flex; gap: 6px; }
.brand-asset-card button { flex: 1; min-width: 0; height: 32px; border: 1px solid var(--line); border-radius: 7px; background: #1a2025; color: #c5cbd0; font-size: 8px; cursor: pointer; }
.brand-asset-card button:last-child { background: transparent; color: var(--muted); }
.settings-modal details { margin-top: 13px; padding: 13px; border: 1px solid var(--line-soft); border-radius: 10px; }
.settings-modal summary { cursor: pointer; color: #b7bdc2; font-size: 10px; }
.settings-modal details label:first-of-type { margin-top: 14px; }
.security-note { padding: 11px 12px; border-radius: 9px; background: #101417; color: var(--muted-2); font-size: 8px; line-height: 1.7; }
.trusted-assets-modal { width:min(1180px,calc(100vw - 36px)); }
.portrait-picker-modal{width:min(1000px,calc(100vw - 36px))}
.portrait-picker-modal form{height:min(780px,calc(100vh - 42px));display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden}
.portrait-picker-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:11px;background:#0d1114}
.portrait-picker-summary b,.portrait-picker-summary small{display:block}.portrait-picker-summary b{color:var(--text);font-size:12px}.portrait-picker-summary small{margin-top:5px;color:var(--muted-2);font-size:8px}.portrait-picker-summary>strong{display:grid;place-items:center;min-width:54px;height:50px;border:1px solid var(--line);border-radius:9px;font-size:18px}.portrait-picker-summary>strong small{margin:0;font-weight:500}
.portrait-picker-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.portrait-picker-filters{display:flex;gap:5px}.portrait-picker-filters button{height:34px;padding:0 12px;border:1px solid var(--line-soft);border-radius:8px;background:#12171b;color:var(--muted);cursor:pointer}.portrait-picker-filters button.active{border-color:#665331;background:#2a2115;color:var(--accent-strong)}.portrait-picker-search{display:flex;align-items:center;gap:7px;min-width:180px;max-width:320px;margin-left:auto;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#11171b}.portrait-picker-search input{width:100%;height:34px;border:0;outline:0;background:transparent;color:var(--text)}.portrait-picker-toolbar>.primary{height:36px;padding:0 15px;border:0;border-radius:8px;background:var(--accent);color:#17130e;font-weight:800;cursor:pointer}
.portrait-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px;min-height:0;padding:2px 7px 12px 2px;overflow:auto}.portrait-picker-card{min-width:0;padding:0;overflow:hidden;border:1px solid var(--line-soft);border-radius:10px;background:#111619;color:var(--text);text-align:left;cursor:pointer}.portrait-picker-card:hover,.portrait-picker-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #dbab5b28}.portrait-picker-card.disabled{cursor:not-allowed;opacity:.65}.portrait-picker-thumb{position:relative;height:150px;background:#090b0d}.portrait-picker-thumb img,.portrait-picker-thumb video{width:100%;height:100%;object-fit:cover}.portrait-picker-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#75d8ff;font-size:26px}.portrait-kind{position:absolute;top:8px;left:8px;padding:4px 7px;border-radius:5px;background:#080a0cc7;color:#fff;font-size:8px}.portrait-picker-thumb i{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--accent);color:#17130e;font-style:normal}.portrait-picker-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:10px}.portrait-picker-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.portrait-picker-copy span{font-size:8px}.portrait-picker-copy small{grid-column:1/-1;overflow:hidden;color:#d98782;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.portrait-picker-actions{align-items:center}.portrait-picker-actions>span{margin-right:auto;color:var(--muted-2);font-size:8px}
.portrait-picker-message{grid-column:1/-1;align-self:center;justify-self:stretch;text-align:center;line-height:1.7}.portrait-picker-message button{margin-top:10px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);cursor:pointer}
.portrait-node-preview{position:relative;min-height:150px}.portrait-node-preview>.previewable-media{width:100%;height:150px;object-fit:cover}.portrait-node-preview.empty>button{display:grid;place-items:center;width:100%;min-height:150px;border:1px dashed #416071;border-radius:8px;background:#10202a;color:#90d8fa;cursor:pointer}.portrait-node-preview.empty>button span{font-size:26px}.portrait-node-preview.empty>button b,.portrait-node-preview.empty>button small{display:block}.portrait-node-preview.empty>button small{color:#7694a3}.portrait-node-meta{position:absolute;inset:auto 7px 7px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-radius:7px;background:#080b0ddb;backdrop-filter:blur(8px)}.portrait-node-meta>span{padding:3px 5px;border-radius:4px;background:#30373b;color:#fff;font-size:7px}.portrait-node-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.portrait-node-meta small{color:#80d49c;font-size:7px}.portrait-node-meta button{grid-column:2/-1;justify-self:start;padding:0;border:0;background:transparent;color:#90d8fa;font-size:7px;cursor:pointer}.portrait-inspector-picker{width:100%;min-height:36px;margin-bottom:8px;border:1px solid #416071;border-radius:8px;background:#13212a;color:#90d8fa;cursor:pointer}
@media(max-width:760px){.portrait-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-picker-toolbar{flex-wrap:wrap}.portrait-picker-search{order:3;max-width:none;margin-left:0;flex:1 0 100%}}
:root[data-theme="light"] .portrait-picker-summary{
  border-color:#d8dee5;
  background:#f7f9fb;
  box-shadow:0 5px 16px #31455c0a;
}
:root[data-theme="light"] .portrait-picker-summary b{color:#252b33}
:root[data-theme="light"] .portrait-picker-summary small{color:#737d88}
:root[data-theme="light"] .portrait-picker-summary>strong{
  border-color:#cbd4dd;
  background:#fff;
  color:#315f86;
}
:root[data-theme="light"] .portrait-picker-filters button{
  border-color:#d2d9e0;
  background:#f4f6f8;
  color:#68727d;
  box-shadow:none;
}
:root[data-theme="light"] .portrait-picker-filters button:hover{
  border-color:#aebdca;
  background:#edf2f6;
  color:#3d5870;
}
:root[data-theme="light"] .portrait-picker-filters button.active{
  border-color:#9eb7cd;
  background:#e7f0f7;
  color:#315f86;
}
:root[data-theme="light"] .portrait-picker-search{
  border-color:#cbd4dd;
  background:#fff;
  color:#75818d;
  box-shadow:inset 0 0 0 1px #ffffff,0 4px 12px #31455c0a;
}
:root[data-theme="light"] .portrait-picker-search input{
  background:transparent;
  color:#252b33;
}
:root[data-theme="light"] .portrait-picker-search input::placeholder{color:#9aa3ad}
:root[data-theme="light"] .portrait-picker-toolbar>.primary{
  background:#426f96;
  color:#fff;
  box-shadow:0 5px 13px #426f9628;
}
:root[data-theme="light"] .portrait-picker-card{
  border-color:#d5dce3;
  background:#fff;
  color:#252b33;
  box-shadow:0 6px 18px #31455c0c;
}
:root[data-theme="light"] .portrait-picker-card:hover,
:root[data-theme="light"] .portrait-picker-card.selected{
  border-color:#7f9fbc;
  box-shadow:0 0 0 2px #426b9123,0 8px 20px #31455c16;
}
:root[data-theme="light"] .portrait-picker-copy b{color:#303741}
:root[data-theme="light"] .portrait-picker-actions>span{color:#77818b}
:root[data-theme="light"] .portrait-picker-message button{
  border-color:#cbd4dd;
  background:#fff;
  color:#42617d;
}
:root[data-theme="light"] .portrait-node-preview.empty>button{
  border-color:#9eb7cd;
  background:#edf4fa;
  color:#426b91;
}
:root[data-theme="light"] .portrait-node-preview.empty>button small{color:#70869a}
:root[data-theme="light"] .portrait-node-meta{
  border:1px solid #d6dde4d9;
  background:#fffffff0;
  color:#303741;
  box-shadow:0 5px 16px #24394d24;
}
:root[data-theme="light"] .portrait-node-meta>span{background:#e6edf3;color:#42617d}
:root[data-theme="light"] .portrait-node-meta b{color:#303741}
:root[data-theme="light"] .portrait-node-meta button{color:#315f86}
:root[data-theme="light"] .trusted-current-preview{
  border-color:#d5dce3;
  background:#f7f9fb;
  color:#303741;
}
:root[data-theme="light"] .trusted-current-preview img,
:root[data-theme="light"] .trusted-current-preview video{background:#e9edf1}
:root[data-theme="light"] .portrait-inspector-picker{
  border-color:#9eb7cd;
  background:#e7f0f7;
  color:#315f86;
}
.trusted-assets-modal form { max-height:min(860px,calc(100vh - 42px)); overflow:auto; }
.virtual-create-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:18px 20px;border:1px solid #4f416f;border-radius:13px;background:linear-gradient(120deg,#181526,#111519)}.virtual-create-intro span{color:#9b82e8;font-size:8px;letter-spacing:.14em}.virtual-create-intro h3{margin:5px 0 6px;font:500 21px Georgia,"Songti SC",serif}.virtual-create-intro p{margin:0;color:var(--muted-2);font-size:9px}.virtual-create-intro aside{min-width:190px;padding:12px 14px;border-radius:10px;background:#0d1015}.virtual-create-intro aside b,.virtual-create-intro aside strong,.virtual-create-intro aside small{display:block}.virtual-create-intro aside b,.virtual-create-intro aside small{color:var(--muted-2);font-size:8px}.virtual-create-intro aside strong{margin:7px 0;color:#c8b5ff;font-size:13px}
.trusted-manager-tabs { display:flex; gap:7px; margin:0 0 14px; padding:4px; border:1px solid var(--line-soft); border-radius:10px; background:#0d1114; }
.trusted-manager-tabs button { flex:1; height:34px; border:0; border-radius:7px; background:transparent; color:#8f979c; cursor:pointer; }
.trusted-manager-tabs button.active { background:#282116; color:var(--accent-strong); font-weight:800; }
.trusted-assets-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.trusted-assets-panel { padding:15px; border:1px solid var(--line-soft); border-radius:11px; background:#0d1114; }
.trusted-assets-panel h3 { margin:0 0 14px; color:#d0d5d8; font-size:11px; }
.trusted-assets-panel label { display:block; margin:0 0 12px; color:#9ea5aa; font-size:9px; font-weight:750; }
.trusted-assets-panel input,.trusted-assets-panel select { width:100%; margin-top:7px; padding:10px 11px; border:1px solid var(--line); border-radius:8px; background:#11171b; color:var(--text); }
.trusted-assets-panel input[type=file]{min-height:86px;padding:29px 14px;border-style:dashed;background:#101419;color:#8e979d;cursor:pointer}
.trusted-action-row,.trusted-section-head { display:flex; align-items:center; gap:8px; }
.trusted-action-row { flex-wrap:wrap; margin-bottom:10px; }
.trusted-action-row button,.trusted-action-row .button-link,.trusted-section-head button,.trusted-assets-panel>button { min-height:34px; padding:0 11px; border:1px solid var(--line); border-radius:8px; background:#192025; color:#c8cdd1; font-size:9px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.trusted-action-row .primary,.trusted-assets-panel>button.primary { border-color:#665331; background:#2a2115; color:var(--accent-strong); font-weight:800; }
.trusted-section-head { justify-content:space-between; margin:15px 0 9px; color:#cbd0d3; font-size:10px; }
.trusted-assets-list { display:grid; gap:8px; min-height:90px; }
.trusted-asset-row { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:11px; padding:9px; border:1px solid var(--line-soft); border-radius:10px; background:#0d1114; }
.trusted-asset-row img,.trusted-asset-row video { width:56px; height:46px; object-fit:cover; border-radius:7px; background:#090b0d; }
.trusted-asset-row>span:first-child { display:grid; place-items:center; width:56px; height:46px; border-radius:7px; background:#12191d; color:#75d8ff; font-size:16px; }
.trusted-asset-row b,.trusted-asset-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trusted-row-actions{display:flex;gap:6px}.trusted-row-actions button{height:30px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#182025;color:#c8cdd1;font-size:8px;cursor:pointer}.trusted-row-actions button.danger{border-color:#633c3c;color:#dd8f89}.trusted-row-actions button.danger:hover{background:#3a2020}
:root[data-theme="light"] .asset-workspace.virtual-assets-mode{background:radial-gradient(circle at 75% 15%,#856cff12,transparent 38%),linear-gradient(145deg,#f5f7f9,#fff)}
:root[data-theme="light"] .virtual-quota-card,:root[data-theme="light"] .virtual-portrait-card,:root[data-theme="light"] .virtual-library-search{border-color:#d8dee5;background:#fff;color:#29313a;box-shadow:0 8px 24px #2f455b0b}
:root[data-theme="light"] .virtual-side-stats button:hover{background:#edf1f5}:root[data-theme="light"] .virtual-side-stats button.active{border-color:#a99aeb;background:#eeeaff;color:#5a43b7}
:root[data-theme="light"] .virtual-portrait-cover{background:#e9edf1}:root[data-theme="light"] .virtual-card-empty{background:linear-gradient(145deg,#f4f6f8,#e9edf1);color:#87929c}
:root[data-theme="light"] .virtual-portrait-card-actions button{border-color:#d3dbe2;background:#f7f9fa;color:#4e5964}:root[data-theme="light"] .virtual-portrait-card-actions button.primary{border-color:#6950db;background:#6044df;color:#fff}
:root[data-theme="light"] .virtual-create-intro{border-color:#d7cff5;background:linear-gradient(120deg,#f2efff,#f8fafb)}:root[data-theme="light"] .virtual-create-intro aside{background:#fff;box-shadow:0 5px 18px #4d3d8412}:root[data-theme="light"] .trusted-assets-panel input[type=file]{background:#f8fafb;color:#68737d}
:root[data-theme="light"] .virtual-detail-hero{border-color:#d8dee5;background:linear-gradient(120deg,#f3f0ff,#fff)}:root[data-theme="light"] .virtual-detail-cover,:root[data-theme="light"] .virtual-detail-media{background:#e9edf1}:root[data-theme="light"] .virtual-detail-asset{border-color:#d8dee5;background:#fff;box-shadow:0 8px 22px #31455c0d}:root[data-theme="light"] .virtual-detail-hero>div:last-child>div span{background:#ece8fa;color:#624ca7}:root[data-theme="light"] .virtual-detail-actions button{border-color:#d4dce3;background:#f6f8fa;color:#4c5761}:root[data-theme="light"] .virtual-detail-actions button.primary{border-color:#6951d1;background:#563cd4;color:#fff}
@media(max-width:760px){.virtual-detail-hero{grid-template-columns:1fr}.virtual-detail-cover{height:220px}.virtual-detail-section-head{align-items:flex-start;gap:12px}.virtual-detail-grid{grid-template-columns:1fr}}
.trusted-asset-row b { color:#d2d7da; font-size:10px; }
.trusted-asset-row small { margin-top:5px; color:var(--muted-2); font-size:8px; }
.trusted-asset-row .status-Active { color:#80d49c; }.trusted-asset-row .status-Failed { color:#e48d87; }.trusted-asset-row .status-Processing { color:#e0bc75; }
.trusted-asset-row button { height:32px; padding:0 10px; border:1px solid #416071; border-radius:7px; background:#13212a; color:#90d8fa; cursor:pointer; font-size:8px; }
@media(max-width:760px){.trusted-assets-grid{grid-template-columns:1fr}.trusted-asset-row{grid-template-columns:48px minmax(0,1fr)}.trusted-asset-row>button{grid-column:1/-1}}
.ark-model-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 9px;color:#aab0b5;font-size:10px}
.ark-model-head>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.ark-model-head button{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#171c20;color:#cbd1d5;cursor:pointer}
.ark-model-list{display:grid;gap:8px;min-width:0}
.ark-model-row{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:#0e1215}
.ark-model-primary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;min-width:0}
.ark-model-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) max-content max-content;align-items:end;gap:8px;min-width:0}
.ark-model-row label{min-width:0;margin:0!important;color:var(--muted-2)!important;font-size:8px!important;font-weight:650!important}
.ark-model-row label>span:first-child{display:block;margin-bottom:5px}
.ark-model-row input,.ark-model-row select{width:100%;min-width:0;height:34px;margin:0!important;padding:0 9px!important;border:1px solid var(--line);border-radius:7px;background:#151a1e;color:var(--text)}
.ark-model-enabled{display:flex!important;align-items:center;align-self:end;gap:6px!important;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;white-space:nowrap}
.ark-model-enabled input{width:auto!important;height:auto;margin:0!important;padding:0!important}
.ark-model-enabled>span{margin:0!important}
.ark-model-secondary>button{width:34px;height:34px;padding:0;border:1px solid #513233;border-radius:7px;background:#211416;color:#d98686;cursor:pointer}
.ark-official-badge{display:grid;place-items:center;align-self:end;min-width:42px;height:34px;padding:0 8px;border:1px solid #42634f;border-radius:7px;color:#8dd0a5;font-size:8px;text-align:center}
@media(max-width:680px){
  .ark-model-head{align-items:flex-start;flex-direction:column}
  .ark-model-head>span{justify-content:flex-start}
  .ark-model-primary{grid-template-columns:1fr}
  .ark-model-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ark-model-enabled{grid-column:1}
  .ark-model-secondary>button,.ark-official-badge{grid-column:2;justify-self:end}
}

.backdrop { position: fixed; z-index: 45; inset: 0; display: none; background: #05060766; }
.backdrop.show { display: block; }

.toast { position: fixed; z-index: 100; right: 24px; bottom: 72px; max-width: min(420px, calc(100vw - 36px)); padding: 11px 15px; border: 1px solid #3a4249; border-radius: 10px; background: #181d21; color: #e5e7e9; box-shadow: 0 12px 35px #0008; font-size: 10px; opacity: 0; transform: translateY(16px); pointer-events: none; transition: .22s ease; }
.toast.show { opacity: 1; transform: none; }
.toast.bad { border-color: #653733; background: #291818; color: #ffaaa3; }

.hidden { display: none !important; }

@keyframes pulse { 50% { opacity: .35; } }

@media (max-width: 980px) {
  .topbar { grid-template-columns: 1fr auto; }
  .brand-lockup { display: none; }
  .save-state { display: none; }
  .canvas-guide { display: none; }
}

@media (max-width: 720px) {
  .topbar { height: 66px; padding: 0 12px; }
  .toolbar-button { width: 38px; padding: 0; }
  .toolbar-button span:not(.button-icon) { display: none; }
  .drawer { width: min(calc(100vw - var(--sidebar-width)), 370px); padding: 20px; }
  .inspector { min-width:520px; }
  .canvas-operation-dock { right:12px; bottom:14px; }
  body:has(#assetQuickPanel.open) .canvas-operation-dock { right:12px; }
  .canvas-guide { display:none; }
  .canvas-node { --node-width: 250px; }
  .modal-actions.split { grid-template-columns: 1fr 1fr; }
  .modal-actions.split span { display: none; }
}

/* 2026-07 黑白主题系统 */
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#08090a;
  --panel:#111417;
  --panel-2:#161a1e;
  --panel-3:#1c2126;
  --line:#2a3036;
  --line-soft:#20252a;
  --text:#f2f1ed;
  --muted:#8e969e;
  --muted-2:#626a72;
  --theme-canvas-dot:#30353a;
  --theme-sidebar:#0b0d0f;
  --theme-topbar:#0d1013f2;
  --theme-surface:#111417f7;
  --theme-input:#0d1013;
  --theme-hover:#1b2025;
  --theme-shadow:#0009;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg:#f7f8fa;
  --panel:#ffffff;
  --panel-2:#f7f8fa;
  --panel-3:#eef1f4;
  --line:#dce1e7;
  --line-soft:#e9edf1;
  --text:#181a1f;
  --muted:#69717d;
  --muted-2:#9299a3;
  --accent:#426b91;
  --accent-strong:#315a80;
  --green:#4e8a45;
  --red:#bd4f48;
  --blue:#3979c8;
  --purple:#7454b4;
  --theme-canvas-dot:#d5dae0;
  --theme-sidebar:#ffffff;
  --theme-topbar:#fffffff2;
  --theme-surface:#fffffff7;
  --theme-input:#ffffff;
  --theme-hover:#f0f2f5;
  --theme-shadow:#26384a1f;
  --shadow:0 20px 60px #26384a1f;
}
body,.studio-shell,.primary-sidebar,.topbar,.canvas-stage,.image-studio,.transfer-studio,.board-studio,.asset-workspace,.drawer,.modal,.inspector,.asset-quick-panel {
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.theme-nav{margin-top:auto}.settings-nav{margin-top:0}
.brand-logo{border-color:transparent!important;background:transparent!important;border-radius:0!important}
.brand-logo img{object-fit:contain}
.empty-mark img{filter:drop-shadow(0 14px 28px var(--theme-shadow))}

:root[data-theme="light"] body,
:root[data-theme="light"] .studio-shell{background:var(--bg);color:var(--text)}
:root[data-theme="light"] .primary-sidebar{border-color:var(--line);background:var(--theme-sidebar);box-shadow:10px 0 30px var(--theme-shadow)}
:root[data-theme="light"] .primary-sidebar .brand-lockup{border-color:var(--line-soft)}
:root[data-theme="light"] .primary-nav-item{color:#626b76}
:root[data-theme="light"] .primary-nav-item span{color:#7d8691}
:root[data-theme="light"] .primary-nav-item:hover{background:#f1f3f6;color:#181a1f}
:root[data-theme="light"] .primary-nav-item.active{border-color:#cbd8e4;background:#eaf0f7;color:#315a80;box-shadow:inset 2px 0 #426b91}
:root[data-theme="light"] .primary-nav-item.active span{color:#426b91}

/* 自动收缩主导航：内容区始终按窄栏布局，展开时覆盖而不推动工作区。 */
:root{--sidebar-width:68px}
.primary-sidebar{width:68px;padding-inline:8px;overflow:hidden;transition:width .18s ease,box-shadow .18s ease}
.primary-sidebar .brand-lockup{display:flex!important;width:100%;min-width:0;justify-content:center;gap:0;padding-inline:0}
.primary-sidebar .brand-logo{flex:0 0 38px}
.primary-sidebar .brand-copy{display:block!important;flex:0 0 auto;width:0;max-width:0;margin:0;overflow:hidden;opacity:0;visibility:hidden;white-space:nowrap}
.primary-sidebar .primary-nav-item{justify-content:center;gap:0;padding-inline:0}
.primary-sidebar .primary-nav-item span{flex:0 0 22px;width:22px;margin:0;text-align:center}
.primary-sidebar .primary-nav-item b{display:block!important;flex:0 0 auto;width:0;max-width:0;margin:0;overflow:hidden;opacity:0;visibility:hidden;white-space:nowrap}
.primary-sidebar .nav-section-label{display:none!important}
.primary-sidebar:hover,.primary-sidebar:has(:focus-visible){width:196px;box-shadow:18px 0 42px #0006}
.primary-sidebar:hover .brand-lockup,.primary-sidebar:has(:focus-visible) .brand-lockup{justify-content:flex-start;gap:10px;padding-inline:8px}
.primary-sidebar:hover .brand-copy,.primary-sidebar:has(:focus-visible) .brand-copy{width:auto;max-width:125px;opacity:1;visibility:visible}
.primary-sidebar:hover .primary-nav-item,.primary-sidebar:has(:focus-visible) .primary-nav-item{justify-content:flex-start;gap:11px;padding-inline:12px}
.primary-sidebar:hover .primary-nav-item b,.primary-sidebar:has(:focus-visible) .primary-nav-item b{width:auto;max-width:125px;opacity:1;visibility:visible}
.primary-sidebar:hover .nav-section-label,.primary-sidebar:has(:focus-visible) .nav-section-label{display:block!important}
.drawer-left{transition:left .18s ease,transform .22s ease}
.primary-sidebar:hover~.drawer-left.open,.primary-sidebar:has(:focus-visible)~.drawer-left.open{left:196px}
:root[data-theme="light"] .nav-section-label{color:#a1a5a4}
:root[data-theme="light"] .topbar{border-color:var(--line);background:var(--theme-topbar)}
:root[data-theme="light"] .project-context,
:root[data-theme="light"] .topbar-tool,
:root[data-theme="light"] .device-chip,
:root[data-theme="light"] .zoom-controls,
:root[data-theme="light"] .canvas-guide{border-color:var(--line);background:#fff;color:#454948;box-shadow:0 7px 20px var(--theme-shadow)}
:root[data-theme="light"] .project-context span,
:root[data-theme="light"] .workspace-heading span,
:root[data-theme="light"] .canvas-guide{color:var(--muted)}
:root[data-theme="light"] .canvas-stage{background-color:var(--bg);background-image:radial-gradient(circle,var(--theme-canvas-dot) 1px,transparent 1.2px)}
:root[data-theme="light"] .canvas-empty{color:var(--muted)}
:root[data-theme="light"] .canvas-empty strong{color:var(--text)}
:root[data-theme="light"] .canvas-empty button{border-color:#426b91;background:#426b91;color:#fff}

:root[data-theme="light"] .image-studio,
:root[data-theme="light"] .transfer-studio,
:root[data-theme="light"] .board-studio{background:radial-gradient(circle at 18% 3%,#dce8f450,transparent 30%),linear-gradient(145deg,#f7f8fa,#ffffff 58%,#f1f4f7)}
:root[data-theme="light"] .asset-workspace{background:linear-gradient(145deg,#f7f8fa,#fff)}
:root[data-theme="light"] .image-history-panel,
:root[data-theme="light"] .image-control-panel,
:root[data-theme="light"] .transfer-destination-card,
:root[data-theme="light"] .transfer-upload-card,
:root[data-theme="light"] .transfer-library-card,
:root[data-theme="light"] .transfer-list-head,
:root[data-theme="light"] .transfer-box-view>.transfer-file-list,
:root[data-theme="light"] .board-project-card,
:root[data-theme="light"] .asset-card,
:root[data-theme="light"] .quick-asset-card{border-color:var(--line);background:var(--panel);color:var(--text);box-shadow:0 10px 28px var(--theme-shadow)}
:root[data-theme="light"] .image-studio-note,
:root[data-theme="light"] .quick-asset-hint,
:root[data-theme="light"] .security-note{border-color:#d5e0eb;background:#f2f6fa;color:#42617d}
:root[data-theme="light"] .image-upload-zone,
:root[data-theme="light"] .transfer-dropzone{border-color:#c9ceca;background:#fafbf9;color:var(--text)}
:root[data-theme="light"] .image-form-row select,
:root[data-theme="light"] .image-studio-form textarea,
:root[data-theme="light"] .transfer-meta input,
:root[data-theme="light"] .transfer-meta textarea,
:root[data-theme="light"] .transfer-toolbar input,
:root[data-theme="light"] .transfer-toolbar select{border-color:var(--line);background:var(--theme-input);color:var(--text)}

:root[data-theme="light"] .asset-quick-panel,
:root[data-theme="light"] .drawer{border-color:var(--line);background:var(--theme-surface);color:var(--text);box-shadow:18px 0 45px var(--theme-shadow)}
:root[data-theme="light"] .asset-folder,
:root[data-theme="light"] .asset-tabs button,
:root[data-theme="light"] .asset-main-tabs button,
:root[data-theme="light"] .quick-asset-tabs button{color:var(--muted)}
:root[data-theme="light"] .asset-main-tabs,
:root[data-theme="light"] .asset-tabs{
  border-color:var(--line);
  background:#f1f3f6;
}
:root[data-theme="light"] .asset-workspace > .asset-toolbar select,
:root[data-theme="light"] .asset-workspace > .asset-toolbar button{
  border-color:var(--line);
  background:var(--theme-input);
  color:var(--text);
}
:root[data-theme="light"] .asset-folder:hover,
:root[data-theme="light"] .quick-asset-card:hover{background:var(--theme-hover)}
:root[data-theme="light"] .asset-folder.active,
:root[data-theme="light"] .asset-tabs button.active,
:root[data-theme="light"] .asset-main-tabs button.active,
:root[data-theme="light"] .quick-asset-tabs button.active{border-color:#cbd8e4;background:#eaf0f7;color:#315a80}
:root[data-theme="light"] .asset-placeholder,
:root[data-theme="light"] .quick-asset-card img,
:root[data-theme="light"] .quick-asset-card video{background:#eceeeb}

:root[data-theme="light"] .modal,
:root[data-theme="light"] .inspector,
:root[data-theme="light"] .node-menu,
:root[data-theme="light"] .context-menu{border-color:var(--line);background:var(--panel);color:var(--text);box-shadow:0 22px 60px var(--theme-shadow)}
:root[data-theme="light"] .model-picker{
  border-color:var(--line);
  background:#f4f5f2;
}
:root[data-theme="light"] .model-picker-head button{
  border-color:var(--line);
  background:var(--theme-input);
  color:var(--text);
}
:root[data-theme="light"] .modal::backdrop{background:#2f332d55}
:root[data-theme="light"] .modal input,
:root[data-theme="light"] .modal textarea,
:root[data-theme="light"] .modal select,
:root[data-theme="light"] .inspector input,
:root[data-theme="light"] .inspector textarea,
:root[data-theme="light"] .inspector select,
:root[data-theme="light"] .form-fields input,
:root[data-theme="light"] .form-fields textarea{border-color:var(--line);background:var(--theme-input);color:var(--text)}
:root[data-theme="light"] .form-fields input[readonly]{background:#f1f2ef;color:#777c7a}
:root[data-theme="light"] .modal-actions button,
:root[data-theme="light"] .inspector-close,
:root[data-theme="light"] .node-menu button,
:root[data-theme="light"] .context-menu button{border-color:var(--line);background:#f4f5f2;color:#444948}
:root[data-theme="light"] .modal-actions button:hover,
:root[data-theme="light"] .node-menu button:hover,
:root[data-theme="light"] .context-menu button:hover{background:#e9ebe7;color:#171817}
:root[data-theme="light"] .modal-actions button.primary{border-color:#426b91;background:#426b91;color:#fff}
:root[data-theme="light"] .settings-modal .modal-actions{border-color:var(--line);background:#fffffff2}
:root[data-theme="light"] .settings-modal .modal-head{border-color:var(--line);background:#fffffff2}
:root[data-theme="light"] .settings-section,
:root[data-theme="light"] .relay-card,
:root[data-theme="light"] .brand-asset-card,
:root[data-theme="light"] .trusted-assets-panel,
:root[data-theme="light"] .trusted-asset-row{border-color:var(--line);background:#f7f8f5;color:var(--text)}
:root[data-theme="light"] .brand-asset-preview,
:root[data-theme="light"] .trusted-manager-tabs{background:#eceeeb}

:root[data-theme="light"] .canvas-node{border-color:#cfd3d1;background:#fff;color:var(--text);box-shadow:0 16px 36px var(--theme-shadow)}
:root[data-theme="light"] .generation-loader,
:root[data-theme="light"] .image-history-card.pending{--generation-bg:#f3f3f2;--generation-dot:#252a3040;--generation-copy:#626a72;border-color:#e3e5e5}
:root[data-theme="light"] .image-history-card.pending div{color:#2e3439}
:root[data-theme="light"] .image-history-card.pending small{color:#69727a}
:root[data-theme="light"] .image-history-card.pending p{color:#858c92}
:root[data-theme="light"] .node-head{border-color:var(--line-soft);background:#f7f8f5;color:#5e6462}
:root[data-theme="light"] .node-body,
:root[data-theme="light"] .inspector .prompt-highlight-layer,
:root[data-theme="light"] .inspector .helper{background:#fff;color:var(--text)}
:root[data-theme="light"] .node-port{border-color:#858b89;background:#fff}
:root[data-theme="light"] .edge-path{stroke:#7f8784}
:root[data-theme="light"] .team-board-canvas{border-color:var(--line);background-color:#f7f8f5;background-image:radial-gradient(circle,#cdd1ce 1px,transparent 1.2px)}
:root[data-theme="light"] .board-toolbar,
:root[data-theme="light"] .board-node{border-color:var(--line);background:#fff;color:var(--text);box-shadow:0 12px 30px var(--theme-shadow)}
:root[data-theme="light"] .board-node.note{border-color:#d1bb72;background:#fff0a8;color:#423817}
:root[data-theme="light"] .board-connection{stroke:#626b68}
:root[data-theme="light"] .board-port{border-color:#6f7774;background:#fff}

:root[data-theme="light"] .toast{border-color:var(--line);background:#fff;color:var(--text);box-shadow:0 12px 35px var(--theme-shadow)}
:root[data-theme="light"] .toast.bad{border-color:#d9aaa6;background:#fff0ef;color:#9e3d37}
:root[data-theme="light"] .creator-easter-egg{border-color:#cbd8e4;background:radial-gradient(circle at 50% 10%,#edf4fa,#fff 52%,#f7f8fa);color:#181a1f;box-shadow:0 35px 100px #26384a33}
:root[data-theme="light"] .creator-easter-egg p{color:#626b76}

/* 浅色主题：按钮、抽屉与浮层统一为冷白银灰 */
:root[data-theme="light"] .eyebrow{color:#426b91}
:root[data-theme="light"] .close-button,
:root[data-theme="light"] .inspector-close{
  border-color:var(--line);
  background:#fff;
  color:#69717d;
}
:root[data-theme="light"] .close-button:hover,
:root[data-theme="light"] .inspector-close:hover{
  border-color:#aeb8c3;
  background:#f0f2f5;
  color:#181a1f;
}
:root[data-theme="light"] .primary-action,
:root[data-theme="light"] .board-library-head button,
:root[data-theme="light"] .image-panel-toolbar button.primary,
:root[data-theme="light"] .trusted-action-row .primary,
:root[data-theme="light"] .trusted-assets-panel>button.primary{
  border-color:#426b91;
  background:#426b91;
  color:#fff;
  box-shadow:0 5px 14px #426b9124;
}
:root[data-theme="light"] .primary-action:hover,
:root[data-theme="light"] .board-library-head button:hover,
:root[data-theme="light"] .image-panel-toolbar button.primary:hover,
:root[data-theme="light"] .trusted-action-row .primary:hover,
:root[data-theme="light"] .trusted-assets-panel>button.primary:hover{
  border-color:#315a80;
  background:#315a80;
}
:root[data-theme="light"] .project-card:hover{
  border-color:var(--line);
  background:#f3f5f7;
}
:root[data-theme="light"] .project-card.active{
  border-color:#cbd8e4;
  background:#eaf0f7;
}
:root[data-theme="light"] .project-delete,
:root[data-theme="light"] .project-actions button,
:root[data-theme="light"] .image-panel-toolbar button,
:root[data-theme="light"] .trusted-action-row button,
:root[data-theme="light"] .trusted-action-row .button-link,
:root[data-theme="light"] .trusted-section-head button,
:root[data-theme="light"] .trusted-assets-panel>button,
:root[data-theme="light"] .ark-model-head button,
:root[data-theme="light"] .relay-card-actions button,
:root[data-theme="light"] .shortcut-row button{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
  box-shadow:none;
}
:root[data-theme="light"] .project-delete:hover,
:root[data-theme="light"] .project-actions button:hover,
:root[data-theme="light"] .image-panel-toolbar button:hover,
:root[data-theme="light"] .trusted-action-row button:hover,
:root[data-theme="light"] .trusted-section-head button:hover,
:root[data-theme="light"] .ark-model-head button:hover{
  border-color:#b9c3cd;
  background:#f0f2f5;
  color:#181a1f;
}
:root[data-theme="light"] .project-monogram{
  background:linear-gradient(145deg,#edf2f7,#dfe7ef);
  color:#426b91;
}
:root[data-theme="light"] .trash-toggle{color:#69717d}
:root[data-theme="light"] .trash-toggle.active{color:#426b91}
:root[data-theme="light"] .trash-toggle span{background:#e8ecf0;color:#4f5964}
:root[data-theme="light"] .drawer-foot button{color:#4f5964}
:root[data-theme="light"] .drawer-foot button:hover{color:#315a80}
:root[data-theme="light"] .quick-asset-tabs button,
:root[data-theme="light"] .quick-asset-card{
  border-color:var(--line);
  background:#fff;
  color:var(--text);
}
:root[data-theme="light"] .asset-window-actions > button:first-child{
  border-color:#426b91;
  background:#426b91;
  color:#fff;
}
:root[data-theme="light"] .trusted-manager-tabs{border-color:var(--line);background:#f1f3f6}
:root[data-theme="light"] .trusted-manager-tabs button{color:#69717d}
:root[data-theme="light"] .trusted-manager-tabs button.active{background:#eaf0f7;color:#315a80}
:root[data-theme="light"] .trusted-current-preview,
:root[data-theme="light"] .ark-model-row{
  border-color:var(--line);
  background:#fff;
}
:root[data-theme="light"] .ark-model-head{color:#69717d}
:root[data-theme="light"] .ark-model-row select{border-color:var(--line);background:#fff;color:var(--text)}
:root[data-theme="light"] .relay-card-actions button.danger,
:root[data-theme="light"] .ark-model-secondary>button,
:root[data-theme="light"] .project-actions button.danger{
  border-color:#efcecb;
  background:#fff5f4;
  color:#b74740;
}
:root[data-theme="light"] .board-project-card:hover{border-color:#b9c8d7;box-shadow:0 16px 34px #26384a20}
:root[data-theme="light"] .board-project-card .board-project-icon{background:#eaf0f7;color:#426b91}
:root[data-theme="light"] .board-project-card .board-project-delete:hover{border-color:#efcecb;background:#fff1f0;color:#b74740}
:root[data-theme="light"] .board-project-controls select,
:root[data-theme="light"] .board-project-controls button,
:root[data-theme="light"] .board-topbar-back,
:root[data-theme="light"] .board-editor-title #boardBackToList{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .board-toolbar button{color:#58626d}
:root[data-theme="light"] .board-toolbar button:hover,
:root[data-theme="light"] .board-toolbar button.active{border-color:#cbd8e4;background:#eaf0f7;color:#315a80}
:root[data-theme="light"] .transfer-box-tabs{border-color:var(--line);background:#f1f3f6}
:root[data-theme="light"] .transfer-box-tabs button{color:#69717d}
:root[data-theme="light"] .transfer-box-tabs button.active{background:#426b91;color:#fff}
:root[data-theme="light"] .destination-options label{border-color:var(--line);background:#fff}
:root[data-theme="light"] .destination-options label:has(input:checked){border-color:#9eb7cd;background:#eef5fb}
:root[data-theme="light"] .transfer-meta select,
:root[data-theme="light"] .transfer-list-head button,
:root[data-theme="light"] .transfer-meta-actions button,
:root[data-theme="light"] .transfer-toolbar button{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .transfer-meta-actions .primary{border-color:#426b91;background:#426b91;color:#fff}
:root[data-theme="light"] .image-mention-menu{border-color:var(--line);background:#fff;box-shadow:0 15px 35px #26384a24}
:root[data-theme="light"] .image-mention-menu button:hover{background:#eef3f8}
:root[data-theme="light"] button:focus-visible,
:root[data-theme="light"] input:focus-visible,
:root[data-theme="light"] textarea:focus-visible,
:root[data-theme="light"] select:focus-visible{
  outline:2px solid #9db7cd;
  outline-offset:2px;
}
:root[data-theme="light"] .settings-modal,
:root[data-theme="light"] .trusted-assets-modal{outline:0}
:root[data-theme="light"] .form-fields label,
:root[data-theme="light"] .settings-modal label,
:root[data-theme="light"] .settings-modal summary{color:#59636f}
:root[data-theme="light"] .form-fields input:focus,
:root[data-theme="light"] .form-fields textarea:focus,
:root[data-theme="light"] .settings-modal input:focus,
:root[data-theme="light"] .settings-modal textarea:focus,
:root[data-theme="light"] .settings-modal select:focus{
  border-color:#8eabc4;
  box-shadow:0 0 0 2px #426b9118;
}
:root[data-theme="light"] .model-checklist label{
  border:1px solid var(--line-soft);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .model-checklist label:has(input:checked){
  border-color:#cbd8e4;
  background:#eaf0f7;
  color:#315a80;
}
:root[data-theme="light"] .prompt-library-card button{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .protected-lock{
  border-color:#cbd8e4;
  background:#f2f6fa;
}
:root[data-theme="light"] .protected-lock > span{color:#596f84}
:root[data-theme="light"] .shared-library-test button,
:root[data-theme="light"] .relay-card-actions button,
:root[data-theme="light"] .relay-add,
:root[data-theme="light"] .brand-asset-card button{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .shared-library-test button:hover,
:root[data-theme="light"] .relay-card-actions button:hover,
:root[data-theme="light"] .relay-add:hover,
:root[data-theme="light"] .brand-asset-card button:hover{
  border-color:#b9c3cd;
  background:#f0f2f5;
  color:#181a1f;
}
:root[data-theme="light"] .shared-library-test span{color:#69717d}
:root[data-theme="light"] .brand-asset-card > b{color:#3f4751}
:root[data-theme="light"] .zoom-controls button{color:#69717d}
:root[data-theme="light"] .zoom-controls button:hover{background:#f0f2f5;color:#181a1f}
:root[data-theme="light"] .canvas-minimap{border-color:#cfd5da;background:#fffffff0;box-shadow:0 12px 30px #26384a24}
:root[data-theme="light"] .canvas-minimap-edge{stroke:#a4afb8}
:root[data-theme="light"] .canvas-minimap-node{fill:#aeb8c0;stroke:#7f8b95}
:root[data-theme="light"] .canvas-minimap-node.group{fill:#edf1f4;stroke:#9da8b1}
:root[data-theme="light"] .canvas-minimap-node.selected{fill:#426b91;stroke:#294f72}
:root[data-theme="light"] .canvas-minimap-viewport{fill:#426b9114;stroke:#426b91}
:root[data-theme="light"] .image-upload-empty,
:root[data-theme="light"] .image-upload-empty span,
:root[data-theme="light"] .image-upload-empty small,
:root[data-theme="light"] .image-upload-tip{color:#647c93}
:root[data-theme="light"] .image-upload-zone.dragging{
  border-color:#7fa2c0;
  background:#eef5fb;
  box-shadow:0 0 20px #426b9120;
}
:root[data-theme="light"] .image-reference-card{
  border-color:var(--line);
  background:#f7f8fa;
}
:root[data-theme="light"] .image-reference-card > span{color:#596f84}
:root[data-theme="light"] .image-reference-add{
  border-color:#9eb7cd;
  background:#f2f6fa;
  color:#426b91;
}

/* 浅色主题：专业生图与画布生成节点 */
:root[data-theme="light"] .image-studio-form label{color:#4f5964}
:root[data-theme="light"] .image-library-badge{
  border-color:#b9cde0;
  background:#edf4fae8;
  color:#315a80;
}
:root[data-theme="light"] .image-history-card.selected{
  border-color:#7f9fbc;
  box-shadow:0 0 0 2px #426b9128,0 0 18px #426b9118;
}
:root[data-theme="light"] .image-history-check{
  border-color:#7f9fbc;
  background:#426b91e8;
  color:#fff;
}
:root[data-theme="light"] .node-card-summary strong,
:root[data-theme="light"] .node-card-summary p,
:root[data-theme="light"] .reference-chip span{color:#303741}
:root[data-theme="light"] .text-node-editor{
  border-color:var(--line);
  background:#fff;
  color:#181a1f;
  caret-color:#181a1f;
}
:root[data-theme="light"] .text-node-editor::placeholder{color:#9299a3}
:root[data-theme="light"] .text-node-footer button{
  border-color:var(--line);
  background:#f7f8fa;
  color:#3f4751;
}
:root[data-theme="light"] .text-node-footer button:hover{border-color:#b9c3cd;background:#eef1f4}
:root[data-theme="light"] .text-node-footer button.saved{border-color:#b9cde0;background:#edf4fa;color:#315a80}
:root[data-theme="light"] .inspector:has(.video-generator-panel){
  border-color:var(--line);
  background:#fff;
  color:var(--text);
  box-shadow:0 22px 55px var(--theme-shadow);
}
:root[data-theme="light"] .type-videoGenerator{border-color:var(--line);background:#fff}
:root[data-theme="light"] .video-generator-empty{
  border-color:var(--line);
  background:#f7f8fa;
  color:#69717d;
}
:root[data-theme="light"] .video-generator-empty-icon{border-color:#7f8a96;color:#4f5964}
:root[data-theme="light"] .video-generator-empty b{color:#252b33}
:root[data-theme="light"] .video-generator-empty small{color:#69717d}
:root[data-theme="light"] .node-body video.previewable-media,
:root[data-theme="light"] .video-generator-result video.previewable-media,:root[data-theme="light"] .image-generator-result img.previewable-media{background:#fff}
:root[data-theme="light"] .video-generator-loader{background:#f3f5f7}
:root[data-theme="light"] .video-generator-failed{background:#fff4f3}
:root[data-theme="light"] .video-mode-tab{color:#69717d}
:root[data-theme="light"] .video-mode-tab.active{border-bottom-color:#426b91;color:#315a80}
:root[data-theme="light"] .video-node-stats{color:#69717d}
:root[data-theme="light"] .video-reference-empty,
:root[data-theme="light"] .video-reference-slot{
  border-color:#cbd2d9;
  background:#f7f8fa;
  color:#69717d;
}
:root[data-theme="light"] .video-reference-slot.drag-over{
  border-color:#7f9fbc;
  background:#edf4fa;
  box-shadow:0 0 0 2px #426b9124;
}
:root[data-theme="light"] .video-reference-slot b{color:#252b33}
:root[data-theme="light"] .video-reference-slot small{color:#69717d}
:root[data-theme="light"] .video-reference-kind{background:#e9edf1;color:#3f4751}
:root[data-theme="light"] .video-reference-slot button{
  border-color:#d5dade;
  background:#fffffff0;
  color:#b74740;
}
:root[data-theme="light"] .video-prompt-area .prompt-editor-wrap .prompt-highlight-layer{
  border-color:var(--line);
  background:#fff;
}
:root[data-theme="light"] .video-prompt-area .prompt-editor-wrap textarea[data-prompt-editor]{
  color:#181a1f!important;
  -webkit-text-fill-color:#181a1f!important;
  caret-color:#181a1f;
}
:root[data-theme="light"] .prompt-expand-button{border-color:#c4ccd3;background:#f2f5f7e8;color:#4e5963}:root[data-theme="light"] .prompt-expand-button:hover{border-color:#8b76c7;background:#eeeafd;color:#4e3994}:root[data-theme="light"] .prompt-resize-handle::after{background:#a5afb8}
:root[data-theme="light"] .inline-prompt-mention{
  background:#b9cde080;
  box-shadow:inset 0 0 0 1px #7f9fbcaa;
}
:root[data-theme="light"] .video-final-prompt{border-color:var(--line);background:#f7f8fa}
:root[data-theme="light"] .video-final-prompt summary{color:#59636f}
:root[data-theme="light"] .video-final-prompt pre{border-color:var(--line);color:#303741}
:root[data-theme="light"] .video-provider-controls label{color:#59636f}
:root[data-theme="light"] .video-provider-controls select,
:root[data-theme="light"] .video-parameter-chip,
:root[data-theme="light"] .video-reset-button{
  border-color:var(--line);
  background:#fff;
  color:#3f4751;
}
:root[data-theme="light"] .video-parameter-chip:hover,
:root[data-theme="light"] .video-parameter-chip[aria-expanded="true"]{
  border-color:#9eb7cd;
  background:#edf4fa;
  color:#315a80;
}
:root[data-theme="light"] .video-reset-button:hover{border-color:#b9c3cd;background:#f0f2f5;color:#181a1f}
:root[data-theme="light"] .video-settings-popover{border-color:#cbd2d9;background:#fff;color:#252b33;box-shadow:0 20px 48px #29313a24}
:root[data-theme="light"] .video-settings-head{border-bottom-color:#e1e5e9}
:root[data-theme="light"] .video-settings-head>b{color:#3f4751}
:root[data-theme="light"] .video-settings-close::before,
:root[data-theme="light"] .video-settings-close::after{background:#7b858e}
:root[data-theme="light"] .video-settings-close:hover{background:#eef1f4}
:root[data-theme="light"] .video-settings-close:hover::before,
:root[data-theme="light"] .video-settings-close:hover::after{background:#252b33}
:root[data-theme="light"] .video-setting-section.focused{border-color:#9eb7cd;background:#edf4fa}
:root[data-theme="light"] .video-setting-section em{color:#315a80}
:root[data-theme="light"] .video-setting-options button{background:#f0f2f4;color:#4f5964}
:root[data-theme="light"] .video-setting-options button:hover{background:#e5eaee;color:#252b33}
:root[data-theme="light"] .video-setting-options button.active{background:#dce9f3;color:#315a80}
:root[data-theme="light"] .video-ratio-options button{color:#69717d}
:root[data-theme="light"] .video-ratio-options button:hover{background:#f0f2f4;color:#303741}
:root[data-theme="light"] .video-ratio-options button.active{background:#dce9f3;color:#315a80}
:root[data-theme="light"] .video-duration-scale{color:#7a838d}
:root[data-theme="light"] .canvas-guide{
  border-color:var(--line);
  background:#fffffff2;
  color:#69717d;
}
:root[data-theme="light"] .canvas-guide kbd{
  border-color:#d5dae0;
  background:#eef1f4;
  color:#303741;
}
.account-test-panel{border-color:#675329}.account-test-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px}.account-test-actions button{border-color:#755c2c;color:#edcf8e}.account-task-head,.account-task-row{display:grid;grid-template-columns:145px 1.4fr .65fr .65fr .65fr 145px;align-items:center;gap:12px;padding:11px 17px;font-size:9px}.account-task-head{background:#0b0e10;color:#717a80}.account-task-row{border-top:1px solid #242a2e}.account-task-row small{display:block;margin-top:4px;color:#737d84}.account-task-row .succeeded{color:#74d5aa}.account-task-row .failed{color:#f28d94}.account-task-row .processing{color:#e3c477}@media(max-width:900px){.account-test-actions{grid-template-columns:1fr 1fr}.account-task-head{display:none}.account-task-row{grid-template-columns:1fr 1fr}}
:root[data-theme="light"] .account-center-dialog,:root[data-theme="light"] .account-center-dialog>header{background:#fff;color:#1c242b}
.account-gate:not(.hidden) ~ .studio-shell{visibility:hidden;pointer-events:none}
