@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700;800&family=JetBrains+Mono&display=swap');

body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    background-color: #ffffff; 
    color: #1e293b; 
    margin: 0; 
    //overflow-x: hidden; 
    /* Wymusza minimalną szerokość treści */
    min-width: 470px;
    /* Pozwala na przesuwanie na boki, jeśli ekran jest mniejszy */
    //overflow-x: auto;
    /* Zapobiega dziwnym skokom tekstu na iOS */
    -webkit-text-size-adjust: 100%;
}

.mono { font-family: 'JetBrains Mono', monospace; }

.bg-oblique {
    background: linear-gradient(170deg, #ffffff 40%, #f0f7ff 40.1%, #f0f7ff 60%, #fff7ed 60.1%, #fff7ed 80%, #ffffff 80.1%);
}

.leopard-shadow { box-shadow: 0 40px 100px -20px rgba(0, 0, 0, 0.08); }

.btn-gradient { 
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); 
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
}

.btn-gradient:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(217, 119, 6, 0.3); }

.progress-bar { height: 100%; width: 0%; background: #f59e0b; transition: width 0.5s ease; }

input::placeholder { color: #cbd5e1; opacity: 1; }

#user-input {
    border: 2px solid #e2e8f0;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

#user-input:focus {
    border-color: #f59e0b;
}

@keyframes pulse-warning {
    0%, 100% { border-color: #f59e0b; }
    50% { border-color: #ef4444; }
}

.animate-idle { 
    animation: pulse-warning 1.5s infinite ease-in-out !important; 
}