/*
 * Application Name: Welcome
 * Author: Stan Halfacre w/Claude Code
 * © 2026 Stan Halfacre. All rights reserved.
 */

:root {
    --bg: #1c140c;
    --bg-2: #2a1e12;
    --ink: #f6eee5;
    --muted: #c2ab93;
    --accent: #f4a259;
    --accent-2: #e8893a;
    color-scheme: dark;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    color: var(--ink);
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.topbar {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: var(--accent);
}

.brand {
    color: #000;
    font-weight: 700;
    font-size: 1.15rem;
    text-decoration: none;
}

.brand span { opacity: .6; }

.page {
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 16px;
}

.headline {
    margin: 0 0 4px;
    font-size: 2.25rem;
    color: var(--accent);
}

.lede {
    margin: 0 0 24px;
    color: var(--muted);
}

.sites {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-card {
    display: block;
    padding: 16px 18px;
    border: 1px solid #4a3622;
    border-radius: 10px;
    background: var(--bg-2);
    color: inherit;
    text-decoration: none;
}

.site-card:hover,
.site-card:focus-visible {
    border-color: var(--accent);
    outline: none;
}

.site-name {
    display: block;
    font-weight: 700;
    font-size: 1.15rem;
    color: var(--accent);
}

.site-blurb {
    display: block;
    color: var(--muted);
}

.topbar { justify-content: space-between; gap: 12px; }

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #000;
}

.topbar-actions form { margin: 0; }

.topbar-name { font-weight: 600; }

.topbar-link {
    padding: 0;
    border: 0;
    background: none;
    color: #000;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 420px;
    padding: 20px 18px;
    border: 1px solid #4a3622;
    border-radius: 10px;
    background: var(--bg-2);
}

.card h2 { margin: 0; font-size: 1.25rem; }

.muted { margin: 0 0 4px; color: var(--muted); }

.ink { color: var(--ink); }

label { margin-top: 4px; font-weight: 600; }

input {
    padding: 10px 12px;
    border: 1px solid #5c4430;
    border-radius: 8px;
    background: var(--bg);
    color: var(--ink);
    font: inherit;
}

input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

.error { margin: 0; color: #ff8a7a; }

.btn {
    display: block;
    margin-top: 4px;
    padding: 10px 14px;
    border: 1px solid #5c4430;
    border-radius: 8px;
    background: none;
    color: var(--ink);
    font: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.btn-primary {
    border-color: var(--accent);
    background: var(--accent);
    color: #000;
    font-weight: 700;
}

.btn-primary:hover { background: var(--accent-2); }
