:root { --bg0: #10211a; --bg1: #1b3b2c; --panel: #f6f8f4; --ink: #14231c; --muted: #5d7368; --accent: #1d7a4d; --line: rgba(20, 35, 28, 0.12); --bot: #e7f3eb; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: var(--ink); font-family: "Noto Sans SC", "DM Sans", sans-serif; background: radial-gradient(900px 480px at 0% 0%, #3d7a58 0%, transparent 55%), linear-gradient(165deg, var(--bg0), var(--bg1)); } .shell { max-width: 1120px; margin: 0 auto; padding: 24px 16px 40px; } .top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; color: #f4faf6; } .brand { margin: 0; font-family: "DM Sans", sans-serif; letter-spacing: 0.08em; font-size: 13px; color: #c6ef7a; } .top h1 { margin: 4px 0 0; font-size: clamp(1.5rem, 3vw, 2rem); } .status { font-size: 13px; padding: 8px 12px; border-radius: 999px; background: rgba(0,0,0,0.25); } .status.ok { background: #1d7a4d; } .status.bad { background: #8a3b2d; } .tabs { display: flex; gap: 8px; margin: 18px 0; } .tab { border: 0; background: rgba(255,255,255,0.12); color: #f4faf6; border-radius: 999px; padding: 8px 14px; font: inherit; cursor: pointer; } .tab.active { background: #f6f8f4; color: var(--ink); } .pane { display: none; } .pane.active { display: block; } .layout { display: grid; grid-template-columns: 1.45fr 0.9fr; gap: 14px; } @media (max-width: 860px) { .layout { grid-template-columns: 1fr; } } .panel { background: var(--panel); border-radius: 18px; box-shadow: 0 16px 40px rgba(0,0,0,0.18); } .chat { display: flex; flex-direction: column; min-height: 560px; } .log { flex: 1; overflow: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; } .bubble { max-width: 92%; padding: 10px 12px; border-radius: 12px; white-space: pre-wrap; line-height: 1.5; font-size: 14px; } .bubble.bot { align-self: flex-start; background: var(--bot); } .bubble.user { align-self: flex-end; background: var(--accent); color: white; } .composer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--line); } .composer input, .stack input, .stack textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; font: inherit; } .composer button, .stack button, .ghost { border: 0; border-radius: 10px; padding: 11px 14px; font: inherit; font-weight: 600; cursor: pointer; } .composer button, .stack button { background: var(--accent); color: white; } .ghost { background: transparent; color: var(--accent); border: 1px solid var(--line); } .toolbar { display: flex; justify-content: space-between; align-items: center; padding: 0 12px 12px; } .meta, .lede { color: var(--muted); font-size: 13px; } .side, .pad { padding: 16px; } .side h2, .pad h2 { margin: 14px 0 8px; font-size: 13px; letter-spacing: 0.04em; color: var(--muted); } .side h2:first-child, .pad h2:first-child { margin-top: 0; } pre { margin: 0; padding: 10px; background: #eef5f0; border-radius: 10px; font-size: 12px; overflow: auto; max-height: 180px; white-space: pre-wrap; } .stack { display: grid; gap: 8px; } .lead-list { display: grid; gap: 8px; } .lead { padding: 10px 12px; border-radius: 10px; background: #eef5f0; font-size: 14px; } a { color: var(--accent); }