.candao-artifact-library { --artifact-accent:var(--workspace-green-dark,#73edb7); --artifact-line:var(--workspace-line,rgba(148,163,184,.25)); display:flex; min-height:0; flex-direction:column; gap:10px;color:var(--workspace-ink,#edf8f1) }
.candao-artifact-library.is-file-dragover { outline:2px dashed var(--workspace-green,#36d996); outline-offset:-4px; border-radius:14px; background:color-mix(in srgb,var(--workspace-green,#36d996) 8%,transparent); }
.candao-artifact-library__toolbar { display:grid; gap:8px; }
.candao-artifact-library__search { flex:1 1 180px; min-width:0; display:flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid var(--artifact-line); border-radius:12px; background:var(--workspace-subtle,#16221b); }
.candao-artifact-library__search .material-icons { font-size:18px; color:#64748b; }
.candao-artifact-library__search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:inherit; font:inherit; }
.candao-artifact-library button { font:inherit; }
.candao-artifact-library__controls { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto; gap:6px; }
.candao-artifact-library__controls select,.candao-artifact-library__upload { min-width:0; height:34px; border:1px solid var(--artifact-line); border-radius:9px; background:var(--workspace-subtle,#16221b); color:inherit; font:inherit; font-size:12px; }
.candao-artifact-library__controls select { padding:0 7px; }
.candao-artifact-library__upload { display:flex; align-items:center; gap:4px; padding:0 9px; border-color:var(--workspace-green,#36d996); color:var(--workspace-green-dark,#73edb7); cursor:pointer; }
.candao-artifact-library__upload .material-icons { font-size:17px; }
.candao-artifact-library__status { margin:0; color:var(--workspace-muted,#9aa9a1); font-size:12px; }
.candao-artifact-library__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:8px; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.candao-artifact-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--artifact-line); border-radius:14px; background:var(--workspace-subtle,#16221b); overflow:hidden; cursor:grab; }
.candao-artifact-card:active { cursor:grabbing; }
.candao-artifact-card__primary { width:100%; min-width:0; display:flex; align-items:center; gap:10px; padding:12px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer;text-decoration:none }
.candao-artifact-card__primary>.material-icons { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:11px; background:rgba(24,132,90,.1); color:var(--artifact-accent); }
.candao-artifact-card__body { min-width:0; display:grid; gap:3px; }
.candao-artifact-card__body strong,.candao-artifact-card__body span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.candao-artifact-card__body span { color:var(--workspace-muted,#9aa9a1); font-size:12px; }
.candao-artifact-card__meta { display:flex; align-items:center; gap:5px; min-height:34px; padding:5px 8px; border-top:1px solid var(--artifact-line); color:var(--workspace-muted,#9aa9a1); font-size:11px; }
.candao-artifact-card__meta>span { margin-right:auto; }
.candao-artifact-card__meta button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--workspace-muted,#9aa9a1); cursor:pointer; }
.candao-artifact-card__meta button[aria-pressed="true"]{background:var(--workspace-green-soft,#123629);color:var(--workspace-green-dark,#73edb7)}
.candao-artifact-card__meta .material-icons { font-size:18px; }
.candao-artifact-library__empty { grid-column:1/-1; min-height:150px; display:grid; place-content:center; justify-items:center; gap:5px; color:#64748b; text-align:center; }
.candao-artifact-library__empty .material-icons { font-size:32px; }
.candao-artifact-library__board { flex:1 1 auto; min-height:420px; }
.candao-artifact-library__board[hidden],.candao-artifact-library__grid[hidden] { display:none; }
.candao-artifact-library :focus-visible,.candao-artifact-board :focus-visible { outline:3px solid rgba(24,132,90,.35); outline-offset:2px; }

.candao-artifact-board { position:relative; min-width:0; min-height:420px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable both-edges; touch-action:pan-x pan-y; }
.candao-artifact-board__canvas { position:relative; width:150%; width:calc(var(--candao-board-scale,1.5) * 100%); min-width:calc(var(--candao-board-scale,1.5) * 600px); height:150%; height:calc(var(--candao-board-scale,1.5) * 100%); min-height:calc(var(--candao-board-scale,1.5) * 480px); background-image:radial-gradient(circle,rgba(100,116,139,.25) 1px,transparent 1px); background-size:20px 20px; }
.candao-artifact-board__canvas>[data-artifact-board-item] { position:absolute; left:0; top:0; min-width:180px; min-height:120px; overflow:auto; touch-action:none; will-change:transform,width,height; }
.candao-artifact-board__canvas>[data-artifact-board-item].is-board-active { z-index:5; user-select:none; box-shadow:0 18px 44px rgba(15,23,42,.2); }
[data-board-drag-handle] { cursor:grab; }
.is-board-active [data-board-drag-handle] { cursor:grabbing; }
.candao-artifact-board__resize { position:absolute; z-index:4; right:3px; bottom:3px; width:24px; height:24px; padding:0; border:0; border-radius:7px; background:linear-gradient(135deg,transparent 45%,rgba(24,132,90,.7) 46% 55%,transparent 56% 65%,rgba(24,132,90,.7) 66% 75%,transparent 76%); cursor:nwse-resize; }

@media (max-width:720px) {
  .candao-artifact-library__toolbar { align-items:stretch; }
  .candao-artifact-library__search { flex-basis:100%; }
  .candao-artifact-library__controls { grid-template-columns:auto minmax(0,1fr); }
  .candao-artifact-library__grid { grid-template-columns:1fr; overflow:visible; }
  .candao-artifact-library__board { min-height:0; }
  .candao-artifact-board { min-height:0; overflow:visible; }
  .candao-artifact-board__canvas { display:grid; width:100%; min-width:0; height:auto; min-height:0; gap:10px; background:none; }
  .candao-artifact-board__canvas>[data-artifact-board-item] { position:relative; width:auto; height:auto; min-height:120px; transform:none!important; }
  .candao-artifact-board__resize { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .candao-artifact-library *,.candao-artifact-board * { scroll-behavior:auto!important; transition:none!important; }
}

@media (forced-colors:active) {
  .candao-artifact-card,.candao-artifact-library__search,.candao-artifact-library button { border:1px solid CanvasText; }
}
