:root{color-scheme:dark;--bg:#0b0e0b;--panel:#101510;--text:#e5e9df;--muted:#a4afa1;--green:#b1f778;--line:#344131;--mono:Consolas,"Liberation Mono",Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 var(--mono);overflow-wrap:break-word}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--green)}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}::selection{color:var(--bg);background:var(--green)}button{font:inherit}.wrap{width:min(1220px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:10;padding:12px;background:var(--green);color:#111}.skip-link:focus{top:12px}#code-rain{position:fixed;inset:0;z-index:-1;width:100%;height:100%;opacity:.19;pointer-events:none}.site-header{display:flex;align-items:center;gap:36px;min-height:106px;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;text-decoration:none;white-space:nowrap;font-size:17px}.wordmark>span:first-child{color:var(--green);margin-right:9px}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a{font-size:13px;text-decoration:none}.site-header button{border:1px solid var(--line);color:var(--muted);background:var(--bg);padding:7px 10px;font-size:11px;cursor:pointer;white-space:nowrap}.accent{color:var(--green)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:76px 0 80px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:400}.hero .eyebrow{margin-top:0;letter-spacing:1.3px}.status-dot{display:inline-block;background:var(--green);width:6px;height:6px;margin-right:10px;border-radius:50%}.command{font-size:12px;color:var(--green);margin:36px 0 18px}h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(65px,7.5vw,108px);font-weight:700;letter-spacing:-6px;line-height:.96;margin:0 0 28px}.hero-subtitle{font-size:17px;line-height:1.6;margin:0;color:#c6cfc0}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px;font-size:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;background:var(--green);color:#15200d;padding:12px 18px;text-decoration:none;font-weight:700;border:1px solid var(--green)}.button:hover{background:#ccffa5;color:#0b0e0b}.text-link{white-space:nowrap}.terminal-intro{background:var(--panel);border:1px solid #4a5d40;box-shadow:7px 7px 0 #192015}.terminal-bar{display:flex;justify-content:space-between;padding:11px 17px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.terminal-bar>span:first-child{letter-spacing:3px;color:#73816b}.terminal-body{padding:23px 28px;font-size:13px;line-height:1.85}.terminal-body p{margin:0 0 18px}.terminal-body p:last-child{margin:0}.ascii-mark{font-size:13px;line-height:1.05;color:var(--green);margin:0 0 26px}.terminal-location{font-size:11px;color:var(--muted);padding-top:12px;border-top:1px dashed var(--line)}.document-bar{display:flex;justify-content:space-between;padding:16px 0;border-block:1px solid var(--line);font-size:12px}.document-bar>span:last-child{font-size:10px;letter-spacing:1px;color:var(--muted)}.resume-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:52px;padding:60px 0 90px}.resume-index{align-self:start;position:sticky;top:35px}.resume-index nav{display:flex;flex-direction:column;gap:17px;margin:26px 0}.resume-index nav a{font-size:13px;text-decoration:none}.resume-index nav span{font-size:10px;color:var(--green);margin-right:15px}.cv-link{font-size:11px;color:var(--muted)}.index-note{margin-top:70px;font-size:11px;color:var(--muted);line-height:1.9}.resume-document{background:var(--bg);min-width:0}.resume-document section{scroll-margin-top:25px}.section-heading{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:6px}.section-heading>span:first-child{font-size:12px;color:var(--green)}h2{font-size:22px;font-weight:400;letter-spacing:-.8px;margin:0}.section-file{margin-left:auto;font-size:10px;color:var(--muted)}.job{display:grid;grid-template-columns:147px minmax(0,1fr);gap:24px;padding:32px 0;border-bottom:1px solid #263123}.job-meta{color:var(--muted);font-size:11px;line-height:1.8;padding-top:5px}h3{font-size:17px;line-height:1.5;font-weight:600;margin:0 0 8px}.organization{font-size:12px;color:var(--green);margin:0 0 16px}.job ul{padding-left:17px;margin:0;font:14px/1.85 Arial,Helvetica,sans-serif;color:#bdc6b8}.job li{padding-left:4px;margin:0 0 8px}.job li:last-child{margin-bottom:0}#skills,#education{margin-top:65px}.section-intro{font-size:12px;color:var(--muted);margin:26px 0}.skills-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.skills-list li{font-size:13px;padding:15px 0;border-bottom:1px dashed var(--line)}.skills-list li:before{content:"+ ";color:var(--green)}.degree{padding:30px 0;border-bottom:1px solid var(--line)}.degree .eyebrow{color:var(--green);margin:0 0 12px}.degree p{font-size:13px;color:var(--muted);margin:12px 0 0}.degree .degree-focus{color:var(--text);margin-top:0}.degree .gpa{font-size:11px}.site-footer{border-top:1px solid #4a5d40;background:#101510;overflow:hidden}.footer-content{position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:2.7fr 1fr 1fr 1fr;gap:40px;padding:55px 0 50px}.footer-identity p{font-size:12px;color:var(--muted);margin:20px 0}.email-link{font-size:12px}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid h2{font-size:12px;color:var(--green);margin:3px 0 12px;letter-spacing:0}.footer-grid nav a{font-size:11px;color:var(--muted);text-decoration:none}.footer-grid nav a:hover{color:var(--green);text-decoration:underline}.footer-colophon{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding:20px 0;font-size:10px;color:var(--muted)}.footer-landscape{overflow:hidden;height:clamp(220px,33vw,480px);position:relative;background:var(--panel)}.footer-landscape:after{position:absolute;inset:0;content:"";background:linear-gradient(var(--panel),transparent 20%);pointer-events:none}.footer-landscape ascii-art{display:block;width:100%;position:absolute;bottom:0;left:0}.footer-landscape canvas{filter:url(#storm-palette);display:block;width:100%;height:auto}.footer-landscape pre{font:clamp(8px,1.6vw,25px)/1.1 var(--mono);margin:0;color:var(--green);text-align:center}.cursor{color:var(--green)}
@media(min-width:1500px){.hero{padding-block:100px}.hero h1{font-size:115px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:32px}.site-header{gap:22px}.site-header nav{gap:18px}.resume-layout{grid-template-columns:170px minmax(0,1fr);gap:30px}.job{grid-template-columns:1fr;gap:9px}.job-meta{padding:0}.footer-grid{gap:24px;grid-template-columns:2fr 1fr 1fr}.footer-grid nav:last-child{grid-column:2/4}.hero-actions{gap:16px;flex-wrap:wrap}.terminal-body{padding:22px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.site-header{min-height:100px;flex-wrap:wrap;gap:14px;padding-block:20px}.wordmark{font-size:15px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:12px}.site-header button{margin-left:auto}.hero{grid-template-columns:1fr;padding:40px 0 45px;gap:38px}h1{font-size:82px;letter-spacing:-5px}.hero-subtitle{font-size:15px}.command{margin-top:28px}.terminal-body{font-size:13px}.document-bar{font-size:11px}.document-bar>span:last-child{font-size:8px;letter-spacing:0}.resume-layout{display:block;padding-top:28px}.resume-index{position:static;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:35px}.resume-index nav{flex-direction:row;gap:18px;flex-wrap:wrap;margin:17px 0}.resume-index nav a{font-size:11px}.resume-index nav span{margin-right:6px}.index-note{display:none}.section-file{font-size:9px}.section-heading{gap:12px}h2{font-size:20px}.job{padding-block:26px}.job ul{font-size:15px}.skills-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 15px;padding:36px 0}.footer-identity{grid-column:1/-1}.footer-grid nav:last-child{grid-column:auto}.footer-grid nav a{font-size:10px}.footer-colophon{flex-direction:column;gap:6px;padding-block:18px}.footer-landscape ascii-art{width:950px;max-width:none;left:50%;transform:translateX(-50%)}.footer-landscape{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{*{color:#000!important;background:#fff!important;box-shadow:none!important}body{font-size:11px}.wrap{width:100%}.site-header,.terminal-intro,.resume-index,.document-bar,.hero-actions,.site-footer,#code-rain,.skip-link{display:none!important}.hero{display:block;padding:0 0 20px}h1{font-size:40px;letter-spacing:-2px}.hero h1 br{display:none}.hero h1 br:after{content:" "}.hero-subtitle{font-size:14px}.resume-layout{display:block;padding:0}.job{padding:15px 0;break-inside:avoid}.job ul{font-size:11px}.organization{font-size:11px}.degree{break-inside:avoid}#skills,#education{margin-top:25px}a{text-decoration:none}}

/* Full-screen binary message, inspired by the Morpheus reference. */
.message-hero{min-height:720px;min-height:100svh;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}
#binary-field{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.38;pointer-events:none}
.message-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(11,14,11,.92) 5%,rgba(11,14,11,.68) 44%,rgba(11,14,11,.12) 85%);pointer-events:none}
.message-controls{position:absolute;top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.message-controls .eyebrow{font-size:10px;color:#bdc6b8;letter-spacing:1.3px}
.message-controls button{border:1px solid var(--line);background:var(--bg);color:var(--text);padding:8px 12px;font-size:11px;cursor:pointer;white-space:nowrap}
.message-content{width:min(850px,calc(100% - 48px));text-align:center;padding:110px 0}
.message-prompt{color:var(--green);font-size:12px;letter-spacing:2px;margin:0 0 40px}
.message-content figure{margin:0}
.message-content blockquote{font-size:clamp(23px,3.1vw,40px);line-height:1.65;font-weight:400;letter-spacing:-1px;margin:0;color:var(--text);text-shadow:0 2px 15px #0b0e0b}
.message-content blockquote span{color:var(--green)}
.message-content figcaption{color:#bdc6b8;font-size:13px;margin-top:30px}
.message-continue{position:absolute;bottom:35px;color:var(--green);font-size:12px;text-decoration:none;letter-spacing:1px;background:var(--bg);padding:10px 16px}
.message-continue:hover{text-decoration:underline}
.message-cursor{animation:message-blink 1.2s steps(1,end) infinite}
[data-motion="off"] .message-cursor{animation:none}
@keyframes message-blink{50%{opacity:0}}
@media(max-width:680px){.message-controls{top:18px;align-items:flex-start}.message-controls .eyebrow{font-size:8px;max-width:160px;line-height:1.8}.message-content{width:calc(100% - 40px);padding:130px 0}.message-content blockquote{font-size:25px;line-height:1.65;letter-spacing:-.6px}.message-prompt{font-size:10px;letter-spacing:1px;margin-bottom:28px}.message-content figcaption{font-size:12px}.message-continue{bottom:25px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.message-cursor{animation:none}}
@media print{.message-hero{display:none!important}}

/* Keep the quote uncluttered and blend the live landscape into the contact area. */
.message-controls{justify-content:flex-end}
.site-footer{position:relative;isolation:isolate}
.footer-grid{grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:60px;padding:55px 0 70px}
.footer-grid nav:last-child{grid-column:auto}
.footer-content{z-index:1;text-shadow:0 1px 8px var(--panel)}
.footer-landscape{height:clamp(420px,48vw,690px);margin-top:-200px;z-index:0;pointer-events:none}
.footer-landscape:after{background:linear-gradient(to bottom,var(--panel) 0%,rgba(16,21,16,.95) 18%,rgba(16,21,16,.65) 36%,rgba(16,21,16,.15) 58%,transparent 78%)}
@media(max-width:680px){.footer-grid{grid-template-columns:1fr;gap:30px;padding:36px 0 65px}.footer-identity{grid-column:auto}.footer-grid nav{gap:12px}.footer-grid nav a{font-size:12px}.footer-landscape{height:450px;margin-top:-180px}.footer-landscape:after{background:linear-gradient(var(--panel) 0%,rgba(16,21,16,.95) 23%,rgba(16,21,16,.7) 43%,transparent 80%)}}

/* A shared code-rain backdrop connects the quotation and résumé. */
.message-hero{background:transparent;border-bottom:0}
.message-hero:after{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.quote-animation{display:block;color:var(--green)}
.quote-line{display:block;font-size:clamp(11px,2vw,25px);height:1.7em;overflow:hidden;letter-spacing:0;text-shadow:0 2px 15px var(--bg)}
.quote-line pre{font-family:var(--mono);font-size:inherit;line-height:1.7!important;transform:translateY(-1.7em);margin:0!important;text-align:center}
#name{font:inherit;letter-spacing:0;margin:20px 0 28px;color:var(--green)}
.name-glitch{display:block;font-size:clamp(7px,.78vw,10px);height:9em;overflow:hidden;letter-spacing:0}
.name-glitch pre{font-family:var(--mono);font-size:inherit;line-height:1!important;transform:translateY(-2em);margin:0!important}
.terminal-intro{container-type:inline-size}
.terminal-body ascii-art[piece="boot-log"]{display:block;font-size:clamp(7px,1.9cqw,12px);line-height:1.8;color:var(--green);letter-spacing:0}
.terminal-body ascii-art[piece="boot-log"] pre{font-family:var(--mono);font-size:inherit;line-height:1.8!important;margin:0!important}
@media(max-width:680px){.quote-line{font-size:clamp(10px,3.3vw,16px)}.message-content{width:100%}.name-glitch{font-size:clamp(6px,2.1vw,10px)}}
@media print{#name ascii-art{display:none}#name:after{content:"Jamdan Clang";font-size:40px}}

/* The library's Matrix Rain is the continuous page background. */
.matrix-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;color:var(--green);opacity:.13}
.matrix-background ascii-art{display:block;font-size:max(.6625vw,.95vh);width:100%;height:100%}
.matrix-background pre{font-family:var(--mono);font-size:inherit;line-height:1.1!important;margin:0!important}
.site-footer{border-top:0;background:linear-gradient(to bottom,transparent 0,var(--panel) 230px)}
.footer-landscape{background:transparent;mask-image:linear-gradient(to bottom,transparent 0%,#000 48%)}
.footer-landscape:after{background:linear-gradient(to bottom,transparent 0%,rgba(16,21,16,.65) 25%,rgba(16,21,16,.15) 58%,transparent 78%)}
@media print{.matrix-background{display:none}}

/* Remove the piece's fixed padding so both words share the text column's left edge. */
.name-glitch pre{transform:translate(-14ch,-2em);text-align:left}
.name-glitch:nth-child(2) pre{transform:translate(-17ch,-2em)}



/* Give the résumé panel an even inset and keep contact links above the landscape. */
.resume-document{padding-inline:20px}
.footer-grid{padding-top:20px;padding-bottom:110px}
.footer-landscape{margin-top:-100px}
@media(max-width:680px){.footer-grid{padding-top:16px;padding-bottom:95px}.footer-landscape{margin-top:-70px}}
