@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-cyrillic-ext-wght-normal.ByugaZpy.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-cyrillic-wght-normal.DZVSGMRt.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-greek-ext-wght-normal.jFu40_Kw.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-greek-wght-normal.Dm53BPoz.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-vietnamese-wght-normal.B-YjCn1Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-latin-ext-wght-normal.Bgo24x86.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-latin-wght-normal.BUNBP5ar.woff2) format("woff2-variations");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}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-cyrillic-ext-wght-italic.I4Yq3QB_.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-cyrillic-wght-italic.DL-A6JcO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-greek-ext-wght-italic.BRb7gtie.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-greek-wght-italic.BbGNKNYd.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-vietnamese-wght-italic.CyBIqP81.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-latin-ext-wght-italic.BnMDq_wd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_astro/eb-garamond-latin-wght-italic.B2EO8eH-.woff2) format("woff2-variations");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}:root{--bg-page: #f6f6f6;--bg-card: #ffffff;--bg-soft: #f1ecdf;--rule: #d9d3c4;--ink: #2a2624;--ink-soft: #8a8276;--accent: #ff3300;--accent-deep: #c92a00;--code: #5d6cc7;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 20px;--s-5: 32px;--s-6: 56px;--s-7: 88px;--s-8: 128px;--t-xxs: .72rem;--t-xs: .82rem;--t-sm: .9rem;--t-md: 1rem;--t-lg: 1.18rem;--t-xl: 1.45rem;--t-2xl: 1.85rem;--t-3xl: 2.6rem;--reading: 38rem;--radius: 4px;--rule-w: 1px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-size:21px}body{background:var(--bg-page);color:var(--ink);font-family:EB Garamond Variable,EB Garamond,Iowan Old Style,Georgia,serif;font-weight:400;line-height:1.55;font-feature-settings:"kern","liga","clig","calt";font-variant-numeric:oldstyle-nums proportional-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px}a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .12s ease,text-decoration-color .12s ease}a:hover{color:var(--accent-deep);text-decoration-color:currentColor}::selection{background:var(--ink);color:var(--bg-card)}hr{border:0;border-top:var(--rule-w) solid var(--rule);margin:var(--s-6) 0}img{max-width:100%;height:auto}code,pre,kbd,samp{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-feature-settings:"liga" 0}code{background:var(--bg-soft);color:var(--code);padding:1px 5px;font-size:.78em;border-radius:var(--radius)}pre{background:var(--bg-soft);padding:var(--s-4);border-radius:var(--radius);overflow-x:auto;margin:var(--s-5) 0;font-size:.78em;line-height:1.5}pre code{display:block;background:transparent;color:inherit;padding:0;font-size:inherit;line-height:inherit;border-radius:0}pre.astro-code{background-color:var(--bg-soft)!important;white-space:pre!important;word-wrap:normal!important;overflow-x:auto}pre.astro-code>code{background:transparent!important;white-space:inherit!important}blockquote{margin:var(--s-5) 0;padding:var(--s-2) var(--s-4);border-left:2px solid var(--accent);color:var(--ink);font-style:italic}blockquote p{margin:0 0 var(--s-2)}blockquote p:last-child{margin-bottom:0}table{width:100%;border:1px solid var(--rule);border-collapse:collapse;font-size:var(--t-sm);margin:var(--s-5) 0}table th{background:var(--bg-soft);text-align:left;font-weight:600}table th,table td{padding:var(--s-2) var(--s-4)}table td{border-bottom:1px solid var(--rule)}table tr:last-child td{border-bottom:0}ul,ol{padding-left:1.4rem;margin:0 0 var(--s-4)}li{margin-bottom:.35rem}.container{max-width:1080px;min-width:320px;margin:0 auto}.wrap{background:var(--bg-card);margin:0 auto;padding:var(--s-7) var(--s-7)}.reading{max-width:var(--reading)}.header{margin-bottom:var(--s-7);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-4)}.header .logo,.header .nav{flex-grow:1}.header .nav{text-align:right}.header .logo a{text-decoration:none;font-weight:600;font-size:var(--t-md);font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--ink)}.header .logo a:hover{color:var(--accent-deep)}.header .nav a{display:inline-block;margin-left:var(--s-5);font-size:var(--t-sm);font-variant-caps:all-small-caps;letter-spacing:.1em;color:var(--ink-soft);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease}.header .nav a:hover{color:var(--accent)}body[data-route=home] .header .nav a[data-match=home],body[data-route=blogs] .header .nav a[data-match=blogs],body[data-route=projects] .header .nav a[data-match=projects]{color:var(--ink);border-bottom-color:var(--accent)}.content h1,.content h2,.content h3,.content h4{font-family:EB Garamond Variable,EB Garamond,Georgia,serif;color:var(--ink);line-height:1.15;text-wrap:balance;margin:var(--s-6) 0 var(--s-3)}.content h1:first-child,.content h2:first-child,.content h3:first-child{margin-top:0}.content h1{font-size:var(--t-3xl);font-weight:600;letter-spacing:-.01em}.content h2{font-size:var(--t-xl);font-weight:600}.content h3{font-size:var(--t-lg);font-weight:600}.content h4{font-size:var(--t-md);font-weight:600;font-style:italic}.content p{margin:0 0 var(--s-4);text-wrap:pretty;hyphens:auto}.content a{word-break:break-word}.meta{color:var(--ink-soft);font-size:var(--t-xs);margin:0 0 var(--s-4);font-style:italic;letter-spacing:.01em}.meta .dot{font-style:normal;margin:0 .4em;color:var(--rule)}.meta a{color:inherit}.meta a:hover{color:var(--accent)}.home .intro{display:grid;grid-template-columns:132px 1fr;gap:var(--s-6);align-items:start;margin-bottom:var(--s-6)}.home .intro .photo img{width:132px;height:132px;object-fit:cover;object-position:center;border-radius:2px;display:block;background:var(--bg-soft)}.home .intro .bio{min-width:0}.home .intro .bio h1{margin:0 0 var(--s-3);font-size:var(--t-2xl);font-weight:600;letter-spacing:-.005em;line-height:1.1}.home .intro .bio p{margin:0 0 var(--s-3);text-wrap:pretty;max-width:32rem}.home .intro .bio .malayalam{color:var(--ink-soft);font-style:italic;font-size:var(--t-sm)}.home .intro .bio .elsewhere{font-size:var(--t-xs);font-variant-caps:all-small-caps;letter-spacing:.1em;color:var(--ink-soft);margin-top:var(--s-4)}.home .intro .bio .elsewhere a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px}.home .intro .bio .elsewhere a:hover{color:var(--accent);border-bottom-color:var(--accent)}.home .intro .bio .elsewhere .dot{color:var(--rule);margin:0 .6em}.home h2{font-family:EB Garamond Variable,EB Garamond,serif;font-weight:500;font-style:italic;font-size:var(--t-md);letter-spacing:.02em;color:var(--ink-soft);margin:0 0 var(--s-4)}.posts .post,.home .projects .project{margin:0 0 var(--s-4);padding:0;border:0}.posts .title,.home .projects .title{margin:0;font-size:var(--t-md);font-weight:500;line-height:1.3}.posts .title a,.home .projects .title a{text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .12s ease,color .12s ease}.posts .title a:hover,.home .projects .title a:hover{border-bottom-color:var(--accent);color:var(--accent-deep)}.posts .post .meta,.home .projects .project .meta{margin:2px 0 0}.home .projects .project p{margin:var(--s-2) 0 0;font-size:var(--t-sm);color:var(--ink);text-wrap:pretty;max-width:36rem}.home .posts>p:last-child,.home .projects>p:last-child{margin-top:var(--s-5);font-size:var(--t-sm);font-variant-caps:all-small-caps;letter-spacing:.1em}.home .posts>p:last-child a,.home .projects>p:last-child a{text-decoration:none;border-bottom:1px solid var(--rule)}.home .posts>p:last-child a:hover,.home .projects>p:last-child a:hover{border-bottom-color:var(--accent);color:var(--accent)}.archive .year{margin-top:var(--s-6)}.archive .year:first-of-type{margin-top:var(--s-5)}.archive .year h2{font-size:var(--t-sm);font-weight:500;font-variant-caps:all-small-caps;letter-spacing:.18em;color:var(--ink-soft);margin:0 0 var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule)}.archive .post{margin:0 0 var(--s-4)}.archive .post .title{margin:0 0 var(--s-1);font-size:var(--t-lg);font-weight:500;line-height:1.25}.archive .post .meta{margin:0}.archive .post .excerpt{margin:var(--s-2) 0 0;color:var(--ink-soft);font-size:var(--t-sm);line-height:1.5;text-wrap:pretty}.projects.page-list .project{margin-bottom:var(--s-7);padding-bottom:var(--s-6);border-bottom:1px solid var(--rule)}.projects.page-list .project:last-child{border-bottom:0;padding-bottom:0}.projects.page-list .project h2{margin:0 0 var(--s-2);font-size:var(--t-xl);font-weight:600}.projects.page-list .project p{margin:var(--s-2) 0}.projects.page-list .project .more{margin-top:var(--s-4);font-size:var(--t-sm);font-variant-caps:all-small-caps;letter-spacing:.1em}.post img{display:block;margin:var(--s-4) auto}.post .footnote{border:1px solid var(--accent);border-width:1px 3px 3px 1px;padding:var(--s-4);margin:var(--s-6) auto;font-size:var(--t-sm);line-height:1.5;max-width:32rem;background:var(--bg-card)}.post .footnote .title{font-variant-caps:all-small-caps;letter-spacing:.12em;margin:0 0 var(--s-2);font-size:var(--t-sm);font-weight:700;color:var(--accent-deep)}.comments{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--rule)}.comments h2{font-family:EB Garamond Variable,EB Garamond,serif;font-size:var(--t-sm);font-weight:500;font-variant-caps:all-small-caps;letter-spacing:.18em;color:var(--ink-soft);margin:0 0 var(--s-2)}.comments-hint{margin:0 0 var(--s-4);font-size:var(--t-xs);font-style:italic;color:var(--ink-soft)}.comments .giscus,.comments .giscus-frame{width:100%}.tags{margin-top:var(--s-4);font-size:var(--t-xs);font-variant-caps:all-small-caps;letter-spacing:.08em;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:0 var(--s-3)}.tags a,.tags span{color:inherit;text-decoration:none;border-bottom:1px solid transparent}.tags a:hover{color:var(--accent);border-bottom-color:var(--accent)}.project-footer{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--rule)}.project-footer .meta{margin:0 0 var(--s-3)}.project-footer .meta:last-child{margin-bottom:0}@media(min-width:1400px){.container{max-width:1180px}}@media(max-width:720px){html,body{font-size:18px}.wrap{padding:var(--s-5) var(--s-4)}.header{display:block;text-align:center;margin-bottom:var(--s-5)}.header .logo{margin-bottom:var(--s-3)}.header .nav{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s-3)}.header .nav a{margin:0}.home .intro{grid-template-columns:1fr;gap:var(--s-4);text-align:left}.home .intro .photo img{width:108px;height:108px}.post .footnote{padding:var(--s-3);max-width:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
