Files
2026-08-27 08:57:14 +02:00

177 lines
3.1 KiB
CSS

: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;
}