.editor-container{background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-bottom:2rem}.editor-header{background-color:var(--bg-tertiary);padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.editor-tabs{display:flex;gap:.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-secondary);border-radius:4px 4px 0 0;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.tab.active{background-color:var(--bg-primary);border-bottom:2px solid var(--accent-blue)}.tab.error-tab{border-bottom:2px solid var(--accent-red)}.tab-close{color:var(--text-secondary);margin-left:.5rem;cursor:pointer}.tab-close:hover{color:var(--accent-red)}.editor-controls{display:flex;gap:.5rem}.control-dot{width:12px;height:12px;border-radius:50%}.control-dot.red{background-color:#ff5f56}.control-dot.yellow{background-color:#ffbd2e}.control-dot.green{background-color:#27ca3f}.editor-content{display:flex;min-height:400px;background-color:var(--bg-primary)}.line-numbers{background-color:var(--bg-secondary);padding:1rem .5rem;display:flex;flex-direction:column;gap:1.5rem;font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary);user-select:none;min-width:60px;text-align:right;border-right:1px solid var(--border-color)}.code-content{flex:1;padding:1rem;font-family:var(--font-mono);font-size:.9rem;line-height:1.5;overflow-x:auto}.code-content pre{margin:0}.keyword{color:#569cd6}.class-name{color:var(--accent-green)}.method{color:#dcdcaa}.property{color:#9cdcfe}.string{color:var(--accent-orange)}.template-literal{color:var(--accent-orange)}.comment{color:#6a9955;font-style:italic}.variable{color:#9cdcfe}.editor-terminal{background-color:var(--bg-primary);border-top:1px solid var(--border-color);min-height:120px}.terminal-header{background-color:var(--bg-tertiary);padding:.5rem 1rem;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.terminal-content{padding:1rem;font-family:var(--font-mono);font-size:.9rem}.terminal-line{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.terminal-line.error{color:var(--accent-red)}.terminal-prompt{color:var(--accent-green);font-weight:700}.terminal-command{color:var(--text-primary)}.terminal-output{color:var(--text-secondary);margin-left:1.5rem;margin-bottom:1rem}.terminal-output.error{color:var(--accent-red)}.terminal-cursor{color:var(--accent-blue);animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}100%,51%{opacity:0}}.contact-form-container{padding:2rem}.contact-intro{text-align:center;margin-bottom:2rem}.contact-intro h2{color:var(--accent-blue);margin-bottom:1rem;font-size:2rem}.contact-intro p{color:var(--text-secondary);font-size:1.1rem}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-label{display:block;color:var(--accent-yellow);font-family:var(--font-mono);font-size:.9rem;margin-bottom:.5rem}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:0;border-color:var(--accent-blue);box-shadow:0 0 0 2px rgba(0,122,204,.2)}.form-textarea{resize:vertical;min-height:120px}.form-message{margin-top:1rem;padding:1rem;border-radius:4px;font-weight:500;text-align:center;display:none}.form-message.success{background-color:rgba(76,201,176,.1);border:1px solid var(--accent-green);color:var(--accent-green)}.form-message.error{background-color:rgba(244,71,71,.1);border:1px solid var(--accent-red);color:var(--accent-red)}.about-content{padding:2rem;background-color:var(--bg-secondary);margin-top:2rem;border-radius:8px}.about-section{margin-bottom:2rem}.about-section h3{color:var(--accent-blue);margin-bottom:1rem;font-size:1.5rem}.about-section p,.about-section ul{color:var(--text-secondary);line-height:1.6}.about-section ul{list-style:none;padding-left:0}.about-section li{padding:.25rem 0;position:relative;padding-left:1.5rem}.about-section li::before{content:'▶';color:var(--accent-green);position:absolute;left:0}.portfolio-content{padding:2rem}.portfolio-intro{text-align:center;margin-bottom:3rem}.portfolio-intro h2{color:var(--accent-blue);margin-bottom:1rem;font-size:2rem}.portfolio-intro p{color:var(--text-secondary);font-size:1.1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);transition:all .2s ease}.project-card:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,122,204,.1)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.project-header h3{color:var(--accent-green);font-size:1.2rem}.project-links{display:flex;gap:.5rem}.project-link{color:var(--accent-blue);text-decoration:none;font-size:.9rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.project-link:hover{background-color:var(--hover-bg)}.project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:var(--bg-primary);color:var(--accent-yellow);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-family:var(--font-mono)}.error-content{padding:2rem;text-align:center}.error-code h1{color:var(--accent-red);font-size:2.5rem;margin-bottom:1rem}.error-message{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}.error-actions{display:flex;justify-content:center;gap:1rem}@media (max-width:768px){.editor-content{flex-direction:column}.line-numbers{display:none}.code-content{padding:1rem .5rem}.about-content,.contact-form-container,.portfolio-content{padding:1rem}.projects-grid{grid-template-columns:1fr}.project-header{flex-direction:column;gap:.5rem}.error-actions{flex-direction:column;align-items:center}.hero-actions{flex-direction:column}}