:root{--bg: #FFFFFF;--fg: #111827;--secondary: rgba(0, 0, 0, .8);--muted: #666;--accent: hsl(240, 100%, 50%);--border: #d1d5db;--surface: #e2e5ea;--overlay: rgba(0, 0, 0, .85);--carousel-dodge: #1a1a1a;--max-width: 1100px;--mono: "Fira Code", "Cascadia Code", monospace;--transition-color: .15s;--transition-fade: .2s;--transition-reveal: .35s;--transition-enter: .3s;--transition-exit: .1s;--overlay-text: rgba(255, 255, 255, .75)}::view-transition-old(root),::view-transition-new(root){animation:none}@keyframes vt-prose-in{0%{opacity:0;transform:translateY(-.6rem)}to{opacity:1;transform:translateY(0)}}::view-transition-new(vt-prose){animation:vt-prose-in var(--transition-enter) cubic-bezier(.2,0,0,1)}*,*:before,*:after{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.5rem 1rem;background:var(--fg);color:var(--bg);font-size:.9rem;border-radius:0 0 4px 4px;text-decoration:none}.skip-link:focus{top:0}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.6;min-height:100vh}a{color:var(--fg);text-decoration:none}a:hover{color:inherit}img{max-width:100%;display:block}.site-header{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 1rem;display:flex;align-items:baseline;gap:2rem;flex-wrap:wrap}.site-name{font-size:1.1rem;font-weight:700}.site-header nav{display:flex;gap:1.5rem;font-size:.85rem;color:var(--muted);flex-wrap:wrap;align-items:center}.site-header nav a{padding:.5rem 0}.site-header nav a:hover{color:var(--fg)}main{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem}.site-footer{max-width:var(--max-width);margin:0 auto;padding:4rem 0;font-size:.9rem;line-height:1.5;color:var(--secondary);display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between}.site-footer a{color:var(--fg);text-decoration:none}.footer-links{display:flex;gap:.5rem;align-items:center}.site-footer a:hover{color:var(--fg);text-decoration:underline}.entries-column .site-footer{margin:0;max-width:none;padding:2rem 0}.home-layout{display:grid;grid-template-columns:270px 1fr;gap:9rem;align-items:start}.entries-column{display:flex;flex-direction:column;min-width:0}.sidebar-fixed{position:fixed;top:0;left:max(1.5rem,calc((100vw - var(--max-width)) / 2 + 1.5rem));width:270px;height:100vh;display:flex;justify-content:center;align-items:center}.posts-list>li,.photo-carousel{transition:opacity var(--transition-fade)}.posts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3.8rem}.post-card{min-width:0}.post-card a{display:block;color:inherit}.post-card a:hover{color:inherit}.post-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:5rem;margin-bottom:.05rem}.post-date{font-size:.8rem;color:var(--secondary);white-space:nowrap;flex-shrink:0}.post-date--meta{display:block;margin-left:auto}.post-date--title{display:none}.post-title{font-size:1.25rem;font-weight:600;margin:0;transition:color var(--transition-color)}.post-card:hover .post-location{opacity:1}.date-month{opacity:0;transition:opacity var(--transition-fade)}.post-card:hover .date-month{opacity:1}.post-meta{font-size:.8rem;color:var(--secondary);margin-bottom:.05rem;display:flex;flex-direction:column;gap:.2rem}.post-tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{background:var(--border);padding:.1rem .45rem;border-radius:3px;font-size:.75rem}.post-meta-row{display:flex;justify-content:space-between;gap:1rem}.post-location{white-space:nowrap;flex-shrink:0;opacity:0;transition:opacity var(--transition-fade);color:var(--secondary)}.post-description{color:var(--secondary);font-size:.9rem;margin:.5rem 0 0;line-height:1.5}.desc-tail{color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(to right,var(--secondary) 50%,transparent 50%);background-size:200% 100%;background-position:100%;transition:background-position var(--transition-reveal) ease}.post-card:hover .desc-tail{background-position:0%}.back-btn{background:none;border:none;padding:.5rem 0;font-size:.8rem;color:var(--muted);cursor:pointer;margin-bottom:1rem;display:block}.back-btn:hover{color:var(--fg)}.post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1.post-title{font-size:2rem;line-height:1.25;margin:0}.post-title-col{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.post-right-col{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:.5rem;flex-shrink:0;align-self:flex-start}.post-date-location{display:flex;flex-direction:column;align-items:flex-end;gap:0}.post-right-col .post-tags{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.tag-row{display:flex;gap:.4rem;justify-content:flex-end}.video-wrapper{margin:2rem 0}.video-wrapper video{width:100%;border-radius:6px}.video-wrapper iframe{width:100%;aspect-ratio:16 / 9;border:none;border-radius:6px}.prose h1,.prose h2,.prose h3,.prose h4{margin:2rem 0 .75rem;line-height:1.3}.prose h1{font-size:1.8rem}.prose h2{font-size:1.4rem}.prose h3{font-size:1.15rem}.prose p{margin:0 0 1rem}.prose ul,.prose ol{margin:0 0 1rem 1.5rem}.prose li{margin-bottom:.25rem}.prose code{font-family:var(--mono);font-size:.88em;background:var(--border);padding:.1em .35em;border-radius:3px}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.25rem;overflow-x:auto;margin:1.5rem 0}.prose pre code{background:none;padding:0;font-size:.9rem}.prose blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1.5rem 0;color:var(--muted)}.prose a{color:var(--accent);text-decoration:underline}.prose img{border-radius:6px;margin:1.5rem 0}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0}.prose th,.prose td{padding:.5rem 1rem;border:1px solid var(--border);text-align:left}.prose th{background:var(--surface)}@media (min-width: 769px) and (max-width: 1100px){.home-layout{gap:3rem}}@media (min-width: 1101px){.post-date--meta{display:none}.post-date--title{display:block}}@media (max-width: 768px){main{padding:1.25rem 1rem;overflow-x:hidden}.site-footer{padding:1.5rem 1rem;gap:.75rem}.entries-column .site-footer{padding:1.5rem 0}.home-layout{grid-template-columns:1fr;gap:2rem}.sidebar-fixed{position:static;width:auto;height:auto;left:auto;top:auto;display:flex;justify-content:center;padding:1.5rem 0}.posts-list{gap:3rem}.post-title{font-size:1.15rem}.desc-tail{display:none}.post-description{font-size:.9rem;overflow-wrap:break-word;word-break:break-word}.tag{font-size:.8rem;padding:.15rem .5rem}.back-btn{margin-bottom:.5rem}.post-header{margin-bottom:1.25rem;padding-bottom:1rem}.post-header h1.post-title{font-size:1.4rem}.post-header .post-meta-row{flex-direction:column;gap:.1rem}.post-header .post-title-row{flex-direction:column;align-items:stretch;gap:.75rem}.post-right-col{flex-direction:column;align-items:flex-start;width:100%;gap:.5rem}.post-right-col .post-tags{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start}.prose h1{font-size:1.35rem}.prose h2{font-size:1.15rem}.prose h3{font-size:1rem}.prose ul,.prose ol{margin-left:1.25rem}.prose pre{padding:.75rem;font-size:.85rem}}
