:root{--paper: #F7F0E7;--ink: #272027;--rule: #E4DBC9;--muted: #7C6F64;--bg-highlight: #FFFFFF;--bg-fade: #F7F0E7;--highlight: #F0C36D}:root[data-theme="dark"]{--paper: #0F172A;--ink: #F2F2F2;--rule: #263449;--muted: #94A3B8;--bg-highlight: #16233A;--bg-fade: #000000;--highlight: #475569}:root[data-theme="light"]{--paper: #F7F0E7;--ink: #272027;--rule: #E4DBC9;--muted: #7C6F64;--bg-highlight: #FFFFFF;--bg-fade: #F7F0E7;--highlight: #F0C36D}::selection{background:var(--highlight)}@font-face{font-family:'Geist';font-style:normal;font-weight:400 800;font-display:swap;src:url("/fonts/Geist-Variable-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--paper);background-image:radial-gradient(150% 150% at 100% 100%, var(--bg-highlight) 0%, var(--bg-fade) 70%);background-attachment:fixed;color:var(--ink);font-family:'Geist', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;font-size:14px;min-height:100vh;min-height:100dvh}@media (prefers-reduced-motion: no-preference){body,.theme-toggle,a{transition:background-color .15s ease, color .15s ease, border-color .15s ease}.writing-row{transition:opacity .2s ease-out}.writing-arrow{transition:opacity .15s ease-out, transform .15s ease-out}}a{color:var(--ink);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--rule);text-underline-offset:3px}a:hover{text-decoration-color:var(--ink)}.page{max-width:820px;margin:0 auto;padding:4.5rem clamp(2rem, 8vw, 7rem) 6rem;font-size:1rem}.masthead{margin-bottom:3.5rem}.masthead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}h1{font-size:1.25rem;font-weight:700;letter-spacing:-0.01em;margin:0 0 .35rem;text-wrap:balance}.role{font-size:1rem;font-weight:400;color:var(--muted);margin:0 0 1.1rem}.socials{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.social-link{position:relative;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;padding:.4rem;margin:-.4rem;border-radius:8px}.social-link svg{width:18px;height:18px;fill:currentColor}.social-link:hover{color:var(--ink)}.social-link::after{content:attr(title);position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(4px);background:var(--ink);color:var(--paper);font-size:.7rem;font-weight:500;padding:.3em .6em;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease}.social-link:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}.byline{color:var(--muted);font-size:0.95rem;margin:0;max-width:60ch;line-height:1.7}.byline strong{font-weight:700}.byline a{color:var(--muted);font-weight:600;text-decoration-color:var(--muted)}.byline a:hover{color:var(--ink);text-decoration-color:var(--ink)}.theme-toggle{display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);background:none;color:var(--ink);width:2.6rem;height:2.6rem;border-radius:999px;cursor:pointer;flex-shrink:0;font-family:inherit}.theme-toggle:hover{border-color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.section-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .75rem;font-weight:800}section{margin-bottom:3.5rem}section:last-child{margin-bottom:0}.work-company{display:block;margin:0 -1.25rem;padding:1.1rem 1.25rem;border-radius:10px;color:inherit;text-decoration:none}.work-company:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.work-company:hover .work-company-name{color:var(--ink)}.work-company-name{font-size:.95rem;font-weight:400;letter-spacing:-0.01em;margin:0 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--rule)}.work-role{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;padding-left:.9rem;font-size:.88rem}.work-role-title{color:var(--muted);font-weight:400}.work-role-dates{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;white-space:nowrap;font-size:.8rem}.writing-list{display:flex;flex-direction:column}.writing-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;border-top:1px solid var(--rule)}.writing-row:first-of-type{border-top:none;padding-top:1.1rem}.writing-list:hover .writing-row{opacity:.4}.writing-list .writing-row:hover{opacity:1}.writing-title-wrap{position:relative;display:inline-flex;align-items:center;min-width:0}.writing-title{color:var(--ink);text-decoration:none;font-size:.95rem}.writing-arrow{position:absolute;top:0;bottom:0;left:100%;display:flex;align-items:center;padding-left:.2rem;color:var(--muted);opacity:0;transform:translateX(-4px)}.writing-row:hover .writing-arrow{opacity:1;transform:translateX(0)}.writing-date{color:var(--muted);font-size:.8rem;flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.writing-row--draft,.writing-list .writing-row--draft:hover{cursor:default;opacity:.85}.writing-row--draft .writing-title{color:var(--muted);cursor:default;pointer-events:none}.writing-draft-label{font-style:italic;letter-spacing:.02em}@media (max-width: 640px){.page{padding:3rem 1.75rem 4rem}h1{font-size:1.15rem}.work-role{flex-direction:column;gap:.1rem;padding-left:.7rem}.writing-row{flex-direction:column;gap:.15rem}}
