/* ==================================== */
/* 1. STILI STRUTTURALI (Layout Editor) */
/* ==================================== */
body {
    font-family: 'Inter', Arial, sans-serif;
    margin: 0;
    padding: 0;
    height: 100vh;
    width: 100vw;
    display: flex;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #111827; 
}

.editor-container {
    display: flex;
    width: 100%;
    height: 100%;
}

.sidebar {
    width: 400px;
    flex-shrink: 0;
    height: 100%;
    overflow-y: auto;
    background-color: #0f172a; 
    border-right: 1px solid #1e293b;
    box-shadow: 5px 0 15px rgba(0,0,0,0.2);
    color: #f8fafc;
    scrollbar-width: thin;
    scrollbar-color: #334155 #0f172a;
}

.preview-area {
    flex-grow: 1;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    box-sizing: border-box;
    overflow-y: auto;
    
    background: transparent;
    z-index: 1;
}

/* ==================================== */
/* 2. LAYOUT CARD BASE (2 COLONNE)      */
/* ==================================== */

.DevCard {
    display: flex;
    width: 700px;
    height: 420px; 
    overflow: hidden; 
    align-items: stretch;
    position: relative;
    transform: scale(1.0);
    transition: all 0.3s ease;
    
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.card-left {
    flex-basis: 260px; 
    flex-shrink: 0;
    padding: 25px 15px; 
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    box-sizing: border-box; 
}

.card-right {
    flex-grow: 1;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start; 
    padding-top: 35px; 
    min-width: 0;
    overflow: hidden;
}


.card-left img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    display: block;
    border-radius: 25%;
    margin-bottom: 10px;
}

.card-header { margin-bottom: 5px; }
.card-header h1 { margin: 0; font-size: 2.0rem; word-break: break-word; line-height: 1.1;}
.card-header h2 { margin: 0; margin-top: 2px; font-size: 1.1rem; font-weight: normal; word-break: break-word; }

.card-bio { 
    margin: 10px 0; 
    font-size: 0.9rem; 
    line-height: 1.4;
    word-break: break-word;
    flex-grow: 0; 
}

.card-socials {
    margin-top: 10px;
    padding-top: 10px;
    margin-bottom: 0;
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    border-bottom: none; 
}
.card-socials a {
    font-size: 1.6rem;
    text-decoration: none;
    transition: color 0.2s;
}

.card-skills { 
    width: 100%; 
    min-width: 0; 
    padding-top: 5px; 
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

#card-skill-list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; 
    gap: 3px; 
    justify-content:flex-start; 
    margin-top: 5px;
}

.card-skills li {
    padding: 2px 6px;
    border-radius: 50px;
    font-size: 0.6rem; 
    line-height: 1.1;
    font-weight: 600;
    display: flex; align-items: center; gap: 5px; white-space: nowrap;
    margin: 0;
}

.watermark {
    position: absolute; bottom: 15px; right: 20px;
    font-size: 0.7rem; font-weight: bold; opacity: 0.6;
    background: rgba(255, 255, 255, 0.8); padding: 2px 6px; border-radius: 4px;
    z-index: 2;
}


/* ==================================== */
/* 3. STILI DASHBOARD (Sidebar)         */
/* ==================================== */
.dashboard {
    background-color: #0f172a;
    padding: 30px 20px;
}
.sidebar-title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 30px;
    color: #ffffff;
    letter-spacing: -1px;
}

.controls-section {
    background-color: #1f2937; 
    border: 1px solid #374151;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.controls-section h3 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.1rem;
    color: #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
}
.controls-section h3::before {
    content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: #3b82f6;
}


