:root{--bg:#f9fafb;--surface:#fff;--header-bg:#ffffffb3;--border:#e5e7eb;--card-border:#e5e7eb;--text:#111827;--text-700:#374151;--text-600:#4b5563;--text-500:#6b7280;--chevron:#9ca3af;--hover-bg:#e5e7eb;--accent:#4f46e5;--accent-hover:#4338ca;--ok-bg:#f0fdf4;--ok-border:#bbf7d0;--ok-text:#15803d;--err-bg:#fef2f2;--err-border:#fecaca;--err-text:#b91c1c;--input-border:#d1d5db;--sans:"Inter", system-ui, sans-serif;--serif:"Merriweather", serif}:root.dark{color-scheme:dark;--bg:#111827;--surface:#1f2937;--header-bg:#111827b3;--border:#1f2937;--card-border:#374151;--text:#fff;--text-700:#d1d5db;--text-600:#9ca3af;--text-500:#9ca3af;--chevron:#6b7280;--hover-bg:#374151;--accent:#818cf8;--accent-hover:#a5b4fc;--ok-bg:#14532d33;--ok-border:#14532d;--ok-text:#86efac;--err-bg:#7f1d1d33;--err-border:#7f1d1d;--err-text:#fca5a5;--input-border:#374151}*,:before,:after{box-sizing:border-box}html{font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5;transition:background-color .3s,color .3s}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0}.skip{position:absolute;left:-999px}.skip:focus{background:var(--surface);z-index:50;padding:.5rem .75rem;top:1rem;left:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;margin:0 auto;padding:0 1rem}@media (width>=640px){.container{max-width:640px;padding:0 1.5rem}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px;padding:0 2rem}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--border);transition:background-color .3s,border-color .3s;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:4rem;display:flex}.logo{font:700 1.25rem/1.75rem var(--serif);letter-spacing:-.025em;color:var(--text)}.logo .dot{color:var(--accent)}.nav-desktop{gap:2rem;display:none}.nav-desktop a,.nav-mobile a{color:var(--text-700);font-weight:500;transition:color .2s}.nav-desktop a:hover,.nav-desktop a[aria-current=page],.nav-mobile a[aria-current=page]{color:var(--accent)}.header-buttons{align-items:center;display:flex}.icon-btn{color:var(--text-700);cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;padding:.5rem;transition:background-color .2s;display:grid}.icon-btn:hover{background:var(--hover-bg)}.menu-toggle{border-radius:.375rem;margin-left:.5rem}.theme-toggle .sun,:root.dark .theme-toggle .moon{display:none}:root.dark .theme-toggle .sun{display:block}.menu-toggle .close,.menu-toggle[aria-expanded=true] .open{display:none}.menu-toggle[aria-expanded=true] .close{display:block}.nav-mobile{background:var(--bg);border-top:1px solid var(--border);padding:1rem}:root:not(.dark) .nav-mobile{background:#fff}.nav-mobile:not([hidden]){gap:1rem;display:grid}@media (width>=768px){.nav-desktop{display:flex}.menu-toggle,.nav-mobile{display:none!important}}.site-main{min-height:calc(100vh - 13rem);padding-top:2rem;padding-bottom:2rem}@media (width>=768px){.site-main{padding-top:3rem;padding-bottom:3rem}}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-600);padding:2rem 0;font-size:.875rem;line-height:1.25rem}.footer-sub{margin-top:.25rem}.breadcrumb{margin-bottom:1.5rem}.breadcrumb ol{color:var(--text-600);align-items:center;gap:.5rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumb li{align-items:center;min-width:0;display:flex}.breadcrumb a{align-items:center;transition:color .2s;display:flex}.breadcrumb a:hover{color:var(--accent)}.crumb-sep{color:var(--chevron);margin:0 .5rem 0 0}.breadcrumb [aria-current]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:20rem;font-weight:500;overflow:hidden}.narrow{max-width:48rem;margin:0 auto}.form-width{max-width:42rem;margin:0 auto}.fade-in{animation:.5s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.intro{text-align:center;margin-bottom:3rem}.intro h2{font:700 1.875rem/2.25rem var(--serif);letter-spacing:-.025em;margin-bottom:1rem}.intro p{color:var(--text-700)}@media (width>=768px){.intro h2{font-size:2.25rem;line-height:2.5rem}}.rule{border:0;border-top:1px solid var(--border);margin:3rem 0}:root:not(.dark) .rule{border-color:#e5e7eb}.post-title{font:400 1.875rem/2.25rem var(--serif);letter-spacing:-.025em;margin-bottom:.5rem}@media (width>=768px){.post-title{font-size:2.25rem;line-height:2.5rem}}@media (width>=1024px){.post-title{font-size:3rem;line-height:1}}.post-meta{color:var(--text-500);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.post-author{color:var(--text-600);font-weight:500}@media (width>=768px){.post-meta{font-size:1rem}}.prose{color:var(--text-700);margin-top:2rem;font-size:1rem;line-height:1.75}.prose p{margin:1.5em 0}.prose strong{color:var(--text)}.prose a{color:var(--accent)}.prose a:hover{text-decoration:underline}.prose h2,.prose h3{font-family:var(--serif);color:var(--text);letter-spacing:-.025em;margin:1.5em 0 1em}.prose blockquote{border-left:.25rem solid var(--card-border);margin:1.6em 0;padding-left:1em;font-style:italic}@media (width>=768px){.prose{font-size:1.125rem}}@media (width>=1024px){.prose{font-size:1.25rem}}.more-stories{border-top:1px solid var(--border);margin-top:4rem;padding-top:2rem}.more-stories h3{font:700 1.5rem/2rem var(--serif);margin-bottom:1.5rem}.more-grid{gap:1.5rem;display:grid}@media (width>=768px){.more-grid{grid-template-columns:1fr 1fr}}.more-card{background:var(--surface);border:1px solid var(--card-border);border-radius:.5rem;padding:1.5rem;transition:box-shadow .3s;display:block;box-shadow:0 1px 2px #0000000d}.more-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.more-card time{color:var(--text-500);font-size:.875rem}.more-card h4{font:700 1.25rem/1.75rem var(--serif);margin-top:.5rem;transition:color .2s}.more-card:hover h4{color:var(--accent)}.more-card p{color:var(--text-700);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.5rem;display:-webkit-box;overflow:hidden}.back{color:var(--text-600);align-items:center;gap:.25rem;margin-bottom:2rem;transition:color .2s;display:inline-flex}.back:hover{color:var(--accent)}.page-intro{text-align:center;max-width:42rem;margin:0 auto 3rem}.page-intro h1{font:700 1.5rem/2rem var(--serif);letter-spacing:-.025em;margin-bottom:1rem}.page-intro p{color:var(--text-600)}@media (width>=768px){.page-intro h1{font-size:1.875rem;line-height:2.25rem}}.card-grid{gap:2rem;display:grid}@media (width>=768px){.card-grid{grid-template-columns:1fr 1fr}}.card-lift{transition:transform .3s}.card-lift:hover{transform:translateY(-.25rem)}.post-card{background:var(--surface);border:1px solid var(--card-border);border-radius:.5rem;flex-direction:column;height:100%;padding:1.5rem;transition:box-shadow .3s;display:flex;box-shadow:0 1px 2px #0000000d}.card-lift:hover .post-card{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.card-date{color:var(--text-500);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.post-card h2{font:700 1.25rem/1.75rem var(--serif);letter-spacing:-.025em;margin-bottom:.75rem;transition:color .3s}.card-lift:hover .post-card h2{color:var(--accent)}.post-card p{color:var(--text-700);flex-grow:1;margin-bottom:1rem}.read-link{color:var(--accent);align-self:flex-start;align-items:center;gap:.25rem;font-weight:500;display:inline-flex}.read-link:after{content:"";position:absolute;inset:0}.post-card{position:relative}.read-link svg{transition:transform .3s}.card-lift:hover .read-link svg{transform:translate(2px,-2px)}.page-heading{font:700 1.875rem/2.25rem var(--serif);letter-spacing:-.025em;margin-bottom:2rem}@media (width>=768px){.page-heading{font-size:2.25rem;line-height:2.5rem}}.about-card{background:var(--surface);border:1px solid var(--card-border);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d}@media (width>=768px){.about-card{padding:2rem}}.about-card h2{font:700 1.5rem/2rem var(--serif);letter-spacing:-.025em;margin-bottom:1rem}.about-card .prose{margin-top:0;font-size:1rem}.about-card .prose p:first-child{margin-top:0}.about-card .prose p:last-child{margin-bottom:0}.form-heading{font:700 1.875rem/2.25rem var(--serif);letter-spacing:-.025em;margin-bottom:1rem}@media (width>=768px){.form-heading{font-size:2.25rem;line-height:2.5rem}}.form-sub{color:var(--text-700);margin-bottom:2rem;font-size:1rem;font-weight:400}.center{text-align:center}.center .form-sub{color:var(--text-600);font-size:1.125rem}.form{gap:1.5rem;display:grid}.field label{color:var(--text-700);margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.field input,.field textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--input-border);border-radius:.375rem;padding:.5rem 1rem}:root:not(.dark) .field input,:root:not(.dark) .field textarea{background:#fff}.field input:focus,.field textarea:focus{box-shadow:0 0 0 2px var(--accent);border-color:#0000;outline:none}.submit-btn{color:#fff;width:100%;font:500 1rem var(--sans);cursor:pointer;background:#4f46e5;border:0;border-radius:.375rem;padding:.75rem 1.5rem;transition:background-color .2s}.submit-btn:hover{background:#4338ca}.submit-btn[disabled]{opacity:.75;cursor:not-allowed}.status{border:1px solid;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem}.status.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.status.err{background:var(--err-bg);border-color:var(--err-border);color:var(--err-text)}.status[hidden]{display:none}.honey{position:absolute;left:-9999px}.not-found{text-align:center;padding:3rem 0}.not-found h1{font:700 1.5rem/2rem var(--serif);margin-bottom:1rem}.not-found p{color:var(--text-700);margin-bottom:1.5rem}.small-btn{color:#fff;background:#4f46e5;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:inline-flex}.small-btn:hover{background:#4338ca}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
