/* rekisteroidy.html: sivun omat tyylit (siirretty <style>-lohkosta, jotta CSP:n style-src ei tarvitse unsafe-inline-lupaa) */
    :root {
        --primary: #f1c40f;
        --primary-hover: #f39c12;
        --bg-color: #121212;
        --text-color: #ecf0f1;
        --glass-bg: rgba(36, 36, 36, 0.8);
        --glass-border: rgba(241, 196, 15, 0.2);
    }

    body {
        margin: 0;
        padding: 0;
        font-family: 'Inter', sans-serif;
        background-color: var(--bg-color);
        color: var(--text-color);
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .background-glow {
        position: absolute;
        top: -20%;
        left: -10%;
        width: 50vw;
        height: 50vw;
        background: radial-gradient(circle, rgba(241, 196, 15, 0.15) 0%, rgba(18, 18, 18, 0) 70%);
        border-radius: 50%;
        z-index: -1;
    }

    .container {
        background: var(--glass-bg);
        border: 1px solid var(--glass-border);
        padding: 2.5rem;
        border-radius: 20px;
        backdrop-filter: blur(10px);
        width: 100%;
        max-width: 450px;
        box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    }

    .logo {
        font-size: 2rem;
        font-weight: 800;
        text-align: center;
        margin-bottom: 2rem;
        background: linear-gradient(135deg, #f1c40f 0%, #f39c12 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .form-group, .kentta {
        margin-bottom: 1.5rem;
    }

    label {
        display: block;
        margin-bottom: 0.5rem;
        font-size: 0.9rem;
        color: #bdc3c7;
    }

    input {
        width: 100%;
        padding: 0.75rem;
        background: rgba(0, 0, 0, 0.2);
        border: 1px solid var(--glass-border);
        border-radius: 8px;
        color: white;
        font-family: 'Inter', sans-serif;
        box-sizing: border-box;
    }

    input:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.2);
    }

    button {
        width: 100%;
        background-color: var(--primary);
        color: var(--bg-color);
        border: none;
        padding: 1rem;
        border-radius: 8px;
        font-weight: 800;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.3s ease;
        margin-top: 1rem;
    }

    button:hover {
        background-color: var(--primary-hover);
        transform: translateY(-2px);
    }

    button:disabled {
        background-color: #555;
        cursor: not-allowed;
        transform: none;
    }

    #statusMsg {
        margin-top: 1rem;
        text-align: center;
        font-size: 0.9rem;
    }

    .login-link {
        text-align: center;
        margin-top: 1.5rem;
        font-size: 0.9rem;
        color: #94a3b8;
    }

    .login-link a {
        color: var(--primary);
        text-decoration: none;
    }
    
    .login-link a:hover {
        text-decoration: underline;
    }
    
    .help-text {
        font-size: 0.8rem;
        color: #7f8c8d;
        margin-top: 0.3rem;
        display: block;
    }

    /* Suostumukset: valintaruutu ja teksti samalla rivillä, linkit teeman värillä. */
    .suostumukset { margin: 0 0 1.5rem 0; display: flex; flex-direction: column; gap: 0.6rem; }
    /* Osoitekenttä: alkuosa kirjoitetaan, harmaa ".kuviobingo.fi" on osa kenttää. */
    .osoite-kentta { display: flex; align-items: center; background: rgba(0, 0, 0, 0.2); border: 1px solid var(--glass-border); border-radius: 8px; }
    .osoite-kentta:focus-within { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.2); }
    .osoite-kentta input { flex: 0 1 auto; width: 10ch; min-width: 4ch; max-width: 100%; border: none; background: transparent; margin: 0; padding-right: 0; }
    .osoite-kentta input:focus { box-shadow: none; }
    .osoite-loppu { flex: 1 1 auto; color: #7f8c8d; padding: 0.75rem 0.75rem 0.75rem 0; white-space: nowrap; user-select: none; cursor: text; }
    .suostumus-rivi { display: flex; align-items: flex-start; gap: 0.6rem; margin: 0; font-size: 0.9rem; color: #bdc3c7; cursor: pointer; }
    .suostumus-rivi input[type="checkbox"] { width: auto; margin: 0.15rem 0 0 0; padding: 0; accent-color: var(--primary); flex-shrink: 0; }
    .suostumus-rivi a { color: var(--primary); }
    /* ehdot.html: ehtojen sivu samalla ulkoasulla. */
    .ehdot h2 { color: var(--primary); margin-top: 2rem; font-size: 1.2rem; }
    .ehdot p { color: #bdc3c7; line-height: 1.6; }
    .ehdot .container { max-width: 720px; text-align: left; }

/* ehdot.html: tallennettujen ehtojen päivityspäivä. */
.ehdot-paivitetty { color: #888; font-size: 13px; }
