/* OsirisWorkflow (workflow.js): the chart card's workflow line (Unsaved, Save, Notes, tags, life events, notes), the
 * notes / Save to Library popover, and the Library's tag filter.  Theme tokens only (osiris-tokens.css); `html:not(#o)`
 * beats the legacy blanket button rules, as chart-import.css does.  The line wraps between items in a narrow panel; each
 * text item stays on one line (ellipsis), as the card name. */
html:not(#o) .wc-extras{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--o-space-2,4px);min-width:0;margin-top:2px;
  overflow:hidden;font:500 var(--o-fs-sm,11px)/1.3 var(--o-font,system-ui,sans-serif);color:var(--o-ink-muted)}
html:not(#o) .wc-extras > *{flex:0 0 auto}
html:not(#o) .wc-extras :is(.wc-x-events,.wc-x-notes){flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:not(#o) .wc-x-unsaved{padding:0 var(--o-space-2,4px);border:1px solid var(--o-accent);border-radius:var(--o-radius-sm);color:var(--o-accent);font-weight:650}
html:not(#o) .wc-x-tag{padding:0 var(--o-space-2,4px);border-radius:var(--o-radius-sm);background:var(--o-surface-sunk);color:var(--o-ink)}
html:not(#o) .wc-x-notes{font-style:italic}
html:not(#o) .wc-extras .wc-x-save{margin-left:0;border-color:var(--o-accent);color:var(--o-accent)}

html:not(#o) .wf-pop{position:fixed;z-index:10040;display:flex;flex-direction:column;gap:var(--o-space-3);width:min(340px,calc(100vw - 16px));
  box-sizing:border-box;padding:var(--o-space-4);border:1px solid var(--o-line);border-radius:var(--o-radius);background:var(--o-surface);
  box-shadow:var(--o-shadow-pop);color:var(--o-ink);font:500 var(--o-fs-sm)/1.4 var(--o-font,system-ui,sans-serif)}
html:not(#o) .wf-pop-h{font-weight:700;color:var(--o-ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:not(#o) .wf-pop-l{display:flex;flex-direction:column;gap:var(--o-space-1);color:var(--o-ink-muted)}
html:not(#o) .wf-pop-i{box-sizing:border-box;width:100%;padding:var(--o-space-2) var(--o-space-3);border:1px solid var(--o-line);border-radius:var(--o-radius-sm);
  background:var(--o-surface-sunk);color:var(--o-ink);font:500 var(--o-fs-sm)/1.4 var(--o-font,system-ui,sans-serif)}
html:not(#o) textarea.wf-pop-i{resize:vertical;min-height:84px}
html:not(#o) .wf-pop-i:focus-visible{outline:2px solid var(--o-focus);outline-offset:1px}
html:not(#o) .wf-pop-err{color:var(--o-danger,var(--o-accent))}
html:not(#o) .wf-pop-btns{display:flex;justify-content:flex-end;gap:var(--o-space-2)}
html:not(#o) .wf-pop-ok{border-color:var(--o-accent);color:var(--o-accent)}

html:not(#o) .wf-tag-bar{display:flex;flex-wrap:wrap;gap:var(--o-space-2,4px);margin:var(--o-space-2,4px) 0}
html:not(#o) .wf-tag-bar[hidden]{display:none}
html:not(#o) .wf-tag[aria-pressed="true"]{border-color:var(--o-accent);color:var(--o-accent)}
html:not(#o) .wf-tag-n{margin-left:var(--o-space-2,4px);color:var(--o-ink-muted)}
html:not(#o) #saved-list .wf-tag-out{display:none}
html:not(#o) .wf-row-tags{margin-left:var(--o-space-2,4px);color:var(--o-accent)}
html:not(#o) .wf-row-tags::before{content:'· ';color:var(--o-ink-muted)}
html:not(#o) .wf-row-save{flex:0 0 auto;margin-right:var(--o-space-1,2px);border-color:var(--o-accent);color:var(--o-accent)}
