:root{--bg-color:#1a1a1a;--text-color:#e0e0e0;--accent-color:#f60;--border-color:#333;--grid-color:#ffffff0d;--font-mono:"Courier New", Courier, monospace;--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--border-thick:4px solid var(--border-color);--border-thin:1px solid var(--border-color)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);background-size:20px 20px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}a{color:var(--accent-color);text-decoration:none}a:hover{text-decoration:underline}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{max-width:1200px;padding:var(--spacing-lg);border-left:var(--border-thick);border-right:var(--border-thick);background-color:var(--bg-color);flex:1;margin:0 auto}@media print{body{color:#000;background:0 0}.app-container{border:none;max-width:none;padding:0}.no-print{display:none!important}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{border-bottom:var(--border-thick);padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.header-top{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-end;display:flex}.name{color:var(--accent-color);font-size:3rem;line-height:1}.print-btn{color:var(--text-color);border:var(--border-thin);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);cursor:pointer;background:0 0;font-size:.9rem;transition:all .2s}.print-btn:hover{background:var(--accent-color);color:var(--bg-color);border-color:var(--accent-color)}.reveal-btn{color:var(--text-color);font-family:var(--font-mono);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-color);text-decoration-color:var(--border-color);background:0 0;border:none;padding:0;font-size:.9rem;transition:all .2s}.reveal-btn:hover{color:var(--accent-color);-webkit-text-decoration-color:var(--accent-color);text-decoration-color:var(--accent-color)}.print-only{display:none}.header-info{font-family:var(--font-mono);color:#888;margin-bottom:var(--spacing-md);gap:var(--spacing-sm);flex-wrap:wrap;font-size:.9rem;display:flex}.separator{color:var(--accent-color)}.summary{max-width:800px;font-size:1.1rem}.section{margin-bottom:var(--spacing-xl)}.section-title{border-bottom:var(--border-thin);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--accent-color);font-size:1.5rem;display:inline-block}.job{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-lg);border-left:var(--border-thin);position:relative}.job:before{content:"";background-color:var(--bg-color);border:2px solid var(--accent-color);width:9px;height:9px;position:absolute;top:5px;left:-5px}.job-header{margin-bottom:var(--spacing-sm)}.job-header h3{margin-bottom:.2rem;font-size:1.2rem}.job-meta{font-family:var(--font-mono);color:#888;font-size:.85rem}.job-details{padding-left:var(--spacing-lg);color:#ccc;list-style-type:square}.job-details li{margin-bottom:var(--spacing-sm)}.project-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.project-card{border:var(--border-thin);padding:var(--spacing-md);background-color:#0003;transition:transform .2s,border-color .2s}.project-card:hover{border-color:var(--accent-color);transform:translateY(-2px)}.project-card h4{color:var(--text-color);margin-bottom:.1rem;font-size:1.1rem}.project-meta{font-family:var(--font-mono);color:var(--accent-color);margin-bottom:var(--spacing-sm);font-size:.8rem;display:block}.project-card p{color:#aaa;font-size:.95rem}.skills-container{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.skill-category{padding:var(--spacing-sm);border:1px dashed #444}.skill-category h5{color:var(--accent-color);margin-bottom:var(--spacing-sm);font-size:.9rem}.skill-category p{font-size:.9rem;font-family:var(--font-mono);color:#ccc;margin-bottom:.2rem}.skill-category p strong{color:var(--text-color);font-weight:400}.footer{border-top:var(--border-thick);padding-top:var(--spacing-md);text-align:center;font-family:var(--font-mono);color:#666;font-size:.8rem}@media print{@page{size:letter;margin:0}.print-only{display:inline!important}.screen-only{display:none!important}body{font-size:8.5pt;line-height:1.2}.app-container{border:none;flex-direction:column;justify-content:space-between;max-width:100%;height:100vh;padding:.4in;display:flex}main{display:contents}.header{border-color:#000;margin-bottom:0;padding-bottom:.3rem}.name{margin-bottom:.2rem;font-size:14pt}.header-info{gap:.25rem;margin-bottom:.6rem;font-size:8.5pt}.summary{font-size:9pt;line-height:1.4}.section{margin-bottom:0}.section-title{border-color:#000;margin-bottom:.3rem;padding-bottom:.1rem;font-size:12pt}.job{page-break-inside:avoid;border-left-color:#000;margin-bottom:.4rem;padding-left:.6rem}.job:before{background-color:#fff;border-color:#000;width:6px;height:6px;top:3px;left:-5px}.job-header{margin-bottom:.1rem}.job-header h3{font-size:10pt}.job-details{padding-left:.8rem}.job-details li{margin-bottom:.1rem}.project-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.project-card{page-break-inside:avoid;border:1px solid #000;margin-bottom:0;padding:.3rem}.project-card h4{margin-bottom:.05rem;font-size:9.5pt}.project-meta{margin-bottom:.2rem;font-size:7.5pt;color:#555!important}.project-card p{font-size:8pt}.skills-container{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.skill-category{page-break-inside:avoid;border:1px solid #000;padding:.3rem}.skill-category h5{margin-bottom:.1rem;font-size:8.5pt}.skill-category p{font-size:8pt}.footer{border-color:#000;margin-top:.3rem;padding-top:.3rem;font-size:7.5pt}h1,h2,h3,h4,h5,.separator,.name,.section-title,.skill-category h5{color:#000}.job-meta,.job-details,.project-card p,.skill-category p,.header-info{color:#333}*{background:0 0!important}}@media (width<=768px){.header-top{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.name{font-size:2.5rem}.app-container{padding:var(--spacing-md);border-left:none;border-right:none}}