.dashboard label {
    display: block; font-weight: 600; margin-bottom: 8px; font-size: 0.85rem; color: #9ca3af;
}
.dashboard input[type="text"],
.dashboard textarea {
    width: 100%;
    background-color: #111827; 
    border: 1px solid #374151;
    border-radius: 8px;
    padding: 12px;
    font-size: 0.95rem;
    color: #ffffff;
    box-sizing: border-box;
    margin-bottom: 15px;
    transition: all 0.2s ease;
}
.dashboard input[type="text"]:focus,
.dashboard textarea:focus {
    border-color: #3b82f6; outline: none; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
.dashboard textarea { min-height: 100px; resize: vertical; font-family: inherit; }

.hidden-file-input { display: none; }
.file-upload-label {
    display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; padding: 20px;
    background-color: #1f2937; border: 2px dashed #4b5563; border-radius: 10px; cursor: pointer; transition: all 0.2s;
    box-sizing: border-box; margin-bottom: 10px; color: #d1d5db;
}
.file-upload-label:hover { border-color: #3b82f6; background-color: #374151; color: #fff; }
.file-upload-label i { font-size: 1.5rem; margin-bottom: 8px; color: #6b7280; }
.file-upload-label:hover i { color: #3b82f6; }

.photo-actions { display: flex; justify-content: flex-end; margin-bottom: 15px; }
.danger-button.small-button {
    background-color: #ef4444; color: white; border: none; padding: 6px 12px; border-radius: 6px; font-size: 0.75rem; font-weight: 600; cursor: pointer;
}
.danger-button.small-button:hover { background-color: #dc2626; }

.cta-button.primary-download {
    width: 100%; background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: white; font-size: 1.1rem; font-weight: bold; padding: 12px; border: none; border-radius: 5px; cursor: pointer; transition: transform 0.2s; margin-bottom: 10px;
}
.cta-button.primary-download:hover { transform: translateY(-2px); }
.cta-button.secondary-download {
    width: 100%; background-color: transparent; border: 1px solid #4b5563; color: #9ca3af; font-size: 1.1rem; font-weight: bold; padding: 12px; border-radius: 5px; cursor: pointer; transition: all 0.2s; margin-top: 6px;
}
.cta-button.secondary-download:hover { border-color: #d1d5db; color: white; }

body.is-downloading { cursor: wait; }


/* ==================================== */
/* 4. MANAGERS (SKILL & SOCIAL)         */
/* ==================================== */
.skills-manager label, .socials-manager label { display: flex; justify-content: space-between; font-weight: bold; margin-bottom: 8px; font-size: 0.9rem; color: #e5e7eb; }
.skills-manager #skill-counter { font-weight: normal; color: #6b7280; }

#selected-skills-preview {
    width: 100%; min-height: 40px; background-color: #111827; border: 1px solid #374151; border-radius: 5px; padding: 8px; box-sizing: border-box; display: flex; flex-wrap: wrap; gap: 6px;
}
#selected-skills-preview .skills-placeholder { margin: 0; color: #6b7280; font-size: 0.9rem; }
#selected-skills-preview .skill-pill-preview {
    background: #374151; color: #fff; padding: 4px 10px; border-radius: 50px; font-size: 0.8rem; font-weight: 500; display: flex; align-items: center; gap: 5px;
}

#toggle-socials-drawer, #toggle-skills-drawer {
    width: 100%; background-color: #3b82f6; color: white; border: none; padding: 10px; border-radius: 5px; cursor: pointer; font-size: 0.9rem; font-weight: bold; margin-top: 10px; transition: background-color 0.2s;
}
#toggle-socials-drawer:hover, #toggle-skills-drawer:hover { background-color: #2563eb; }
#clear-skills-btn {
    width: 100%; background-color: #374151; color: #d1d5db; border: none; padding: 8px; border-radius: 5px; cursor: pointer; font-size: 0.8rem; font-weight: bold; margin-top: 6px; transition: background-color 0.2s;
}
#clear-skills-btn:hover { background-color: #4b5563; color: white; }

#skills-drawer, #socials-drawer {
    width: 100%; max-height: 300px; overflow-y: auto; background: #1f2937; border: 1px solid #374151; border-radius: 5px; margin-top: 5px; transition: all 0.3s ease;
}
#skills-drawer.hidden, #socials-drawer.hidden { max-height: 0; border: 1px solid transparent; overflow: hidden; }
#skills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 10px; }

.skill-pill {
    background: #111827; border: 1px solid #374151; border-radius: 5px; padding: 8px 5px; font-size: 0.75rem; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; gap: 5px; text-align: center; color: #d1d5db;
}
.skill-pill.selected { background: #3b82f6; color: white; border-color: #3b82f6; font-weight: bold; }
.skill-pill.disabled { background: #374151; color: #6b7280; cursor: not-allowed; }

.social-input-group { margin-bottom: 10px; padding: 0 10px; }
.social-input-group label { display: flex; align-items: center; gap: 6px; font-size: 0.9rem; margin-bottom: 5px; color: #e5e7eb; }
.social-input-group input[type="text"] { margin-bottom: 0; }


/* ==================================== */
/* 5. TEMI "LIVE PREVIEW" (Bottoni)     */
/* ==================================== */
.theme-group h4 { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; margin-bottom: 15px; font-weight: 700; }
.theme-buttons-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.theme-button {
    position: relative; height: 60px; border-radius: 8px; border: 2px solid transparent; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.1); width: 100%;
}
.theme-button:hover { transform: translateY(-3px); z-index: 10; }
.theme-button.active { box-shadow: 0 0 0 3px #3b82f6, 0 5px 15px rgba(0,0,0,0.3); transform: scale(1.02); z-index: 10; }

.theme-button[data-theme="theme-classic"] { background: #fff; color: #333; border: 1px solid #e5e7eb; }
.theme-button[data-theme="theme-dark"] { background: #1e1e1e; color: #fff; border: 1px solid #333; }
.theme-button[data-theme="theme-minimal"] { background: #ffffff; color: #333; border: 1px solid #e5e7eb; }
.theme-button[data-theme="theme-cyberpunk"] { background: #0d0d0d; color: #00ff00; border: 1px solid #ff00ff; font-family: 'Fira Code', monospace; text-shadow: 0 0 5px #00ff00; }
.theme-button[data-theme="theme-retro"] { background: #F4F0E8; color: #000; border: 2px solid #000; font-family: 'Press Start 2P', cursive; font-size: 0.65rem; box-shadow: 4px 4px 0 #000; }
.theme-button[data-theme="theme-corporate"] { background: #f3f2ef; color: #004182; font-family: 'Vollkorn', serif; border: 1px solid #ddd; }
.theme-button[data-theme="theme-glass"] { background: linear-gradient(135deg, #f6d365 0%, #fda085 100%); color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.5); }
.theme-button[data-theme="theme-sketch"] { background: #faf8f0; color: #333; border: 2px dashed #555; font-family: 'Architects Daughter', cursive; }
.theme-button[data-theme="theme-ide"] { background: #1e1e1e; color: #569cd6; font-family: 'Fira Code', monospace; border-left: 5px solid #333; }
.theme-button[data-theme="theme-calm"] { background: #f5f3f0; color: #4E6E81; font-family: 'Nunito', sans-serif; border: 1px solid #e9e5e0; }
.theme-button[data-theme="theme-gamer"] { background: #111; color: #fff; border: 2px solid transparent; background-image: linear-gradient(#111, #111), linear-gradient(to right, red, purple); background-origin: border-box; background-clip: content-box, border-box; }
.theme-button[data-theme="theme-neubrutalism"] { background: #fff; color: #000; border: 3px solid #000; font-weight: 900; box-shadow: 3px 3px 0 #007bff; }
.theme-button[data-theme="theme-ocean"] { background: #0a2a4f; color: #fff; border: 1px solid #1a4a8a; }
.theme-button[data-theme="theme-material"] { background: #fff; color: #4285F4; border-radius: 16px; border: 1px solid #eee; }
.theme-button[data-theme="theme-solarized"] { background: #002b36; color: #839496; border: 1px solid #586e75; }


/* ==================================== */
/* 6. STILI TEMI CARD & SFONDI PAGINA   */
/* ==================================== */

/* CLASSIC */
body.theme-classic-page { background-color: #f0f2f5; }
.DevCard.theme-classic { background: #ffffff; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); border-radius: 20px; }
.DevCard.theme-classic .card-left img { border: 4px solid #e1e4e8; border-radius: 30%; }
.DevCard.theme-classic .card-header h1 { color: #1a1a1a; }
.DevCard.theme-classic .card-header h2 { color: #007bff; }
.DevCard.theme-classic .card-bio { color: #555; }
.DevCard.theme-classic .card-skills li { background-color:#f6f8fa; color: #1a1a1a; border: 1px solid #e1e4e8; }
.DevCard.theme-classic .card-socials { border-top: 1px solid #eee; }
.DevCard.theme-classic .card-socials a { color: #333; }

/* DARK */
body.theme-dark-page { background-color: #121212; }
.DevCard.theme-dark { background: #1e1e1e; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); border-radius: 20px; }
.DevCard.theme-dark .card-left img { border: 4px solid #333; border-radius: 30%; }
.DevCard.theme-dark .card-header h1 { color: #ffffff; }
.DevCard.theme-dark .card-header h2 { color: #007bff; }
.DevCard.theme-dark .card-bio { color: #ccc; }
.DevCard.theme-dark .card-skills li { background-color: #333; color: #eee; border: 1px solid #555; }
.DevCard.theme-dark .card-socials { border-top: 1px solid #444; }
.DevCard.theme-dark .card-socials a { color: #eee; }

/* MINIMAL */
body.theme-minimal-page { background-color: #ffffff; }
.DevCard.theme-minimal { background: #ffffff; box-shadow: none; border: 1px solid #eee; border-radius: 12px; }
.DevCard.theme-minimal .card-left img { border: 1px solid #eee; border-radius: 8px; }
.DevCard.theme-minimal .card-header h1 { color: #1a1a1a; }
.DevCard.theme-minimal .card-header h2 { color: #555; }
.DevCard.theme-minimal .card-bio { color: #444; }
.DevCard.theme-minimal .card-skills li { background-color: transparent; color: #333; border: none; padding-left: 0; }
.DevCard.theme-minimal .card-socials { border-top: 1px solid #eee; }
.DevCard.theme-minimal .card-socials a { color: #777; }

/* CYBERPUNK */
body.theme-cyberpunk-page { background-color: #0d0d0d; }
.DevCard.theme-cyberpunk { background: #0d0d0d; border: 1px solid #ff00ff; box-shadow: 0 0 15px #ff00ff; border-radius: 10px; font-family: 'Fira Code', monospace; }
.DevCard.theme-cyberpunk .card-left img { border: 2px solid #00ff00; border-radius: 8px; filter: grayscale(80%) brightness(1.2); }
.DevCard.theme-cyberpunk .card-header h1 { color: #00ff00; }
.DevCard.theme-cyberpunk .card-header h2 { color: #ff00ff; }
.DevCard.theme-cyberpunk .card-bio { color: #00ff00; }
.DevCard.theme-cyberpunk .card-skills li { background-color: #222; color: #00ff00; border: 1px solid #ff00ff; border-radius: 5px; border-width: 1px !important; }
.DevCard.theme-cyberpunk .card-socials { border-top: 1px solid #ff00ff; }
.DevCard.theme-cyberpunk .card-socials a { color: #ff00ff; }

/* RETRO */
body.theme-retro-page { background-color: #D4B996; }
.DevCard.theme-retro { background: #F4F0E8; border: 3px solid #000; box-shadow: 8px 8px 0px #000; border-radius: 0; }
.DevCard.theme-retro .card-left img { border: 3px solid #000; border-radius: 0; filter: grayscale(100%); }
.DevCard.theme-retro .card-header h1 { font-family: 'Press Start 2P', cursive; color: #000; font-size: 2rem; }
.DevCard.theme-retro .card-header h2 { font-family: 'Press Start 2P', cursive; color: #E60000; font-size: 1rem; }
.DevCard.theme-retro .card-bio { color: #333; }
.DevCard.theme-retro .card-skills li { background-color: #00599C; color: #fff; border: 2px solid #000; border-radius: 3px; font-family: 'Press Start 2P', cursive; font-size: 0.5rem !important; padding: 3px !important; border-width: 1px !important; }
.DevCard.theme-retro .card-socials { border-top: 3px solid #000; }
.DevCard.theme-retro .card-socials a { color: #000; }

/* CORPORATE */
body.theme-corporate-page { background-color: #f3f2ef; }
.DevCard.theme-corporate { background: #ffffff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); border-radius: 8px; }
.DevCard.theme-corporate .card-left img { border: 1px solid #ddd; border-radius: 8px; }
.DevCard.theme-corporate .card-header h1 { font-family: 'Vollkorn', serif; color: #004182; font-weight: 700; }
.DevCard.theme-corporate .card-header h2 { color: #333; font-weight: 600; }
.DevCard.theme-corporate .card-bio { color: #222; }
.DevCard.theme-corporate .card-skills li { background-color: #eef3f8; color: #004182; border: 1px solid #dbe9f6; font-weight: 600; }
.DevCard.theme-corporate .card-socials { border-top: 1px solid #ddd; }
.DevCard.theme-corporate .card-socials a { color: #555; }

/* GLASS */
body.theme-glass-page { background: linear-gradient(120deg, #f857a6 0%, #ff5858 100%); }
.DevCard.theme-glass { background: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 32x 0 rgba(31, 38, 135, 0.37); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 25px; }
.DevCard.theme-glass .card-left img { border: 3px solid rgba(255, 255, 255, 0.3); border-radius: 30%; }
.DevCard.theme-glass .card-header h1 { color: #ffffff; }
.DevCard.theme-glass .card-header h2 { color: #f0f0f0; }
.DevCard.theme-glass .card-bio { color: #ffffff; }
.DevCard.theme-glass .card-skills li { background-color: rgba(255, 255, 255, 0.25); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.1); }
.DevCard.theme-glass .card-socials { border-top: 1px solid rgba(255, 255, 255, 0.18); }
.DevCard.theme-glass .card-socials a { color: #ffffff; }
/* SKETCH */
body.theme-sketch-page { background-color: #faf8f0; }
.DevCard.theme-sketch { background: #ffffff; border: 2px solid #222; border-radius: 5px; box-shadow: 5px 5px 0px #ddd; font-family: 'Architects Daughter', cursive; }
.DevCard.theme-sketch .card-left img { border: 2px solid #222; border-radius: 5px; filter: sepia(30%); }
.DevCard.theme-sketch .card-header h1 { color: #222; }
.DevCard.theme-sketch .card-header h2 { color: #E60000; }
.DevCard.theme-sketch .card-bio { color: #333; }
.DevCard.theme-sketch .card-skills li { background-color: #fff9c4; color: #222; border: 1px dashed #999; border-radius: 5px; }
.DevCard.theme-sketch .card-socials { border-top: 2px dashed #999; }
.DevCard.theme-sketch .card-socials a { color: #333; }

/* IDE */
body.theme-ide-page { background-color: #1e1e1e; }
.DevCard.theme-ide { background: #1e1e1e; border: 1px solid #3c3c3c; border-radius: 8px; font-family: 'Fira Code', monospace; }
.DevCard.theme-ide .card-left { background-color: #252526; border-right: 1px solid #3c3c3c; }
.DevCard.theme-ide .card-left img { border: 2px solid #3c3c3c; border-radius: 8px; }
.DevCard.theme-ide .card-header h1 { color: #569cd6; }
.DevCard.theme-ide .card-header h2 { color: #dcdcaa; }
.DevCard.theme-ide .card-bio { color: #6a9955; }
.DevCard.theme-ide .card-skills li { background-color: #2d2d2d; color: #9cdcfe; border: 1px solid #3c3c3c; border-radius: 5px; }
.DevCard.theme-ide .card-socials { border-top: 1px solid #3c3c3c; }
.DevCard.theme-ide .card-socials a { color: #9cdcfe; }

/* CALM */
body.theme-calm-page { background-color: #f5f3f0; }
.DevCard.theme-calm { background: #ffffff; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); border: 1px solid #e9e5e0; border-radius: 12px; font-family: 'Nunito', sans-serif; }
.DevCard.theme-calm .card-left img { border: 4px solid #f5f3f0; border-radius: 12px; }
.DevCard.theme-calm .card-header h1 { color: #4E6E81; }
.DevCard.theme-calm .card-header h2 { color: #B85B43; }
.DevCard.theme-calm .card-bio { color: #333; }
.DevCard.theme-calm .card-skills li { background-color: #eef3f8; color: #4E6E81; border: 1px solid #dbe9f6; font-weight: 600; }
.DevCard.theme-calm .card-socials { border-top: 1px solid #e9e5e0; }
.DevCard.theme-calm .card-socials a { color: #4E6E81; }


/* NEUBRUTALISM */
body.theme-neubrutalism-page { background-color: #f5f5f5; }
.DevCard.theme-neubrutalism { background: #ffffff; border: 3px solid #000; box-shadow: 6px 6px 0px #000; border-radius: 12px; font-family: 'Inter', sans-serif; font-weight: 700; }
.DevCard.theme-neubrutalism .card-left img { border: 3px solid #000; border-radius: 8px; }
.DevCard.theme-neubrutalism .card-header h1 { color: #000; }
.DevCard.theme-neubrutalism .card-header h2 { color: #007bff; }
.DevCard.theme-neubrutalism .card-bio { color: #333; font-weight: 400; }
.DevCard.theme-neubrutalism .card-skills li { background-color: #fff; color: #000; border: 2px solid #000; border-radius: 8px; box-shadow: 2px 2px 0px #000; border-width: 1px !important; }
.DevCard.theme-neubrutalism .card-socials { border-top: 3px solid #000; }
.DevCard.theme-neubrutalism .card-socials a { color: #000; }

/* OCEAN */
body.theme-ocean-page { background-color: #020c1c; }
.DevCard.theme-ocean { background: #0a2a4f; border: 1px solid #1a4a8a; box-shadow: 0 5px 20px rgba(0,0,0,0.2); border-radius: 16px; }
.DevCard.theme-ocean .card-left img { border: 3px solid #1a4a8a; border-radius: 50%; }
.DevCard.theme-ocean .card-header h1 { color: #fff; }
.DevCard.theme-ocean .card-header h2 { color: #ff7f50; }
.DevCard.theme-ocean .card-bio { color: #ccc; }
.DevCard.theme-ocean .card-skills li { background-color: #020c1c; color: #fff; border: 1px solid #1a4a8a; }
.DevCard.theme-ocean .card-socials { border-top: 1px solid #1a4a8a; }
.DevCard.theme-ocean .card-socials a { color: #fff; }

/* MATERIAL */
body.theme-material-page { background-color: #f8f9fa; }
.DevCard.theme-material { background: #ffffff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); border-radius: 16px; font-family: 'Inter', sans-serif; }
.DevCard.theme-material .card-left img { border: 4px solid #f8f9fa; border-radius: 16px; }
.DevCard.theme-material .card-header h1 { color: #1f1f1f; }
.DevCard.theme-material .card-header h2 { color: #4285F4; }
.DevCard.theme-material .card-bio { color: #333; }
.DevCard.theme-material .card-skills li { background-color: #f1f3f4; color: #333; border: 1px solid #f1f3f4; border-radius: 8px; }
.DevCard.theme-material .card-socials { border-top: 1px solid #f1f3f4; }
.DevCard.theme-material .card-socials a { color: #5f6368; }

/* SOLARIZED */
body.theme-solarized-page { background-color: #002b36; }
.DevCard.theme-solarized { background: #073642; border: 1px solid #586e75; border-radius: 12px; font-family: 'Fira Code', monospace; }
.DevCard.theme-solarized .card-left img { border: 3px solid #586e75; border-radius: 12px; }
.DevCard.theme-solarized .card-header h1 { color: #93a1a1; }
.DevCard.theme-solarized .card-header h2 { color: #268bd2; }
.DevCard.theme-solarized .card-bio { color: #839496; }
.DevCard.theme-solarized .card-skills li { background-color: #002b36; color: #839496; border: 1px solid #586e75; }
.DevCard.theme-solarized .card-socials { border-top: 1px solid #586e75; }
.DevCard.theme-solarized .card-socials a { color: #93a1a1; }


/* ==================================== */
/* 7. ICONE SKILL COLORS (Base)         */
/* ==================================== */
.DevCard li.skill-react i { color: #61DAFB; }
.DevCard li.skill-node i { color: #68A063; }
.DevCard li.skill-python i { color: #3776AB; }
.DevCard li.skill-html i { color: #E34F26; }
.DevCard li.skill-css i { color: #1572B6; }
.DevCard li.skill-c i { color: #A8B9CC; }
.DevCard li.skill-cpp i { color: #00599C; }
.DevCard li.skill-supabase i { color: #3ECF8E; }

.DevCard.theme-cyberpunk li i, .DevCard.theme-retro li i { color: inherit !important; }
.DevCard.theme-ide li.skill-react i { color: #569cd6; }

@media (max-width: 992px) {
    .editor-container { 
        flex-direction: column; 
    }
    
    .sidebar { 
        width: 100%; 
        height: auto; 
        border-right: none; 
        border-bottom: 1px solid #374151; 
    }
    
    .preview-area { 
        height: 60vh; 
        min-height: 400px; 
        padding: 20px; 
    }
    
    .DevCard { 
        width: 95vw; 
        max-width: 500px; 
        height: auto; 
    }
    
    .theme-buttons-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .dashboard { padding: 15px; }

    .DevCard { 
        flex-direction: column; 
        align-items: center; 
        transform: scale(0.95);
        padding: 0;
    }
    
    .card-left { 
        width: 100%; 
        padding: 20px; 
        align-items: center; 
        border-bottom: 1px solid #374151;
    }
    .card-right { 
        width: 100%; 
        padding: 20px; 
        padding-top: 10px; 
        align-items: center; 
        text-align: center;
        justify-content: flex-start;
    }
    
    .card-socials { justify-content: center; }

    .theme-buttons-grid { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 8px; 
    }
}