:root{--bg: #0f1c1a;--bg-elevated: #17302b;--bg-chat: #10241f;--ink: #e8f2ef;--ink-muted: #9bb5ad;--accent: #3ecf8e;--accent-dim: #2a9b6a;--bubble-user: #2d6a5a;--bubble-assistant: #1c3a34;--danger: #e07a5f;--border: rgba(232, 242, 239, .12);--radius: 18px;--font: "DM Sans", system-ui, sans-serif;--display: "Fraunces", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,rgba(62,207,142,.18),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(45,106,90,.25),transparent 50%),var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}a{color:var(--accent)}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-family:var(--display);font-size:1.35rem;letter-spacing:-.02em}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#06281c;background:var(--accent);border-radius:999px;padding:.25rem .65rem}.panel{width:min(720px,100% - 2rem);margin:2rem auto;background:#17302be0;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:1.5rem;box-shadow:0 24px 60px #00000059}.panel h1{font-family:var(--display);font-size:1.85rem;margin:0 0 .35rem}.panel p.lead{color:var(--ink-muted);margin:0 0 1.5rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.85rem;color:var(--ink-muted)}.field select,.field input,.composer input{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:12px;padding:.75rem .9rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.btn{border:none;border-radius:999px;padding:.7rem 1.2rem;cursor:pointer;font-weight:600}.btn-primary{background:var(--accent);color:#06281c}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink-muted);border:1px solid var(--border)}.gate{min-height:100%;display:grid;place-items:center;padding:2rem}.gate-card{width:min(420px,100%);text-align:center;background:#17302beb;border:1px solid var(--border);border-radius:24px;padding:2.25rem 1.75rem}.gate-card h1{font-family:var(--display);margin:0 0 .5rem}.gate-card p{color:var(--ink-muted);margin:0 0 1.5rem}.chat-layout{flex:1;display:flex;flex-direction:column;max-width:720px;width:100%;margin:0 auto;min-height:0}.chat-header{padding:1rem 1.25rem .5rem}.chat-header h2{font-family:var(--display);margin:0;font-size:1.35rem}.chat-header .meta{color:var(--ink-muted);font-size:.85rem;margin-top:.25rem}.messages{flex:1;overflow-y:auto;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.bubble{max-width:85%;padding:.8rem 1rem;border-radius:18px;line-height:1.45;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:var(--bubble-user);border-bottom-right-radius:6px}.bubble.assistant{align-self:flex-start;background:var(--bubble-assistant);border-bottom-left-radius:6px}.composer{display:flex;gap:.6rem;padding:.85rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.composer input{flex:1}.workflow-strip{margin:0 1.25rem .5rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:14px;background:#10241fe6}.workflow-strip-title{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.4rem}.workflow-list{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.wf-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.wf-id-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.25rem}.wf-id{font-size:.75rem;color:var(--accent);word-break:break-all}.workflow-actions,.workflow-resume{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.workflow-resume input{flex:1;min-width:12rem;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:10px;padding:.45rem .65rem}.btn-tiny{padding:.35rem .7rem;font-size:.8rem}.error{color:var(--danger);font-size:.9rem}
