*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.book-button{background-color:#2563eb;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:.5rem 1rem;transition:background-color .3s ease}.site-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem 0;position:sticky;top:0;z-index:100}.nav-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.site-title{color:#333;font-size:1.25rem;font-weight:600}.site-title:hover{text-decoration:none}.nav-menu{display:flex;gap:2rem;list-style:none}.nav-menu a{color:#666;font-weight:500}.nav-menu a:hover{color:#333;text-decoration:none}.main-content{margin:0 auto;max-width:800px;min-height:calc(100vh - 200px);padding:3rem 1rem}h1{color:#111;font-size:2.5rem;line-height:1.2}h1,h2{margin-bottom:1rem}h2{color:#222;font-size:2rem;margin-top:3rem}h3{color:#333;font-size:1.5rem;margin-bottom:.75rem;margin-top:2rem}p{margin-bottom:1rem}.projects-section{margin-top:4rem}.project{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.project h3{color:#1a1a1a;margin-top:0}.tvl{color:#059669;font-weight:600;margin-bottom:.5rem}.project-link{font-weight:500}.skills-section{margin-top:4rem}.skills-section ul{list-style-position:inside;margin-left:1rem}.skills-section li{margin-bottom:.5rem}.contact-section{margin-top:4rem}.contact-section ul{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;margin-top:1rem}.blog-page h1{margin-bottom:.5rem}.blog-intro{color:#666;font-size:1.1rem;margin-bottom:3rem}.posts-list{display:flex;flex-direction:column;gap:2rem}.post-preview{border-bottom:1px solid #e9ecef;padding-bottom:2rem}.post-preview h2{font-size:1.5rem;margin-bottom:.5rem;margin-top:0}.post-preview time{color:#666;font-size:.9rem}.post-preview p{color:#555;margin-top:.75rem}.read-more{font-weight:500}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.post-header{margin-bottom:3rem}.post-header h1{margin-bottom:.5rem}.post-header time{color:#666;font-size:.95rem}.post-categories{margin-top:.75rem}.category{background-color:#e3f2fd;border-radius:20px;color:#1976d2;display:inline-block;font-size:.85rem;margin-right:.5rem;padding:.25rem .75rem}.post-content{font-size:1.1rem;line-height:1.8}.post-content h2{margin-top:2.5rem}.post-content ul{margin-bottom:1rem;margin-left:1.5rem}.post-footer{margin-top:4rem;padding-top:2rem}.post-footer,.site-footer{border-top:1px solid #e9ecef}.site-footer{background-color:#f8f9fa;padding:2rem 0}.footer-content{margin:0 auto;max-width:1200px;padding:0 1rem;text-align:center}.footer-content p{color:#666;margin-bottom:1rem}.social-links{display:flex;gap:1.5rem;justify-content:center}.social-links a{color:#666}.social-links a:hover{color:#333}.malware-page{display:flex;flex-direction:column;gap:3rem}.malware-hero .eyebrow{color:#64748b;font-size:.9rem;letter-spacing:.1em;margin-bottom:.75rem;text-transform:uppercase}.malware-hero h1{margin-bottom:1rem}.malware-hero .subhead{color:#475569;font-size:1.2rem;margin-bottom:1.5rem}.hero-highlights{color:#1f2937;display:flex;flex-wrap:wrap;font-weight:500;gap:1.5rem;list-style:none}.malware-upload-section{align-items:stretch;display:flex;flex-wrap:wrap;gap:2rem}.malware-faq-card,.malware-upload-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0f172a0f;padding:2rem}.malware-upload-card{flex:2 1 460px}.malware-faq-card{background:#f8fafc;flex:1 1 320px}.malware-faq-card h3,.malware-upload-card h2{margin-bottom:1rem;margin-top:0}.malware-upload-form{display:flex;flex-direction:column;gap:1rem}.malware-upload-form input,.malware-upload-form textarea{border:1px solid #cbd5f5;border-radius:8px;font-size:1rem;padding:.75rem 1rem;width:100%}.upload-dropzone{background:#fff;border:2px dashed #94a3b8;border-radius:16px;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:border-color .2s ease,background-color .2s ease}.upload-dropzone input[type=file]{cursor:pointer;inset:0;opacity:0;position:absolute}.upload-dropzone.dragging{background:#eff6ff;border-color:#2563eb}.upload-dropzone.has-file{border-color:#22c55e}.dropzone-hint{color:#64748b;margin-top:.25rem;overflow-wrap:anywhere;word-break:break-word}.upload-button{align-items:center;background:linear-gradient(120deg,#2563eb,#7c3aed);border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.9rem 1.5rem;transition:opacity .2s ease,transform .2s ease}.upload-button:disabled{cursor:not-allowed;opacity:.6}.upload-button .button-progress{animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.4);border-radius:50%;border-top-color:#fff;display:none;height:18px;width:18px}.upload-button.is-uploading .button-progress{display:inline-flex}.upload-status{color:#475569;font-size:.95rem;min-height:1.5rem}.upload-status.is-success{color:#16a34a}.upload-status.is-error{color:#dc2626}.malware-faq-card ol{color:#0f172a;padding-left:1.25rem}.malware-faq-card .disclaimer{color:#dc2626;font-size:.9rem;margin-top:1.5rem}.malware-samples-section{margin-top:2rem}.section-heading p{color:#475569}.malware-sample-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1.5rem}.malware-sample-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem}.malware-sample-card header h3{font-size:1.25rem;margin-bottom:0;overflow-wrap:anywhere;word-break:break-word}.sample-status{font-size:.85rem;font-weight:600;overflow-wrap:anywhere;text-transform:uppercase;word-break:break-word}.status-tag{align-items:center;display:inline-flex;gap:.35rem}.status-tag:before{background:#94a3b8;border-radius:999px;content:"";height:.75rem;width:.75rem}.status-reverse-engineering:before{background:#f97316}.status-write-up-in-progress:before,.status-write-up:before{background:#2563eb}.status-in-queue:before,.status-queued:before{background:#a855f7}.sample-meta{color:#475569;font-size:.9rem}.sample-notes{overflow-wrap:anywhere;word-break:break-word}.sample-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.sample-actions a{font-weight:500}.malware-writeups-list{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.malware-writeups-list article{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.writeup-meta{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.empty-state{color:#94a3b8;font-style:italic}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:768px){.nav-menu{display:none}h1{font-size:2rem}h2{font-size:1.5rem}.contact-section ul{gap:.5rem}.contact-section ul,.malware-upload-section{flex-direction:column}}
