/* Woordzoeker — tokens en reset komen uit assets/common.css */

html { height: 100%; }

body {
    font-family: var(--font-b);
    color: var(--ink);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--bg-warm);
    background-image:
        radial-gradient(ellipse 80% 60% at 10% 0%,   #f3d4ff 0%, transparent 60%),
        radial-gradient(ellipse 60% 50% at 95% 15%,  #ffd6e7 0%, transparent 55%),
        radial-gradient(ellipse 70% 50% at 50% 100%, #d4f0ff 0%, transparent 60%);
    background-attachment: fixed;
}

.container {
    width: 100%;
    max-width: 560px;
    padding: 1rem 0.8rem 2rem;
}

.wz-header {
    text-align: center;
    padding: 0.4rem 0 1rem;
}
.wz-header h1 {
    font-family: var(--font-h);
    font-size: 1.8rem;
    font-weight: 800;
}

/* ── Thema-keuze ── */
.thema-scherm { text-align: center; }
.thema-intro {
    font-family: var(--font-h);
    color: var(--muted);
    margin-bottom: 1.2rem;
}
.thema-knoppen {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.thema-knop {
    font-family: var(--font-h);
    font-size: 1rem;
    font-weight: 800;
    padding: 0.9rem 1.5rem;
    border: none;
    border-radius: 18px;
    cursor: pointer;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(8px);
    color: var(--ink);
    box-shadow: 0 4px 16px rgba(120,60,200,0.14);
    transition: transform 0.18s, box-shadow 0.18s;
}
.thema-knop:hover {
    transform: translateY(-4px) rotate(-1deg);
    box-shadow: 0 8px 24px rgba(120,60,200,0.25);
}

/* ── Spelbalk ── */
.spel-balk {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 0.8rem;
}
.thema-naam { font-family: var(--font-h); font-weight: 800; }
.klok {
    font-family: var(--font-h);
    font-weight: 800;
    background: rgba(255,255,255,0.6);
    padding: 0.3rem 0.9rem;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.nieuwe-knop {
    font-family: var(--font-h);
    font-weight: 800;
    border: none;
    border-radius: 999px;
    padding: 0.45rem 1rem;
    cursor: pointer;
    background: rgba(255,255,255,0.6);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.15s;
}
.nieuwe-knop:hover { transform: scale(1.06); }
.spel-balk-acties { display: flex; gap: 8px; }
.afbreken-knop {
    font-family: var(--font-h);
    font-weight: 800;
    border: none;
    border-radius: 999px;
    width: 34px;
    height: 34px;
    cursor: pointer;
    background: rgba(251,113,133,0.18);
    color: var(--c2);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.15s, background 0.15s;
}
.afbreken-knop:hover { transform: scale(1.06); background: rgba(251,113,133,0.3); }

/* ── Rooster ── */
.rooster {
    display: grid;
    gap: 3px;
    background: rgba(255,255,255,0.5);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 18px;
    padding: 8px;
    box-shadow: 0 8px 28px rgba(120,60,200,0.14);
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    margin-bottom: 1rem;
}
.cel {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-h);
    font-weight: 800;
    font-size: clamp(0.8rem, 3.4vw, 1.15rem);
    border-radius: 8px;
    background: rgba(255,255,255,0.55);
    color: var(--ink);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}
.cel.selectie { background: var(--c5); color: #fff; }
.cel.vast     { background: var(--c4); color: #fff; }

/* ── Woordenlijst ── */
.woorden-lijst {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.woord {
    font-family: var(--font-h);
    font-weight: 700;
    font-size: 0.85rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.6);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.woord.gevonden {
    background: rgba(52,211,153,0.25);
    text-decoration: line-through;
    color: var(--muted);
}

/* ── Winmodal ── */
.wz-modal {
    position: fixed; inset: 0;
    background: rgba(30,10,60,0.38);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: fadeIn 0.22s ease;
}
.wz-modal.hidden { display: none; }
.wz-modal-inhoud {
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(20px);
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.8);
    box-shadow: 0 20px 60px rgba(120,60,200,0.18);
    width: 90%; max-width: 380px;
    padding: 2rem 1.6rem;
    text-align: center;
    animation: floatIn 0.32s cubic-bezier(0.34,1.56,0.64,1);
}
.wz-modal-inhoud h2 {
    font-family: var(--font-h);
    font-weight: 800;
    margin-bottom: 0.5rem;
}
.wz-modal-inhoud p { color: var(--muted); margin-bottom: 1.2rem; }
.win-knoppen { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.win-knop {
    padding: 11px 20px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--c1), var(--c5));
    color: #fff;
    font-family: var(--font-h);
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(192,84,252,0.35);
    transition: transform 0.15s;
}
.win-knop:hover { transform: scale(1.05); }
.win-knop.alt {
    background: rgba(240,232,255,0.9);
    color: var(--ink);
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.hidden { display: none !important; }
