:root{--bg-color:#0d1117;--text-color:#c9d1d9;--primary-color:#58a6ff;--success-color:#2ea043;--warning-color:#d29922;--error-color:#f85149;--border-color:#30363d;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", Courier, monospace;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--terminal-bg:#010409}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#484f58}#root{flex-direction:column;min-height:100vh;display:flex}.boot-sequence{background-color:var(--terminal-bg);width:100vw;height:100vh;color:var(--text-color);font-family:var(--font-mono);flex-direction:column;padding:2rem;font-size:1.1rem;display:flex}.terminal-content{max-width:800px}.terminal-line{margin-bottom:.5rem;animation:.1s ease-in fadeIn}.cursor{background-color:var(--text-color);width:10px;height:1.2rem;animation:1s step-end infinite blink;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.main-layout{width:100vw;min-height:100vh;display:flex;position:relative}.portfolio-content{z-index:10;width:100%;max-width:1400px;margin:0 auto;display:flex;position:relative}.main-content-area{flex-direction:column;flex:1;height:100vh;padding:0 2rem;display:flex;overflow-y:auto}.main-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem 0 1.5rem;animation:.3s ease-out fadeIn;display:flex}.name-bold{font-family:var(--font-sans);letter-spacing:-.02em;background:linear-gradient(90deg,#c9d1d9,#58a6ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .5rem;font-size:2.2rem;font-weight:800}.contact-links{flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.85rem;display:flex}.contact-links .separator{color:var(--border-color)}.cv-btn{white-space:nowrap;background:#58a6ff1a;border:1px solid #58a6ff4d;border-radius:4px;padding:.2rem .6rem;font-weight:700;transition:all .2s;display:inline-block;color:var(--primary-color)!important;text-decoration:none!important}.cv-btn:hover{border-color:var(--primary-color);background:#58a6ff33}.terminal-btn{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;font-family:var(--font-mono);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d1117b3;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1rem;transition:all .2s;display:flex}.terminal-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#ffffff1a}.terminal-btn .icon{font-weight:700}.content-wrapper{flex-grow:1}.main-footer{border-top:1px solid var(--border-color);text-align:center;color:#8b949e;margin-top:4rem;padding:2rem 0;font-size:.85rem}.main-footer .copyright{font-family:var(--font-mono);color:#484f58;margin-top:.5rem;font-size:.75rem}@media (width<=768px){.portfolio-content{flex-direction:column}.main-content-area{height:calc(100vh - 60px);padding:1rem}}.observability-bg{z-index:1;pointer-events:none;background-color:var(--bg-color);width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.grid-overlay{background-image:linear-gradient(90deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-size:50px 50px;width:100%;height:100%;position:absolute;top:0;left:0}.traces-container{width:100%;height:150%;transition:transform .1s ease-out;position:absolute;top:-25%}.trace-line{background:linear-gradient(90deg, transparent, var(--primary-color), transparent);width:200px;height:2px;animation:8s linear infinite traceMove;position:absolute;left:-200px}.logs-container{width:300px;font-family:var(--font-mono);opacity:.15;font-size:.75rem;transition:transform .1s ease-out;position:absolute;bottom:2rem;right:2rem}.log-line{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;overflow:hidden}.log-line.success{color:var(--success-color)}.log-line.warning{color:var(--warning-color)}@keyframes traceMove{0%{left:-200px}to{left:100vw}}.navigation-sidebar{border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#010409b3;width:250px;height:100vh;padding:1.5rem 0;position:sticky;top:0}.nav-header{border-bottom:1px solid var(--border-color);color:var(--text-color);margin-bottom:1rem;padding:0 1.5rem 1rem;font-size:.9rem}.server-status{align-items:center;gap:.5rem;display:flex}.status-dot{background-color:var(--success-color);width:8px;height:8px;box-shadow:0 0 8px var(--success-color);border-radius:50%}.nav-links{flex-direction:column;display:flex}.nav-link{text-align:left;cursor:pointer;font-family:var(--font-mono);color:var(--text-color);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.9rem;transition:all .2s;display:flex}.nav-link:hover{background-color:#ffffff0d}.nav-link.active{border-left-color:var(--success-color);background-color:#2ea0431a}.method{font-size:.8rem;font-weight:700}.method.get{color:var(--primary-color)}.method.post{color:var(--warning-color)}.path{opacity:.8}@media (width<=768px){.navigation-sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;height:auto;padding:1rem 0;position:relative}.nav-links{flex-direction:row;overflow-x:auto}.nav-link{white-space:nowrap;border-bottom:3px solid #0000;border-left:none;padding:.5rem 1rem}.nav-link.active{border-left-color:#0000;border-bottom-color:var(--success-color)}}.page-container{max-width:900px;animation:.3s ease-in fadeIn}.api-header{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.api-header h2{color:var(--primary-color);margin:0;font-size:1.5rem}.status-badge{color:var(--success-color);background-color:#2ea04333;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.time-badge{color:var(--text-color);background-color:#ffffff1a;border-radius:4px;padding:.2rem .6rem;font-size:.8rem}.json-container{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#010409cc;border-radius:8px;padding:1.5rem;overflow-x:auto}.json-code{font-family:var(--font-mono);color:#e6edf3;font-size:.9rem;line-height:1.6}.json-item{transition:background-color .2s}.json-item:hover{background-color:#ffffff0d}.services-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;display:grid}.service-card{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#010409b3;border-radius:8px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.service-card:hover{border-color:#58a6ff66;transform:translateY(-2px);box-shadow:0 4px 20px #0006}.service-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.service-header h3{color:var(--text-color);margin:0;font-size:1.2rem}.service-status{color:var(--success-color);background-color:#2ea0431a;border-radius:4px;align-items:center;gap:.4rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:flex}.status-dot.pulsing{animation:2s infinite pulse}.service-desc{font-family:var(--font-sans);color:#8b949e;flex-grow:1;margin-bottom:1.5rem;font-size:.9rem}.metrics-grid{background-color:#ffffff08;border-radius:6px;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:grid}.metric{flex-direction:column;gap:.2rem;display:flex}.metric-label{color:#8b949e;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.metric-value{color:var(--text-color);font-size:1.1rem;font-weight:700}.tech-stack{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tech-tag{color:var(--primary-color);background-color:#58a6ff1a;border:1px solid #58a6ff33;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.service-logs{border:1px solid var(--border-color);background-color:#010409;border-radius:4px;padding:.8rem;font-size:.75rem}.log-header{color:#8b949e;border-bottom:1px dashed var(--border-color);margin-bottom:.5rem;padding-bottom:.3rem}.log-entry{gap:.5rem;margin-bottom:.3rem;display:flex}.log-entry:last-child{margin-bottom:0}.log-timestamp{color:var(--success-color);white-space:nowrap}.log-message{color:#e6edf3}@keyframes pulse{0%{opacity:1;box-shadow:0 0 #2ea04366}70%{opacity:.7;box-shadow:0 0 0 4px #2ea04300}to{opacity:1;box-shadow:0 0 #2ea04300}}.status-badge.pending{color:var(--warning-color);background-color:#d2992233}.contact-container{max-width:600px}.contact-form{border:1px solid var(--border-color);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-family:var(--font-mono);background-color:#010409cc;border-radius:8px;padding:2rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group label{color:var(--primary-color);font-size:.9rem}.form-group input,.form-group textarea{border:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-mono);background-color:#ffffff0d;border-radius:4px;padding:.8rem;font-size:.9rem;transition:border-color .2s,background-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);background-color:#ffffff14;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#484f58}.submit-btn{color:var(--success-color);border:1px solid var(--success-color);font-family:var(--font-mono);cursor:pointer;background-color:#2ea0431a;border-radius:4px;width:100%;padding:.8rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s}.submit-btn:hover:not(:disabled){background-color:#2ea04333}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-content{justify-content:center;align-items:center;gap:.5rem;display:flex}.spinner{border:2px solid #2ea0434d;border-top-color:var(--success-color);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.response-container{border:1px solid var(--success-color);font-family:var(--font-mono);background-color:#010409e6;border-radius:8px;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 0 20px #2ea0431a}.http-response-header{color:#8b949e;border-bottom:1px dashed var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem;font-size:.9rem;line-height:1.6}.http-status{color:var(--success-color);font-weight:700}.http-response-body{color:#e6edf3;margin-bottom:2rem;font-size:.95rem;line-height:1.5}.reset-btn{border:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem 1rem;transition:all .2s}.reset-btn:hover{border-color:var(--text-color);background-color:#ffffff0d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.ghostty-terminal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1117d9;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;width:900px;max-width:95vw;height:600px;animation:.2s ease-out scaleIn;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000080,inset 0 1px #ffffff1a}.ghostty-header{background:#ffffff08;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;height:38px;display:flex;position:relative}.window-title{color:#8b949e;font-size:.85rem;font-family:var(--font-sans)}.ghostty-content{font-family:var(--font-mono);color:#c9d1d9;flex-grow:1;padding:1.5rem;font-size:.9rem;overflow-y:auto}.fastfetch-output{gap:2rem;margin-bottom:1.5rem;display:flex}.ascii-art pre{color:#58a6ff;font-size:.85rem;font-weight:700;line-height:1.1}.sys-info{flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.info-line .key{color:#58a6ff;font-weight:700}.info-line .value{color:#c9d1d9}.separator{color:#484f58}.color-blocks{gap:.3rem;margin-top:.5rem;display:flex}.c-block{border-radius:2px;width:16px;height:16px}.c1{background-color:#0d1117}.c2{background-color:#f85149}.c3{background-color:#2ea043}.c4{background-color:#d29922}.c5{background-color:#58a6ff}.c6{background-color:#a371f7}.c7{background-color:#c9d1d9}.history-item{margin-bottom:.5rem}.prompt{align-items:center;gap:.5rem;display:flex}.prompt-form{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.user-host{color:#2ea043;font-weight:700}.terminal-input{color:#c9d1d9;font-family:var(--font-mono);background:0 0;border:none;outline:none;flex-grow:1;font-size:.9rem}.cmd-text{color:#c9d1d9}.cmd-output{margin-top:.2rem;margin-bottom:1rem}.ls-output{gap:1.5rem;display:flex}.ls-output .dir{color:#58a6ff;font-weight:700}.ls-output .file{color:#c9d1d9}.error{color:#f85149}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ghostty-content::-webkit-scrollbar{width:8px}.ghostty-content::-webkit-scrollbar-track{background:0 0}.ghostty-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.ghostty-content::-webkit-scrollbar-thumb:hover{background:#fff3}
