:root{--ink:#0c0c0b;--ink-2:#161613;--ink-3:#22211c;--paper:#f4efe4;--paper-dim:#c9c3b4;--rule:#2c2b26;--yes:#d8ff3c;--stop:#ff4d2e;--scroll:#7a776c;--ok:#7dffb3;--warn:#ffc24a;--mono:"IBM Plex Mono", "ui-monospace", "SFMono-Regular", Menlo, monospace;--sans:"IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}*{box-sizing:border-box}html,body{background:var(--ink);min-height:100%;color:var(--paper);font-family:var(--sans);margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #1d1c14 0%, transparent 55%), radial-gradient(900px 500px at 110% 10%, #1a2212 0%, transparent 50%), var(--ink)}#app{flex-direction:column;min-height:100dvh;display:flex}button,textarea,input,select{font:inherit;color:inherit}input,textarea{border:1px solid var(--rule);color:var(--paper);background:#0b0b09;border-radius:8px}input::placeholder,textarea::placeholder{color:#7a776c}button{cursor:pointer}.top{border-bottom:1px solid var(--rule);padding:18px 22px 10px}.top-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.dot{background:var(--yes);width:7px;height:7px;box-shadow:0 0 10px var(--yes);border-radius:50%}.backend{color:var(--yes);letter-spacing:.08em;background:#1a1c10;border:1px solid #3a3a22;border-radius:999px;padding:2px 8px}.headline{font-family:var(--serif);letter-spacing:-.03em;margin:10px 0 0;font-size:clamp(28px,4.4vw,52px);font-weight:400;line-height:1.02}.headline em{color:var(--yes);font-style:italic}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--rule);background:var(--ink-2);border-radius:999px;padding:9px 14px;font-size:13px}.btn:hover{border-color:#4a493f}.btn.primary{background:var(--yes);color:#111;border-color:var(--yes);font-weight:600}.btn.primary:disabled{color:#8a8860;cursor:not-allowed;background:#3d3d2a;border-color:#3d3d2a}.btn.ghost{background:0 0}.counters{grid-template-columns:repeat(6,minmax(90px,1fr));gap:10px;margin-top:16px;display:grid}.counter{border:1px solid var(--rule);background:#161613b3;border-radius:10px;padding:10px 12px}.counter .k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);font-size:10px}.counter .v{font-family:var(--mono);margin-top:4px;font-size:22px}.counter.stop .v{color:var(--stop)}.counter.rate .v{color:var(--yes)}.stage{flex:1;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;padding:18px 22px;display:grid}.phone-col{flex-direction:column;align-items:center;gap:10px;display:flex}.phone-note{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);text-align:center;font-size:10px}.phone{background:#050505;border:10px solid #1a1a18;border-radius:36px;width:min(340px,100%);height:min(680px,100dvh - 280px);min-height:520px;position:relative;overflow:hidden;box-shadow:0 20px 70px #00000073,inset 0 0 0 1px #2a2a26}.phone-notch{z-index:3;background:#111;border-radius:12px;width:110px;height:18px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.feed{background:#0e0e0c;position:absolute;inset:0;overflow:hidden}.feed-track{flex-direction:column;gap:12px;padding:36px 12px 80px;transition:transform .52s cubic-bezier(.22,1,.36,1);display:flex}.ad-card{opacity:.42;background:#171714;border:1px solid #2c2b26;border-radius:14px;flex-direction:column;transition:opacity .24s,transform .24s,border-color .24s;display:flex;overflow:hidden;transform:scale(.96)}.ad-card.current{opacity:1;border-color:#4a4930;transform:scale(1);box-shadow:0 0 0 1px #d8ff3c33}.ad-card.done-stop{border-color:#ff4d2e66}.ad-card.done-scroll{border-color:#3a3a36}.ad-head{align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.brand-dot{background:var(--yes);color:#111;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.brand-meta{flex:1}.brand-meta strong{font-size:13px;display:block}.brand-meta span{font-family:var(--mono);color:var(--paper-dim);font-size:10px}.frame{background:linear-gradient(135deg,#243018 0%,#14140e 55%,#2a1c10 100%);flex:none;height:168px;min-height:168px;position:relative;overflow:hidden}.frame img,.frame svg{object-fit:cover;background:#14180e;width:100%;height:100%;display:block}.frame-fallback{height:100%;color:var(--paper-dim);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;background:linear-gradient(135deg,#1c2210,#10100e 55%,#241810);place-items:center;padding:16px;font-size:10px;display:grid}.frame-tag{color:var(--yes);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#000c;border-radius:4px;padding:3px 6px;font-size:9px;position:absolute;bottom:8px;left:8px}.ad-copy{padding:10px 12px 12px}.ad-copy h3{letter-spacing:-.02em;margin:0 0 6px;font-size:16px}.ad-copy p{color:#d8d3c6;margin:0 0 10px;font-size:12px;line-height:1.45}.cta{background:var(--yes);color:#111;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:650;display:inline-block}.ad-tally{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;gap:8px;padding:0 12px 12px;font-size:10px;display:flex}.ad-tally b.stop{color:var(--stop)}.ad-tally b.scroll{color:var(--paper-dim)}.grid-col h2{letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-family:var(--mono);color:var(--paper-dim);margin:0 0 10px;font-weight:400}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:8px;display:grid}.persona-card{border:1px solid var(--rule);background:#131310;border-radius:10px;align-items:center;gap:8px;min-height:58px;padding:8px;display:flex}.persona-card.pending{animation:1.1s ease-in-out infinite pulse}.persona-card.stop{background:#241410;border-color:#ff4d2e99;box-shadow:0 0 0 1px #ff4d2e33}.persona-card.scroll{opacity:.72}.persona-card.error{border-color:#ffc24a66}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.avatar{border-radius:6px;flex:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:1px;width:34px;height:34px;padding:3px;display:grid}.avatar i{border-radius:1px;display:block}.persona-card .meta{min-width:0}.persona-card .label{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.persona-card .stops{font-family:var(--mono);color:var(--paper-dim);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.persona-card.stop .stops{color:var(--stop)}.tray{border-top:1px solid var(--rule);background:#10100d;padding:14px 22px 28px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tab{border:1px solid var(--rule);background:0 0;border-radius:999px;padding:6px 10px;font-size:12px}.tab.on{background:var(--paper);color:#111;border-color:var(--paper)}.panel{display:none}.panel.on{display:block}.help{color:#d5d0c3;max-width:80ch;font-size:13px;line-height:1.5}.help code{font-family:var(--mono);color:var(--yes);font-size:12px}.warn{color:var(--warn);background:#1c160a;border:1px solid #4a3a12;border-radius:8px;margin:8px 0 12px;padding:10px 12px;font-size:13px}.ok-note{color:var(--ok);background:#0f1a14;border:1px solid #1d3a28;border-radius:8px;margin:8px 0 12px;padding:10px 12px;font-size:13px}.field{flex-direction:column;gap:6px;margin:10px 0;display:flex}.field span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);font-size:10px}.field input,.field textarea{border:1px solid var(--rule);background:#0b0b09;border-radius:8px;width:100%;padding:10px 12px}.field textarea{min-height:220px;font-family:var(--mono);font-size:12px;line-height:1.45}.row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.toggles{flex-direction:column;gap:8px;margin:10px 0;display:flex}.toggle{align-items:flex-start;gap:10px;font-size:13px;display:flex}.q-list{gap:8px;margin-top:10px;display:grid}.q{border:1px solid var(--rule);border-radius:10px;padding:10px 12px}.q strong{margin-bottom:4px;display:block}.q em{font-family:var(--mono);color:var(--yes);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-style:normal}.persona-editor{gap:10px;display:grid}.persona-edit{border:1px solid var(--rule);background:#141410;border-radius:10px;padding:10px}.persona-edit input,.persona-edit textarea{color:var(--paper);border:1px solid var(--rule);background:#0b0b09;border-radius:8px;width:100%;padding:8px 10px}.persona-edit textarea{min-height:88px;font-size:13px;line-height:1.45}.persona-edit .line{grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;display:grid}.matrix-wrap{max-height:360px;overflow:auto}table.matrix{border-collapse:collapse;min-width:100%;font-size:11px}table.matrix th,table.matrix td{text-align:center;white-space:nowrap;border:1px solid #2a2924;padding:5px 7px}table.matrix th{background:#161613;font-weight:500;position:sticky;top:0}table.matrix td.stop{color:var(--stop);background:#2a1410}table.matrix td.scroll{color:var(--paper-dim)}table.matrix td.pending{color:#666}table.matrix .who{text-align:left;text-overflow:ellipsis;max-width:160px;overflow:hidden}.error-line{color:var(--warn);min-height:1.2em;font-size:12px}@media (width<=860px){.stage{grid-template-columns:1fr}.phone{height:560px}.counters{grid-template-columns:repeat(3,1fr)}.row-2{grid-template-columns:1fr}}
