@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e7150917543fc9da-s.0mybutugvu-lq.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/71fbf9c08529c2a5-s.2fpqrm51ez0iq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e9457141811d41ae-s.02frcczqg7k-8.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/ac34884600cd8d5d-s.2936i88_6qsfd.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/e1ccd2766b08c828-s.15gdzqknx46iu.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/507a47c1876d4ec2-s.2qdkzeru_ecot.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/8c2eb9ceedecfc8e-s.p.23aeddxv5enbo.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:Lora Fallback;src:local(Times New Roman);ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:115.2%}.lora_c06265ab-module__hGs1mq__className{font-family:Lora,Lora Fallback;font-style:normal}.lora_c06265ab-module__hGs1mq__variable{--font-lora:"Lora", "Lora Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_1c871f37-module__30ab_W__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_1c871f37-module__30ab_W__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Merriweather;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/02046ca7e906ed9f-s.3zpf07psjg673.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:Merriweather;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/6bbcb5b36acd717c-s.24zmmel7ed1zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/0797a9ffe47acb65-s.0die5hfoqv6qs.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:Merriweather;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/7c2c7251ac640798-s.12jw9x3xnpuw8.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:Merriweather;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/248e1dc0efc99276-s.p.1d6sb5kuiz5lw.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:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/02046ca7e906ed9f-s.3zpf07psjg673.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:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/6bbcb5b36acd717c-s.24zmmel7ed1zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/0797a9ffe47acb65-s.0die5hfoqv6qs.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:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7c2c7251ac640798-s.12jw9x3xnpuw8.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:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/248e1dc0efc99276-s.p.1d6sb5kuiz5lw.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:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/02046ca7e906ed9f-s.3zpf07psjg673.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:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/6bbcb5b36acd717c-s.24zmmel7ed1zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/0797a9ffe47acb65-s.0die5hfoqv6qs.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:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7c2c7251ac640798-s.12jw9x3xnpuw8.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:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/248e1dc0efc99276-s.p.1d6sb5kuiz5lw.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:Merriweather Fallback;src:local(Times New Roman);ascent-override:80.59%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:122.09%}.merriweather_dcb34d24-module__nTumFG__className{font-family:Merriweather,Merriweather Fallback;font-style:normal}.merriweather_dcb34d24-module__nTumFG__variable{--font-merriweather:"Merriweather", "Merriweather Fallback"}
@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0fec32c78403d184-s.0eoi0jpb3r7w3.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:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/9d30e1ac529a223a-s.3s-du8fus6pdf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/9056bf441d45cedc-s.1xygc_2j-ec36.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e6c3b2b7c3a61f79-s.25w_8v13vfo1p.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e557826f452dbd06-s.18ty61h5-qdwv.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:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/1497d94d4ac5c969-s.0t-qpef307qnx.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:EB Garamond;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e4505858a30c79c2-s.p.3u_lhbhd6z8rx.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:EB Garamond Fallback;src:local(Times New Roman);ascent-override:106.26%;descent-override:31.44%;line-gap-override:0.0%;size-adjust:94.77%}.eb_garamond_8269c7b8-module__WIPilG__className{font-family:EB Garamond,EB Garamond Fallback;font-style:normal}.eb_garamond_8269c7b8-module__WIPilG__variable{--font-garamond:"EB Garamond", "EB Garamond Fallback"}
@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ab36ba74ba67ee0c-s.0vbhejztomta0.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:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/33f266618f7bf8bb-s.1vqi-k1w20m2i.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/36f8835f1b5285ee-s.016_c6f56w-54.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/0fe8cf670dc7929a-s.43u5tn_wmp7tb.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e858660d9da6747c-s.0o146vuhj0hlr.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:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/31a7435702a308bc-s.19n67_thuu7m9.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:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/c9e42e3eae6237c2-s.p.2s-4kwv_nqb0b.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:Source Code Pro Fallback;src:local(Arial);ascent-override:73.11%;descent-override:20.28%;line-gap-override:0.0%;size-adjust:134.59%}.source_code_pro_8df954bb-module__SwFKtq__className{font-family:Source Code Pro,Source Code Pro Fallback;font-style:normal}.source_code_pro_8df954bb-module__SwFKtq__variable{--font-mono:"Source Code Pro", "Source Code Pro Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#0d0d12;--bg-surface:#13131a;--bg-elevated:#1a1a24;--border:#ffffff12;--text-primary:#e8e6e1;--text-secondary:#8a8794;--text-muted:#4a4857;--mood-joy:#f5c842;--mood-excitement:#f97316;--mood-sadness:#5b7fa6;--mood-fear:#7b5ea7;--mood-anger:#c0392b;--mood-romance:#c2677d;--mood-tenderness:#ec4899;--mood-wonder:#8b5cf6;--mood-tension:#64748b;--mood-mystery:#6366f1;--mood-grief:#475569;--mood-peace:#10b981;--mood-anticipation:#eab308;--mood-disgust:#84cc16;--mood-neutral:#6e7a8a;--mood-active:var(--mood-neutral);--haze-lavender:#b8a9d9;--haze-rose:#e3a8b5;--haze-sage:#a8c9b8;--haze-cream:#f0dfc4;--wood-highlight:#c9986a;--wood-mid:#8a5a36;--wood-base:#6b4226;--wood-shadow:#3a2414;--desk-bg:radial-gradient(58% 48% at 50% -4%, #ffd6961f 0%, transparent 58%), repeating-linear-gradient(90deg, transparent 0 7px, #0000000d 7px 8px), radial-gradient(130% 100% at 50% 30%, transparent 52%, #0009 100%), linear-gradient(180deg, #1b140e 0%, #120c08 100%);--desk-base:#1b140e;--desk-surface:#1d1510;--desk-elevated:#241a12;--shadow-raised:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 8px 24px #00000059;--shadow-pressed:0 1px 3px #00000080 inset, 0 0 0 #0000;--shadow-floating:0 1px 0 #ffffff0d inset, 0 2px 6px #0000004d, 0 16px 40px #00000073;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s}.texture-grain{position:relative}.texture-grain:after{content:"";pointer-events:none;border-radius:inherit;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-elevated) 50%, var(--bg-elevated) 75%);border-radius:6px}@supports (color:color-mix(in lab, red, red)){.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, color-mix(in srgb, var(--bg-elevated) 60%, var(--text-muted)) 50%, var(--bg-elevated) 75%)}}.skeleton{background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.scale-press{transition:transform var(--duration-fast) var(--ease-out)}.scale-press:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--haze-cream)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:2px solid color-mix(in srgb, var(--haze-cream) 80%, #fff)}}:focus-visible{outline-offset:2px;border-radius:4px}.auth-card :focus-visible,.upload-form :focus-visible,.landing-inner :focus-visible{outline-color:#6b4f2a}html,body{overflow-x:clip}html{background-color:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}::selection{background:var(--mood-active)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--mood-active) 30%, transparent)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-breathe{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(1)}50%{opacity:.8;transform:translate(-50%,-50%)scale(1.08)}}.auth-page{isolation:isolate;background:var(--desk-bg);justify-content:center;align-items:center;min-height:100dvh;padding:2.5rem 1.5rem;display:flex;position:relative;overflow:hidden}@keyframes page-open-in{0%{opacity:0;transform:translateY(16px)rotateX(6deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}.auth-card,.upload-form{color:#3a2c1a;width:100%;max-width:400px;animation:page-open-in .55s var(--ease-out) both;background:repeating-linear-gradient(0deg,#0000 0 3px,#785a3206 3px 4px),linear-gradient(105deg,#f6edd8 0%,#f0e6cd 52%,#e8dabd 100%);border:1px solid #cbb892;border-left:3px solid #b59a6e;border-radius:2px 11px 11px 2px;flex-direction:column;gap:1.4rem;padding:2.4rem 2.1rem 2.1rem;display:flex;position:relative;box-shadow:2px 3px 0 -1px #e7daba,4px 6px 0 -2px #ddcfac,6px 9px 0 -3px #d2c29c,inset 18px 0 26px -18px #46301480,0 26px 52px #0009}.auth-card:before,.upload-form:before{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);z-index:2;background:linear-gradient(#b8333a 0%,#8a1f24 70%,#6e171b 100%);width:14px;height:62px;position:absolute;top:-7px;right:30px;box-shadow:0 3px 7px #00000073}.auth-brand{letter-spacing:.24em;text-transform:uppercase;color:#8a6d45;font-size:.68rem;font-weight:600}.auth-card h1{font-family:var(--font-lora), serif;letter-spacing:-.02em;color:#2c2013;border-bottom:1px solid #785a3233;margin-top:-.65rem;padding-bottom:.9rem;font-size:1.7rem;font-weight:600;line-height:1.12}.auth-card form{flex-direction:column;gap:1.2rem;display:flex}.auth-card label{color:#7a6038;letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:.4rem;font-size:.68rem;font-weight:600;display:flex}.auth-card input{color:#2c2013;background:#fffcf466;border:none;border-bottom:1.5px solid #c2ab80;border-radius:0;outline:none;width:100%;min-height:44px;padding:.5rem .25rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth-card input:focus{background:#fffcf4b3;border-bottom-color:#6b4f2a;box-shadow:0 1px #6b4f2a}.auth-card input::placeholder{color:#a8906492}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{padding-right:3rem}.password-toggle{cursor:pointer;color:#9a7e52;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:color .15s,background .15s;display:flex;position:absolute;right:.2rem}.password-toggle:hover{color:#5a431f;background:#785a3214}.auth-card button[type=submit]{margin-top:.5rem}@keyframes auth-error-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.auth-error,.upload-error{color:#8a1f24;animation:auth-error-shake .4s var(--ease-out);background:#b0333a14;border:1px solid #8a1f2447;border-left:3px solid #8a1f24;border-radius:7px;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.82rem;line-height:1.4;display:flex}.auth-error:before,.upload-error:before{content:"!";color:#fff;background:#8a1f24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;font-weight:700;display:inline-flex}.auth-hint{color:#7a6038;background:#c19a541f;border:1px solid #c19a5452;border-left:3px solid #c19a54;border-radius:7px;padding:.6rem .75rem;font-size:.82rem;line-height:1.4}.auth-footer{color:#7a6038;text-align:center;font-size:.82rem}.auth-footer a,.auth-link-btn{color:#2c2013;cursor:pointer;font-size:inherit;background:0 0;border:none;border-bottom:1px solid #c2ab80;padding-bottom:1px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.auth-footer a:hover,.auth-link-btn:hover{color:#6e171b;border-bottom-color:#8a6d45}.btn-primary,.auth-card button[type=submit],.upload-submit{color:#2a2017;letter-spacing:.01em;cursor:pointer;min-height:46px;transition:transform .12s var(--ease-out), box-shadow .15s, filter .15s;background:linear-gradient(#efe2c4 0%,#ddc7a1 100%);border:1px solid #b59f78;border-radius:10px;justify-content:center;align-items:center;padding:.7rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffffa6,inset 0 -1px 2px #785a3240,0 3px 9px #0006}.btn-primary:hover,.auth-card button[type=submit]:hover:not(:disabled),.upload-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 1px #ffffffb3,0 6px 16px #00000073}.btn-primary:active,.auth-card button[type=submit]:active:not(:disabled),.upload-submit:active:not(:disabled){transform:translateY(0)scale(.985);box-shadow:inset 0 2px 5px #785a3273}.auth-card button[type=submit]:disabled,.upload-submit:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.auth-card button[type=submit],.upload-submit{color:#ecd49b;font-family:var(--font-lora), serif;letter-spacing:.03em;background:linear-gradient(#4a361f 0%,#2c1d0f 100%);border:1px solid #6b4f2a;border-radius:9px;box-shadow:inset 0 1px #ecd49b38,inset 0 -2px 4px #0006,0 3px 9px #00000073}.auth-card button[type=submit]:hover:not(:disabled),.upload-submit:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:inset 0 1px #ecd49b47,0 6px 16px #00000080}.btn-ghost{background:var(--bg-elevated);justify-content:center;align-items:center;min-height:46px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn-ghost{background:color-mix(in srgb, var(--bg-elevated) 70%, transparent)}}.btn-ghost{color:var(--text-secondary);transition:border-color .15s, color .15s, transform .12s var(--ease-out), background .15s;letter-spacing:.01em;cursor:pointer;border:1px solid #00000059;border-radius:10px;padding:.7rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;box-shadow:inset 0 1px #ffffff0a,0 2px 5px #00000040}.btn-ghost:hover{border-color:var(--haze-cream)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{border-color:color-mix(in srgb, var(--haze-cream) 35%, var(--border))}}.btn-ghost:hover{color:var(--text-primary);transform:translateY(-1px)}.btn-ghost:active{transform:translateY(0)scale(.985)}.btn-icon{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;letter-spacing:.01em;background:0 0;border-radius:4px;align-items:center;gap:.35rem;padding:.375rem .875rem;font-family:inherit;font-size:.8rem;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.btn-icon:hover{color:var(--text-primary);border-color:var(--text-muted)}.landing{text-align:center;color:#3a2c1a;isolation:isolate;background:var(--desk-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex;position:relative;overflow:hidden}.landing:before,.landing:after,.landing-glow{display:none}.landing-inner{z-index:1;color:#3a2c1a;max-width:460px;animation:page-open-in .6s var(--ease-out,ease) both;background:repeating-linear-gradient(0deg,#0000 0 3px,#785a3206 3px 4px),linear-gradient(105deg,#f6edd8 0%,#f0e6cd 52%,#e8dabd 100%);border:1px solid #cbb892;border-left:3px solid #b59a6e;border-radius:2px 11px 11px 2px;flex-direction:column;align-items:center;gap:1.6rem;padding:3rem 2.75rem;display:flex;position:relative;box-shadow:2px 2px 0 -1px #efe2c6,4px 4px 0 -2px #e7d8b8,6px 7px 0 -3px #ddcba6,inset 14px 0 22px -18px #50371480,0 18px 44px #00000080}.landing-inner:after{content:"";outline-offset:4px;pointer-events:none;border:1px solid #c4a875;outline:1px solid #c4a875;position:absolute;inset:16px}.landing-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:#8a6d45;opacity:0;font-size:.68rem;animation:.7s .15s forwards fade-up}.landing-title{font-family:var(--font-lora), serif;letter-spacing:-.03em;color:#2c2013;text-shadow:0 1px #ffffff80;opacity:0;font-size:clamp(3.2rem,9vw,5rem);font-weight:600;line-height:.92;animation:.7s .35s forwards fade-up}.landing-title em{color:#8a1f24;font-style:normal;display:block}.landing-rule{opacity:0;border:none;border-top:1px solid #b89a6a;width:60px;height:0;animation:.7s .55s forwards fade-up;position:relative}.landing-rule:after{content:"";background:#a9854f;width:6px;height:6px;position:absolute;top:-3px;left:50%;transform:translate(-50%)rotate(45deg)}.landing-tagline{font-family:var(--font-lora), serif;color:#5a4528;letter-spacing:.01em;opacity:0;font-size:1.05rem;line-height:1.9;animation:.7s .75s forwards fade-up}.landing-cta{opacity:0;gap:.875rem;margin-top:.25rem;animation:.7s .95s forwards fade-up;display:flex}.landing-cta .btn-primary{color:#ecd49b;font-family:var(--font-lora), serif;letter-spacing:.03em;background:linear-gradient(#4a361f 0%,#2c1d0f 100%);border:1px solid #6b4f2a;border-radius:9px;box-shadow:inset 0 1px #ecd49b38,inset 0 -2px 4px #0006,0 3px 9px #5a3e1c59}.landing-cta .btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.landing-cta .btn-ghost{color:#5a431f;box-shadow:none;background:#785a320d;border:1px solid #b89a6a;border-radius:9px}.landing-cta .btn-ghost:hover{color:#2c2013;background:#785a321a;border-color:#8a6d45}.landing-footer{bottom:max(2rem, calc(env(safe-area-inset-bottom) + 1rem));opacity:0;z-index:1;flex-wrap:wrap;justify-content:center;gap:1.25rem;padding:0 1rem;animation:.7s 1.15s forwards fade-up;display:flex;position:absolute;left:0;right:0}.landing-feat{color:#b08f5c;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.landing-sep{color:#6f5734;font-size:.8rem}.library-page{background:var(--desk-bg);isolation:isolate;background-attachment:fixed;min-height:100vh;position:relative}.library-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 50% -5%, var(--haze-cream), transparent 70%), radial-gradient(40% 40% at 12% 18%, var(--haze-lavender), transparent 70%), radial-gradient(45% 45% at 88% 32%, var(--haze-rose), transparent 72%), radial-gradient(50% 40% at 70% 92%, var(--haze-sage), transparent 75%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.library-page:before{background:radial-gradient(60% 45% at 50% -5%, color-mix(in srgb, var(--haze-cream) 22%, transparent), transparent 70%), radial-gradient(40% 40% at 12% 18%, color-mix(in srgb, var(--haze-lavender) 16%, transparent), transparent 70%), radial-gradient(45% 45% at 88% 32%, color-mix(in srgb, var(--haze-rose) 14%, transparent), transparent 72%), radial-gradient(50% 40% at 70% 92%, color-mix(in srgb, var(--haze-sage) 10%, transparent), transparent 75%)}}.library-page:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 30%,#0000 55%,#00000073 100%);position:fixed;inset:0}.library-header{z-index:10;padding:.875rem 1.75rem;padding-top:max(.875rem, env(safe-area-inset-top));padding-left:max(1.75rem, env(safe-area-inset-left));padding-right:max(1.75rem, env(safe-area-inset-right));background:var(--desk-base);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.library-header{background:color-mix(in srgb, var(--desk-base) 80%, transparent)}}.library-header{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #00000080}.library-brand{font-family:var(--font-lora), serif;color:var(--text-primary);letter-spacing:-.025em;font-size:1.05rem;font-weight:500;text-decoration:none}.library-nav{align-items:center;gap:.625rem;display:flex}.library-body{max-width:1080px;margin:0 auto;padding:2.5rem 1.75rem}.library-heading{align-items:baseline;gap:.75rem;margin-bottom:1.75rem;display:flex}.library-heading h1{font-family:var(--font-lora), serif;letter-spacing:-.025em;color:var(--text-primary);font-size:1.6rem;font-weight:500}.library-count{color:var(--text-muted);font-size:.8rem}.bookcase{background:linear-gradient(90deg, var(--wood-shadow) 0, var(--wood-base) 6px, var(--wood-mid) 13px, var(--wood-shadow) 19px, transparent 19px, transparent calc(100% - 19px), var(--wood-shadow) calc(100% - 19px), var(--wood-mid) calc(100% - 13px), var(--wood-base) calc(100% - 6px), var(--wood-shadow) 100%), radial-gradient(135% 75% at 50% -12%, #241712 0%, #18100c 58%, #110a07 100%);box-shadow:inset 0 1px 0 #ffffff0d, inset 0 16px 34px -14px #000000d9, var(--shadow-floating);border:1px solid #000000a6;border-radius:12px;padding:1.5rem 1.5rem 1rem;position:relative}.bookcase:before{content:"";background:linear-gradient(180deg, var(--wood-highlight), var(--wood-mid) 48%, var(--wood-base) 82%, var(--wood-shadow));z-index:2;border-radius:12px 12px 0 0;height:15px;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 10px #00000080}.bookcase:after{content:"";background:linear-gradient(180deg, var(--wood-mid), var(--wood-base) 50%, var(--wood-shadow));border-radius:0 0 12px 12px;height:16px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 7px 18px #00000080}.shelf-grid{--shelf-spine-height:220px;--shelf-row-gap:2.5rem;--shelf-ledge:20px;align-items:flex-end;gap:var(--shelf-row-gap) 1.25rem;background-image:repeating-linear-gradient(to bottom, transparent 0 3px, #0000000f 3px 4px), repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--shelf-spine-height) - 12px), #00000052 var(--shelf-spine-height), var(--wood-highlight) calc(var(--shelf-spine-height) + 1px), var(--wood-highlight) calc(var(--shelf-spine-height) + 3px), var(--wood-mid) calc(var(--shelf-spine-height) + 9px), var(--wood-base) calc(var(--shelf-spine-height) + var(--shelf-ledge) - 6px), var(--wood-shadow) calc(var(--shelf-spine-height) + var(--shelf-ledge) - 1px), #0009 calc(var(--shelf-spine-height) + var(--shelf-ledge)), #0000 calc(var(--shelf-spine-height) + var(--shelf-ledge) + 20px), transparent calc(var(--shelf-spine-height) + var(--shelf-row-gap)));flex-wrap:wrap;padding:0 .5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.shelf-grid{background-image:repeating-linear-gradient(to bottom, transparent 0 3px, #0000000f 3px 4px), repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--shelf-spine-height) - 12px), #00000052 var(--shelf-spine-height), color-mix(in srgb, var(--wood-highlight) 80%, #fff) calc(var(--shelf-spine-height) + 1px), var(--wood-highlight) calc(var(--shelf-spine-height) + 3px), var(--wood-mid) calc(var(--shelf-spine-height) + 9px), var(--wood-base) calc(var(--shelf-spine-height) + var(--shelf-ledge) - 6px), var(--wood-shadow) calc(var(--shelf-spine-height) + var(--shelf-ledge) - 1px), #0009 calc(var(--shelf-spine-height) + var(--shelf-ledge)), #0000 calc(var(--shelf-spine-height) + var(--shelf-ledge) + 20px), transparent calc(var(--shelf-spine-height) + var(--shelf-row-gap)))}}.shelf-grid{background-repeat:repeat-y,repeat-y;background-size:100% 4px, 100% calc(var(--shelf-spine-height) + var(--shelf-row-gap))}.spine-link{text-decoration:none;display:contents}.book-spine{--spine-h:calc(var(--shelf-spine-height) - var(--spine-height-tier) * 16px);height:var(--spine-h);background:linear-gradient(105deg, #ffffff24 0%, #ffffff05 16%, transparent 42%, transparent 62%, #00000029 100%), linear-gradient(180deg, var(--spine-base) 0%, var(--spine-base) 12%, var(--spine-base) 88%, var(--spine-base) 100%);border-radius:2px 4px 4px 2px;flex-direction:column;align-items:center;padding:.9rem .3rem .55rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.book-spine{background:linear-gradient(105deg, #ffffff24 0%, #ffffff05 16%, transparent 42%, transparent 62%, #00000029 100%), linear-gradient(180deg, color-mix(in srgb, var(--spine-base) 84%, #fff) 0%, var(--spine-base) 12%, var(--spine-base) 88%, color-mix(in srgb, var(--spine-base) 78%, #000) 100%)}}.book-spine{box-shadow:inset 3px 0 5px -2px #fff3, inset -4px 0 7px -2px #00000073, var(--shadow-raised);cursor:pointer;transition:box-shadow var(--duration-base) var(--ease-out), filter var(--duration-base) var(--ease-out)}.book-spine:hover{filter:brightness(1.07);box-shadow:inset 3px 0 5px -2px #ffffff3d,inset -4px 0 7px -2px #00000073,0 20px 34px #0000008c}.spine-head{z-index:1;background:repeating-linear-gradient(90deg,#e9ddc1 0 1px,#cdbd97 1px 2px);border-radius:2px 3px 0 0;height:6px;position:absolute;top:0;left:2px;right:2px;box-shadow:inset 0 -2px 2px #00000047}.book-spine.leather{background:linear-gradient(180deg, transparent 18.5%, #0000003d 19%, #ffffff1f 20.5%, #0003 22%, transparent 22.5%, transparent 77%, #0000003d 77.5%, #ffffff1f 79%, #0003 80.5%, transparent 81%), linear-gradient(105deg, #ffffff2e 0%, #ffffff08 18%, transparent 44%, transparent 60%, #0000002e 100%), linear-gradient(180deg, var(--spine-base) 0%, var(--spine-base) 12%, var(--spine-base) 88%, var(--spine-base) 100%)}@supports (color:color-mix(in lab, red, red)){.book-spine.leather{background:linear-gradient(180deg, transparent 18.5%, #0000003d 19%, #ffffff1f 20.5%, #0003 22%, transparent 22.5%, transparent 77%, #0000003d 77.5%, #ffffff1f 79%, #0003 80.5%, transparent 81%), linear-gradient(105deg, #ffffff2e 0%, #ffffff08 18%, transparent 44%, transparent 60%, #0000002e 100%), linear-gradient(180deg, color-mix(in srgb, var(--spine-base) 84%, #fff) 0%, var(--spine-base) 12%, var(--spine-base) 88%, color-mix(in srgb, var(--spine-base) 76%, #000) 100%)}}.book-spine.cloth{background:linear-gradient(105deg, #ffffff0f 0%, transparent 46%, #0000001a 100%), linear-gradient(180deg, var(--spine-base) 0%, var(--spine-base) 14%, var(--spine-base) 86%, var(--spine-base) 100%)}@supports (color:color-mix(in lab, red, red)){.book-spine.cloth{background:linear-gradient(105deg, #ffffff0f 0%, transparent 46%, #0000001a 100%), linear-gradient(180deg, color-mix(in srgb, var(--spine-base) 90%, #fff) 0%, var(--spine-base) 14%, var(--spine-base) 86%, color-mix(in srgb, var(--spine-base) 82%, #000) 100%)}}.book-spine.paper{background:linear-gradient(180deg, transparent 13.5%, #00000029 14%, var(--spine-base) 14.5%, var(--spine-base) 21%, #00000029 21.5%, transparent 22%), linear-gradient(105deg, #ffffff17 0%, transparent 50%, #0000001a 100%), linear-gradient(180deg, var(--spine-base) 0%, var(--spine-base) 12%, var(--spine-base) 88%, var(--spine-base) 100%)}@supports (color:color-mix(in lab, red, red)){.book-spine.paper{background:linear-gradient(180deg, transparent 13.5%, #00000029 14%, color-mix(in srgb, var(--spine-base) 55%, #000) 14.5%, color-mix(in srgb, var(--spine-base) 55%, #000) 21%, #00000029 21.5%, transparent 22%), linear-gradient(105deg, #ffffff17 0%, transparent 50%, #0000001a 100%), linear-gradient(180deg, color-mix(in srgb, var(--spine-base) 88%, #fff) 0%, var(--spine-base) 12%, var(--spine-base) 88%, color-mix(in srgb, var(--spine-base) 80%, #000) 100%)}}.spine-status-shimmer{border-radius:inherit;opacity:.6;position:absolute;inset:0}.spine-ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);z-index:3;background:linear-gradient(#b8333a 0%,#8a1f24 60%,#6e171b 100%);border-radius:1px 1px 0 0;width:7px;position:absolute;top:-7px;right:9px;box-shadow:0 2px 5px #0006}.spine-title{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-lora), serif;letter-spacing:.01em;-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 1px 1px #0000008c);text-align:center;background:linear-gradient(#f7e8c0 0%,#d9b264 44%,#b58a3d 56%,#f1dca6 100%);-webkit-background-clip:text;background-clip:text;flex:1;justify-content:center;align-items:center;padding:.35rem 0;font-size:.82rem;font-weight:600;line-height:1.3;display:flex;overflow:hidden;transform:rotate(180deg)}.book-spine.light-cover .spine-title{-webkit-text-fill-color:#3a2a1a;color:#3a2a1a;filter:none;text-shadow:0 1px #fff6;background:0 0}.book-spine.light-cover .spine-format,.book-spine.light-cover .spine-progress-label{color:#5b4632}.book-spine.light-cover .spine-status{color:#6b513a}.book-spine.light-cover .spine-head{background:repeating-linear-gradient(90deg,#fbf3df 0 1px,#e4d6b4 1px 2px)}.spine-footer{writing-mode:horizontal-tb;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin-top:.4rem;display:flex}.spine-format{letter-spacing:.08em;color:var(--text-muted);font-size:.55rem;font-weight:600}.spine-status{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:4px;font-size:.5rem;font-weight:600;display:flex}.spine-status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.spine-status-dot.ready{background:#10b981}.spine-status-dot.pending,.spine-status-dot.processing{background:#f59e0b}.spine-status.ready{color:#34d399}.spine-status.pending,.spine-status.processing{color:#fbbf24}.spine-progress-label{letter-spacing:.04em;color:var(--text-secondary);font-size:.5rem;font-weight:600}.spine-delete{background:var(--bg);justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:flex;position:absolute;top:.35rem;right:.35rem}@supports (color:color-mix(in lab, red, red)){.spine-delete{background:color-mix(in srgb, var(--bg) 80%, transparent)}}.spine-delete{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;opacity:0;writing-mode:horizontal-tb;z-index:2;border-radius:4px;font-size:.75rem;line-height:1;transition:opacity .18s,transform .18s,color .15s,border-color .15s,background .15s;transform:rotate(0)translateY(-2px)}.book-spine:hover .spine-delete,.spine-delete:focus-visible{opacity:1;transform:rotate(0)translateY(0)}@media (hover:none){.spine-delete{opacity:1;transform:rotate(0)translateY(0)}}.spine-delete:hover{color:var(--mood-anger);border-color:var(--mood-anger)}@supports (color:color-mix(in lab, red, red)){.spine-delete:hover{border-color:color-mix(in srgb, var(--mood-anger) 50%, transparent)}}.spine-delete:hover{background:var(--mood-anger)}@supports (color:color-mix(in lab, red, red)){.spine-delete:hover{background:color-mix(in srgb, var(--mood-anger) 12%, var(--bg))}}.book-spine-skeleton{height:var(--shelf-spine-height);border-radius:2px 4px 4px 2px}@media (max-width:1024px){.shelf-grid{--shelf-spine-height:190px}}@media (max-width:768px){.shelf-grid{--shelf-spine-height:160px;--shelf-row-gap:2.25rem;--shelf-ledge:18px}.spine-title{font-size:.72rem}}@media (max-width:375px){.shelf-grid{--shelf-spine-height:140px;--shelf-row-gap:2rem;--shelf-ledge:16px;gap:1.25rem 1rem}}.library-empty{background:var(--bg-surface);text-align:center;border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:center;gap:.75rem;padding:5rem 2rem;display:flex}.library-empty-title{font-family:var(--font-lora), serif;color:var(--text-secondary);font-size:1.15rem;font-weight:400}.library-empty-sub{color:var(--text-muted);margin-bottom:.75rem;font-size:.82rem}.upload-page{background:var(--bg);isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.upload-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(58% 46% at 50% 0,#ffd6961a 0%,#0000 58%),repeating-linear-gradient(90deg,#0000 0 7px,#0000000d 7px 8px),radial-gradient(130% 100% at 50% 30%,#0000 52%,#0009 100%),linear-gradient(#1b140e 0%,#120c08 100%);position:fixed;inset:0}.upload-header{z-index:10;padding:.875rem 1.75rem;padding-top:max(.875rem, env(safe-area-inset-top));padding-left:max(1.75rem, env(safe-area-inset-left));padding-right:max(1.75rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(16px);background:#120c08b8;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.upload-brand{font-family:var(--font-lora), serif;color:var(--text-primary);letter-spacing:-.025em;font-size:1.05rem;font-weight:500}.upload-body{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.upload-form-header{border-bottom:1px solid #785a3233;flex-direction:column;gap:.3rem;padding-bottom:.9rem;display:flex}.upload-form-title{font-family:var(--font-lora), serif;letter-spacing:-.02em;color:#2c2013;font-size:1.5rem;font-weight:600}.upload-form-sub{color:#8a6d45;letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}.upload-zone{text-align:center;cursor:pointer;background:#785a320b;border:1.5px dashed #c2ab80;border-radius:9px;padding:2.5rem 1.5rem;transition:border-color .2s,background .2s,box-shadow .2s;box-shadow:inset 0 1px 5px #785a3224}.upload-zone:hover,.upload-zone.drag-over{background:#785a321a;border-color:#6b4f2a;box-shadow:inset 0 1px 5px #785a322e,0 0 0 3px #785a321f}.upload-zone-label{cursor:pointer;display:block}.upload-zone-icon{color:#8a6d45;background:#785a3214;border:1px solid #c9b791;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.85rem;display:inline-flex;box-shadow:inset 0 1px 2px #ffffff80}.upload-zone.drag-over .upload-zone-icon{color:#5a431f;box-shadow:inset 0 1px 2px #fff9,0 0 12px #785a3240}.upload-zone-primary{color:#3a2c1a;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.upload-zone-hint{color:#8a6d45;font-size:.74rem}.upload-zone-filename{color:#2c2013;margin-top:.5rem;font-size:.9rem;font-weight:600}.upload-field{flex-direction:column;gap:.4rem;display:flex}.upload-label{color:#7a6038;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:600}.upload-label-opt{color:#a89064;font-weight:500}.upload-input{color:#2c2013;background:#fffcf466;border:none;border-bottom:1.5px solid #c2ab80;border-radius:0;outline:none;width:100%;min-height:44px;padding:.5rem .25rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s,background .15s}.upload-input:focus{background:#fffcf4b3;border-bottom-color:#6b4f2a;box-shadow:0 1px #6b4f2a}.upload-input::placeholder{color:#a8906492}.upload-progress{flex-direction:column;gap:.5rem;display:flex}.upload-progress-track{background:#785a3229;border-radius:999px;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #50371952}.upload-progress-fill{height:100%;transition:width .25s var(--ease-out);background:linear-gradient(#6b4f2a 0%,#46341f 100%);border-radius:999px}.upload-progress-label{color:#8a6d45;text-align:center;font-size:.72rem}.reader-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.reader-header{z-index:10;padding:.75rem 1.75rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-left:max(1.75rem, env(safe-area-inset-left));padding-right:max(1.75rem, env(safe-area-inset-right));background:var(--bg);align-items:center;gap:1rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.reader-header{background:color-mix(in srgb, var(--bg) 97%, transparent)}}.reader-header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.reader-header{border-bottom:1px solid color-mix(in srgb, var(--border) 150%, transparent)}}.reader-header{will-change:transform;transition:transform .28s cubic-bezier(.4,0,.2,1)}.reader-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem 0;font-family:inherit;font-size:.8rem;text-decoration:none;transition:color .15s;display:inline-flex}.reader-back:hover{color:var(--text-secondary)}.reader-header-meta{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.reader-title{font-family:var(--font-lora), serif;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.reader-author{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.reader-body{width:100%;padding-top:3rem;padding-bottom:8rem;padding-inline:max(1.5rem, calc((100% - var(--reader-max,680px)) / 2));font-family:var(--font-lora), serif;color:var(--text-primary);flex:1;margin:0 auto;font-size:1.125rem}.reader-chunk{font-family:inherit;font-size:inherit;color:inherit;letter-spacing:.01em;margin-bottom:1.5em;line-height:1.9}.reader-chunk p{white-space:pre-wrap}.reader-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:5rem 2rem;display:flex}.reader-empty-title{font-family:var(--font-lora), serif;color:var(--text-secondary);font-size:1.1rem;font-weight:400}.reader-empty-sub{color:var(--text-muted);max-width:320px;font-size:.82rem;line-height:1.6}@keyframes mood-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mood-badge{z-index:50;background:var(--bg-surface);align-items:center;gap:.5rem;padding:.5rem .875rem;display:flex;position:fixed;bottom:1.75rem;right:1.75rem}@supports (color:color-mix(in lab, red, red)){.mood-badge{background:color-mix(in srgb, var(--bg-surface) 92%, transparent)}}.mood-badge{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:999px;animation:.4s forwards mood-fade-in}.mood-badge-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background-color .5s}.mood-badge-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;transition:color .3s}.reader-progress-bar{background:var(--mood-active);z-index:20;pointer-events:none;height:2px;transition:width .3s ease-out,background-color .5s;position:fixed;top:0;left:0}.reader-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.reader-loading-text{color:var(--text-muted);font-size:.8rem}.reader-loading-bar{background:var(--bg-elevated);border-radius:2px;width:160px;height:4px;overflow:hidden}.reader-loading-bar-fill{background:var(--mood-active,#8b5cf6);border-radius:2px;width:40%;height:100%;animation:1.1s ease-in-out infinite reader-loading-slide}@keyframes reader-loading-slide{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(150%)}}.rs-backdrop{z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(2px);background:#0a07087a;animation:.22s rs-backdrop-fade;position:fixed;inset:0}@keyframes rs-backdrop-fade{0%{opacity:0}to{opacity:1}}.rs-panel{background:radial-gradient(120% 30% at 100% 0%, #ffd6961a, transparent 70%), linear-gradient(180deg, var(--desk-surface) 0%, var(--desk-base) 100%);pointer-events:all;width:300px;box-shadow:var(--shadow-floating);animation:rs-slide-in .26s var(--ease-out);border-left:1px solid #0000008c;flex-direction:column;gap:0;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}@keyframes rs-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.rs-handle{background:var(--text-muted);opacity:.6;border-radius:999px;flex-shrink:0;width:38px;height:4px;margin:.6rem auto .1rem;display:none}.rs-header{z-index:2;background:var(--desk-surface);justify-content:space-between;align-items:center;padding:1.15rem 1.35rem 1rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.rs-header{background:color-mix(in srgb, var(--desk-surface) 90%, transparent)}}.rs-header{-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #0006;flex-shrink:0;box-shadow:0 1px #ffffff0a}.rs-title{font-family:var(--font-lora), serif;color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1.02rem;font-weight:600;display:flex}.rs-title:before{content:"";background:radial-gradient(circle at 35% 30%, var(--haze-cream), #c79a54 70%);width:7px;height:7px;box-shadow:0 0 8px var(--haze-cream);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.rs-title:before{box-shadow:0 0 8px color-mix(in srgb, var(--haze-cream) 60%, transparent)}}.rs-close{background:var(--bg-elevated);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:color .15s, background .15s, transform .12s var(--ease-out);border:1px solid #00000059;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.rs-close:hover{color:var(--text-primary);background:var(--bg-surface)}.rs-close:active{transform:scale(.9)}.rs-section{border-bottom:1px solid #00000052;flex-direction:column;gap:.85rem;padding:1.25rem 1.35rem;display:flex;box-shadow:0 1px #ffffff08}.rs-section:last-child{box-shadow:none;border-bottom:none}.rs-label{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.7rem;font-weight:500;display:flex}.rs-value{font-family:var(--font-mono), monospace;letter-spacing:0;color:var(--text-primary);background:var(--bg-elevated);border:1px solid #0000004d;border-radius:5px;padding:.1rem .4rem;font-size:.72rem;box-shadow:inset 0 1px 2px #0006}.rs-presets{flex-wrap:wrap;gap:.55rem;display:flex}.rs-preset{cursor:pointer;width:46px;height:40px;font-family:var(--font-lora), serif;box-shadow:var(--shadow-raised);transition:transform .14s var(--ease-spring), box-shadow .14s var(--ease-out), outline-offset .1s;outline-offset:2px;border:1px solid #00000059;border-right:2px solid #ffffff24;border-radius:3px 5px 5px 3px;font-size:.78rem;font-weight:600}.rs-preset:hover{box-shadow:var(--shadow-floating);transform:translateY(-3px)}.rs-preset:active{transform:translateY(-1px)scale(.97)}.rs-row{gap:.875rem;display:flex}.rs-color-label{color:var(--text-secondary);letter-spacing:.04em;flex-direction:column;flex:1;gap:.4rem;font-size:.72rem;display:flex}.rs-color-input{cursor:pointer;background:0 0;border:1px solid #00000059;border-radius:6px;width:100%;height:2.2rem;padding:3px;box-shadow:inset 0 1px 3px #0006,0 1px #ffffff0a}.rs-slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}.rs-slider::-webkit-slider-runnable-track{background:linear-gradient(#0000008c,#00000040);border-radius:999px;height:6px;box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff0d}.rs-slider::-moz-range-track{background:linear-gradient(#0000008c,#00000040);border-radius:999px;height:6px;box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff0d}.rs-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;transition:transform .1s var(--ease-out);background:radial-gradient(circle at 36% 30%,#f6e7c1 0%,#d2a85d 52%,#9c7536 100%);border:1px solid #7a5827;border-radius:50%;margin-top:-7px;box-shadow:0 2px 5px #0000008c,inset 0 1px 1px #ffffff8c}.rs-slider::-moz-range-thumb{background:radial-gradient(circle at 36% 30%,#f6e7c1 0%,#d2a85d 52%,#9c7536 100%);border:1px solid #7a5827;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 5px #0000008c,inset 0 1px 1px #ffffff8c}.rs-slider:active::-webkit-slider-thumb{transform:scale(1.14)}.rs-slider:active::-moz-range-thumb{transform:scale(1.14)}.rs-slider:disabled{opacity:.4;cursor:not-allowed}.rs-slider-labels{color:var(--text-muted);letter-spacing:.04em;justify-content:space-between;font-size:.68rem;display:flex}.rs-slider-labels span:last-child{font-size:1rem}.rs-fonts{flex-direction:column;gap:.375rem;display:flex}.rs-font-btn{background:var(--bg-elevated);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:border-color .15s, color .15s, background .15s, box-shadow .15s, transform .1s var(--ease-out);border:1px solid #0000004d;border-radius:7px;padding:.6rem .85rem;font-size:.95rem;box-shadow:inset 0 1px #ffffff0a,0 1px 2px #00000040}.rs-font-btn.active{border-color:var(--haze-cream)}@supports (color:color-mix(in lab, red, red)){.rs-font-btn.active{border-color:color-mix(in srgb, var(--haze-cream) 40%, var(--border))}}.rs-font-btn.active{color:var(--text-primary);background:var(--haze-cream)}@supports (color:color-mix(in lab, red, red)){.rs-font-btn.active{background:color-mix(in srgb, var(--haze-cream) 7%, var(--bg-elevated))}}.rs-font-btn.active{box-shadow:inset 0 2px 4px #00000073}.rs-font-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text-primary);transform:translateY(-1px)}.rs-font-btn:active{transform:translateY(0)scale(.99)}.reader-settings-btn{background:var(--bg-elevated);border:1px solid var(--border);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.reader-settings-btn{border:1px solid color-mix(in srgb, var(--border) 200%, transparent)}}.reader-settings-btn{color:var(--text-secondary);cursor:pointer;transition:color .15s, border-color .15s, background .15s, transform .12s var(--ease-out);border-radius:8px;flex-shrink:0;font-size:1.05rem;line-height:1}.reader-settings-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:var(--bg-surface)}.reader-settings-btn:active{transform:scale(.92)}.rs-music-controls{gap:.7rem;display:flex}.rs-music-btn{background:linear-gradient(180deg, var(--bg-elevated), var(--bg-surface));color:var(--text-secondary);cursor:pointer;transition:background .15s, border-color .15s, color .15s, box-shadow .15s, transform .1s var(--ease-out);border:1px solid #00000052;border-radius:9px;flex:1;padding:.7rem;font-size:1.25rem;line-height:1;box-shadow:inset 0 1px #ffffff0d,0 2px 5px #0000004d}.rs-music-btn:hover{border-color:var(--text-muted);color:var(--text-primary);transform:translateY(-1px)}.rs-music-btn:active{transform:translateY(0)scale(.97);box-shadow:inset 0 2px 5px #00000080}.rs-music-btn.active{background:radial-gradient(80% 80% at 50% 30%, var(--mood-active), var(--bg-elevated)), var(--bg-elevated)}@supports (color:color-mix(in lab, red, red)){.rs-music-btn.active{background:radial-gradient(80% 80% at 50% 30%, color-mix(in srgb, var(--mood-active) 30%, var(--bg-elevated)), var(--bg-elevated)), var(--bg-elevated)}}.rs-music-btn.active{border-color:var(--mood-active)}@supports (color:color-mix(in lab, red, red)){.rs-music-btn.active{border-color:color-mix(in srgb, var(--mood-active) 70%, var(--border))}}.rs-music-btn.active{color:var(--mood-active);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 14px var(--mood-active)}@supports (color:color-mix(in lab, red, red)){.rs-music-btn.active{box-shadow:inset 0 1px 0 #ffffff0f, 0 0 14px color-mix(in srgb, var(--mood-active) 30%, transparent)}}.rs-warning-backdrop,.rs-notice-backdrop{z-index:1100;justify-content:center;align-items:center;display:flex}.rs-warning-modal,.rs-notice-modal{--accent:var(--mood-active,#8b5cf6);pointer-events:all;text-align:center;background:radial-gradient(110% 70% at 50% 0%, var(--accent), transparent 62%), linear-gradient(180deg, var(--desk-elevated), var(--desk-base));position:relative}@supports (color:color-mix(in lab, red, red)){.rs-warning-modal,.rs-notice-modal{background:radial-gradient(110% 70% at 50% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 62%), linear-gradient(180deg, var(--desk-elevated), var(--desk-base))}}.rs-warning-modal,.rs-notice-modal{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-warning-modal,.rs-notice-modal{border:1px solid color-mix(in srgb, var(--accent) 35%, #00000080)}}.rs-warning-modal,.rs-notice-modal{border-top:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-warning-modal,.rs-notice-modal{border-top:2px solid color-mix(in srgb, var(--accent) 70%, var(--border))}}.rs-warning-modal,.rs-notice-modal{width:90%;max-width:340px;box-shadow:var(--shadow-floating);animation:rs-modal-pop .28s var(--ease-spring);border-radius:14px;padding:1.9rem 1.6rem 1.5rem}.rs-warning-modal{--accent:#f0a500}.rs-notice-modal{--accent:var(--mood-active,#8b5cf6)}@keyframes rs-modal-pop{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.rs-modal-badge{width:46px;height:46px;color:var(--accent);background:radial-gradient(circle at 50% 38%, var(--accent), var(--desk-elevated));border-radius:50%;margin:0 auto .85rem;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.rs-modal-badge{background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 28%, var(--desk-elevated)), var(--desk-elevated))}}.rs-modal-badge{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-modal-badge{border:1px solid color-mix(in srgb, var(--accent) 55%, #00000080)}}.rs-modal-badge{box-shadow:inset 0 1px 0 #ffffff14, 0 0 18px var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-modal-badge{box-shadow:inset 0 1px 0 #ffffff14, 0 0 18px color-mix(in srgb, var(--accent) 32%, transparent)}}.rs-badge-pause:before,.rs-badge-pause:after{content:"";background:currentColor;border-radius:2px;width:4px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.rs-badge-pause:before{left:calc(50% - 5px)}.rs-badge-pause:after{left:calc(50% + 1px)}.rs-badge-alert:before{content:"";background:currentColor;border-radius:2px;width:4px;height:12px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.rs-badge-alert:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:28px;left:50%;transform:translate(-50%)}.rs-modal-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.62rem}@supports (color:color-mix(in lab, red, red)){.rs-modal-eyebrow{color:color-mix(in srgb, var(--accent) 75%, var(--text-secondary))}}.rs-modal-eyebrow{margin:0 0 .3rem;font-weight:600}.rs-warning-title,.rs-notice-title{font-family:var(--font-lora), serif;color:var(--text-primary);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.rs-warning-text,.rs-notice-text{color:var(--text-secondary);max-width:26ch;margin:0 auto 1.25rem;font-size:.84rem;line-height:1.6}.rs-notice-dismiss,.rs-warning-dismiss{background:linear-gradient(180deg, var(--accent), var(--accent));justify-content:center;align-items:center;min-width:7rem;min-height:44px;padding:.6rem 1.6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.rs-notice-dismiss,.rs-warning-dismiss{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, var(--bg-surface)), color-mix(in srgb, var(--accent) 20%, var(--bg-surface)))}}.rs-notice-dismiss,.rs-warning-dismiss{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-notice-dismiss,.rs-warning-dismiss{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border))}}.rs-notice-dismiss,.rs-warning-dismiss{color:var(--text-primary);cursor:pointer;transition:transform .12s var(--ease-out), box-shadow .15s, background .15s;border-radius:9px;font-size:.88rem;font-weight:600;box-shadow:inset 0 1px #ffffff1f,0 3px 8px #00000059}.rs-notice-dismiss:hover,.rs-warning-dismiss:hover{background:linear-gradient(180deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.rs-notice-dismiss:hover,.rs-warning-dismiss:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 42%, var(--bg-surface)), color-mix(in srgb, var(--accent) 28%, var(--bg-surface)))}}.rs-notice-dismiss:hover,.rs-warning-dismiss:hover{transform:translateY(-1px)}.rs-notice-dismiss:active,.rs-warning-dismiss:active{transform:translateY(0)scale(.97);box-shadow:inset 0 2px 5px #0006}.rs-confirm-modal{--accent:var(--mood-anger)}.rs-confirm-actions{justify-content:center;gap:.6rem;display:flex}.rs-confirm-cancel,.rs-confirm-delete{cursor:pointer;min-width:6.5rem;min-height:44px;transition:transform .12s var(--ease-out), box-shadow .15s, background .15s;border-radius:9px;justify-content:center;align-items:center;padding:.6rem 1.4rem;font-family:inherit;font-size:.88rem;font-weight:600;display:inline-flex}.rs-confirm-cancel{background:linear-gradient(180deg, var(--bg-elevated), var(--bg-surface));border:1px solid var(--border);color:var(--text-secondary);box-shadow:inset 0 1px #ffffff0f}.rs-confirm-cancel:hover{color:var(--text-primary);border-color:var(--text-muted)}.rs-confirm-delete{background:linear-gradient(180deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.rs-confirm-delete{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, var(--bg-surface)), color-mix(in srgb, var(--accent) 20%, var(--bg-surface)))}}.rs-confirm-delete{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.rs-confirm-delete{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border))}}.rs-confirm-delete{color:var(--text-primary);box-shadow:inset 0 1px #ffffff1f,0 3px 8px #00000059}.rs-confirm-delete:hover{background:linear-gradient(180deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.rs-confirm-delete:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 42%, var(--bg-surface)), color-mix(in srgb, var(--accent) 28%, var(--bg-surface)))}}.rs-confirm-delete:hover{transform:translateY(-1px)}.rs-confirm-cancel:active,.rs-confirm-delete:active{transform:translateY(0)scale(.97);box-shadow:inset 0 2px 5px #0006}@media (max-width:768px){.library-header{padding:max(.75rem, env(safe-area-inset-top)) max(1.1rem, env(safe-area-inset-right)) .75rem max(1.1rem, env(safe-area-inset-left))}.library-body{padding:1.75rem 1.1rem}.bookcase{padding:1.1rem .9rem .85rem}.btn-icon{min-height:44px;padding:.55rem .8rem}.library-nav{gap:.45rem}.reader-header{padding:max(.6rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .6rem max(1rem, env(safe-area-inset-left));gap:.65rem}.reader-body{padding-top:2rem;padding-bottom:6rem;padding-inline:max(1.25rem, calc((100% - var(--reader-max,680px)) / 2))}.reader-settings-btn{width:44px;height:44px;font-size:1.15rem}.reader-back{min-height:44px;padding:.5rem 0}.mood-badge{bottom:1.1rem;right:1.1rem}.rs-panel{width:100%;max-height:82vh;padding-bottom:env(safe-area-inset-bottom,0px);background:radial-gradient(80% 24% at 50% 0%, #ffd6961a, transparent 70%), linear-gradient(180deg, var(--desk-surface) 0%, var(--desk-base) 100%);animation:rs-slide-up .3s var(--ease-out);border-top:1px solid #0000008c;border-left:none;border-radius:18px 18px 0 0;inset:auto 0 0}.rs-handle{display:block}.rs-section{padding:1.1rem 1.25rem}.rs-music-btn{min-height:48px;padding:.85rem}.rs-preset{width:48px;height:44px}.rs-slider{height:28px}.rs-font-btn{min-height:44px;padding:.7rem .85rem}.auth-card{padding:1.95rem 1.5rem}.upload-header{padding:max(.75rem, env(safe-area-inset-top)) max(1.1rem, env(safe-area-inset-right)) .75rem max(1.1rem, env(safe-area-inset-left))}.upload-body{padding:1.75rem 1.1rem}.upload-form{padding:1.8rem 1.5rem 1.6rem}.landing{padding:2rem 1.25rem}.landing-inner{gap:1.3rem;max-width:100%;padding:2.4rem 1.9rem}.landing-inner:after{outline-offset:3px;inset:12px}.landing-title{font-size:clamp(2.8rem,13vw,4.2rem)}.landing-tagline{font-size:1rem;line-height:1.75}.landing-footer{bottom:max(1.25rem, calc(env(safe-area-inset-bottom) + .75rem));gap:.85rem}}@keyframes rs-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:375px){.library-header{padding:max(.7rem, env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) .7rem max(.85rem, env(safe-area-inset-left))}.library-body{padding:1.5rem .85rem}.library-heading h1{font-size:1.4rem}.reader-body{padding-top:1.5rem;padding-bottom:5rem;padding-inline:max(1rem, calc((100% - var(--reader-max,680px)) / 2))}.reader-title{font-size:.88rem}.auth-page{padding:1rem}.auth-card{padding:1.6rem 1.2rem}.auth-card h1{font-size:1.45rem}.upload-header{padding:max(.7rem, env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) .7rem max(.85rem, env(safe-area-inset-left))}.upload-body{padding:1.5rem .85rem}.landing{padding:1.5rem 1rem}.landing-inner{gap:1.15rem;padding:2rem 1.4rem}.landing-inner:after{inset:10px}.landing-eyebrow{letter-spacing:.22em;font-size:.62rem}.landing-title{font-size:clamp(2.4rem,14vw,3.4rem)}.landing-tagline{font-size:.95rem}.landing-cta{flex-direction:column;gap:.7rem;width:100%}.landing-cta .btn-primary,.landing-cta .btn-ghost{width:100%}}@media (max-height:680px){.auth-page,.landing{justify-content:flex-start;align-items:flex-start;padding-top:1.5rem;padding-bottom:1.5rem;overflow:hidden auto}.landing-footer{margin-top:1.75rem;position:static;bottom:auto}.landing-inner{margin-bottom:.5rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
