* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color:transparent !important
}

body {
    align-items: center;
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    display: flex;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;
    position:relative
}

body:before {
    background: radial-gradient(circle at 20% 80%, rgba(177, 27, 26, .08) 0, transparent 50%), radial-gradient(circle at 80% 20%, rgba(220, 38, 38, .08) 0, transparent 50%);
    content: "";
    height: 100%;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index:-1
}

.container {
    background: #fff;
    border: 1px solid rgba(177, 27, 26, .1);
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(177, 27, 26, .15);
    max-width: 400px;
    overflow: hidden;
    width:100%
}

.header {
    color: #fff;
    overflow: hidden;
    position: relative;
    text-align:center
}

.header-image {
    border-radius: 15px 15px 0 0;
    object-fit: cover;
    width:100%
}

.header-content {
    position: relative;
    z-index:2
}

.header h1 {
    font-size: 20px;
    margin-bottom:10px
}

.header p {
    font-size: 14px;
    opacity:.9
}

.features {
    background: linear-gradient(135deg, #10261a, #1b412e);
    color: #fff;
    margin-top: -4px;
    padding:20px
}

.features h3 {
    font-size: 16px;
    margin-bottom: 15px;
    text-align:center
}

.feature-list {
    list-style:none
}

.feature-list li {
    font-size: 14px;
    padding:5px 0
}

.feature-list li:before {
    color: gold;
    content: "🔥 ";
    font-weight: 700;
    margin-right:5px
}

.steps {
    padding:30px 20px
}

.step {
    align-items: center;
    background: linear-gradient(135deg, #10261a, #1b412e);
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    margin: 0 0 15px;
    padding: 15px 20px;
    position: relative;
    transition:all .3s ease
}

.step:last-child {
    margin-bottom:0
}

.step:hover {
    box-shadow: 0 8px 25px #2c2c2c;
    text-decoration: underline;
    transform:translateY(-2px)
}

.step-number {
    align-items: center;
    background: hsla(0, 0%, 100%, .2);
    border-radius: 50%;
    display: flex;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    margin-right: 15px;
    width:30px
}

.step-content {
    flex:1
}

.step-title {
    font-size: 16px;
    font-weight: 700;
    text-align:center
}

.arrow {
    font-size: 20px;
    transition:transform .3s ease
}

.step:hover .arrow {
    transform:translateX(5px)
}

.banner-image {
    background: #f8f9fa;
    display: block;
    overflow: hidden;
    padding: 0;
    text-align:center
}

.banner-image img {
    border-radius: 0;
    box-shadow: none;
    display: block;
    height: auto;
    width:100%
}

.banner-placeholder {
    color: #999;
    font-size: 14px;
    padding: 40px 20px;
    text-align:center
}

.modal {
    animation: fadeIn .3s;
    background-color: rgba(0, 0, 0, .5);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index:1000
}

.modal-content {
    animation: slideIn .3s;
    background-color: #fff;
    border-radius: 15px;
    margin: 15% auto;
    max-width: 400px;
    overflow: hidden;
    padding: 0;
    width:90%
}

.modal-header {
    background: linear-gradient(135deg, #10261a, #1b412e);
    color: #fff;
    padding: 20px;
    text-align:center
}

.modal-body {
    padding:30px 20px
}

.input-group {
    margin-bottom:20px
}

.input-group label {
    color: #333;
    display: block;
    font-weight: 700;
    margin-bottom:8px
}

.input-group input {
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    padding: 12px;
    transition: border-color .3s;
    width:100%
}

.input-group input:focus {
    border-color: #b11b1a;
    outline:none
}

.modal-buttons {
    display: flex;
    gap: 10px;
    margin-top:20px
}

.btn {
    border: none;
    border-radius: 8px;
    cursor: pointer;
    flex: 1;
    font-size: 16px;
    padding: 12px;
    transition:all .3s ease
}

.btn-primary {
    background: linear-gradient(135deg, #10261a, #1b412e);
    color:#fff
}

.btn-primary:hover {
    background:linear-gradient(135deg, #991b1b, #b91c1c)
}

.btn-primary:disabled {
    background: #ccc;
    cursor:not-allowed
}

.btn-secondary {
    background: #f5f5f5;
    color:#666
}

.btn-secondary:hover {
    background:#e0e0e0
}

.error-message {
    background: #ffebee;
    color:#c62828
}

.error-message, .success-message {
    border-radius: 5px;
    font-size: 14px;
    margin-bottom: 15px;
    padding:10px
}

.success-message {
    background: #e8f5e8;
    color:#2e7d32
}

.info-message {
    background: #e3f2fd;
    border-radius: 5px;
    color: #1565c0;
    font-size: 14px;
    margin-bottom: 15px;
    padding:10px
}

.ios-jump-hint {
    background: #fff3cd;
    border-radius: 8px;
    color: #856404;
    display: none;
    font-size: 14px;
    margin-top: 15px;
    padding: 15px;
    text-align:center
}

.ios-jump-link {
    background: #007aff;
    border: none;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    margin-top: 10px;
    padding: 12px 20px;
    text-align: center;
    text-decoration: none;
    width:100%
}

@keyframes fadeIn {
    0% {
        opacity:0
    }

    to {
        opacity:1
    }
}

@keyframes slideIn {
    0% {
        opacity: 0;
        transform:translateY(-50px)
    }

    to {
        opacity: 1;
        transform:translateY(0)
    }
}

.loading {
    animation: spin 1s ease-in-out infinite;
    border: 3px solid hsla(0, 0%, 100%, .3);
    border-radius: 50%;
    border-top-color: #fff;
    display: inline-block;
    height: 20px;
    width:20px
}

@keyframes spin {
    to {
        transform:rotate(1turn)
    }
}

.usage-info {
    background: #f8f9fa;
    color: #666;
    margin-top:10px
}

.security-notice, .usage-info {
    border-radius: 6px;
    font-size: 12px;
    padding:10px
}

.security-notice {
    background: #e8f4fd;
    color: #0d47a1;
    margin-top: 15px;
    text-align:center
}

.footer {
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
    color: #666;
    font-size: 12px;
    padding: 0;
    text-align:center
}

.footer-image {
    border-radius: 0 0 15px 15px;
    object-fit: cover;
    width:100%
}

.footer-content {
    padding: 15px
}
