:root{--clr-bg-image:url('img/wallpapers/kali-small-logo.jpg');--clr-window-bg:rgba(40, 42, 54, 0.85);--clr-taskbar-bg:rgba(10,10,15,0.8);--clr-primary:#8be9fd;--clr-secondary:#f8f8f2;--clr-accent:#50fa7b;--clr-cursor:#ff79c6;--clr-comment:#6272a4;--clr-dir:#bd93f9;--font-primary:'Roboto Mono',monospace;--title-bar-height:35px;--taskbar-height:30px}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--clr-primary) var(--clr-window-bg)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:0 0}
::-webkit-scrollbar-thumb{background-color:var(--clr-primary);border-radius:4px}
body,html{margin:0;padding:0;height:100%;font-family:var(--font-primary)}
#taskbar{position:fixed;top:0;left:0;width:100%;height:var(--taskbar-height);background-color:var(--clr-taskbar-bg);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 15px;z-index:2000;color:var(--clr-secondary);font-size:0.9em}
.taskbar-section{display:flex;align-items:center;gap:12px}
.taskbar-icon{width:20px;height:20px;cursor:pointer}
.taskbar-separator{color:var(--clr-comment)}
.workspaces{display:flex;gap:5px;border:1px solid var(--clr-comment);border-radius:3px;padding:2px}
.workspace{padding:0 8px;font-size:0.8em;border-radius:2px}
.workspace.active{background-color:var(--clr-primary);color:#000}
.taskbar-btn{cursor:pointer;padding:3px 8px;border-radius:3px;transition:all .2s ease;font-size:.9em;border:1px solid transparent;background:0 0;color:var(--clr-secondary);font-family:var(--font-primary)}
.taskbar-btn:hover{background-color:rgba(255,255,255,.1);border-color:var(--clr-comment)}
.taskbar-btn.locked{opacity:.5;cursor:not-allowed}
#app-menu{position:absolute;top:var(--taskbar-height);left:5px;width:300px;background-color:var(--clr-window-bg);backdrop-filter:blur(12px);border:1px solid var(--clr-comment);border-radius:0 0 8px 8px;z-index:1999;color:var(--clr-secondary);padding:10px;font-size:0.9em}
#app-menu ul{list-style:none;margin:0;padding:0 0 10px 0}
#app-menu li{padding:5px 10px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:10px}
#app-menu li:hover, #app-menu li:focus{background-color:var(--clr-primary);color:#000; outline: none;}
#app-menu h4{margin:10px 0 5px;color:var(--clr-accent);font-weight:normal;border-bottom:1px solid var(--clr-comment);padding-bottom:5px}
.desktop-background{width:100vw;height:100vh;padding-top:var(--taskbar-height);background-image:var(--clr-bg-image);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.desktop-icons-container{position:absolute;top:calc(var(--taskbar-height) + 5%);display:flex;flex-direction:column;gap:25px;align-items:center}
.desktop-icons-container.left{left:2%}
.desktop-icons-container.right{right:2%}
.desktop-icon{color:var(--clr-secondary);text-align:center;cursor:pointer;width:100px;padding:5px;border-radius:4px;transition:background-color .2s ease}
.desktop-icon:hover{background-color:rgba(255,255,255,.1)}
.desktop-icon:focus{outline:2px solid var(--clr-primary);background-color:rgba(139,233,253,0.2)}
.desktop-icon-img{width:50px;height:50px;margin:0 auto 8px;background-size:contain;background-repeat:no-repeat;background-position:center}
.icon-file{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8f8f2' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpolyline points='13 2 13 9 20 9'/%3E%3C/svg%3E")}
.icon-terminal{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8f8f2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 17 10 11 4 5'/%3E%3Cline x1='12' y1='19' x2='20' y2='19'/%3E%3C/svg%3E")}
.icon-folder{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8f8f2' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}
.icon-chatbot{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8f8f2' stroke-width='1'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='m12 6 0.22 0.49.49 0.22.49-0.22L13.41 6l-0.22-.49L12.7 5.29l-.49.22Z'/%3E%3Cpath d='m15.5 9.5 0.15 0.33.33 0.15-.33.15-.15.33-.15-.33-.33-.15.33-.15.15-.33Z'/%3E%3Cpath d='m8.5 9.5 0.15 0.33.33 0.15-.33.15-.15.33-.15-.33-.33-.15.33-.15.15-.33Z'/%3E%3C/svg%3E")}
.desktop-icon-label{font-size:.8em;word-wrap:break-word}
.terminal-window{width:90vw;height:85vh;max-width:1000px;background-color:var(--clr-window-bg);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.6);overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(12px) saturate(120%);z-index:10}
.title-bar{height:var(--title-bar-height);display:flex;align-items:center;justify-content:space-between;padding:0 10px;flex-shrink:0}
.title-bar-text{color:var(--clr-secondary);font-size:.9em}
.title-bar-buttons{display:flex; gap: 5px; align-items: center;}
.modal-close{color:var(--clr-secondary);font-size:1.5em;cursor:pointer;line-height:1;padding:0 5px}
#terminal{flex-grow:1;padding:1rem 1.5rem;overflow-y:auto;word-break:break-word;color:var(--clr-secondary);font-size:16px}
.line{white-space:pre-wrap;margin-bottom:.25rem}
.line-accent{color:var(--clr-accent)}
.line-primary{color:var(--clr-primary)}
.line-secondary{color:var(--clr-secondary)}
.line-comment{color:var(--clr-comment)}
.line-dir{color:var(--clr-dir);font-weight:700}
.prompt{color:var(--clr-secondary)}
.prompt-user{color:var(--clr-primary)}
.input-line{display:flex;align-items:center}
.input-line .prompt{margin-right:.5rem}
.input-line .input-wrapper{display:flex;align-items:center;flex-grow:1}
.input-line input{flex-grow:1;background:0 0;border:none;outline:0;color:var(--clr-secondary);font-family:inherit;font-size:inherit;padding:0}
.cursor{display:inline-block;width:10px;height:1.2rem;background-color:var(--clr-cursor);vertical-align:middle;animation:blink 1s infinite}
a{color:var(--clr-accent);text-decoration:none;border-bottom:1px dashed var(--clr-accent)}
a:hover{background-color:rgba(80,250,123,.1)}
pre{font-family:var(--font-primary)}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}
.hidden{display:none}
.modal-window{width:80vw;height:70vh;max-width:800px;background-color:var(--clr-window-bg);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.6);display:flex;flex-direction:column;backdrop-filter:blur(12px) saturate(120%)}
.modal-header{height:var(--title-bar-height);display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}
.modal-title{color:var(--clr-secondary);font-size:.9em}
#modal-content{flex-grow:1;padding:1rem 1.5rem;overflow-y:auto;white-space:pre-wrap;color:var(--clr-secondary)}
#modal-content iframe{display:block;width:100%;max-width:560px;aspect-ratio:16 / 9;border:none;margin:0 auto 1.5rem auto;border-radius:4px}
.career-question{background-color:rgba(145,158,209,.2);padding:12px 15px;margin-bottom:10px;border-radius:5px;cursor:pointer;border-left:3px solid var(--clr-primary);transition:background-color .2s ease,border-color .2s ease}
.career-question:hover{background-color:rgba(145,158,209,.4);border-color:var(--clr-accent)}
.ai-powered-by{font-size:0.75em;color:var(--clr-comment);text-align:right;margin-top:20px;font-style:italic}
.ai-disclaimer{font-size:0.8em;font-style:italic;color:var(--clr-comment);margin-top:-5px;margin-bottom:15px}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.ls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:5px 15px}
.ls-grid span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-json{color:var(--clr-accent)}
.file-md{color:var(--clr-primary)}
.file-txt{color:var(--clr-secondary)}
.file-url{color:var(--clr-dir)}
#kali-context-menu{position:fixed;display:none;z-index:3000;background-color:var(--clr-window-bg);border:1px solid var(--clr-comment);border-radius:8px;backdrop-filter:blur(12px);box-shadow:0 5px 15px rgba(0,0,0,.5);padding:5px;font-size:.9em;width:250px}
#kali-context-menu ul{list-style:none;margin:0;padding:0;color:var(--clr-secondary)}
#kali-context-menu li{padding:8px 12px;cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:10px;position:relative}
#kali-context-menu li:hover{background-color:var(--clr-primary);color:#000}
#kali-context-menu li svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}
#kali-context-menu li.separator{padding:2px 0;cursor:default}
#kali-context-menu li.separator:hover{background-color:transparent}
#kali-context-menu li.separator hr{width:100%;border:none;border-top:1px solid var(--clr-comment);opacity:.5}
#kali-context-menu li.has-submenu::after{content:'▸';position:absolute;right:10px;color:currentColor;opacity:.7}
#modal-content .easter-egg-art{font-family:var(--font-primary);color:var(--clr-cursor);white-space:pre;font-size:12px;line-height:1.2;letter-spacing:0;text-align:left;margin-bottom:1rem}
.submenu{display:none;position:absolute;top:-5px;left:98%;width:220px;list-style:none;padding:5px;margin:0;background-color:var(--clr-window-bg);border:1px solid var(--clr-comment);border-radius:8px;backdrop-filter:blur(12px);box-shadow:5px 5px 15px rgba(0,0,0,.3)}
#ctx-applications:hover > .submenu,#ctx-documents:hover > .submenu{display:block}
.submenu li a{display:flex;align-items:center;gap:10px;color:var(--clr-secondary);text-decoration:none;padding:8px 12px;border-radius:4px}
.submenu li a:hover{background-color:var(--clr-primary);color:#000}
.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:25px;padding-top:1rem}
.app-item{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;padding:10px;border-radius:4px;transition:background-color .2s ease}
.app-item:hover{background-color:rgba(255,255,255,.1)}
.app-item-icon{width:50px;height:50px;margin-bottom:8px;background-size:contain;background-repeat:no-repeat;background-position:center}
.app-item-label{font-size:.8em;color:var(--clr-secondary);word-wrap:break-word}
#welcome-modal-content p, #welcome-modal-content ul { margin: 0 0 1.2rem 0; line-height: 1.6; color: var(--clr-secondary); }
#welcome-modal-content p:first-child { margin-top: 0.5rem; }
#welcome-modal-content ul { padding: 0; list-style: none; margin-bottom: 1.5rem;}
#welcome-modal-content li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 0.8rem; }
.welcome-icon { width: 16px; height: 16px; flex-shrink: 0; color: var(--clr-accent); margin-top: 5px; }
.welcome-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 0 1.5rem 1rem; }
.welcome-btn { font-family: var(--font-primary); font-size: 0.9em; padding: 10px 20px; border-radius: 5px; border: none; cursor: pointer; transition: background-color 0.2s ease, transform 0.1s ease; }
.welcome-btn:active { transform: scale(0.98); }
.welcome-btn.primary { background-color: var(--clr-accent); color: #000; font-weight: bold; }
.welcome-btn.primary:hover { background-color: #8affc1; }
.welcome-btn.secondary { background-color: var(--clr-comment); color: var(--clr-secondary); }
.welcome-btn.secondary:hover { background-color: #7a89b8; }
.resume-content-view { color: var(--clr-secondary); padding: 1rem 2rem; overflow-y: auto; }
.resume-content-view h1, .resume-content-view h2, .resume-content-view h3 { font-weight: normal; margin-block: 1.5em 0.8em; }
.resume-content-view h1 { color: var(--clr-primary); font-size: 2em; text-align: center; border-bottom: 1px solid var(--clr-comment); padding-bottom: 0.5em; margin-bottom: 1em; }
.resume-content-view h2 { color: var(--clr-accent); font-size: 1.4em; border-bottom: 1px solid var(--clr-comment); padding-bottom: 0.3em; }
.resume-content-view h3 { color: var(--clr-primary); font-size: 1.1em; }
.resume-content-view p { line-height: 1.6; margin-bottom: 1em; }
.resume-content-view ul { list-style: disc; padding-left: 25px; margin-bottom: 1em; }
.resume-content-view li { margin-bottom: 0.5em; }
.resume-section { margin-bottom: 2em; }
.resume-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.job, .education, .certification-item { margin-bottom: 1.5rem; }
.job-header, .education-header { margin-bottom: 0.5rem; }
.job-title, .education-title { font-size: 1.1em; font-weight: bold; color: var(--clr-secondary); }
.job-company, .education-institution { font-size: 1em; color: var(--clr-primary); }
.job-period, .education-period { font-size: 0.9em; color: var(--clr-comment); font-style: italic; }
.skills-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.skill-category h3 { margin-bottom: 0.5em; }
.modal-window.modal-window-small { width: 90vw; max-width: 450px; height: auto; min-height: 0; }
.modal-window.modal-window-small #modal-content { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 120px; padding: 1rem 1.5rem; }

@page { margin: 2cm; }
@media print {
    body, html { background: none !important; color: #000 !important; }
    body > *:not(#resume-modal-overlay) { display: none !important; }
    #resume-modal-overlay, #resume-modal-overlay > .modal-window { display: block !important; position: static !important; width: 100% !important; height: auto !important; box-shadow: none !important; border: none !important; background: none !important; overflow: visible !important; }
    .resume-content-view { display: block !important; padding: 0 !important; margin: 0 !important; color: #000 !important; border: none !important; --clr-primary: #000; --clr-secondary: #000; --clr-accent: #000; }
    .modal-header { display: none !important; }
    a, a:visited { text-decoration: underline !important; color: #000 !important; }
    a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
    h1, h2, h3, .job, .education { page-break-after: avoid; page-break-inside: avoid; }
    .skills-grid, .resume-contact-grid { display: block !important; }
}

/* --- Estilos Responsivos para Dispositivos Móveis --- */
@media (max-width: 768px) {
    /* Ajustes na Taskbar */
    #taskbar {
        padding: 0 10px;
        font-size: 0.8em;
    }
    .taskbar-section {
        gap: 8px; /* Reduz o espaçamento entre ícones */
    }
    .workspaces, .taskbar-separator, #taskbar-clock {
        display: none; /* Oculta elementos para economizar espaço */
    }

    /* Reorganiza os Ícones da Área de Trabalho */
    .desktop-background {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: calc(var(--taskbar-height) + 20px) 10px 10px;
        gap: 0;
        overflow-y: auto; /* Permite rolar se os ícones não couberem */
    }
    .desktop-icons-container {
        position: static; /* Remove o posicionamento absoluto */
        flex-direction: row; /* Coloca ícones em linha */
        flex-wrap: wrap; /* Permite que quebrem a linha */
        justify-content: flex-start;
        gap: 15px;
        width: 100%;
        height: auto;
        padding-bottom: 15px;
    }
     .desktop-icons-container.right {
        border-top: 1px solid var(--clr-comment);
        padding-top: 15px;
    }
    .desktop-icon {
        width: 80px; /* Ícones um pouco menores */
        gap: 5px;
    }
    .desktop-icon-img {
        width: 40px;
        height: 40px;
    }

    /* Janelas (Terminal e Modais) */
    .terminal-window, .modal-window {
        width: 98vw;
        height: 85vh;
        top: 35px !important; /* Ajusta a posição para não ficar fora da tela */
        left: 1vw !important;
    }
    #terminal, #modal-content {
        font-size: 14px;
        padding: 0.8rem;
    }
    #kali-context-menu {
        width: 220px;
    }

    /* Ajustes no Currículo Modal */
    .resume-content-view {
        padding: 1rem;
    }
    .resume-content-view h1 {
        font-size: 1.6em;
    }
    .resume-contact-grid, .skills-grid {
        grid-template-columns: 1fr; /* Coluna única para grids */
    }
}

.file-mission-target {
    color: var(--clr-accent);
    font-weight: bold;
}


#simple-mode-taskbar-btn {
    
    background-color: rgba(80, 250, 123, 0.2); 
    border: 1px solid var(--clr-accent);
    color: var(--clr-accent);
    font-weight: bold;
  }
  
  #simple-mode-taskbar-btn:hover {
   
    background-color: rgba(80, 250, 123, 0.4);
    color: #000;
  }