* {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            padding: 0;
            height: 100%;
            background: #dfe3e8;
            font-family: Arial, Helvetica, sans-serif;
            overflow: hidden;
        }

        .preview-topbar {
            height: 74px;
            background: #171717;
            color: #fff;
            display: flex;
            align-items: center;
            padding: 0 20px;
            gap: 22px;
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }

        .preview-logo {
            display: flex;
            align-items: center;
            min-width: 210px;
        }

        .preview-logo img {
            max-height: 46px;
            max-width: 190px;
            display: block;
        }

        .preview-devices {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .device-btn {
            width: 22px;
            height: 22px;
            background: transparent;
            border: 0;
            color: #9ca3af;
            cursor: pointer;
            font-size: 17px;
            padding: 0;
            transition: all .2s ease;
        }

        .device-btn:hover,
        .device-btn.active {
            color: #fff;
            transform: translateY(-1px);
        }

        .preview-info {
            color: #fff;
            font-size: 14px;
            font-weight: 700;
            flex: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .preview-actions {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .preview-buy,
        .preview-close {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            height: 36px;
            padding: 0 18px;
            border-radius: 3px;
            color: #fff;
            text-decoration: none;
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            border: 0;
            cursor: pointer;
        }

        .preview-buy {
            background: #41b80f;
        }

        .preview-buy:hover {
            background: #35a309;
            color: #fff;
        }

        .preview-close {
            background: #2f2f2f;
        }

        .preview-close:hover {
            background: #444;
            color: #fff;
        }

        .preview-buy i,
        .preview-close i {
            margin-right: 8px;
        }

        .preview-stage {
            height: calc(100vh - 74px);
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: stretch;
            background: #e5e7eb;
            overflow: auto;
            padding: 0;
        }

        .preview-frame-shell {
            width: 100%;
            height: 100%;
            background: #fff;
            transition: width .25s ease, height .25s ease, margin .25s ease, box-shadow .25s ease;
        }

        .preview-frame-shell.is-desktop {
            width: 100%;
            height: 100%;
        }

        .preview-frame-shell.is-laptop {
            width: 1366px;
            max-width: 100%;
            height: 100%;
        }

        .preview-frame-shell.is-tablet-landscape {
            width: 1024px;
            height: 768px;
            margin: 30px 0;
            box-shadow: 0 20px 50px rgba(0,0,0,.22);
        }

        .preview-frame-shell.is-tablet {
            width: 768px;
            height: 1024px;
            margin: 30px 0;
            box-shadow: 0 20px 50px rgba(0,0,0,.22);
        }

        .preview-frame-shell.is-mobile {
            width: 390px;
            height: 844px;
            margin: 30px 0;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0,0,0,.28);
        }

        .preview-frame-shell iframe {
            width: 100%;
            height: 100%;
            border: 0;
            display: block;
            background: #fff;
        }

        @media (max-width: 767px) {
            body {
                overflow: auto;
            }

            .preview-topbar {
                height: auto;
                min-height: 78px;
                padding: 12px;
                flex-wrap: wrap;
                gap: 10px;
            }

            .preview-logo {
                min-width: auto;
                width: 120px;
            }

            .preview-logo img {
                max-width: 120px;
                max-height: 38px;
            }

            .preview-info {
                order: 3;
                width: 100%;
                flex: 0 0 100%;
                font-size: 12px;
            }

            .preview-devices {
                flex: 1;
                justify-content: center;
            }

            .preview-actions {
                gap: 6px;
            }

            .preview-buy,
            .preview-close {
                height: 34px;
                padding: 0 10px;
                font-size: 11px;
            }

            .preview-stage {
                height: calc(100vh - 110px);
            }

            .preview-frame-shell.is-mobile {
                width: 100%;
                height: 100%;
                margin: 0;
                border-radius: 0;
            }
        }
