:root{--paper:#f5f6f9;--surface:#ffffff;--surface-2:#f0f2f6;--ink:#14161c;--muted:#5c6472;--faint:#8a92a1;--hairline:#e2e5eb;--accent:#2f6bff;--accent-ink:#1e4fd6;--accent-wash:#eaf0ff;--green:#1f8f5f;--amber:#b96e06;--red:#cc3d48;--sans:ui-sans-serif,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,"Cascadia Code","SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--paper:#0d0f14;--surface:#151822;--surface-2:#1b1f2b;--ink:#eceef3;--muted:#9aa3b2;--faint:#6b7383;--hairline:#242a36;--accent:#5b8cff;--accent-ink:#8aaaff;--accent-wash:#17203a;--green:#3fb981;--amber:#e0a64a;--red:#f2606b}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:15rem 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--hairline);padding:1.5rem 1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:.55rem;margin-bottom:1.75rem;padding:0 .4rem}.brand .dot{width:.7rem;height:.7rem;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.brand span{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nav{flex-direction:column;gap:.15rem}.nav,.nav a{display:flex}.nav a{align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:7px;color:var(--muted);font-size:.9rem}.nav a:hover{background:var(--surface-2);color:var(--ink)}.main{padding:2.5rem clamp(1.25rem,4vw,3rem);min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 .5rem}h1{font-size:1.7rem;letter-spacing:-.02em;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.card{border:1px solid var(--hairline);border-radius:12px;background:var(--surface);padding:1.1rem 1.2rem}.card h3{margin:0 0 .4rem;font-size:.95rem}.card p{margin:0;color:var(--muted);font-size:.85rem}.pill{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.72rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--hairline)}.pill .sw{width:.55rem;height:.55rem;border-radius:50%}.up{color:var(--green)}.down{color:var(--red)}.placeholder{border:1px dashed var(--hairline);border-radius:12px;padding:2.5rem;color:var(--muted);text-align:center;margin-top:1.5rem}.sidebar,.sidebar-footer{display:flex;flex-direction:column}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--hairline);gap:.6rem}.who{display:flex;flex-direction:column;gap:.1rem}.who-name{font-size:.85rem;font-weight:600}.who-email{font-size:.75rem;color:var(--muted)}.who-roles{font-family:var(--mono);font-size:.66rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.link-btn{background:none;border:none;padding:0;color:var(--accent-ink);font-size:.8rem;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:100%;max-width:22rem;background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:2rem 1.75rem}.auth-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.auth-brand .dot{width:.7rem;height:.7rem;border-radius:3px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.auth-title{font-size:1.4rem;margin:0 0 .35rem}.auth-sub{color:var(--muted);font-size:.88rem;margin:0 0 1.5rem}.auth-form{gap:1rem}.auth-form,.field{display:flex;flex-direction:column}.field{gap:.35rem}.field>span{font-size:.8rem;color:var(--muted)}.field input,.field select,.field textarea{padding:.55rem .7rem;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.9rem;flex:0 0 auto}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.hint{color:var(--faint);font-size:.72rem}.auth-error{color:var(--red);font-size:.82rem;margin:0}.btn-primary{padding:.6rem .9rem;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--accent-ink)}.btn-primary:disabled{opacity:.6;cursor:default}.muted{color:var(--muted);font-size:.85rem}.brand-empty{border:1px dashed var(--hairline);border-radius:12px;padding:2rem;color:var(--muted);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem;align-items:start}.brand-assets{grid-column:1/-1}.inline-form,.upload-form{display:flex;flex-direction:column;gap:.6rem}.inline-form{flex-direction:row;align-items:center}.inline-form input[type=text],.upload-row input,.upload-row select{padding:.5rem .65rem;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.88rem}.upload-row{gap:.6rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--hairline)}.swatches,.upload-row{display:flex;flex-wrap:wrap}.swatches{gap:.8rem}.swatch{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:5rem}.chip-color{width:3rem;height:3rem;border-radius:8px;border:1px solid var(--hairline)}.swatch-name{font-size:.78rem}.swatch-val{font-family:var(--mono);font-size:.7rem;color:var(--faint)}.kv{display:grid;grid-template-columns:auto 1fr;grid-gap:.4rem 1rem;gap:.4rem 1rem;margin:0;font-size:.85rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.asset-group{margin-top:1rem}.asset-group h4{margin:0 0 .5rem;font-size:.82rem;color:var(--muted)}.asset-row{display:flex;flex-wrap:wrap;gap:.8rem}.asset{margin:0;width:7rem;display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center}.asset img{width:7rem;height:7rem;object-fit:contain;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-2)}.asset figcaption{font-size:.72rem;color:var(--muted);word-break:break-word}.link-btn.danger{color:var(--red)}.ok-msg{color:var(--green);font-size:.82rem;margin:0}@media (max-width:720px){.brand-grid{grid-template-columns:1fr}}.campaign-form{display:flex;flex-direction:column;gap:.7rem;margin-top:.6rem}.campaign-form textarea.fieldinput{resize:vertical;min-height:7rem;font:inherit}.campaign-form-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.lform{display:flex;flex-direction:column;gap:.9rem;margin-top:.6rem}.lform-row{display:flex;flex-wrap:wrap;gap:.9rem 1rem;align-items:flex-end}.lfield{display:flex;flex-direction:column;gap:.3rem;flex:1 1 11rem;min-width:0}.lfield-name{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.lfield .fieldinput{flex:0 0 auto;width:100%;padding:.5rem .65rem;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.88rem}.lfield-check{display:flex;align-items:center;gap:.45rem;padding:.45rem 0;white-space:nowrap}.form-block{margin-top:.4rem;padding-top:1rem;border-top:1px dashed var(--hairline)}.form-block-title{font-size:.86rem;font-weight:700;margin:0 0 .15rem}.form-block-desc{font-size:.8rem;color:var(--muted);margin:0 0 .7rem}.steps{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.step-title{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.step-title .link-btn,.step-title .pill{font-size:.75rem;font-weight:600}.video-block>summary{cursor:pointer;font-weight:700;font-size:.9rem;list-style:none;padding:.35rem 0}.video-block>summary::-webkit-details-marker{display:none}.video-block>summary:before{content:"▸ ";color:var(--muted)}.video-block[open]>summary:before{content:"▾ "}.campaign-form-row .field,.campaign-form-row>.fieldinput{flex:1 1 12rem}.campaign-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column}.campaign-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .2rem;border-bottom:1px solid var(--hairline)}.campaign-item:last-child{border-bottom:none}.campaign-item.is-archived{opacity:.6}.campaign-name{font-weight:600;color:inherit;text-decoration:none}.campaign-name:hover{text-decoration:underline}.campaign-preview{margin:.15rem 0 0;color:var(--muted);font-size:.82rem}.status-chip{font-family:var(--mono);font-size:.7rem;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--hairline);color:var(--muted);background:var(--surface-2);white-space:nowrap}.status-chip.status-draft{color:var(--ink)}.status-chip.status-brief_ready,.status-chip.status-generating,.status-chip.status-in_progress{color:var(--accent-ink);background:var(--accent-wash);border-color:transparent}.status-chip.status-completed{color:var(--green)}.status-chip.status-archived{color:var(--faint)}.source-text{margin:.6rem 0 0;padding:.8rem .9rem;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-2);font:inherit;font-size:.88rem;white-space:pre-wrap;word-break:break-word;max-height:24rem;overflow-y:auto}.brief-card h3{display:flex;align-items:center;gap:.6rem}.brief-view{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}.brief-checks{border:1px solid var(--hairline);border-radius:8px;padding:.6rem .8rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.brief-checks legend{font-size:.78rem;color:var(--muted);padding:0 .3rem}.brief-checks label{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.concepts-card h3{display:flex;align-items:center;gap:.6rem}.concept-list{list-style:none;margin:.4rem 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.9rem}.concept{border:1px solid var(--hairline);border-radius:10px;padding:.6rem 1rem;background:var(--surface-2)}.concept-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;cursor:pointer;list-style:none}.concept-head::-webkit-details-marker{display:none}.concept-head:before{content:"▸";color:var(--muted);font-size:.75rem}.concept[open]>.concept-head:before{content:"▾"}.concept-body{margin-top:.5rem}.brief-message{margin:.2rem 0 .5rem;font-weight:600}.brief-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}.brief-more>summary{cursor:pointer;font-size:.85rem;color:var(--muted);margin-bottom:.4rem}.concept-rank{font-family:var(--mono);font-size:.8rem;color:var(--accent-ink);font-weight:700}.concept-sub{margin:.3rem 0 .2rem;font-size:.9rem}.concept-scores{margin:.5rem 0 0;font-family:var(--mono);font-size:.75rem;color:var(--muted)}.claims-card h3{display:flex;align-items:center;gap:.6rem}.claims-summary{font-weight:600;font-size:.9rem;margin:.2rem 0 .6rem}.claims-summary.ok{color:var(--green)}.claims-summary.fail{color:var(--red)}.claims-list{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.claim{border:1px solid var(--hairline);border-left-width:3px;border-radius:8px;padding:.5rem .8rem}.claim-allowed{border-left-color:var(--green)}.claim-warning{border-left-color:var(--amber)}.claim-blocked{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 6%,transparent)}.claim-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.claim-text{font-size:.88rem}.claim-meta{margin:.2rem 0 0;font-size:.75rem;color:var(--muted)}.status-chip.verdict-allowed{color:var(--green)}.status-chip.verdict-warning{color:var(--amber)}.status-chip.verdict-blocked{color:var(--red)}.preview-title{margin:1rem 0 .4rem;font-size:.85rem}.preview-section{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.8rem}.preview-result{margin:0;border:1px solid var(--hairline);border-radius:10px;overflow:hidden;max-width:480px}.preview-result img{display:block;width:100%;height:auto}.preview-result figcaption{padding:.5rem .8rem;font-family:var(--mono);font-size:.72rem;color:var(--muted);border-top:1px solid var(--hairline)}.kit-editor-card{grid-column:1/-1}.kit-editor{display:flex;flex-direction:column;gap:.7rem}.kit-editor h4{margin:.6rem 0 0;font-size:.85rem}.kit-colors{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.kit-color-row{display:flex;gap:.5rem;align-items:center;width:100%}.kit-color-row input[type=color]{width:2.4rem;height:2.2rem;padding:0;border:1px solid var(--hairline);border-radius:6px;background:none}.kit-color-row .fieldinput{flex:1 1 6rem}.kit-notes{margin:0;padding-left:1.2rem;font-size:.8rem;color:var(--muted)}.deep-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;white-space:nowrap}.quality-checks{list-style:none;margin:0;padding:.5rem .8rem;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:.72rem;display:flex;flex-direction:column;gap:.2rem}.quality-pass{color:var(--green)}.quality-warn{color:var(--amber)}.quality-fail{color:var(--red)}.pieces-card{grid-column:1/-1}.pieces-card h3{display:flex;align-items:center;gap:.6rem}.content-list{gap:1rem;margin-top:.6rem}.content-item,.content-list{display:flex;flex-direction:column}.content-item{border:1px solid var(--hairline);border-radius:10px;padding:.8rem 1rem;gap:.6rem;background:var(--surface-2)}.content-item-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.8rem}.content-render{max-width:380px}.content-render img{width:100%;border-radius:8px;border:1px solid var(--hairline)}.zoomable{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,10,14,.88);display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:2vh 2vw}.lightbox img{max-width:94vw;max-height:94vh;border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.pieces-group{margin-top:1rem;border-top:1px dashed var(--hairline);padding-top:.8rem}.pieces-group>summary{cursor:pointer;font-weight:700;font-size:.95rem;list-style:none;padding:.2rem 0 .6rem}.pieces-group>summary::-webkit-details-marker{display:none}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid rgba(255,255,255,.35);border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-.12em;margin-right:.45em}@keyframes spin{to{transform:rotate(1turn)}}.revision-strip{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.3rem}.revision-strip figure{margin:0;flex:none;width:200px}.revision-strip img{width:100%;border-radius:6px;border:2px solid var(--hairline)}.revision-strip figure.current img{border-color:var(--accent)}.revision-strip figcaption{font-family:var(--mono);font-size:.7rem;color:var(--muted);text-align:center}.regen-row{display:flex;flex-direction:column;gap:.4rem}.status-chip.content-in_review{color:var(--amber)}.status-chip.content-changes_requested{color:var(--accent-ink)}.status-chip.content-approved{color:var(--green)}.status-chip.content-generation_failed,.status-chip.content-rejected{color:var(--red)}.metadata-block{border-top:1px solid var(--hairline);padding-top:.6rem;display:flex;flex-direction:column;gap:.4rem}.metadata-block h4{margin:0;font-size:.82rem}.metadata-caption{margin:0;font-size:.88rem;white-space:pre-wrap}.metadata-hashtags{margin:0;font-size:.8rem;color:var(--accent-ink);word-break:break-word}.metadata-alt{font-size:.75rem}.audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.audit-entry{padding:.55rem .2rem;border-bottom:1px solid var(--hairline)}.audit-head{display:flex;gap:.8rem;align-items:baseline;flex-wrap:wrap;font-size:.82rem}.audit-action{font-family:var(--mono);font-weight:600;color:var(--accent-ink)}.audit-detail{margin:.15rem 0 0;font-family:var(--mono);font-size:.7rem;color:var(--muted);word-break:break-word}.export-link{text-decoration:none;display:inline-block}.manual{display:grid;grid-template-columns:220px 1fr;grid-gap:1.2rem;gap:1.2rem;align-items:start}.manual-toc{position:-webkit-sticky;position:sticky;top:1rem}.manual-toc h3{margin:0 0 .5rem}.manual-toc ol{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.manual-toc a{color:inherit;text-decoration:none}.manual-toc a:hover{color:var(--accent-ink)}.manual-body{display:flex;flex-direction:column;gap:1.2rem;max-width:46rem}.manual-section{scroll-margin-top:1rem}.manual-section h2{margin:0 0 .6rem;font-size:1.05rem}.manual-section li,.manual-section p{font-size:.9rem;line-height:1.55}.manual-section ol,.manual-section ul{padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem}.manual-section ul ul{margin-top:.35rem}.manual-steps li{padding-left:.15rem}.manual-templates{list-style:none;padding-left:0}.manual-templates li{padding:.35rem 0;border-bottom:1px solid var(--hairline)}.manual-templates li:last-child{border-bottom:none}@media (max-width:900px){.manual{grid-template-columns:1fr}.manual-toc{position:static}}.asset-picker{display:flex;flex-direction:column;gap:.3rem;flex-basis:100%}.asset-picker-label{font-size:.75rem;color:var(--muted)}.asset-picker-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.asset-thumb{flex:0 0 auto;width:86px;border:2px solid var(--hairline);border-radius:10px;background:none;padding:3px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.asset-thumb img{width:100%;height:62px;object-fit:cover;border-radius:7px;display:block}.asset-thumb span{font-size:.62rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-thumb.selected{border-color:var(--accent-ink)}.asset-thumb.selected span{color:var(--accent-ink);font-weight:600}.compare-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:.8rem;gap:.8rem;margin-top:.6rem}.compare-cell{margin:0}.compare-cell img{width:100%;height:auto;border-radius:10px;border:1px solid var(--hairline);display:block}.compare-cell figcaption{font-size:.72rem;color:var(--muted);margin-top:.25rem}.slide-edit legend{display:flex;align-items:center;gap:.4rem}.slide-tools{display:inline-flex;gap:.15rem}.video-result{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.video-result video{max-width:320px;border-radius:12px;border:1px solid var(--hairline)}