:root { --bg:#07100a; --panel:#0b1710; --panel-2:#0f1f15; --line:#203b29; --green:#8ef0a7; --bright:#b9ffc8; --dim:#789282; --text:#e4eee6; --orange:#f1a45c; --mono:"IBM Plex Mono",monospace; --sans:"Manrope",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.6; overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 75% 5%,rgba(74,180,101,.11),transparent 30%),linear-gradient(rgba(111,226,137,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(111,226,137,.025) 1px,transparent 1px); background-size:auto,72px 72px,72px 72px; z-index:-2; }
.noise { position:fixed; inset:0; opacity:.04; pointer-events:none; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; } button,input { font:inherit; }
.site-header { height:78px; max-width:1320px; margin:auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font-family:var(--mono); font-size:13px; }
.brand { display:flex; gap:10px; align-items:center; color:var(--green); font-weight:600; }.brand-mark { display:grid; place-items:center; width:30px; height:30px; background:var(--green); color:var(--bg); border-radius:3px; }.site-header nav { display:flex; gap:32px; color:#9aafa0; }.site-header nav a:hover { color:var(--bright); }.availability { display:flex; align-items:center; gap:8px; color:#9aafa0; }.availability i,.project-status i { width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green); }
main,.site-header,footer { max-width:1320px; margin-inline:auto; }
.hero { min-height:calc(100vh - 78px); display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; padding:86px 32px 110px; }
.eyebrow { font:500 12px var(--mono); text-transform:uppercase; letter-spacing:.15em; color:var(--green); margin:0 0 28px; }.eyebrow span { color:var(--dim); margin-right:14px; }
h1,h2 { font-size:clamp(44px,5.5vw,78px); line-height:1.02; letter-spacing:-.055em; margin:0; font-weight:600; }h2 { font-size:clamp(40px,4.7vw,64px); }h1 em,h2 em { color:var(--green); font-style:normal; }
.hero-text { max-width:600px; color:#9fb0a3; font-size:17px; margin:32px 0; }.hero-actions { display:flex; gap:12px; }.button { padding:13px 19px; border:1px solid var(--line); font:600 12px var(--mono); border-radius:3px; }.button.primary { background:var(--green); color:var(--bg); border-color:var(--green); }.button.primary:hover { background:var(--bright); }.button.ghost:hover { border-color:var(--green); color:var(--green); }
.terminal-wrap { min-width:0; box-shadow:0 32px 90px rgba(0,0,0,.45); }.terminal-bar { background:#19241c; border:1px solid #2c4232; border-bottom:0; border-radius:7px 7px 0 0; height:43px; padding:0 14px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; font:11px var(--mono); color:#829187; }.dots { display:flex;gap:7px}.dots i{width:10px;height:10px;border-radius:50%;background:#e66a5e}.dots i:nth-child(2){background:#d7ad4b}.dots i:nth-child(3){background:#62bc6a}.terminal-status{text-align:right}.terminal { height:360px; overflow-y:auto; padding:22px; background:rgba(5,12,8,.96); border:1px solid #2c4232; border-radius:0 0 7px 7px; font:13px/1.75 var(--mono); cursor:text; }.terminal::-webkit-scrollbar { width:6px}.terminal::-webkit-scrollbar-thumb{background:var(--line)}.output-line{margin-bottom:7px;color:#b7c6ba}.output-line.echo{color:#dbe7dd}.output-line.error{color:#ec8d77}.prompt-user,.success,.command{color:var(--green)}.prompt-path{color:#7daee8}.muted{color:var(--dim)}.terminal a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.terminal form{display:flex;gap:8px}.terminal input{border:0;outline:0;background:transparent;color:var(--bright);min-width:0;flex:1;font-family:var(--mono);caret-color:var(--green)}.terminal-hint{font:11px var(--mono);color:var(--dim);text-align:center}.terminal-hint button{background:none;border:0;color:var(--green);padding:0;cursor:pointer}
.section { padding:130px 32px; border-top:1px solid var(--line); opacity:0; transform:translateY(18px); transition:.7s ease; }.section.visible,.reveal.visible { opacity:1; transform:none; }.reveal { opacity:0;transform:translateY(16px);transition:.7s ease}.reveal[data-delay="1"]{transition-delay:.18s}.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }.about-copy{font-size:19px;color:#a7b7aa}.about-copy>p:first-child{color:var(--text);font-size:22px}.fact-row{display:flex;gap:8px;margin-top:50px}.fact-row div{flex:1;border-top:1px solid var(--line);padding-top:18px}.fact-row strong,.fact-row span{display:block}.fact-row strong{font:600 18px var(--mono);color:var(--green)}.fact-row span{font:11px var(--mono);color:var(--dim);margin-top:5px;text-transform:uppercase}
.section-head { display:flex;align-items:end;justify-content:space-between;margin-bottom:60px}.section-head>p{font:12px var(--mono);color:var(--dim);max-width:260px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.project-card{position:relative;background:rgba(12,26,17,.77);border:1px solid var(--line);padding:30px;min-height:340px;display:flex;flex-direction:column;transition:.25s}.project-card:hover{border-color:#477b56;transform:translateY(-3px);background:var(--panel-2)}.project-card.featured{background:linear-gradient(145deg,rgba(22,52,31,.92),rgba(11,25,16,.92));}.project-top{display:flex;justify-content:space-between;font:11px var(--mono);color:var(--dim)}.project-status{display:flex;align-items:center;gap:8px}.project-status i{width:5px;height:5px}.featured-label{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-top:34px}.project-card h3{font-size:27px;margin:38px 0 12px;letter-spacing:-.03em}.project-card.featured h3{margin-top:8px}.project-card p{color:#91a395;max-width:540px;margin:0 0 25px}.project-card ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:auto 0 28px}.project-card li{font:10px var(--mono);padding:5px 8px;border:1px solid #294634;color:#91b59a}.project-card>a{border-top:1px solid var(--line);padding-top:18px;font:500 12px var(--mono);color:var(--green);display:flex;justify-content:space-between}
.skills-section{background:rgba(6,14,9,.45)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.skill-card{background:var(--bg);padding:30px;min-height:300px}.skill-icon{font:24px var(--mono);color:var(--green)}.skill-card h3{margin:28px 0 25px;font-size:18px}.skill-card ul{list-style:none;padding:0;margin:0}.skill-card li{color:#91a395;font:13px/2.1 var(--mono);border-bottom:1px dotted #1b3222}
.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.learning-item{padding:22px 0;border-top:1px solid var(--line)}.learning-item>div:first-child{display:flex;justify-content:space-between;gap:20px}.learning-item strong{font-size:14px}.learning-item span{font:11px var(--mono);color:var(--dim)}.progress{height:2px;background:#182d1e;margin-top:18px}.progress i{display:block;height:100%;background:var(--green);box-shadow:0 0 8px rgba(142,240,167,.4)}
.contact{text-align:center;padding-block:160px}.contact .eyebrow{justify-content:center}.contact>p:not(.eyebrow){color:#98aa9c;margin:30px auto 45px}.contact-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.contact-links a{font:13px var(--mono);color:var(--green);border-bottom:1px solid var(--line);padding-bottom:5px}.contact-links a:hover{border-color:var(--green)}
footer{border-top:1px solid var(--line);padding:30px 32px;display:flex;justify-content:space-between;color:var(--dim);font:11px var(--mono)}footer a{color:var(--green)}
.project-status i{background:var(--orange);box-shadow:0 0 12px rgba(241,164,92,.7)}
.project-status.next i{background:var(--green);box-shadow:0 0 12px var(--green)}
.project-action{border-top:1px solid var(--line);padding-top:18px;font:500 12px var(--mono);color:var(--green);display:flex;justify-content:space-between}
.project-action.planned{color:var(--dim);cursor:default}
@media(max-width:900px){.site-header nav{display:none}.availability{display:none}.hero,.about-grid,.learning-grid{grid-template-columns:1fr}.hero{padding-top:65px;gap:65px}.terminal{height:330px}.section{padding-block:90px}.skills-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start}.section-head>p{display:none}}
@media(max-width:620px){.site-header,.hero,.section,footer{padding-left:20px;padding-right:20px}.hero{min-height:auto}.hero-actions{flex-direction:column;align-items:stretch;text-align:center}.projects-grid,.skills-grid{grid-template-columns:1fr}.project-card{min-height:320px}.fact-row{flex-direction:column;gap:22px}.section-head{margin-bottom:40px}.terminal{height:390px;padding:16px;font-size:12px}.contact-links{flex-direction:column;gap:18px}footer{flex-direction:column;gap:12px;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
