.book-body{--font-poem:"Gayathri", "Manjari", "Noto Serif Malayalam", serif;--font-heading:"Chilanka", "Gayathri", serif;--nav-height:3.75rem;--desk:#e7e0d3;--paper:#fbf8f1;--ink:#2b2620;--ink-soft:#857a6b;--accent:#8a4b2a;--shadow:0 1px 2px rgba(60, 45, 25, .08), 0 12px 32px rgba(60, 45, 25, .14);--page-ratio:3 / 4;--spread-max-width:1200px;--spread-max-height:calc(92vh - var(--nav-height));--poem-size:1.12rem;--poem-leading:1.55;--stanza-gap-lines:1.3;--stanza-gap:calc(var(--stanza-gap-lines) * 1em);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 .05 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--tint-strength:9%;--flap:color-mix(in srgb, var(--paper) 86%, var(--ink))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .book-body{--desk:#1b1916;--paper:#26231f;--ink:#ece5d8;--ink-soft:#a39884;--accent:#d39a74;--shadow:0 12px 32px rgba(0, 0, 0, .45);--tint-strength:12%;--cover-dim:.78;--cover-veil:55%;color-scheme:dark}}:root[data-theme=dark] .book-body{--desk:#1b1916;--paper:#26231f;--ink:#ece5d8;--ink-soft:#a39884;--accent:#d39a74;--shadow:0 12px 32px rgba(0, 0, 0, .45);--tint-strength:12%;--cover-dim:.78;--cover-veil:55%;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}.book-body{background:var(--desk);color:var(--ink)}.book{font-family:var(--font-poem,serif);font-size:var(--poem-size);line-height:var(--poem-leading);counter-reset:page;-webkit-font-smoothing:antialiased}img{max-width:100%}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}html:has(>.book-body){scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 45%,var(--desk))var(--desk)}.spread.opening{counter-increment:none}.dedication{padding:3rem 2.5rem;display:flex;align-items:center;justify-content:center;text-align:center}.cover{position:relative;container-type:size;overflow:hidden}.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:3px}.mosaic a{display:block;overflow:hidden}.mosaic img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8)sepia(.12);transition:filter .4s ease,transform .6s ease}.mosaic a:hover img{filter:none;transform:scale(1.06)}.cover-band{position:absolute;left:9%;right:9%;top:50%;translate:0 -50%;padding:1.6rem 1.4rem 1.5rem;background:var(--grain),var(--paper);box-shadow:0 6px 24px rgba(0,0,0,.28);outline:3px double color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:-9px;text-align:center}.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--art-tone,saturate(1))brightness(var(--cover-dim,1))}.title-top{--art-tone:sepia(.15) saturate(.9)}.title-top::before,.title-top::after,.title-centre::after{content:"";position:absolute;z-index:1;left:0;right:0;pointer-events:none}.title-top::before{top:0;height:52%;background:linear-gradient(to bottom,var(--paper) 0%,color-mix(in srgb,var(--paper) 92%,transparent) 30%,color-mix(in srgb,var(--paper) 55%,transparent) 62%,transparent)}.title-top::after{bottom:0;height:22%;background:linear-gradient(to top,color-mix(in srgb,var(--paper) 94%,transparent),color-mix(in srgb,var(--paper) 50%,transparent) 55%,transparent)}.cover-text{position:absolute;z-index:2;top:9%;left:8%;right:8%;text-align:center}.cover-author{position:absolute;z-index:2;bottom:5%;left:50%;translate:-50% 0;margin:0;white-space:nowrap}.title-centre .cover-text{top:50%;translate:0 -50%}.title-centre .cover-author{position:static;translate:none;margin-top:1.4rem}.title-centre::after{top:0;bottom:0;background:color-mix(in srgb,var(--paper) var(--cover-veil,0%),transparent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cover-credit{position:absolute;left:2rem;right:2rem;bottom:1.2rem;font-size:.72rem;line-height:1.5;color:var(--ink-soft);opacity:.85}.dedication p{max-width:18em;margin:0 0 12%;color:var(--ink-soft)}.book-title{margin:.5rem 0 0;font-family:var(--font-heading,serif);font-weight:700;font-size:min(3rem,10cqw);line-height:1.35;overflow-wrap:anywhere}.book-subtitle{margin:.3rem 0 0;font-size:min(1rem,3.5cqw);color:var(--ink-soft)}.book-author{display:inline-block;margin:1.1rem 0 0;padding-top:.8rem;border-top:1px solid color-mix(in srgb,var(--accent) 30%,transparent);font-family:var(--font-heading,serif);font-size:min(1.1rem,3.8cqw)}.spread{position:relative;width:min(100% - 32px,var(--spread-max-width),var(--spread-max-height) * 2 * var(--page-ratio));aspect-ratio:calc(2 * var(--page-ratio));margin:3.5rem auto;display:grid;grid-template-columns:1fr 1fr;background:var(--grain),var(--paper);box-shadow:var(--shadow);overflow:hidden;counter-increment:page;scroll-snap-align:center}.spread::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:16%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.035) 25%,rgba(0,0,0,9%) 42%,rgba(0,0,0,.17) 50%,rgba(0,0,0,9%) 58%,rgba(0,0,0,.035) 75%,transparent);pointer-events:none;z-index:1}.photo{position:relative}.photo p{margin:0}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page{position:relative;container-type:size;display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem}.spread.poem>.page{background-color:color-mix(in srgb,var(--tint,transparent) var(--tint-strength),transparent)}@media(hover:hover){.spread>.page:last-child::before{content:"";position:absolute;right:0;bottom:0;z-index:2;width:0;height:0;background:linear-gradient(315deg,var(--desk) 50%,color-mix(in srgb,var(--flap) 80%,#000) 50%,var(--flap) 60%,var(--paper));filter:drop-shadow(-1px -1px 2px rgba(0,0,0,.18));transition:width .3s ease,height .3s ease;pointer-events:none}.spread:hover>.page:last-child::before{width:2.2rem;height:2.2rem}}.spread:has(>:only-child){grid-template-columns:1fr;aspect-ratio:var(--page-ratio);width:min(100% - 32px,var(--spread-max-width)/2,var(--spread-max-height) * var(--page-ratio))}.spread:has(>:only-child)::before{display:none}.page>p:has(.date),.page>p:has(.poem-title){position:absolute;top:1.3rem;margin:0;line-height:1;display:flex;align-items:center;min-height:1.6rem}.page>p:has(.date){right:2rem}.page>p:has(.poem-title){left:2rem;max-width:45%}.date,.poem-title{font-family:var(--font-poem,serif);font-size:.8rem;letter-spacing:.04em;color:var(--ink-soft)}.poem-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6}.copy-link{position:absolute;bottom:1rem;left:calc(50% + .85rem);z-index:2;display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;margin:0;padding:0;border:0;border-radius:50%;background:0 0;color:var(--ink-soft);cursor:pointer;transition:color .2s ease,background-color .2s ease}.copy-link svg{width:.85rem;height:.85rem}.copy-link:hover,.copy-link:focus-visible{outline:none;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.page::after{content:counter(page);position:absolute;bottom:1.1rem;left:0;right:0;text-align:center;font-size:.8rem;line-height:1;color:var(--ink-soft);font-family:var(--font-poem,serif)}.poem-text{width:fit-content;max-width:100%;text-align:left;font-size:min( var(--poem-size),(100cqh - .5rem)/(var(--lines,1) * var(--poem-leading) + (var(--stanzas,1) - 1) * var(--stanza-gap-lines)) )}.poem-text .line-block{margin:0 0 var(--stanza-gap)}.poem-text .line-block:last-child{margin-bottom:0}.spread.divider{counter-increment:none}.divider .page::after{content:none}.month-page{background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 62%)}.month-title{text-align:center}.month-title p{margin:0}.month-big{display:block;font-family:var(--font-heading,serif);font-size:min(3.2rem,12cqw);line-height:1.3}.month-year{display:block;margin-top:.3rem;font-size:.95rem;letter-spacing:.35em;color:var(--ink-soft)}.month-count{display:inline-block;margin-top:2.2rem;padding-top:.9rem;border-top:1px solid color-mix(in srgb,var(--accent) 30%,transparent);font-size:.85rem;color:var(--ink-soft)}.spread.contents{counter-increment:none}.contents .page::after{content:none}.contents-page{align-items:flex-start}.contents-text{width:100%;font-size:min(.95rem,2.2cqh)}.contents-title{margin:0 0 1.4em;text-align:center;font-family:var(--font-heading,serif);font-weight:400;font-size:1.45em;line-height:1.3;color:var(--accent)}.contents-list{list-style:none;margin:0;padding:0}.contents-list a{display:flex;align-items:baseline;gap:.6em;line-height:1.9;color:inherit;text-decoration:none}.c-dots{flex:1;min-width:1.5em;border-bottom:1.5px dotted color-mix(in srgb,var(--ink-soft) 55%,transparent);translate:0 -.3em}.c-date{font-size:.85em;white-space:nowrap;color:var(--ink-soft)}.contents-list a:hover .c-title,.contents-list a:focus-visible .c-title{color:var(--accent)}.contents-list a:focus-visible{outline:none}.about{counter-increment:none}.about .page::after{content:none}.about-text{max-width:24em;text-align:center;font-size:min(.98rem,3cqh);line-height:1.75}.page.about-project{padding:3rem}.about-project .about-text{max-width:none;font-size:min(1.06rem,2.55cqh);line-height:1.65}.about-project .about-text,.about-author .about-text{text-align:left}.about-text .about-title{display:block;text-align:center}.about-text p{margin:0 0 .9em}.about-text p:last-child{margin-bottom:0}.nowrap{white-space:nowrap}.about-title{font-family:var(--font-heading,serif);font-size:1.35em;color:var(--accent)}.author-photo{display:block;width:min(9rem,24cqh);aspect-ratio:1;margin:0 auto;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--paper),0 0 0 5px color-mix(in srgb,var(--accent) 40%,transparent)}.spread.calendar{counter-increment:none}.calendar .page::after{content:none}.calendar-text{--gap:1.2;--row:calc((100 - (var(--per-row) - 1) * var(--gap)) / var(--per-row) + var(--gap));--month:12.1;--head:11;--foot:18;--u:min(1cqw, 100cqh / (var(--head) + var(--rows) * var(--row)
                           + var(--months) * var(--month) + var(--foot)));--cols:var(--per-row);--day-text:2.6;width:calc(100 * var(--u))}.calendar-title{margin:0 0 calc(4.5 * var(--u));text-align:center;font-family:var(--font-heading,serif);font-weight:400;font-size:calc(5 * var(--u));line-height:1.3;color:var(--accent)}.month+.month{margin-top:calc(4.5 * var(--u))}.month-name{display:flex;align-items:center;gap:calc(2.5 * var(--u));margin:0 0 calc(2.2 * var(--u));font-family:var(--font-heading,serif);font-weight:400;font-size:calc(3.8 * var(--u));line-height:1.4}.month-name::after{content:"";flex:1;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.month-name a{color:inherit;text-decoration:none;transition:color .2s ease}.month-name a:hover{color:var(--accent)}.days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:calc(var(--gap) * var(--u))}.day{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink-soft) 35%,transparent);font-size:calc(var(--day-text) * var(--u));line-height:1;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink-soft) 80%,transparent);text-decoration:none}.day.written{background:var(--accent);border-color:var(--accent);color:var(--paper);transition:transform .2s ease,box-shadow .2s ease}.day.written:hover,.day.written:focus-visible{outline:none;transform:scale(1.12);box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px color-mix(in srgb,var(--accent) 55%,transparent)}.day.missed{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 6%,transparent);color:color-mix(in srgb,var(--accent) 70%,var(--ink-soft))}.day.today:not(.written){border:2px solid var(--accent);color:var(--accent);font-weight:700}.day.today.written{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--accent)}.calendar-foot{margin-top:calc(5 * var(--u))}.progress{margin:0;font-size:calc(3.2 * var(--u));line-height:1.4;color:var(--ink-soft)}.progress strong{font-family:var(--font-heading,serif);font-size:1.35em;font-weight:400;color:var(--accent)}.progress-bar{height:calc(.8 * var(--u));margin-top:calc(1.5 * var(--u));border-radius:99px;background:color-mix(in srgb,var(--ink-soft) 18%,transparent);overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.legend{display:flex;flex-wrap:wrap;gap:calc(1.5 * var(--u))calc(4 * var(--u));margin:calc(2.5 * var(--u))0 0;padding:0;list-style:none;font-size:calc(2.6 * var(--u));line-height:1.4;color:var(--ink-soft)}.legend li{display:flex;align-items:center;gap:calc(1.4 * var(--u))}.legend .day{width:calc(2.8 * var(--u));font-size:0}.date a{color:inherit;text-decoration:none}.date a:hover{color:var(--accent)}@media(prefers-reduced-motion:no-preference){html:has(>.book-body){scroll-behavior:smooth}}.corner{position:fixed;right:1.5rem;bottom:1.5rem;z-index:10;display:flex;flex-direction:column;gap:.6rem}.round-button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border-radius:50%;background:var(--grain),var(--paper);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:var(--shadow);text-decoration:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.round-button[hidden]{display:none}.round-button:hover,.round-button:focus-visible{outline:none;transform:translateY(-2px);background:var(--accent);color:var(--paper)}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun{display:block}:root:not([data-theme=light]) .icon-moon{display:none}}.toast{position:fixed;left:50%;bottom:1.8rem;z-index:11;margin:0;padding:.45rem 1.1rem;border-radius:99px;background:var(--ink);color:var(--paper);font-size:.85rem;line-height:1.6;box-shadow:var(--shadow);opacity:0;translate:-50% .5rem;pointer-events:none;transition:opacity .25s ease,translate .25s ease}.toast.show{opacity:1;translate:-50% 0}@supports(animation-timeline:scroll()){.to-top{animation:to-top-in linear both;animation-timeline:scroll();animation-range:40vh 90vh}}@keyframes to-top-in{from{opacity:0;translate:0 .75rem;visibility:hidden}to{opacity:1;translate:none;visibility:visible}}@media(max-width:820px){.spread{width:calc(100% - 32px);aspect-ratio:auto;grid-template-columns:minmax(0,1fr);margin:1.5rem auto}.spread::before{display:none}.photo{aspect-ratio:var(--page-ratio)}.page{container-type:normal;padding:4.5rem 1.5rem}.poem-text{font-size:var(--poem-size)}.page>p:has(.date){top:1.6rem;right:1.5rem}.page>p:has(.poem-title){top:1.6rem;left:1.5rem}.cover,.dedication{aspect-ratio:var(--page-ratio)}.about-text{font-size:.98rem}.page.about-project{padding:4rem 1.25rem}.about-project .about-text{font-size:1.06rem}.contents-text{font-size:.95rem}.contents-title[aria-hidden]{display:none}.page.contents-page{padding:0 1.5rem}.page.contents-page:first-child{padding-top:3.5rem}.page.contents-page:not(:has(+.contents-page)){padding-bottom:3.5rem}.contents-page:first-child .contents-list{margin-bottom:0}.spread{scroll-snap-align:none}.calendar-page{container-type:inline-size;padding:3rem 1.25rem}.calendar-text{--u:1cqw;--cols:8;--day-text:4}.month-name{font-size:calc(5 * var(--u))}.calendar-title{font-size:calc(7 * var(--u))}.page.blank{display:none}.corner{right:1rem;bottom:1rem}.month-page{padding:6rem 1.5rem}}html:has(>.book-body){scroll-snap-type:y proximity;scroll-padding-top:3.75rem}@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.spread{animation:turn-in linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}}@keyframes turn-in{from{opacity:.25;transform:translateY(2.5rem)scale(.985)}to{opacity:1;transform:none}}@media print{@page{size:A4 landscape;margin:0}:root:root .book-body{--paper:#fff;--desk:#fff;--ink:#000;--ink-soft:#857a6b;--accent:#8a4b2a;--grain:none;--cover-dim:1;--cover-veil:0%;color-scheme:light}.site-nav,.site-footer,.skip-link,.book-link{display:none}.spread{width:297mm;max-width:none;height:210mm;aspect-ratio:auto;min-height:0;margin:0;box-shadow:none;animation:none;break-after:page;break-inside:avoid}.corner,.toast,.copy-link{display:none}}