@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&family=DM+Serif+Display:ital@0;1&display=swap";:root{--bg: #F8F8F2;--text: #111;--muted: #777;--accent: #111;--border: #E5E5E0;--tag-bg: #F2F2EE;--sans: "DM Sans", -apple-system, sans-serif;--serif: "DM Serif Display", Georgia, serif;--col: 680px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--text)}nav{max-width:960px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative}.logo{font-family:var(--serif);font-size:1.3rem;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:.5rem}.logo-mark{width:24px;height:24px;flex-shrink:0}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text)}.nav-toggle svg{width:22px;height:22px}.nav-links{display:flex;gap:1.8rem;align-items:center}.nav-links a{text-decoration:none;color:var(--muted);font-size:.88rem;font-weight:400;transition:color .15s}.nav-links a:hover{color:var(--text)}.sep{max-width:var(--col);margin:0 auto;padding:0 2rem}.sep hr{border:none;border-top:1px solid var(--border)}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2.5rem}.section-header h2{font-family:var(--serif);font-size:1.4rem;font-weight:400}.section-header a{font-size:.82rem;color:var(--muted);text-decoration:none}.section-header a:hover{color:var(--text)}.tag{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--tag-bg);padding:.15rem .55rem;border-radius:3px}.post{display:block;text-decoration:none;padding:1.3rem 0;border-bottom:1px solid var(--border);transition:padding-left .15s}.post:first-child{border-top:1px solid var(--border)}.post:hover{padding-left:.5rem}.post-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.post-title{font-size:1rem;font-weight:500;color:var(--text)}.post-date{font-size:.78rem;color:var(--muted);white-space:nowrap;margin-left:1rem}.post-desc{font-size:.88rem;color:var(--muted);line-height:1.55}.post-tags{display:flex;gap:.4rem;margin-top:.5rem}.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.exp-card{border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-decoration:none;transition:border-color .15s;display:flex;flex-direction:column;gap:.5rem;color:var(--text)}.exp-card:hover{border-color:var(--text)}.exp-card .exp-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}.exp-card h3{font-size:.95rem;font-weight:500}.exp-card p{font-size:.82rem;color:var(--muted);line-height:1.5}.role{font-size:.78rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:100px;color:var(--muted)}footer{max-width:var(--col);margin:0 auto;padding:2rem 2rem 3rem;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--muted)}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--text)}.footer-links{display:flex;gap:1.5rem}.article-header{max-width:var(--col);margin:0 auto;padding:4rem 2rem 0}.article-header .back{font-size:.82rem;color:var(--muted);text-decoration:none;display:inline-block;margin-bottom:2rem}.article-header .back:hover{color:var(--text)}.article-header h1{font-family:var(--serif);font-size:2.4rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:1rem}.article-meta-bar{display:flex;gap:1.5rem;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:.5rem}.article-tags{display:flex;gap:.4rem}.article-body{max-width:var(--col);margin:0 auto;padding:2.5rem 2rem 4rem}.article-body p{font-size:1.05rem;line-height:1.8;color:#333;margin-bottom:1.5rem}.article-body h2{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:2.5rem 0 1rem}.article-body h3{font-size:1.1rem;font-weight:600;margin:2rem 0 .75rem}.article-body blockquote{border-left:2px solid var(--border);padding-left:1.25rem;margin:1.5rem 0;font-style:italic;color:var(--muted)}.article-body blockquote p{color:var(--muted)}.article-body ul,.article-body ol{margin:1rem 0 1.5rem 1.5rem;color:#333}.article-body li{font-size:1.05rem;line-height:1.7;margin-bottom:.5rem}.article-body code{font-size:.9em;background:var(--tag-bg);padding:.15rem .4rem;border-radius:3px}.article-body .callout{background:var(--tag-bg);border-radius:8px;padding:1.5rem;margin:2rem 0;font-size:.95rem}.article-body .callout p{font-size:.95rem;margin-bottom:0;color:#333}.article-body .callout p+p{margin-top:.75rem}.lab-header{max-width:var(--col);margin:0 auto;padding:4rem 2rem 1rem}.lab-header h1{font-family:var(--serif);font-size:2.4rem;letter-spacing:-.02em;margin-bottom:.75rem}.lab-header p{color:var(--muted);font-size:1.05rem;line-height:1.7}.lab-grid{max-width:var(--col);margin:0 auto;padding:2rem 2rem 4rem;display:grid;grid-template-columns:1fr;gap:1rem}.lab-card{border:1px solid var(--border);border-radius:8px;padding:2rem;text-decoration:none;color:var(--text);transition:border-color .15s;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.lab-card:hover{border-color:var(--text)}.lab-card .exp-label{margin-bottom:.3rem}.lab-card h3{font-size:1.05rem;font-weight:500;margin-bottom:.3rem}.lab-card p{font-size:.88rem;color:var(--muted);line-height:1.55}.lab-card .arrow{font-size:1.2rem;color:var(--muted);transition:transform .15s}.lab-card:hover .arrow{transform:translate(3px)}.tool-container{max-width:var(--col);margin:0 auto;padding:2rem}@media(max-width:700px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;right:2rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem 1.25rem;flex-direction:column;gap:0;box-shadow:0 4px 12px #00000014;z-index:100}.nav-links.open{display:flex}.nav-links a{padding:.6rem 0;border-bottom:1px solid var(--border);width:100%}.nav-links a:last-child{border-bottom:none}.exp-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:1rem}.article-header h1{font-size:1.8rem}.lab-card{grid-template-columns:1fr}}
