:root{--bg:#0a0e17;--panel:#121826;--panel2:#0f1420;--border:#1f2a3d;--text:#dce6f5;--muted:#7e8ca5;--accent:#5b9dff;--green:#4fd18b;--amber:#e8c265;--red:#e8806a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel2);border-right:1px solid var(--border);padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar h1{font-size:15px;margin:0 0 2px}.sidebar .tag{color:var(--muted);font-size:11px;margin-bottom:22px}.nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text);margin-bottom:2px}.nav a:hover{background:var(--panel);text-decoration:none}.main{flex:1 1;padding:28px 36px;max-width:1100px}h2{font-size:22px;margin:0 0 4px}h3{font-size:16px;margin:26px 0 10px}.sub{color:var(--muted);margin:0 0 24px}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 20px;min-width:120px}.stat .n{font-size:26px;font-weight:700}.stat .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.card h4{margin:0 0 4px;font-size:15px}.card .meta{color:var(--muted);font-size:12px}.bar{height:6px;background:var(--panel2);border-radius:4px;margin-top:10px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--green)}table{width:100%;border-collapse:collapse;margin:8px 0 20px}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.badge,tr:hover td{background:var(--panel)}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;border:1px solid var(--border);color:var(--muted);margin:0 3px 3px 0}.badge.win{color:var(--green);border-color:#1e4d36}.badge.geo{color:var(--accent);border-color:#1e3a5d}.badge.warn{color:var(--amber);border-color:#4d401e}.chip{display:inline-block;padding:3px 9px;border-radius:6px;background:var(--panel2);border:1px solid var(--border);font-size:12px;margin:0 4px 4px 0}.chip b{color:var(--green)}.pill{font-size:11px;padding:1px 7px;border-radius:20px}.pill.on{background:#15331f;color:var(--green)}.pill.off{background:#331a15;color:var(--red)}.hint{color:var(--muted);font-size:12px}.win-row{color:var(--green)}button,input,select{font:inherit}input,select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:6px 9px}input::placeholder{color:var(--muted)}button,select{cursor:pointer}button{background:var(--accent);color:#06101f;border:1px solid var(--accent);border-radius:7px;padding:6px 12px;font-weight:600}button:hover{filter:brightness(1.08)}.form-inline{gap:8px;flex-wrap:wrap;margin:6px 0 8px}.assign,.form-inline{display:flex;align-items:center}.assign{gap:5px}.assign select{padding:4px 6px;font-size:12px;max-width:140px}.assign button{padding:4px 10px}.linkbtn{color:var(--red);padding:2px 4px;font-weight:500}.linkbtn:hover{filter:none}.linkbtn.danger{color:var(--red)}.setpage-form{display:flex;gap:5px;align-items:center;margin-bottom:4px}.setpage-form input{padding:4px 7px;font-size:12px;min-width:150px}.setpage-form button{padding:4px 10px;font-size:12px}.thumb-wrap{position:relative;display:inline-block;line-height:0}.thumb{border-radius:6px;border:1px solid var(--border);object-fit:cover;background:var(--panel2)}.thumb-empty{display:inline-block}.thumb-empty,.thumb-video{border-radius:6px;border:1px dashed var(--border);background:var(--panel2)}.thumb-video{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}a:hover .thumb-video{color:var(--text);border-style:solid}.thumb-more{position:absolute;bottom:2px;right:2px;font-size:9px;padding:0 4px;border-radius:8px;background:rgba(10,14,23,.8);color:var(--text);border:1px solid var(--border)}.refresh-form{display:flex;gap:10px;align-items:center;margin:0 0 22px}.refresh-form button:disabled{opacity:.6;cursor:progress}.badge.queued{color:var(--amber);border-color:#4d401e}.legend{margin:-2px 0 10px}.legend b{color:var(--text)}.scan-form{display:inline}.scanbtn{padding:4px 10px;font-size:12px}.scanbtn:disabled{opacity:.6;cursor:progress}.stepper{display:flex;gap:0;align-items:flex-start;margin:8px 0;flex-wrap:wrap}.step{display:flex;flex-direction:column;align-items:center;flex:1 1;min-width:64px;position:relative;font-size:10px;color:var(--muted)}.step .dot{width:12px;height:12px;border-radius:50%;background:var(--panel2);border:2px solid var(--border);z-index:1}.step:not(:first-child):before{content:"";position:absolute;top:5px;left:-50%;width:100%;height:2px;background:var(--border)}.step.done .dot{border-color:var(--green)}.step.done .dot,.step.done:before{background:var(--green)}.step.current .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,157,255,.2)}.step.current .step-label{color:var(--accent);font-weight:600}.step-label{margin-top:5px;text-align:center;letter-spacing:.02em}.badge.danger{color:var(--red);border-color:#4d251e}.narrative{background:var(--panel2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 13px;margin:10px 0 14px;color:var(--text)}.card.deep{margin:6px 0 22px}.card.deep h4{margin:16px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.card.deep p{margin:8px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:640px){.two-col{grid-template-columns:1fr}}ul.tight{margin:4px 0;padding-left:18px}ul.tight li{margin:3px 0}.rec{border-top:1px solid var(--border);padding:8px 0}.rec:first-child{border-top:none}.funnel-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:var(--panel2);border:1px solid var(--border)}.funnel-bar.sm{height:12px}.funnel-seg{display:flex;align-items:center;justify-content:center;font-size:10px;color:#0a0e17;font-weight:700;min-width:0}.t-tof{background:var(--accent)}.t-mof{background:var(--amber)}.t-bof{background:var(--green)}.picker{margin-bottom:22px}.linkbtn{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0}.linkbtn:hover{text-decoration:underline}.cmp-tray-label{display:flex;align-items:center;gap:10px;margin-bottom:6px}.cmp-tray{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cmp-chip{display:inline-flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--border);border-radius:20px;padding:4px 6px 4px 10px;font-size:13px}.cmp-chip.mine{border-color:var(--accent);background:rgba(91,157,255,.1)}.cmp-chip .chip-name{font-weight:500}.chip-mine{background:none;border:1px solid var(--border);border-radius:20px;color:var(--muted);font-size:11px;padding:1px 8px;cursor:pointer}.cmp-chip.mine .chip-mine{color:var(--accent);border-color:var(--accent)}.chip-x{background:none;border:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.chip-x:hover{color:var(--red)}.cmp-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.cmp-search{min-width:220px;flex:1 1}.cmp-search,.cmp-select{background:var(--panel2);color:var(--text);padding:7px 11px;font-size:13px}.cmp-list,.cmp-search,.cmp-select{border:1px solid var(--border);border-radius:8px}.cmp-list{max-height:340px;overflow-y:auto}.cmp-row{display:grid;grid-template-columns:18px 1fr auto;grid-gap:10px;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:8px 11px;cursor:pointer;color:var(--text);font:inherit}.cmp-row:last-child{border-bottom:none}.cmp-row:hover:not(:disabled){background:var(--panel)}.cmp-row:disabled{opacity:.4;cursor:not-allowed}.cmp-add{color:var(--accent);font-size:15px;font-weight:700}.cmp-name{font-size:13px}.cmp-meta{text-align:right}.cmp-wrap{overflow-x:auto}.cmp-table td,.cmp-table th{min-width:150px}.cmp-table td.dim{color:var(--muted);font-size:12px;min-width:120px}.cmp-table td.mine,.cmp-table th.mine{background:rgba(91,157,255,.06)}.cmp-table th.mine{border-bottom:2px solid var(--accent)}.gap-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:4px 0 12px}.gap-legend .k{display:inline-flex;align-items:center;gap:6px}.gap-legend .sw{width:10px;height:10px;border-radius:2px;display:inline-block}.gap-row{display:grid;grid-template-columns:160px 1fr 46px;grid-gap:14px;gap:14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.gap-reg{font-size:13px;text-transform:capitalize}.gap-bars{display:flex;flex-direction:column;gap:4px}.gap-track{height:9px;background:var(--panel2);border-radius:3px;overflow:hidden}.gap-track>span{display:block;height:100%}.gap-track.demand>span{background:var(--accent)}.gap-track.cov>span{background:var(--amber)}.gap-opp{text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.gap-opp.hi{color:var(--green)}.seed-card{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:10px;padding:12px 15px;margin-bottom:10px}.seed-card .st{font-size:14px;color:var(--text);margin-bottom:4px;font-weight:600}.seed-card .sr{font-size:12px;color:var(--muted)}.seed-card .sr b{color:var(--green)}.voice-item{border-bottom:1px solid var(--border);padding:9px 0}.voice-item .q{color:var(--text)}.voice-item .m{color:var(--muted);font-size:11px;margin-top:4px}.gap-cta{display:inline-block;background:var(--accent);color:#06101f;font-weight:600;padding:8px 14px;border-radius:8px}.gap-cta:hover{filter:brightness(1.08);text-decoration:none}.brief-pre{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:10px 0 24px;overflow:auto;max-height:72vh;white-space:pre-wrap;word-wrap:break-word;color:var(--text);font:12px/1.55 ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace}.niche-picker{font-size:12px}.niche-chips{margin-bottom:4px}.badge.niche-override{color:var(--text);border-color:var(--accent)}.badge.niche-llm,.badge.niche-manual{color:var(--text)}.badge.niche-keyword{border-style:dashed;font-style:italic}.niche-dd{position:relative;display:inline-block}.niche-dd>summary{list-style:none;cursor:pointer;color:var(--accent);font-size:12px}.niche-dd>summary::-webkit-details-marker{display:none}.niche-dd[open]>summary{color:var(--text)}.niche-dd-panel{position:absolute;z-index:20;top:20px;left:0;min-width:230px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.45)}.niche-dd-panel label{display:flex;gap:8px;align-items:center;padding:3px 0;cursor:pointer;white-space:nowrap}.niche-dd-panel input[type=checkbox]{padding:0;accent-color:var(--accent)}.niche-dd-actions{display:flex;gap:6px;margin:8px 0 6px}.niche-dd-actions button{padding:4px 12px;font-size:12px}button.ghost{background:var(--panel2);color:var(--text);border-color:var(--border)}.adv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px;margin:10px 0 24px}.adv-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:visible;display:flex;flex-direction:column}.adv-card:hover{border-color:#2e3f5c}.adv-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2px;gap:2px;background:var(--panel2);border-radius:12px 12px 0 0;overflow:hidden;aspect-ratio:4/1}.adv-strip a,.adv-strip img,.adv-strip span{display:block;width:100%;height:100%}.adv-strip img{object-fit:cover}.adv-strip .ph{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.adv-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1 1}.adv-body h4{margin:0;font-size:15px}.adv-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.adv-stats b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adv-foot{margin-top:auto;justify-content:space-between;align-items:flex-end;gap:8px}.adv-foot,.sortbar{display:flex;flex-wrap:wrap}.sortbar{gap:6px;align-items:center;margin:4px 0 8px;font-size:12px}.sortbar a{padding:3px 10px;border-radius:20px;border:1px solid var(--border);color:var(--muted)}.sortbar a.on{color:var(--accent);border-color:#1e3a5d;font-weight:600}.sortbar a:hover{text-decoration:none;color:var(--text)}details.fold>summary{cursor:pointer;font-size:16px;font-weight:600;margin:26px 0 10px}.ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;margin:12px 0 24px}.ad-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;color:var(--text)}.ad-card:hover{border-color:#2e3f5c;text-decoration:none}.ad-card .creative{aspect-ratio:1/1;background:var(--panel2);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:22px;position:relative}.ad-card .creative img{width:100%;height:100%;object-fit:cover;display:block}.ad-card .creative .days{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:rgba(10,14,23,.85);border:1px solid var(--border)}.ad-card .creative .days.win{color:var(--green);border-color:#1e4d36}.ad-card .creative .pill{position:absolute;top:8px;right:8px}.ad-card .copy{padding:10px 12px 12px;font-size:12px;display:flex;flex-direction:column;gap:5px}.ad-card .copy .hl{font-weight:600;font-size:13px}.ad-card .copy .body{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.adv-strip-text{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 14px;font-size:13px;color:var(--text);font-style:italic;aspect-ratio:auto;min-height:76px}.adv-strip-text span{height:auto}.adv-strip-text .hint{font-style:normal;font-size:11px}.ad-card .creative.noimg{aspect-ratio:auto;height:64px;font-size:16px}