@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;1,8..60,400&display=swap");:root{--navy:#0B2A4A;--teal:#0E7C7B;--teal-strong:#0A6463;--trust-blue:#2E6FB0;--mist:#5FC8C6;--slate:#4A5A6A;--cloud:#EEF3F8;--panel:#F4F8FC;--ink:#26313D;--line:#D6E0EA;--amber:#B5762A;--bg:#0A0E15;--surface:#121826;--surface-2:#161F2E;--surface-3:#1C2637;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.16);--text:#EAF0F6;--text-muted:#93A2B5;--text-dim:#6B7A8D;--accent:#5FC8C6;--accent-2:#0E7C7B;--blue:#7CADE0;--link:#9CC4EC;--good:#5FC8C6;--warn:#D69A4E;--bad:#E2848A;--accent-soft:rgba(95,200,198,0.14);--accent-line:rgba(95,200,198,0.42);--ring:0 0 0 3px rgba(95,200,198,0.28);--radius:14px;--radius-sm:10px;--radius-xs:8px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.35);--shadow:0 18px 48px rgba(0,0,0,0.5);--btn-fg:#ffffff;--maxw:1360px}[data-theme=light]{--bg:#F4F7FB;--surface:#FFFFFF;--surface-2:#F2F6FA;--surface-3:#E9EEF5;--border:rgba(11,42,74,0.10);--border-strong:rgba(11,42,74,0.20);--text:#0B2A4A;--text-muted:#4A5A6A;--text-dim:#8595A8;--accent:#0E7C7B;--accent-2:#0E7C7B;--blue:#2E6FB0;--link:#2E6FB0;--good:#0E7C7B;--warn:#B5762A;--bad:#C0454B;--accent-soft:rgba(14,124,123,0.10);--accent-line:rgba(14,124,123,0.38);--ring:0 0 0 3px rgba(14,124,123,0.22);--shadow-sm:0 1px 2px rgba(11,42,74,0.08);--shadow:0 18px 44px rgba(11,42,74,0.14)}*{box-sizing:border-box}[hidden]{display:none!important}body,html{margin:0;padding:0}body{font-family:Inter,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.54;min-height:100vh;-webkit-font-smoothing:antialiased;background-image:radial-gradient(1100px 560px at 88% -12%,rgba(14,124,123,.18),transparent 60%),radial-gradient(820px 460px at -5% 4%,rgba(46,111,176,.12),transparent 58%);background-attachment:fixed}[data-theme=light] body{background-image:radial-gradient(1100px 560px at 90% -14%,rgba(95,200,198,.2),transparent 60%),radial-gradient(820px 460px at -5% 2%,rgba(46,111,176,.08),transparent 58%)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}::selection{background:rgba(14,124,123,.28)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;padding:14px 26px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.appbar,.appbar-left{display:flex;align-items:center;gap:16px}.logo-lockup{display:flex;align-items:center;gap:11px}.logo-word{display:flex;flex-direction:column;line-height:1}.logo-w1{font-weight:800;font-size:18px;letter-spacing:.2px;color:var(--text)}.logo-w2{font-weight:600;font-size:7.5px;letter-spacing:3.5px;color:var(--accent);margin-top:3px}.appbar-divider{width:1px;height:30px;background:var(--border)}.appbar-product{display:flex;flex-direction:column;line-height:1.2}.appbar-product .eyebrow{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700}.appbar-product .product-name{font-size:15px;font-weight:700;color:var(--text)}.appbar-right{display:flex;align-items:center;gap:14px}.appbar-nav-link{font-size:13px;font-weight:600;color:var(--text-muted);padding:8px 13px;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--surface);transition:.15s;white-space:nowrap}.appbar-nav-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.powered-by{font-size:11.5px;color:var(--text-dim)}.powered-by b{color:var(--text-muted);font-weight:700}.user-menu{display:flex;align-items:center;gap:8px;margin:0}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line);font-size:11px;font-weight:800;letter-spacing:.02em;flex:0 0 auto}.user-name{font-size:12.5px;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:.15s}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.job-delete-btn{width:32px;height:32px;color:var(--text-muted)}.job-delete-btn:hover{border-color:var(--bad);color:var(--bad)}.icon-btn:disabled,.job-delete-btn:disabled{opacity:.5;cursor:not-allowed}.jobs-toolbar{flex-wrap:wrap;gap:10px;margin:14px 0 18px}.jobs-search,.jobs-toolbar{display:flex;align-items:center}.jobs-search{gap:8px;flex:1 1 240px;min-width:200px;padding:0 12px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);transition:.15s}.jobs-search:focus-within{border-color:var(--accent);color:var(--accent)}.jobs-search input{flex:1 1;border:0;outline:none;background:transparent;color:var(--text);font-size:13.5px;height:100%}.jobs-search input::placeholder{color:var(--text-muted)}.seg{padding:3px;gap:2px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm)}.seg,.seg-btn{display:inline-flex}.seg-btn{align-items:center;gap:6px;padding:5px 11px;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.15s}.seg-btn:hover{color:var(--text)}.seg-btn.seg-active{background:var(--surface-3);color:var(--accent)}.seg-badge{font-size:11px;font-weight:700;line-height:1;padding:2px 6px;border-radius:999px;background:var(--border-strong);color:var(--text)}.seg-btn.seg-active .seg-badge{background:var(--accent);color:var(--surface)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:600;padding:11px 20px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:.16s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--teal);border:1px solid var(--teal);color:var(--btn-fg);box-shadow:0 6px 18px rgba(14,124,123,.3)}.btn-primary:hover{background:var(--teal-strong);border-color:var(--teal-strong);box-shadow:0 10px 24px rgba(14,124,123,.38)}.btn-secondary{background:var(--surface-2);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-ghost:hover{color:var(--text);border-color:var(--border-strong)}.btn-sm{padding:7px 13px;font-size:12.5px;border-radius:var(--radius-xs)}.btn .arrow{transition:transform .16s}.btn:hover .arrow{transform:translateX(3px)}.app-main{max-width:var(--maxw);margin:0 auto;padding:40px 26px 90px}.screen{animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.upload-wrap{width:100%;max-width:760px;margin:0 auto;text-align:center;padding-top:26px}.hero-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:7px 14px;border-radius:var(--radius-pill);margin-bottom:22px}.upload-title{font-size:32px;line-height:1.25;font-weight:800;letter-spacing:-.015em;margin:0 0 18px}.upload-title .grad{background:linear-gradient(110deg,var(--teal),var(--trust-blue));-webkit-background-clip:text;background-clip:text;color:transparent}.upload-sub{font-size:15px;line-height:1.6;color:var(--text-muted);max-width:620px;margin:0 auto 34px}.dropzone{position:relative;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 62%,transparent);padding:46px 24px;cursor:pointer;transition:.18s}.dropzone:focus-visible,.dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));outline:none;box-shadow:var(--ring)}.dropzone.dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));transform:scale(1.005)}.dz-icon{color:var(--accent);margin-bottom:12px}.dz-primary{font-size:16px;font-weight:700;color:var(--text);margin:0 0 4px}.dz-secondary{font-size:13px;color:var(--text-muted);margin:0}.dz-link{text-decoration:underline;text-underline-offset:2px}.dz-filename,.dz-link{color:var(--accent);font-weight:600}.dz-filename{margin:12px 0 0;font-size:13px}.event-ctx{margin:16px auto 0;max-width:620px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 16px}.event-ctx summary{cursor:pointer;padding:12px 0;font-size:13px;font-weight:600;color:var(--text-muted);list-style:none}.event-ctx summary::-webkit-details-marker{display:none}.event-ctx summary:before{content:"＋ ";color:var(--accent)}.event-ctx[open] summary:before{content:"－ "}.event-ctx .hint{color:var(--text-dim);font-size:12.5px;margin:0 0 12px}.ctx-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding-bottom:14px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;color:var(--text-muted);font-weight:600}.field input,.form-input{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xs);padding:10px 12px;font-family:inherit;font-size:13px;outline:none;transition:.14s}.field input:focus,.form-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.form-input.input-blank{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 5%,var(--surface-2))}.form-input.input-blank:focus{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 20%,transparent)}.ct-wrap{max-width:900px}.ct-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:26px;gap:26px;align-items:start;text-align:left;margin-top:6px}.ct-col{display:flex;flex-direction:column}.ct-col-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--text-muted);margin-bottom:12px}@media (max-width:760px){.ct-cols{grid-template-columns:1fr;gap:8px}}.ct-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.ct-or:after,.ct-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.ct-input-row{display:flex;gap:8px;align-items:stretch}.ct-input-row .form-input{flex:1 1}.ct-input-row .btn{flex:0 0 auto}.dz-clear{margin-left:8px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;padding:0 2px}.dz-clear:hover{color:var(--bad)}.upload-actions{gap:12px;margin-top:30px}.deliverables,.upload-actions{display:flex;justify-content:center;flex-wrap:wrap}.deliverables{gap:8px;margin-top:34px}.deliverable{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:7px 13px;border-radius:var(--radius-pill)}.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:24px}.trust{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-dim)}.trust .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pipeline-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}.section-title{font-size:22px;line-height:1.27;font-weight:800;margin:0;letter-spacing:-.01em}.section-meta{font-size:13px;margin:4px 0 0}.pill,.section-meta{color:var(--text-muted)}.pill{font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:7px 13px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface)}.pill-active{color:var(--accent)}.pill-active,.pill-ready{border-color:var(--accent-line);background:var(--accent-soft)}.pill-ready{color:var(--good)}.pill-failed{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 42%,transparent);background:color-mix(in srgb,var(--bad) 12%,transparent)}.pill-queued{color:var(--text-muted);border-color:var(--border);background:var(--surface)}.blocked-issues{border:1px solid color-mix(in srgb,var(--bad) 32%,transparent);background:color-mix(in srgb,var(--bad) 7%,var(--surface));border-radius:var(--radius-sm);padding:12px 16px;margin:0 0 14px;max-width:860px}.blocked-issues-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--bad)}.blocked-issues ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.blocked-issue{display:flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap}.sev-chip{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px}.sev-chip-hard{color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent)}.sev-chip-soft{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}.blocked-issue-msg{color:var(--text)}.blocked-issue-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);padding:1px 6px;border-radius:4px}.blocked-draft{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:4px 0;max-width:860px;max-height:460px;overflow:auto}.blocked-draft-field{padding:8px 16px;border-bottom:1px solid var(--border)}.blocked-draft-field:last-child{border-bottom:0}.blocked-draft-path{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:3px}.blocked-draft-text{font-size:13px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.blocked-mark{background:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--text);border-radius:3px;padding:0 2px;font-weight:700}.job-completion{margin:0 0 20px}.job-completion-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.job-completion-pct{font-size:22px;font-weight:800;color:var(--accent);letter-spacing:-.01em}.job-completion-label{font-size:12.5px;color:var(--text-muted)}.job-completion-label .jc-warn{color:var(--warn);font-weight:600}.job-completion-label .jc-bad{color:var(--bad);font-weight:600}.job-completion-bar{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}.job-completion-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--good));transition:width .4s ease}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.tactic-check-grid{display:flex;gap:26px;flex-wrap:wrap}.tactic-check-col{display:flex;flex-direction:column;gap:7px}.tactic-check-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;margin-bottom:3px}.nav-links{display:inline-flex;align-items:center;gap:8px}.dash-cards{display:grid;grid-gap:16px;gap:16px;max-width:720px;margin:0 auto;width:100%}.dash-card{display:block;text-decoration:none;color:inherit;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:22px 26px;transition:border-color .15s,transform .15s,box-shadow .15s}a.dash-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.06)}.dash-card.disabled{opacity:.55;cursor:not-allowed}.dash-card-title{font-size:17px;font-weight:800;color:var(--text)}.dash-card-desc{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--text-muted);max-width:620px}.dash-card-soon{display:inline-block;margin-top:10px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.stepper{list-style:none;display:flex;justify-content:space-between;gap:6px;margin:0 0 30px;padding:0;position:relative}.stepper:before{content:"";position:absolute;top:11px;left:4%;right:4%;height:2px;background:var(--border)}.step{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:1}.step-dot{width:22px;height:22px;border-radius:50%;background:var(--surface-3);border:2px solid var(--border-strong);transition:.25s}.step-label{font-size:12px;color:var(--text-dim);font-weight:600}.step.active .step-dot,.step.done .step-dot{background:var(--accent);border-color:var(--accent)}.step.active .step-dot{box-shadow:0 0 0 6px var(--accent-soft);animation:pulse 1.4s infinite}.step.active .step-label,.step.done .step-label{color:var(--text)}@keyframes pulse{0%,to{box-shadow:0 0 0 5px var(--accent-soft)}50%{box-shadow:0 0 0 9px transparent}}.digest-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:34px;overflow:hidden;box-shadow:var(--shadow-sm)}.digest-panel summary{cursor:pointer;padding:15px 20px;font-size:13.5px;font-weight:700;color:var(--text);list-style:none;display:flex;align-items:center;gap:8px}.digest-panel summary::-webkit-details-marker{display:none}.digest-panel summary:before{content:"▸";color:var(--accent);transition:.2s}.digest-panel[open] summary:before{transform:rotate(90deg)}.digest-body{padding:4px 20px 20px;border-top:1px solid var(--border)}.digest-scroll{max-height:420px;overflow:auto}.digest-section{margin-top:16px}.digest-section>h4{margin:0 0 8px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-weight:700}.digest-kv{display:grid;grid-template-columns:200px 1fr;grid-gap:6px 18px;gap:6px 18px;font-size:13px}.digest-kv dt{color:var(--text-muted);font-weight:600}.digest-kv dd{margin:0;color:var(--text)}.ledger-table{width:100%;border-collapse:collapse;font-size:12px}.ledger-table td,.ledger-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.ledger-table th{color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.tactic-grid{display:flex;flex-direction:column;gap:26px}.group-label{display:flex;align-items:center;gap:14px;margin-bottom:14px}.group-label span{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.group-rule{flex:1 1;height:1px;background:var(--border)}.tactic-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.tactic-tile{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px 16px;overflow:hidden;transition:.18s ease;text-decoration:none;color:inherit;display:block;box-shadow:var(--shadow-sm)}.tactic-tile.ready{cursor:pointer}.tactic-tile.ready:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow)}.tactic-tile.ready:focus-visible{outline:none;box-shadow:var(--ring)}.tactic-tile.disabled{opacity:.5;cursor:not-allowed}.tactic-tile.failed{border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}.tile-regen{margin-top:12px;width:100%}.tile-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px;margin-top:2px}.tile-index{flex:0 0 auto;width:26px;height:26px;border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800;display:grid;place-items:center}.tile-name{font-size:15px;font-weight:700;line-height:1.47;color:var(--text)}.tile-desc{font-size:12.5px;color:var(--text-muted);margin:0 0 14px}.tile-formats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.fmt-chip{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:4px 8px;border-radius:var(--radius-xs)}.brand-bar-left{display:inline-flex;align-items:center;gap:10px}.brand-bar-label{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.brand-swatches{display:inline-flex;align-items:center;gap:7px}.swatch{position:relative;width:30px;height:30px;padding:0;cursor:pointer;border-radius:8px;overflow:hidden;display:block;border:2px solid var(--border);transition:.14s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.swatch:hover{transform:translateY(-1px);border-color:var(--border-strong)}.swatch:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.swatch .s-bot,.swatch .s-top{position:absolute;left:0;right:0;height:50%}.swatch .s-top{top:0}.swatch .s-bot{bottom:0}.swatch .s-check{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.55);z-index:1}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.swatch.active .s-check{display:flex}.ws-download-chips{gap:6px;flex-wrap:wrap}.fmt-chip-dl,.ws-download-chips{display:inline-flex;align-items:center}.fmt-chip-dl{gap:5px;text-decoration:none;cursor:pointer;transition:.15s}.fmt-chip-dl svg{opacity:.7}.fmt-chip-dl:hover{border-color:var(--accent);color:var(--accent)}.fmt-chip-dl:hover svg{opacity:1}.fmt-chip-primary{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.tile-footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:13px}.sub-status,.tile-footer{align-items:center;gap:8px}.sub-status{display:inline-flex;font-size:12.5px;font-weight:600;color:var(--text-muted)}.status-led{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.sub-generating .status-led{background:var(--warn);animation:blink 1s infinite}.sub-generating{color:var(--warn)}.sub-ready .status-led{background:var(--good);box-shadow:0 0 0 3px var(--accent-soft)}.sub-ready{color:var(--good)}.sub-failed .status-led{background:var(--bad)}.sub-failed{color:var(--bad)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.issues-badge{font-size:11px;font-weight:700;color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);padding:3px 9px;border-radius:var(--radius-pill)}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:18px;gap:18px;align-items:start}.job-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 16px 8px;transition:.18s ease}.job-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.job-card-titles{min-width:0}.job-card-title{margin:0;font-size:15px;line-height:1.35;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-meta{margin:3px 0 0;font-size:12px;color:var(--text-muted)}.tactic-lines{display:flex;flex-direction:column;gap:3px}.tactic-line{display:flex;align-items:center;gap:11px;padding:9px 8px;border-radius:var(--radius-xs);border:1px solid transparent;text-decoration:none;color:inherit;transition:.14s ease}.tactic-line.ready{cursor:pointer}.tactic-line.ready:hover{background:var(--surface-2);border-color:var(--border)}.tactic-line.ready:focus-visible{outline:none;box-shadow:var(--ring)}.tactic-line.disabled{opacity:.55;cursor:not-allowed}.tactic-line .tile-index{width:24px;height:24px}.cat-summary .tile-index{color:var(--blue);background:color-mix(in srgb,var(--trust-blue) 14%,transparent)}.cat-congress .tile-index{color:var(--accent);background:var(--accent-soft)}.cat-field .tile-index{color:var(--mist);background:color-mix(in srgb,var(--mist) 18%,transparent)}.tactic-line-main{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:auto}.tactic-line-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.tactic-line-formats{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim)}.tactic-line .sub-status{font-size:11.5px;white-space:nowrap}.tactic-line-cta{font-size:12px;color:var(--text-muted);white-space:nowrap}.job-card-foot{margin-top:8px;padding:8px 8px 6px;border-top:1px solid var(--border)}.job-card-open{font-size:12px;color:var(--text-muted)}.ws-topbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ws-title-block{display:flex;flex-direction:column;gap:4px;margin-right:auto}.ws-back{font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.ws-title{font-size:22px;line-height:1.27;font-weight:800;margin:0;letter-spacing:-.01em}.ws-save-state{font-size:12px;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px}.ws-save-state .led{width:8px;height:8px;border-radius:50%;background:var(--good)}.ws-save-state.saving .led{background:var(--warn);animation:blink 1s infinite}.ws-save-state.error .led{background:var(--bad)}.ws-save-state.dirty .led{background:var(--text-dim)}.ws-downloads{display:flex;gap:8px;flex-wrap:wrap}.ws-split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.ws-editor,.ws-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.ws-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.ws-panel-head h3{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.ws-panel-actions{display:flex;align-items:center;gap:8px}.review-banner{margin:12px 16px 0;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.5;border-radius:var(--radius-sm);color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent)}.review-banner-icon{font-size:14px;line-height:1.3;flex:0 0 auto}.issues-list{padding:12px 16px 0;display:flex;flex-direction:column;gap:8px}.issues-list:empty{display:none}.issue-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-xs);font-size:12.5px;background:var(--surface-2);border:1px solid var(--border)}.issue-item.hard{border-color:color-mix(in srgb,var(--bad) 42%,transparent);background:color-mix(in srgb,var(--bad) 9%,transparent)}.issue-item.soft{border-color:color-mix(in srgb,var(--warn) 38%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.issue-sev{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:3px 7px;border-radius:5px;flex:0 0 auto}.issue-item.hard .issue-sev{background:color-mix(in srgb,var(--bad) 20%,transparent);color:var(--bad)}.issue-item.soft .issue-sev{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.issue-loc{color:var(--text-dim);font-size:11px;margin-top:2px}.edit-form{padding:14px 16px 18px;display:flex;flex-direction:column;gap:13px;max-height:76vh;overflow:auto}.edit-intro{font-size:12.5px;color:var(--text-muted);margin:0 0 2px}.edit-group{gap:13px}.edit-group,.form-field{display:flex;flex-direction:column}.form-field{gap:5px}.field-label,.form-field>label{font-size:12px;font-weight:600;color:var(--text-muted)}.edit-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);overflow:hidden}.edit-section-top{background:var(--surface)}.edit-section-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:0;cursor:pointer;text-align:left;font-family:inherit;color:var(--text);transition:.14s}.edit-section-head:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.edit-caret{color:var(--text-dim);font-size:11px;width:12px;flex:0 0 auto}.edit-section-title{font-size:12px;font-weight:700;letter-spacing:.3px}.edit-section-body{padding:12px;gap:13px;border-top:1px solid var(--border)}.edit-list,.edit-section-body{display:flex;flex-direction:column}.edit-list{gap:8px}.edit-list-row{display:flex;align-items:center;gap:6px}.edit-list-row .form-input{flex:1 1}.edit-list-remove{width:30px;height:30px;flex:0 0 auto;font-size:18px;line-height:1}.form-check{display:inline-flex;align-items:center;gap:8px}.form-group{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--surface-2)}.form-group-legend{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.array-item{border:1px dashed var(--border-strong);border-radius:var(--radius-xs);padding:10px;margin-bottom:10px}.array-item-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}textarea.form-input{min-height:74px;resize:vertical;line-height:1.5;font-family:inherit}.hint{color:var(--text-dim);font-size:12.5px}.device-bar{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px}.device-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:0;background:transparent;color:var(--text-muted);font-size:11.5px;font-weight:600;border-radius:6px;cursor:pointer;font-family:inherit}.device-btn:hover{color:var(--text)}.device-btn.active{background:var(--teal);color:var(--btn-fg)}.preview-frame-wrap,[data-theme] .preview-frame-wrap{background:#cdd6e2}:root .preview-frame-wrap{background:#081f38}.preview-frame{width:100%;height:76vh;min-height:480px;border:0;display:block;background:#fff;margin:0 auto}.preview-frame-wrap[data-device=mobile],.preview-frame-wrap[data-device=tablet]{padding:22px 12px;display:flex;justify-content:safe center;align-items:flex-start;overflow:auto}.preview-frame-wrap[data-device=mobile] .device-shell,.preview-frame-wrap[data-device=tablet] .device-shell{background:var(--navy);border-radius:26px;padding:12px;margin:0 auto;flex:0 0 auto;max-width:100%;box-shadow:0 22px 60px rgba(3,14,28,.55)}.preview-frame-wrap[data-device=mobile] .preview-frame{height:70vh;border-radius:16px;width:375px;max-width:100%}.preview-frame-wrap[data-device=tablet] .preview-frame{height:72vh;border-radius:10px;width:768px;max-width:100%}.version-menu{position:relative}.version-list{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:280px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:6px}.version-item{display:block;width:100%;text-align:left;padding:9px 11px;background:transparent;border:0;color:var(--text);border-radius:var(--radius-xs);cursor:pointer;font-size:12.5px}.version-item:hover{background:var(--surface-2)}.version-item .v-note{display:block;font-size:11px;color:var(--text-dim);margin-top:2px}.toast-host{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{background:var(--surface);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:12px 16px;box-shadow:var(--shadow);min-width:240px;max-width:340px;animation:fadeUp .25s ease}.toast.error{border-left-color:var(--bad)}.toast.success{border-left-color:var(--good)}.toast-title{font-size:13px;font-weight:700;color:var(--text)}.toast-msg{font-size:12.5px;color:var(--text-muted);margin-top:2px}@media (max-width:900px){.ws-split{grid-template-columns:1fr}.upload-title{font-size:28px}.app-main{padding:28px 18px 70px}}@media (max-width:620px){.appbar{padding:12px 16px}.appbar-product,.powered-by{display:none}.ctx-grid{grid-template-columns:1fr}.upload-title{font-size:25px}.pipeline-head{flex-direction:column;align-items:flex-start}.tactic-row{grid-template-columns:1fr}.ws-downloads{width:100%}}