:root{font-family:'Courier New',Courier,monospace;background:#000;color:#00dc58}
body{background:#000}
#matrix-rain{opacity:.43}
.grain{background-image:none}
.page-shell{max-width:none;padding:0}
.site-header{height:64px;padding:0 max(6.5%,24px);background:#000;border-bottom:1px solid #073c1b;position:relative;z-index:4}
.brand-label{font-family:'Courier New',Courier,monospace;color:#00ed61;font-size:20px;letter-spacing:-.04em;font-weight:700}
.brand-label{transition:color .2s ease}
.brand:hover .brand-label,.brand:focus-visible .brand-label{color:#84ffb6}
.desktop-nav{margin-left:auto;margin-right:0;gap:clamp(17px,2.55vw,52px);font-family:'Courier New',Courier,monospace;font-size:14px;color:#00e75d;letter-spacing:-.03em}
.desktop-nav a:hover{color:#b5ffbf;text-shadow:0 0 9px #00f064}
.hero{min-height:calc(100vh - 64px);display:flex;justify-content:center;align-items:flex-start;text-align:center;padding:0 24px 65px}
.hero-copy{width:100%;max-width:1000px;padding-top:clamp(90px,11vh,145px)}
.boot-lines{font-size:15px;line-height:2.6;color:#00d853;text-align:left;width:max-content;max-width:100%;margin:0 auto 38px}
.hero h1{font-family:'Courier New',Courier,monospace;font-size:clamp(58px,6.1vw,105px);line-height:1.08;letter-spacing:-.04em;font-weight:700;margin:0;color:#00e969;text-shadow:0 0 15px #00eb6025}
.hero h1 #hero-name{color:#00e969}
.welcome-line{font-size:clamp(20px,2vw,29px);font-weight:700;color:#84ffb6;margin:34px 0 38px}
.hero-roles{font-size:clamp(17px,1.3vw,23px);line-height:1.45;color:#00a740;margin:0 auto 38px}
.hero-actions{margin:0;display:flex;justify-content:center;gap:16px}
.button{font-family:'Courier New',Courier,monospace;background:transparent;min-width:198px;min-height:52px;padding:0 20px;justify-content:center;font-size:15px;letter-spacing:0;font-weight:700;transition:background .2s,color .2s,box-shadow .2s}
.button:hover{transform:none}
.button-red{border:2px solid #fb183f;color:#ff3049}.button-red:hover{background:#fb183f;color:#000;box-shadow:0 0 18px #fb183f66}
.button-blue{border:2px solid #00bfff;color:#00cfff}.button-blue:hover{background:#00bfff;color:#000;box-shadow:0 0 18px #00bfff66}
.button-green{border:2px solid #00ef18;color:#00f328;min-width:280px}.button-green:hover{background:#00ef18;color:#000;box-shadow:0 0 18px #00ef1866}
.resume-row{margin-top:39px}
.resume-row .button{gap:9px}
.resume-icon{width:25px;height:20px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:square;stroke-linejoin:miter}
.scroll-cue{justify-content:center;margin-top:39px;color:#00a740;font-size:14px;font-weight:700;letter-spacing:0}
.section-divider{margin:0 6.5%;border-color:#0b4320;color:#00a849}
.content-section{padding-left:6.5%;padding-right:6.5%;background:#000c}
.content-section h2{font-family:'Courier New',Courier,monospace;letter-spacing:-.04em}
.section-kicker{color:#00e961}
.content-section h2 em{color:#00e961}
.terminal-panel,.project-card,.skill{background:#020e06;border-color:#13652f}
.terminal-bar{background:#061b0c;border-color:#13652f}
.prompt,.project-top,.project-links,.contact-links a{color:#00e961}
.placeholder-section>p:last-child{color:#83aa8c;margin-top:28px}
.shell-section .terminal-panel{margin-top:32px;max-width:1000px}
#shell-output{min-height:100px;white-space:pre-line}
#shell-output p{white-space:pre-line;margin:12px 0}
#shell-form{display:flex;gap:10px;align-items:center}
#shell-input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#00e961;font:inherit}
footer{padding:0 6.5%;background:#000;border-color:#0b4320}
@media(max-width:1050px){.desktop-nav{gap:17px;font-size:11px}.brand-label{font-size:15px}}
@media(max-width:760px){.site-header{height:auto;min-height:68px;flex-wrap:wrap;padding:14px 5%;gap:10px}.desktop-nav{display:flex;order:2;flex-wrap:wrap;justify-content:center;width:100%;gap:12px;font-size:10px}.brand{width:100%;justify-content:center}.hero{min-height:calc(100vh - 102px);padding:0 16px 60px}.hero-copy{padding-top:65px}.boot-lines{font-size:12px;line-height:2.3;margin-bottom:28px}.hero h1{font-size:clamp(48px,10vw,75px)}.welcome-line{font-size:20px}.hero-roles{font-size:15px}.button{min-width:0;font-size:12px;padding:0 12px}.content-section{padding-left:5%;padding-right:5%}.section-divider{margin:0 5%}}
@media(max-width:480px){.hero-copy{padding-top:50px}.hero h1{font-size:clamp(44px,12vw,60px)}.hero-actions{gap:10px}.button{font-size:11px;min-height:48px}.button-green{min-width:240px}.scroll-cue{font-size:11px}.desktop-nav{font-size:9px}.hero-roles{font-size:13px}}

html{scrollbar-color:#00f515 #001808;scrollbar-width:thin}
*::-webkit-scrollbar{width:8px;height:8px;background:#001808}
*::-webkit-scrollbar-track{background:#001808}
*::-webkit-scrollbar-thumb{background:#00f515;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:#6fff72}

.site-header{position:sticky;top:0}
.content-section.terminal-section{display:block;max-width:none;min-height:720px;padding:70px 7% 90px;background:transparent;scroll-margin-top:64px}
.terminal-section .terminal-panel{width:min(100%,1150px);max-width:1150px;margin:0 auto;border:1px solid #008525;border-radius:7px;overflow:hidden;box-shadow:none;background:#000}
.terminal-section .terminal-bar{height:45px;padding:0 17px;background:#001b05;border-bottom:1px solid #008525;color:#00e965;font-size:13px;font-weight:700}
.terminal-section .window-dots{gap:7px;margin-right:auto}
.terminal-section .window-dots i{width:12px;height:12px;background:#00c24a}
.terminal-section .window-dots i:first-child{background:#ff3838}
.terminal-section .window-dots i:nth-child(2){background:#ffc127}
.terminal-section .terminal-body{min-height:380px;padding:30px 26px;color:#00e969;font-size:16px;line-height:1.65}
.terminal-section .terminal-body>p{margin:0 0 25px}
.terminal-section .terminal-output{color:#00dd5a;max-width:none}
.terminal-section .terminal-ready{margin-top:34px!important}
.terminal-muted{color:#00b84c}
.terminal-subheading{font-size:23px;color:#8affb4;margin:30px 0 4px}
.terminal-section .skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:18px}
.terminal-section .skill{display:block;min-height:135px;padding:24px;border:1px solid #087c2c;border-radius:8px;color:#9bffbc;font-family:'Courier New',Courier,monospace;box-shadow:0 3px 0 #00672a;background:#000}
.terminal-section .skill strong{display:block;font-size:18px}
.terminal-section .skill small{display:block;color:#00af45;font-size:13px;margin-top:8px}
.skill-meter{height:10px;margin-top:16px;border:1px solid #006a2b;border-radius:10px;overflow:hidden;background:#001d0c}
.skill-meter span{display:block;height:100%;background:linear-gradient(90deg,#2582ff,#08d3e4);border-radius:10px}
.skill-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px;border-bottom:1px solid #075c25}
.skill-tabs button{background:#001507;color:#00c957;border:1px solid #075d27;border-radius:7px 7px 0 0;padding:11px 16px;font:700 12px 'Courier New',Courier,monospace;cursor:pointer}
.skill-tabs button:hover,.skill-tabs button.active{color:#98ffb8;border-color:#00f22b;box-shadow:inset 0 0 14px #00f22b33}
.experience-list{display:grid;gap:38px;margin:20px 0 0;padding-left:0;border-left:1px solid #087c2c}
.experience-card{position:relative;display:grid;gap:2px;color:#00d65b}
.experience-card::before{content:"";position:absolute;top:5px;left:-23px;width:16px;height:16px;border-radius:50%;background:#00b953;animation:timeline-pulse .9s ease-in-out infinite}
.experience-card strong{color:#a1ffb8;font-size:19px}
.experience-card span{color:#00c957}
.experience-card ul{list-style:none;padding:0;margin:12px 0 0;color:#00d65b}
.experience-card li{padding-left:18px;text-indent:-18px}
.experience-card li::before{content:"• ";color:#00e969}
@keyframes timeline-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.experience-card::before{animation:none;opacity:1}}
#experience .terminal-ready{margin-top:20px!important}
.terminal-section .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
.terminal-section .project-card{background:#000;border:1px solid #087c2c;border-radius:8px;min-height:270px}
.terminal-section .project-card h3{font-family:'Courier New',Courier,monospace;color:#8affb4}
.terminal-section .project-card p{color:#00b84c}
.achievements-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0 0}
.achievement-card{border:1px solid #087c2c;border-radius:8px;min-height:165px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:#00d65b;background:#000;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
.achievement-card:hover{z-index:1;transform:scale(1.06);background:#001b09;border-color:#00f35b;box-shadow:0 0 14px #00f35b99,0 0 30px #00f35b55}
.achievement-icon{font-size:37px;line-height:1.1;color:#00ef63}
.achievement-card strong{font-size:19px;color:#9dffb7}
.achievement-card>span:last-child{font-size:14px}
.contact-section .terminal-panel{max-width:1150px}
.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-columns h3{margin:0 0 16px;font-size:20px;color:#9dffb8}
.contact-columns .contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.contact-columns .contact-links a{border:0;padding:0;font-size:15px;color:#00d65b;letter-spacing:0}
.contact-columns .contact-links a:hover{background:transparent;color:#9dffb8}
.contact-columns .contact-placeholder{border:0;padding:0;font-size:14px}
#contact-form{display:flex;flex-direction:column;gap:8px}
#contact-form label{font-size:14px;color:#00d65b}
#contact-form input,#contact-form textarea{width:100%;border:1px solid #008525;border-radius:4px;background:#000;color:#00e965;padding:11px 13px;font:15px 'Courier New',Courier,monospace;outline:none}
#contact-form input:focus,#contact-form textarea:focus{border-color:#00f515}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#00a641}
#contact-form button{border:2px solid #00f515;background:#000;color:#00f515;font:700 15px 'Courier New',Courier,monospace;padding:15px;cursor:pointer}
#contact-form button:hover{background:#00f515;color:#000}
#contact-status{min-height:22px;margin:0;color:#8dffae;font-size:13px}
.contact-footer,.terminal-footer{text-align:center;margin:10px 0 0!important;color:#00c957}
.terminal-section .terminal-footer{margin-top:40px!important}
#achievements .terminal-body{min-height:0}
.shell-section .terminal-panel{max-width:1240px;height:calc(100vh - 180px);min-height:580px}
.shell-section .terminal-body{height:calc(100% - 45px);overflow:auto}
#shell-output{min-height:55px}
#shell-form{margin-top:15px}
footer{justify-content:center;min-height:48px;font-size:13px;border-top:1px solid #008525;color:#00e965}
footer>span:nth-child(2),footer>a{display:none}
@media(max-width:760px){.content-section.terminal-section{padding:50px 4% 70px;min-height:0;scroll-margin-top:106px}.terminal-section .terminal-body{padding:20px;font-size:13px}.terminal-section .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.terminal-section .project-grid,.contact-columns{grid-template-columns:1fr}.achievements-grid{grid-template-columns:1fr}.shell-section .terminal-panel{height:70vh;min-height:500px}.skill-tabs button{font-size:10px;padding:9px}.contact-columns{gap:30px}}
@media(max-width:480px){.terminal-section .skills-grid{grid-template-columns:1fr}.terminal-section .terminal-bar{font-size:10px}.terminal-section .terminal-body{font-size:12px}.terminal-section .skill strong{font-size:16px}}

.terminal-section .prompt,#shell-form .prompt{color:#8fffb8;text-shadow:none}
.terminal-section .terminal-body>p:first-child{color:#00ec68}
.terminal-section .skill{position:relative;transition:border-color .18s,box-shadow .18s,transform .18s}
.terminal-section .skill:hover,.terminal-section .skill:focus-within{border-color:#00ee58;box-shadow:0 4px 1px #007c31,0 12px 20px #00d65365,0 0 16px #00df4440;transform:translateY(-2px)}
.terminal-section .skill strong{padding-right:60px}
.terminal-section .skill .skill-percent{position:absolute;right:22px;top:24px;color:#00f06b;font-size:19px;font-weight:700}
.skill-scale{display:flex;justify-content:space-between;color:#008f36;font-size:10px;margin-top:5px}
@media(prefers-reduced-motion:reduce){.terminal-section .skill{transition:none}.terminal-section .skill:hover{transform:none}}
.skills-grid[data-category="languages"] .skill-meter span{background:linear-gradient(90deg,#00bd4a,#00ef75)}
.skills-grid[data-category="web"] .skill-meter span{background:linear-gradient(90deg,#2582ff,#08d3e4)}
.skills-grid[data-category="frameworks"] .skill-meter span{background:linear-gradient(90deg,#8a5cf6,#c45cff)}
.skills-grid[data-category="tools"] .skill-meter span{background:linear-gradient(90deg,#ff3348,#ff1a1a)}
.skills-grid[data-category="cybersecurity"] .skill-meter span{background:linear-gradient(90deg,#e7b900,#ffe34d)}
.skills-grid[data-category="ai"] .skill-meter span{background:linear-gradient(90deg,#bd5cff,#ff79d7)}
.terminal-section .skill{animation:skill-appear .22s ease-out both}
@keyframes skill-appear{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.terminal-section .skill{animation:none}}

.site-header{background:rgba(0,0,0,.68);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.hero h1 #hero-name{display:block;animation:hero-float 4.5s ease-in-out infinite;will-change:transform}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.hero h1 #hero-name{animation:none;will-change:auto}}

.welcome-line{width:25ch;max-width:100%;min-height:1.5em;margin-left:auto;margin-right:auto;text-align:left;white-space:nowrap}
.typing-cursor{display:inline-block;color:#aaffc3;animation:blink .75s steps(1) infinite}

.skills-grid .skill{opacity:0;animation:none;scale:1;transition:scale .2s,border-color .2s,box-shadow .2s}
.skills-section.skills-ready .skill{animation:skill-appear .55s ease-out forwards;animation-delay:var(--skill-delay)}
.skill-meter span{width:0}
.skills-section.skills-ready .skill-meter span{animation:fill-bar .9s ease-out forwards;animation-delay:calc(var(--skill-delay) + .25s)}
.terminal-section .skill:hover,.terminal-section .skill:focus-within{scale:1.07;z-index:3;border-color:#00ff64;box-shadow:0 4px 2px #007c31,0 16px 28px #00ee5e99,0 0 22px #00df4470}
@keyframes fill-bar{from{width:0}to{width:var(--target-width)}}

.brand,.hero h1 #hero-name{animation:heading-v-float 3.8s linear infinite;will-change:translate}
.scroll-cue{animation:scroll-bob 1.35s ease-in-out infinite}
@keyframes heading-v-float{0%,100%{translate:-5px -3px}25%,75%{translate:0 5px}50%{translate:5px -3px}}
@keyframes scroll-bob{0%,100%{translate:0 0}50%{translate:0 -13px}}
@media(prefers-reduced-motion:reduce){.typing-cursor,.brand,.hero h1 #hero-name,.scroll-cue,.skills-section.skills-ready .skill,.skills-section.skills-ready .skill-meter span{animation:none}.brand,.hero h1 #hero-name{will-change:auto}.skills-grid .skill{opacity:1}.skill-meter span{width:var(--target-width)}}

.contact-columns{gap:36px}
.contact-columns .contact-links{gap:9px}
.contact-row{display:flex;align-items:baseline;gap:0;min-height:23px;font-size:15px;line-height:1.5}
.contact-marker{color:#00e866;white-space:nowrap}
.contact-value{color:#8fffb8;overflow-wrap:anywhere}
.contact-columns .contact-links a.contact-value:hover,.contact-columns .contact-links a.contact-value:focus-visible{color:#d6ffe4;text-shadow:0 0 7px #00f15e}
.contact-empty{color:#588d60;font-size:13px}
.contact-columns .contact-links .contact-value{border:0;padding:0;font-size:15px;letter-spacing:0;color:#8fffb8}
.contact-columns .contact-links .contact-empty{color:#588d60}
#contact-form input:focus,#contact-form textarea:focus{border-color:#00ff29;box-shadow:0 0 0 2px #00ff29,0 0 12px #00e92d80}
#contact-form button:hover,#contact-form button:focus-visible{background:#000;color:#00ff24;border-color:#00ff24;box-shadow:0 0 0 1px #00ff24,0 0 18px #00ff24b3,0 0 32px #00ff2450;outline:none}
@media(max-width:760px){.contact-row{font-size:13px}.contact-columns .contact-links .contact-value{font-size:13px}}

.about-section .terminal-body>p{margin-bottom:0!important}
.about-section .terminal-body>.terminal-ready:not(:last-child){margin-top:44px!important}
.about-section .terminal-body>.terminal-ready:last-child{margin-top:44px!important}

.button,.skill-tabs button,#contact-form button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease,background-color .25s ease}
.button::before,.skill-tabs button::before,#contact-form button::before{content:"";position:absolute;inset:0 auto 0 -100%;width:100%;background:rgba(0,255,65,.19);pointer-events:none;transform:translateX(0);transition:transform .32s ease}
.button:hover,.button:focus-visible,.skill-tabs button:hover,.skill-tabs button:focus-visible,#contact-form button:hover,#contact-form button:focus-visible{transform:translateY(-4px)}
.button:hover::before,.button:focus-visible::before,.skill-tabs button:hover::before,.skill-tabs button:focus-visible::before,#contact-form button:hover::before,#contact-form button:focus-visible::before{transform:translateX(100%)}
@media(prefers-reduced-motion:reduce){.button,.skill-tabs button,#contact-form button,.button::before,.skill-tabs button::before,#contact-form button::before{transition:none}.button:hover,.button:focus-visible,.skill-tabs button:hover,.skill-tabs button:focus-visible,#contact-form button:hover,#contact-form button:focus-visible{transform:none}}

.content-section.terminal-section{display:flex;align-items:center;justify-content:center;min-height:0;padding:120px 7%;box-sizing:border-box}
.content-section.terminal-section.about-section{margin-top:160px}
.about-section .terminal-body{min-height:490px;display:flex;flex-direction:column}
.about-section .terminal-ready:last-child{margin-top:44px!important}
.terminal-section .cursor{color:inherit}
@media(max-width:760px){.content-section.terminal-section{display:block;min-height:0;padding:90px 4%}.content-section.terminal-section.about-section{margin-top:110px}.about-section .terminal-body{min-height:380px}}

.button-red::before{background:rgba(255,48,73,.2)}
.button-blue::before{background:rgba(0,191,255,.2)}
.button-green::before,.skill-tabs button::before,#contact-form button::before{background:rgba(0,255,65,.19)}
.button-red:hover,.button-red:focus-visible{background:#150308;color:#ff3049;box-shadow:0 0 18px #fb183f66}
.button-blue:hover,.button-blue:focus-visible{background:#03121a;color:#00cfff;box-shadow:0 0 18px #00bfff66}
.button-green:hover,.button-green:focus-visible{background:#031407;color:#00f328;box-shadow:0 0 18px #00ef1866}

:root{--matrix-font:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace;font-family:var(--matrix-font)}
body,body *{font-family:var(--matrix-font)!important}
::selection{background:rgba(0,255,80,.38);color:#00ff66}
::-moz-selection{background:rgba(0,255,80,.38);color:#00ff66}
.scan-status{animation:scan-pulse 2.4s ease-in-out infinite}
.scan-status span{display:block}
@keyframes scan-pulse{0%,100%{opacity:.48}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.scan-status{animation:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.achievement-card{transition:none}.achievement-card:hover{transform:none}}

.terminal-section .terminal-body>p:first-child{margin-bottom:0}
.terminal-section .terminal-ready{margin-top:44px!important}
.skills-section .terminal-body>.scan-status{margin-top:1.65em}
.skills-section .terminal-subheading{margin-bottom:16px;line-height:1.15}
.skills-section .terminal-subheading+.terminal-muted{margin-top:0}

.content-section.projects-section{display:flex;min-height:0;padding:120px 7%}
.projects-section .project-grid{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:32px;max-width:1152px;margin:0 auto}
.projects-section .project-card{display:flex;flex-direction:column;min-width:0;min-height:420px;padding:16px;background:rgba(0,12,5,.54);border:1px solid #087c2c;border-radius:8px;box-shadow:none;transition:background-color .22s,border-color .22s,box-shadow .22s,transform .22s}
.projects-section .project-card:hover{z-index:1;background:rgba(0,45,16,.58);border-color:#00d45d;box-shadow:0 0 16px #00d45d33,inset 0 0 30px #00ff4115;transform:scale(1.025)}
.projects-section .project-preview{position:relative;display:flex;flex:0 0 190px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:190px;overflow:hidden;border:1px solid #175c34;border-radius:4px;background:linear-gradient(140deg,#10251b,#07140d);color:#d9ffe4;text-align:center}
.projects-section .project-preview{transition:box-shadow .22s ease}
.projects-section .project-preview:hover{box-shadow:0 0 18px #00d45d44}
.project-preview::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 96%,#ffffff0a 100%);background-size:100% 5px;pointer-events:none}
.projects-section .project-preview.has-image{display:block;background:#08150d}
.projects-section .project-preview.has-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top center;user-select:none;transition:transform .22s ease}
.projects-section .project-preview.has-image:not(.is-cropped)[data-kind="education"] img{top:-38px;height:calc(100% + 38px)}
.projects-section .project-preview.has-image:hover img{transform:scale(1.09)}
.project-preview-bar{position:absolute;top:0;left:0;right:0;padding:8px 11px;border-bottom:1px solid #ffffff25;background:#ffffff0b;text-align:left;font-size:10px;letter-spacing:.08em;color:#a7ffc6}
.project-preview-main{max-width:90%;font-size:clamp(20px,2vw,30px);font-weight:700;line-height:1.1;letter-spacing:-.03em;transition:transform .22s ease}
.projects-section .project-preview:hover .project-preview-main{transform:scale(1.09)}
.project-preview-detail{max-width:86%;font-size:11px;line-height:1.4;opacity:.75}
.project-preview[data-kind="parking"]{background:linear-gradient(150deg,#07382d,#061b16 64%,#022317);color:#a9ffdf}
.project-preview[data-kind="petrol"]{background:linear-gradient(150deg,#143d33,#09221d 65%,#034c32);color:#c7ffe2}
.project-preview[data-kind="education"]{background:linear-gradient(150deg,#183253,#0c182f 65%,#072b3b);color:#d4eaff}
.project-preview[data-kind="transfer"]{background:linear-gradient(150deg,#081e18,#020b08 65%,#06321d);color:#6fffab}
.projects-section .project-card h3{margin:10px 0 4px;font-size:19px;line-height:1.25;font-weight:700;color:#9dffb8;letter-spacing:0;animation:heading-v-float 3.8s linear infinite;will-change:translate}
.projects-section .project-card p{margin:0;font-size:13px;line-height:1.5;color:#00c957}
.projects-section .tag-list{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0;padding:0}
.projects-section .tag{padding:2px 5px;border:1px solid #087c2c;border-radius:3px;color:#00d65b;font-size:11px;letter-spacing:0}
.projects-section .project-links{display:flex;justify-content:center;gap:12px;margin-top:auto;padding-top:14px}
.projects-section .project-action{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;flex:0 0 100px;align-items:center;justify-content:center;gap:7px;width:100px;height:43px;padding:0 10px;border:2px solid #ff2743;color:#ff2743;font-size:12px;font-weight:700;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.projects-section .project-action-icon{display:block;flex:none;width:14px;height:14px;color:inherit}
.projects-section .project-action::before{content:"";position:absolute;inset:0 auto 0 -100%;width:100%;background:rgba(255,48,73,.2);pointer-events:none;z-index:-1;transition:transform .32s ease}
.projects-section .project-action-live{border-color:#00c8f5;color:#00c8f5}
.projects-section .project-action-live::before{background:rgba(0,191,255,.2)}
.projects-section .project-action[aria-disabled="true"]{opacity:.85;cursor:not-allowed}
.projects-section .project-action:hover,.projects-section .project-action:focus-visible{box-shadow:0 0 16px currentColor;transform:translateY(-4px);text-decoration:none}
.projects-section .project-action:hover::before,.projects-section .project-action:focus-visible::before{transform:translateX(100%)}
@media(prefers-reduced-motion:reduce){.projects-section .project-card h3{animation:none}.projects-section .project-card,.projects-section .project-preview,.projects-section .project-preview.has-image img,.projects-section .project-preview-main,.projects-section .project-action,.projects-section .project-action::before{transition:none}.projects-section .project-card:hover,.projects-section .project-preview.has-image:hover img,.projects-section .project-preview:hover .project-preview-main,.projects-section .project-action:hover,.projects-section .project-action:focus-visible,.projects-section .project-action:hover::before,.projects-section .project-action:focus-visible::before{transform:none}}
@media(max-width:1050px){.projects-section .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.content-section.projects-section{display:block;padding:90px 4%}}
@media(max-width:680px){.projects-section .project-grid{grid-template-columns:1fr;gap:20px}.projects-section .project-card{min-height:390px}}

.achievements-grid{gap:22px;margin-top:25px}
.achievement-card{align-items:stretch;justify-content:flex-start;text-align:left;min-width:0;min-height:300px;padding:16px 16px 0;gap:0;background:rgba(0,12,5,.54);box-shadow:none;overflow:hidden}
.achievement-card:hover{transform:scale(1.025);background:rgba(0,45,16,.58);border-color:#00d45d;box-shadow:0 0 16px #00d45d33,inset 0 0 30px #00ff4115}
.achievement-preview{position:relative;display:flex;flex:0 0 145px;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;border:0;background:transparent;color:#9dffb8;text-align:center;transition:box-shadow .22s ease}
.achievement-preview::after{content:none}
.achievement-preview:hover{box-shadow:0 0 18px #00d45d44}
.achievement-preview img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;transition:transform .22s ease}
.achievement-preview:hover img{transform:scale(1.06)}
.achievement-preview-label{font-size:10px;letter-spacing:.12em;color:#00d65b}
.achievement-preview strong{font-size:clamp(22px,2vw,30px);line-height:1.1;color:#b9ffd0}
.achievement-preview-type{font-size:11px;color:#00c957}
.achievement-card h3{margin:12px 0 5px;font-size:18px;line-height:1.25;color:#9dffb8;animation:heading-v-float 3.8s linear infinite;will-change:translate}
.achievement-card .achievement-issuer{margin:0;color:#00c957;font-size:13px}
.achievement-type{align-self:flex-start;margin-top:10px;padding:3px 6px;border:1px solid #087c2c;border-radius:3px;color:#00d65b;font-size:11px}
.achievement-card .achievement-expiry{margin:8px 0 0;color:#00a844;font-size:11px}
.achievement-card .achievement-id{margin:8px 0 0;color:#00a844;font-size:11px;overflow-wrap:anywhere}
.achievement-action-slot{display:flex;flex:1;min-height:75px;align-items:center;justify-content:center}
.achievement-action{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:100px;min-height:43px;padding:0 10px;border:2px solid #00d65b;color:#00e86a;font-size:12px;font-weight:700;transition:transform .22s ease,box-shadow .22s ease}
.achievement-action-icon{display:block;flex:none;width:14px;height:14px;color:inherit}
.achievement-action::before{content:"";position:absolute;inset:0 auto 0 -100%;width:100%;background:rgba(0,255,65,.19);z-index:-1;transition:transform .32s ease}
.achievement-action:hover,.achievement-action:focus-visible{transform:translateY(-4px);box-shadow:0 0 16px #00d65b99;text-decoration:none}
.achievement-action:hover::before,.achievement-action:focus-visible::before{transform:translateX(100%)}
@media(max-width:1050px){.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.achievements-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.achievement-card h3{animation:none}.achievement-card,.achievement-preview,.achievement-preview img,.achievement-action,.achievement-action::before{transition:none}.achievement-card:hover,.achievement-preview:hover img,.achievement-action:hover,.achievement-action:focus-visible,.achievement-action:hover::before,.achievement-action:focus-visible::before{transform:none}}

.content-section.terminal-section.contact-section{padding-bottom:240px}
@media(max-width:760px){.content-section.terminal-section.contact-section{padding-bottom:180px}}

.shell-section .terminal-panel{background:rgba(0,0,0,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.shell-section .terminal-bar{justify-content:flex-start;background:rgba(17,26,43,.78)}
.shell-section .window-dots{margin-right:10px}
.shell-section .terminal-body{padding:0;background:rgba(0,0,0,.06);line-height:1.5}
#shell-output{min-height:0;white-space:normal;color:#00a740}
#shell-output .shell-welcome{color:#8fffb8}
#shell-output>div,.shell-entry>div{margin:0}
.shell-result{white-space:pre-line}
.shell-matrix-line{color:#00a740;animation:shell-matrix-pulse 1.6s ease-in-out infinite}
.shell-matrix-line:last-child{color:#fff}
@keyframes shell-matrix-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.shell-matrix-line{animation:none}}
#shell-form{margin:0;gap:0;min-height:24px}
.shell-section .prompt,#shell-form .prompt{font:inherit}
.shell-command-value{color:#00d65b}
#shell-form label{flex:none}
#shell-input{height:24px;padding:0 3px;border:0;border-radius:0;color:#00d65b;caret-color:#00ff4d}
#shell-input:focus{background:rgba(0,255,65,.08);outline:1px solid rgba(0,255,65,.3);outline-offset:-1px;box-shadow:inset 0 0 8px rgba(0,255,65,.16),0 0 8px rgba(0,255,65,.28)}
.shell-error{color:#ff364d}

.page-shell main>.shell-section{display:none}
body.shell-open .page-shell main>section:not(.shell-section){display:none}
body.shell-open .page-shell main>.shell-section{display:flex;min-height:calc(100vh - 112px);padding:36px 7% 28px}
@media(max-width:760px){body.shell-open .page-shell main>.shell-section{padding:24px 4% 28px}}

.hero{--hero-cue-size:14px}
.boot-lines,.scroll-cue{color:#00a740;font-size:var(--hero-cue-size);font-weight:700}
@media(max-width:480px){.hero{--hero-cue-size:11px}}

.desktop-nav a{padding:4px 6px;border:2px solid transparent;border-radius:8px;transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#00f868;border-color:#00ff39;background:rgba(0,255,65,.11);box-shadow:0 0 10px #00ff4d77,inset 0 0 7px #00ff4d29;outline:none}
@media(prefers-reduced-motion:reduce){.desktop-nav a{transition:none}}
