:root{--color-bg: hsl(42, 100%, 96%);--color-text: hsl(0, 0%, 12%);--color-text-muted: hsl(0, 0%, 40%);--color-accent: hsl(12, 76%, 58%);--color-accent-hover: hsl(12, 76%, 45%);--color-border: hsl(30, 20%, 82%);--color-timeline: hsl(30, 20%, 78%);--color-card-bg: hsl(42, 60%, 98%);--font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-handwritten: "Caveat", cursive;--max-width: 86rem;--spacing: 1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-serif);font-size:1.0625rem;line-height:1.8;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:.15em;transition:color .2s ease}a:hover{color:var(--color-accent-hover)}.site-wrapper{min-height:100dvh;display:flex;flex-direction:column}.site-main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:.5rem var(--spacing)}.site-header{padding:1.5rem var(--spacing) 0;text-align:center}.site-header__title{font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.site-header__title a{color:var(--color-text);text-decoration:none}.site-header__title a:hover{color:var(--color-accent)}.site-header__subtitle{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}.site-footer{padding:2rem var(--spacing);text-align:center;font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);max-width:var(--max-width);margin:0 auto;width:100%}.timeline{position:relative;padding:2rem 0}.timeline:before{content:"";position:absolute;left:50%;top:2rem;bottom:0;width:2px;background:var(--color-timeline);transform:translate(-50%)}.timeline__item{position:relative;display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:3rem}.timeline__date{grid-column:2;grid-row:1;align-self:start;margin-top:1.25rem;padding:.25rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:1rem;font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;z-index:1}.timeline__item:nth-child(odd) .post-card{grid-column:1;grid-row:1;margin-right:1.5rem}.timeline__item:nth-child(odd) .timeline__aside{grid-column:3;grid-row:1;margin-left:1.5rem}.timeline__item:nth-child(2n) .post-card{grid-column:3;grid-row:1;margin-left:1.5rem}.timeline__item:nth-child(2n) .timeline__aside{grid-column:1;grid-row:1;margin-right:1.5rem}.timeline__aside{align-self:start;position:sticky;top:2rem;margin-top:1.25rem}.polaroid{background:linear-gradient(175deg,#f9f8f6,#f6f4ee,#f0eeea);padding:.75rem .75rem 0;border:1px solid hsl(35,15%,85%);border-radius:2px;box-shadow:0 2px 4px #0000001f,0 8px 24px #00000029,0 16px 40px #00000014,inset 0 0 30px #00000005;rotate:-1.5deg;transition:rotate .3s ease,box-shadow .3s ease;position:relative}.polaroid:before{content:"";position:absolute;inset:3px;border:1px solid rgba(0,0,0,.03);border-radius:1px;pointer-events:none}.polaroid:hover{rotate:0deg;box-shadow:0 3px 6px #00000024,0 10px 28px #0000002e,0 20px 48px #0000001a,inset 0 0 30px #00000005}.polaroid.rotate-right{rotate:1.5deg}.polaroid.rotate-right:hover{rotate:0deg}.polaroid img{width:100%;display:block;border-radius:1px;box-shadow:inset 0 0 0 1px #0000000d}.polaroid figcaption{font-family:var(--font-handwritten);font-size:1.4rem;font-weight:700;color:#404040;text-align:center;padding:.6rem .5rem .5rem;min-height:2.5rem}.timeline__aside-polaroid{margin-bottom:1.25rem}.timeline__aside-polaroid:last-child{margin-bottom:0}.timeline__item:nth-child(2n) .timeline__aside-polaroid{rotate:1.5deg}.timeline__item:nth-child(2n) .timeline__aside-polaroid:hover{rotate:0deg}.timeline__aside-quote{font-family:var(--font-serif);font-size:1.25rem;font-style:italic;line-height:1.6;color:var(--color-text-muted);border-left:3px solid var(--color-accent);padding-left:1.25rem;margin:0}.post-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:4px;padding:1.25rem 1.5rem;transition:box-shadow .2s ease,transform .2s ease}.post-card:hover{box-shadow:0 2px 12px #0000000f;transform:translateY(-1px);object-fit:cover}.post-card__title{font-size:1.25rem;font-weight:700;line-height:1.3;margin-bottom:.5rem}.post-card__title a{color:var(--color-text);text-decoration:none}.post-card__title a:hover{color:var(--color-accent)}.post-card__description{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6}.post{max-width:var(--max-width);margin:0 auto;padding:2rem var(--spacing)}.post__header{margin-bottom:2rem;text-align:center}.post__title{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:.5rem}.post__date{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-muted)}.post__content h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:.75rem}.post__content h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.5rem}.post__content p{margin-bottom:1.25rem}.post__content ul,.post__content ol{margin-bottom:1.25rem;padding-left:1.5rem}.post__content blockquote{border-left:3px solid var(--color-accent);padding-left:1.25rem;margin:1.5rem 0;color:var(--color-text-muted);font-style:italic}.post__content pre{background:#f5f5f5;border:1px solid var(--color-border);border-radius:4px;padding:1rem 1.25rem;overflow-x:auto;margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.post__content code{font-size:.875em;background:#f0f0f0;padding:.15em .35em;border-radius:3px}.post__content pre code{background:none;padding:0;border-radius:0}.post__content .polaroid{margin:1.5rem 0}.post__back{display:inline-block;margin-bottom:1.5rem;font-family:var(--font-sans);font-size:.875rem}@media(max-width:768px){.timeline:before{left:0}.timeline__item{display:flex;flex-direction:column;padding-left:1.5rem;padding-bottom:3rem}.timeline__item:after{content:"";position:absolute;bottom:0;left:1.5rem;right:0;height:1px;background:var(--color-border)}.timeline__item:last-child:after{display:none}.timeline__date{align-self:flex-start;margin-top:0;margin-bottom:.75rem;position:relative}.timeline__item:nth-child(odd) .post-card,.timeline__item:nth-child(2n) .post-card{margin-left:0;margin-right:0}.timeline__aside{margin:0 0 .75rem;order:-1;position:static}.timeline__item:nth-child(odd) .timeline__aside,.timeline__item:nth-child(2n) .timeline__aside{margin-left:0;margin-right:0}.timeline__aside-quote{font-size:1rem}}
