 :root {
            --bg: #0b0f14;
            --panel: #111827;
            --brand: #0ea5e9;
            --text: #e5e7eb;
            --muted: #94a3b8;
            --ok: #10b981;
            --card: #0f172a;
            --chip: #1f2937;
            --shadow: 0 10px 30px rgba(0, 0, 0, .35)
        }

        @media (prefers-color-scheme: light) {
            :root {
                --bg: #f5f7fb;
                --panel: #ffffff;
                --brand: #0284c7;
                --text: #0f172a;
                --muted: #64748b;
                --ok: #059669;
                --card: #ffffff;
                --chip: #e5e7eb;
                --shadow: 0 10px 25px rgba(2, 8, 23, .08)
            }
        }

        * {
            box-sizing: border-box
        }

        html,
        body {
            height: 100%;
            margin: 0
        }

        body {
            font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans";
            background: var(--bg);
            color: var(--text)
        }

        .app {
            height: 100dvh;
            display: grid;
            grid-template-rows: auto 1fr auto
        }

        .appbar {
            position: sticky;
            top: 0;
            display: flex;
            align-items: center;
            gap: 12px;
            background: linear-gradient(180deg, rgba(14, 165, 233, .95), rgba(14, 165, 233, .85));
            color: #fff;
            padding: calc(env(safe-area-inset-top, 0) + 20px) 20px 20px;
            /* 🔹 padding maior */
            box-shadow: var(--shadow);
            z-index: 10;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0
        }

        .brand img {
            height: 32px;
            width: 32px;
            border-radius: 6px;
            background: #fff;
            object-fit: cover
        }

        .title {
            font-weight: 700;
            font-size: 1.1rem;
            letter-spacing: .2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis
        }

        .chip {
            margin-left: auto;
            background: rgba(255, 255, 255, .18);
            color: #fff;
            padding: 6px 10px;
            border-radius: 999px;
            font-size: .8rem
        }

        .chip.ok {
            background: rgba(16, 185, 129, .25)
        }

        .chip.bad {
            background: rgba(239, 68, 68, .25)
        }

        .install-btn {
            margin-left: 8px;
            appearance: none;
            border: 1px solid rgba(255, 255, 255, .6);
            background: transparent;
            color: #fff;
            border-radius: 999px;
            padding: 6px 10px;
            font-weight: 700;
            font-size: .8rem;
            display: none
        }

        .content {
            padding: 14px 14px calc(env(safe-area-inset-bottom, 0)+90px);
            overflow: auto;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain
        }

        .log {
            background: var(--card);
            border-radius: 16px;
            padding: 14px;
            box-shadow: var(--shadow);
            margin: 0 0 12px 0;
            border: 1px solid rgba(255, 255, 255, .04)
        }

        .log-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 8px
        }

        .badge {
            background: var(--chip);
            color: var(--text);
            padding: 6px 10px;
            border-radius: 999px;
            font-weight: 600;
            font-size: .82rem;
            white-space: nowrap
        }

        .time {
            color: var(--muted);
            font-size: .8rem;
            white-space: nowrap;
            margin-left: auto
        }

        .msg {
            font-size: .95rem;
            line-height: 1.35rem;
            color: var(--text);
            text-align: left;
            word-wrap: break-word
        }

        .imagem {
            width: 100%;
            max-height: 55vh;
            object-fit: cover;
            border-radius: 12px;
            margin-top: 10px;
            border: 1px solid rgba(0, 0, 0, .06)
        }

        .bottombar {
            position: sticky;
            bottom: 0;
            background: linear-gradient(0deg, rgba(17, 24, 39, .92), rgba(17, 24, 39, .7));
            padding: 20px 20px calc(env(safe-area-inset-bottom, 0) + 20px);
            /* 🔹 padding maior */
            display: flex;
            gap: 12px;
            backdrop-filter: blur(10px);
            border-top: 1px solid rgba(255, 255, 255, .06);
        }

        @media (prefers-color-scheme: light) {
            .bottombar {
                background: linear-gradient(0deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .8));
                border-top: 1px solid rgba(2, 8, 23, .06)
            }
        }

        .btn {
            flex: 1;
            appearance: none;
            border: 0;
            padding: 14px 16px;
            border-radius: 14px;
            font-weight: 700;
            letter-spacing: .2px;
            cursor: pointer
        }

        .btn.primary {
            background: var(--brand);
            color: #fff;
            box-shadow: 0 8px 20px rgba(14, 165, 233, .35)
        }

        .btn.ghost {
            background: transparent;
            color: var(--text);
            border: 1px solid rgba(255, 255, 255, .12)
        }

        .empty {
            text-align: center;
            color: var(--muted);
            margin-top: 22vh
        }