        :root {
            --main: #35ff8a;
            --main-dark: #20d86c;
            --dark: #111827;
            --soft: #f5f7fb;
        }

        html { scroll-behavior: smooth; }

        body {
            background: var(--soft);
            color: #1f2937;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .hero {
            min-height: 88vh;
            background:
                radial-gradient(circle at top left, rgba(53,255,138,.25), transparent 34%),
                linear-gradient(135deg, #111827 0%, #1f2937 55%, #0b1020 100%);
            color: #fff;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
        }

        .hero::after {
            content: "LESZAROM";
            position: absolute;
            right: -90px;
            bottom: 10px;
            font-size: clamp(4rem, 15vw, 14rem);
            font-weight: 950;
            color: rgba(255,255,255,.045);
            transform: rotate(-8deg);
        }

        .btn-main {
            background: var(--main);
            color: #111827;
            border: none;
            font-weight: 850;
            box-shadow: 0 12px 30px rgba(53,255,138,.24);
        }

        .btn-main:hover {
            background: var(--main-dark);
            color: #111827;
        }

        .badge-soft {
            background: rgba(53,255,138,.13);
            color: var(--main);
            border: 1px solid rgba(53,255,138,.35);
        }

        .card-funny {
            border: 0;
            border-radius: 26px;
            box-shadow: 0 18px 50px rgba(17,24,39,.08);
        }

        .dark-panel {
            background: #111827;
            color: #fff;
            border-radius: 30px;
            padding: 2rem;
            box-shadow: 0 18px 60px rgba(17,24,39,.25);
        }

        .opinion-box {
            min-height: 96px;
            border-radius: 20px;
            background: rgba(255,255,255,.08);
            border: 1px solid rgba(255,255,255,.12);
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 1.5rem;
            font-size: 1.25rem;
            font-weight: 800;
        }

        .quote {
            font-size: clamp(1.5rem, 4vw, 2.7rem);
            font-weight: 950;
            line-height: 1.15;
            letter-spacing: -.04em;
        }

        .counter-box {
            background: #fff;
            border-radius: 22px;
            padding: 1.4rem;
            box-shadow: 0 12px 35px rgba(17,24,39,.07);
            height: 100%;
        }

        .counter-box strong {
            font-size: 2rem;
            color: #111827;
        }

        .floating-pill {
            display: inline-block;
            padding: .75rem 1rem;
            border-radius: 999px;
            background: rgba(255,255,255,.09);
            margin: .25rem;
            font-weight: 800;
        }

        .send-card {
            border: 0;
            border-radius: 22px;
            padding: 1.4rem;
            background: #fff;
            box-shadow: 0 12px 35px rgba(17,24,39,.07);
            transition: .2s;
            cursor: pointer;
            height: 100%;
        }

        .send-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 45px rgba(17,24,39,.12);
        }

        .bingo-cell {
            border: 0;
            border-radius: 16px;
            background: #fff;
            padding: .85rem;
            font-weight: 850;
            min-height: 84px;
            width: 100%;
            box-shadow: 0 10px 24px rgba(17,24,39,.06);
        }

        .bingo-cell.active {
            background: var(--main);
            color: #111827;
            box-shadow: 0 10px 28px rgba(53,255,138,.35);
        }

        .complaint-log {
            min-height: 120px;
            background: rgba(255,255,255,.08);
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 18px;
            padding: 1rem;
            text-align: left;
            color: rgba(255,255,255,.9);
        }

        .preview-img {
            border-radius: 24px;
            box-shadow: 0 18px 60px rgba(17,24,39,.18);
        }

        footer {
            background: #0b1020;
            color: rgba(255,255,255,.75);
        }