:root { color-scheme: light dark; --bg: #f6f7f9; --surface: #ffffff; --text: #1c1f23; --muted: #5c6570; --border: #d6dbe1; --accent: #0b57d0; --accent-text: #ffffff; --danger: #b3261e; --ok: #146c2e; --output-bg: #14181d; --output-text: #d7e0ea; } @media (prefers-color-scheme: dark) { :root { --bg: #14181d; --surface: #1d2229; --text: #e6eaef; --muted: #9aa4af; --border: #39414b; --accent: #6ea8ff; --accent-text: #0b1526; --danger: #ff8a80; --ok: #7bd88f; --output-bg: #0c0f13; --output-text: #c8d2dc; } } * { box-sizing: border-box; } body { margin: 0; font-family: system-ui, sans-serif; line-height: 1.5; background: var(--bg); color: var(--text); } main { max-width: 42rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; } h1 { margin-bottom: 0.25rem; } .subtitle { margin-top: 0; color: var(--muted); } code { font-family: ui-monospace, monospace; font-size: 0.9em; background: color-mix(in srgb, var(--border) 40%, transparent); padding: 0.1em 0.35em; border-radius: 4px; } fieldset { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 1rem 1.25rem 1.25rem; } legend { font-weight: 600; padding: 0 0.4rem; } .field { margin-bottom: 1rem; } label { display: block; font-weight: 600; margin-bottom: 0.2rem; } input[type="text"] { width: 100%; padding: 0.5rem 0.65rem; font: inherit; color: inherit; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; } input:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; } input:user-invalid { border-color: var(--danger); } .hint { display: block; margin-top: 0.25rem; font-size: 0.85rem; color: var(--muted); } button { font: inherit; font-weight: 600; padding: 0.45rem 1rem; border: 1px solid transparent; border-radius: 6px; cursor: pointer; background: var(--accent); color: var(--accent-text); } button:hover { filter: brightness(1.1); } button:disabled { opacity: 0.55; cursor: wait; } .command-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; } .command-list li { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 0.6rem 0.9rem; } .command-list .info { flex: 1; min-width: 10rem; } .command-list .name { font-weight: 600; display: block; } .command-list .actions { display: flex; gap: 0.5rem; } button.delete { background: transparent; color: var(--danger); border-color: var(--danger); } .status { min-height: 1.5em; margin: 0.25rem 0 0.5rem; } .status.ok { color: var(--ok); } .status.error { color: var(--danger); } .output { background: var(--output-bg); color: var(--output-text); border-radius: 10px; padding: 0.9rem 1rem; font-family: ui-monospace, monospace; font-size: 0.85rem; white-space: pre-wrap; word-break: break-word; max-height: 20rem; overflow-y: auto; margin: 0; }