:root{--bg:#f7fbff;--bg-accent:#fff1d6;--surface:#fff;--surface-soft:#f4f8ff;--ink:#102033;--muted:#4d6073;--accent:#0c7b93;--accent-h:#095e70;--border:#d9e5f2;--chip:#e9f4ff;--font-display:var(--font-fraunces,"Georgia", "Times New Roman", serif);--font-body:var(--font-jakarta,"system-ui", sans-serif)}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(circle at 8% 0%, var(--bg-accent) 0%, transparent 35%), radial-gradient(circle at 92% 10%, #e8f2ff 0%, transparent 30%), var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;padding:0;line-height:1.65}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.1}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-h);text-decoration:underline}.page-shell{max-width:960px;margin:0 auto;padding:clamp(1.5rem,4vw,2.75rem) clamp(1rem,3vw,2rem) clamp(3.5rem,8vw,5rem)}.masthead{border:1px solid var(--border);background:linear-gradient(130deg,#fef3dd 0%,#ecf7ff 100%);border-radius:20px;margin-bottom:clamp(1.5rem,3vw,2rem);padding:clamp(1.5rem,3vw,2.25rem);animation:.42s ease-out card-fade-in;box-shadow:0 18px 35px #10203314}.masthead__eyebrow,.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.masthead__title{letter-spacing:-.018em;margin-bottom:.9rem;font-size:clamp(2.4rem,6.5vw,5.2rem);line-height:.92}.masthead__tagline{color:var(--muted);max-width:52ch;margin:0;font-size:clamp(1rem,2.1vw,1.25rem)}.diary-section{margin-top:2rem}.diary-header{border-bottom:1px solid var(--border);margin-bottom:1rem;padding:.2rem .2rem 1rem}.diary-header h2{margin-bottom:.4rem;font-size:clamp(1.4rem,3.5vw,2rem)}.diary-header p{color:var(--muted);margin:0}.post-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.post-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;transition:transform .17s,box-shadow .17s,border-color .17s;display:flex;box-shadow:0 10px 24px #1020330f}.post-card:hover{border-color:#b7d4ec;transform:translateY(-2px);box-shadow:0 14px 28px #1020331a}.post-card__link{color:inherit;border-radius:14px;flex-direction:column;flex:1;align-items:flex-start;gap:.7rem;padding:1rem 1rem 1.05rem;text-decoration:none;display:flex}.post-card__body{flex-direction:column;flex:1;padding:1rem 1rem 1.05rem;display:flex}.post-card__eyebrow{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.post-card__date{color:var(--muted);font-size:.92rem;font-weight:600}.post-card__tag{background:var(--chip);color:var(--muted);border:1px solid #cce2f8;border-radius:999px;padding:.25rem .65rem;font-size:.82rem;font-weight:600;display:inline-block}.post-card__link:hover h2,.post-card__link:focus-visible h2{color:var(--accent)}.post-card__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-card__link:hover{text-decoration:none}.post-card h2{margin:0;font-size:clamp(1.2rem,2.4vw,1.6rem)}.post-card h3{margin:0;font-size:clamp(1.1rem,2.2vw,1.35rem)}.post-card p,.meta,.lede{color:var(--muted);margin:0}.post-card__summary{flex:1}.meta{background:var(--chip);border:1px solid #cce2f8;border-radius:999px;margin-bottom:.4rem;padding:.25rem .6rem;font-size:.85rem;display:inline-block}.prose-page{background:var(--surface);border:1px solid var(--border);border-radius:18px;max-width:74ch;padding:clamp(1rem,2.8vw,1.8rem);box-shadow:0 12px 28px #1020330f}.prose-page h1{margin-bottom:1rem;font-size:clamp(1.8rem,4.5vw,2.6rem)}.prose-page h2{margin-top:1.7rem;margin-bottom:.5rem;font-size:clamp(1.15rem,2.8vw,1.45rem)}.prose-page p{margin:.5rem 0 0}.post-markdown{color:var(--ink);margin-top:1rem;line-height:1.75}.post-markdown>:first-child{margin-top:0}.post-markdown p,.post-markdown ul,.post-markdown ol,.post-markdown blockquote,.post-markdown pre{margin:.85rem 0 0}.post-markdown ul,.post-markdown ol{padding-left:1.3rem}.post-markdown li+li{margin-top:.35rem}.post-markdown a{color:var(--accent);text-underline-offset:.14em;text-decoration-thickness:.08em}.post-markdown blockquote{border-left:3px solid var(--border);color:var(--muted);padding-left:1rem}.post-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}.post-markdown pre{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, #0b1220 12%);border-radius:12px;padding:.9rem 1rem;overflow-x:auto}.post-markdown pre code{white-space:pre;display:block}.post-image{margin:1rem 0 1.1rem}.post-image img{border:1px solid var(--border);border-radius:12px;width:100%;height:auto;display:block}.post-image figcaption{color:var(--muted);margin-top:.4rem;font-size:.8rem}.post-image--inline{margin-top:1.4rem}.category-topics,.category-links,.related-posts{margin-top:2rem}.category-topics ul{margin:.75rem 0 0;padding-left:1.25rem}.category-links__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0 1.5rem;display:grid}.category-link-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:16px;gap:.45rem;padding:1rem;text-decoration:none;display:grid;box-shadow:0 10px 24px #1020330d}.category-link-card strong{font-size:1.05rem}.category-link-card span:last-child{color:var(--muted)}.post-card__meta-link{border-top:1px solid color-mix(in srgb, var(--border) 88%, white 12%);margin:auto 0 0;padding:.8rem 1rem 1rem}.post-card__meta-link a{padding:.1rem 0;font-weight:600;display:inline-block}.related-posts .post-list{margin-top:1rem}.site-footer{border-top:1px solid var(--border);max-width:960px;margin:0 auto;padding:0 1rem 2rem}.site-footer nav{flex-wrap:wrap;gap:1rem;margin:.9rem 0 .5rem;display:flex}.site-footer__legal{color:var(--muted);margin:0;font-size:.85rem}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.0j1f760ks3~7e.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.0lukgm0wyhr0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0524igg32t-c1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_2af64de6-module__8Y3-rq__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_2af64de6-module__8Y3-rq__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_9a465841-module__WKglmq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_9a465841-module__WKglmq__variable{--font-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
