﻿:root
{
    --bg: #ffffff;
    --fg: #000000;
    --muted: #6b6b6b;
    --border: #cccccc;
    --soft: #f7f7f7;
    --accent-grad: linear-gradient(90deg, #6e59ff 0%, #ff4d4d 45%, #ff7cc8 100%);
}

:root.dark
{
    --bg: #000000;
    --fg: #ffffff;
    --muted: #b9b9b9;
    --border: #333333;
    --soft: #0f0f0f;
    --accent-grad: linear-gradient(90deg, #b7a6ff 0%, #ff7a7a 45%, #ff9ad8 100%);
}

* { box-sizing: border-box; }

html, body
{
    margin: 0;
    padding: 0;
}

body
{
    background: var(--bg);
    color: var(--fg);
    font-family: 'Helvetica Neue', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    line-height: 1.55;
}

.screen
{
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: 2rem;
}

.card
{
    background:
            linear-gradient(var(--soft), var(--soft)) padding-box,
            var(--accent-grad) border-box;
    border: 1px solid transparent;
    border-radius: 16px;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    max-width: 820px;
    width: 100%;
    text-align: center;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
}

.hero .logo
{
    height: 72px;
    width: auto;
    margin: .25rem auto 1rem;
    display: block;
    filter: invert(var(--logo-invert, 0));
}

:root.dark .hero .logo
{
    --logo-invert: 1;
}

.hero h1
{
    margin: 0 0 .5rem;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.01em;
}

.tagline
{
    margin: 0 auto 1.25rem;
    color: var(--muted);
    max-width: 60ch;
    font-size: clamp(1rem, 2.2vw, 1.125rem);
}

.cta-row
{
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: .5rem;
}

.btn
{
    display: inline-block;
    padding: .8rem 1.2rem;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    color: var(--fg);
    background: var(--soft);
    border: 1px solid var(--border);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
    min-width: 10rem;
    text-align: center;
}

.btn:hover,
.btn:focus-visible
{
    outline: none;
    transform: translateY(-2px);
    background:
            linear-gradient(var(--bg), var(--bg)) padding-box,
            var(--accent-grad) border-box;
    border: 1px solid transparent;
    text-decoration: none;
}

footer {
    text-align:center;
    border-top:1px solid var(--border);
    padding:1.5rem;
    font-size:.9rem;
    color:var(--muted);
}

.dark-toggle {
    position:fixed;
    top:14px;
    right:14px;
    width:46px;
    height:28px;
    border-radius:999px;
    border:1px solid var(--border);
    background:var(--bg);
    cursor:pointer;
    padding:0;
    z-index:10;
}
.dark-toggle .knob {
    display:block;
    width:22px;
    height:22px;
    margin:2px;
    border-radius:50%;
    background:var(--fg);
    transition:transform .25s ease;
}
:root.dark .dark-toggle .knob {
    transform:translateX(18px);
}



