.crt-wrapper[data-v-23583ecc]{border-radius:4px;min-height:100vh;position:relative;overflow:hidden}.vignette[data-v-23583ecc]{pointer-events:none;z-index:9998;background:radial-gradient(#0000 60%,#0009 100%);position:fixed;inset:0}.hero[data-v-ecb7f13f]{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px;display:flex;position:relative}.boot-terminal[data-v-ecb7f13f]{font-family:var(--font-display);width:100%;max-width:700px;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.6}.boot-line[data-v-ecb7f13f]{opacity:0;color:var(--green-dim);letter-spacing:.05em;white-space:pre;transition:opacity .2s}.boot-line.visible[data-v-ecb7f13f]{opacity:1}.boot-line.line-name[data-v-ecb7f13f]{color:var(--green);text-shadow:var(--glow);margin-top:12px;font-size:clamp(1.3rem,2.5vw,1.8rem)}.boot-line.line-title[data-v-ecb7f13f]{color:var(--green);font-size:clamp(1.1rem,2vw,1.5rem)}.boot-line.line-status[data-v-ecb7f13f]{color:var(--green-bright);text-shadow:var(--glow-strong);margin-top:4px;font-size:clamp(1.3rem,2.5vw,1.8rem)}.boot-line.line-separator[data-v-ecb7f13f]{color:var(--border);margin:6px 0}.scroll-hint[data-v-ecb7f13f]{font-family:var(--font-display);color:var(--green-dim);letter-spacing:.2em;opacity:0;font-size:1rem;transition:opacity .8s;animation:2s ease-in-out infinite scrollPulse-ecb7f13f;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-hint.visible[data-v-ecb7f13f]{opacity:1}@keyframes scrollPulse-ecb7f13f{0%,to{opacity:.5}50%{opacity:1}}.about-section[data-v-c0709516]{border-top:1px solid var(--border)}.about-content[data-v-c0709516]{gap:40px;display:grid}.about-text[data-v-c0709516]{flex-direction:column;gap:20px;display:flex}.about-text .section-title[data-v-c0709516]{margin-bottom:16px}.about-text p[data-v-c0709516]{max-width:75ch;color:var(--green)}.projects-section[data-v-7ce47f67]{border-top:1px solid var(--border)}.projects-section .section-title[data-v-7ce47f67]{margin-bottom:40px}.projects-grid[data-v-7ce47f67]{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:32px;display:grid}.project-card[data-v-7ce47f67]{border:1px solid var(--border);flex-direction:column;gap:16px;padding:24px;transition:border-color .2s,box-shadow .2s;display:flex}.project-card[data-v-7ce47f67]:hover{border-color:var(--green-dim);box-shadow:var(--glow)}.card-header[data-v-7ce47f67]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-title[data-v-7ce47f67]{font-family:var(--font-display);text-shadow:var(--glow);color:var(--green);flex:1;min-width:0;font-size:1.6rem}.project-description[data-v-7ce47f67]{color:var(--green-muted);max-width:none;font-size:.85rem;line-height:1.7}.stack-row[data-v-7ce47f67]{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.card-links[data-v-7ce47f67]{flex-wrap:wrap;gap:16px;margin-top:auto;display:flex}.card-link[data-v-7ce47f67]{font-family:var(--font-display);color:var(--green-dim);letter-spacing:.1em;font-size:.9rem;transition:color .15s,text-shadow .15s}.card-link[data-v-7ce47f67]:hover{color:var(--green-bright);text-shadow:var(--glow)}.card-link-placeholder[data-v-7ce47f67]{font-family:var(--font-display);color:var(--border);letter-spacing:.1em;font-size:.9rem}.skills-section[data-v-e0bffda2]{border-top:1px solid var(--border)}.skills-section .section-title[data-v-e0bffda2]{margin-bottom:40px}.skills-grid[data-v-e0bffda2]{grid-template-columns:1fr 1fr;gap:60px;display:grid}.skills-column[data-v-e0bffda2]{flex-direction:column;gap:12px;display:flex}.column-label[data-v-e0bffda2]{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px}.skill-list[data-v-e0bffda2]{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.skill-row[data-v-e0bffda2]{margin:0}.skill-line[data-v-e0bffda2]{font-family:var(--font-body);color:var(--green-muted);white-space:pre;letter-spacing:0;font-size:.85rem;transition:color .15s;display:block}.skill-row:hover .skill-line[data-v-e0bffda2]{color:var(--green)}.experience-section[data-v-2ccfdbba]{border-top:1px solid var(--border)}.experience-section .section-title[data-v-2ccfdbba]{margin-bottom:40px}.timeline-entry[data-v-2ccfdbba]{padding-bottom:8px}.timeline-entry.education[data-v-2ccfdbba]:before{background:var(--green);outline-color:var(--green)}.entry-period[data-v-2ccfdbba]{margin-bottom:6px;font-size:.7rem}.entry-role[data-v-2ccfdbba]{font-family:var(--font-display);color:var(--green);text-shadow:var(--glow);margin-bottom:4px;font-size:1.5rem}.entry-org[data-v-2ccfdbba]{color:var(--green-muted);margin-bottom:10px;font-size:.75rem}.entry-description[data-v-2ccfdbba]{color:var(--green-muted);max-width:65ch;font-size:.85rem;line-height:1.7}.setup-section[data-v-45b49e3b]{border-top:1px solid var(--border)}.setup-section .section-title[data-v-45b49e3b]{margin-bottom:40px}.rigs-grid[data-v-45b49e3b]{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:40px;display:grid}.rig-panel[data-v-45b49e3b]{border:1px solid var(--border);flex-direction:column;gap:20px;padding:24px;transition:border-color .2s;display:flex}.rig-panel[data-v-45b49e3b]:hover{border-color:var(--green-dim)}.rig-header[data-v-45b49e3b]{flex-direction:column;gap:4px;display:flex}.rig-label[data-v-45b49e3b]{font-size:.65rem}.rig-codename[data-v-45b49e3b]{font-family:var(--font-display);color:var(--green);text-shadow:var(--glow);font-size:1.6rem}.rig-ascii[data-v-45b49e3b]{font-family:var(--font-body);color:var(--green-dim);white-space:pre;border:1px solid var(--border);padding:16px;font-size:.8rem;line-height:1.4;overflow:hidden}.spec-list[data-v-45b49e3b]{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:16px 0 0;list-style:none;display:flex}.spec-row[data-v-45b49e3b]{gap:16px;margin:0;font-size:.82rem;display:flex}.spec-key[data-v-45b49e3b]{min-width:52px;padding-top:2px;font-size:.65rem}.spec-value[data-v-45b49e3b]{color:var(--green);font-family:var(--font-body)}.rig-notes[data-v-45b49e3b]{color:var(--green-dim);border-top:1px solid var(--border);max-width:none;padding-top:12px;font-size:.8rem}.server-note[data-v-45b49e3b]{font-family:var(--font-body);color:var(--green-dim);border:1px solid var(--border);padding:16px 20px;font-size:.82rem;line-height:1.6}.contact-section[data-v-df3ac79d]{border-top:1px solid var(--border)}.contact-section .section-title[data-v-df3ac79d]{margin-bottom:16px}.contact-tagline[data-v-df3ac79d]{font-family:var(--font-display);color:var(--green-dim);letter-spacing:.1em;max-width:none;margin-bottom:48px;font-size:1.1rem}.contact-list[data-v-df3ac79d]{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.contact-item[data-v-df3ac79d]{margin:0}.contact-link[data-v-df3ac79d]{font-family:var(--font-body);color:var(--green-muted);align-items:baseline;gap:10px;font-size:1rem;text-decoration:none;transition:color .15s,text-shadow .15s;display:inline-flex}.contact-link[data-v-df3ac79d]:hover{color:var(--green-bright);text-shadow:var(--glow)}.contact-link:hover .prompt[data-v-df3ac79d]{color:var(--green-bright)}.prompt[data-v-df3ac79d]{color:var(--green);font-family:var(--font-body);-webkit-user-select:none;user-select:none}.cmd[data-v-df3ac79d]{color:var(--green)}.flag[data-v-df3ac79d]{color:var(--green-muted)}.value[data-v-df3ac79d]{color:var(--green)}.site-footer[data-v-df3ac79d]{border-top:1px solid var(--border);font-family:var(--font-display);color:var(--green-dim);letter-spacing:.1em;gap:16px;padding:20px 120px;font-size:.85rem;display:flex}.footer-sep[data-v-df3ac79d]{color:var(--border)}:root{--bg:#0a0f0a;--green:#41ff6b;--green-muted:#5fbf7a;--green-dim:#2a7a3b;--green-bright:#00ff41;--border:#1a3a1a;--glow:0 0 8px #41ff6b;--glow-strong:0 0 16px #41ff6b, 0 0 32px #2a7a3b;--font-display:"VT323", monospace;--font-body:"Share Tech Mono", monospace;--section-padding:80px 120px;--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--green);font-family:var(--font-body);min-height:100vh;font-size:16px;line-height:1.6;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(#0000 0 2px,#00000026 2px 4px);position:fixed;inset:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green-dim)}::-webkit-scrollbar-thumb:hover{background:var(--green)}a{color:var(--green);text-decoration:none;transition:color .15s,text-shadow .15s}a:hover{color:var(--green-bright);text-shadow:var(--glow)}.section{padding:var(--section-padding);max-width:var(--max-width);margin:0 auto}.panel-header{font-family:var(--font-display);color:var(--green-dim);letter-spacing:.2em;border-bottom:1px solid var(--border);text-transform:uppercase;margin-bottom:48px;padding-bottom:8px;font-size:1.1rem}.tech-pill{font-family:var(--font-body);color:var(--green-dim);border:1px solid var(--border);letter-spacing:.05em;margin:2px 4px 2px 0;padding:2px 8px;font-size:.75rem;transition:color .15s,border-color .15s;display:inline-block}.tech-pill:hover{color:var(--green);border-color:var(--green-dim)}.status-badge{font-family:var(--font-display);letter-spacing:.1em;border:1px solid;padding:2px 8px;font-size:.9rem}.status-badge.complete{color:var(--green)}.status-badge.in-progress{color:var(--green-dim)}.status-badge.prototype{color:var(--green-bright);opacity:.7}.img-placeholder{border:1px solid var(--border);color:var(--green-dim);font-family:var(--font-display);letter-spacing:.15em;background:#2a7a3b14;justify-content:center;align-items:center;width:100%;font-size:1rem;display:flex}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{background:var(--green);vertical-align:text-bottom;width:10px;height:1.2em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes flicker{0%{opacity:1}30%{opacity:.85}60%{opacity:1}80%{opacity:.9}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.timeline{border-left:2px solid var(--border);padding-left:32px;position:relative}.timeline-entry{margin-bottom:40px;position:relative}.timeline-entry:before{content:"";background:var(--green-dim);border:2px solid var(--bg);outline:1px solid var(--green-dim);width:10px;height:10px;position:absolute;top:6px;left:-39px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-weight:400;line-height:1.1}h1{text-shadow:var(--glow);font-size:clamp(3rem,6vw,5rem)}h2{text-shadow:var(--glow);font-size:clamp(2rem,4vw,3rem)}h3{text-shadow:var(--glow);font-size:clamp(1.5rem,2.5vw,2rem)}h4{font-size:1.4rem}h5{font-size:1.2rem}h6{font-size:1rem}p{font-family:var(--font-body);color:var(--green);max-width:68ch;font-size:.9rem;line-height:1.75}p.muted{color:var(--green-dim)}.label{font-family:var(--font-body);color:var(--green-dim);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.section-title{font-family:var(--font-display);text-transform:uppercase;text-shadow:var(--glow);letter-spacing:.08em;margin-bottom:8px;font-size:clamp(2.5rem,4vw,3.5rem)}code,.terminal-line{font-family:var(--font-body);color:var(--green);font-size:.85rem}ul,ol{font-family:var(--font-body);padding-left:1.5em;font-size:.9rem;line-height:1.75}li{margin-bottom:4px}
