:root{--main-color: #d8d2e1;--secondary-color: #2d2d2a;--nav-bg-color: #1c1d21;--link-color: #f0b729;--last-color: #a4d2d1;--active-color: #e5dcc5;--primary-color: #586ba4;--accent-color: #ffe74c;--text-color: #c14953;--accent-color-2: #f78764}*{margin:0;padding:0;box-sizing:border-box}body{color:#fff;width:100%;min-height:100vh;background:#1c1d21;font-family:Space Mono,JetBrains Mono,Fira Code,monospace;font-size:17px;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:orange;text-decoration:none}.app-container{width:min(1040px,100% - 2rem);margin:2rem auto 3rem}header,footer{display:none}.terminal-portfolio{display:grid;gap:1.5rem}.terminal-banner{position:relative;border-radius:14px;overflow:hidden;height:clamp(220px,28vw,300px);max-height:300px;border:1px solid rgba(196,255,124,.28);background:radial-gradient(circle at 20% 20%,rgba(0,191,165,.26),transparent 48%),radial-gradient(circle at 80% 10%,rgba(145,145,145,.25),transparent 45%),#0c1117}.terminal-banner-image{width:100%;height:100%;object-fit:cover;opacity:.2;filter:saturate(120%) contrast(105%) brightness(1.08)}.terminal-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:.6rem;background:linear-gradient(160deg,#0b0f1347,#0b0f1385)}.terminal-banner-ascii{color:#f5ffd8;font-family:Space Mono,monospace;font-weight:700;line-height:1.22;letter-spacing:0;white-space:pre;margin:0;text-shadow:0 2px 10px rgba(11,15,19,.88),0 0 14px rgba(124,246,211,.2)}.terminal-banner-overlay p{color:#a1ff00;font-size:.8rem;letter-spacing:.12em}.terminal-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(550px,70vh);max-height:550px;border:1px solid rgba(196,255,124,.34);border-radius:14px;background:#0b0f13;box-shadow:0 24px 50px #00000059;overflow:hidden}.terminal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid rgba(196,255,124,.25);background:linear-gradient(90deg,#c4ff7c14,#00bfa50f)}.terminal-dots{display:inline-flex;gap:.45rem}.terminal-dots span{width:10px;height:10px;border-radius:50%;display:block}.terminal-dots span:nth-child(1){background:#ff5f57}.terminal-dots span:nth-child(2){background:#febc2e}.terminal-dots span:nth-child(3){background:#28c840}.terminal-title{color:#a1ff00;font-size:1.15rem;font-family:Datatype,monospace;font-weight:700;letter-spacing:3px}.terminal-output{min-height:0;overflow-y:auto;padding:1.1rem;display:grid;gap:.65rem;align-content:start;scrollbar-width:thin;scrollbar-color:rgba(124,246,211,.45) rgba(196,255,124,.08)}.terminal-output::-webkit-scrollbar{width:11px}.terminal-output::-webkit-scrollbar-track{background:#c4ff7c14;border-left:1px solid rgba(196,255,124,.12)}.terminal-output::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7cf6d3db,#00bfa5b8);border-radius:999px;border:2px solid rgba(11,15,19,.9)}.terminal-output::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c4ff7ceb,#7cf6d3db)}.terminal-line{color:#eeffd3;line-height:1.6;font-size:1rem;letter-spacing:.5px;word-break:break-word;font-family:Oxanium,sans-serif}.terminal-line-command{color:#9afee0;font-family:Oxanium,sans-serif}.terminal-command-prompt{color:#9afee0}.terminal-command-text{color:#a1ff00}.terminal-line-help{color:#d7ffb0;letter-spacing:1px}.terminal-help-label{color:#dbd86c;font-family:Oxanium,sans-serif;letter-spacing:1px}.terminal-project-line-title{color:#d7ffb0;font-family:Oxanium,sans-serif;letter-spacing:.5px}.terminal-project-line-number{color:#dbd86c;font-family:Oxanium,sans-serif;letter-spacing:.5px}.terminal-project-line-desc{color:#eeffd3}.terminal-about-marker{color:#a1ff00}.terminal-about-label{color:#c9ff9a;font-family:Oxanium,sans-serif;letter-spacing:1px}.terminal-resume-label{color:#dbd86c;font-family:Oxanium,sans-serif;letter-spacing:1px}.terminal-skill-label{color:#dbd86c;font-family:Oxanium,sans-serif;font-size:1rem;font-weight:500;letter-spacing:1px}.terminal-block{border-left:3px solid rgba(124,246,211,.45);padding-left:.75rem;display:grid;gap:.2rem}.terminal-block-title{color:#ffd9a6;font-weight:500;font-size:1.2rem;letter-spacing:1px;margin-bottom:.2rem}.terminal-block-title-link{cursor:pointer}.terminal-block-title-link:hover{color:#ffe9ca;text-decoration:underline;text-underline-offset:3px}.terminal-block-title-link:focus-visible{outline:1px solid rgba(196,255,124,.7);outline-offset:2px}.terminal-block-error{border-left-color:#ff5f57b8}.terminal-block-social{border-left-color:#a1ff008c}.terminal-line-social{display:flex;flex-wrap:wrap;gap:.15rem;align-items:baseline}.terminal-social-icon{color:#dbd86c;font-size:1.2rem;display:inline-flex;align-items:center;margin-right:.18rem}.terminal-social-label{color:#d7ffb0}.terminal-social-link,.terminal-email-link{color:#c9ff9a;text-decoration:underline;text-underline-offset:3px}.terminal-email-link:hover{color:#e9ffe6}.terminal-social-link:hover{color:#c7fff0}.terminal-input-form{border-top:1px solid rgba(196,255,124,.24);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;padding:.95rem 1rem}.terminal-prompt{color:#9afee0;white-space:nowrap;font-size:1rem;font-family:Oxanium,sans-serif;letter-spacing:2px}.terminal-input{border:none;background:transparent;color:#f8ffe5;font-family:inherit;font-size:1rem;font-weight:500;width:100%}.terminal-input:focus{outline:none}.terminal-input::placeholder{color:#f8ffe59e}.terminal-project-browser{border:1px solid rgba(196,255,124,.3);border-radius:14px;background:linear-gradient(25deg,#2136062c,#02332c25);box-shadow:0 20px 40px #00000047;padding:1rem;gap:.9rem}.terminal-project-browser-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem}.terminal-project-browser-title{color:#c9ff9a;font-size:1rem;font-weight:700;letter-spacing:.08em}.terminal-project-browser-count{color:#9afee0;font-size:.9rem;letter-spacing:.04em}.terminal-project-browser-controls{display:inline-flex;gap:.45rem}.terminal-project-nav-button{border:1px solid rgba(154,254,224,.45);background:#7cf6d31f;color:#e9ffe6;border-radius:8px;padding:.32rem .7rem;margin-bottom:10px;font-family:Space Mono,monospace;font-size:.84rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.terminal-project-nav-button:hover{background:#c4ff7c33;border-color:#c4ff7cb8}.terminal-project-nav-button:disabled{background:#7cf6d30d;border-color:#9afee033;color:#e9ffe673;cursor:not-allowed;opacity:.75}.terminal-project-nav-button:disabled:hover{background:#7cf6d30d;border-color:#9afee033}.terminal-project-card{border:1px solid rgba(196,255,124,.24);border-radius:12px;padding:1rem;display:grid;gap:.75rem;margin-top:10px;background:#090e12bf}.terminal-project-card-title{color:#f0ffd5;font-size:1.15rem;font-weight:700;letter-spacing:.03em}.terminal-project-card-description{color:#eeffd3;font-size:.94rem;line-height:1.55}.terminal-project-card-subtitle{color:#dbd86c;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.terminal-project-card-features{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.terminal-project-card-features li{color:#eefed7;font-size:.92rem;line-height:1.45}.terminal-project-card-stack{display:flex;flex-wrap:wrap;gap:.45rem}.terminal-project-card-stack-tag{border:1px solid rgba(196,255,124,.42);color:#e8ffd5;background:#9afee02e;border-radius:8px;padding:.35rem .68rem;font-size:.8rem;letter-spacing:.05em}.terminal-project-card-links{display:flex;flex-wrap:wrap;gap:.55rem}.terminal-project-card-link{border:1px solid rgba(196,255,124,.42);background:#c4ff7c1f;color:#e8ffd5;border-radius:8px;padding:.35rem .68rem;font-size:.8rem;letter-spacing:.03em;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.terminal-project-card-link:hover{background:#9afee02e;border-color:#9afee0b8}.terminal-project-card-image{width:100%;border-radius:10px;border:1px solid rgba(196,255,124,.24);object-fit:cover;max-height:400px}.terminal-contact-optin-form{display:grid;gap:.6rem;margin-top:.15rem}.terminal-contact-optin-input{border:1px solid rgba(196,255,124,.35);background:#0b0f13d1;color:#e8ffd5;border-radius:8px;padding:.52rem .62rem;font-family:Oxanium,sans-serif;font-size:.92rem}.terminal-contact-optin-input:focus{outline:1px solid rgba(154,254,224,.8);outline-offset:1px}.terminal-contact-optin-input::placeholder{color:#e8ffd594}.terminal-contact-message-input{border:1px solid rgba(196,255,124,.35);background:#0b0f13d1;color:#e8ffd5;border-radius:8px;padding:.62rem;font-family:Oxanium,sans-serif;font-size:.92rem;resize:vertical;min-height:110px}.terminal-contact-message-input:focus{outline:1px solid rgba(154,254,224,.8);outline-offset:1px}.terminal-contact-message-input::placeholder{color:#e8ffd594}.terminal-contact-optin-consent{display:inline-flex;align-items:flex-start;gap:.45rem;color:#eeffd3;font-size:.85rem;line-height:1.4}.terminal-contact-optin-consent input{margin-top:.15rem;accent-color:#a1ff00}.terminal-contact-optin-button{justify-self:start;border:1px solid rgba(196,255,124,.42);background:#c4ff7c1f;color:#e8ffd5;border-radius:8px;padding:.35rem .68rem;font-size:.8rem;letter-spacing:.03em;font-family:Space Mono,monospace;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.terminal-contact-optin-button:hover{background:#9afee02e;border-color:#9afee0b8}.terminal-contact-optin-message{color:#c9ff9a;font-size:.85rem;line-height:1.4;margin-top:-.1rem}.terminal-skills-browser{border:1px solid rgba(196,255,124,.3);border-radius:14px;background:linear-gradient(180deg,#0b0f13f0,#0b0f13e0);box-shadow:0 20px 40px #00000047;padding:1rem;gap:.9rem}.terminal-skill-bars{display:grid;gap:.85rem}.terminal-skills-browser .terminal-project-browser-header{grid-template-columns:1fr auto auto}.terminal-skill-row{display:grid;gap:.35rem}.terminal-skill-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center}.terminal-skill-name{color:#dbd86c;font-size:1rem;letter-spacing:1px}.terminal-skill-value{color:#9afee0;font-size:1.01rem;font-family:Oxanium,sans-serif;letter-spacing:2px}.terminal-skill-progress-track{height:12px;border-radius:6px;background:#c4ff7c0f;border:1px solid rgba(196,255,124,.22);display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:3px;padding:2px}.terminal-skill-progress-bar{border-radius:2px;background:#9afee01f}.terminal-skill-progress-bar.is-active{background:#ff9a9a8c}@media(max-width:900px){.app-container{width:min(100% - 1.2rem,1040px);margin-top:1rem}}@media(max-width:1024px){.terminal-banner{height:clamp(190px,32vw,270px);max-height:300px}.terminal-banner-ascii{line-height:1.2}.terminal-banner-overlay{gap:.5rem}.terminal-banner-overlay p{font-size:.85rem}}@media(max-width:768px){.terminal-banner{height:200px;max-height:300px}.terminal-banner-ascii{font-size:clamp(.74rem,2.6vw,.92rem);line-height:1.18}.terminal-banner-overlay p{font-size:.82rem;letter-spacing:.1em}}@media(max-width:480px){.terminal-banner{height:160px;max-height:300px}.terminal-banner-ascii{font-size:clamp(.64rem,3vw,.78rem);line-height:1.14}.terminal-banner-overlay p{font-size:.74rem}}@media(max-width:640px){.app-container{width:calc(100% - 1rem);margin:.6rem auto 1.2rem}.terminal-header,.terminal-output,.terminal-input-form{padding-left:.8rem;padding-right:.8rem}.terminal-input-form{grid-template-columns:1fr;gap:.45rem}.terminal-prompt{font-size:.88rem}.terminal-line,.terminal-input{font-size:.94rem}.terminal-project-browser{padding:.8rem}.terminal-project-browser-header{grid-template-columns:1fr;justify-items:start;gap:.55rem}.terminal-project-card{padding:.85rem}.terminal-project-card-title{font-size:1.02rem}.terminal-project-card-image{max-height:180px}.terminal-skills-browser{padding:.8rem}.terminal-skill-meta{flex-direction:column;align-items:flex-start;gap:.15rem}.terminal-skill-progress-track{height:10px}}
