:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; font-size: 14px; } body { margin: 0; background: #f2f3f7; color: #111827; min-height: 100vh; } .shell { max-width: 1400px; min-height: 100vh; margin: 0 auto; padding: 16px; display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 12px; align-items: start; } .panel { background: #ffffff; border: 1px solid #d1d5db; border-radius: 8px; padding: 12px; } .sidebar { position: sticky; top: 16px; } .chat-area { display: grid; gap: 12px; min-height: calc(100vh - 32px); } .section + .section { margin-top: 12px; } .row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 6px 0; } label { display: grid; gap: 4px; font-size: 13px; color: #374151; } input[type="text"], select, textarea { min-width: 220px; border: 1px solid #9ca3af; border-radius: 6px; padding: 7px 8px; } textarea { width: 100%; resize: vertical; } button { min-height: 34px; } .button { border: 1px solid #9ca3af; background: #ffffff; border-radius: 6px; color: #111827; padding: 8px 12px; } .button-primary { background: #111827; color: #ffffff; border-color: #111827; } .button-danger { background: #b91c1c; color: #ffffff; border-color: #b91c1c; } .status { font-size: 12px; color: #4b5563; margin-top: 6px; } .chat-panel { display: grid; gap: 10px; } .messages { min-height: 320px; max-height: 64vh; border: 1px solid #d1d5db; border-radius: 8px; padding: 10px; background: #fafafa; overflow: auto; } .message { margin-bottom: 10px; padding: 8px; border-radius: 6px; border: 1px solid #e5e7eb; } .message.user { border-left: 3px solid #2563eb; background: #eff6ff; } .message.assistant { border-left: 3px solid #059669; background: #ecfdf5; } .message.system { border-left: 3px solid #d97706; background: #fffbeb; } .message .meta { font-size: 11px; color: #6b7280; margin-bottom: 6px; } .mono { white-space: pre-wrap; overflow: auto; max-height: 220px; background: #0f172a; color: #f8fafc; padding: 10px; border-radius: 6px; } .composer { display: grid; gap: 8px; } .composer-actions { display: flex; gap: 8px; } .chat-panel { display: flex; min-height: 0; align-items: stretch; } .inline-toggle { display: flex; flex-direction: row; align-items: center; } .journal { margin-top: 8px; border: 1px dashed #d1d5db; border-radius: 6px; padding: 6px 8px; background: #f8fafc; } .journal > summary { cursor: pointer; font-size: 12px; color: #4b5563; margin-bottom: 6px; } .journal-title { margin-top: 8px; font-size: 11px; color: #374151; font-weight: 600; } select, input[type="text"] { width: 100%; } @media (max-width: 1024px) { .shell { grid-template-columns: 1fr; } .sidebar { position: static; } .chat-area { min-height: auto; } }