:root {
    --bg-color: #ffffff;
    --text-color: #333333;
    --box-bg: #f9f9f9;
    --box-border: #ccc;
    --timer-bg: #eee;
    --footer-color: #666;
    --textarea-bg: #ffffff;
    --accent-color: #f0a500; 
}

[data-theme="dark"] {
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --box-bg: #1e1e1e;
    --box-border: #333;
    --timer-bg: #2d2d2d;
    --footer-color: #888;
    --textarea-bg: #252525;
    --accent-color: #ffc04d;
}

/* Tipografía y base adaptable */
body { 
    font-family: Arial, sans-serif; 
    max-width: 600px; 
    margin: 40px auto; 
    padding: 20px; 
    line-height: 1.6; 
    background-color: var(--bg-color); 
    color: var(--text-color); 
    transition: background-color 0.3s, color 0.3s; 
}

.info-box { 
    border: 1px solid var(--box-border); 
    background-color: var(--box-bg); 
    padding: 15px; 
    border-radius: 8px; 
    margin-bottom: 25px; 
}

.brand-container { text-align: center; margin-bottom: 15px; }
.brand-container h2 { margin-bottom: 10px; }

.mascot-img { max-width: 180px; height: auto; display: block; margin: 0 auto; }

.control-group { margin-bottom: 15px; }
.error { color: #ff4d4d; font-weight: bold; word-break: break-word; }

.drop-zone { 
    border: 2px dashed var(--box-border); 
    padding: 25px; 
    text-align: center; 
    border-radius: 8px; 
    background: var(--box-bg); 
    cursor: pointer; 
    transition: border-color 0.2s; 
    word-break: break-word; 
}
.drop-zone--over { border-color: var(--accent-color); background: var(--timer-bg); }
.drop-zone input { display: none; }

textarea { 
    width: 100%; 
    height: 60px; 
    margin-top: 10px; 
    background-color: var(--textarea-bg); 
    color: var(--text-color); 
    border: 1px solid var(--box-border); 
    padding: 8px; 
    border-radius: 4px; 
    box-sizing: border-box; 
    font-family: Arial, monospace; 
    resize: none; 
}

footer { 
    margin-top: 40px; 
    font-size: 0.85em; 
    color: var(--footer-color); 
    text-align: center; 
    border-top: 1px solid var(--box-border); 
    padding-top: 10px; 
}

#preview { margin-top: 20px; padding: 15px; border: 1px dashed var(--box-border); border-radius: 8px; display: none; }
.timer-container { margin: 15px 0; background: var(--timer-bg); padding: 10px; border-radius: 5px; }

#fileContent img, #fileContent embed, #fileContent pre {
    max-width: 100%;
    box-sizing: border-box;
}

progress { width: 100%; height: 15px; border-radius: 10px; overflow: hidden; border: none; }
progress::-webkit-progress-bar { background-color: var(--bg-color); }
progress::-webkit-progress-value { background-color: var(--accent-color); }

.top-controls { position: fixed; top: 20px; right: 20px; display: flex; gap: 10px; z-index: 1000; }
.theme-toggle, .lang-toggle { padding: 8px 12px; border-radius: 20px; border: 1px solid var(--box-border); background-color: var(--box-bg); color: var(--text-color); cursor: pointer; font-size: 0.9em; font-weight: bold; }

.btn { 
    padding: 10px 18px; 
    border-radius: 4px; 
    border: 1px solid var(--box-border); 
    background-color: var(--box-bg); 
    color: var(--text-color); 
    cursor: pointer; 
    font-weight: bold; 
    margin-top: 10px; 
    transition: background 0.2s; 
    display: inline-block;
}
.btn:hover { background: var(--timer-bg); }
.btn-primary { background: var(--accent-color); color: #121212; border: none; font-family: Arial, sans-serif; }
.btn-primary:hover { opacity: 0.9; }
.file-meta { font-size: 0.9em; color: var(--footer-color); margin-bottom: 10px; word-break: break-all; }

.highlight-yellow {
    background-color: #fff9c4; 
    padding: 10px;
    border-radius: 6px;
    border-left: 4px solid #f0a500; 
    color: #333; 
}

[data-theme="dark"] .highlight-yellow {
    background-color: #4a452a; 
    border-left-color: #ffc04d;
    color: #e0e0e0;
}


@media (max-width: 640px) {
    body {
        margin: 10px auto;
        padding: 15px;
    }

    .top-controls {
        position: static;
        margin-bottom: 20px;
        justify-content: center;
    }

    .theme-toggle, .lang-toggle {
        padding: 10px 14px; 
        font-size: 0.85em;
    }

    .mascot-img {
        max-width: 130px;
    }

    
    .btn, button.btn {
        width: 100%;
        box-sizing: border-box;
        padding: 12px;
        text-align: center;
    }
    
    select#expiry {
        width: 100%;
        padding: 10px;
    }
}
