:root { --fg: #1d1f21; --bg: #ffffff; --muted: #5c6166; --rule: #d6d9dc; --accent: #1f5fbf; --danger: #b3261e; --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; color-scheme: light dark; } @media (prefers-color-scheme: dark) { :root { --fg: #e4e6e8; --bg: #15171a; --muted: #9aa0a6; --rule: #34383d; --accent: #8ab4ff; --danger: #ff8a80; } } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; padding: 2rem 1.25rem 3rem; background: var(--bg); color: var(--fg); font: 1rem/1.5 var(--font-ui); } main { max-width: 42rem; } body.wide main { max-width: 72rem; } body.wide form:not(.toolbar) { max-width: 42rem; } body.narrow main { max-width: 22rem; margin: 3rem auto 0; } h1 { font-size: 1.5rem; font-weight: 600; line-height: 1.25; margin: 0 0 1rem; } h2 { font-size: 1.125rem; font-weight: 600; margin: 2rem 0 0.75rem; } p { margin: 0 0 1rem; } small, .small { font-size: 0.875rem; color: var(--muted); } a { color: var(--accent); text-underline-offset: 0.15em; } code, .ident { font-family: var(--font-mono); font-size: 0.95em; overflow-wrap: anywhere; } hr { border: 0; border-top: 1px solid var(--rule); margin: 1.5rem 0; } label { display: block; margin: 1rem 0 0.25rem; } input, select, textarea { width: 100%; padding: 0.5rem 0.625rem; font: inherit; color: var(--fg); background: var(--bg); border: 1px solid var(--rule); border-radius: 3px; } input.ident, select.ident { font-family: var(--font-mono); } :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } button { font: inherit; padding: 0.5rem 1rem; color: var(--fg); background: var(--bg); border: 1px solid var(--rule); border-radius: 3px; cursor: pointer; } button.primary { color: var(--bg); background: var(--accent); border-color: var(--accent); } button.destructive { color: var(--bg); background: var(--danger); border-color: var(--danger); } button:disabled { opacity: 0.6; cursor: default; } .actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; } body.narrow .actions button { width: 100%; } .flash { margin: 0 0 1.5rem; padding: 0.5rem 0.75rem; border-left: 3px solid var(--accent); } .flash.warning { border-left-color: var(--danger); } table { width: 100%; border-collapse: collapse; } @media (max-width: 40rem) { table { display: block; overflow-x: auto; } } th { position: sticky; top: 0; background: var(--bg); text-align: left; font-weight: 600; border-bottom: 1px solid var(--rule); } th, td { padding: 0.375rem 0.5rem; vertical-align: top; } td { border-bottom: 1px solid var(--rule); } .badge { font-family: var(--font-mono); font-size: 0.875rem; padding: 0 0.375rem; border: 1px solid var(--rule); border-radius: 3px; } nav a + a { margin-left: 1rem; } li form, td form { display: inline; } .secret { display: block; margin: 0.5rem 0; padding: 0.75rem; border: 1px solid var(--rule); user-select: all; } pre.secret { white-space: pre-wrap; overflow-wrap: anywhere; } .meta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; } .bar { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: baseline; justify-content: space-between; } .bar h1, .bar p { margin: 0; } h1 + .toolbar, .bar + .toolbar { margin-top: 1rem; } .toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; margin-bottom: 1rem; } .toolbar label { margin: 0; } .toolbar input { width: auto; flex: 1 1 12rem; max-width: 24rem; } .toolbar p { margin: 0 0 0 auto; } .sessions dl, .ssh-keys dl { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; margin: 0; padding: 0.5rem 0; border-bottom: 1px solid var(--rule); } .sessions dd, .ssh-keys dd { grid-column: 1; margin: 0; font-size: 0.875rem; color: var(--muted); } .sessions dd:last-child, .ssh-keys dd:last-child { grid-column: 2; grid-row: 1 / span 3; align-self: center; } .icon { width: 1em; height: 1em; vertical-align: -0.125em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; } .skip { position: absolute; left: -100vw; } .skip:focus { position: static; display: inline-block; margin-bottom: 1rem; } [hidden] { display: none; } .qr { display: block; width: 100%; max-width: 16rem; height: auto; margin: 1rem 0; }