:root{--bg: #F6F4F9;--surface: #FFFFFF;--surface-2: #F3EFF6;--ink: #221B26;--ink-2: #4E4556;--muted: #7D7386;--line: #E6E0EB;--brand: #822E77;--brand-2: #D62226;--brand-3: #EB601F;--brand-4: #F9B233;--brand-ink: #6B245F;--brand-soft: #F5E6F3;--signal: #EB601F;--grad: linear-gradient(135deg, #822E77 0%, #D62226 55%, #EB601F 100%);--grad-text: linear-gradient(100deg, #822E77 0%, #D62226 50%, #EB601F 100%);--rail: #1B1420;--rail-2: #241A2A;--rail-ink: #F4EFF5;--rail-muted: #A79DB0;--ok: #0F8A5F;--ok-soft: #DCF4EA;--mid: #B26B00;--mid-soft: #FDF0D5;--bad: #D62226;--bad-soft: #FDE3E5;--warn-soft: #FDECE2;--warn-ink: #9A3412;--shadow: rgba(43, 26, 44, .22);--shadow-card: 0 1px 2px rgba(43, 26, 44, .04), 0 10px 30px -18px rgba(43, 26, 44, .25);--code-bg: #1B1420;--code-ink: #EADFEA;--font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #130E16;--surface: #1C1521;--surface-2: #251C2B;--ink: #F4EFF5;--ink-2: #CFC5D4;--muted: #978CA0;--line: #332838;--brand: #C65CB7;--brand-ink: #E29BD8;--brand-soft: #3A2238;--signal: #F2814B;--rail: #0D090F;--rail-2: #16101A;--rail-ink: #F4EFF5;--rail-muted: #948A9D;--ok: #3DD39A;--ok-soft: #113A2B;--mid: #F5B93E;--mid-soft: #3A2C10;--bad: #FF6B76;--bad-soft: #3E1A21;--warn-soft: #3A2116;--warn-ink: #FDBA8C;--shadow: rgba(0, 0, 0, .6);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -18px rgba(0, 0, 0, .7);--code-bg: #0D090F;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}a{color:var(--brand)}::selection{background:var(--brand-soft);color:var(--brand-ink)}.page{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,4vw,40px);background:var(--surface);border-bottom:1px solid var(--line)}.topbar h1{margin:0;font:700 19px/1.25 var(--font-display);letter-spacing:-.02em}.topbar p{margin:3px 0 0;font-size:13.5px;color:var(--muted)}.topbar-actions{display:flex;gap:8px;align-items:center}.ghost{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .15s}.ghost:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}.ghost:disabled{opacity:.5;cursor:not-allowed}.ghost svg{width:15px;height:15px}.act{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.act:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}.act:disabled,.act[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.act svg{width:14px;height:14px;flex:none}.act.primary{background:var(--grad);border-color:transparent;color:#fff}.act.primary:hover{color:#fff;filter:brightness(1.06)}.act.danger:hover{border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}.btn-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border:0;border-radius:var(--r-md);background:var(--grad);color:#fff;font:600 15px/1.2 var(--font-display);letter-spacing:-.005em;cursor:pointer;box-shadow:0 10px 24px -12px #822e77b3;transition:filter .15s,transform .15s,box-shadow .15s}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 28px -12px #822e77bf}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;filter:none;transform:none;box-shadow:none}.btn-primary svg{width:18px;height:18px}.btn-primary.inline{width:auto}.btn-secondary{width:100%;margin-top:10px;padding:12px 16px;border:1.5px solid var(--brand);border-radius:var(--r-md);background:transparent;color:var(--brand-ink);font:600 14px/1.2 var(--font-display);cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--brand-soft)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;background:transparent}.field{margin-bottom:16px}.field>label,.field>.lbl{display:block;margin-bottom:7px;font-size:13.5px;font-weight:600;letter-spacing:-.005em}.opt{font-weight:400;color:var(--muted)}.inp{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:400 14.5px/1.45 var(--font-body);outline:0;transition:border-color .15s,box-shadow .15s}.inp:hover{border-color:#cdc2d3}.inp:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}textarea.inp{resize:vertical;min-height:84px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.chip:hover{border-color:var(--brand);color:var(--brand-ink)}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.formerr{margin:0 0 12px;color:var(--bad);font-size:13px}.card{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card)}.note{margin:8px 0 0;font-size:13px;color:var(--muted)}.err{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn-ink);font-size:14px}.err .act{background:transparent;border-color:currentColor;color:inherit}.tag{padding:4px 11px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:12.5px;font-weight:600}.thinking{display:inline-flex;align-items:center;gap:10px;padding-top:4px;color:var(--muted)}.dots{display:inline-flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--brand);opacity:.3;animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s;background:var(--brand-2)}.dots i:nth-child(3){animation-delay:.3s;background:var(--brand-3)}@keyframes blink{40%{opacity:1}}.md{overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h2{margin:22px 0 8px;font:700 17px/1.3 var(--font-display);letter-spacing:-.015em}.md h3,.md h4{margin:16px 0 6px;font:600 15px/1.35 var(--font-display)}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 12px;padding-left:22px}.md li{margin:4px 0}.md li::marker{color:var(--brand)}.md strong{font-weight:600}.md code{padding:1px 5px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);font:.9em/1.4 var(--font-mono)}.md pre{margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);overflow-x:auto}.md pre code{padding:0;border:0;background:none;white-space:pre}.md blockquote{margin:0 0 12px;padding:2px 14px;border-left:3px solid var(--brand-3);color:var(--ink-2)}.md hr{margin:18px 0;border:0;border-top:1px solid var(--line)}.md .table-wrap{margin:6px 0 14px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.md table{width:100%;border-collapse:collapse;font-size:14px}.md th,.md td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.md th{background:var(--surface-2);font-weight:600;white-space:nowrap}.md tr:last-child td{border-bottom:0}.t-ok{--tone: var(--ok)}.t-mid{--tone: var(--mid)}.t-bad{--tone: var(--bad)}.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}@media(max-width:820px){.topbar{padding:12px 16px}.topbar h1{font-size:16px}.topbar p{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
