@mean-weasel/lineage 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Lineage</title>
7
- <script type="module" crossorigin src="/assets/index-dJy71x2a.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-DI7dn5M6.css">
7
+ <script type="module" crossorigin src="/assets/index-NDba9I2v.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-EfT3Ues-.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "swissifier-rich-demo",
3
3
  "title": "Swissifier rich demo",
4
- "notes": "Rich demo seed rooted on the first generated Swissifier LinkedIn creative. Generated PNG media is restored from the pinned optional release pack.",
4
+ "notes": "Rich demo seed rooted on the first generated Swissifier LinkedIn creative. Base PNG media is restored from the pinned optional release pack; three synthetic re-roll PNG fixtures are packaged and pinned below by checksum and size.",
5
5
  "campaign": "local-review",
6
6
  "audience": "local-review",
7
7
  "media": {
@@ -20,6 +20,43 @@
20
20
  "local-27050bc5c393",
21
21
  "local-6d06bdbd9f56"
22
22
  ],
23
+ "reroll_attempts": [
24
+ {
25
+ "node_asset_id": "local-27050bc5c393",
26
+ "file": "swissifier-vertical-before-after-reroll-v2.png",
27
+ "title": "swissifier vertical before after reroll v2",
28
+ "prompt": "Re-roll the before/after poster. Remove garbled caption text, keep the two-panel Swiss composition, and make the product shape clearer.",
29
+ "generation_job_id": "demo-swissifier-reroll-before-after-v2",
30
+ "checksum_sha256": "467ea38c930dbf3b72dd2e6b1fafef1049608c12edef0e76ea89f928c6ca13a4",
31
+ "size_bytes": 2158777,
32
+ "content_type": "image/png",
33
+ "attempt_index": 2
34
+ },
35
+ {
36
+ "node_asset_id": "local-27050bc5c393",
37
+ "file": "swissifier-vertical-before-after-reroll-v3.png",
38
+ "title": "swissifier vertical before after reroll v3",
39
+ "prompt": "Re-roll again with clean geometric blocks, no legible copy, brighter contrast, and no obfuscating dark bar.",
40
+ "generation_job_id": "demo-swissifier-reroll-before-after-v3",
41
+ "checksum_sha256": "1e30dbc03c9bce31c3956f6c43fbebbfa087988f93a7c8e23d19350f25fe02c4",
42
+ "size_bytes": 2075293,
43
+ "content_type": "image/png",
44
+ "attempt_index": 3,
45
+ "current": true
46
+ },
47
+ {
48
+ "node_asset_id": "local-6d06bdbd9f56",
49
+ "file": "swissifier-drill-mint-diagonal-reroll-v2.png",
50
+ "title": "swissifier drill mint diagonal reroll v2",
51
+ "prompt": "Re-roll the mint drill image. Remove the stray diagonal artifact, keep the Swiss grid, and make the drill silhouette more readable.",
52
+ "generation_job_id": "demo-swissifier-reroll-drill-mint-v2",
53
+ "checksum_sha256": "75d9d318aedb2722761fa2f48d88a0e34cb56e27ed4f8d22f79e7798a6c4269e",
54
+ "size_bytes": 2200225,
55
+ "content_type": "image/png",
56
+ "attempt_index": 2,
57
+ "current": true
58
+ }
59
+ ],
23
60
  "assets": [
24
61
  {
25
62
  "asset_id": "local-5748fb8ba6df",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mean-weasel/lineage",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Local-first creative lineage workspace",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,6 +30,7 @@
30
30
  "audit": "npm audit --audit-level=moderate",
31
31
  "public:readiness": "node scripts/public-readiness.mjs",
32
32
  "package:smoke": "node scripts/package-smoke.mjs",
33
+ "release:claim-smoke": "node scripts/release-claim-smoke.mjs",
33
34
  "ci": "npm run check && npm run lint && npm run test && npm run knip && npm run build && npm run e2e && npm run public:readiness && npm run package:smoke && npm run audit",
34
35
  "prepare-release": "node scripts/prepare-release.mjs",
35
36
  "release": "node scripts/release.mjs",
@@ -1 +0,0 @@
1
- .drawer-backdrop.asset-detail-backdrop{z-index:55}.asset-detail-drawer{background:var(--surface);grid-template-rows:auto 1fr;gap:14px;width:min(440px,100vw);height:100vh;padding:18px;display:grid;overflow:auto;box-shadow:-18px 0 44px #121f2d33}.asset-detail-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.asset-detail-drawer h2{font-size:19px}.asset-detail-drawer header p{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800;line-height:1.35}.asset-detail-drawer .inspector{background:0 0;border-left:0;padding:0}.selection-ledger-panel{border-bottom:1px solid var(--line);background:#fbfdfe;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:11px 14px;display:grid}.asset-row:focus-visible{outline-offset:-3px;outline:3px solid #087f8c29}.asset-row.ledger-selected{background:#f5fbf6}.asset-row.ledger-selected:not(.selected){box-shadow:inset 3px 0 #2d7a45}.ledger-select-button{color:#52616b;background:#fff;border:1px solid #cad7dc;border-radius:8px;justify-content:center;align-items:center;width:31px;height:31px;padding:0;display:inline-flex}.ledger-select-button.selected{color:#2d7a45;background:#edf8f0;border-color:#9dccaa}.selection-ledger-title,.selection-ledger-actions{align-items:center;gap:8px;min-width:0;display:flex}.selection-ledger-title svg{color:#2d7a45;flex:none}.selection-ledger-title h3{font-size:13px}.selection-ledger-title p{color:var(--muted);margin-top:2px;font-size:11px;font-weight:800}.selection-ledger-actions{justify-content:flex-end}.selection-ledger-actions span,.selection-ledger-items span{color:#2f7543;background:#edf8f0;border:1px solid #c9dfcf;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.selection-ledger-actions button{color:#21323b;background:#fff;border:1px solid #c8d8de;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:31px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.selection-ledger-error{color:var(--danger);grid-column:1/-1;font-size:12px;font-weight:800}.review-set-empty{color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:800}.selection-ledger-items{flex-wrap:wrap;grid-column:1/-1;gap:7px;min-width:0;display:flex}.selection-ledger-items span{text-overflow:ellipsis;white-space:nowrap;background:#f5fbf6;max-width:100%;overflow:hidden}.review-set-panel{background:#fff;border:1px solid #d6e3e7;border-radius:8px;grid-column:1/-1;gap:10px;padding:11px;display:grid}.review-set-panel:not([open]),.review-set-history:not([open]),.review-set-detail:not([open]),.review-set-work-packet:not([open]){gap:0}.review-set-panel>summary,.review-set-history>summary,.review-set-detail>summary,.review-set-work-packet>summary{cursor:pointer;list-style:none}.review-set-panel>summary::-webkit-details-marker{display:none}.review-set-history>summary::-webkit-details-marker{display:none}.review-set-detail>summary::-webkit-details-marker{display:none}.review-set-work-packet>summary::-webkit-details-marker{display:none}.review-set-header,.review-set-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-set-header h4{text-transform:uppercase;font-size:12px}.review-set-header p{color:var(--muted);margin-top:2px;font-size:11px;font-weight:800}.review-set-header span,.review-set-actions span{color:#4d6270;white-space:nowrap;background:#f3f8fa;border:1px solid #d0e2e7;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.review-set-header-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.review-set-header-badges .review-set-next-context{color:#2f7543;background:#edf8f0;border-color:#c9dfcf}.review-set-candidates{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.review-set-candidate{color:#1e2b34;text-align:left;background:#fbfdfe;border:1px solid #d2dfe4;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:72px;padding:9px;display:grid}.review-set-candidate:hover:not(:disabled),.review-set-candidate.drafted{background:#f1fafb;border-color:#80b8c2}.review-set-candidate.selected{background:#f5fbf6;border-color:#9dccaa;box-shadow:inset 3px 0 #2d7a45}.review-set-label{color:#0d6d7a;background:#e8f4f6;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:inline-flex}.review-set-copy{min-width:0;display:grid}.review-set-copy strong,.review-set-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-set-copy strong{font-size:12px}.review-set-copy small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:800}.review-set-selected{color:#2f7543;background:#edf8f0;border:1px solid #c9dfcf;border-radius:999px;grid-column:2;justify-self:start;padding:3px 7px;font-size:10px;font-weight:900}.review-set-actions button{color:#075d67;background:#eefbfc;border:1px solid #9bcdd5;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:31px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.review-set-work-packet{background:#fbfdfe;border:1px solid #cfe0e6;border-radius:8px;gap:8px;padding:10px;display:grid}.review-set-work-packet-body{gap:8px;display:grid}.review-set-work-packet-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.review-set-work-packet h4{text-transform:uppercase;font-size:12px}.review-set-work-packet-title span{color:var(--muted);text-align:right;font-size:11px;font-weight:800}.review-set-work-packet code{overflow-wrap:anywhere;color:#21323b;background:#fff;border:1px solid #d7e3e7;border-radius:8px;padding:8px;font-size:11px;font-weight:800}.review-set-work-packet button{color:#075d67;background:#eefbfc;border:1px solid #9bcdd5;border-radius:8px;justify-self:start;min-height:31px;padding:0 10px;font-size:12px;font-weight:900}.review-set-work-packet button:disabled{color:#7a8790;background:#eef2f4;border-color:#d5dde2}.review-set-history{grid-column:1/-1;gap:8px;display:grid}.review-set-history-title,.review-set-history-row,.review-set-history-actions{align-items:center;gap:8px;min-width:0;display:flex}.review-set-history-title{justify-content:space-between}.review-set-history-title h4{text-transform:uppercase;font-size:12px}.review-set-history-title span,.review-set-status{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900}.review-set-history-title span{color:#4d6270;background:#f3f8fa;border:1px solid #d0e2e7}.review-set-history-row{background:#fff;border:1px solid #d8e3e7;border-radius:8px;grid-template-columns:auto minmax(110px,.8fr) minmax(0,1.6fr) auto;padding:8px;display:grid}.review-set-history-row.active{background:#f5fbf6;border-color:#9dccaa}.review-set-history-row.archived{color:#5b6870;background:#f8fafb}.review-set-status.active{color:#2f7543;background:#edf8f0;border:1px solid #c9dfcf}.review-set-status.archived{color:#5d6870;background:#eef2f4;border:1px solid #d5dde2}.review-set-history-row strong,.review-set-history-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-set-history-row small{color:var(--muted);font-size:11px;font-weight:800}.review-set-history-actions{justify-content:flex-end}.review-set-history-actions button{color:#21323b;background:#fff;border:1px solid #c8d8de;border-radius:8px;min-height:28px;padding:0 8px;font-size:11px;font-weight:900}.review-set-detail{background:#fbfdfe;border:1px solid #cfe0e6;border-radius:8px;grid-column:1/-1;gap:9px;padding:10px;display:grid}.review-set-detail h4{text-transform:uppercase;font-size:12px}.review-set-detail p{color:var(--muted);margin-top:2px;font-size:11px;font-weight:800}.review-set-detail-assets{flex-wrap:wrap;gap:6px;display:flex}.review-set-detail-assets span{text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d7e3e7;border-radius:999px;max-width:100%;padding:4px 8px;font-size:11px;font-weight:900;overflow:hidden}.review-set-detail-assets span.selected{color:#2f7543;background:#edf8f0;border-color:#c9dfcf}.review-set-detail code{color:#21323b;text-overflow:ellipsis;background:#fff;border:1px solid #d7e3e7;border-radius:8px;padding:8px;font-size:11px;font-weight:800;overflow:hidden}@media (width<=760px){.selection-ledger-panel{grid-template-columns:1fr}.selection-ledger-actions{justify-content:flex-start}.review-set-header,.review-set-actions,.review-set-work-packet-title,.review-set-history-row{flex-direction:column;align-items:flex-start}.review-set-work-packet-title span{text-align:left}.review-set-header-badges{justify-content:flex-start}.review-set-history-row{display:flex}.review-set-candidates{grid-template-columns:1fr}}@media (width<=860px){.app-shell,.app-shell.lineage-mode{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px}.workspace{padding:12px}.inspector{border-left:0;border-top:1px solid var(--line);padding:12px}.topbar,.board-head,.mini-stats,.pagination-bar{flex-wrap:wrap}.asset-list{max-height:none}.asset-row{grid-template-columns:34px 42px minmax(0,1fr)}.asset-meta,.asset-version{display:none}}.asset-live-inventory{border:1px solid var(--line);max-width:290px;color:var(--ink);text-align:left;background:#f7fafc;border-radius:8px;gap:2px;padding:7px 10px;display:grid}.asset-live-inventory.on{border-color:var(--accent);background:#e9f7f8}.asset-live-inventory small{color:var(--muted);font-size:11px;line-height:1.25}.agents-view{gap:14px;min-width:0;padding:20px;display:grid}.agents-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.agents-head h2{font-size:22px}.agents-head p,.agents-empty,.agents-error{color:var(--muted);font-size:13px;font-weight:800}.agents-error{color:var(--danger);background:#fff7f7;border:1px solid #b13b3b47;border-radius:8px;padding:9px 10px}.agents-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.agents-summary div{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;gap:4px;padding:11px;display:grid}.agents-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.agents-summary strong{color:#22343d;font-size:24px}.agents-group{gap:8px;min-width:0;display:grid}.agents-group h3{color:#243743;font-size:14px}.agents-list{gap:8px;display:grid}.agent-claim-row{background:#fff;border:1px solid #cbd9de;border-radius:8px;grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr) minmax(260px,1fr);align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.agent-claim-row.stale,.agent-claim-row.expired{background:#fff7f5;border-color:#e1b2a9}.agent-claim-row.idle{background:#fffaf0;border-color:#d8c58f}.agent-claim-main{align-items:center;gap:8px;min-width:0;display:flex}.agent-claim-main svg{color:var(--accent);flex:none}.agent-claim-main div,.agent-claim-target{gap:3px;min-width:0;display:grid}.agent-claim-main strong,.agent-claim-target strong{color:#22343d;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.agent-claim-main span,.agent-claim-target code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.agent-claim-row dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;display:grid}.agent-claim-row dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.agent-claim-row dd{color:#26343d;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:12px;font-weight:800;overflow:hidden}@media (width<=900px){.agents-view{padding:12px}.agents-head{flex-direction:column;align-items:stretch}.agents-summary,.agent-claim-row,.agent-claim-row dl{grid-template-columns:minmax(0,1fr)}}.content-view{gap:14px;min-width:0;display:grid}.content-head,.batch-header,.post-card header,.attach-row,.phase-controls{align-items:center;gap:10px;display:flex}.content-head,.batch-header{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;padding:14px 16px}.content-head h2,.batch-header h3{font-size:18px}.content-head p,.batch-header p{color:var(--muted);margin-top:3px;font-size:12px}.content-grid{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:14px;min-width:0;display:grid}.content-panel{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:100%;box-shadow:var(--shadow);border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.content-form{border-bottom:1px solid var(--line);gap:8px;padding-bottom:12px;display:grid}.content-form.compact{gap:7px}.content-form.inline{grid-template-columns:1fr 1.3fr .8fr .75fr auto;align-items:end}.content-form h3{text-transform:uppercase;grid-column:1/-1;font-size:13px}.batch-list,.post-list{gap:10px;display:grid}.content-tools{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:9px;padding:10px;display:grid}.target-panel{background:#fbfcfd;border:1px solid #cbd9de;border-radius:8px;gap:10px;padding:12px;display:grid}.target-panel.has-target{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.target-panel header,.target-actions,.target-meta{align-items:center;gap:8px;display:flex}.target-panel header{justify-content:space-between}.target-panel h3{align-items:center;gap:6px;font-size:14px;display:flex}.target-panel p,.target-empty{color:var(--muted);font-size:12px;font-weight:800}.target-body{gap:6px;display:grid}.target-body code{color:var(--muted);overflow-wrap:anywhere}.target-body .agent-command,.target-empty .agent-command,.queue-storage code{color:#29404a;overflow-wrap:anywhere;background:#fff;border:1px solid #cbd9de;border-radius:7px;width:100%;padding:7px 8px;font-size:12px;font-weight:800;line-height:1.4;display:block}.target-actions.wrap,.target-meta{flex-wrap:wrap}.target-meta span{color:#29404a;background:#fff;border:1px solid #cbd9de;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.target-claim-occupancy{background:#f1fbf4;border:1px solid #b8d5c2;border-radius:999px;align-items:center;gap:6px;width:fit-content;max-width:100%;padding:5px 8px;display:inline-flex;color:#245435!important;font-size:11px!important;font-weight:900!important}.target-claim-occupancy svg{flex:none}.target-claim-occupancy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.target-claim-actions{flex-wrap:wrap;gap:5px;display:inline-flex;white-space:normal!important}.target-claim-actions button{min-height:24px;color:inherit;background:#ffffffb8;border:1px solid;border-radius:999px;padding:0 7px;font-size:11px;font-weight:900}.target-claim-occupancy.idle{background:#fff8df;border-color:#d8c58f;color:#66500f!important}.target-claim-occupancy.stale{background:#fff1ee;border-color:#e1b2a9;color:#7b3428!important}.target-actions button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:900}.target-actions .danger{color:#7a321c;border-color:#e5b9aa}.content-queue{background:#f7fbfc;border:1px solid #cbd9de;border-radius:8px;gap:10px;min-width:0;max-width:100%;padding:12px;display:grid}.content-queue>header,.queue-storage,.queue-lane header,.queue-lane-title,.queue-lane-actions,.queue-item-meta,.queue-item-actions{align-items:center;gap:8px;display:flex}.content-queue>header{justify-content:space-between}.content-queue h3{align-items:center;gap:6px;font-size:14px;display:flex}.content-queue p,.queue-empty{color:var(--muted);font-size:12px;font-weight:800}.queue-storage,.queue-lane-actions,.queue-item-meta,.queue-item-actions{flex-wrap:wrap}.queue-storage span,.queue-item-meta span,.queue-lane header span{color:#29404a;background:#fff;border:1px solid #cbd9de;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.queue-next-action{background:#edf9f4;border:1px solid #9ccbbc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.queue-next-action>div:first-child{gap:3px;min-width:0;display:grid}.queue-next-action span{color:#254f42;text-transform:uppercase;font-size:11px;font-weight:900}.queue-next-action code{color:var(--muted);overflow-wrap:anywhere}.queue-lanes{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;min-width:0;max-width:100%;display:grid}.queue-lane{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:8px;min-width:0;max-width:100%;padding:10px;display:grid}.queue-lane header{justify-content:space-between;align-items:flex-start}.queue-lane header strong{font-size:13px}.queue-lane-actions button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;min-height:30px;padding:0 8px;font-size:12px;font-weight:900}.queue-items{gap:7px;min-width:0;max-width:100%;display:grid}.queue-item{background:#fff;border:1px solid #d7e1e6;border-radius:8px;gap:7px;min-width:0;max-width:100%;padding:9px;display:grid}.queue-item.is-target{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.queue-item strong,.queue-item code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.queue-item code{color:var(--muted);font-size:12px}.queue-item-actions button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;flex:86px;min-height:30px;padding:0 8px;font-size:12px;font-weight:900}.filter-row,.bulk-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row select{min-width:140px}.filter-row span,.bulk-row span{color:#48606c;font-size:12px;font-weight:900}.bulk-row button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:900}.bulk-row button:disabled{opacity:.45}.batch-list button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.batch-list button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.batch-list code,.post-card code{color:var(--muted);font-size:12px}.batch-list span{color:#48606c;font-size:12px;font-weight:800}.post-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:13px;display:grid}.post-card.is-target{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.post-card header{justify-content:space-between}.post-select,.post-status{align-items:center;gap:9px;min-width:0;display:flex}.post-select{flex:240px}.post-select span{min-width:0}.post-status{flex-wrap:wrap;justify-content:flex-end}.post-card header div,.batch-header div{min-width:0}.post-card header strong,.post-card header code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.post-card header span,.muted-pill,.asset-state,.readiness-state,.target-state{color:#29404a;background:#f7fbfc;border:1px solid #cbd9de;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.target-state{border-color:var(--accent);color:#174a78;background:#eef7ff}.readiness-state{color:#66510c;background:#fff9df;border-color:#d2c28f}.asset-state.needs-asset{color:#7a321c;background:#fff4ef;border-color:#e5b9aa}.asset-state.has-asset{color:#254f42;background:#edf9f4;border-color:#9ccbbc}.queue-backup-cue.local-only{color:#66510c;background:#fff9df;border-color:#d2c28f}.phase-scheduled header span,.phase-review header span{background:#edf9f4;border-color:#9ccbbc}.phase-posted header span{background:#f1f7ff;border-color:#bed3ea}.post-assets{flex-wrap:wrap;gap:7px;display:flex}.asset-chip{color:#24424e;background:#f8fbfc;border:1px solid #cbd9de;border-radius:999px;min-height:28px;padding:0 9px;font-size:12px;font-weight:800}.phase-controls{flex-wrap:wrap}.phase-controls input,.attach-row input{flex:160px;min-width:0}.phase-controls button,.attach-row button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;min-height:34px;padding:0 9px;font-size:12px;font-weight:900}.attach-row .target-button.active{border-color:var(--accent);color:#174a78;background:#eef7ff}.post-workbench{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:10px;display:grid}.post-preview,.asset-candidates{background:#fbfcfd;border:1px solid #cbd9de;border-radius:8px;align-content:start;gap:10px;padding:12px;display:grid}.post-preview p,.asset-candidates p{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800}.post-preview pre{border:1px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:7px;max-height:280px;padding:10px;overflow:auto}.asset-candidates header,.candidate-pager{justify-content:space-between;align-items:center;gap:8px;display:flex}.asset-candidates header span{color:var(--muted);font-size:12px;font-weight:900}.candidate-list{gap:8px;display:grid}.candidate-list article{border:1px solid var(--line);background:#fff;border-radius:7px;gap:7px;padding:9px;display:grid}.candidate-title{color:#1e313a;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.candidate-title code,.candidate-list span{color:var(--muted);font-size:12px}.candidate-list article>button:not(.candidate-title),.candidate-pager button{color:#22343d;background:#fff;border:1px solid #cbd9de;border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:900}.candidate-list article>button:not(.candidate-title):disabled,.candidate-pager button:disabled{opacity:.5}.content-empty,.content-error,.content-empty-state{border:1px solid var(--line);color:var(--muted);background:#fbfcfd;border-radius:8px;padding:12px;font-size:13px;font-weight:700}.content-empty-state{gap:8px;display:grid}.content-empty-state code{overflow-wrap:anywhere;color:#29404a;font-size:12px}@media (width<=900px){.content-grid,.content-form.inline,.post-workbench{grid-template-columns:1fr}.batch-detail{order:1}.content-sidebar{order:2}.content-head,.batch-header,.content-queue>header,.target-panel header,.post-card header,.attach-row,.target-actions,.post-status{flex-direction:column;align-items:stretch}.content-queue .secondary-button,.queue-lane-actions button,.queue-item-actions button{min-height:42px}.queue-lanes{grid-template-columns:1fr}.content-grid,.content-panel,.content-queue,.queue-lanes,.queue-lane,.queue-lane>*,.queue-items,.queue-item,.queue-item>*{min-width:0;max-width:100%}.queue-lane-actions,.queue-item-actions{width:100%}}.copy-fallback{background:#f4fbfc;border:1px solid #9ecbd2;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.copy-fallback strong{font-size:13px;display:block}.copy-fallback p{color:var(--muted);margin-top:3px;font-size:12px;font-weight:700}.copy-fallback code{color:#142831;white-space:nowrap;background:#fff;border:1px solid #c9dde2;border-radius:7px;padding:9px 10px;font-size:12px;font-weight:800;display:block;overflow-x:auto}.copy-fallback button{color:#125d68;background:#fff;border:1px solid #bdd5dc;border-radius:8px;justify-self:start;min-height:32px;padding:0 11px;font-size:12px;font-weight:800}.current-work-panel{z-index:45;background:#fffffffa;border:1px solid #8fa2aea6;border-radius:8px;width:min(430px,100vw - 36px);max-height:min(72vh,620px);margin-inline:auto;transition:box-shadow .22s,transform .22s,width .22s;display:block;position:fixed;bottom:16px;left:auto;right:18px;overflow:hidden;box-shadow:0 18px 54px #121f2d2e}.current-work-panel.open{width:min(980px,100vw - 36px);transform:translateY(-2px);box-shadow:0 22px 70px #121f2d38}.current-work-panel.collapsed{border-radius:999px;width:54px}.current-work-panel.lineage-context.open{width:min(430px,100vw - 36px)}.current-work-panel>header{justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px;display:flex}.current-work-panel.collapsed>header{justify-content:center;min-height:52px;padding:6px}.work-target-toggle{min-width:0;min-height:40px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 8px;display:grid}.work-target-toggle:hover{background:#f2f6f8}.current-work-panel.collapsed .work-target-toggle{flex:none;grid-template-columns:1fr;place-items:center;width:40px;min-height:40px;padding:0;display:grid}.current-work-panel.collapsed .work-target-toggle>span:not(.work-target-toggle-icon),.current-work-panel.collapsed .work-target-chevron,.current-work-panel.collapsed header>.secondary-button{display:none}.work-target-toggle-icon{width:30px;height:30px;color:var(--accent);background:#eef9fa;border:1px solid #087f8c33;border-radius:8px;place-items:center;display:grid}.work-target-toggle strong,.work-target-toggle small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.work-target-toggle strong{font-size:13px;font-weight:900}.work-target-toggle small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}.work-target-chevron{color:var(--muted);transition:transform .18s}.current-work-panel.open .work-target-chevron{transform:rotate(180deg)}.work-target-header-actions{flex:none;display:flex}.work-target-drawer-body{opacity:0;max-height:0;transition:max-height .24s,opacity .18s,transform .22s;overflow:hidden;transform:translateY(10px)}.work-target-drawer-body.collapsed{display:none}.work-target-drawer-body.open{opacity:1;max-height:560px;display:block;overflow:auto;transform:translateY(0)}@media (width<=760px){.current-work-panel{width:min(430px,100vw - 24px);bottom:12px;right:12px}.current-work-panel.open,.current-work-panel.lineage-context.open{width:calc(100vw - 24px)}.work-target-grid{grid-template-columns:minmax(0,1fr)}}.work-target-drawer-content{gap:12px;padding:0 14px 14px;display:grid}.work-target-intro,.current-work-panel p{color:var(--muted);font-size:12px;font-weight:700}.work-target-error{background:#fff7f7;border:1px solid #b13b3b47;border-radius:8px;padding:8px 10px;color:var(--danger)!important}.work-target-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.work-target-card{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:12px;display:grid}.work-target-card.primary{background:#f3fbfa;border-color:#087f8c73}.work-target-card.context{background:#fbfbf7}.work-target-card.asset-selection{background:#f5fbf6;border-color:#2d7a4559}.current-work-panel.lineage-context .work-target-intro,.current-work-panel.lineage-context .work-target-card:not(.context){display:none}.work-target-title{color:#21323b;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.work-target-title svg{color:var(--accent);flex:none}.work-target-title small{color:var(--muted);text-transform:none;margin-top:2px;font-size:11px;font-weight:800;display:block}.work-target-card strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.work-target-card code{overflow-wrap:anywhere;color:#5a6670;min-width:0;font-size:12px;font-weight:800}.work-target-card .command-line{border:1px solid var(--line);color:#26343d;background:#fff;border-radius:7px;padding:8px}.claim-occupancy{background:#f1fbf4;border:1px solid #b8d5c2;border-radius:999px;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;width:fit-content;max-width:100%;padding:5px 8px;display:flex;color:#245435!important;font-size:11px!important;font-weight:900!important}.claim-occupancy p{align-items:center;gap:6px;margin:0;display:inline-flex;color:inherit!important;font-size:inherit!important;font-weight:inherit!important}.claim-occupancy svg{flex:none}.claim-occupancy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.claim-occupancy-actions{flex-wrap:wrap;gap:5px;display:inline-flex}.claim-occupancy-actions button{min-height:24px;color:inherit;background:#ffffffb8;border:1px solid;border-radius:999px;padding:0 7px;font-size:11px;font-weight:900}.claim-occupancy.idle{background:#fff8df;border-color:#d8c58f;color:#66500f!important}.claim-occupancy.stale{background:#fff1ee;border-color:#e1b2a9;color:#7b3428!important}.work-target-actions{flex-wrap:wrap;gap:8px;display:flex}.work-target-actions button{color:#21323b;background:#fff;border:1px solid #c8d8de;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}@media (width<=760px){.current-work-panel{width:calc(100vw - 20px);max-height:78vh;bottom:10px;left:10px;right:10px}.work-target-drawer-body.open{max-height:480px}.current-work-panel>header{flex-direction:column;align-items:stretch}.work-target-header-actions .secondary-button{width:100%}}@media (prefers-reduced-motion:reduce){.current-work-panel,.work-target-chevron,.work-target-drawer-body{transition:none}}.ledger-view{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.ledger-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.ledger-head h2{font-size:18px}.ledger-head p{color:var(--muted);margin-top:2px;font-size:12px}.ledger-head-actions{align-items:center;gap:10px;display:flex}.ledger-head-actions span{color:var(--muted);font-size:12px;font-weight:800}.ledger-summary{border-bottom:1px solid var(--line);background:#f8fbfc;flex-wrap:wrap;gap:10px;padding:10px 16px;display:flex}.ledger-summary span{color:var(--muted);font-size:12px;font-weight:800}.ledger-summary strong{color:#26343d;font-size:12px}.ledger-filters{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.ledger-filter-group{gap:7px;min-width:0;display:grid}.ledger-filter-group span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.ledger-filter-group select{color:#29404a;background:#fff;border-color:#cbd9de;min-height:36px;font-size:12px;font-weight:900}.ledger-list{gap:8px;max-height:calc(100vh - 330px);padding:12px;display:grid;overflow:auto}.ledger-record{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;overflow:hidden}.ledger-record.expanded{background:#fff;border-color:#a8cdd6}.ledger-record-main{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(220px,1fr) minmax(160px,.65fr) minmax(240px,1fr);align-items:center;gap:14px;padding:13px 14px;display:grid}.ledger-record-title strong,.ledger-record-title code{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ledger-record-title code{color:var(--muted);margin-top:3px;font-size:12px}.ledger-record.selected{box-shadow:inset 3px 0 0 var(--accent)}.ledger-record-meta,.ledger-record-states{flex-wrap:wrap;gap:6px;display:flex}.ledger-record-meta span{color:var(--muted);font-size:12px;font-weight:800}.ledger-pill{color:#29404a;background:#f7fbfc;border:1px solid #cbd9de;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.ledger-record.scheduled .ledger-pill,.ledger-record.selected .ledger-pill{background:#edf9f4;border-color:#9ccbbc}.ledger-record.posted .ledger-pill,.ledger-record.approved .ledger-pill{background:#f1f7ff;border-color:#bed3ea}.ledger-record-detail{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr) auto;align-items:start;gap:14px;padding:12px 14px 14px;display:grid}.ledger-record-detail h3{color:#33414a;text-transform:uppercase;margin:0 0 8px;font-size:12px}.ledger-record-detail p{color:#40515d;margin:0 0 5px;font-size:12px;font-weight:700}.ledger-record-detail ul{gap:6px;margin:0;padding:0;display:grid}.ledger-record-detail li{color:#40515d;gap:2px;font-size:12px;list-style:none;display:grid}.ledger-record-detail li span{overflow-wrap:anywhere}.ledger-error,.ledger-empty{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;margin:14px;padding:12px;font-size:13px;font-weight:700}@media (width<=760px){.ledger-head,.ledger-head-actions{flex-direction:column;align-items:stretch}.ledger-filters{grid-template-columns:1fr}.ledger-record-main,.ledger-record-detail{grid-template-columns:minmax(0,1fr)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.view-tabs{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:3px;display:inline-flex}.view-tabs button{color:#30404a;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 11px;font-size:12px;font-weight:900}.view-tabs button.active{background:var(--accent);color:#fff}.lineage-view{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-rows:auto auto auto minmax(0,1fr);height:calc(100vh - 92px);min-height:640px;display:grid;overflow:hidden}.lineage-header{z-index:32;border-bottom:1px solid var(--line);background:#fffffff5;border-radius:8px 8px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex;box-shadow:0 8px 20px #121f2d0f}.lineage-header h2{font-size:18px}.lineage-header p,.lineage-side code{color:var(--muted);font-size:12px}.lineage-scope-bar{border-bottom:1px solid var(--line);color:#40515d;background:#f8fbfc;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 15px;font-size:12px;display:flex}.lineage-scope-bar strong{color:#273743;text-transform:uppercase;font-size:11px}.lineage-scope-bar code{overflow-wrap:anywhere;color:#273743;max-width:420px;font-size:11px}.lineage-panel-action-row,.lineage-candidate-actions{flex-wrap:wrap;gap:6px;display:flex}.lineage-panel-action-row button{color:#70580f;background:#fff8dc;border-color:#cfb56d}.lineage-actions,.lineage-side-actions,.lineage-link-form{flex-wrap:wrap;gap:8px;display:flex}.lineage-workbench{border-radius:0 0 8px 8px;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.lineage-canvas{background-color:#fbfdff;background-image:linear-gradient(#eef3f6 1px,#0000 1px),linear-gradient(90deg,#eef3f6 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:0;min-height:0;position:relative}.lineage-side{z-index:7;border:1px solid var(--line);background:var(--surface-2);opacity:1;border-radius:8px;align-content:start;gap:12px;width:min(360px,100% - 24px);min-width:0;padding:14px;transition:opacity .18s,transform .24s;display:grid;position:absolute;top:12px;bottom:12px;right:12px;overflow:auto;transform:translate(0);box-shadow:0 18px 54px #121f2d2e}.lineage-side.collapsed{opacity:0;pointer-events:none;transform:translate(28px)}.lineage-side-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.lineage-side-head p{margin-top:3px}.lineage-side h3{text-transform:uppercase;font-size:13px}.lineage-side dl{gap:8px;display:grid}.lineage-side dl div{grid-template-columns:72px 1fr;gap:8px;display:grid}.lineage-side dt{color:var(--muted);font-size:11px;font-weight:800}.lineage-side dd{margin:0;font-size:12px}.lineage-side-actions button{border:1px solid var(--line);color:#26343d;background:#fff;border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:800}.lineage-side-actions .primary-lite{color:#1f6b3a;background:#e8f7ee;border-color:#9cccb0}.lineage-next-panel{border-bottom:1px solid var(--line);gap:8px;padding-bottom:12px;display:grid}.lineage-panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.lineage-count-pill{color:var(--muted);background:#fff;border:1px solid #c7d7df;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900}.lineage-count-pill.full{color:#075e66;border-color:#0d8b93}.lineage-panel-action-row{justify-content:flex-end}.lineage-panel-action-row button{border-radius:7px;min-height:30px;padding:0 9px;font-size:12px;font-weight:850}.lineage-selection-warning,.lineage-candidate-warning{color:#70580f;background:#fff8dc;border:1px solid #dec47a;border-radius:7px;padding:7px 8px;font-size:12px;font-weight:800;line-height:1.35}.lineage-candidate-warning{text-transform:uppercase;border-radius:999px;width:fit-content;padding:2px 7px;font-size:10px}.lineage-handoff-panel{border-bottom:1px solid var(--line);gap:8px;padding-bottom:12px;display:grid}.lineage-handoff-panel h4{color:#273743;text-transform:uppercase;margin:0;font-size:12px}.lineage-handoff-panel code{color:#273743;overflow-wrap:anywhere;background:#fff;border:1px solid #d4dde3;border-radius:7px;min-width:0;padding:7px 8px;display:block}.lineage-copy-row{grid-template-columns:minmax(0,1fr) 58px;gap:6px;display:grid}.lineage-handoff-panel p{color:#40515d;margin:0;font-size:12px;line-height:1.45}.lineage-handoff-base{background:#fff;border:1px solid #cfdce3;border-radius:7px;gap:3px;padding:8px;display:grid}.lineage-handoff-base span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-handoff-base strong{color:#273743;overflow-wrap:anywhere;font-size:12px}.lineage-handoff-base small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:800}.lineage-handoff-base.branch{background:#fff8eb;border-color:#d9ad63}.lineage-handoff-panel button{color:#125d68;background:#f4fafb;border:1px solid #bdd5dc;border-radius:7px;min-height:32px;font-size:12px;font-weight:800}.lineage-handoff-panel .lineage-claim-handoff-button{color:#0b5965;background:#e8f6f7;border-color:#8bbac1}.lineage-brief-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lineage-brief-head button{min-height:28px;padding:0 8px}.lineage-brief-group details{gap:7px;display:grid}.lineage-brief-group details[open]{gap:7px}.lineage-brief-group summary{cursor:pointer;color:#125d68;font-size:12px;font-weight:900}.lineage-brief-group summary+.lineage-copy-row{margin-top:7px}.lineage-brief-group{background:#f8fbfc;border:1px solid #bdd5dc;border-radius:8px;gap:7px;padding:9px;display:grid}.lineage-candidate{width:100%;min-height:48px;color:var(--text);text-align:left;background:#fff;border:1px solid #d4dde3;border-radius:7px;gap:8px;padding:7px 9px;display:grid}.lineage-candidate-main{color:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.lineage-candidate-action{color:#fff;background:#0d5b92;border:1px solid #0d5b92;border-radius:7px;flex:134px;width:auto;min-height:40px;padding:0 10px;font-size:13px;font-weight:900}.lineage-candidate-action.secondary{color:#125d68;background:#f4fafb;border-color:#bdd5dc}.lineage-candidate-action:disabled,.lineage-side-actions button:disabled,.lineage-detail-actions button:disabled{cursor:not-allowed;opacity:.55}.lineage-candidate-action.remove{color:#70580f;background:#fff8dc;border-color:#cfb56d}.lineage-candidate span{font-size:12px;font-weight:850}.lineage-candidate-meta{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.lineage-candidate-meta span{color:#4f5e68;text-transform:uppercase;background:#f7fafb;border:1px solid #d4dde3;border-radius:999px;width:fit-content;padding:2px 6px;font-size:10px;font-weight:900}.lineage-candidate code{overflow-wrap:anywhere}.lineage-candidate.active{border-color:var(--accent-2);box-shadow:0 0 0 3px #0d5b921f}.lineage-candidate.selected{background:#f4fbf6;border-color:#9cccb0}.lineage-link-form{display:grid}.lineage-link-form label{gap:6px;width:100%;display:grid}.lineage-link-form input{border:1px solid var(--line);width:100%;min-height:34px;color:var(--text);background:#fff;border-radius:7px;padding:7px 9px}.lineage-note-field{color:var(--muted);gap:6px;font-size:11px;font-weight:800;display:grid}.lineage-note-field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:76px;color:var(--text);font:inherit;background:#fff;border-radius:7px;padding:8px 9px;font-size:12px;font-weight:600}.lineage-note-status{color:#5d6b75;font-size:11px;font-weight:800}.lineage-note-status.dirty{color:#9a6114}.lineage-link-form button{color:#125d68;background:#f4fafb;border:1px solid #bdd5dc;border-radius:7px;min-height:34px;font-size:12px;font-weight:800}.lineage-node{border:2px solid var(--line);background:#fff;border-radius:8px;width:188px;padding:10px;position:relative;box-shadow:0 10px 24px #18242e14}.lineage-node-action{color:#31536a;opacity:.72;background:#ffffffeb;border:1px solid #d4dde3;border-radius:6px;place-items:center;width:48px;height:24px;font-size:10px;font-weight:900;transition:opacity .14s;display:grid;position:absolute;top:6px;right:6px}.lineage-node:hover .lineage-node-action,.lineage-node.active .lineage-node-action{opacity:1}.lineage-handle{background:#53717f;border:2px solid #fff;width:10px;height:10px}.lineage-canvas .react-flow__edge{pointer-events:all}.lineage-canvas .react-flow__node{visibility:visible!important}.lineage-canvas .react-flow__minimap{border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 20px #121f2d14}.lineage-canvas .react-flow__edge-path{stroke:#91a5b1;stroke-width:2px}.lineage-canvas .react-flow__edge.animated .react-flow__edge-path{stroke:#278153}.lineage-canvas .react-flow__edge.animated marker path{fill:#278153}.lineage-node.active{border-color:var(--accent-2);box-shadow:0 0 0 4px #0d5b9224,0 10px 24px #18242e14}.lineage-node.selected{background:linear-gradient(#f4fbf6,#fff);border-color:#278153;box-shadow:0 0 0 4px #2781532e,0 12px 28px #18242e1f}.lineage-node.selected:after{color:#1f6b3a;content:"next variation";text-transform:uppercase;background:#e8f7ee;border:1px solid #9cccb0;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;position:absolute;top:-13px;left:10px}.lineage-node.latest{border-color:#c47a18}.lineage-node strong,.lineage-node small{display:block}.lineage-node strong{font-size:13px}.lineage-node small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.lineage-thumb{color:#4f5e68;background:radial-gradient(circle at 25% 22%,#087f8c38,#0000 24%),linear-gradient(135deg,#edf3f6,#fff 62%,#e8eef2);border:1px solid #d4dde3;border-radius:7px;place-items:center;height:58px;margin-bottom:8px;font-size:12px;font-weight:900;display:grid;overflow:hidden}.lineage-thumb img,.lineage-thumb video{object-fit:cover;width:100%;height:100%}.lineage-thumb span{overflow-wrap:anywhere;padding:4px}.lineage-badges{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.lineage-badges span{color:#44515b;background:#eef3f6;border-radius:999px;min-height:21px;padding:2px 7px;font-size:10px;font-weight:900}.lineage-badges .latest{color:#8a570f;background:#fff2d8}.lineage-badges .root{color:#31536a;background:#e8f0f5}.lineage-badges .selected{color:#1f6b3a;background:#e8f7ee}.lineage-badges .local-only{color:#6e5812;background:#fff7d7}.lineage-badges .s3-backed{color:#125d68;background:#edf8fa}.lineage-badges .local-s3{color:#27609a;background:#eef5fd}.lineage-node-hint{color:#31536a;text-transform:uppercase;margin-top:7px;font-size:10px;font-weight:900;display:block}.lineage-empty,.lineage-empty-state{min-height:360px;color:var(--muted);text-align:center;place-items:center;gap:10px;display:grid}@media (width<=960px){.lineage-view{height:auto;min-height:calc(100vh - 92px)}.lineage-header{flex-direction:column;align-items:stretch}.lineage-state-strip{justify-content:flex-start}.lineage-workbench{grid-template-columns:1fr;min-height:720px}.lineage-canvas{min-height:560px}.lineage-side{max-height:min(520px,100% - 24px);top:auto}}@media (width<=640px){.lineage-view{height:auto;min-height:720px}.lineage-canvas{min-height:500px}.lineage-copy-row{grid-template-columns:1fr}}.lineage-canvas .react-flow__edge-path{transition:opacity .16s,stroke .16s,stroke-width .16s}.lineage-node{transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s}.lineage-canvas.focus-active .lineage-node.focus-none{opacity:.48}.lineage-canvas.focus-active .react-flow__edge:not(.lineage-edge-focus) .react-flow__edge-path{opacity:.32}.lineage-node.focus-parent{border-color:#8a6bc9;box-shadow:0 0 0 4px #8a6bc929,0 10px 24px #18242e14}.lineage-node.focus-child{border-color:#0d8b93;box-shadow:0 0 0 4px #0d8b9329,0 10px 24px #18242e14}.lineage-canvas .react-flow__edge.lineage-edge-focus-parent .react-flow__edge-path{stroke:#8a6bc9;stroke-width:3px}.lineage-canvas .react-flow__edge.lineage-edge-focus-child .react-flow__edge-path{stroke:#0d8b93;stroke-width:3px}.lineage-canvas-status{z-index:6;background:#fffffff2;border:1px solid #8fa2aea6;border-radius:8px;gap:2px;max-width:min(360px,100% - 24px);padding:9px 10px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 10px 28px #121f2d1f}.lineage-canvas-status-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.lineage-canvas-status span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-canvas-status strong,.lineage-canvas-status code{overflow-wrap:anywhere}.lineage-canvas-status strong{font-size:13px}.lineage-canvas-status button{color:#125d68;background:#f4fafb;border:1px solid #bdd5dc;border-radius:7px;width:fit-content;min-height:28px;padding:0 8px;font-size:12px;font-weight:800}.lineage-canvas-status-head button{width:28px;padding:0}.lineage-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lineage-context-menu{z-index:80;border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;width:min(240px,100vw - 24px);padding:8px;display:grid;position:fixed;box-shadow:0 18px 48px #121f2d33}.lineage-context-menu strong{color:#273743;overflow-wrap:anywhere;padding:4px 6px 6px;font-size:12px}.lineage-context-menu p{color:#70580f;background:#fff8dc;border:1px solid #dec47a;border-radius:7px;margin:0 6px 4px;padding:6px 7px;font-size:11px;font-weight:800;line-height:1.35}.lineage-context-claims{color:#66500f;background:#fff8df;border:1px solid #d8c58f;border-radius:7px;gap:5px;margin:0 0 2px;padding:6px;font-size:11px;font-weight:900;display:grid}.lineage-context-claims>span{overflow-wrap:anywhere}.lineage-context-claims div{flex-wrap:wrap;gap:5px;display:flex}.lineage-context-claims button{min-height:26px;color:inherit;background:#ffffffb8;border:1px solid;border-radius:999px;padding:0 7px;font-size:11px}.lineage-context-menu button{color:#26343d;text-align:left;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 9px;font-size:12px;font-weight:850}.lineage-context-menu button:hover,.lineage-context-menu button:focus-visible{color:#125d68;background:#eef7fa;outline:0}.lineage-context-menu button.danger{color:#8a3b3b}.lineage-context-menu button.selection-replace{color:#125d68}.lineage-context-menu button.danger:hover,.lineage-context-menu button.danger:focus-visible{color:#7a2020;background:#fff0f0}.lineage-context-menu button:disabled{cursor:not-allowed;opacity:.55}.lineage-detail-backdrop{z-index:40;background:#121c2475;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.lineage-detail-modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(920px,100%);max-height:calc(100vh - 44px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0e1a223d}.lineage-detail-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:14px;padding:14px;display:flex}.lineage-detail-modal h3{font-size:16px}.lineage-detail-modal header code{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.lineage-detail-modal header button{border:1px solid var(--line);color:#26343d;background:#fff;border-radius:7px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800}.lineage-detail-body{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;padding:14px;display:grid;overflow:auto}.lineage-detail-preview{background:#f7fafb;border:1px solid #d4dde3;border-radius:8px;place-items:center;min-height:360px;display:grid;overflow:hidden}.lineage-detail-preview img,.lineage-detail-preview video{object-fit:contain;width:100%;height:100%;max-height:68vh}.lineage-detail-preview span{color:var(--muted);font-size:13px;font-weight:900}.lineage-preview-empty{text-align:center;gap:6px;max-width:280px;padding:18px;display:grid}.lineage-preview-empty strong{color:#273743;text-transform:uppercase;font-size:14px}.lineage-preview-empty span{color:#5d6b75;font-size:12px;line-height:1.45}.lineage-detail-body dl{align-content:start;gap:9px;display:grid}.lineage-detail-body dl div{border-bottom:1px solid #e7edf1;gap:3px;padding-bottom:8px;display:grid}.lineage-detail-body dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.lineage-detail-body dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px}.lineage-detail-context{background:#f8fbfc;border:1px solid #d4dde3;border-radius:8px;gap:8px;padding:10px;display:grid}.lineage-detail-proof{background:#fbfdff;border:1px solid #d4dde3;border-radius:8px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.lineage-detail-proof h4{color:#273743;text-transform:uppercase;margin:0;font-size:12px}.lineage-detail-proof>p{color:var(--muted);font-size:12px}.lineage-proof-error{color:#8a3b3b}.lineage-proof-job{background:#fff;border:1px solid #dbe5ea;border-radius:8px;gap:8px;padding:9px;display:grid}.lineage-proof-job-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lineage-proof-job-head strong,.lineage-proof-job code,.lineage-proof-output strong{overflow-wrap:anywhere}.lineage-proof-job-head span{color:#125d68;text-transform:uppercase;background:#f4fafb;border:1px solid #bdd5dc;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900}.lineage-proof-job p{color:#40515d;font-size:12px;line-height:1.45}.lineage-proof-job dl,.lineage-proof-output-list{gap:6px;display:grid}.lineage-proof-output{background:#f8fbfc;border:1px solid #e0e8ed;border-radius:7px;gap:2px;padding:7px 8px;display:grid}.lineage-proof-output span,.lineage-proof-output small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-detail-context h4{color:#273743;text-transform:uppercase;margin:0;font-size:12px}.lineage-detail-context p{color:var(--muted);font-size:12px}.lineage-detail-warning{color:#70580f;background:#fff8dc;border:1px solid #dec47a;border-radius:7px;padding:8px 9px;font-size:12px;font-weight:800;line-height:1.4}.lineage-relation-list{gap:6px;display:grid}.lineage-relation-button{color:#125d68;overflow-wrap:anywhere;text-align:left;background:linear-gradient(#fff,#f4fafb);border:1px solid #bdd5dc;border-radius:7px;gap:2px;min-height:30px;padding:7px 9px;font-size:12px;font-weight:800;display:grid}.lineage-relation-button:hover{border-color:var(--accent-2);box-shadow:0 0 0 3px #0d5b921a}.lineage-relation-button span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-relation-button strong{color:#125d68;font-size:12px}.lineage-detail-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:14px;display:flex}.lineage-detail-actions button,.lineage-detail-actions a{border:1px solid var(--line);color:#26343d;background:#fff;border-radius:7px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.lineage-detail-actions .primary-lite{color:#fff;background:#0d5b92;border-color:#0d5b92;flex:220px;min-height:42px;font-size:13px}.lineage-detail-actions .danger{color:#8a3b3b;background:#fff4f4;border-color:#e3b7b7}.lineage-detail-actions button:disabled{cursor:not-allowed;opacity:.55}@media (width<=960px){.lineage-detail-body{grid-template-columns:1fr}.lineage-detail-preview{min-height:260px}.lineage-detail-actions{background:var(--surface);position:sticky;bottom:0}}@media (width<=640px){.lineage-detail-backdrop{padding:8px}.lineage-detail-modal{max-height:calc(100vh - 16px)}.lineage-detail-actions button,.lineage-detail-actions a{flex:140px}}.lineage-new-backdrop{z-index:45;background:#121c246b;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.lineage-new-modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-rows:auto auto minmax(140px,1fr) auto auto auto;gap:12px;width:min(720px,100%);max-height:calc(100vh - 36px);padding:16px;display:grid;overflow:hidden;box-shadow:0 28px 80px #0e1a223d}.lineage-new-modal header,.lineage-new-modal footer{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lineage-new-modal h3{font-size:18px}.lineage-new-modal p{color:var(--muted);font-size:13px}.lineage-new-search,.lineage-new-field{gap:6px;display:grid}.lineage-new-search span,.lineage-new-field span{color:#40515d;text-transform:uppercase;font-size:11px;font-weight:900}.lineage-new-search input,.lineage-new-field input,.lineage-new-field textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:650}.lineage-new-field textarea{resize:vertical;min-height:76px}.lineage-new-results{background:#f8fbfc;border:1px solid #d8e3e8;border-radius:8px;align-content:start;gap:8px;min-height:0;padding:8px;display:grid;overflow:auto}.lineage-new-results button{color:#26343d;text-align:left;background:#fff;border:1px solid #d4dde3;border-radius:8px;gap:4px;padding:10px;display:grid}.lineage-new-results button.selected{border-color:var(--accent);box-shadow:0 0 0 3px #087f8c1f}.lineage-new-results strong,.lineage-new-results code{overflow-wrap:anywhere}.lineage-new-results code,.lineage-new-results span{color:var(--muted);font-size:12px}.lineage-new-modal footer{border-top:1px solid var(--line);align-items:center;padding-top:12px}@media (width<=640px){.lineage-new-modal footer{display:grid}}.lineage-selection-strip{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 15px;display:flex}.lineage-selection-strip.has-warning{background:#fffaf0}.lineage-selection-strip div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.lineage-selection-strip strong{color:#273743;text-transform:uppercase;font-size:12px}.lineage-selection-strip span{color:#5d6b75;font-size:12px;font-weight:800}.lineage-selection-strip.has-warning span{color:#8a570f}.lineage-selection-strip button{color:#125d68;background:#f4fafb;border:1px solid #bdd5dc;border-radius:7px;min-height:30px;padding:0 10px;font-size:12px;font-weight:850}.lineage-selection-strip-actions{flex-wrap:wrap;gap:6px;display:flex}.lineage-selection-strip-actions button:last-child{color:#70580f;background:#fff8dc;border-color:#cfb56d}.lineage-workspace-picker{min-width:min(340px,100%);position:relative}.lineage-workspace-trigger{color:#26343d;text-align:left;background:linear-gradient(#fff,#f4fafb);border:1px solid #bdd5dc;border-radius:8px;gap:2px;width:100%;min-height:48px;padding:8px 11px;display:grid}.lineage-workspace-trigger span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-workspace-trigger strong,.lineage-workspace-trigger code{overflow-wrap:anywhere}.lineage-workspace-trigger strong{font-size:13px}.lineage-workspace-trigger code{color:var(--muted);font-size:11px}.lineage-workspace-claim{text-transform:none;background:#f1fbf4;border:1px solid #b8d5c2;border-radius:999px;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px 7px;font-weight:900;line-height:1.2;display:inline-flex;color:#245435!important;font-size:11px!important}.lineage-workspace-claim svg{flex:none}.lineage-workspace-claim span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;color:inherit!important;font-size:inherit!important;font-weight:inherit!important;text-transform:none!important}.lineage-workspace-claim.idle{background:#fff8df;border-color:#d8c58f;color:#66500f!important}.lineage-workspace-claim.stale{background:#fff1ee;border-color:#e1b2a9;color:#7b3428!important}.lineage-workspace-menu{z-index:28;border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;width:min(420px,100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 52px #121f2d2e}.lineage-workspace-options{gap:6px;max-height:280px;display:grid;overflow:auto}.lineage-workspace-options button{color:#26343d;text-align:left;background:#fff;border:1px solid #d4dde3;border-radius:7px;gap:3px;padding:8px;display:grid}.lineage-workspace-options button.active{border-color:var(--accent);box-shadow:0 0 0 3px #087f8c1c}.lineage-workspace-options code,.lineage-workspace-options span,.lineage-workspace-options p{color:var(--muted);font-size:11px}.lineage-workspace-menu footer{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:8px;display:flex}@media (width<=960px){.lineage-workspace-picker{min-width:0}.lineage-workspace-menu{width:min(420px,100%);right:0}}.lineage-title{min-width:120px}.lineage-primary-controls{flex-wrap:wrap;flex:auto;align-items:center;gap:9px;min-width:0;display:flex}.lineage-next-summary{color:#26343d;text-align:left;background:#f8fbfc;border:1px solid #bdd5dc;border-radius:8px;flex:0 260px;gap:2px;min-width:min(260px,100%);padding:8px 10px;display:grid}.lineage-next-summary span,.lineage-next-summary small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-next-summary strong{overflow-wrap:anywhere;font-size:13px}.lineage-overflow,.lineage-demo-menu,.lineage-overflow{position:relative}.lineage-demo-menu summary,.lineage-overflow summary{color:#125d68;cursor:pointer;background:#f4fafb;border:1px solid #bdd5dc;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 13px;font-size:13px;font-weight:800;list-style:none;display:inline-flex}.lineage-demo-menu summary{justify-items:start;min-width:145px;padding-block:5px;display:grid}.lineage-demo-menu summary span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.lineage-demo-menu summary strong{font-size:12px}.lineage-demo-menu summary::-webkit-details-marker{display:none}.lineage-overflow summary::-webkit-details-marker{display:none}.lineage-demo-menu div,.lineage-overflow div{z-index:25;border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-width:190px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 42px #121f2d29}.lineage-demo-menu div{min-width:220px;left:0;right:auto}.lineage-demo-menu p{border-bottom:1px solid var(--line);gap:2px;margin:0;padding:3px 3px 8px;display:grid}.lineage-demo-menu p span{color:var(--muted);font-size:12px;font-weight:800}.lineage-demo-menu button,.lineage-overflow button{color:#26343d;text-align:left;background:#fff;border:1px solid #d4dde3;border-radius:7px;justify-content:flex-start;min-height:34px;padding:0 9px;font-size:12px;font-weight:800}@media (width<=960px){.lineage-primary-controls{min-width:0;display:grid}.lineage-next-summary{min-width:0}}.local-selection-toolbar{background:#f2fafb;border:1px solid #bdd5dc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.local-selection-toolbar div,.local-backup-list div{gap:2px;display:grid}.local-selection-toolbar strong,.local-backup-list strong{color:#17313b;font-size:13px}.local-selection-toolbar span,.local-backup-list span{color:var(--muted);font-size:12px}.local-selection-toolbar button,.local-backup-drawer footer button,.local-backup-drawer header button{border:1px solid var(--line);color:#24343d;background:#fff;border-radius:7px;min-height:34px;padding:0 10px;font-size:12px;font-weight:900}.local-selection-toolbar button{align-items:center;gap:7px;display:inline-flex}.local-selection-toolbar .icon-lite{justify-content:center;width:34px;padding:0}.local-backup-drawer{border:1px solid var(--line);background:var(--surface);width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:8px;display:grid;overflow:auto}.local-backup-drawer header,.local-backup-drawer footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.local-backup-drawer footer{border-top:1px solid var(--line);border-bottom:0}.local-backup-drawer h2{font-size:18px}.local-backup-list,.local-backup-preview,.local-backup-warning{gap:8px;margin:14px;display:grid}.local-backup-list div,.local-backup-preview span{border:1px solid var(--line);background:#f8fbfc;border-radius:7px;padding:9px 10px}.local-backup-warning{color:#6d451e;background:#fff8ee;border:1px solid #e2c1a2;border-radius:7px;padding:10px 12px}.local-backup-warning strong{color:#593617;font-size:13px}.local-backup-warning span{font-size:12px;font-weight:800}.local-backup-queue{gap:12px;display:grid}.backup-queue-head,.backup-queue-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.backup-queue-head{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;display:grid}.backup-queue-head h2{font-size:18px}.backup-queue-head p,.backup-queue-card small{color:var(--muted);font-size:12px}.backup-queue-actions,.backup-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.backup-queue-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.backup-queue-stats div{background:#f8fbfc;border:1px solid #d7e2e6;border-radius:7px;padding:8px 10px}.backup-queue-stats strong,.backup-queue-stats span{display:block}.backup-queue-stats strong{color:#172b34;font-size:18px}.backup-queue-stats span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.backup-queue-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.backup-queue-lane{align-content:start;gap:8px;display:grid}.backup-queue-lane h3{color:#263943;font-size:13px}.backup-queue-card{gap:8px;padding:11px;display:grid}.backup-queue-card.selected{border-color:#087b92;box-shadow:0 0 0 3px #087b9224}.backup-queue-card strong,.backup-queue-card code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.backup-queue-card code{color:var(--muted);font-size:12px}.backup-card-meta{flex-wrap:wrap;gap:6px;display:flex}.backup-card-meta span{color:#29404a;background:#f7fbfc;border:1px solid #d1dde2;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800}.backup-card-actions button,.backup-queue-actions button{border:1px solid var(--line);color:#24343d;background:#fff;border-radius:7px;min-height:34px;padding:0 10px;font-size:12px;font-weight:900}.backup-card-actions button[aria-pressed=true]{background:#edf9f4;border-color:#8fc6b5}.backup-card-actions button:disabled,.backup-queue-actions button:disabled{opacity:.55}.backup-empty{color:var(--muted);background:#fbfdfe;border:1px dashed #c8d7dd;border-radius:8px;padding:14px;font-size:13px;font-weight:800}@media (width<=960px){.backup-queue-head,.backup-queue-grid{grid-template-columns:1fr}.backup-queue-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.review-queue{gap:14px;display:grid}.review-summary{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(96px,130px));align-items:stretch;gap:10px;padding:14px;display:grid}.review-summary h2{font-size:20px}.review-summary p,.review-empty,.queue-card small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.queue-stat{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:3px;padding:10px;display:grid}.queue-stat strong{font-size:19px}.queue-stat span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.batch-review-strip{background:#f4f8fd;border:1px solid #c8d9ed;border-radius:8px;grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:10px;padding:12px;display:grid}.batch-review-strip textarea{resize:vertical;min-height:38px}.batch-review-strip code,.queue-card code{overflow-wrap:anywhere;color:#2f414d;font-size:12px;line-height:1.45;display:block}.batch-review-strip button,.queue-card button{color:#125d68;background:#fff;border:1px solid #bdd5dc;border-radius:8px;min-height:34px;padding:0 11px;font-size:12px;font-weight:900}.review-queue .queue-lanes{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.review-queue .queue-lane{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.review-queue .queue-lane summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;list-style:none;display:grid}.review-queue .queue-lane summary::-webkit-details-marker{display:none}.review-queue .queue-lane summary:before{border:1px solid var(--line);color:#40515d;content:"+";border-radius:7px;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;display:grid}.review-queue .queue-lane[open] summary:before{content:"-"}.review-queue .queue-lane h3{text-transform:capitalize;font-size:17px}.review-queue .queue-lane summary .lane-counts{grid-column:1/-1}.review-queue .queue-lane summary .lane-counts span{color:var(--muted);background:0 0;border:0;padding:0;font-size:12px}.lane-counts{flex-wrap:wrap;gap:7px;display:flex}.lane-counts span,.queue-tag{border:1px solid var(--line);color:#4a5963;background:#f7fafb;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.lane-counts .review-chip{color:#5b465f;background:#faf7fb;border-color:#d5ccd8}.lane-counts .review-chip.approved{color:#176346;background:#f1faf6;border-color:#b9d9cc}.lane-counts .review-chip.needs_revision{color:#755315;background:#fff9eb;border-color:#e5d1a4}.lane-counts .review-chip.rejected,.lane-counts .review-chip.ignored{color:#8d3035;background:#fff5f5;border-color:#e4c3c4}.review-queue .queue-columns{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:flex-start;gap:10px;min-width:0;margin-top:12px;display:grid}.queue-column{align-content:start;gap:8px;min-width:0;display:grid}.queue-column h4{color:#39444d;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.queue-card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fbfcfd;border-radius:8px;gap:7px;min-height:116px;padding:10px;display:grid}.queue-card strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.queue-card.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.queue-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.review-actions{flex-wrap:wrap;gap:5px;display:flex}.review-actions button{min-height:28px;padding:0 8px}.review-actions button[aria-pressed=true]{color:#0d5f6e;background:#eef8fa;border-color:#6a9baa}.backup-locked{color:#7a5960;font-size:11px;font-weight:900;line-height:1.3}@media (width<=760px){.batch-review-strip{grid-template-columns:1fr}}.settings-view{gap:18px;display:grid}.settings-header{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.settings-header h2{font-size:26px}.settings-header p{max-width:720px;color:var(--muted);font-size:13px;font-weight:700}.settings-sections{gap:14px;display:grid}.settings-section{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:14px;display:grid}.settings-section>h3{font-size:18px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.settings-card,.settings-loading{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;padding:16px}.settings-card-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.settings-icon{color:#075f6c;background:#e9f6f8;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.settings-card h4{font-size:17px}.settings-card p,.settings-loading{color:var(--muted);font-size:13px;font-weight:700}.settings-switch{background:#edf2f5;border:1px solid #cbd7df;border-radius:999px;align-items:center;width:48px;height:28px;padding:3px;display:inline-flex}.settings-switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;display:block;box-shadow:0 2px 6px #121f2d2e}.settings-switch.on{border-color:var(--accent);background:var(--accent)}.settings-switch.on span{transform:translate(19px)}.settings-switch:disabled{cursor:wait;opacity:.7}.settings-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.settings-release{grid-template-columns:repeat(2,minmax(0,220px));gap:10px;display:grid}.settings-release div{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;padding:10px}.settings-release dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.settings-release dd{color:#26343d;margin:4px 0 0;font-size:15px;font-weight:850}.settings-meta div{border:1px solid var(--line);border-radius:8px;padding:9px}.settings-meta dd{align-items:center;gap:5px;display:flex}.settings-meta .ok{color:var(--accent);font-weight:800}.settings-meta .warn{color:#936300;font-weight:800}.settings-meta .muted{color:var(--muted);font-weight:800}.settings-config{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.settings-config span{color:#42515b;background:#f7fafc;border:1px solid #cbd7df;border-radius:999px;gap:7px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}@media (width<=760px){.settings-header{flex-direction:column;align-items:stretch}.settings-grid,.settings-meta,.settings-release{grid-template-columns:1fr}}.app-shell{transition:grid-template-columns .24s}.app-shell:has(.sidebar.collapsed){grid-template-columns:0 minmax(0,1fr)}.sidebar{z-index:18;opacity:1;transition:opacity .18s,padding .24s,transform .24s;position:relative;transform:translate(0)}.sidebar.collapsed{z-index:60;border-right-color:#0000;padding-left:0;padding-right:0;overflow:visible;transform:translate(-18px)}.sidebar-collapse-toggle{z-index:50;color:#125d68;background:#f4fafb;border:1px solid #bdd5dc;border-radius:8px;justify-content:center;align-items:center;width:34px;min-height:34px;padding:0;transition:left .24s,transform .24s;display:inline-flex;position:fixed;top:50vh;left:244px;transform:translateY(-50%)}.sidebar.collapsed .sidebar-collapse-toggle{opacity:1;pointer-events:auto;left:12px}.sidebar.collapsed>:not(.sidebar-collapse-toggle){pointer-events:none;visibility:hidden}.mobile-filter-toggle{display:none}.sidebar-mobile-collapse{display:contents}@media (width<=760px){.sidebar{padding-bottom:14px}.sidebar .brand{margin-bottom:12px}.mobile-filter-toggle{border:1px solid var(--line);color:#23313a;background:#f8fbfc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;font-size:13px;font-weight:900;display:flex}.mobile-filter-toggle .open{transform:rotate(180deg)}.mobile-filter-toggle svg{transition:transform .18s}.sidebar-mobile-collapse{opacity:0;max-height:0;transition:max-height .22s,opacity .16s,padding-top .22s;display:grid;overflow:hidden}.sidebar-mobile-collapse[data-open=true]{opacity:1;max-height:1300px;padding-top:14px}.sidebar-mobile-collapse .side-section:last-child{margin-bottom:0}}.view-tabs{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:inline-flex;position:relative;overflow:visible}.view-tabs button{border:0;border-right:1px solid var(--line);color:#30404a;background:0 0;min-height:40px;padding:0 12px;font-size:13px;font-weight:800}.view-tabs button:last-child{border-right:0}.view-tabs button.active{color:#075f6c;background:#e9f6f8}.more-menu{display:flex;position:relative}.more-menu>button{border-right:0;align-items:center;gap:5px;display:inline-flex}.more-menu>button svg{flex:none}.more-menu>button .open{transform:rotate(180deg)}.more-menu-popover{z-index:60;border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 42px #121f2d29}.more-menu-popover button{text-align:left;border:0;border-radius:7px;justify-content:flex-start;min-height:36px;padding:0 10px}.more-menu-popover button:hover,.more-menu-popover button[aria-pressed=true]{color:#075f6c;background:#edf7f8}@media (width<=760px){.view-tabs{width:100%;max-width:100%;display:flex;overflow-x:auto}.view-tabs button{flex:none;padding:0 8px;font-size:12px}.more-menu>button{gap:4px}.topbar>.icon-button,.topbar>.primary-button,.topbar>.secondary-button,.topbar>.searchbox{width:100%;max-width:100%}}:root{--bg:#f6f8fb;--surface:#fff;--surface-2:#eef3f6;--text:#182027;--muted:#69747d;--line:#dce3e8;--accent:#087f8c;--accent-2:#0d5b92;--danger:#b13b3b;--shadow:0 14px 40px #121f2d14;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.lineage-mode{grid-template-columns:260px minmax(0,1fr)}.sidebar,.inspector{background:var(--surface);border-color:var(--line)}.sidebar{border-right:1px solid var(--line);padding:22px 18px}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark{color:#eefcff;background:#11313a;border-radius:8px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid}h1,h2,h3,p{margin:0}.brand h1{font-size:17px;line-height:1.2}.brand p,.board-head p,.upload-drawer header p{color:var(--muted);margin-top:2px;font-size:12px}.side-section{gap:11px;margin-bottom:24px;display:grid}.side-section h2{color:#39444d;text-transform:uppercase;font-size:12px;font-weight:800}label{color:#44515b;gap:6px;font-size:12px;font-weight:700;display:grid}input,select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:7px;outline:none;min-height:36px;padding:8px 10px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #087f8c1f}.health-line{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}dl{margin:0}.health dl{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.health dl div{border:1px solid var(--line);border-radius:8px;padding:9px}dt{color:var(--muted);font-size:11px;font-weight:700}dd{color:var(--text);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.text-button{color:#30404a;text-align:left;background:0 0;border:0;min-height:28px;padding:0;font-size:13px;font-weight:700}.workspace{min-width:0;padding:18px;position:relative}.topbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.searchbox{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:1;align-items:center;gap:8px;height:42px;padding:0 12px;display:flex}.searchbox input{min-height:38px;box-shadow:none;border:0;padding:0}.icon-button,.primary-button,.secondary-button,.action-grid button,.danger-section button,.upload-drawer footer button,.upload-drawer header button{border:1px solid var(--line);background:var(--surface);color:#23313a;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.icon-button{width:42px;padding:0}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.secondary-button{color:#125d68;background:#f4fafb;border-color:#bdd5dc}.primary-button:disabled,button:disabled{cursor:not-allowed;opacity:.5}.toast{border:1px solid var(--line);background:var(--surface);color:#25313a;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.lineage-mode .toast.ok{z-index:20;max-width:min(440px,100% - 36px);position:absolute;top:70px;right:18px;box-shadow:0 12px 30px #121f2d1f}.toast.ok svg{color:var(--accent)}.toast.error svg{color:var(--danger)}.toast button{color:var(--muted);background:0 0;border:0;margin-left:auto;font-size:12px;font-weight:800}.asset-board{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.board-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:16px;display:flex}.board-head h2{font-size:18px}.board-context-note{color:#125d68;margin-top:6px;font-size:12px;font-weight:800}.mini-stats{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.mini-stats>span{border:1px solid var(--line);border-radius:999px;padding:6px 9px}.asset-list{max-height:calc(100vh - 184px);display:grid;overflow:auto}.asset-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:34px 46px minmax(240px,1.9fr) minmax(140px,.85fr) minmax(94px,.5fr) minmax(132px,.75fr);align-items:center;gap:12px;width:100%;min-height:74px;padding:10px 14px;display:grid}.asset-row:hover,.asset-row.selected{background:#f2f8fa}.asset-row.selected{box-shadow:inset 3px 0 0 var(--accent)}.pagination-bar{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:10px 14px;display:flex}.pagination-bar button{border:1px solid var(--line);background:var(--surface);color:#263740;border-radius:8px;min-height:34px;padding:0 12px;font-size:12px;font-weight:800}.pagination-bar span{color:var(--muted);font-size:12px;font-weight:800}.pagination-bar label{align-items:center;gap:7px;display:flex}.pagination-bar select{width:76px;min-height:34px}.thumb{width:42px;height:42px;color:var(--accent-2);background:linear-gradient(#fff,#edf5f6);border:1px solid #cad7dc;border-radius:8px;place-items:center;display:grid;overflow:hidden}.thumb img,.thumb video{object-fit:contain;background:#fff;width:100%;height:100%}.asset-main,.asset-meta,.asset-version{gap:4px;min-width:0;display:grid}.asset-title-line{flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;display:flex}.asset-title-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:150px;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.asset-id,.asset-meta span,.asset-version span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.asset-version code{color:#33444f;font-size:11px}.status-chip,.source-chip,.storage-chip{color:#45535d;text-transform:uppercase;background:#e7edf1;border-radius:999px;align-items:center;width:fit-content;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex}.source-chip,.storage-chip.local-only{color:#6e5812;background:#fff7d7;border:1px solid #d6c58c}.storage-chip.s3-backed{color:#125d68;background:#edf8fa;border:1px solid #bdd5dc}.storage-chip.local-s3{color:#27609a;background:#eef5fd;border:1px solid #c8d9ed}.storage-chip.catalog-record{color:#52616b;background:#f5f7f8;border:1px solid #d1d9df}.status-chip.working{color:#086e78;background:#e7f5f6}.status-chip.published{color:#2d7a45;background:#eaf6ee}.status-chip.archived{color:#7a5a36;background:#f1ece7}.placement-chip{color:#27616a;text-overflow:ellipsis;white-space:nowrap;background:#edf6f7;border:1px solid #cadde3;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex;overflow:hidden}.placement-chip.posted{color:#2f7543;background:#edf8f0;border-color:#c9dfcf}.placement-chip.scheduled{color:#27609a;background:#eef5fd;border-color:#c8d9ed}.placement-chip.skipped{color:#765738;background:#f5eee8;border-color:#dfd1c4}.inspector{border-left:1px solid var(--line);align-content:start;gap:16px;padding:18px;display:grid}.inspector.empty{color:var(--muted)}.preview-pane{aspect-ratio:16/10;border:1px solid var(--line);background:#eff4f7;border-radius:8px;place-items:center;display:grid;overflow:hidden}.preview-pane img,.preview-pane video{object-fit:contain;background:#fff;width:100%;height:100%}.preview-placeholder{color:var(--muted);text-transform:uppercase;place-items:center;gap:8px;font-size:12px;font-weight:800;display:grid}.preview-placeholder small{color:#5f6d76;text-align:center;text-transform:none;max-width:240px;font-size:12px;font-weight:700;line-height:1.35}.preview-error{text-transform:none;max-width:100%;font-size:11px;font-weight:700}.preview-error summary{color:var(--accent-2);cursor:pointer}.preview-error code{overflow-wrap:anywhere;color:#52616b;max-width:260px;margin-top:6px;font-size:10px;display:block}.inspector-title{gap:8px;display:grid}.inspector-title h2{font-size:21px;line-height:1.14}.inspector-title p{color:var(--muted);font-size:13px;line-height:1.45}.action-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.detail-section{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.detail-section h3{text-transform:uppercase;font-size:12px;font-weight:900}.detail-section dl{gap:8px;display:grid}.detail-section dl div{grid-template-columns:86px minmax(0,1fr);gap:9px;display:grid}.placement-section label{gap:5px}.placement-list{gap:8px;display:grid}.placement-item{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:5px;padding:9px;display:grid}.placement-item small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:700}.placement-item a{color:var(--accent-2);overflow-wrap:anywhere;font-size:12px;font-weight:800;text-decoration:none}.muted-copy{color:var(--muted);font-size:12px;font-weight:700}.object-key{overflow-wrap:anywhere;border:1px solid var(--line);color:#31414c;background:#f7fafb;border-radius:8px;padding:10px;font-size:11px;line-height:1.45;display:block}.danger-section{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.danger-section button{width:100%;color:var(--danger);border-color:#e6c9c9}.drawer-backdrop{z-index:10;background:#121c2457;justify-content:end;display:grid;position:fixed;inset:0}.upload-drawer{background:var(--surface);grid-template-rows:auto auto 1fr auto auto;gap:16px;width:min(620px,100vw);height:100vh;padding:20px;display:grid;overflow:auto;box-shadow:-18px 0 44px #121f2d2e}.upload-drawer header,.upload-drawer footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.upload-drawer h2{font-size:20px}.file-drop{color:#2b5962;background:#f5fafb;border:1px dashed #9fb4bd;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:74px;font-size:13px;font-weight:900;display:flex}.file-drop input{display:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .wide{grid-column:1/-1}.confirm-line{align-items:center;gap:8px;display:flex}.confirm-line input{width:16px;min-height:16px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.app-shell,.app-shell.lineage-mode{grid-template-columns:220px minmax(0,1fr)}.asset-row{grid-template-columns:46px minmax(0,1fr) minmax(110px,.45fr)}.asset-row .asset-meta:not(.narrow){display:none}.review-summary,.queue-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell,.app-shell.lineage-mode{grid-template-columns:1fr;display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.topbar,.board-head,.mini-stats,.pagination-bar{flex-direction:column;align-items:stretch}.topbar{flex-wrap:wrap}.searchbox{flex-basis:100%;order:3}.asset-row{grid-template-columns:42px minmax(0,1fr);min-height:86px}.asset-row .asset-meta,.asset-row .asset-version{display:none}.asset-meta,.asset-version{grid-column:2}.action-grid,.form-grid,.review-summary,.handoff-strip,.queue-columns{grid-template-columns:1fr}.queue-lane header{flex-direction:column;align-items:flex-start}.lineage-mode .toast.ok{max-width:100%;position:sticky;top:8px;right:auto}}