@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/nunito-v32-latin-500.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito-v32-latin-600.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-v32-latin-700.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-v32-latin-800.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-v15-latin-500.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-v15-latin-600.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/outfit-v15-latin-700.woff2) format("woff2")}:root{--color-ink: #1c2434;--color-muted: #5d6b82;--color-muted-2: #6f7f96;--color-line: #d7deea;--color-line-soft: #eef1f6;--color-line-strong: #e1e7f1;--color-paper: #ffffff;--color-bg: #f3f6fb;--color-bg-2: #eaf0f8;--color-panel-soft: #f7f9fc;--color-attack: #e85d4c;--color-attack-soft: #ffe8e4;--color-attack-deep: #c43b2c;--color-defend: #1f9d76;--color-defend-soft: #e3f7ef;--color-defend-deep: #0f7a59;--color-warn: #d97706;--color-warn-soft: #fff7eb;--color-ok: #159a6a;--color-ok-soft: #eefbf4;--color-accent: #3b6fd8;--color-accent-soft: #eef3ff;--color-wa: #25d366;--color-wa-user: #d9fdd3;--color-wa-assistant: #ffffff;--color-wa-thread: #e5ddd5;--color-wa-thread-2: #d1c7b7;--color-wa-text: #111b21;--color-wa-name: #667781;--color-wa-meta: #6f7f96;--color-wa-avatar-a: #f0a04b;--color-wa-avatar-b: #34b7f1;--color-wa-composer: #f0f2f5;--color-wa-send: #8a97ad;--color-dev-bg: #1b2230;--color-dev-bar: #121821;--color-dev-panel: #2a3344;--color-dev-text: #d7e0ef;--color-dev-muted: #9fb0c7;--color-dev-prompt: #152018;--color-dev-prompt-text: #e7fff3;--color-traffic-close: #ff5f57;--color-traffic-min: #febc2e;--color-traffic-max: #28c840;--color-chrome: #4b5568;--ink: var(--color-ink);--muted: var(--color-muted);--line: var(--color-line);--paper: var(--color-paper);--bg: var(--color-bg);--bg-2: var(--color-bg-2);--panel-soft: var(--color-panel-soft);--attack: var(--color-attack);--attack-soft: var(--color-attack-soft);--attack-deep: var(--color-attack-deep);--defend: var(--color-defend);--defend-soft: var(--color-defend-soft);--defend-deep: var(--color-defend-deep);--warn: var(--color-warn);--warn-soft: var(--color-warn-soft);--ok: var(--color-ok);--ok-soft: var(--color-ok-soft);--lock: var(--color-accent);--accent-soft: var(--color-accent-soft);--font-sans: Nunito, system-ui, sans-serif;--font-display: Outfit, Nunito, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.15rem;--text-xl: 1.5rem;--radius-sm: 8px;--radius-md: 10px;--radius: 16px;--radius-lg: 22px;--radius-pill: 999px;--space-1: .35rem;--space-2: .55rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--shell-max: 1080px;--shell-wide: 1180px;--chat-height: min(32rem, calc(100dvh - 16rem) );--shadow: 0 10px 30px rgba(28, 36, 52, .06);--shadow-app: 0 18px 40px rgba(28, 36, 52, .1);font-family:var(--font-sans);color:var(--color-ink);background:var(--color-bg);line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 10% 0%,rgba(232,93,76,.08),transparent 28%),radial-gradient(circle at 90% 0%,rgba(31,157,118,.08),transparent 26%),linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-2) 100%);background-attachment:fixed;font-family:var(--font-sans)}h1,h2,.brand,.role-title,.bot-name,.stat strong{font-family:var(--font-display);letter-spacing:-.02em}button,textarea,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{width:min(var(--shell-max),calc(100% - 1.25rem));margin:0 auto;padding:var(--space-4) 0 2rem}.app-shell-wide{width:min(var(--shell-wide),calc(100% - 1.25rem))}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.brand{display:grid;gap:.15rem;text-decoration:none;color:var(--ink);min-width:0}.brand-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;line-height:1.2}.brand-sub{font-size:.78rem;font-weight:600;color:var(--muted);line-height:1.25}.site-footer{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--line)}.site-footer-links{display:flex;align-items:center;gap:.35rem}.site-footer-links a{color:var(--muted);font-size:.78rem;font-weight:800;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.site-footer-sep{color:var(--color-muted-2);font-size:.72rem;opacity:.7}.site-footer-reset{appearance:none;border:0;background:transparent;padding:0;margin:0;color:var(--color-muted-2);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;opacity:.75}.site-footer-reset:hover{color:var(--muted);opacity:1}.site-footer-session{margin:0 0 0 auto;text-align:right;color:var(--color-muted-2);font-size:.72rem;font-weight:600;font-family:var(--font-mono);white-space:nowrap}.lab[data-role=attacker]{--role: var(--attack);--role-soft: var(--attack-soft);--role-deep: var(--attack-deep)}.lab[data-role=defender]{--role: var(--defend);--role-soft: var(--defend-soft);--role-deep: var(--defend-deep)}.lab-mission{margin:0 0 .85rem;padding:.7rem .9rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--role, var(--lock)) 28%,var(--line));background:color-mix(in srgb,var(--role-soft, var(--accent-soft)) 70%,var(--paper));color:var(--role-deep, var(--ink));font-size:.95rem;font-weight:750;line-height:1.35}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.85rem}.role-switch button{border:2px solid transparent;border-radius:18px;padding:.85rem 1rem;text-align:left;cursor:pointer;background:#ffffffb8;color:var(--muted);transition:.14s ease}.role-switch button:disabled,.bot-card:disabled{opacity:.55;cursor:wait}.role-switch button .role-title{display:block;font-size:var(--text-lg);font-weight:700;color:inherit}.role-switch button .role-sub{display:block;font-size:.88rem;margin-top:.15rem}.role-switch button.on{color:var(--role-deep);background:var(--role-soft);border-color:var(--role);box-shadow:var(--shadow)}.bot-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.85rem}.bot-card{display:grid;gap:.25rem;padding:.75rem .7rem;border-radius:14px;border:2px solid var(--line);background:var(--paper);cursor:pointer;text-align:left;color:var(--ink)}.bot-card .bot-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.bot-card .bot-name{font-size:.95rem;font-weight:700}.bot-card.tone-warn .bot-tag{color:var(--warn)}.bot-card.tone-ok .bot-tag{color:var(--ok)}.bot-card.tone-lock .bot-tag{color:var(--lock)}.bot-card.on{border-color:currentColor;box-shadow:var(--shadow)}.bot-card.tone-warn.on{color:var(--warn);background:var(--warn-soft)}.bot-card.tone-ok.on{color:var(--ok);background:var(--ok-soft)}.bot-card.tone-lock.on{color:var(--lock);background:var(--accent-soft)}.mobile-tabs{margin-bottom:var(--space-3)}.segment{display:inline-flex;width:100%;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden;background:var(--paper)}.segment button{flex:1;border:0;background:transparent;color:var(--muted);padding:.55rem .75rem;cursor:pointer;font-weight:700}.segment button.on{background:var(--role-soft);color:var(--role-deep)}.workspace-label{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:.35rem;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.lab-split{display:grid;gap:var(--space-3)}.desktop-only{display:none}.lab-split.mobile-only{display:grid}@media(min-width:860px){.workspace-label.desktop-only,.lab-split.desktop-only{display:grid;grid-template-columns:1fr 1fr}.lab-split.mobile-only,.segment.mobile-only{display:none}}@media(max-width:640px){.bot-picker{grid-template-columns:1fr}}.dev-pane{display:grid;grid-template-rows:auto 1fr auto;height:var(--chat-height, 32rem);max-height:var(--chat-height, 32rem);border-radius:14px;overflow:hidden;border:1px solid var(--color-dev-panel);background:var(--color-dev-bg);box-shadow:var(--shadow)}.dev-pane.is-editable{border-color:var(--defend);box-shadow:0 12px 28px color-mix(in srgb,var(--defend) 30%,transparent)}.dev-toolbar{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;background:var(--color-dev-bar);color:var(--color-dev-muted);font-family:var(--font-mono);font-size:.78rem}.dev-dots{display:inline-flex;gap:.28rem}.dev-dots i{width:8px;height:8px;border-radius:50%;background:var(--color-chrome);display:block}.dev-dots i:nth-child(1){background:var(--color-traffic-close)}.dev-dots i:nth-child(2){background:var(--color-traffic-min)}.dev-dots i:nth-child(3){background:var(--color-traffic-max)}.dev-file{flex:1}.lock-pill{border-radius:var(--radius-pill);padding:.2rem .55rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-display)}.lock-pill.closed{background:var(--color-dev-panel);color:var(--color-dev-muted)}.lock-pill.open{background:var(--defend-soft);color:var(--defend-deep)}.rules-box{width:100%;height:100%;min-height:0;border:0;border-radius:0;resize:none;padding:.9rem 1rem;background:var(--color-dev-bg);color:var(--color-dev-text);font-family:var(--font-mono);font-size:.84rem;line-height:1.5}.rules-box:read-only{opacity:.82}.dev-pane.is-editable .rules-box{background:var(--color-dev-prompt);color:var(--color-dev-prompt-text)}.rules-status{display:flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-top:1px solid rgba(255,255,255,.06);background:var(--color-dev-bar);color:var(--color-dev-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:600}.rules-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--color-chrome)}.rules-status-loading .rules-status-dot,.rules-status-editing .rules-status-dot{background:var(--color-traffic-min);animation:rules-pulse .9s ease-in-out infinite}.rules-status-ready .rules-status-dot,.rules-status-applied .rules-status-dot{background:var(--color-traffic-max)}.rules-status-locked .rules-status-dot{background:var(--color-chrome)}.rules-status-applied .rules-status-text{color:#9fe7c2}.rules-status-editing .rules-status-text{color:#f0d089}@keyframes rules-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.product-chat{display:grid;grid-template-rows:auto 1fr auto;height:var(--chat-height, 32rem);max-height:var(--chat-height, 32rem);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(180deg,#e5ddd58c,#d1c7b759),repeating-linear-gradient(-18deg,transparent 0 10px,rgba(255,255,255,.07) 10px 11px),var(--color-wa-thread);border:1px solid var(--color-line-strong);box-shadow:var(--shadow-app)}.product-body{min-height:0;overflow:auto;display:flex;flex-direction:column}.class-wait-banner{margin:.75rem 1rem 0;padding:.75rem .9rem;border-radius:var(--radius-md, 12px);background:#ffffffeb;border:1px solid var(--color-line-soft, #e5e0d8);color:var(--muted, #5c6570);font-size:.92rem;font-weight:650;line-height:1.35}.product-header{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--color-line-soft);background:var(--paper)}.wa-avatar-icon{width:60%;height:60%;fill:currentColor}.wa-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;background:var(--color-wa)}.wa-avatar.sm{width:32px;height:32px}.wa-avatar.lg{width:56px;height:56px}.wa-avatar-spacer{width:32px;flex-shrink:0}.lab[data-preset=warn] .wa-avatar{background:var(--color-wa-avatar-a)}.lab[data-preset=ok] .wa-avatar{background:var(--color-wa)}.lab[data-preset=lock] .wa-avatar{background:var(--color-wa-avatar-b)}.product-meta{flex:1;display:grid}.product-meta strong{font-family:var(--font-display);font-size:var(--text-md)}.product-meta span{color:var(--color-wa-meta);font-size:.8rem;font-weight:700}.mode-badge{border-radius:var(--radius-pill);padding:.28rem .65rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mode-badge.mode-attacker{background:var(--attack-soft);color:var(--attack-deep)}.mode-badge.mode-defender{background:var(--defend-soft);color:var(--defend-deep)}.product-thread{display:flex;flex-direction:column;gap:.7rem;padding:var(--space-4);background:transparent;flex:1 0 auto}.product-welcome{display:grid;justify-items:center;gap:.55rem;text-align:center;color:var(--color-wa-name);padding:1.4rem .5rem;font-weight:700}.product-welcome p{margin:0;padding:.55rem .85rem;border-radius:var(--radius-pill);background:#ffffffd1;box-shadow:0 1px .5px #0b141a1a}.msg{display:flex;gap:.4rem;align-items:flex-end;max-width:88%}.msg.user{margin-left:auto;flex-direction:row-reverse}.msg-stack{display:grid;gap:.15rem;min-width:0}.msg-name{padding-left:.35rem;font-size:var(--text-xs);font-weight:700;color:var(--color-wa-name)}.msg-bubble{padding:.55rem .75rem .65rem;border-radius:var(--radius-sm);white-space:pre-wrap;line-height:1.4;box-shadow:0 1px .5px #0b141a21}.msg.assistant .msg-bubble{background:var(--color-wa-assistant);color:var(--color-wa-text);border:1px solid rgba(11,20,26,.06);border-top-left-radius:0;box-shadow:0 1px .5px #0b141a2e}.msg.user .msg-bubble{background:var(--color-wa-user);color:var(--color-wa-text);border-top-right-radius:0;box-shadow:0 1px .5px #0b141a29}.msg.assistant.no-avatar{margin-top:-.25rem}.suggestion-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 var(--space-4) var(--space-3);background:transparent}.suggestion{border:1px solid var(--color-line-strong);background:var(--paper);color:var(--ink);border-radius:var(--radius-pill);padding:.45rem .75rem;cursor:pointer;font-size:.82rem;font-weight:700;text-align:left}.msg.pending .msg-bubble.typing{display:inline-flex;align-items:center;gap:.55rem;min-width:120px}.typing-dots{display:inline-flex;gap:.22rem;align-items:center}.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--color-wa-send);display:block;animation:typing-bounce 1.1s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.typing-label{color:var(--color-wa-meta);font-size:.84rem;font-weight:700}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}.product-footer{background:var(--color-wa-composer);border-top:1px solid rgba(11,20,26,.08)}.product-composer{display:flex;gap:.5rem;align-items:center;padding:.75rem .85rem .35rem;background:transparent}.product-composer.is-busy{opacity:.92}.product-composer input{flex:1;border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);padding:.75rem 1rem;background:var(--paper)}.product-composer.is-busy input{cursor:text}.product-composer .send{width:42px;height:42px;border:0;border-radius:50%;background:var(--color-ink);color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer}.product-composer .send:disabled{opacity:.4;cursor:not-allowed}.composer-hint{margin:0;padding:0 1rem .65rem;min-height:1.35rem;color:var(--color-wa-meta);font-size:.8rem;font-weight:700;background:transparent;visibility:hidden}.composer-hint.is-on{visibility:visible}.suggestion:disabled{opacity:.45;cursor:not-allowed}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid transparent;border-radius:var(--radius-pill);padding:.5rem .95rem;min-height:2.25rem;cursor:pointer;font-weight:800;font-size:var(--text-sm);line-height:1.15;white-space:nowrap;vertical-align:middle}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-main{background:var(--role);color:#fff}.btn-quiet{background:transparent;border-color:var(--line);color:var(--muted)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:var(--space-4);box-shadow:var(--shadow)}.panel+.panel,.stack>.panel+.panel{margin-top:.85rem}.stack{display:grid;gap:var(--space-3)}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.stat{padding:.75rem;border-radius:12px;border:1px solid var(--line);background:var(--panel-soft)}.stat strong{display:block;font-size:1.25rem}.table{width:100%;border-collapse:collapse;font-size:.86rem}.table th,.table td{text-align:left;padding:.45rem .3rem;border-bottom:1px solid var(--line);vertical-align:top}.field{display:grid;gap:.3rem}.field span{font-size:.8rem;color:var(--muted);font-weight:700}input,select{width:100%;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.7rem .85rem}.btn-primary{background:var(--lock);color:#fff}.btn-secondary,.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn-success{background:var(--defend-soft);border-color:color-mix(in srgb,var(--defend) 35%,white);color:var(--defend-deep)}.btn-danger{background:var(--attack-soft);border-color:color-mix(in srgb,var(--attack) 35%,white);color:var(--attack-deep)}.chip{display:inline-flex;padding:.25rem .55rem;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:700}.eyebrow{margin:0;color:var(--lock);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.error{color:var(--attack-deep);font-weight:700}.error-detail{margin:0 0 var(--space-4);padding:.65rem .8rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--attack) 28%,var(--line));background:var(--attack-soft);font-family:var(--font-mono);font-size:.78rem;font-weight:600;line-height:1.45;white-space:pre-wrap;word-break:break-word}.success{color:var(--defend-deep);font-weight:700}.admin-grid{display:grid;gap:var(--space-4)}.admin-hero{display:grid;gap:var(--space-3)}@media(min-width:900px){.admin-hero{grid-template-columns:1.1fr .9fr;align-items:stretch}}.admin-flow{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--panel-soft);border:1px solid var(--line)}.admin-flow-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.flow-node{padding:.45rem .7rem;border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--line);font-size:var(--text-sm);font-weight:800}.flow-node.accent{border-color:color-mix(in srgb,var(--lock) 40%,var(--line));background:var(--accent-soft);color:var(--lock)}.flow-node.money{border-color:color-mix(in srgb,var(--warn) 40%,var(--line));background:var(--warn-soft);color:var(--warn)}.flow-arrow{color:var(--muted);font-weight:800}.status-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;box-sizing:border-box;min-height:1.85rem;border-radius:var(--radius-pill);padding:.28rem .75rem;font-size:.75rem;font-weight:800;line-height:1.15;letter-spacing:.01em;border:1px solid var(--line);background:var(--paper);color:var(--ink);white-space:nowrap}.status-pill .pill-label{font-weight:700;color:var(--muted)}.status-pill .pill-value{font-weight:800;color:inherit}.status-pill.on{background:var(--attack-soft);color:var(--attack-deep);border-color:color-mix(in srgb,var(--attack) 28%,transparent)}.status-pill.on .pill-label{color:color-mix(in srgb,var(--attack-deep) 72%,var(--muted))}.status-pill.off{background:var(--defend-soft);color:var(--defend-deep);border-color:color-mix(in srgb,var(--defend) 28%,transparent)}.status-pill.off .pill-label{color:color-mix(in srgb,var(--defend-deep) 72%,var(--muted))}.admin-quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.admin-quick-actions .btn{min-height:2.1rem;padding:.42rem .85rem;font-size:.8rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:var(--space-3)}.admin-tabs button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-pill);padding:.4rem .85rem;min-height:2.1rem;cursor:pointer;font-weight:800;font-size:.8rem;line-height:1.15;color:var(--muted);white-space:nowrap}.admin-tabs button.on{background:var(--accent-soft);color:var(--lock);border-color:transparent}.form-grid{display:grid;gap:var(--space-3)}@media(min-width:720px){.form-grid.two{grid-template-columns:1fr 1fr}}.table-wrap{overflow-x:auto}.admin-join{gap:var(--space-3)}.admin-qr{display:grid;gap:var(--space-2);justify-items:start;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-soft)}.admin-qr img{display:block;width:min(100%,320px);height:auto;background:#fff;border-radius:var(--radius-md)}
