:root{--canvas: #fafaf8;--canvas-raised: #ffffff;--ink-primary: #2c2c2c;--ink-secondary: #7a7a72;--ink-tertiary: #e4e3dd;--accent: #4a6b5a;--accent-hover: #3d5a4b;--accent-soft: #e8f0eb;--success: #4a6b5a;--error: #c45b4a;--warning: #c4883a;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 56px;--radius-interactive: 12px;--radius-structural: 16px;--radius-brand: 10px;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .04);--shadow-medium: 0 2px 8px rgba(0, 0, 0, .08);--shadow-prominent: 0 4px 16px rgba(0, 0, 0, .12);--font-heading: "Sora", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace}[data-theme=dark]{--canvas: #1a1a18;--canvas-raised: #242422;--ink-primary: #e8e8e4;--ink-secondary: #9a9a92;--ink-tertiary: #333330;--accent: #5a8b6e;--accent-hover: #6b9c7e;--accent-soft: #2a3e32;--success: #5a8b6e;--error: #d46b5a;--warning: #d4984a}@font-face{font-family:Sora;src:url(/fonts/sora-latin-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-latin-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2");font-weight:400;font-display:swap}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink-primary);font-family:var(--font-body);font-size:14.5px;line-height:1.6}.layout{max-width:960px;margin:0 auto;padding:0 40px var(--space-lg);height:100%;display:flex;flex-direction:column;gap:var(--space-lg)}.brand-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0 0}.brand-left{display:flex;align-items:center;gap:var(--space-sm)}.brand-icon{width:28px;height:28px;border-radius:var(--radius-brand);background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--font-heading);font-weight:600;font-size:14px}.brand-name{font-family:var(--font-heading);font-size:17px;font-weight:600;line-height:1.3}.brand-tag{font-size:12px;font-weight:500;color:var(--ink-secondary)}.header-right{display:flex;align-items:center;gap:var(--space-sm)}.model-pill{background:var(--ink-tertiary);color:var(--ink-secondary);font-family:var(--font-mono);font-size:12px;padding:4px 12px;border-radius:20px;border:none}.theme-toggle{background:none;border:1px solid var(--ink-tertiary);border-radius:var(--radius-interactive);color:var(--ink-secondary);padding:4px 10px;cursor:pointer;font-size:12px;transition:border-color .15s ease-out}.theme-toggle:hover{border-color:var(--accent)}.glance-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.glance-card{background:var(--canvas-raised);border:1px solid var(--ink-tertiary);border-radius:var(--radius-structural);box-shadow:var(--shadow-subtle);padding:var(--space-md)}.glance-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-secondary)}.glance-value{font-family:var(--font-heading);font-size:26px;font-weight:600;line-height:1.2;transition:opacity .15s ease-out}.conversation{background:var(--canvas-raised);border-radius:var(--radius-structural);box-shadow:var(--shadow-subtle);border:1px solid var(--ink-tertiary);flex:1;min-height:0;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.msg{animation:arrive .25s ease-out}@keyframes arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-merchant{align-self:flex-end;max-width:75%;background:var(--accent-soft);color:var(--ink-primary);border-radius:12px 12px 4px;padding:var(--space-sm) var(--space-md)}.msg-daemon{align-self:stretch;color:var(--ink-primary)}.msg-daemon strong{font-weight:600}.working{display:flex;align-items:center;gap:var(--space-sm);color:var(--ink-secondary);font-size:12px}.working .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.action-card{background:var(--canvas);border:1px solid var(--ink-tertiary);border-radius:var(--radius-interactive);padding:var(--space-md);max-width:480px;animation:arrive .25s ease-out}.action-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.action-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.action-dot.failed{background:var(--error)}.action-title{font-size:13px;font-weight:600}.action-row{display:flex;justify-content:space-between;gap:var(--space-md);padding:2px 0;font-size:12.5px}.action-key{color:var(--ink-secondary)}.action-value{font-family:var(--font-mono);font-size:12px;text-align:right;word-break:break-all}.action-value a{color:var(--accent)}.input-row{display:flex;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--ink-tertiary)}.attach-btn{display:grid;place-items:center;min-width:44px;border:1px solid var(--ink-tertiary);border-radius:var(--radius-interactive);cursor:pointer;font-size:16px;transition:border-color .15s ease-out}.attach-btn:hover{border-color:var(--accent)}.text-input{flex:1;background:var(--canvas);border:1px solid var(--ink-tertiary);border-radius:var(--radius-interactive);padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--ink-primary);outline:none;transition:border-color .15s ease-out}.text-input:focus{border-color:var(--accent)}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-interactive);padding:10px 20px;font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease-out;min-height:44px}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{opacity:.5;cursor:default}@media (max-width: 640px){.layout{padding:0 20px var(--space-md)}.glance-strip{grid-template-columns:repeat(2,1fr)}.brand-tag{display:none}}
