@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-400-normal-DLkyKLvH.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-400-normal-B8Z6Jvzv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-400-normal-BccYJ-vZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-vietnamese-400-normal-BbG3LG1A.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-400-normal-DR1UuFon.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-latin-ext-400-normal-Cp7z-ARB.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-400-normal-CEpydyUl.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-400-normal-Dn3IlU-Z.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-cyrillic-ext-500-normal-DaDZE_Na.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-500-normal-8-8HP2PF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-cyrillic-500-normal-BdVUvljg.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-500-normal-Bb4u56_6.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-greek-500-normal-By8GFJzz.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-500-normal-z-Q6FFuG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-vietnamese-500-normal-Bi3OSTTW.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-500-normal-8N8MYVKB.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-latin-ext-500-normal-BYjRCDVy.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-500-normal-D-qasQTj.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/source-serif-4-latin-500-normal-CUHe9xxf.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-500-normal-DVVamBqs.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-600-normal-DiT2IGQm.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-600-normal-DFnC3vAY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-600-normal-DhXQw1Kl.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-vietnamese-600-normal-CznyfUKR.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-600-normal-B0WJbuqT.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-600-normal-C6NNqpJh.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-cyrillic-ext-700-normal-B9R79AaY.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-700-normal-DsKdgJCr.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-cyrillic-700-normal-BmBwwUw2.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-700-normal-DVvE-KHB.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-greek-700-normal-BzuEQSqJ.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-700-normal-C5Ojiwey.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-vietnamese-700-normal-CCAt8c4x.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-700-normal-BBU5i_d1.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-latin-ext-700-normal-C8ywwcuQ.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-700-normal-BZsvHpal.woff) format("woff");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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/source-serif-4-latin-700-normal-CGGdTIBe.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-700-normal-3V4Pv1hj.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-cyrillic-ext-400-italic-zoDFlEzN.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-400-italic-Dx4A8QUO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-cyrillic-400-italic-BLN19cOa.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-400-italic-Dx8qIUN3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-greek-400-italic-C7D4Dq0H.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-400-italic-DcuniPAV.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-vietnamese-400-italic-CjUPRDIa.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-400-italic-DyjhI2GX.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-latin-ext-400-italic-JynPwBMj.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-400-italic-G7LDTi7t.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-400-italic-Dv9jnFA_.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-cyrillic-ext-600-italic-Cezqx4eN.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-ext-600-italic-sjqggXxp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-cyrillic-600-italic-Bbpc5VXY.woff2) format("woff2"),url(/build/assets/source-serif-4-cyrillic-600-italic-DWQD6QxH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-greek-600-italic-BCtDz1WS.woff2) format("woff2"),url(/build/assets/source-serif-4-greek-600-italic-BwBPEzhh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-vietnamese-600-italic-DF-l7b1l.woff2) format("woff2"),url(/build/assets/source-serif-4-vietnamese-600-italic-DUaq_aVP.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-latin-ext-600-italic-ksjuXzcN.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-ext-600-italic-BYvw3cJd.woff) format("woff");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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:600;src:url(/build/assets/source-serif-4-latin-600-italic-BYz3Th4E.woff2) format("woff2"),url(/build/assets/source-serif-4-latin-600-italic-BWnwxV6-.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/build/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/build/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/build/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2) format("woff2"),url(/build/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2) format("woff2"),url(/build/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/build/assets/public-sans-latin-500-normal-vCxiVFAq.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/build/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/build/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/build/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2) format("woff2"),url(/build/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2) format("woff2"),url(/build/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/build/assets/public-sans-latin-700-normal-Dm-oTPSL.woff) format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/caveat-cyrillic-ext-600-normal-DDEJyoof.woff2) format("woff2"),url(/build/assets/caveat-cyrillic-ext-600-normal-BLVNc-Ct.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/caveat-cyrillic-600-normal-Ba_MyzgW.woff2) format("woff2"),url(/build/assets/caveat-cyrillic-600-normal-CqH0c_uj.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2) format("woff2"),url(/build/assets/caveat-latin-ext-600-normal-shBvSnoU.woff) format("woff");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/build/assets/caveat-latin-600-normal-DUjB8dgm.woff) format("woff");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,[data-theme=light]{--bg:#F6F4EF;--surface:#FFFFFF;--surface-2:#ECEAE4;--surface-3:#E0DED6;--ink:#1B1D24;--ink-2:#4E5260;--ink-3:#6A6E7A;--accent:#2B3A67;--accent-hover:#223058;--accent-2:#8F5F34;--on-accent:#FFFFFF;--cta:#F0A26B;--cta-2:#F6C08E;--on-cta:#3A1D08;--success:#2F7A5A;--warning:#f5b400;--danger:#A34239;--border:rgba(27,29,36,.1);--border-2:rgba(27,29,36,.18);--shadow-sm:0 1px 2px rgba(27,29,36,.05);--shadow:0 2px 8px rgba(27,29,36,.07);--shadow-lg:0 10px 28px rgba(27,29,36,.1);--texture:none;--spine-1:#3E5C4C;--spine-2:#4C6C93;--spine-3:#7A5C3E;--spine-4:#5C4C74;--spine-5:#2E4A5C;--spine-6:#7A5240;--spine-7:#5C3E4C;--spine-8:#3E5C5C;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-pill:999px;--banner-h:0px;--topbar-h:65px;--font-serif:"Source Serif 4", Georgia, serif;--font-sans:"Public Sans", system-ui, -apple-system, sans-serif;color-scheme:light}[data-theme=dark]{--bg:#15171C;--surface:#1D2027;--surface-2:#262A33;--surface-3:#30353F;--ink:#ECEEF3;--ink-2:#A9AEBB;--ink-3:#8A90A0;--accent:#93A9E3;--accent-hover:#A9BBEA;--accent-2:#D9A877;--on-accent:#12141A;--cta:#F2A873;--cta-2:#F8C99C;--on-cta:#3A1D08;--success:#7FC2A0;--warning:#f5b400;--danger:#E0958C;--border:rgba(236,238,243,.1);--border-2:rgba(236,238,243,.18);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow:0 4px 14px rgba(0,0,0,.4);--shadow-lg:0 14px 34px rgba(0,0,0,.5);--texture:none;--spine-1:#3E5C4C;--spine-2:#2E4A5C;--spine-3:#6B4E30;--spine-4:#4A3D66;--spine-5:#1F3A52;--spine-6:#6B3F2C;--spine-7:#5C3E4C;--spine-8:#2E4A48;color-scheme:dark}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}[role=button]:focus-visible,.book-card:focus-visible,.bingo-cell:focus-visible,.kan-card:focus-visible,.fo-book-cover:focus-visible,.fo-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);background-image:var(--texture);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.serif{font-family:var(--font-serif);letter-spacing:-.01em}.lit{font-family:var(--font-serif);font-style:italic}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}img{max-width:100%;display:block}::-moz-selection{background:var(--accent);color:var(--surface)}::selection{background:var(--accent);color:var(--surface)}.hide{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fo-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fo-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:600;letter-spacing:0;padding:.3rem .55rem;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .08s ease;z-index:30}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}.jr-fade-enter-active,.jr-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.jr-fade-enter-from,.jr-fade-leave-to{opacity:0;transform:translateY(2px)}.jr-collapse-enter-active,.jr-collapse-leave-active{transition:grid-template-rows .22s ease,opacity .18s ease;display:grid}.jr-collapse-enter-from,.jr-collapse-leave-to{grid-template-rows:0fr;opacity:0}.jr-collapse-enter-to,.jr-collapse-leave-from{grid-template-rows:1fr;opacity:1}.jr-rediscover-reveal-enter-active{transition:opacity .38s ease,transform .38s ease}.jr-rediscover-reveal-enter-from{opacity:0;transform:translateY(8px)}.jr-entry-list-enter-active{transition:opacity .32s ease,transform .32s cubic-bezier(.34,1.3,.64,1)}.jr-entry-list-enter-from{opacity:0;transform:translateY(-6px) scale(.99)}.jr-entry-list-move{transition:transform .28s ease}@keyframes jr-shimmer-once{0%{background-position:-150% 0}to{background-position:250% 0}}@keyframes jr-settle-rotate{0%{transform:rotate(-3deg) scale(.98);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes jr-modal-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jr-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes jr-sparkle-drift{0%{opacity:0;transform:translateY(4px) scale(.6) rotate(0)}40%{opacity:1}to{opacity:0;transform:translateY(-10px) scale(1) rotate(18deg)}}@keyframes jr-highlight-fade{0%{background-color:color-mix(in srgb,var(--accent) 14%,transparent)}to{background-color:transparent}}.bs-results-enter-active{transition:opacity .28s ease,transform .28s ease;transition-delay:calc(var(--bs-i, 0) * 35ms)}.bs-results-enter-from{opacity:0;transform:translateY(6px)}.bs-results-leave-active{transition:opacity .15s ease;position:absolute}.bs-results-leave-to{opacity:0}.bs-selected-lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.bs-selected-lift.is-selected{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent)}.bs-step-enter-active,.bs-step-leave-active{transition:opacity .22s ease,transform .22s ease}.bs-step-enter-from{opacity:0;transform:translate(10px)}.bs-step-leave-to{opacity:0;transform:translate(-10px);position:absolute;inset:0}.bs-cover-reveal-enter-active{transition:opacity .32s ease,transform .32s cubic-bezier(.22,.61,.36,1)}.bs-cover-reveal-enter-from{opacity:0;transform:rotateY(-8deg) translate(-6px)}@keyframes bs-check-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}.bs-save-check{animation:bs-check-pop .32s cubic-bezier(.34,1.3,.64,1)}@media(prefers-reduced-motion:reduce){.jr-fade-enter-active,.jr-fade-leave-active,.jr-collapse-enter-active,.jr-collapse-leave-active,.jr-rediscover-reveal-enter-active,.jr-entry-list-enter-active,.jr-entry-list-move,.bs-results-enter-active,.bs-results-leave-active,.bs-selected-lift,.bs-step-enter-active,.bs-step-leave-active,.bs-cover-reveal-enter-active{transition-duration:.001ms!important;animation-duration:.001ms!important;transition-delay:0ms!important}.jr-fade-enter-from,.jr-fade-leave-to,.jr-rediscover-reveal-enter-from,.jr-entry-list-enter-from,.bs-results-enter-from,.bs-step-enter-from,.bs-step-leave-to,.bs-cover-reveal-enter-from,.bs-selected-lift.is-selected{transform:none!important}.bs-skel{animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.1rem;border-radius:6px;font-weight:500;font-size:.95rem;line-height:1;white-space:nowrap;background:var(--surface-2);color:var(--ink);border:1px solid var(--border);transition:transform .12s ease,background .15s ease,border-color .15s ease}.btn svg{width:17px;height:17px;flex:none}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:transparent}.btn.danger{background:transparent;border-color:transparent;color:var(--ink-2);padding:0 .75rem}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:transparent}.btn.danger:focus-visible{color:var(--danger)}@media(max-width:430px){.btn.danger .del-label{display:none}.btn.danger:has(.del-label){padding:0;width:44px;gap:0;flex:0 0 44px}}.btn.sm{min-height:36px;padding:0 .75rem;font-size:.85rem;border-radius:6px}.btn.lg{min-height:52px;padding:0 1.5rem;font-size:1rem;border-radius:6px}.btn.block{width:100%}.btn .ic{width:18px;height:18px;flex:0 0 18px}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--ink-2)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:20px;height:20px}svg.ic{width:18px;height:18px;flex:0 0 18px}.fo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.15rem;border-radius:6px;font-family:var(--font-sans);font-weight:600;font-size:.9rem;line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.fo-btn:active{transform:translateY(1px)}.fo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fo-btn svg{width:17px;height:17px;flex:none}.fo-btn--primary{background:var(--accent);color:var(--on-accent)}.fo-btn--primary:hover{background:var(--accent-hover)}.fo-btn--secondary{background:var(--surface);border-color:var(--border-2);color:var(--ink)}.fo-btn--secondary:hover{background:var(--surface-2)}.fo-btn--ghost{background:transparent;color:var(--ink-2)}.fo-btn--ghost:hover{background:var(--surface-2);color:var(--ink)}.fo-btn--danger{background:transparent;color:var(--ink-2)}.fo-btn--danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.fo-btn--sm{min-height:36px;padding:0 .8rem;font-size:.82rem;border-radius:6px}.fo-btn--lg{min-height:50px;padding:0 1.5rem;font-size:.98rem}.fo-btn--block{width:100%}.fo-icon-btn{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--ink-2);border:1px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.fo-icon-btn svg{width:19px;height:19px}.fo-icon-btn:hover{background:var(--surface-2);color:var(--ink)}.fo-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fo-icon-btn--active{background:var(--surface-2);color:var(--ink)}.fo-icon-btn--danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.fo-icon-btn--favorite-on{color:var(--danger)}.fo-icon-btn--favorite-on:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.fo-icon-btn--sm{width:34px;height:34px;flex:0 0 34px}.fo-icon-btn--sm svg{width:16px;height:16px}.btn.fo-session-btn{min-height:48px;padding:.4rem 1.1rem .4rem .45rem;gap:.65rem;border-radius:6px;font-size:.98rem;font-weight:600;background:var(--cta);border-color:transparent;color:var(--on-cta);box-shadow:none;transition:background .15s ease}.btn.fo-session-btn:hover{background:color-mix(in srgb,var(--cta) 88%,white);color:var(--on-cta);transform:none}.fo-session-btn-ic{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--on-cta) 12%,transparent);color:var(--on-cta)}.fo-session-btn-ic svg{width:13px;height:13px}.btn.fo-session-btn.bshow-timer-running{background:var(--danger);color:#fff;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--danger) 60%,transparent)}.btn.fo-session-btn.bshow-timer-running .fo-session-btn-ic{background:#ffffffeb;color:var(--danger)}.bshow-pair .btn{position:relative}.bshow-pair .btn.has-content:after{content:"";position:absolute;top:7px;right:8px;width:4px;height:4px;border-radius:50%;background:var(--cta)}.input,.select,.textarea{width:100%;min-height:44px;padding:.65rem .85rem;background:var(--surface);border:1px solid var(--border-2);border-radius:6px;color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.textarea{resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B564A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:15px;color:var(--ink)}[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9A28E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.field{margin-bottom:.9rem}.field label{display:block;font-size:.78rem;font-weight:600;color:var(--ink-2);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.05em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:520px){.field-row{grid-template-columns:1fr}}.field-error{display:block;font-size:.76rem;color:var(--danger);margin-top:.3rem}.field-hint{font-size:.78rem;color:var(--ink-3);margin:-.5rem 0 .9rem}.sug{display:flex;flex-direction:column;gap:1rem}.sug-intro{margin:0;font-size:.88rem;color:var(--ink-2);line-height:1.5}.sug-section{display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.sug-h{display:flex;align-items:flex-start;gap:.7rem}.sug-h-ic{flex:none;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.sug-h-ic svg{width:16px;height:16px}.sug-h h4{margin:0;font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--ink)}.sug-h p{margin:.15rem 0 0;font-size:.8rem;color:var(--ink-3);line-height:1.4}.sug-inline{display:flex;gap:.5rem}.sug-inline .input{flex:1;min-width:0}.sug-inline .btn{flex:none}.sug-inline .btn:disabled,.suggest-img-send:disabled{opacity:.45;cursor:not-allowed}.sug-sent{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.88rem;color:var(--ink-2)}.sug-sent span{display:flex;color:var(--success, #3fa66b)}.sug-sent svg{width:16px;height:16px}.suggest-img{display:flex;gap:1.1rem;align-items:stretch}.suggest-img-thumb{position:relative;flex:none;width:96px;aspect-ratio:2/3;align-self:flex-start;border-radius:8px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.suggest-img-thumb.is-new{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.suggest-img-thumb img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.suggest-img-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink-3)}.suggest-img-empty svg{width:24px;height:24px}.suggest-img-badge{position:absolute;left:6px;bottom:6px;padding:.15rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--accent);color:var(--on-accent)}.suggest-img-controls{flex:1;min-width:0;display:flex;flex-direction:column;gap:.6rem}.suggest-img-upload{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;-moz-column-gap:.65rem;column-gap:.65rem;align-items:center;padding:.7rem .9rem;border:1.5px dashed var(--border-2);border-radius:10px;cursor:pointer;text-transform:none;letter-spacing:normal;transition:background .15s ease,border-color .15s ease}.suggest-img-upload:hover{background:var(--surface-2);border-color:var(--accent)}.suggest-img-upload:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.suggest-img-upload-icon{grid-row:1 / 3;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--accent)}.suggest-img-upload-icon svg{width:16px;height:16px}.suggest-img-upload-t{font-size:.9rem;font-weight:600;color:var(--ink)}.suggest-img-upload-s{font-size:.76rem;color:var(--ink-3)}.suggest-img-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.suggest-img-file{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem .45rem .8rem;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:.86rem;color:var(--ink)}.suggest-img-file-icon{display:inline-flex;color:var(--accent)}.suggest-img-file-icon svg{width:16px;height:16px}.suggest-img-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-img-file-clear{flex:none}.suggest-img-or{display:flex;align-items:center;gap:.75rem;font-size:.72rem;color:var(--ink-3)}.suggest-img-or:before,.suggest-img-or:after{content:"";flex:1;height:1px;background:var(--border)}.suggest-img-controls .field-error{margin-top:-.3rem}.suggest-img-send{align-self:flex-end;margin-top:auto}@media(max-width:480px){.suggest-img{flex-direction:column;align-items:center}.suggest-img-thumb{align-self:center}.suggest-img-controls{width:100%}.suggest-img-send{align-self:stretch}.sug-inline{flex-direction:column}}.check-row{display:flex;align-items:center;gap:.55rem;margin:0 0 .9rem;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--ink)}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:0 0 auto}.save-status{font-size:.76rem;color:var(--ink-2);margin-left:.5rem}.save-status.err{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:.78rem;font-weight:500;border:1px solid var(--border)}.chip.on{background:var(--accent);color:var(--on-accent);border-color:transparent}.chip.click{cursor:pointer}.chip.click:hover{background:var(--surface-3)}.chip.on.click:hover{background:var(--accent-hover)}.chip.on.click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-2);cursor:pointer}.checkbox-row input{width:16px;height:16px}.fo-seg{display:inline-flex;background:var(--surface-2);border-radius:var(--radius);padding:3px;gap:2px;overflow-x:auto;max-width:100%;scrollbar-width:none;border:1px solid var(--border)}.fo-seg::-webkit-scrollbar{display:none}.fo-seg-btn{padding:.5rem .85rem;border-radius:calc(var(--radius) - 3px);font-size:.85rem;font-weight:500;color:var(--ink-2);white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;gap:.4rem}.fo-seg-btn svg{width:16px;height:16px}.fo-seg-btn:hover{color:var(--ink)}.fo-seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.book-combo{position:relative;flex:1 1 260px;min-width:0;max-width:420px}.book-combo-field,.book-combo-picked{display:flex;align-items:center;gap:.5rem;height:44px;padding:0 .4rem 0 .75rem;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.book-combo-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.book-combo-field input{flex:1;min-width:0;height:100%;border:none;outline:none;background:none;font-size:.86rem;color:var(--ink)}.book-combo-field input::-moz-placeholder{color:var(--ink-3)}.book-combo-field input::placeholder{color:var(--ink-3)}.book-combo-field input::-webkit-search-cancel-button{display:none}.book-combo-icon{display:inline-flex;flex:none;width:15px;height:15px;color:var(--ink-3)}.book-combo-icon svg{width:100%;height:100%}.book-combo-cover{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:26px;border-radius:2px;overflow:hidden;background:var(--surface-3);color:var(--ink-3)}.book-combo-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.book-combo-cover svg{width:12px;height:12px}.book-combo-picked{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-2));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.book-combo-picked-label{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;height:100%;padding:0;border:none;background:none;color:var(--ink);font-size:.86rem;font-weight:600;text-align:left;cursor:pointer}.book-combo-picked-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-combo-clear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;padding:0;border:none;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.book-combo-clear:hover{background:var(--surface-2);color:var(--ink)}.book-combo-clear svg{width:13px;height:13px}.book-combo-edit{flex:none;border:none;background:none;padding:0;font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap}.book-combo-edit:hover{text-decoration:underline}.book-combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;max-height:340px;overflow-y:auto;margin:0;padding:.35rem;list-style:none;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow)}.book-combo-opt{display:flex;align-items:center;gap:.65rem;padding:.4rem .5rem;border-radius:var(--radius-sm);cursor:pointer}.book-combo-opt .fo-cover{--fo-cover-w:28px }.book-combo-opt.active{background:var(--surface-2)}.book-combo-opt.on .book-combo-opt-t{color:var(--accent)}.book-combo-opt--all{font-size:.84rem;font-weight:600;color:var(--ink-2)}.book-combo-opt-text{min-width:0;display:flex;flex-direction:column}.book-combo-opt-t{font-size:.86rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-combo-opt-a{font-size:.76rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-combo-none{padding:.75rem .5rem;font-size:.84rem;color:var(--ink-3)}.fo-filter-btn{display:inline-flex;align-items:center;gap:.45rem;flex:none;height:40px;padding:0 .9rem;border:1px solid var(--border-2);border-radius:var(--radius);background:var(--surface);font:inherit;font-size:.86rem;font-weight:600;color:var(--ink);cursor:pointer}.fo-filter-btn.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-2))}.fo-filter-btn-ic{display:inline-flex;width:16px;height:16px;color:var(--ink-2)}.fo-filter-btn-ic svg{width:100%;height:100%}.fo-filter-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .3rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.7rem}.fo-drawer-scrim{position:fixed;inset:0;z-index:120;background:#00000080;display:flex;justify-content:flex-end}.fo-drawer{width:min(86vw,360px);height:100%;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}.fo-drawer-h{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border)}.fo-drawer-h h3{margin:0;font-family:var(--font-serif);font-weight:600;font-size:1.2rem;color:var(--ink)}.fo-drawer-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.fo-drawer-body>*{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important}.fo-drawer-f{padding:.85rem 1rem max(.85rem,env(safe-area-inset-bottom));border-top:1px solid var(--border)}.fo-drawer-f .btn{width:100%}.fo-drawer-enter-active,.fo-drawer-leave-active{transition:background .25s ease}.fo-drawer-enter-active .fo-drawer,.fo-drawer-leave-active .fo-drawer{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.fo-drawer-enter-from,.fo-drawer-leave-to{background:#0000}.fo-drawer-enter-from .fo-drawer,.fo-drawer-leave-to .fo-drawer{transform:translate(100%)}.fo-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.fo-body{flex:1;min-height:0;display:flex}.fo-content{flex:1;min-width:0;display:flex;flex-direction:column}.fo-sidebar{display:none}@media(min-width:1024px){.fo-sidebar{display:flex;flex-direction:column;width:240px;flex:0 0 240px;position:sticky;top:var(--banner-h, 0px);height:calc(100dvh - var(--banner-h, 0px));border-right:1px solid var(--border);background:var(--surface);padding:1.1rem .9rem 1rem;overflow:hidden}}.fo-brand{display:flex;align-items:center;gap:.6rem;padding:.3rem .35rem .625rem;margin-bottom:.4rem;border-bottom:1px solid var(--border)}.fo-sidebar .fo-brand{box-sizing:border-box;height:var(--topbar-h, 65px);justify-content:flex-start;align-items:center;margin:-1.1rem -.9rem .4rem;padding:0 1.5rem}.fo-brand-logo{display:flex;flex-direction:column;justify-content:center;line-height:1.1}.fo-brand-wordmark{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:1.3rem;color:var(--ink)}.fo-brand-tagline{font-size:.62rem;letter-spacing:.03em;color:var(--ink-3);margin-top:.1rem}.fo-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:.5rem;padding-right:.5rem;scrollbar-gutter:stable;scrollbar-width:thin}.fo-nav::-webkit-scrollbar{width:6px}.fo-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 20%,transparent);border-radius:99px}.fo-nav::-webkit-scrollbar-track{background:transparent}.fo-nav-group+.fo-nav-group{margin-top:1.1rem}.fo-nav-group-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:0 .6rem;margin-bottom:.35rem}.fo-nav-link{display:flex;align-items:center;gap:.65rem;padding:.55rem .6rem;border-radius:6px;color:var(--ink-2);font-size:.9rem;font-weight:500;transition:background .15s ease,color .15s ease;min-height:40px;margin-bottom:3px}.fo-nav-link svg{width:18px;height:18px;flex:0 0 18px}.fo-nav-link:hover{background:var(--surface-2);color:var(--ink)}.fo-nav-link.active{background:var(--surface-2);color:var(--ink);font-weight:600}.fo-nav-link.active:before{content:"";width:3px;align-self:stretch;border-radius:2px;background:var(--accent);margin-right:-.15rem}.fo-nav-dropdown-trigger{width:100%;border:0;background:none;cursor:pointer;text-align:left}.fo-nav-dropdown-label{flex:1}.fo-nav-dropdown-chev svg{width:14px;height:14px;flex:0 0 14px;transition:transform .15s ease}.fo-nav-dropdown-chev.open svg{transform:rotate(90deg)}.fo-nav-dropdown-list{display:flex;flex-direction:column;padding-left:1.15rem;margin-top:-1px;margin-bottom:3px}.fo-nav-dropdown-item{display:block;padding:.45rem .6rem;border-radius:6px;color:var(--ink-2);font-size:.85rem;font-weight:500;transition:background .15s ease,color .15s ease}.fo-nav-dropdown-item:hover{background:var(--surface-2);color:var(--ink)}.fo-nav-dropdown-item.active{color:var(--ink);font-weight:600;background:var(--surface-2)}.fo-nav-dropdown-item{display:flex;align-items:center;gap:.5rem}.fo-nav-dropdown-item:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:transparent;transition:background .15s ease}.fo-nav-dropdown-item.active:before{background:var(--accent)}.fo-sidebar-foot{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.fo-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem max(1rem,4vw);padding-top:max(.6rem,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border);min-height:56px}@media(min-width:1024px){.fo-topbar{position:sticky;top:var(--banner-h, 0px);padding:.7rem 1.75rem;box-sizing:border-box;min-height:var(--topbar-h, 65px)}.fo-topbar .fo-brand{display:none}}.fo-topbar-actions{display:flex;align-items:center;gap:.15rem}.fo-topbar-actions .fo-streakbadge{margin-right:.5rem}.fo-notif-bell,.fo-notif-trigger{position:relative}.fo-notif-trigger>span:first-child{display:inline-flex;align-items:center;justify-content:center}.fo-notif-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;line-height:1}.fo-notif-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;width:340px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.fo-notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .9rem;border-bottom:1px solid var(--border);font-size:.92rem;font-weight:700;color:var(--ink)}.fo-notif-markall{background:none;border:0;padding:0;color:var(--accent);font-size:.76rem;font-weight:600;cursor:pointer}.fo-notif-markall:hover{text-decoration:underline}.fo-notif-empty{padding:2rem .75rem;text-align:center;color:var(--ink-2);font-size:.85rem}.fo-notif-list{list-style:none;margin:0;padding:.4rem;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:.1rem}.fo-notif-item{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .55rem;border-radius:8px;font-size:.85rem;color:var(--ink);cursor:pointer;transition:background .15s ease}.fo-notif-item:hover{background:var(--surface-2)}.fo-notif-item.unread{background:color-mix(in srgb,var(--accent) 6%,transparent)}.fo-notif-item.unread:hover{background:color-mix(in srgb,var(--accent) 11%,transparent)}.fo-notif-item+.fo-notif-item{margin-top:1px}.fo-notif-icon{flex:0 0 auto;width:30px;height:30px;margin-top:.05rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink-2)}.fo-notif-icon svg{width:15px;height:15px}.fo-notif-icon--good{background:color-mix(in srgb,var(--success, #2e7d32) 15%,transparent);color:var(--success, #2e7d32)}.fo-notif-icon--muted{background:var(--surface-3);color:var(--ink-2)}.fo-notif-icon--neutral{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.fo-notif-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.2rem}.fo-notif-msg{line-height:1.4}.fo-notif-item.unread .fo-notif-msg{font-weight:600;color:var(--ink)}.fo-notif-time{font-size:.74rem;color:var(--ink-2)}.fo-notif-dot{flex:0 0 auto;width:7px;height:7px;margin-top:.5rem;border-radius:50%;background:var(--accent)}.fo-cart-drawer-body{padding:0}.fo-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:3rem 1.5rem;text-align:center;color:var(--ink-2);font-size:.9rem}.fo-cart-empty-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--surface-3);color:var(--ink-3)}.fo-cart-empty-icon svg{width:19px;height:19px}.fo-cart-empty p{margin:0}.fo-cart-empty-link{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}.fo-cart-empty-link:hover{text-decoration:underline}.fo-cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.fo-cart-item{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem}.fo-cart-item+.fo-cart-item{border-top:1px solid var(--border-2)}.fo-cart-item-cover{flex:0 0 auto;width:44px;height:44px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink-2)}.fo-cart-item-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fo-cart-item-cover svg{width:18px;height:18px}.fo-cart-item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.fo-cart-item-title{font-size:.9rem;font-weight:600;color:var(--ink)}.fo-cart-item-sub{font-size:.78rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fo-cart-item-price{font-size:.8rem;color:var(--ink-3)}.fo-cart-item-remove{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.fo-cart-item-remove svg{width:15px;height:15px}.fo-cart-item-remove:hover{background:var(--surface-2);color:var(--ink)}.fo-cart-item-remove:disabled{opacity:.5;cursor:not-allowed}.fo-streakbadge{position:relative}.fo-streakbadge-emoji{display:inline-block;line-height:1;filter:grayscale(1) opacity(.35);transition:filter .15s ease}.fo-streakbadge-emoji.on,.fo-streakbadge-trigger--on .fo-streakbadge-emoji,.fo-streakbadge-trigger--risk .fo-streakbadge-emoji{filter:none}.fo-streakbadge-trigger{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-3);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.fo-streakbadge-trigger:hover{background:var(--surface-3)}.fo-streakbadge-trigger .fo-streakbadge-emoji{font-size:1.05rem}.fo-streakbadge-trigger--on{color:var(--ink);border-color:var(--border-2)}.fo-streakbadge-trigger--risk{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.fo-streakbadge-trigger--risk .fo-streakbadge-emoji{animation:fo-streak-pulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.fo-streakbadge-trigger--risk .fo-streakbadge-emoji{animation:none}}.fo-streakbadge-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;width:280px;padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.fo-streakbadge-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.fo-streakbadge-panel-stat{display:flex;align-items:baseline;gap:.4rem}.fo-streakbadge-panel-n{font-family:var(--font-serif);font-weight:600;font-size:2rem;line-height:1;color:var(--ink)}.fo-streakbadge-panel-label{font-size:.8rem;color:var(--ink-2);text-transform:capitalize}.fo-streakbadge-panel-flame{font-size:2.75rem}.fo-streakbadge-panel-sub{margin:.6rem 0 0;font-size:.8rem;color:var(--ink-2);line-height:1.4}.fo-streakbadge-week{display:flex;justify-content:space-between;gap:.3rem;margin-top:1rem}.fo-streakbadge-day{display:flex;flex-direction:column;align-items:center;gap:.35rem}.fo-streakbadge-day-l{font-size:.68rem;font-weight:600;color:var(--ink-3);text-transform:uppercase}.fo-streakbadge-day.today .fo-streakbadge-day-l{color:var(--accent)}.fo-streakbadge-day-dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border)}.fo-streakbadge-day-dot .fo-streakbadge-emoji{font-size:.9rem;filter:none}.fo-streakbadge-day-dot.on{background:color-mix(in srgb,var(--warning) 16%,transparent);border-color:transparent}.fo-streakbadge-day.today .fo-streakbadge-day-dot{border-color:var(--accent)}.fo-streakbadge-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.76rem;color:var(--ink-2)}.fo-streakbadge-panel-foot strong{color:var(--ink);font-weight:700}.fo-achbadge{position:relative}.fo-achbadge-emoji{display:inline-block;line-height:1}.fo-achbadge-trigger{display:inline-flex;align-items:center;gap:.35rem;height:30px;padding:0 .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s ease,border-color .15s ease}.fo-achbadge-trigger:hover{background:var(--surface-3)}.fo-achbadge-trigger .fo-achbadge-emoji{font-size:1.05rem}.fo-achbadge-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;width:280px;padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.fo-achbadge-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.fo-achbadge-panel-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.fo-achbadge-panel-title{font-family:var(--font-serif);font-weight:600;font-size:1.15rem;color:var(--ink);margin-top:.15rem}.fo-achbadge-panel-trophy{font-size:2rem}.fo-achbadge-bar{height:8px;margin-top:.75rem;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--ink) 6%,var(--surface));box-shadow:inset 0 1px 2px #0000000f}.fo-achbadge-bar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .5s ease}.fo-achbadge-xp-meta{margin-top:.4rem;font-size:.76rem;color:var(--ink-2)}.fo-achbadge-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.fo-achbadge-badge{font-size:1.05rem;filter:grayscale(1) opacity(.3);transition:filter .15s ease}.fo-achbadge-badge.on{filter:none}.fo-achbadge-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.76rem;color:var(--ink-2)}.fo-achbadge-link{color:var(--accent);font-weight:600;white-space:nowrap}.fo-achbadge-link:hover{text-decoration:underline}.fo-profile-menu{position:relative;margin-left:.35rem}.fo-profile-trigger{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .3rem;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .15s ease}.fo-profile-trigger:hover{background:var(--surface-2)}.fo-profile-avatar{width:30px;height:30px;flex:0 0 auto;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.fo-profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fo-profile-name{font-size:.88rem;font-weight:600;color:var(--ink);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fo-profile-menu-list{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;min-width:180px;display:flex;flex-direction:column;padding:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.fo-profile-menu-item{display:block;width:100%;text-align:left;padding:.55rem .65rem;border-radius:6px;background:none;border:0;color:var(--ink);font-size:.88rem;cursor:pointer}.fo-profile-menu-item:hover{background:var(--surface-2)}@media(max-width:640px){.fo-profile-name{display:none}}@media(max-width:640px){.fo-topbar{gap:.5rem;padding-left:1rem;padding-right:1rem}.fo-topbar .fo-brand{flex:none;margin:0;padding:0;border:none}.fo-topbar .fo-brand-wordmark{font-size:1.1rem}.fo-topbar .fo-brand-tagline{display:none}.fo-topbar .fo-topsearch{flex:1 1 auto;min-width:0}.fo-topbar-actions{flex:none;gap:.1rem}.fo-topbar-desktop-only,.fo-topbar .fo-achbadge{display:none!important}}.fo-topsearch{position:relative;flex:1 1 auto;min-width:0;max-width:420px}.fo-topsearch-ic{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3);pointer-events:none}.fo-topsearch-ic svg{width:100%;height:100%;display:block}.fo-topsearch-input{width:100%;min-height:38px;padding:.4rem .75rem .4rem 2.35rem;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--ink);font-size:.85rem;transition:border-color .15s ease,background .15s ease}.fo-topsearch-input:focus{outline:0;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.fo-topsearch-input::-webkit-search-cancel-button{display:none}.fo-topsearch-field{position:static}.fo-topsearch-toggle,.fo-topsearch-close{display:none}@media(max-width:640px){.fo-topbar .fo-topsearch{position:static;flex:1 1 auto;display:flex;justify-content:flex-end;max-width:none}.fo-topsearch-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:none;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer}.fo-topsearch-toggle svg{width:20px;height:20px}.fo-topsearch.is-band-open .fo-topsearch-toggle{color:var(--accent)}.fo-topsearch-field{position:absolute;top:100%;left:0;right:0;z-index:39;padding:.6rem 1rem .7rem;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 12px 24px -16px #00000073;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility 0s linear .22s}.fo-topsearch.is-band-open .fo-topsearch-field{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.fo-topsearch-field .fo-topsearch-ic{left:1.75rem}.fo-topsearch-field .fo-topsearch-input{min-height:42px;padding-right:2.6rem;font-size:1rem}.fo-topsearch-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:1.4rem;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.fo-topsearch-close svg{width:16px;height:16px}.fo-topsearch-field .fo-topsearch-panel{left:.5rem;right:.5rem;top:calc(100% + 4px);width:auto;max-width:none}}.fo-topsearch-panel{position:absolute;left:0;right:0;top:calc(100% + .4rem);z-index:60;background:var(--surface);border:1px solid var(--border-2);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;max-height:60vh;display:flex;flex-direction:column}.fo-topsearch-tabs{flex:0 0 auto;display:flex;gap:.15rem;padding:.5rem .5rem 0;border-bottom:1px solid var(--border)}.fo-topsearch-tab{padding:.45rem .7rem;font-size:.82rem;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.fo-topsearch-tab:hover{color:var(--ink)}.fo-topsearch-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.fo-topsearch-results{flex:1 1 auto;overflow-y:auto;padding:.35rem}.fo-topsearch-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.4rem .5rem;border-radius:10px;text-align:left;transition:background .1s ease}.fo-topsearch-item:hover,.fo-topsearch-item.active{background:var(--surface-2)}.fo-topsearch-cover{flex:0 0 32px;width:32px;height:46px;border-radius:3px;overflow:hidden;background:var(--surface-3)}.fo-topsearch-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fo-topsearch-meta{display:flex;flex-direction:column;min-width:0;gap:.05rem}.fo-topsearch-meta .t{font-size:.85rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-topsearch-meta .a{font-size:.75rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-topsearch-owned{font-size:.68rem;font-weight:600;color:var(--accent);margin-top:.1rem}.fo-topsearch-empty{padding:.75rem;text-align:center;font-size:.82rem;color:var(--ink-3);font-style:italic}.fo-topsearch-more{padding:.5rem .75rem;text-align:center;font-size:.75rem;color:var(--ink-3);border-top:1px solid var(--border)}.fo-topsearch-item--genre{justify-content:space-between}.fo-topsearch-item--genre .n{font-size:.76rem;color:var(--ink-3)}.fo-topsearch-isbn-cta{flex:0 0 auto;display:block;padding:.55rem .75rem;text-align:center;font-size:.8rem;font-weight:600;color:var(--accent);text-decoration:none;border-top:1px solid var(--border)}.fo-topsearch-isbn-cta:hover{background:var(--surface-2)}@media(max-width:480px){.fo-topsearch{max-width:none}}.fo-main{flex:1;min-width:0;width:100%;padding:1.25rem max(1rem,4vw) 6.5rem}@media(min-width:1024px){.fo-main{padding:2rem max(1.75rem,2vw) 1rem;max-width:1480px;margin:0 auto}}.fo-bottomnav{position:fixed;z-index:40;left:0;right:0;bottom:0;display:flex;align-items:stretch;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:1024px){.fo-bottomnav{display:none}}.fo-bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:.4rem .2rem;color:var(--ink-3);font-size:.66rem;font-weight:500}.fo-bottomnav-item svg{width:21px;height:21px;stroke-width:1.7}.fo-bottomnav-item.active{color:var(--accent);font-weight:600}.fo-timer{display:flex;align-items:center;gap:.55rem;border-radius:6px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);padding:.5rem .65rem;font-size:.85rem;font-weight:600;transition:background .15s ease,border-color .15s ease;min-width:0}.fo-timer:hover{background:var(--surface-3)}.fo-timer-icon{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent)}.fo-timer-icon svg{width:14px;height:14px}.fo-timer--running{border-color:color-mix(in srgb,var(--danger) 45%,var(--border-2));background:color-mix(in srgb,var(--danger) 10%,var(--surface-2))}.fo-timer--running .fo-timer-icon{background:var(--danger)}.fo-timer-label{display:flex;align-items:baseline;gap:.3em;min-width:0;flex:1;font-variant-numeric:tabular-nums;white-space:nowrap}.fo-timer-sub{color:var(--ink-2);font-weight:500;font-size:.72rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fo-sidebar .fo-timer{width:100%;border-radius:6px;min-height:48px;padding:.4rem 1rem .4rem .45rem;gap:.65rem;font-size:.98rem}.fo-sidebar .fo-timer .fo-timer-icon{width:32px;height:32px;flex-basis:32px}.fo-sidebar .fo-timer .fo-timer-icon svg{width:13px;height:13px}.fo-sidebar .fo-timer:not(.fo-timer--running){background:var(--cta);border-color:transparent;color:var(--on-cta);transition:background .15s ease}.fo-sidebar .fo-timer:not(.fo-timer--running):hover{background:color-mix(in srgb,var(--cta) 88%,white)}.fo-sidebar .fo-timer:not(.fo-timer--running) .fo-timer-icon{background:color-mix(in srgb,var(--on-cta) 12%,transparent);color:var(--on-cta)}.fo-timer--floating{position:fixed;z-index:41;right:.85rem;bottom:calc(64px + env(safe-area-inset-bottom) + .6rem);box-shadow:var(--shadow-lg)}@media(min-width:1024px){.fo-timer--floating{display:none}}.fo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.fo-card--interactive{transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.fo-card--interactive:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.bqa{position:absolute;left:.4rem;right:.4rem;bottom:.4rem;z-index:2;height:32px;border-radius:999px;background:#1412109e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:space-around;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.fo-rec-cover:hover .bqa,.author-book-cover:hover .bqa,.bqa:focus-within{opacity:1;transform:translateY(0)}@media(hover:none){.bqa{opacity:1;transform:none}}.bqa-btn{position:relative;flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:none;color:#fff;cursor:pointer;border:0;padding:0;line-height:0;transition:transform .15s ease}.bqa-btn svg{display:block;width:15px;height:15px}.bqa-btn:hover{transform:scale(1.12)}.bqa-btn:disabled{opacity:.5;cursor:default}.bqa-tooltip{z-index:70;background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:600;letter-spacing:0;padding:.3rem .55rem;border-radius:6px;white-space:nowrap;pointer-events:none}.bqa-btn.on:not(.bqa-check) svg{fill:currentColor;stroke:none}.bqa-check{width:20px;height:20px}.bqa-check svg{width:11px;height:11px}.bqa-check.on{background:#4dd0a7;color:#fff}.bqa-more svg circle{fill:currentColor}.bqa-dot{position:absolute;top:0;right:0;width:7px;height:7px;border-radius:50%;border:1.5px solid rgba(20,18,16,.9)}.bqa-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0,0,0,.18));padding:.3rem;min-width:170px;display:flex;flex-direction:column}.bqa-menu-item{display:flex;align-items:center;gap:.4rem;text-align:left;background:none;border:0;padding:.5rem .6rem;border-radius:6px;font-size:.85rem;color:var(--ink);cursor:pointer}.bqa-menu-item:hover{background:var(--surface-2)}.bqa-menu-item.active{font-weight:600}.bqa-menu-check{display:flex;color:var(--accent)}.bqa-menu-check svg{width:13px;height:13px}.bqa-menu-stars{display:flex;justify-content:center;margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--border)}.bqa-menu-stars--top{margin:0 0 .25rem;padding:.3rem 0 .55rem;border-top:0;border-bottom:1px solid var(--border)}.bqa-menu-remove{margin-top:.25rem;padding-top:.6rem;border-top:1px solid var(--border);color:var(--danger)}.bqa-menu-remove:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.bqa-menu-remove svg{width:14px;height:14px}.fo-cover{--fo-cover-w:130px;position:relative;width:var(--fo-cover-w);aspect-ratio:2 / 3;flex:0 0 auto;cursor:pointer;border:0;padding:0;background:none;text-align:left;perspective:800px}.fo-cover--sm{--fo-cover-w:88px }.fo-cover--md{--fo-cover-w:130px }.fo-cover--lg{--fo-cover-w:172px }.fo-cover--xl{--fo-cover-w:210px }.fo-cover-stage{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.22,.61,.36,1)}.fo-cover-pages{position:absolute;inset:2px -3px -3px 2px;border-radius:0 3px 3px 0;background:repeating-linear-gradient(to bottom,#ede8dc 0px 1px,#e1dacb 1px 2px);box-shadow:inset -1px 0 #0000000f;z-index:1}[data-theme=dark] .fo-cover-pages{background:repeating-linear-gradient(to bottom,#2c2f27 0px 1px,#23261f 1px 2px)}.fo-cover-face{position:absolute;inset:0;border-radius:4px 6px 6px 4px;overflow:hidden;box-shadow:var(--shadow),0 0 0 1px #0000000f;z-index:2;background:var(--surface-2);container-type:inline-size}.fo-cover-face img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fo-cover-spine{position:absolute;left:0;top:0;bottom:0;width:7%;overflow:hidden;background-repeat:no-repeat;background-size:cover;background-position:left center;z-index:3;border-radius:4px 0 0 4px;pointer-events:none}.fo-cover-spine:not(.has-photo){filter:brightness(.82) saturate(.9)}.fo-cover-spine:after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#ffffff2e}.fo-cover-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10% 9%;color:#fff}.fo-cover-fallback-title{font-family:var(--font-serif);font-weight:600;line-height:1.15;font-size:clamp(.62rem,8.5cqw,.95rem);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.25)}.fo-cover-fallback-author{margin-top:.35em;font-size:clamp(.48rem,5.5cqw,.68rem);font-weight:500;opacity:.82;text-transform:uppercase;letter-spacing:.06em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.fo-cover-fallback-mark{position:absolute;top:9%;left:9%;width:18%;max-width:26px;opacity:.55}.fo-cover-fallback-mark svg{width:100%;height:auto;display:block}.fo-cover-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#00000038;z-index:4}.fo-cover-progress-fill{height:100%;background:#fff;opacity:.92}.fo-cover-dot{position:absolute;top:6px;right:6px;z-index:4;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #00000047}.fo-cover-dot--reading{background:var(--success)}.fo-cover-dot--paused{background:var(--warning)}.fo-cover-dot--dnf{background:var(--danger)}@media(hover:hover)and (pointer:fine){.fo-cover:hover .fo-cover-stage,.fo-cover:focus-visible .fo-cover-stage{transform:translateY(-3px) rotateY(-6deg)}}@media(prefers-reduced-motion:reduce){.fo-cover-stage{transition:none}}.fo-cover:focus-visible{outline:none}.fo-cover:focus-visible .fo-cover-face{outline:2px solid var(--accent);outline-offset:3px}.fo-greet{margin:0 0 1.6rem}.fo-greet-date{font-size:.78rem;color:var(--ink-3);font-weight:500;margin-bottom:.3rem}.fo-greet-date:first-letter{text-transform:uppercase}.fo-greet-h{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.2;letter-spacing:-.01em;margin:0;color:var(--ink)}.fo-greet-sub{margin:.4rem 0 0;color:var(--ink-2);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-seasonal-row{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0 0 1.75rem}@media(min-width:760px){.fo-seasonal-row{grid-template-columns:1fr 1fr}}.fo-seasonal-card{position:relative;display:block;overflow:hidden;min-height:220px;padding:1.75rem;border:1px solid var(--border);border-radius:var(--radius-lg);background-size:cover;background-position:center;transition:box-shadow .2s ease}.fo-seasonal-card:hover{box-shadow:var(--shadow)}.fo-seasonal-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;justify-content:flex-end}.fo-seasonal-occasion{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.fo-seasonal-title{font-family:var(--font-serif);font-weight:600;margin:.35rem 0 0;font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.2;max-width:22ch}.fo-seasonal-blurb{font-size:.86rem;margin:.5rem 0 1rem;font-style:italic;max-width:34ch}.fo-seasonal-cta{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600}.fo-seasonal-cta span{display:inline-flex;align-items:center}.fo-seasonal-cta svg{display:block;width:16px;height:16px}.fo-seasonal-card--hero{color:#fff;border-color:transparent}.fo-seasonal-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;mask-image:linear-gradient(90deg,transparent 0%,transparent 15%,black 90%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 15%,black 90%)}.fo-seasonal-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#000000ad,#00000026 55%,#00000059)}.fo-seasonal-overlay--photo{background:linear-gradient(0deg,#00000073,#0000000d 55%,#00000040)}.fo-seasonal-card--hero .fo-seasonal-title{color:#fff}.fo-seasonal-card--hero .fo-seasonal-blurb{color:#ffffffd9}.fo-seasonal-card--hero .fo-seasonal-cta{color:#fff}.fo-now-reading{display:flex;gap:1.25rem;align-items:flex-start;padding:1.1rem;margin-bottom:1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.fo-now-reading-slider{margin-bottom:1.75rem}.fo-now-reading-slider .fo-now-reading{margin-bottom:0}.fo-now-reading-slider .bshow-info{align-self:center}@media(max-width:600px){.fo-now-reading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;align-items:center;text-align:left;padding:1rem}.fo-now-reading-slider .bshow-cover.fo-now-reading-cover{width:88px}.fo-now-reading .bshow-info{min-width:0;align-self:center;align-items:flex-start;text-align:left}.fo-now-reading-slider .bshow-title.fo-now-reading-title{font-size:1.25rem;line-height:1.2;margin:.15rem 0 .2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fo-now-reading .bshow-byline{margin:0}.fo-now-reading .bshow-genre,.fo-now-reading .bshow-facts,.fo-now-reading-nudge{display:none}.fo-now-reading .bshow-progress{width:100%;margin-top:.6rem}.fo-now-reading .bshow-progress-label{font-size:.72rem}.fo-now-reading .bshow-action-card{grid-column:1 / -1;width:100%}.fo-now-reading-slider .fo-now-reading-rating,.fo-now-reading-slider .fo-now-reading-review{display:none}.fo-now-reading-slider .bshow-pair{grid-template-columns:1fr}.fo-now-reading-slider .fo-now-reading-arrow{display:none}}.fo-now-reading-row{position:relative}.fo-now-reading-track{flex:1;min-width:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.fo-now-reading-track::-webkit-scrollbar{display:none}.fo-now-reading-track .fo-now-reading{flex:1 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always}.bshow-cover.fo-now-reading-cover{padding:0;border:0;font:inherit;cursor:pointer;width:196px}.bshow-title.fo-now-reading-title{cursor:pointer;font-size:2rem;transition:color .15s ease}.bshow-title.fo-now-reading-title:hover{color:var(--accent)}.fo-now-reading-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink-3);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s ease,color .15s ease}.fo-now-reading-arrow--prev{left:14px}.fo-now-reading-arrow--next{right:14px}.fo-now-reading-arrow span{display:inline-flex;align-items:center;justify-content:center}.fo-now-reading-arrow:hover{background:var(--surface-2);color:var(--ink)}.fo-now-reading-arrow:active{background:var(--surface-3)}.fo-now-reading-arrow svg{width:15px;height:15px;display:block}.fo-now-reading-arrow--prev svg{transform:rotate(180deg)}.fo-now-reading-dots{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.85rem}.fo-now-reading-dot{width:6px;height:6px;padding:0;border-radius:999px;border:0;background:var(--border-2);cursor:pointer;transition:width .2s ease,background .2s ease}.fo-now-reading-dot:hover{background:var(--ink-3)}.fo-now-reading-dot.on{width:18px;background:var(--accent)}.fo-now-reading-eyebrow-arrow{display:inline-flex;vertical-align:-2px;margin-right:.25rem}.fo-now-reading-eyebrow-arrow svg{width:12px;height:12px;display:block}.fo-now-reading-nudge{color:var(--ink-2);font-size:.92rem;margin:.15rem 0 0}.fo-now-reading-cta{margin-top:.85rem}.fo-now-reading-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2.5rem 1.5rem;margin-bottom:1.75rem;background:var(--surface);border:1px dashed var(--border-2);border-radius:var(--radius-lg);color:var(--ink-2)}.fo-now-reading-empty svg{width:30px;height:30px;color:var(--ink-3)}.fo-now-reading-empty .fo-now-reading-empty-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem}.fo-now-reading-empty .fo-now-reading-empty-cta svg{width:1rem;height:1rem;color:currentColor}.fo-now-reading-empty h3{margin:0;font-family:var(--font-serif);font-weight:600;color:var(--ink);font-size:1.05rem}.fo-now-reading-empty p{margin:0;font-size:.88rem;max-width:38ch}.fo-goal-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:0 0 1.75rem}@media(min-width:760px){.fo-goal-row{grid-template-columns:repeat(4,1fr)}}.fo-goal-row-span2{grid-column:span 2}.fo-goalcard{padding:1.35rem 1.5rem}.fo-goalcard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.fo-goalcard-title{font-family:var(--font-serif);font-weight:600;font-size:1.15rem;color:var(--ink);margin:0}.fo-goalcard-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}.fo-goalcard-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;flex:none;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.fo-goalcard-icon svg{width:14px;height:14px}.fo-goalcard-name{font-weight:600;color:var(--ink);flex:1}.fo-goalcard-count{font-size:.85rem;color:var(--ink-2)}.fo-goalcard-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.fo-goalcard-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .5s ease}.fo-goalcard-fill.behind{background:var(--warning)}.fo-goalcard-caption{font-size:.82rem;color:var(--ink-2);margin:.8rem 0 0}.fo-goalcard-unset{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 1.75rem;transition:box-shadow .2s ease}.fo-goalcard-unset:hover{box-shadow:var(--shadow)}.fo-goalcard-unset-text{flex:1;min-width:160px}.fo-goalcard-unset-l{font-size:.78rem;color:var(--ink-2)}.fo-goalcard-unset-v{font-weight:600;font-size:1rem;color:var(--ink);margin-top:.3rem}.fo-goalcard-unset-sub{font-size:.82rem;color:var(--ink-2);margin-top:.3rem}.fo-goalcard-unset-icon{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.fo-goalcard-unset-icon svg{width:19px;height:19px}.fo-dailygoal{position:relative;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:1.5rem 1.75rem;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--ink) 92%,var(--danger)) 0%,var(--ink) 100%);color:var(--bg);transition:box-shadow .2s ease}.fo-dailygoal:hover{box-shadow:var(--shadow)}.fo-dailygoal-icon{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--bg) 14%,transparent);color:var(--bg)}.fo-dailygoal-icon svg{width:19px;height:19px}.fo-dailygoal-text{flex:1;min-width:160px}.fo-dailygoal-l{font-size:.78rem;color:color-mix(in srgb,var(--bg) 65%,transparent)}.fo-dailygoal-v{font-family:var(--font-serif);font-weight:700;font-size:1.3rem;color:var(--bg);margin-top:.3rem}.fo-dailygoal-v--sm{font-family:inherit;font-weight:600;font-size:1rem;color:var(--bg)}.fo-dailygoal-sub{font-size:.82rem;color:color-mix(in srgb,var(--bg) 65%,transparent);margin-top:.3rem}.fo-dailygoal-ring{position:relative;width:72px;height:72px;flex:none}.fo-dailygoal-ring svg{width:100%;height:100%}.fo-dailygoal-ring-bg{fill:none;stroke:color-mix(in srgb,var(--bg) 16%,transparent);stroke-width:6}.fo-dailygoal-ring-fg{fill:none;stroke:var(--danger);stroke-width:6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .5s ease}.fo-dailygoal-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.92rem;color:var(--bg)}.fo-dailygoal-foot{flex-basis:100%;display:flex;align-items:center;gap:1.25rem;padding-top:.9rem;border-top:1px solid color-mix(in srgb,var(--bg) 12%,transparent)}.fo-dailygoal-foot-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;line-height:1}.fo-dailygoal-foot-icon{display:inline-flex;align-items:center}.fo-dailygoal-foot-icon svg{display:block;width:15px;height:15px}.fo-dailygoal-foot-emoji{display:inline-flex;align-items:center;font-size:.95rem;line-height:1}.fo-dailygoal-foot-item--streak{color:#f0a868}.fo-dailygoal-foot-item--done{color:#6fcf97}[data-theme=dark] .fo-dailygoal-foot-item--streak{color:#a8581a}[data-theme=dark] .fo-dailygoal-foot-item--done{color:#1f7a48}.fo-section-h{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 0 .85rem}.fo-section-h h2{margin:0;font-family:var(--font-serif);font-weight:600;font-size:1.05rem;color:var(--ink)}.fo-section-h .ct{color:var(--ink-3);font-size:.82rem}.more-link{display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap;flex:none}.more-link span{display:inline-flex;align-items:center}.more-link svg{display:block;width:15px;height:15px}.fo-section-h .more-link{color:var(--accent);font-size:.85rem;font-weight:500}.fo-rec-header h2{font-size:1.6rem}.fo-rec-sub{margin:-.5rem 0 .85rem;font-size:.8rem;color:var(--ink-2)}.fo-rec-empty{margin:0 0 1.75rem;font-size:.85rem;color:var(--ink-3);font-style:italic}.fo-rec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1.75rem}@media(max-width:639px){.fo-rec-row{gap:.65rem}}@media(min-width:900px){.fo-rec-row{grid-template-columns:repeat(6,1fr)}}@media(min-width:900px){.fo-rec-row--7{grid-template-columns:repeat(7,1fr)}}@media(max-width:639px){.fo-rec-row--rail{display:flex;gap:.85rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1rem;margin-inline:-1rem;padding-inline:1rem;padding-bottom:.25rem;scrollbar-width:none}.fo-rec-row--rail::-webkit-scrollbar{display:none}.fo-rec-row--rail>*{flex:0 0 calc((100% - 1.7rem)*.4);min-width:0;scroll-snap-align:start}}.fo-rec-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.85rem;display:flex;flex-direction:column;gap:.55rem;width:100%;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.fo-rec-card:hover{border-color:var(--border-2);box-shadow:var(--shadow)}.fo-rec-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fo-rec-card--static{cursor:default}.fo-rec-card--static:hover{border-color:var(--border);box-shadow:none}.fo-rec-card--plain{background:none;border-color:transparent;padding:0;box-shadow:none}.fo-rec-card--plain:hover{border-color:transparent;box-shadow:none}.fo-rec-cover{position:relative;width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));display:flex;align-items:center;justify-content:center}.fo-rec-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .25s ease}.fo-rec-card:not(.fo-rec-card--static):hover .fo-rec-cover img{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.fo-rec-cover img{transition:none}.fo-rec-card:hover .fo-rec-cover img{transform:none}}.fo-rec-cover .ph{color:#fff;font-family:var(--font-serif);font-size:1.6rem;font-weight:700}.fo-rec-badge{position:absolute;top:.4rem;left:.4rem;z-index:2;padding:.15rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.4;background:#fff;color:var(--ink-2);box-shadow:0 1px 4px #00000047}.fo-rec-heart{position:absolute;top:.4rem;right:.4rem;z-index:2;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink-3);cursor:pointer;box-shadow:0 1px 4px #00000047;transition:background .15s ease,color .15s ease,transform .15s ease}.fo-rec-heart-icon{display:flex;align-items:center;justify-content:center}.fo-rec-heart svg{width:15px;height:15px}.fo-rec-heart:hover{color:#ff3b5c;transform:scale(1.1)}.fo-rec-heart.on{color:#ff3b5c;cursor:default}.fo-rec-heart.on:hover{transform:none}.fo-rec-heart.pop{animation:fo-heart-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes fo-heart-pop{0%{transform:scale(1)}35%{transform:scale(1.45)}60%{transform:scale(.9)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.fo-rec-heart.pop{animation:none}}.fo-rec-confetti{position:absolute;inset:0;pointer-events:none;z-index:1}.fo-rec-confetti i{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:1px;animation:fo-confetti-burst .6s ease-out forwards}.fo-rec-confetti i:nth-child(1){--a:0deg;background:#ff3b5c}.fo-rec-confetti i:nth-child(2){--a:45deg;background:#ffd166}.fo-rec-confetti i:nth-child(3){--a:90deg;background:#4dd0a7}.fo-rec-confetti i:nth-child(4){--a:135deg;background:#5aa9ff}.fo-rec-confetti i:nth-child(5){--a:180deg;background:#ff3b5c}.fo-rec-confetti i:nth-child(6){--a:225deg;background:#ffd166}.fo-rec-confetti i:nth-child(7){--a:270deg;background:#4dd0a7}.fo-rec-confetti i:nth-child(8){--a:315deg;background:#5aa9ff}@keyframes fo-confetti-burst{0%{transform:translate(-50%,-50%) rotate(var(--a)) translate(0) scale(1);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a)) translate(26px) scale(.3);opacity:0}}@media(prefers-reduced-motion:reduce){.fo-rec-confetti{display:none}}.fo-rec-info{min-width:0;flex:1}.fo-rec-t{font-size:.85rem;font-weight:600;color:var(--ink);line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fo-rec-a{font-size:.76rem;color:var(--ink-2);margin-top:.1rem}.fo-rec-card--audio .fo-rec-cover{aspect-ratio:1 / 1}.fo-rec-card--audio-print .fo-rec-cover{background:var(--surface-2)}.fo-rec-card--audio-print .fo-rec-cover img{-o-object-fit:contain;object-fit:contain}.fo-rec-duration{display:flex;align-items:center;gap:.3rem;margin-top:.25rem;font-size:.74rem;color:var(--ink-2)}.fo-rec-duration>span{display:inline-flex}.fo-rec-duration svg{width:.85rem;height:.85rem;flex:0 0 auto;display:block}.fo-rec-rating{display:flex;align-items:center;gap:.25rem;font-size:.76rem;color:var(--ink-2);margin-top:.15rem}.fo-rec-rating .star{color:var(--warning);font-size:.85rem;line-height:1}.fo-rec-rating .n{color:var(--ink-3)}.fo-rec-rating .src{color:var(--ink-3);white-space:nowrap}.fo-rec-skel{aspect-ratio:2/3.6;height:auto;background:var(--surface-2);border:1px solid var(--border);animation:fo-rec-pulse 1.3s ease-in-out infinite}@keyframes fo-rec-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.fo-rec-skel{animation:none}}.fo-discover-section{background:var(--surface-2);border-radius:var(--radius-lg);padding:1.5rem 1.5rem .25rem;margin:0 0 1.75rem}.fo-discover-sub-h{font-family:var(--font-serif),Georgia,serif;font-size:1.6rem;font-weight:600;margin:0 0 .6rem}.fo-discover-sub-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0 0 .6rem}.fo-discover-sub-head .fo-discover-sub-h{margin:0}.fo-discover-sub-head .more-link{color:var(--accent);font-size:.85rem;font-weight:500;white-space:nowrap}.fo-libraryrec-section{background:linear-gradient(135deg,var(--ink) 0%,var(--spine-4) 140%);border-radius:var(--radius-lg);padding:1.5rem 1.5rem .25rem;margin:0 0 1.75rem}.fo-libraryrec-title{color:var(--bg)}.fo-libraryrec-more{color:color-mix(in srgb,var(--bg) 85%,transparent)!important}.fo-libraryrec-more:hover{color:var(--bg)!important}.fo-libraryrec-section .fo-rec-t{color:var(--bg)}.fo-libraryrec-section .fo-rec-a,.fo-libraryrec-section .fo-rec-rating{color:color-mix(in srgb,var(--bg) 70%,transparent)}.fo-libraryrec-section .fo-rec-rating .n{color:color-mix(in srgb,var(--bg) 55%,transparent)}.fo-discover-row-sm{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.75rem}@media(min-width:640px){.fo-discover-row-sm{grid-template-columns:repeat(6,1fr)}}@media(min-width:900px){.fo-discover-row-sm{grid-template-columns:repeat(8,1fr)}}.fo-discover-card-sm{width:100%;display:flex;flex-direction:column;gap:.35rem;text-align:left;cursor:pointer;background:none;border:0;padding:0}.fo-discover-card-sm--static{cursor:default}.fo-discover-cover-sm{width:100%;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));display:flex;align-items:center;justify-content:center}.fo-discover-cover-sm img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .25s ease}.fo-discover-card-sm:not(.fo-discover-card-sm--static):hover .fo-discover-cover-sm img{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.fo-discover-cover-sm img{transition:none}.fo-discover-card-sm:hover .fo-discover-cover-sm img{transform:none}}.fo-discover-cover-sm .ph{color:#fff;font-family:var(--font-serif);font-size:1.2rem;font-weight:700}.fo-discover-t-sm{font-size:.72rem;font-weight:600;color:var(--ink);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fo-upcoming-section{margin:0 0 1.75rem}.fo-upcoming-hero{display:flex;gap:1.5rem;align-items:stretch;overflow:hidden;border-radius:var(--radius-lg);color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--border);margin-bottom:1rem;transition:box-shadow .2s ease}.fo-upcoming-hero--link:hover{box-shadow:var(--shadow)}.fo-upcoming-hero-cover{flex:0 0 auto;width:clamp(120px,18vw,180px);aspect-ratio:2/3;background:linear-gradient(135deg,var(--spine-2),var(--spine-5));display:flex;align-items:center;justify-content:center}.fo-upcoming-hero-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fo-upcoming-hero-cover .ph{color:#fff;font-family:var(--font-serif);font-size:2rem;font-weight:700}.fo-upcoming-hero-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:1.25rem 1.5rem 1.25rem 0;gap:.4rem}.fo-upcoming-hero-genres{display:flex;flex-wrap:wrap;gap:.4rem}.fo-upcoming-hero-chip{font-size:.68rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2)}.fo-upcoming-hero-title{font-family:var(--font-serif);font-weight:600;margin:0;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.25;color:var(--ink)}.fo-upcoming-hero-author{margin:0;font-size:.88rem;color:var(--ink-2)}.fo-upcoming-hero-desc{margin:.25rem 0 0;font-size:.85rem;line-height:1.5;color:var(--ink-2);max-width:60ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:640px){.fo-upcoming-hero{flex-direction:column}.fo-upcoming-hero-cover{width:100%;aspect-ratio:16/9}.fo-upcoming-hero-body{padding:0 1.25rem 1.25rem}}.fo-upcoming-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1.75rem}@media(min-width:640px){.fo-upcoming-row{grid-template-columns:repeat(6,1fr)}}@media(min-width:900px){.fo-upcoming-row{grid-template-columns:repeat(8,1fr)}}.fo-upcoming-thumb{width:100%;aspect-ratio:2/3;border-radius:6px;overflow:hidden;padding:0;cursor:pointer;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));border:2px solid transparent;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,opacity .15s ease;opacity:.7}.fo-upcoming-thumb:hover{opacity:1}.fo-upcoming-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fo-upcoming-thumb--active{opacity:1;border-color:var(--accent)}.fo-upcoming-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fo-upcoming-thumb .ph{color:#fff;font-family:var(--font-serif);font-size:1.2rem;font-weight:700}.fo-memory-card{display:flex;gap:.9rem;align-items:center;padding:1rem 1.1rem;margin-bottom:1.75rem}.fo-memory-eyebrow{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.fo-memory-text{margin:.25rem 0 0;color:var(--ink);font-size:.9rem;line-height:1.5}.fo-memory-text em{font-style:italic;color:var(--ink-2)}.fo-format-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1.2rem;border-bottom:1px solid var(--border)}.fo-format-tabs button{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-2);font:inherit;font-size:.92rem;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease}.fo-format-tabs button>span{display:inline-flex;align-items:center}.fo-format-tabs button svg{width:1rem;height:1rem;display:block}.fo-format-tabs button:hover{color:var(--ink)}.fo-format-spin{width:.8rem;height:.8rem;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:fo-spin .7s linear infinite;opacity:.7}@keyframes fo-spin{to{transform:rotate(360deg)}}.fo-format-tabs.is-loading~:not(.fo-lib-controls){opacity:.45;pointer-events:none;transition:opacity .15s ease}.fo-format-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.fo-page-header-actions{display:flex;align-items:flex-start;gap:.5rem}.fo-lib-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.5rem}.fo-lib-search{position:relative;flex:1 1 160px;min-width:140px}.fo-lib-search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-3);pointer-events:none}.fo-lib-search input{padding-left:2.6rem}.fo-lib-genre-select,.fo-lib-status-select{flex:0 0 auto;min-width:170px;width:auto}.fo-lib-controls .fo-btn{flex:0 0 auto}@media(max-width:640px){.fo-lib-controls{flex-wrap:nowrap}.fo-lib-search{flex:1 1 auto;min-width:0}}.fo-lib-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0 0 1.25rem}.fo-lib-results{font-size:.82rem;color:var(--ink-2)}.fo-lib-results strong{color:var(--ink)}.fo-lib-sort{width:auto;font-size:.83rem}.fo-sort-dir{padding:0;width:2.2rem;height:2.2rem;justify-content:center}.fo-sort-dir svg{transition:transform .15s ease}.fo-sort-dir--asc svg{transform:scaleY(-1)}.fo-lib-load-more{display:flex;justify-content:center;margin:1.75rem 0 0}.list-create-row{display:flex;flex-direction:column;gap:.6rem;margin:0 0 1.5rem;max-width:420px}.list-create-row textarea.input{resize:vertical;font:inherit}.list-create-actions{display:flex;gap:.6rem}.list-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.list-grid-4{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}@media(min-width:640px){.list-grid-4{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.list-grid-4{grid-template-columns:repeat(4,1fr)}}.list-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.list-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.list-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-card-covers{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;margin-bottom:.75rem;background:var(--surface-2)}.list-card-covers.n1{grid-template-columns:1fr}.list-card-covers.n3{grid-template-columns:repeat(3,1fr)}.list-card-covers .cv{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3))}.list-card-covers .cv img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.list-card-covers .cv .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-serif);font-weight:700;font-size:1.1rem}.list-card-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--ink-3)}.list-card-empty svg{width:28px;height:28px}.list-card-info{min-width:0;display:flex;flex-direction:column;flex:1}.list-card-t{font-weight:600;color:var(--ink);font-size:.98rem;line-height:1.25}.list-card-ct{font-size:.8rem;color:var(--ink-2);margin-top:.15rem;display:flex;align-items:center;gap:.5rem}.list-card-visibility{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--ink-3)}.list-card-visibility svg{width:12px;height:12px;display:block}.list-card-visibility.is-public{color:var(--accent)}.list-card-desc{font-size:.8rem;color:var(--ink-2);margin:.4rem 0 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.list-card-prog{margin-top:auto;padding-top:.5rem}.list-card-prog-bar{height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.list-card-prog-bar .fl{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.list-card-prog-txt{display:block;margin-top:.3rem;font-size:.72rem;color:var(--ink-3)}.list-card-actions{position:absolute;top:.7rem;right:.7rem;display:flex;gap:.15rem;opacity:0;transition:opacity .15s ease}.list-card:hover .list-card-actions,.list-card:focus-within .list-card-actions{opacity:1}.list-card-actions .icon-btn{width:32px;height:32px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.list-card-actions .icon-btn svg{width:16px;height:16px}.list-visibility-toggle{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.5rem .9rem;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:.82rem;font-weight:600;transition:border-color .15s ease,color .15s ease}.list-visibility-toggle:hover{border-color:var(--border-2)}.list-visibility-toggle svg{width:15px;height:15px}.list-visibility-toggle.is-public{border-color:var(--accent);color:var(--accent)}.list-visibility-hint{font-size:.8rem;color:var(--ink-3);margin:-.5rem 0 1.25rem}.list-add-panel{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin:0 0 1.5rem;background:var(--surface)}.list-add-panel--pinned{margin-bottom:1.25rem}.list-add-panel--pinned .list-add-results{margin-top:.75rem}.list-add-head{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.6rem}.list-add-head svg{width:14px;height:14px}.list-add-results{display:flex;flex-direction:column;gap:.25rem;max-height:320px;overflow-y:auto}.list-add-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border-radius:8px;text-align:left;transition:background .12s ease}.list-add-item:hover{background:var(--surface-2)}.list-add-item .cv{flex:0 0 34px;width:34px;height:48px;border-radius:3px;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3))}.list-add-item .cv img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.list-add-item .t{font-weight:600;color:var(--ink);font-size:.87rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-add-item .a{font-size:.8rem;color:var(--ink-2);flex:0 0 auto}.list-add-item .owned{font-size:.68rem;font-weight:600;color:var(--accent);flex:0 0 auto}.list-add-item .ic{width:16px;height:16px;color:var(--accent);flex:0 0 auto}.list-add-item.added{opacity:.55;cursor:default}.list-add-item.added:hover{background:none}.list-add-item.added .ic{color:var(--success, var(--accent))}.list-add-empty{padding:1rem;text-align:center;color:var(--ink-3);font-style:italic;font-size:.88rem}.list-add-more{padding:.5rem;text-align:center;color:var(--ink-3);font-size:.75rem;border-top:1px solid var(--border);margin-top:.25rem}.disc-search{position:relative;margin:0 0 1.25rem;max-width:360px}.disc-search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3);pointer-events:none}.disc-search .input{width:100%;padding-left:2.4rem}.disc-curator-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--ink-3)}.disc-avatar{flex:0 0 auto;width:16px;height:16px;border-radius:50%;overflow:hidden;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--ink-2)}.disc-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.disc-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.5rem}.disc-like-row{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--ink-3);transition:color .15s ease}.disc-like-row:hover{color:var(--danger)}.disc-like-row svg{width:16px;height:16px}.disc-like-row.liked{color:var(--danger)}.disc-save-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border-radius:99px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);font-size:.76rem;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.disc-save-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--accent)}.disc-save-btn:disabled{opacity:.6;cursor:default}.disc-save-btn svg{width:14px;height:14px}.list-show-item{display:flex;flex-direction:column;gap:.4rem}.list-remove-btn{font-size:.74rem;color:var(--ink-3);text-align:left;transition:color .15s ease}.list-remove-btn:hover{color:var(--danger)}.list-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.club-members-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}.club-members-row .chip{gap:.4rem}.club-members-row em{font-style:normal;color:var(--ink-3);font-size:.72rem}.club-member-remove{background:none;border:0;color:var(--ink-3);font-size:1rem;line-height:1;cursor:pointer;padding:0 0 0 .1rem}.club-member-remove:hover{color:var(--danger)}.club-invite-row{display:flex;gap:.5rem;margin-top:.6rem;max-width:360px}.club-invite-row .input{flex:1}.club-post-form-row{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;flex-wrap:wrap}.club-post-form-row .input{flex:1;min-width:160px}.club-thread-list{display:flex;flex-direction:column;gap:1rem}.club-post{border:1px solid var(--border);border-radius:var(--radius-lg);padding:.9rem 1rem;background:var(--surface)}.club-post--reply{margin:.6rem 0 0 1.5rem;background:var(--surface-2)}.club-post-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.85rem}.club-post-time{color:var(--ink-3);font-size:.74rem;margin-left:auto}.club-post-body{margin:0;white-space:pre-wrap;line-height:1.5}.club-post-spoiler{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;background:var(--surface-2);border-radius:8px;color:var(--ink-2);font-size:.85rem;font-style:italic}.club-post-reply-btn{margin-top:.5rem;font-size:.78rem;color:var(--accent);background:none;border:0;cursor:pointer;padding:0}.club-post-reply-btn:hover{text-decoration:underline}.author-page-hero{display:flex;gap:1.5rem;align-items:center;padding:.4rem 0 2rem;margin:0 0 2rem;border-bottom:1px solid var(--border)}.author-page-photo{flex:0 0 auto;width:180px;aspect-ratio:2/3;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--spine-1),var(--spine-3));display:flex;align-items:center;justify-content:center}.author-page-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.author-page-hero .lib-hero-left{min-width:0}@media(max-width:600px){.author-page-hero{flex-direction:column;text-align:center;gap:1rem}.author-page-photo{width:140px}.author-page-hero .author-panel-facts{justify-content:center}}.author-page-photo .ph{color:#fff;font-family:var(--font-serif);font-size:3rem;opacity:.85}.author-panel-years{font-size:.85rem;color:var(--ink-2)}.author-panel-facts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.author-panel-facts a.chip{text-decoration:none}.author-fav-btn{background:transparent;border:1px solid var(--border-2);color:var(--ink-2)}.author-fav-btn:hover{background:var(--surface-2);color:var(--ink)}.author-fav-btn.on{background:var(--accent);border-color:transparent;color:var(--on-accent)}.author-fav-btn svg{width:15px;height:15px}.author-panel-books-h{margin:0 0 .8rem;font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--ink)}.author-panel-empty{color:var(--ink-3);font-style:italic;font-size:.88rem}.author-panel-load-more{display:flex;justify-content:center;margin-top:1.2rem}.author-panel-books{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem}@media(max-width:900px){.author-panel-books{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.author-panel-books{grid-template-columns:repeat(3,1fr);gap:.65rem}}.author-book-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.7rem;display:flex;flex-direction:column;gap:.5rem}.author-book-card.click{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.author-book-card.click:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.author-book-card.click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.author-book-cover{position:relative;width:100%;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));display:flex;align-items:center;justify-content:center}.author-book-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.author-book-cover .ph{color:#fff;font-family:var(--font-serif);font-size:1.3rem;font-weight:700}.author-book-info{flex:1}.author-book-t{font-size:.8rem;font-weight:600;color:var(--ink);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.author-book-rating{display:flex;align-items:center;gap:.2rem;font-size:.74rem;color:var(--ink-2)}.author-book-rating .star{color:var(--warning)}.jr-tabs{margin:.2rem 0 1.4rem}.jr-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}.jr-main{display:flex;flex-direction:column;gap:2.75rem;min-width:0}.jr-side{display:flex;flex-direction:column;gap:1.25rem}@media(min-width:1080px){.jr-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:2.5rem}.jr-side{position:sticky;top:84px}}.jr-habit-chip{display:none}@media(max-width:1079px){.jr-habit-inline{display:none}.jr-habit-chip{display:flex;align-items:center;gap:.6rem;width:100%;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);font:inherit;color:var(--ink);text-align:left;cursor:pointer}.jr-habit-chip-streak{font-family:var(--font-serif);font-weight:700;font-size:1.1rem}.jr-habit-chip-l{flex:1;font-size:.8rem;color:var(--ink-2)}.jr-habit-chip-cta{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;font-weight:600;color:var(--accent)}.jr-habit-chip-cta svg{width:14px;height:14px}}.jr-drawer-scrim{position:fixed;inset:0;z-index:120;background:#00000080;display:flex;justify-content:flex-end}.jr-drawer{width:min(88vw,380px);height:100%;overflow-y:auto;padding:1rem 1rem 2rem;background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1rem}.jr-drawer-h{display:flex;align-items:center;justify-content:space-between}.jr-drawer-h h3{margin:0;font-family:var(--font-serif);font-weight:600;font-size:1.2rem;color:var(--ink)}.jr-drawer-enter-active,.jr-drawer-leave-active{transition:background .25s ease}.jr-drawer-enter-active .jr-drawer,.jr-drawer-leave-active .jr-drawer{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.jr-drawer-enter-from,.jr-drawer-leave-to{background:#0000}.jr-drawer-enter-from .jr-drawer,.jr-drawer-leave-to .jr-drawer{transform:translate(100%)}@media(max-width:1079px){.jr-main{display:contents}.jr-main>:first-child{order:1}.jr-side{order:2}.jr-archive{order:3}}@media(max-width:600px){.jr-composer{padding:1.1rem 1.1rem 1rem}.jr-composer-switch{padding:.25rem .6rem;font-size:.7rem}}.jr-composer{padding:1.5rem 1.75rem 1.25rem;display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.jr-composer--engaged{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:var(--shadow)}.jr-composer-book{display:flex;align-items:center;gap:.8rem}.jr-composer-cover{--fo-cover-w:42px }.jr-composer-book-info{min-width:0;flex:1}.jr-composer-eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.jr-composer-book-t{font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-composer-book-p{font-size:.78rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-composer-switch{background:none;border:1px solid var(--border-2);border-radius:999px;padding:.3rem .8rem;font-size:.76rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:border-color .16s ease,color .16s ease}.jr-composer-switch:hover{border-color:var(--accent);color:var(--accent)}.jr-composer-switch-list{display:flex;flex-direction:column;gap:.25rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 40%,transparent)}.jr-composer-switch-item{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;background:none;border:1px solid transparent;cursor:pointer;color:var(--ink-2);border-radius:9px;padding:.45rem .6rem;transition:background .15s ease,border-color .15s ease}.jr-composer-switch-item .fo-cover{--fo-cover-w:40px;flex:none}.jr-composer-switch-item:hover{background:var(--surface-2)}.jr-composer-switch-item.on{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.jr-composer-switch-text{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1}.jr-composer-switch-t{font-family:var(--font-serif);font-weight:600;font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-composer-switch-a{font-size:.78rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-composer-switch-prog{display:flex;align-items:center;gap:.45rem;margin-top:.2rem;font-size:.7rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.jr-composer-switch-prog i{display:block;width:90px;height:3px;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.jr-composer-switch-prog b{display:block;height:100%;border-radius:999px;background:var(--accent)}.jr-composer-switch-check{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent)}.jr-composer-switch-check svg{width:12px;height:12px}.jr-composer-prompt-row{display:flex;align-items:flex-start;gap:.5rem;padding-top:.35rem;border-top:1px solid var(--border)}.jr-composer-prompt{flex:1;margin:.6rem 0 0;font-family:var(--font-serif);font-weight:600;font-size:clamp(1.3rem,1.05rem + .8vw,1.65rem);line-height:1.25;letter-spacing:-.01em;color:var(--ink)}.jr-composer-shuffle{flex:none;margin-top:.55rem;color:var(--ink-3)}.jr-composer-shuffle:hover{color:var(--ink)}.jr-composer-body{--jr-line:1.85em;display:block;width:100%;min-height:calc(var(--jr-line) * 3);padding:0;resize:vertical;border:none;outline:none;color:var(--ink);font-family:var(--font-serif);font-size:1.08rem;line-height:var(--jr-line);background-color:transparent;background-attachment:local;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--jr-line) - 1px),var(--border) calc(var(--jr-line) - 1px),var(--border) var(--jr-line))}.jr-composer-body::-moz-placeholder{color:var(--ink-3);font-style:italic}.jr-composer-body::placeholder{color:var(--ink-3);font-style:italic}.jr-composer-details{position:relative;z-index:31;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .75rem}.jr-composer-actions{display:flex;align-items:center;gap:1rem}.jr-composer-actions .jr-save-btn{margin-left:auto}.jr-save-btn{position:relative;overflow:hidden}.jr-save-btn-inner{display:inline-flex;align-items:center;gap:.4rem}.jr-save-btn--ok{background:var(--success);border-color:var(--success)}.jr-composer--saved{animation:jr-highlight-fade 1s ease forwards}.jr-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.jr-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface);font-size:.78rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:transform .14s ease,border-color .14s ease,color .14s ease,background .14s ease}.jr-chip:hover{transform:translateY(-1px);border-color:var(--accent)}.jr-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jr-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.jr-chip--quote{border-style:dashed}.jr-chip-icon{display:inline-flex;width:15px;height:15px}.jr-chip-icon :deep(svg),.jr-chip-icon svg{width:100%;height:100%}.jr-mood{position:relative;z-index:30;display:inline-flex}.jr-mood-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--radius-pill);border:1px dashed var(--border-2);background:none;font-size:.78rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:border-color .14s ease,color .14s ease}.jr-mood-trigger:hover,.jr-mood-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--ink)}.jr-mood-trigger-icon,.jr-mood-trigger-chev{display:inline-flex;width:14px;height:14px}.jr-mood-trigger-chev{width:12px;height:12px;transform:rotate(90deg);opacity:.7}.jr-mood-trigger svg{width:100%;height:100%}.jr-mood-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:20;width:240px;padding:.4rem;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.jr-mood-opt{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;border:none;border-radius:var(--radius-sm);background:none;text-align:left;font-size:.86rem;color:var(--ink);cursor:pointer}.jr-mood-opt:hover{background:var(--surface-2)}.jr-mood-opt.on{background:color-mix(in srgb,var(--accent) 14%,transparent);font-weight:600}.jr-mood-opt-icon{display:inline-flex;width:15px;height:15px;color:var(--ink-3)}.jr-mood-opt-icon svg{width:100%;height:100%}.jr-mood-custom{display:flex;gap:.35rem;padding:.45rem .2rem .15rem;margin-top:.25rem;border-top:1px solid var(--border)}.jr-mood-custom .input{flex:1;min-width:0;padding:.4rem .6rem;font-size:.84rem}.jr-mood-chip--picked{padding-right:.2rem;gap:.3rem}.jr-mood-chip-label{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.jr-mood-chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}.jr-mood-chip-x:hover{background:var(--surface-2);color:var(--ink)}.jr-mood-chip-x svg{width:11px;height:11px}.jr-mood-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:500;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-pill);padding:.15rem .55rem}.jr-mood-chip svg{width:12px;height:12px}.jr-spoiler-toggle{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--ink-2);cursor:pointer;width:-moz-fit-content;width:fit-content}.jr-spoiler{position:relative;border-radius:var(--radius-sm);overflow:hidden}.jr-spoiler-content{filter:blur(7px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:filter .3s ease}.jr-spoiler--revealed .jr-spoiler-content{filter:blur(0)}.jr-spoiler-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;gap:.4rem;padding:0 .75rem;background:color-mix(in srgb,var(--bg) 35%,transparent);border:none;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--ink);transition:opacity .3s ease}.jr-spoiler-veil>span:last-child{padding:.3rem .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--border-2);box-shadow:var(--shadow-sm)}.jr-spoiler-veil>span:first-child{display:none}.jr-spoiler--revealed .jr-spoiler-veil{opacity:0;pointer-events:none}.jr-spoiler-recover{margin-top:.35rem;background:none;border:none;padding:0;color:var(--ink-3);font-size:.72rem;font-weight:600;text-decoration:underline;cursor:pointer}.je-fields{display:flex;flex-direction:column;gap:.7rem}.je-body{min-height:4.5rem}.je-more-toggle{align-self:flex-start;background:none;border:none;padding:0;color:var(--ink-3);font-size:.78rem;font-weight:600;text-decoration:underline;cursor:pointer}.je-more{display:flex;flex-direction:column;gap:.7rem;min-height:0;overflow:hidden}.jr-collapse-enter-active .je-more,.jr-collapse-leave-active .je-more{overflow:hidden}.je-quick-head{align-items:flex-start!important}.je-quick-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.3rem}.je-quick-bookcard{display:flex;align-items:center;gap:.65rem;background:var(--surface-2);border-radius:8px;padding:.55rem .8rem;margin-bottom:1.1rem}.je-quick-bookcard .fo-cover{--fo-cover-w:44px }.je-quick-bookcard-info{min-width:0}.je-quick-bookcard-t{font-weight:600;font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.je-quick-bookcard-a{font-size:.82rem;color:var(--ink-2)}.je-quick-foot{justify-content:space-between!important}.je-quick-private{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--ink-3)}.je-quick-private svg{width:15px;height:15px;flex:0 0 auto}.je-quick-actions{display:flex;gap:.5rem}.je-tabs{display:flex;gap:.25rem;background:var(--surface-2);padding:.25rem;border-radius:10px;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.je-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-weight:600;font-size:.85rem;color:var(--ink-2);padding:.4rem 1rem;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease}.je-tab.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0000000f}.je-tab--quote{color:var(--ink-3)}.je-prompt-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.je-prompt-row .jr-composer-prompt{margin:0;flex:1}.je-shuffle-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;background:none;border:0;padding:0;color:var(--accent);font-size:.78rem;font-weight:600;text-decoration:underline;cursor:pointer}.je-shuffle-btn svg{width:14px;height:14px;flex:0 0 auto}.je-page-range-row{display:flex;justify-content:flex-end}.je-page-range{display:flex;align-items:center;gap:.4rem}.je-page-range-tag{font-size:.78rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em}.je-page-range-from{display:flex;align-items:center;gap:.4rem;font-size:.92rem;color:var(--ink-2)}.je-page-range-sep{color:var(--ink-3)}.je-page-range input{width:5.5rem}.jr-rediscover{padding:1.15rem;display:flex;flex-direction:column;gap:.7rem}.jr-rediscover-eyebrow{display:flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.jr-rediscover-eyebrow svg{width:14px;height:14px}.jr-rediscover-body{margin:0;font-family:var(--font-serif);font-size:1rem;line-height:1.55;color:var(--ink);font-style:italic;padding-left:.85rem;border-left:2px solid var(--border-2);background-image:linear-gradient(100deg,transparent 40%,color-mix(in srgb,var(--accent) 16%,transparent) 50%,transparent 60%);background-size:250% 100%;background-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){.jr-rediscover-body{animation:jr-shimmer-once .9s ease-out .15s 1}}.jr-rediscover-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.jr-rediscover-book{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--ink)}.jr-rediscover-book-text{font-size:.82rem;font-weight:600;color:var(--ink)}.jr-rediscover-tag{font-size:.72rem;color:var(--ink-3);background:var(--surface-2);border-radius:var(--radius-pill);padding:.12rem .5rem}.jr-rediscover-ago{font-size:.76rem;color:var(--ink-3)}.jr-rediscover-empty{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.5}.jr-rediscover .fo-cover{--fo-cover-w:40px }.jr-entry{--jr-type:var(--border-2);position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.1rem 0 .15rem 1.25rem;border-left:2px solid var(--jr-type)}.jr-entry--thought{--jr-type:var(--accent)}.jr-entry--reaction{--jr-type:var(--accent-2)}.jr-entry--prediction{--jr-type:var(--warning)}.jr-entry--character{--jr-type:#8E6BA8}.jr-entry--question{--jr-type:var(--ink-3)}.jr-entry--quote{--jr-type:#B07D4F}.jr-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;color:var(--ink-3);min-height:28px}.jr-entry-type{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jr-type)}.jr-entry--question .jr-entry-type{color:var(--ink-2)}.jr-entry-type-icon{display:inline-flex;width:13px;height:13px}.jr-entry-type-icon svg{width:100%;height:100%}.jr-entry-dot{color:var(--border-2)}.jr-entry-book{font-family:var(--font-serif);font-style:italic;font-size:.88rem;color:var(--ink-2);max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-entry-book:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.jr-entry-page,.jr-entry-date{font-size:.78rem;color:var(--ink-3)}.jr-entry-menu{margin-left:auto;opacity:.55;transition:opacity .15s ease}.jr-entry:hover .jr-entry-menu,.jr-entry-menu:focus-within{opacity:1}.jr-entry-text{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:1.08rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.jr-entry-text--clamped{max-height:calc(1.7em * 9);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.jr-entry-more{align-self:flex-start;padding:0;border:none;background:none;font-size:.8rem;font-weight:600;color:var(--accent);cursor:pointer}.jr-entry-more:hover{text-decoration:underline}.jr-entry-text p{margin:0 0 .6em}.jr-entry-text p:last-child{margin-bottom:0}.jr-entry-text ul,.jr-entry-text ol{margin:.4em 0;padding-left:1.3em}.jr-entry--quote .jr-entry-text{position:relative;padding-left:1.75rem;font-style:italic;font-size:1.2rem;line-height:1.6}.jr-entry--quote .jr-entry-text:before{content:"“";position:absolute;left:-.1rem;top:-.45rem;font-family:var(--font-serif);font-style:normal;font-size:3.2rem;line-height:1;color:var(--jr-type)}.jr-entry-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.jr-menu{position:relative}.jr-menu-trigger{background:none;border:none;padding:.3rem;color:var(--ink-3);cursor:pointer;border-radius:var(--radius-sm)}.jr-menu-trigger:hover{background:var(--surface-2);color:var(--ink)}.jr-menu-trigger svg{width:16px;height:16px}.jr-menu-popover{position:absolute;right:0;top:calc(100% + 4px);z-index:5;min-width:120px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.jr-menu-popover button{background:none;border:none;padding:.55rem .85rem;text-align:left;font-size:.85rem;color:var(--ink);cursor:pointer}.jr-menu-popover button:hover{background:var(--surface-2)}.jr-menu-danger{color:var(--danger)}.jr-prediction-ask{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-2)}.jr-prediction-btn{border:1px solid var(--border-2);background:var(--surface);border-radius:6px;padding:.25rem .65rem;font-size:.76rem;font-weight:600;cursor:pointer;color:var(--ink-2);transition:transform .14s ease,border-color .14s ease}.jr-prediction-btn:hover{transform:translateY(-1px)}.jr-prediction-result{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-pill)}.jr-prediction-result svg{width:13px;height:13px}.jr-prediction-result--yes{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.jr-prediction-result--partial{background:color-mix(in srgb,var(--warning) 20%,transparent);color:var(--warning)}.jr-prediction-result--no{background:var(--surface-2);color:var(--ink-2)}.jr-habit{padding:1.15rem 1.2rem;display:flex;flex-direction:column;gap:1rem}.jr-habit-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.jr-habit-stat{display:flex;flex-direction:column;gap:.25rem}.jr-habit-v{font-family:var(--font-serif);font-weight:700;font-size:1.55rem;line-height:1.1;color:var(--ink)}.jr-habit-v small{font-family:var(--font-sans, inherit);font-weight:500;font-size:.78rem;color:var(--ink-2)}.jr-habit-l{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:var(--ink-3)}.jr-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.jr-calendar-month{font-family:var(--font-serif);font-weight:600;font-size:.95rem;text-transform:capitalize;color:var(--ink)}.jr-calendar-nav .icon-btn{width:28px;height:28px;color:var(--ink-3)}.jr-calendar-nav .icon-btn:hover:not(:disabled){color:var(--ink)}.jr-calendar-nav .icon-btn:disabled{opacity:.3;cursor:default}.jr-calendar-nav svg{width:15px;height:15px}.jr-calendar-prev svg{transform:rotate(180deg)}.jr-calendar-weekdays,.jr-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.jr-calendar-weekdays{margin-bottom:.25rem}.jr-calendar-weekdays span{text-align:center;font-size:.64rem;font-weight:600;text-transform:uppercase;color:var(--ink-3)}.jr-calendar-cell{aspect-ratio:1;max-width:34px;width:100%;justify-self:center;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--ink-3)}.jr-calendar-cell.blank{visibility:hidden}.jr-calendar-cell.read{color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 55%,transparent)}.jr-calendar-cell.wrote{background:var(--accent);color:var(--on-accent);font-weight:700}button.jr-calendar-cell{border:none;padding:0;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button.jr-calendar-cell:hover{transform:scale(1.1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}button.jr-calendar-cell:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.jr-calendar-cell.today{position:relative;color:var(--accent);font-weight:700;background:color-mix(in srgb,var(--accent) 16%,transparent)}.jr-calendar-cell.today:after{content:"";position:absolute;bottom:12%;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}.jr-calendar-cell.wrote.today{background:var(--accent);color:var(--on-accent)}.jr-calendar-cell.future{opacity:.45}.jr-habit-goal{display:flex;align-items:center;gap:.75rem;padding:.8rem .85rem;border-radius:var(--radius);background:var(--surface-2)}.jr-habit-goal-icon{flex:none;font-size:1.5rem;line-height:1}.jr-habit-goal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.jr-habit-goal-top{display:flex;justify-content:space-between;align-items:baseline}.jr-habit-goal-l{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.jr-habit-goal-n{font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-2)}.jr-habit-goal-name{font-size:.84rem;font-weight:600;color:var(--ink);line-height:1.3}.jr-habit-goal-name span{font-weight:400;color:var(--ink-3)}.jr-habit-goal-track{height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.jr-habit-goal-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .5s ease}.jr-habit-legend{display:flex;gap:1rem;font-size:.72rem;color:var(--ink-3)}.jr-habit-legend span{display:inline-flex;align-items:center;gap:.35rem}.jr-legend-swatch{width:10px;height:10px;border-radius:50%}.jr-legend-swatch--wrote{background:var(--accent)}.jr-legend-swatch--read{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 55%,transparent)}.jr-archive{display:flex;flex-direction:column;gap:1.75rem}.jr-archive-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.jr-archive-h{font-family:var(--font-serif);font-weight:600;font-size:1.35rem;color:var(--ink);margin:0}.jr-archive-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;flex:1 1 380px}.jr-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.5rem}.jr-empty-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.jr-empty-actions .btn svg{width:15px;height:15px}.select.sm{padding:.35rem 2rem .35rem .6rem;font-size:.8rem;width:auto;background-position:right .6rem center;background-size:12px}.jr-timeline{display:flex;flex-direction:column;gap:2.25rem}.jr-day{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1.25rem;scroll-margin-top:96px;border-radius:var(--radius);transition:background .6s ease}.jr-day--flash{background:color-mix(in srgb,var(--accent) 12%,transparent)}.jr-day-head{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:.15rem}.jr-day-num{font-family:var(--font-serif);font-weight:700;font-size:2.5rem;line-height:1;color:var(--ink)}.jr-day-label{display:flex;flex-direction:column}.jr-day-weekday{font-size:.78rem;font-weight:600;text-transform:capitalize;color:var(--ink-2)}.jr-day-month{font-size:.72rem;color:var(--ink-3)}.jr-day-entries{display:flex;flex-direction:column;gap:1.5rem;padding-top:.2rem}@media(max-width:600px){.jr-day{grid-template-columns:1fr;gap:.75rem}.jr-day-head{position:static;flex-direction:row;align-items:baseline;gap:.6rem}.jr-day-num{font-size:1.8rem}.jr-day-label{flex-direction:row;gap:.4rem}}.jr-mem{display:flex;flex-direction:column;gap:2.5rem;max-width:1100px}.jr-mem-intro{margin:0;max-width:46ch;font-family:var(--font-serif);font-style:italic;font-size:1.1rem;line-height:1.5;color:var(--ink-2)}.jr-mem-lane{display:flex;flex-direction:column;gap:1rem}.jr-mem-lane-head{display:flex;align-items:baseline;gap:.75rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.jr-mem-lane-h{margin:0;font-family:var(--font-serif);font-weight:600;font-size:1.35rem;color:var(--ink)}.jr-mem-lane-sub{font-size:.8rem;color:var(--ink-3)}.jr-mem-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:720px){.jr-mem-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1180px){.jr-mem-grid{grid-template-columns:repeat(3,1fr)}}.jr-mem-card{display:flex;flex-direction:column;gap:.75rem;padding:1.15rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.jr-mem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.jr-mem-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.jr-mem-first{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.jr-mem-date{margin-left:auto;font-size:.74rem;color:var(--ink-3)}.jr-mem-text{margin:0;font-family:var(--font-serif);font-size:1.02rem;line-height:1.65;color:var(--ink);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.jr-mem-text--review{font-size:.92rem;color:var(--ink-2);-webkit-line-clamp:4}.jr-mem-quote{position:relative;margin:0;padding-left:1.6rem;font-family:var(--font-serif);font-style:italic;font-size:1.12rem;line-height:1.55;color:var(--ink)}.jr-mem-quote:before{content:"“";position:absolute;left:-.1rem;top:-.5rem;font-style:normal;font-size:3rem;line-height:1;color:#b07d4f}.jr-mem-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto}.jr-mem-byline{font-family:var(--font-serif);font-style:italic;font-size:.86rem;color:var(--ink-2)}a.jr-mem-byline:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.jr-mem-book{display:flex;align-items:center;gap:.85rem;color:inherit}.jr-mem-book .fo-cover{--fo-cover-w:56px }.jr-mem-book-info{min-width:0}.jr-mem-book-eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.jr-mem-book-t{font-family:var(--font-serif);font-weight:600;font-size:1.02rem;color:var(--ink);line-height:1.3}.jr-mem-book-a{font-size:.8rem;color:var(--ink-2)}.jr-mem-rate{font-size:.82rem;letter-spacing:.05em;color:var(--warning);margin-top:.2rem}.jr-month-picker{display:flex;align-items:center;gap:.5rem;margin-bottom:1.2rem;position:relative}.jr-month-label{font-family:var(--font-serif);font-weight:600;font-size:1.05rem;color:var(--ink);text-transform:capitalize;min-width:11ch;text-align:center}.jr-month-prev svg{transform:rotate(180deg)}.jr-month-label-wrap{position:relative;display:inline-flex}.jr-month-native{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.jr-recap{display:flex;flex-direction:column;gap:2rem;max-width:1100px}.jr-recap-spread{display:flex;flex-direction:column;gap:1.5rem}.jr-recap-eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.jr-recap-eyebrow svg{width:13px;height:13px;color:var(--accent)}.jr-recap-ribbon{display:flex;flex-wrap:wrap;margin:0;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.jr-recap-ribbon-item{flex:1 1 120px;display:flex;flex-direction:column-reverse;gap:.25rem;padding:.25rem 1.25rem}.jr-recap-ribbon-item+.jr-recap-ribbon-item{border-left:1px solid var(--border)}.jr-recap-ribbon dd{margin:0;font-family:var(--font-serif);font-weight:700;font-size:1.45rem;line-height:1.15;color:var(--ink)}.jr-recap-ribbon dt{font-size:.72rem;color:var(--ink-3)}@media(max-width:640px){.jr-recap-ribbon-item{flex-basis:45%;padding:.6rem .75rem}.jr-recap-ribbon-item+.jr-recap-ribbon-item{border-left:none}}.jr-recap-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:900px){.jr-recap-grid:has(.jr-recap-quote){grid-template-columns:1.4fr 1fr}}.jr-recap-card{padding:1.4rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.jr-recap-books{display:flex;flex-direction:column;gap:1.25rem}.jr-recap-fav{display:flex;align-items:center;gap:1.4rem}.jr-recap-fav .fo-cover{--fo-cover-w:110px }.jr-recap-fav-info{min-width:0;display:flex;flex-direction:column;gap:.3rem}.jr-recap-fav-title{font-family:var(--font-serif);font-weight:700;font-size:1.55rem;line-height:1.2;color:var(--ink)}.jr-recap-fav-author{font-size:.9rem;color:var(--ink-2)}.jr-recap-fav-rate{font-size:.95rem;letter-spacing:.05em;color:var(--warning)}.jr-recap-also{display:flex;flex-direction:column;gap:.6rem;padding-top:1rem;border-top:1px solid var(--border)}.jr-finished-strip{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem 0 .3rem}.jr-finished-item{flex:0 0 auto}.jr-finished-item .fo-cover{--fo-cover-w:56px }.jr-recap-empty{display:flex;align-items:center;gap:1rem;color:var(--ink-2)}.jr-recap-empty p{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.05rem;line-height:1.5}.jr-recap-empty-icon{display:inline-flex;flex:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-2);color:var(--ink-3)}.jr-recap-empty-icon svg{width:20px;height:20px}.jr-recap-quote{display:flex;flex-direction:column;gap:.75rem}.jr-recap-quote blockquote{position:relative;margin:0;padding-left:1.75rem;font-family:var(--font-serif);font-style:italic;font-size:1.2rem;line-height:1.55;color:var(--ink)}.jr-recap-quote blockquote:before{content:"“";position:absolute;left:-.1rem;top:-.5rem;font-style:normal;font-size:3.2rem;line-height:1;color:#b07d4f}.jr-recap-quote-by{margin-top:auto;font-family:var(--font-serif);font-style:italic;font-size:.88rem;color:var(--ink-2)}.jr-recap-letter{display:flex;flex-direction:column;gap:1.25rem;padding:1.6rem 1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.jr-recap-letter-head{display:flex;flex-direction:column;gap:.3rem}.jr-recap-letter-h{margin:0;font-family:var(--font-serif);font-weight:600;font-size:clamp(1.3rem,1.05rem + .8vw,1.6rem);line-height:1.25;color:var(--ink)}.jr-recap-letter-part{display:flex;flex-direction:column;gap:.45rem}.jr-recap-letter-q{font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink-2)}.jr-recap-letter-part p{margin:0;font-family:var(--font-serif);font-size:1.05rem;line-height:1.7;color:var(--ink);white-space:pre-wrap}.jr-recap-letter-view{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}.jr-recap-picks{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.jr-recap-pick{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1 1 220px}.jr-recap-pick>span{font-size:.76rem;font-weight:600;color:var(--ink-3)}.jr-recap-pick .select{width:100%}.jr-recap-letter-actions{display:flex;justify-content:flex-end;gap:.6rem}.trm{display:flex;flex-direction:column}@media(prefers-reduced-motion:no-preference){#scrim.on .trm{animation:jr-modal-in .32s cubic-bezier(.34,1.2,.4,1) both}}.trm-body{display:flex;flex-direction:column;gap:1.1rem}.trm-discard{gap:.4rem;color:var(--ink-2);border-color:transparent;background:transparent}.trm-discard:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.trm-discard span{display:flex;line-height:0}.trm-discard svg{width:15px;height:15px}.trm-body>.je-quick-bookcard{margin-bottom:0}.trm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.trm-stat{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;padding:.75rem .5rem;background:var(--surface-2);border:1.5px solid transparent;border-radius:12px}.trm-stat-l{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);line-height:1.2}.trm-stat-v{font-family:var(--font-serif);font-weight:700;font-size:1.5rem;color:var(--ink);line-height:1.15;white-space:nowrap}.trm-stat-v--sm{font-size:1.05rem;white-space:normal}.trm-stat-v .trm-pages-input{width:3.2ch;min-width:2.5ch}.trm-stat-v small{font-family:var(--font-sans);font-weight:500;font-size:.78rem;color:var(--ink-3);margin-left:.25rem}.trm-stat--input{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));cursor:text;transition:border-color .15s ease}.trm-stat--input:focus-within{border-color:var(--accent)}.trm-stat--invalid,.trm-stat--invalid:focus-within{border-color:var(--danger)}.trm-pages-input{width:100%;max-width:5rem;text-align:center;font-family:var(--font-serif);font-weight:700;font-size:1.5rem;color:var(--ink);background:transparent;border:0;border-bottom:1.5px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:0;box-shadow:none;padding:0 0 .05rem;line-height:1.15;-moz-appearance:textfield}.trm-pages-input::-moz-placeholder{color:color-mix(in srgb,var(--ink-3) 70%,transparent)}.trm-pages-input::placeholder{color:color-mix(in srgb,var(--ink-3) 70%,transparent)}.trm-pages-input:focus{outline:none;border-bottom-color:var(--accent)}.trm-pages-input::-webkit-outer-spin-button,.trm-pages-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trm-book-streak{align-self:center;margin:-.2rem 0 0;padding:.3rem .8rem;border-radius:999px;font-size:.82rem;color:var(--ink-2);background:color-mix(in srgb,#f59e0b 12%,transparent)}@media(max-width:420px){.trm-stats{gap:.4rem}.trm-stat{padding:.65rem .3rem}.trm-stat-l{font-size:.6rem;letter-spacing:.03em}.trm-stat-v,.trm-pages-input{font-size:1.25rem}}.trm-reflection{display:flex;flex-direction:column;gap:.7rem}.trm-reflection-h{font-family:var(--font-serif);font-weight:600;font-size:1.02rem;color:var(--ink);margin:0}.trm-reflection{padding-top:1rem;border-top:1px solid var(--border)}.trm-reflection-head{display:flex;align-items:flex-start;gap:.5rem}.trm-reflection-head .trm-reflection-h{flex:1;line-height:1.35}.trm-reflection-shuffle{flex:none;margin:-.3rem -.3rem 0 0;color:var(--ink-3)}.trm-reflection-shuffle:hover{color:var(--ink)}.trm-reflection-input{min-height:0;resize:none;font-family:var(--font-serif);font-size:1rem}.trm-reflection-extra{display:flex;flex-direction:column;gap:.7rem}@media(prefers-reduced-motion:no-preference){.trm-body>.je-quick-bookcard,.trm-stats,.trm-reflection{animation:jr-fade-stagger .3s ease both}.trm-stats{animation-delay:.08s}.trm-reflection{animation-delay:.14s}}@keyframes jr-fade-stagger{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.jr-chip,.jr-mood-trigger{padding:.45rem .8rem}}.jr-shuffle-btn{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);font-size:.76rem;font-weight:600;white-space:nowrap;transition:color .15s ease,border-color .15s ease,background .15s ease}.jr-shuffle-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}.jr-shuffle-btn span{display:flex;line-height:0;transition:transform .3s ease}.jr-shuffle-btn:hover span{transform:rotate(-90deg)}.jr-shuffle-btn svg{width:13px;height:13px}.trm-reflection-shuffle.jr-shuffle-btn{margin:0}.jr-mem-byline--cover{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.jr-mem-byline--cover .fo-cover{--fo-cover-w:30px;flex:none}.jr-mem-byline--cover span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:1.75rem;margin:1.75rem 0 2.5rem}.pj-hero-gallery{position:sticky;top:84px;display:flex;flex-direction:column;gap:.75rem}@media(min-width:960px){.pj-hero{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:2.75rem}}.pj-hero-buy{display:flex;flex-direction:column;gap:1rem;min-width:0}.pj-hero-buy .lib-hero-standfirst{margin-bottom:0}.pj-hero-buy .lib-hero-title{font-size:clamp(1.9rem,3.4vw,2.75rem)}a.lib-hero-eyebrow{text-decoration:none;transition:color .15s ease}a.lib-hero-eyebrow:hover{color:var(--accent)}.pj-builder-h{margin:0 0 1.25rem;font-family:var(--font-serif);font-weight:600;font-size:1.3rem;color:var(--ink)}.pj-layout{display:flex;flex-direction:column;gap:1.25rem}.pj-card{padding:1.25rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm)}.pj-add{display:flex;flex-direction:column;gap:1rem}.pj-count-nums{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .35rem;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink-2)}.pj-count-text{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.pj-count-extra{display:flex;align-items:center;gap:.5rem}.pj-count-nums strong{font-size:1.7rem;color:var(--ink)}.pj-count-nums span{margin-left:.5rem;font-family:var(--font-sans);font-size:.82rem;color:var(--ink-3)}.pj-count-add{margin-left:auto;border:none;background:none;padding:0;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap}.pj-count-add:hover{text-decoration:underline}.pj-count-track{height:6px;margin-top:.5rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.pj-count-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.pj-add-row{display:flex;flex-wrap:wrap;gap:.75rem}.pj-add-search{flex:1 1 280px;max-width:none}.pj-add-list{display:flex;gap:.5rem;flex:1 1 260px}.pj-add-list .select{flex:1;min-width:0}.pj-full{margin:0;font-size:.88rem;color:var(--ink-2)}.pj-label{display:block;margin-bottom:.4rem;font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink)}.pj-list{display:flex;flex-direction:column;gap:.75rem}.pj-book{display:grid;grid-template-columns:28px auto minmax(0,1fr) auto;gap:.9rem;align-items:stretch;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease}.pj-book.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-sm)}.pj-handle,.pj-book-actions{align-self:start}.pj-book .fo-cover{width:auto;height:100%}.pj-book.dragging{opacity:.55;border-style:dashed;border-color:var(--accent)}.pj-handle{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.2rem .1rem;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink-3);cursor:grab}.pj-handle:hover,.pj-handle:focus-visible{background:var(--surface-2);color:var(--ink)}.pj-handle:active{cursor:grabbing}.pj-handle-dots{font-size:.9rem;letter-spacing:-.2em;line-height:1}.pj-book-n{font-family:var(--font-serif);font-weight:700;font-size:1rem;color:inherit}.pj-book-body{min-width:0;display:flex;flex-direction:column;gap:.2rem}.pj-book-t-input{width:100%;border:1px solid transparent;border-radius:6px;margin:0 -.4rem;padding:.1rem .4rem;background:none;font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink);line-height:1.3}.pj-book-t-input:hover{border-color:var(--border-2)}.pj-book-t-input:focus{outline:none;border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.pj-book-a{font-size:.8rem;color:var(--ink-2)}.pj-book-cover{position:relative;flex:none}.pj-book-cover-edit,.pj-book-cover-reset{position:absolute;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink-2);cursor:pointer}.pj-book-cover-edit svg,.pj-book-cover-reset svg{width:12px;height:12px}.pj-book-cover-edit{right:-6px;bottom:-6px}.pj-book-cover-edit:hover{color:var(--ink);background:var(--surface-2)}.pj-book-cover-reset{left:-6px;bottom:-6px}.pj-book-cover-reset:hover{color:var(--accent)}.pj-book-cover-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.pj-reason{width:100%;resize:vertical;min-height:3.2rem;padding:.55rem .7rem;border:1px solid var(--border-2);border-radius:6px;background:var(--bg);color:var(--ink);font-family:var(--font-serif);font-size:.95rem;line-height:1.5}.pj-reason:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.pj-reason::-moz-placeholder{color:var(--ink-3);font-style:italic}.pj-reason::placeholder{color:var(--ink-3);font-style:italic}.pj-reason-count{align-self:flex-end;margin-top:.3rem;font-size:.7rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.pj-book-actions{display:flex;flex-direction:column;gap:.1rem}.pj-book-actions .icon-btn{width:30px;height:30px;color:var(--ink-3)}.pj-book-actions .icon-btn:hover:not(:disabled){color:var(--ink)}.pj-book-actions .icon-btn:disabled{opacity:.3}.pj-book-actions svg{width:15px;height:15px}.pj-empty{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1rem;text-align:center;color:var(--ink-2)}.pj-empty span{display:inline-flex;width:34px;height:34px;color:var(--ink-3)}.pj-empty svg{width:100%;height:100%}.pj-empty p{margin:0;max-width:40ch;font-family:var(--font-serif);font-style:italic;font-size:1.02rem}.pj-intro{margin:0;max-width:62ch;font-size:.98rem;line-height:1.65;color:var(--ink-2)}.pj-cover-strip-empty{margin:0;font-size:.9rem;font-style:italic;color:var(--ink-3)}.pj-count-thumbs{display:flex;align-items:center;margin-left:.3rem}.pj-count-thumb{position:relative;width:22px;height:22px;margin-left:-15px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--surface-2);border:1.5px solid var(--bg)}.pj-count-thumb:first-child{margin-left:0}.pj-count-thumb img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pj-count-thumb-more{margin-left:.35rem;color:var(--ink-2);font-size:.74rem;font-weight:700;white-space:nowrap}.pj-price{margin:0;font-family:var(--font-serif);font-weight:700;font-size:1.7rem;color:var(--ink)}.pj-price-vat{font-family:var(--font-sans);font-weight:400;font-size:.7rem;color:var(--ink-3)}.pj-what{padding:1rem 0;background:none;border:none;border-bottom:1px solid var(--border)}.pj-what-h{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink);list-style:none;cursor:pointer}.pj-what-h::-webkit-details-marker{display:none}.pj-what-chev{width:16px;height:16px;flex-shrink:0;color:var(--ink-3);transition:transform .2s ease}.pj-what[open] .pj-what-chev{transform:rotate(180deg)}.pj-what-list{display:flex;flex-direction:column;gap:1.1rem;margin:1rem 0 0;padding:0;list-style:none}.pj-what-item{display:flex;gap:.7rem;align-items:flex-start}.pj-what-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius);background:var(--surface-2);color:var(--accent)}.pj-what-icon svg{width:17px;height:17px}.pj-what-item-t{margin:0;font-family:var(--font-serif);font-weight:600;font-size:.92rem;line-height:1.3;color:var(--ink)}.pj-what-item-p{margin:.2rem 0 0;font-size:.8rem;line-height:1.45;color:var(--ink-2)}.pj-specs{display:flex;flex-direction:column;gap:.65rem;margin:1rem 0 0;padding:0}.pj-specs-row{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.pj-specs-row:last-child{border-bottom:none;padding-bottom:0}.pj-specs-row dt{flex:0 0 auto;font-size:.86rem;font-weight:600;color:var(--ink)}.pj-specs-row dd{margin:0;flex:1 1 auto;text-align:right;font-size:.86rem;color:var(--ink-2)}.pj-gallery{display:flex;flex-direction:column;gap:.7rem}.pj-gallery-frame{position:relative;aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--surface-2)}.pj-gallery-frame--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:2rem;text-align:center;border:1.5px dashed var(--border-2);background:transparent;color:var(--ink-3)}.pj-gallery-frame--empty span{display:inline-flex;width:34px;height:34px}.pj-gallery-frame--empty svg{width:100%;height:100%}.pj-gallery-frame--empty p{margin:0;max-width:28ch;font-size:.9rem}.pj-gallery-flip{position:relative;display:flex;height:100%;align-items:center;justify-content:center;padding:1.5rem 1.25rem}.pj-gallery-enlarge{position:absolute;right:.6rem;top:.6rem;display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow-sm)}.pj-gallery-enlarge svg{width:15px;height:15px}.pj-gallery-enlarge:hover{color:var(--ink)}.pj-gallery .pjp-loading,.pj-gallery .pjp-error{position:absolute;inset:0;aspect-ratio:auto;max-width:none;border-radius:0}.pj-hero-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pj-preview-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.86rem;font-weight:600;cursor:pointer}.pj-preview-cta span:first-child{display:inline-flex;align-items:center}.pj-preview-cta svg{width:16px;height:16px}.pj-preview-cta:hover{background:#fff;color:#1a1a1a}.pj-preview-cta:disabled{opacity:.5;cursor:not-allowed}.pj-checkout{display:flex;flex-direction:column;gap:.9rem}.pj-qty-row{display:flex;gap:.6rem;align-items:stretch}.pj-qty-preview{display:flex;flex:none;align-items:center;justify-content:center;gap:.4rem;padding:0 .85rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer}.pj-qty-preview:hover{background:var(--surface-2)}.pj-qty-preview svg{width:16px;height:16px}.pj-qty-stepper{display:flex;align-items:stretch;flex:none;border:1px solid var(--border);border-radius:6px;overflow:hidden}.pj-qty-stepper button{display:flex;align-items:center;justify-content:center;width:38px;border:none;background:var(--surface);color:var(--ink);font-size:1.1rem;line-height:1;cursor:pointer}.pj-qty-stepper button:hover:not(:disabled){background:var(--surface-2)}.pj-qty-stepper button:disabled{opacity:.35;cursor:not-allowed}.pj-qty-stepper span{display:flex;align-items:center;justify-content:center;min-width:2.2rem;padding:0 .3rem;border-left:1px solid var(--border);border-right:1px solid var(--border);font-weight:600;font-variant-numeric:tabular-nums}.pj-qty-row .pj-checkout-btn{width:auto;flex:1}.pj-checkout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700}.pj-checkout-btn:disabled{opacity:.5;cursor:not-allowed}.pj-checkout-btn-sep{opacity:.6}.pj-checkout-btn-arrow{display:inline-flex;align-items:center}.pj-checkout-btn-arrow svg{width:17px;height:17px}.pj-dedication{display:flex;flex-direction:column;gap:.4rem}.pj-dedication-h{display:flex;align-items:baseline;gap:.5rem}.pj-dedication-h .pj-label{margin-bottom:0}.pj-dedication-optional{margin:0;font-size:.78rem;color:var(--ink-3)}.pj-dedication-names{display:flex;flex-wrap:wrap;gap:.6rem}.pj-dedication-field{flex:1 1 160px;display:flex;flex-direction:column;gap:.3rem}.pj-dedication-label{font-size:.76rem;font-weight:600;color:var(--ink-3)}.pj-checkout-note{font-size:.74rem;color:var(--ink-3);text-align:center}.pj-in-cart{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:6px;background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success);font-weight:600;font-size:.92rem}.pj-in-cart-badge{display:inline-flex;width:16px;height:16px;flex:none}.pj-in-cart-badge svg{width:100%;height:100%}.pj-in-cart-remove{margin-left:.3rem;border:none;background:none;color:var(--ink-3);font-size:.78rem;font-weight:500;text-decoration:underline;cursor:pointer;padding:0}.pj-in-cart-remove:hover{color:var(--ink)}.pj-in-cart-remove:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.pj-book{grid-template-columns:auto auto minmax(0,1fr) auto;gap:.25rem .7rem;padding:.9rem}.pj-book-body{display:contents}.pj-handle{grid-column:1;grid-row:1 / 3}.pj-book>.fo-cover{grid-column:2;grid-row:1 / 3;width:44px;height:auto}.pj-book-t-input{grid-column:3;grid-row:1}.pj-book-a{grid-column:3;grid-row:2}.pj-book-actions{grid-column:4;grid-row:1 / 3}.pj-reason-count{grid-column:1 / -1;grid-row:3;justify-self:end;margin-top:.6rem}.pj-reason{grid-column:1 / -1;grid-row:4}}#scrim.pj-preview-scrim .modal{max-width:980px}.pjp{display:flex;flex-direction:column;align-items:center;gap:1rem}.pjp-spread-max{width:100%;max-width:min(860px,calc((92vh - 190px) * 296 / 210))}.pjp-loading,.pjp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;width:100%;max-width:min(860px,calc((92vh - 190px) * 296 / 210));aspect-ratio:296/210;padding:2rem;text-align:center;background:var(--surface-2);border-radius:6px;color:var(--ink-2)}.pjp-loading svg,.pjp-error svg{width:28px;height:28px;color:var(--ink-3)}.pjp-loading svg{animation:pjp-spin 1s linear infinite}@keyframes pjp-spin{to{transform:rotate(360deg)}}.pjp-error h4{margin:0;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink)}.pjp-error p{margin:0;max-width:36ch;font-size:.9rem}.pjp-flip{display:flex;flex-direction:column;align-items:center;gap:.85rem;width:100%}.pjp-flip-box{position:relative;width:100%;max-width:min(860px,calc((92vh - 190px) * 296 / 210));overflow:hidden;border-radius:6px;background:#fbf9f4;box-shadow:0 2px 4px #00000014,0 22px 50px -20px #00000080}.pjp-flip-frame{position:absolute;left:0;top:0;transform-origin:top left;border:0;opacity:0;transition:opacity .2s ease}.pjp-flip-frame.is-ready{opacity:1}.pjp-flip-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3)}.pjp-flip-spin{width:24px;height:24px;animation:pjp-spin 1s linear infinite}.pjp-flip-tap{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}.pjp-flip-tap button{border:none;background:none;padding:0;cursor:e-resize}.pjp-flip-tap button:first-child{cursor:w-resize}.pjp-flip-tap button:disabled{cursor:default}.pjp-flip-scrub{display:flex;flex:1;flex-direction:column;align-items:center;gap:.2rem;min-width:12rem}.pjp-flip-chapters{width:100%;max-width:min(860px,calc((92vh - 190px) * 296 / 210))}.pjp-flip-chapters .select{width:100%}.pjp-flip-chapters--top{margin-bottom:.9rem}.pjp-nav{display:flex;align-items:center;gap:1rem;width:100%;max-width:min(860px,calc((92vh - 190px) * 296 / 210));justify-content:center}.pjp-nav .icon-btn svg{width:18px;height:18px}.pjp-nav .icon-btn:disabled{opacity:.3}.pjp-prev svg{transform:rotate(180deg)}.pjp-label{font-size:.8rem;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.pjp-note{margin:0;font-size:.74rem;color:var(--ink-3);text-align:center}.planner-scrub{display:block;width:100%;height:14px;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.planner-scrub::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:linear-gradient(to right,var(--ink) var(--progress),color-mix(in srgb,var(--ink) 15%,transparent) var(--progress))}.planner-scrub::-moz-range-track{height:3px;border-radius:99px;background:linear-gradient(to right,var(--ink) var(--progress),color-mix(in srgb,var(--ink) 15%,transparent) var(--progress))}.planner-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5.5px;border:2px solid var(--surface);border-radius:50%;background:var(--ink);box-shadow:0 1px 3px #00000040;-webkit-transition:transform .15s;transition:transform .15s}.planner-scrub::-moz-range-thumb{width:12px;height:12px;border:2px solid var(--surface);border-radius:50%;background:var(--ink)}.planner-scrub:hover::-webkit-slider-thumb{transform:scale(1.2)}.planner-scrub:focus{outline:none}.planner-scrub:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 15%,transparent)}@media(max-width:640px){.pjp-nav{position:sticky;bottom:0;z-index:2;width:100%;max-width:none;justify-content:center;padding:.6rem 0;background:var(--surface);border-top:1px solid var(--border)}}.catalog-search{position:relative;flex:1 1 280px;min-width:0}.catalog-search-field{display:flex;align-items:center;gap:.5rem;height:44px;padding:0 .85rem;border:1px solid var(--border-2);border-radius:6px;background:var(--surface);color:var(--ink)}.catalog-search-field:has(input:focus){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.catalog-search-icon{display:inline-flex;flex:none;width:15px;height:15px;color:var(--ink-3)}.catalog-search-icon svg{width:100%;height:100%}.catalog-search-field input{flex:1;min-width:0;height:100%;border:none;outline:none;background:none;font-size:.86rem;color:var(--ink)}.catalog-search-field input::-moz-placeholder{color:var(--ink-3)}.catalog-search-field input::placeholder{color:var(--ink-3)}.catalog-search-list{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:20;max-height:360px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.catalog-search-list ul{list-style:none;margin:0;padding:.3rem}.catalog-search-status{padding:.9rem;text-align:center;font-size:.82rem;color:var(--ink-3)}.catalog-search-status--more{padding:.5rem .9rem;border-top:1px solid var(--border-2)}.catalog-search-item{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:6px;cursor:pointer}.catalog-search-item:hover{background:var(--surface-2)}.catalog-search-item.busy{opacity:.6;pointer-events:none}.catalog-search-cover{flex:none;width:30px;height:44px;border-radius:3px;overflow:hidden;background:var(--surface-3)}.catalog-search-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.catalog-search-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.catalog-search-t{font-size:.86rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-search-a{font-size:.76rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-search-owned{flex:none;font-size:.7rem;font-weight:600;color:var(--ink-3);white-space:nowrap}.ap-poster{padding:1.75rem;background:var(--surface-2);border-radius:6px}.ap-poster-inner{display:flex;flex-direction:column;align-items:center;gap:1.1rem;aspect-ratio:1/1.3;padding:1.5rem 1.25rem;background:#fff;border-radius:2px;box-shadow:0 2px 4px #00000014,0 22px 50px -20px #00000059}.ap-poster--hero{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 140% 90% at 50% -8%,rgba(255,255,255,.07),transparent 55%),linear-gradient(160deg,#87878c,#6a6a6f 55%,#5c5c60)}.ap-poster--hero .ap-poster-frame{height:82%;aspect-ratio:1/1.3}.ap-poster--hero .ap-poster-inner{width:100%;height:100%;aspect-ratio:auto;box-shadow:none;border-radius:0;padding:1.15rem 1rem .9rem;overflow:hidden}.ap-poster-frame{box-sizing:border-box;padding:4.5%;background:#f2f1ed;border:13px solid #161614;border-radius:1px;box-shadow:inset 0 0 0 1px #ffffff59,0 18px 40px -16px #0009,0 40px 80px -42px #0000008c}.ap-poster-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;overflow:hidden}.ap-poster-art{position:relative;width:-moz-fit-content;width:fit-content;max-width:92%;flex:1;min-height:0;padding:.6rem 0;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.ap-poster-art.ap-poster-art--no-top-rule{padding-top:0}.ap-poster-art.ap-poster-art--no-bottom-rule{padding-bottom:0}.ap-poster-rule-row{position:absolute;left:0;right:0;display:flex;align-items:center;gap:.4rem}.ap-poster-rule-row--top{top:0}.ap-poster-rule-row--bottom{bottom:0}.ap-poster-rule-line{flex:1;height:1px;background:#1a1a1a40}.ap-poster-palette{display:flex;align-items:center;gap:.22rem;flex:none}.ap-poster-dot{width:4px;height:4px;flex:none;border-radius:50%;box-shadow:0 0 0 1px #00000014}.ap-poster-year{flex:none;font-size:.32rem;font-weight:600;letter-spacing:.05em;color:#1a1a1a;white-space:nowrap}.ap-poster-cover{position:relative;height:100%}.ap-poster-cover img{display:block;height:100%;width:auto;max-width:100%;border-radius:2px;box-shadow:0 1px 2px #00000014}.ap-poster-cover-empty{display:flex;height:100%;width:140px;align-items:center;justify-content:center;padding:.75rem;text-align:center;font-family:var(--font-serif);font-size:.86rem;font-weight:600;color:#1b1d2480}.ap-poster-text{display:flex;flex-shrink:0;flex-direction:column;align-items:center;gap:.1rem;text-align:center;width:100%}.ap-poster-quote{margin:0;max-width:88%;font-size:.38rem;font-style:italic;line-height:1.45;color:#4e5260}.ap-poster-quote p{margin:0 0 .3em}.ap-poster-quote p:last-child{margin-bottom:0}.ap-poster-quote b,.ap-poster-quote strong{font-weight:700}.ap-poster-signature{margin:0;font-family:Caveat,cursive;font-size:.42rem;color:#1a1a1a}.ap-card{padding:0}.ap-label{display:block;margin-bottom:.6rem;font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink)}.ap-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.ap-size{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.8rem .5rem;border:1.5px solid var(--border);border-radius:6px;background:var(--bg);transition:border-color .15s ease}.ap-size:hover{border-color:var(--ink-3)}.ap-size.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg))}.ap-size-label{font-family:var(--font-serif);font-weight:700;font-size:1.05rem;color:var(--ink)}.ap-size-price{font-size:.78rem;color:var(--ink-2)}.ap-count{margin-left:auto;font-size:.7rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.ap-signature-check{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.84rem;color:var(--ink-2);cursor:pointer}.ap-signature-check input{width:16px;height:16px;flex:none;accent-color:var(--accent);cursor:pointer}.ap-edit-modal{display:flex;flex-direction:column;gap:1.4rem;padding:1.5rem}.ap-edit-row{display:flex;align-items:flex-start;gap:1.1rem}.ap-edit-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.7rem;padding-top:.1rem}.ap-edit-row-title{margin:0;font-family:var(--font-serif);font-weight:600;font-size:.98rem;line-height:1.3;color:var(--ink)}.ap-edit-cover{position:relative;flex:none;width:84px;aspect-ratio:2/3;border:none;border-radius:6px;overflow:hidden;background:var(--surface-3);color:var(--ink-3);cursor:pointer;padding:0}.ap-edit-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ap-edit-cover svg{width:22px;height:22px}.ap-edit-cover-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;padding:.3rem;background:#0000008c;color:#fff}.ap-edit-cover-overlay svg{width:13px;height:13px}.ap-edit-field{width:100%;max-width:140px;display:flex;flex-direction:column;gap:.4rem}.ap-edit-field .pj-label{margin-bottom:0}.ap-edit-actions{display:flex;justify-content:flex-end;gap:.6rem;width:100%}.bshow-ap-banner{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}.bshow-ap-cover{width:44px;flex-shrink:0;aspect-ratio:2/3;overflow:hidden;border-radius:3px;background:var(--surface-2);box-shadow:0 1px 3px #00000026}.bshow-ap-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.bshow-ap-body{min-width:0;flex:1}.bshow-ap-h{margin:0;font-family:var(--font-serif);font-weight:600;font-size:.92rem;color:var(--ink)}.bshow-ap-text{margin:.15rem 0 0;font-size:.8rem;color:var(--ink-2);line-height:1.4}.bshow-ap-buy{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}@media(max-width:600px){.bshow-ap-banner{flex-wrap:wrap}.bshow-ap-body{flex:1 1 100%;order:1}.bshow-ap-cover{order:0}.bshow-ap-buy{order:2;width:100%}}.blp-poster{padding:1.75rem;background:var(--surface-2);border-radius:6px}.blp-poster--hero{position:relative;width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 140% 90% at 50% -8%,rgba(255,255,255,.07),transparent 55%),linear-gradient(160deg,#87878c,#6a6a6f 55%,#5c5c60)}.blp-poster-frame{--blp-paper:#2b2320;--blp-edge:#161614;--blp-ink:#f4efe6;--blp-ink-2:rgba(244,239,230,.7);--blp-cell-bg:rgba(244,239,230,.08);--blp-cell-border:rgba(244,239,230,.15);--blp-cell-t:rgba(244,239,230,.85);box-sizing:border-box;height:92%;aspect-ratio:210/297;padding:4%;background:var(--blp-paper);border:13px solid var(--blp-edge);border-radius:1px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 18px 40px -16px #0009,0 40px 80px -42px #0000008c}.blp-poster-frame--light{--blp-paper:#f7f3ea;--blp-edge:#cdbfa3;--blp-ink:#2b2320;--blp-ink-2:rgba(43,35,32,.65);--blp-cell-bg:rgba(43,35,32,.05);--blp-cell-border:rgba(43,35,32,.18);--blp-cell-t:rgba(43,35,32,.8);box-shadow:inset 0 0 0 1px #0000000f,0 18px 40px -16px #00000059,0 40px 80px -42px #0000004d}.blp-poster-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;height:100%}.blp-poster-head{flex:none;display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center;padding:0 .3rem}.blp-poster-title{margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blp-ink)}.blp-poster-subtitle{margin:0;font-size:.32rem;letter-spacing:.03em;color:var(--blp-ink-2)}.blp-fields{gap:.9rem}.blp-field{display:flex;flex-direction:column;gap:.35rem}.blp-theme{display:flex;gap:.5rem}.blp-theme-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem;border:1.5px solid var(--border);border-radius:6px;background:var(--bg);font-size:.82rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:border-color .15s ease}.blp-theme-opt:hover{border-color:var(--ink-3)}.blp-theme-opt.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg));color:var(--ink)}.blp-theme-swatch{width:14px;height:14px;flex:none;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.blp-theme-swatch--dark{background:#2b2320}.blp-theme-swatch--light{background:#f7f3ea}.blp-preset-note{margin:.3rem 0 0;font-size:.78rem;font-style:italic;color:var(--ink-3)}.blp-contents{margin:.5rem 0 0;font-size:.82rem}.blp-contents summary{cursor:pointer;font-weight:600;color:var(--ink-2);list-style:none}.blp-contents summary::-webkit-details-marker{display:none}.blp-contents summary:before{content:"▸ ";color:var(--ink-3)}.blp-contents[open] summary:before{content:"▾ "}.blp-contents ol{display:grid;grid-template-columns:1fr;gap:.35rem .9rem;margin:.5rem 0 0;padding:0 0 0 1.3rem;max-height:260px;overflow-y:auto;color:var(--ink-2)}.blp-contents-t{color:var(--ink);font-weight:600}.blp-contents-a{color:var(--ink-3)}@media(min-width:640px){.blp-contents ol{grid-template-columns:1fr 1fr}}.blp-poster-grid-wrap{flex:1;min-height:0;width:auto;aspect-ratio:.685;margin:0 auto}.blp-poster-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;align-content:center}.blp-cell{display:flex;flex-direction:column;gap:.08rem;min-width:0;min-height:0}.blp-cell-cover{aspect-ratio:2/3;border-radius:1px;overflow:hidden;background:var(--blp-cell-bg);border:1px solid var(--blp-cell-border)}.blp-cell-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1)}.blp-cell-t{margin:0;height:calc(.19rem * 1.15 * 2);font-size:.19rem;line-height:1.15;text-align:center;color:var(--blp-cell-t);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blp-sticker-on-poster{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:1px;border:2px solid #fff;box-shadow:0 1px 4px #00000059;z-index:2}.blp-sticker{position:absolute;width:11%;aspect-ratio:2/3;border-radius:1px;overflow:hidden;box-shadow:0 3px 8px #00000059;z-index:1}.blp-sticker img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blp-sticker:nth-child(1){top:4%;left:1%;transform:rotate(-11deg)}.blp-sticker:nth-child(2){top:20%;left:84%;transform:rotate(9deg)}.blp-sticker:nth-child(3){top:35%;left:3%;transform:rotate(7deg)}.blp-sticker:nth-child(4){top:48%;left:87%;transform:rotate(-13deg)}.blp-sticker:nth-child(5){top:60%;left:2%;transform:rotate(-6deg)}.blp-sticker:nth-child(6){top:70%;left:85%;transform:rotate(11deg)}.blp-sticker:nth-child(7){top:85%;left:80%;transform:rotate(-8deg)}.blp-sticker:nth-child(8){top:91%;left:6%;transform:rotate(14deg)}.blp-stickers-caption{margin:.6rem 0 0;font-size:.78rem;color:var(--ink-2)}.blp-book-cover{flex:none;width:44px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;background:var(--surface-3)}.blp-book-cover img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blp-book-t{font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink)}.blp-book.pj-book{grid-template-columns:28px auto minmax(0,1fr) auto;align-items:center}@media(max-width:600px){.blp-poster-grid{gap:.15rem}.blp-cell-t{font-size:.17rem}}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.gift-card{display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}a.gift-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.gift-card-visual{position:relative;aspect-ratio:1/1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--surface-2)),var(--surface-2))}.gift-card-visual img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.gift-card-visual--contain img{-o-object-fit:contain;object-fit:contain;padding:1rem}.gift-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.gift-card-icon svg{width:30px;height:30px}.gift-card-badge{position:absolute;top:.75rem;right:.75rem;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--surface);color:var(--ink-2);border:1px solid var(--border)}.gift-card-body{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem 1.25rem;flex:1}.gift-card-t{margin:0;font-family:var(--font-serif);font-size:1.15rem;font-weight:600;color:var(--ink);line-height:1.3}.gift-card-price{margin:.1rem 0 .15rem;font-size:.8rem;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.gift-card-p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-2);flex:1}.gift-card-cta{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;font-weight:600;font-size:.9rem;color:var(--accent)}.gift-card-cta svg{width:14px;height:14px}.gift-card--soon .gift-card-visual{filter:saturate(.6)}.gift-card--soon .gift-card-t{color:var(--ink-2)}.bp-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.bp-steps span{padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--ink-3);background:var(--surface-2)}.bp-steps span.on{color:var(--on-accent);background:var(--accent)}.bp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.1rem;align-items:start}.bp-slot{display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.bp-slot--empty{border-style:dashed;box-shadow:none;background:transparent}.bp-slot-h{display:flex;align-items:center;justify-content:space-between;min-height:32px}.bp-slot-n{font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink)}.bp-slot-actions{display:flex;gap:.15rem}.bp-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:260px;border:0;background:none;cursor:pointer;color:var(--ink-2);font-weight:600;font-size:.92rem;border-radius:12px;transition:background .15s ease,color .15s ease}.bp-add:hover{background:var(--surface-2);color:var(--accent)}.bp-add span{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2)}.bp-add svg{width:20px;height:20px}.bp-form{display:flex;flex-direction:column;gap:.55rem}.bp-label{margin-top:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.bp-quote-picks{display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow-y:auto}.bp-quote-pick{text-align:left;padding:.5rem .7rem;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);cursor:pointer;font-family:var(--font-serif);font-style:italic;font-size:.86rem;line-height:1.4}.bp-quote-pick span{font-style:normal;font-family:var(--font-sans);font-size:.76rem;color:var(--ink-3)}.bp-quote-pick:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.bp-quote-pick.on{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}.bp-count{align-self:flex-end;margin-top:-.35rem;font-size:.72rem;color:var(--ink-3)}.bp-check{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:var(--ink-2);cursor:pointer}.bp-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}.bp-form-actions .btn:disabled{opacity:.45;cursor:not-allowed}.bp-art-hint{padding:0 .6rem;font-size:.66rem;line-height:1.35;text-align:center;opacity:.8}.bp-footer{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin:2rem 0 1rem;text-align:center}.bp-status{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9rem;color:var(--ink-2)}.bp-footer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.bp-footer-actions .btn{gap:.4rem}.bp-footer-actions .btn span{display:flex;line-height:0}.bp-footer-actions .btn svg{width:15px;height:15px}.bp-footer-actions .btn:disabled{opacity:.5;cursor:not-allowed}.bp-note{margin:0;font-size:.8rem;color:var(--ink-3)}.bm-spinner--sm{width:16px;height:16px;border-width:2px}.bp-crop{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--ink-3)}.bp-crop input{flex:1;accent-color:var(--accent)}.bs-open{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem 1.5rem;gap:.35rem}.bs-open-h{font-family:var(--font-serif),Georgia,serif;font-size:1.5rem;font-weight:600;margin:.25rem 0 0}.bs-open-lead{color:var(--ink-2);font-size:.92rem;margin:0 0 .75rem;max-width:32rem}.bs-search-wrap{width:100%;max-width:28rem;position:relative}.bs-search-field{width:100%;min-height:52px;padding:0 1rem 0 2.75rem;border-radius:var(--radius-lg);border:1px solid var(--border-2);background:var(--surface);color:var(--ink);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.bs-search-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.bs-search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-3);pointer-events:none}.bs-search-icon svg{width:100%;height:100%}.bs-manual-cta{margin-top:.5rem;background:none;border:0;color:var(--ink-2);font-size:.85rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.bs-manual-cta:hover{color:var(--ink)}.bs-panel{padding:0 1.25rem 1.25rem}.bs-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 0 .75rem}.bs-panel-head h4{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:1.05rem;font-weight:600}.bs-count{color:var(--ink-3);font-size:.8rem}.bs-results{display:flex;flex-direction:column;gap:.6rem}.bs-searching-more{padding:.6rem;text-align:center;color:var(--ink-3);font-size:.78rem}.bsr-card{display:flex;gap:.85rem;width:100%;text-align:left;padding:.75rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);cursor:pointer;color:inherit;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.bsr-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.bsr-card:active{transform:translateY(1px)}.bsr-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bsr-cover{flex:0 0 auto;width:56px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--surface-2)}.bsr-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bsr-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.85}.bsr-cover-ph svg{width:18px;height:18px}.bsr-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:.15rem;justify-content:center}.bsr-title-row{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.bsr-title{font-weight:600;font-size:.95rem;line-height:1.25}.bsr-lang-chip{font-size:.68rem;padding:.1rem .5rem;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);white-space:nowrap}.bsr-genre-chip{font-size:.68rem;padding:.1rem .5rem;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.bsr-subtitle{font-size:.82rem;color:var(--ink-2);font-style:italic}.bsr-sub{font-size:.82rem;color:var(--ink-2)}.bsr-meta{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.74rem;color:var(--ink-3)}.bs-skeleton-row{display:flex;gap:.85rem;padding:.75rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.bs-skel{background:var(--surface-3);border-radius:4px;animation:bs-pulse 1.4s ease-in-out infinite}.bs-skel-cover{width:56px;aspect-ratio:2/3;flex:0 0 auto}.bs-skel-lines{flex:1;display:flex;flex-direction:column;gap:.45rem;justify-content:center}.bs-skel-line{height:.7rem;border-radius:3px}.bs-skel-line.w60{width:60%}.bs-skel-line.w40{width:40%}.bs-skel-line.w30{width:30%}@keyframes bs-pulse{0%,to{opacity:.55}50%{opacity:1}}.bs-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:2rem 1rem;color:var(--ink-2)}.bs-state-icon{width:32px;height:32px;color:var(--ink-3)}.bs-state h5{margin:0;color:var(--ink);font-size:1rem}.bs-state p{margin:0;font-size:.88rem;max-width:26rem}.bs-details-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0 0 1rem}.bs-details-head strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1rem;color:var(--ink-2)}.bs-back-btn{display:flex;align-items:center;gap:.35rem;background:none;border:0;color:var(--ink-2);font-size:.85rem;cursor:pointer;padding:.3rem .1rem}.bs-back-btn:hover{color:var(--ink)}.bs-back-btn svg{width:16px;height:16px;transform:rotate(180deg)}.bs-selected-preview{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.bs-selected-cover{flex:0 0 auto;width:88px;aspect-ratio:2/3;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface-2)}.bs-selected-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bs-cover-replace{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-2);margin-top:.5rem}@media(max-width:560px){.bs-open{padding:1.5rem .9rem 1.1rem}.bs-open-h{font-size:1.28rem}.bs-selected-preview{gap:.75rem}.bs-selected-cover{width:68px}}.bshow-back{margin:0 0 1rem;display:flex;align-items:center;gap:1rem}.bshow-rec-ghost-pulse{background:var(--surface-2)!important;animation:fo-rec-pulse 1.3s ease-in-out infinite}.fo-rec-info .bshow-rec-ghost-line{height:10px;border-radius:4px;margin-top:.5rem}.fo-rec-info .bshow-rec-ghost-line.short{width:60%}@media(prefers-reduced-motion:reduce){.bshow-rec-ghost-pulse{animation:none}}.bshow-author-card--skeleton .skel{background:var(--surface-2);border-radius:4px;animation:fo-rec-pulse 1.3s ease-in-out infinite}.bshow-author-card--skeleton .bshow-author-avatar.skel{border-radius:50%}.bshow-author-card--skeleton .skel-line{height:12px;margin:.55rem 0}.bshow-author-card--skeleton .skel-line--name{height:16px;width:40%;margin-top:0}.bshow-author-card--skeleton .skel-line--stat{width:25%}.bshow-author-card--skeleton .skel-line--short{width:70%}@media(prefers-reduced-motion:reduce){.bshow-author-card--skeleton .skel{animation:none}}.bshow-layout{display:flex;gap:3rem;align-items:flex-start}.bshow-main-col{flex:1;min-width:0}.bshow-hero{display:flex;gap:1.75rem;align-items:stretch;padding-bottom:1.75rem;border-bottom:1px solid var(--border);margin-bottom:1.75rem}.bshow-sticky-col{flex:0 0 280px;width:280px;align-self:flex-start;position:sticky;top:calc(var(--banner-h, 0px) + 88px);display:flex;flex-direction:column;gap:.75rem}.bshow-cover{position:relative;width:280px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface-2);display:flex;align-items:center;justify-content:center}.bshow-cover:not(:has(img)){aspect-ratio:2/3}.bshow-cover img{width:100%;height:auto;display:block}.bshow-cover-ph{font-family:var(--font-serif),Georgia,serif;font-size:3rem;color:#fff;opacity:.85}.bshow-head,.bshow-head-text{display:contents}.bshow-head-cover{display:none}.bshow-status-menu--sticky{flex:none;width:100%}.bshow-status-badge{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .5rem;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);transition:background .15s ease}.bshow-status-badge:hover{background:var(--surface-3)}.bshow-status-badge svg{width:14px;height:14px;flex:0 0 auto}.bshow-status-badge-chev{margin-left:auto;transform:rotate(90deg)}.bshow-status-badge-chev svg{width:12px;height:12px}.bshow-status-menu-list--sticky{left:0;right:0;width:auto;top:calc(100% + .35rem)}.bshow-status-menu-list--sticky svg{width:15px;height:15px;flex:0 0 auto;color:var(--ink-2)}.bshow-info{min-width:0;flex:1;padding-top:.15rem;display:flex;flex-direction:column}.bshow-eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--accent);font-weight:600;margin-bottom:.35rem}.bshow-series-pill{align-self:flex-start;margin-bottom:.4rem;text-decoration:none;background:transparent;color:var(--accent);border-color:var(--accent)}.bshow-series-pill svg{width:14px;height:14px;flex:0 0 auto}.bshow-series-pill:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.bshow-title{font-family:var(--font-serif),Georgia,serif;font-size:2rem;font-weight:600;margin:0 0 .2rem;line-height:1.15}.bshow-title-edit{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:28px;height:28px;margin-left:.1rem;border-radius:6px;color:var(--ink-3);cursor:pointer;transition:background .15s ease,color .15s ease}.bshow-title-edit span{display:flex;align-items:center;justify-content:center;line-height:0}.bshow-title-edit svg{width:16px;height:16px;display:block}.bshow-title-edit:hover{background:var(--surface-2);color:var(--ink)}.bshow-subtitle{font-style:italic;color:var(--ink-2);margin:0 0 .3rem;font-size:1.05rem}.bshow-byline{color:var(--ink-2);margin:0 0 .85rem;font-size:1rem}.bshow-author-link{color:var(--ink-2);font-size:1rem;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:2px;transition:color .15s ease}.bshow-author-link:hover{color:var(--ink)}.bshow-rating-summary{display:flex;align-items:center;gap:.6rem;margin:0 0 .85rem;flex-wrap:wrap}.bshow-ratings-summary-row{display:flex;align-items:center;gap:.6rem;margin:0;flex-wrap:wrap}.bshow-rating-summary-avg{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:1.4rem;color:var(--ink)}.bshow-rating-summary-meta{font-size:.85rem;color:var(--ink-2)}.bshow-ratings-hist-bars{height:140px;gap:5px}.bshow-ratings-hist-bars .bcr-bar{border-radius:4px 4px 0 0}.bshow-ratings-hist-labels{display:flex;gap:5px;margin-top:.4rem}.bshow-ratings-hist-label{flex:1;text-align:center;font-size:.7rem;color:var(--ink-3)}.bshow-excerpt{color:var(--ink-2);font-size:.92rem;line-height:1.5;margin:0 0 .85rem;max-width:48ch}.bshow-action-card{flex:0 0 280px;align-self:flex-start;display:flex;flex-direction:column;gap:.65rem;padding:.9rem;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.bshow-status-label{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--ink)}.bshow-quick-actions{display:flex;gap:.4rem}.bshow-quick-btn{flex:1;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.bshow-quick-btn span{display:flex;align-items:center;justify-content:center;line-height:0}.bshow-quick-btn svg{width:18px;height:18px;display:block}.bshow-quick-btn:hover{background:var(--surface-3);color:var(--ink)}.bshow-quick-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.bshow-quick-btn--fav.active{background:color-mix(in srgb,#e5484d 14%,var(--surface-2));border-color:color-mix(in srgb,#e5484d 45%,transparent);color:#e5484d}.bshow-quick-btn--fav.active:hover{background:color-mix(in srgb,#e5484d 22%,var(--surface-2));color:#e5484d}.bshow-quick-btn--fav:not(.active):hover{color:#e5484d}.bshow-status-menu{position:relative;flex:1}.bshow-status-menu .bshow-quick-btn{width:100%}.bshow-status-menu-list{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;min-width:150px;max-width:min(320px,90vw);display:flex;flex-direction:column;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.bshow-status-menu-list:has(.bshow-dates-row){min-width:260px}.bshow-status-menu-list button{display:flex;align-items:center;gap:.4rem;text-align:left;padding:.5rem .6rem;border-radius:6px;background:none;border:0;color:var(--ink);font-size:.85rem;cursor:pointer}.bshow-status-menu-list button:hover{background:var(--surface-2)}.bshow-status-menu-list button.active{font-weight:600}.bshow-status-menu-sep{height:1px;margin:.3rem .2rem;background:var(--border)}.bshow-status-menu-list button.danger{color:var(--danger)}.bshow-status-menu-list button.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.bshow-ratings{display:flex;flex-direction:column;align-items:center;gap:.4rem}.bshow-rated-label{font-size:.78rem;font-weight:600;color:var(--ink-2);text-align:center}.bshow-dates-row{display:flex;flex-direction:column;gap:.55rem;padding:.4rem .5rem}.bshow-dates-row label{display:flex;flex-direction:column;gap:.25rem;cursor:default}.bshow-dates-row span{font-size:.78rem;font-weight:600;color:var(--ink-2)}.bshow-dates-row .input,.bshow-dates-row .select{padding:.45rem .6rem;font-size:.88rem;color-scheme:inherit;width:100%}.bshow-action-card .star-rating{width:100%;justify-content:center}.bshow-action-card .star-rating-stars{flex:0 0 auto;gap:.5rem}.bshow-action-card .star-slot{font-size:1.7rem}.bshow-action-card .star-bg{color:color-mix(in srgb,var(--ink-3) 45%,var(--surface-2))}.bshow-action-card .star-fill{color:#f4b400}.btn.primary.bshow-timer-running{background:var(--danger);border-color:var(--danger)}.btn.primary.bshow-timer-running:hover{background:color-mix(in srgb,var(--danger) 85%,black)}.bshow-community-rating{display:flex;align-items:stretch;gap:.9rem}.bcr-bars{flex:1;display:flex;align-items:flex-end;gap:2px}.bcr-bar-wrap{flex:1;display:flex;align-items:flex-end;height:100%}.bcr-bar{position:relative;width:100%;min-height:2px;background:var(--accent);border-radius:2px 2px 0 0}.bcr-tooltip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(3px);background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:600;white-space:nowrap;padding:.35rem .55rem;border-radius:6px;pointer-events:none;opacity:0;z-index:30;transition:opacity .12s ease,transform .12s ease}.bcr-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ink)}.bcr-tooltip-star{color:#e8b84b}.bcr-bar-wrap:hover .bcr-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.bcr-summary{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex-shrink:0;font-size:.85rem;color:var(--ink-2);white-space:nowrap}.bcr-avg-row{display:flex;align-items:baseline;gap:.25rem}.bcr-summary .bcr-avg{font-size:1.2rem;font-weight:700;color:var(--ink)}.bcr-count{font-size:.72rem;color:var(--ink-3)}.bcr-stars-5{color:var(--warning);font-size:.7rem;letter-spacing:1px}.bcr-summary--standalone{padding-top:.9rem;border-top:1px solid var(--border)}.bshow-genre{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}.bshow-facts{display:flex;flex-direction:column;gap:.2rem;color:var(--ink-2);font-size:.88rem;margin-bottom:.85rem}.bshow-fact{line-height:1.4;display:inline-flex;align-items:center;gap:.35rem}.bshow-fact-icon{display:inline-flex;color:var(--ink-3)}.bshow-fact-icon svg{width:14px;height:14px}.bshow-speed-test-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:#f4b400;cursor:pointer;transition:background .15s ease,color .15s ease}.bshow-speed-test-btn:hover{background:var(--surface-2);color:#ffc933}.bshow-speed-test-btn svg{width:14px;height:14px;fill:currentColor}.speed-test-b{display:flex;flex-direction:column;gap:1rem;align-items:stretch;text-align:center}.speed-test-dial{position:relative;width:168px;height:168px;margin:.25rem auto 0}.speed-test-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.speed-test-dial-track{fill:var(--surface-2);stroke:var(--border);stroke-width:8}.speed-test-dial-ring{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .3s linear,stroke .2s ease}.speed-test-dial--running .speed-test-dial-ring{stroke:#f4b400}.speed-test-dial--done .speed-test-dial-ring{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.speed-test-dial-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.speed-test-dial-v{font-family:var(--font-serif);font-size:2.4rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.speed-test-dial-u{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.speed-test-dial--idle .speed-test-dial-v{color:var(--ink-3)}.speed-test-steps{display:flex;justify-content:center;gap:.4rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}.speed-test-steps li{display:flex;align-items:center;gap:.35rem;padding:.25rem .65rem .25rem .3rem;border-radius:999px;font-size:.78rem;color:var(--ink-3);background:var(--surface-2)}.speed-test-steps li span{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;background:var(--surface-3, var(--border));color:var(--ink-2)}.speed-test-steps li.on{color:var(--ink);background:color-mix(in srgb,var(--accent) 16%,var(--surface-2))}.speed-test-steps li.on span{background:var(--accent);color:var(--on-accent)}.speed-test-steps li.done span{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--on-accent)}.speed-test-current{color:var(--ink-3);font-size:.82rem;margin:-.4rem 0 0}.speed-test-intro{color:var(--ink-2);margin:0;font-size:.92rem;line-height:1.5}.speed-test-hint{color:var(--ink-3);font-size:.85rem;margin:0}.speed-test-hint--warn{color:var(--danger)}.speed-test-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink-2)}.speed-test-input{width:9rem;text-align:center;padding:.45rem .6rem;border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:10px;background:var(--surface);color:var(--ink);font-family:var(--font-serif);font-size:1.5rem;font-weight:700;-moz-appearance:textfield}.speed-test-input:focus{outline:none;border-color:var(--accent)}.speed-test-input::-webkit-outer-spin-button,.speed-test-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.speed-test-row{display:grid;grid-template-columns:1fr 2fr;gap:.6rem}.speed-test-label-tag{margin:-.3rem 0 0;color:var(--accent);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.bshow-isbn-warning{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .85rem;padding:0;border:0;background:none;color:var(--danger);font-size:.85rem;font-weight:500;cursor:pointer}.bshow-isbn-warning:hover{text-decoration:underline}.bshow-isbn-warning svg{width:15px;height:15px;flex:0 0 auto}.bshow-isbn-add{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .85rem;max-width:340px}.bshow-isbn-hint{flex-basis:100%;margin:0;font-size:.82rem;color:var(--ink-2)}.bshow-isbn-add .input{min-height:38px;padding:.4rem .65rem;font-size:.88rem}.bshow-progress{max-width:340px;margin:0 0 .85rem}.bshow-progress-track{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.bshow-progress-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .3s ease}.bshow-progress-label{display:block;margin-top:.35rem;font-size:.8rem;color:var(--ink-2)}.bshow-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}.bshow-actions{display:flex;gap:.6rem}.bshow-section{margin-bottom:2rem}.bshow-section h3{font-family:var(--font-serif),Georgia,serif;font-size:1.15rem;font-weight:600;margin:0 0 .75rem}.bshow-section-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.bshow-section-h h3{margin:0}.bshow-rate-row{display:flex;gap:1rem;align-items:stretch;margin-bottom:2rem}.bshow-rate-row>*{flex:1;min-width:0;margin-bottom:0}.bshow-rate-prompt{padding:1.75rem 1.5rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center}.bshow-rate-prompt h3{font-family:var(--font-serif),Georgia,serif;font-size:1.3rem;font-weight:700;margin:0}.bshow-rate-prompt .btn{max-width:280px;width:100%;margin-top:.5rem}.bshow-ratings-card{padding:1.75rem 1.5rem;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.bshow-ratings-card h3{margin:0}.bshow-ratings-card .bshow-rating-summary-meta{display:block;margin:0 0 1.5rem}.bshow-desc{color:var(--ink-2);line-height:1.6;white-space:pre-wrap;max-width:60ch}.bshow-desc p{margin:0 0 .6em}.bshow-desc p:last-child{margin-bottom:0}.bshow-desc ul,.bshow-desc ol{margin:.4em 0;padding-left:1.4em}.bshow-desc-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.bshow-readmore{margin-top:.4rem;background:none;border:0;padding:0;cursor:pointer;color:var(--accent);font-size:.85rem;font-weight:600}.bshow-readmore:hover{text-decoration:underline}.bshow-community-reviews{display:flex;flex-direction:column;gap:1rem}.bshow-community-review{display:flex;gap:.85rem;padding:.9rem 1rem;border-radius:10px;background:var(--surface-2)}.bshow-cr-avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:600}.bshow-cr-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bshow-cr-body{min-width:0;flex:1}.bshow-cr-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.15rem}.bshow-cr-by{font-weight:600;color:var(--ink)}.bshow-cr-head .star-rating{gap:.3rem}.bshow-cr-head .star-slot{font-size:1rem}.bshow-cr-date{display:block;font-size:.75rem;color:var(--ink-3);margin-bottom:.4rem}.bshow-community-review .bshow-desc{max-width:none;margin:0}.bshow-cr-actions{display:flex;align-items:center;gap:1.1rem;margin-top:.6rem}.bshow-cr-like{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--ink-2);transition:color .15s ease}.bshow-cr-like:hover,.bshow-cr-like.on{color:var(--danger)}.bshow-cr-like svg{width:15px;height:15px}.bshow-cr-report{font-size:.8rem;color:var(--ink-3);transition:color .15s ease}.bshow-cr-report:hover{color:var(--ink)}.bshow-cr-report:disabled{cursor:default}.bshow-accordion{margin-bottom:2rem;border:1px solid var(--border);border-radius:12px;overflow:hidden}.bshow-accordion--tight{margin-bottom:1rem}.bshow-accordion:has(+.bshow-accordion){margin-bottom:.6rem}.bshow-accordion-h{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.1rem;background:var(--surface-2);border:0;cursor:pointer;font-family:var(--font-serif),Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--ink);text-align:left;transition:background .15s ease}.bshow-accordion-h:hover{background:var(--surface-3)}.bshow-accordion-h svg{width:16px;height:16px;flex:0 0 auto;color:var(--ink-2);transition:transform .2s ease}.bshow-accordion.open .bshow-accordion-h svg{transform:rotate(90deg)}.bshow-accordion-b{padding:1.1rem}.bshow-accordion-sub{font-weight:400;color:var(--ink-3)}.bshow-author-fav{margin-top:1rem}.bshow-accordion-b .bshow-desc{max-width:none}.bshow-accordion-b .bshow-readmore{margin-top:.6rem}.bshow-editions-status{color:var(--ink-3);font-style:italic;font-size:.88rem;margin:0}.bshow-editions-row{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.25rem}.bshow-edition-card{flex:0 0 120px;display:flex;flex-direction:column;gap:.3rem;text-align:left;border:1px solid transparent;border-radius:8px;padding:.4rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.bshow-edition-card:hover{background:var(--surface-2);border-color:var(--border)}.bshow-edition-card:disabled{cursor:default;opacity:.55}.bshow-edition-card.applying{opacity:1;background:var(--surface-2);border-color:var(--border)}.bshow-edition-card.applying .bshow-edition-format{color:var(--accent)}.bshow-edition-cover{width:100%;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.bshow-edition-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bshow-edition-cover .ph{font-family:var(--font-serif),Georgia,serif;font-size:1.5rem;color:var(--ink-3)}.bshow-edition-format{font-size:.8rem;font-weight:700;color:var(--ink)}.bshow-edition-meta{font-size:.74rem;color:var(--ink-2)}.bshow-author-card{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.bshow-author-avatar{flex:0 0 auto;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:1.3rem}.bshow-author-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.bshow-author-body{flex:1;min-width:200px}.bshow-author-name{font-weight:700;color:var(--ink);font-size:1rem}.bshow-author-name:hover{text-decoration:underline}.bshow-author-stats{font-size:.8rem;color:var(--ink-2);margin-top:.15rem}.bshow-author-bio{color:var(--ink-2);font-size:.88rem;line-height:1.5;margin:.5rem 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bshow-lists-row{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.25rem}.bshow-lists-row .list-card{flex:0 0 240px}.bshow-history{border:1px solid var(--border);border-radius:14px;overflow:hidden}.bshow-history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0}.bshow-history-stats>div{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.2rem;border-left:1px solid var(--border)}.bshow-history-stats>div:first-child{border-left:0}.bshow-history-stats dt{font-size:.66rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.bshow-history-stats dd{margin:0;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.1rem;color:var(--ink)}.bshow-sessions-acc{border-top:1px solid var(--border)}.bshow-sessions-acc summary{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.2rem;cursor:pointer;list-style:none;font-size:.88rem;font-weight:600;color:var(--ink-2);transition:color .15s ease}.bshow-sessions-acc summary::-webkit-details-marker{display:none}.bshow-sessions-acc summary:hover{color:var(--ink)}.bshow-sessions-count{padding:.05rem .5rem;border-radius:999px;font-size:.72rem;background:var(--surface-2);color:var(--ink-3)}.bshow-sessions-chev{margin-left:auto;display:flex;color:var(--ink-3);transition:transform .2s ease}.bshow-sessions-chev svg{width:14px;height:14px}.bshow-sessions-acc[open] .bshow-sessions-chev{transform:rotate(90deg)}.bshow-sessions{list-style:none;margin:0;padding:0 1.2rem .5rem}.bshow-sessions li{display:grid;grid-template-columns:minmax(90px,auto) 1fr 4.5rem 4.5rem;align-items:center;gap:1rem;padding:.6rem 0;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);font-size:.86rem;color:var(--ink-2)}.bshow-session-date{color:var(--ink);font-variant-numeric:tabular-nums}.bshow-session-bar{height:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.bshow-session-bar i{display:block;height:100%;border-radius:999px;background:var(--accent)}.bshow-session-n{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:640px){.bshow-history-stats{grid-template-columns:1fr 1fr}.bshow-history-stats>div:nth-child(odd){border-left:0}.bshow-history-stats>div:nth-child(n+3){border-top:1px solid var(--border)}.bshow-sessions li{grid-template-columns:auto 1fr auto auto;gap:.7rem}}.bshow-empty{color:var(--ink-3);font-style:italic;font-size:.9rem}.bshow-journal{display:flex;flex-direction:column;gap:.75rem}@media(max-width:640px){.bshow-layout{flex-direction:column;gap:1.25rem}.bshow-main-col{flex:none;width:100%}.bshow-rate-row,.bshow-hero{flex-direction:column}.bshow-sticky-col{display:none}.bshow-info{text-align:center}.bshow-head{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:.6rem}.bshow-head-text{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%}.bshow-head-cover{display:flex;align-items:center;justify-content:center;position:relative;width:136px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface-2)}.bshow-head-cover:not(:has(img)){aspect-ratio:2/3}.bshow-head-cover img{width:100%;height:auto;display:block}.bshow-head-cover .bshow-cover-ph{font-size:2rem}.bshow-series-pill{font-size:.75rem;padding:.2rem .6rem;gap:.3rem;max-width:100%;margin-bottom:.5rem;align-self:center}.bshow-series-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bshow-series-pill svg{width:12px;height:12px}.bshow-title{font-size:1.6rem;line-height:1.2;margin-bottom:.2rem}.bshow-title-edit{width:24px;height:24px}.bshow-byline,.bshow-author-link{font-size:.9rem}.bshow-byline{margin-bottom:.4rem}.bshow-rating-summary{gap:.4rem;margin-bottom:.6rem;justify-content:center}.bshow-rating-summary .star-slot{font-size:1.1rem}.bshow-rating-summary-avg{font-size:1.15rem}.bshow-rating-summary-meta{font-size:.75rem}.bshow-genre{gap:.3rem;margin:0 0 .6rem;justify-content:center}.bshow-genre .chip{font-size:.68rem;padding:.1rem .45rem;min-height:0;line-height:1.4}.bshow-facts{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.15rem .9rem;font-size:.82rem}.bshow-fact-icon{display:none}.bshow-chips{justify-content:center}.bshow-chips .chip{font-size:.72rem;padding:.15rem .55rem;min-height:0}.bshow-actions{justify-content:center;width:100%}.bshow-action-card{width:100%;flex:0 0 auto}}.bshow-section-h{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.bshow-private-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.02em;line-height:1.4;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border)}.bshow-private-pill span{display:flex;line-height:0}.bshow-private-pill svg{width:11px;height:11px}.bshow-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}.bshow-pair .btn{justify-content:center;gap:.4rem;padding-inline:.5rem;min-width:0}.bshow-pair .btn span{display:flex;line-height:0}.bshow-pair .btn svg{width:15px;height:15px}.bshow-bm-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;margin:0;padding:1.1rem 1.2rem 1.25rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--cta) 10%,var(--surface)),var(--surface) 65%)}.bshow-bm-h{margin:0;font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--ink)}.bshow-bm-book{font-size:.8rem;color:var(--ink-3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bshow-bm-strips{margin:.1rem 0 .8rem}.btn.fo-session-btn.bshow-bm-buy{align-self:stretch;justify-content:center;gap:.5rem;min-height:44px;padding:.3rem 1.2rem;text-decoration:none;font-variant-numeric:tabular-nums}.bshow-bm-arrow{font-size:1.1em;line-height:1;transition:transform .15s ease}.bshow-bm-buy:hover .bshow-bm-arrow{transform:translate(3px)}.bshow-format{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:1rem 0 1.1rem}.bshow-format-label{font-size:.78rem;font-weight:600;color:var(--ink-3);margin-right:.2rem}.bshow-format-opt{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:transparent;color:var(--ink-2);font:inherit;font-size:.84rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.bshow-format-opt>span{display:inline-flex}.bshow-format-opt svg{width:.95rem;height:.95rem;display:block}.bshow-format-opt:hover{color:var(--ink);border-color:var(--ink-3)}.bshow-format-opt.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.bshow-audio-length{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin:0 0 1rem;padding:.7rem .9rem;border:1px dashed var(--border-2);border-radius:var(--radius)}.bshow-audio-length-l{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--ink-2);margin-right:auto}.bshow-audio-length-l>span{display:inline-flex}.bshow-audio-length-l svg{width:1rem;height:1rem;display:block}.bshow-audio-length label{display:inline-flex;align-items:center;gap:.3rem;font-size:.84rem;color:var(--ink-3)}.bshow-audio-length .input{width:4.2rem;padding:.35rem .5rem}.bshow-cover{transition:opacity .2s ease}.bshow-cover.is-updating{opacity:.5}.fav-section{margin-bottom:2rem}.fav-unfav-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;border:none;cursor:pointer;background:var(--surface);color:var(--danger);box-shadow:var(--shadow)}.fav-unfav-btn svg{width:1.05rem;height:1.05rem}.fav-unfav-btn:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface))}.fav-author-list{display:flex;flex-direction:column;gap:.4rem;max-width:420px}.fav-author-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .85rem;border-radius:.6rem;background:var(--surface-2)}.fav-author-name{background:none;border:none;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-align:left}.fav-author-name:hover{color:var(--accent)}.fav-author-row .fav-unfav-btn{position:static;width:1.75rem;height:1.75rem;background:none;box-shadow:none}.fav-author-row .fav-unfav-btn svg{width:.95rem;height:.95rem}.abi-card{max-width:560px;padding:1.25rem}.abi-row{display:flex;gap:.6rem}.abi-row .input{flex:1 1 auto}.abi-row .btn{flex:0 0 auto}.abi-result{display:flex;gap:1rem;align-items:flex-start;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border)}.abi-result--empty{align-items:center;color:var(--ink-2);font-size:.9rem}.abi-result--empty svg{width:22px;height:22px;flex:0 0 auto}.abi-cover{flex:0 0 auto;width:72px;height:108px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.abi-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.abi-cover .ph{font-family:var(--font-serif),Georgia,serif;font-size:1.6rem;color:#fff;opacity:.85}.abi-info{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:.15rem}.abi-title{font-family:var(--font-serif),Georgia,serif;font-size:1.15rem;font-weight:600;line-height:1.25}.abi-author{color:var(--ink-2);font-size:.88rem}.abi-owned{font-size:.72rem;font-weight:600;color:var(--accent);margin-top:.15rem}.abi-add{margin-top:.7rem;align-self:flex-start}.abi-back{display:inline-block;margin-top:1rem;font-size:.85rem;color:var(--ink-2);text-decoration:underline}:root,[data-theme=light]{--rr-contour: #3B2A1F;--rr-shadow: #3B2A1F;--rr-wall-top: #EDE6D8;--rr-wall-bottom: #E6DECC;--rr-sky-top: #CFE3E0;--rr-sky-bottom: #F3E9D2;--rr-sun: #F3CF7A;--rr-cloud: #FBF6E8;--rr-hill: #A9C3AE;--rr-hill-back: #C3D6C4;--rr-tree: #6E8F6E;--rr-tree-trunk: #6B5A44;--rr-glow: #FDEFC9;--rr-window-frame: #7A6142;--rr-frame: #6B4E30;--rr-frame-inner: #EDE6D8;--rr-floor-top: #C7A97D;--rr-floor-bottom: #AD8B60;--rr-floor-line: #8C6D48;--rr-rug: #B7563F;--rr-rug-edge: #8C3F2E;--rr-chair: #C97A54;--rr-chair-arm: #B56943;--rr-chair-seat: #A85E39;--rr-chair-leg: #5B4330;--rr-table-top: #7A5A3A;--rr-table-leg: #5B4330;--rr-table-shadow: rgba(60,40,20,.18);--rr-cabinet-body: #8A6845;--rr-cabinet-body-2: #7A5A3A;--rr-cabinet-top: #6B4E30;--rr-cabinet-inner: #4C3826;--rr-cabinet-inner-2: #3E2D1F;--rr-cabinet-shelf: #33261A;--rr-cabinet-shelf-top: #4A3626;--rr-cabinet-side: #6B4E30;--rr-cabinet-leg: #4C3826;--rr-notebook: #E9E2CF;--rr-notebook-line: #B7AE93;--rr-notebook-spine: #C9BE9F;--rr-bookmark: #A34239;--rr-pen-body: #2B3A67;--rr-pen-nib: #E8B84B;--rr-pen-cap: #1B2440;--rr-quotebox-body: #7A5A3A;--rr-quotebox-lid: #8C6B47;--rr-quotebox-mark: #E9E2CF;--rr-lamp-stem: #5B4330;--rr-lamp-base: #4C3826;--rr-lamp-shade: #C9BE9F;--rr-lamp-shade-lit: #F3CF7A;--rr-lamp-glow: #FDEFC9;--rr-plant-pot: #B5643F;--rr-plant-pot-rim: #9C5535;--rr-plant-pot-shadow: rgba(60,40,20,.18);--rr-plant-stem: #4C6C3E;--rr-plant-leaf: #4C6C3E;--rr-plant-leaf-2: #6E8F4A;--rr-globe-body: #4C6C93;--rr-globe-line: #E6DECC;--rr-book-cover-frame: #EDE6D8;--rr-book-pages: #F5F0E3}[data-theme=dark]{--rr-contour: #17110C;--rr-shadow: #000;--rr-wall-top: #2A2721;--rr-wall-bottom: #221F1B;--rr-sky-top: #23303A;--rr-sky-bottom: #3A3428;--rr-sun: #E3C579;--rr-cloud: #4A4438;--rr-hill: #3C4A3E;--rr-hill-back: #2E3A32;--rr-tree: #33422F;--rr-tree-trunk: #2A2016;--rr-glow: #4A3E24;--rr-window-frame: #4A3826;--rr-frame: #3A2C1E;--rr-frame-inner: #322A20;--rr-floor-top: #4C3E2C;--rr-floor-bottom: #3A2E20;--rr-floor-line: #2A2016;--rr-rug: #7A3C2C;--rr-rug-edge: #5C2C20;--rr-chair: #6E4C34;--rr-chair-arm: #5C3F2A;--rr-chair-seat: #543A26;--rr-chair-leg: #221A12;--rr-table-top: #4A3826;--rr-table-leg: #2A2016;--rr-table-shadow: rgba(0,0,0,.4);--rr-cabinet-body: #5A4530;--rr-cabinet-body-2: #4A3826;--rr-cabinet-top: #3A2C1E;--rr-cabinet-inner: #2A2016;--rr-cabinet-inner-2: #201810;--rr-cabinet-shelf: #1C1610;--rr-cabinet-shelf-top: #2E2216;--rr-cabinet-side: #3A2C1E;--rr-cabinet-leg: #2A2016;--rr-notebook: #3A362C;--rr-notebook-line: #5C5644;--rr-notebook-spine: #4A4436;--rr-bookmark: #D08B82;--rr-pen-body: #93A9E3;--rr-pen-nib: #E3C579;--rr-pen-cap: #1B2440;--rr-quotebox-body: #4A3826;--rr-quotebox-lid: #5C4632;--rr-quotebox-mark: #EDEAE0;--rr-lamp-stem: #362A1C;--rr-lamp-base: #2A2016;--rr-lamp-shade: #5C5644;--rr-lamp-shade-lit: #E3C579;--rr-lamp-glow: #4A3E24;--rr-plant-pot: #7A3C2C;--rr-plant-pot-rim: #5C2C20;--rr-plant-pot-shadow: rgba(0,0,0,.4);--rr-plant-stem: #4A6440;--rr-plant-leaf: #4A6440;--rr-plant-leaf-2: #5E7A48;--rr-globe-body: #8EAAD1;--rr-globe-line: #EDEAE0;--rr-book-cover-frame: #322A20;--rr-book-pages: #3A342A}.rr-page{display:flex;flex-direction:column;gap:1rem}.rr-years{display:flex;gap:.4rem;flex-wrap:wrap}.rr-year-pill{border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:var(--radius-pill);padding:.4rem 1rem;font-size:.9rem;cursor:pointer}.rr-year-pill.active{background:var(--accent);border-color:transparent;color:var(--on-accent)}.rr-year-pill:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.rr-stage{position:relative;width:100%;aspect-ratio:1586/992;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--rr-wall-bottom)}.rr-scene{position:absolute;inset:0}.rr-bg{position:absolute;inset:0;width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.rr-layer{position:absolute}.rr-layer--cabinet{left:16.4%;top:9.9%;width:73.1%;height:68.9%}.rr-layer--desk{left:35%;top:86.2%;width:17%;height:13%}.rr-scene--evening .rr-bg{filter:brightness(.55) saturate(.85);transition:filter .5s ease}.rr-scene--evening{transition:filter .5s ease}.rr-cabinet{position:relative;width:100%;height:100%}.rr-cabinet-open{position:absolute;inset:0;background:transparent;border:none;cursor:pointer;z-index:1;border-radius:var(--radius)}.rr-cabinet-open:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}.rr-cabinet-shelves{position:absolute;inset:2% 4% 3%;z-index:2;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.rr-cabinet-row{display:flex;align-items:flex-end;gap:3px;height:22%;pointer-events:none;overflow:hidden}.rr-cabinet-row>*{pointer-events:auto}.rr-cabinet-hint{position:absolute;bottom:-1.6rem;left:0;right:0;text-align:center;font-size:.75rem;color:var(--ink-3)}.rr-cabinet--empty .rr-cabinet-hint{opacity:.8}.rr-shelfbook{position:relative;border:2px solid var(--rr-contour);cursor:pointer;padding:0;border-radius:3px 3px 1px 1px;height:82%;min-width:26px;flex:none;display:flex;align-items:flex-end;justify-content:center;box-shadow:inset -2px 0 4px #00000040,inset 2px 0 #ffffff14,0 2px 3px #0003;transition:transform .18s ease}.rr-shelfbook--focus{height:86%}.rr-shelfbook--tall{height:96%}.rr-shelfbook--short{height:66%}.rr-shelfbook:hover,.rr-shelfbook:focus-visible{transform:translateY(-6px)}.rr-shelfbook:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.rr-shelfbook-face{position:absolute;inset:0;border-radius:inherit;background-size:cover;background-position:center}.rr-shelfbook-gold{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,transparent,#E8B84B,transparent);opacity:.85}.rr-shelfbook-ribbon{position:absolute;top:-6px;right:6px;width:8px;height:16px;background:var(--rr-bookmark);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.rr-shelfbook-label{position:relative;z-index:1;writing-mode:vertical-rl;text-orientation:mixed;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-family:var(--font-serif),Georgia,serif;font-size:.72rem;line-height:1.1;padding:.5rem .2rem;max-height:100%;overflow:hidden;white-space:nowrap;pointer-events:none}.rr-shelfbook--focus .rr-shelfbook-label{font-size:.86rem}.rr-shelfbook--highlight{animation:rr-shelve-in 1.1s cubic-bezier(.2,1.4,.4,1) both}@keyframes rr-shelve-in{0%{transform:translateY(-140px) rotate(-6deg);opacity:0}70%{transform:translateY(6px) rotate(1deg);opacity:1}to{transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.rr-shelfbook,.rr-shelfbook--highlight{animation:none!important;transition:none!important}}.rr-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-size:.72rem;line-height:1.4;padding:.4rem .6rem;border-radius:8px;white-space:nowrap;box-shadow:var(--shadow);z-index:20;display:flex;flex-direction:column;gap:.1rem;pointer-events:none}.rr-tooltip-title{font-weight:600}.rr-tooltip-line{opacity:.85}.rr-desk{position:relative;width:100%;height:100%}.rr-desk-stack-book{position:absolute;width:44%;height:34%;border:2.5px solid var(--rr-contour);border-radius:4px;cursor:pointer;padding:0;background:var(--rr-book-pages);box-shadow:0 4px 8px #00000038}.rr-desk-stack-book--0{right:0;bottom:34%;transform:rotate(8deg);z-index:1}.rr-desk-stack-book--1{right:-10%;bottom:26%;transform:rotate(15deg);z-index:0}.rr-desk-book-pages{position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(180deg,var(--rr-book-pages) 0 2px,transparent 2px 3px)}.rr-desk-book-cover{position:absolute;inset:0 0 62%;border-radius:3px 3px 0 0;border-bottom:2px solid var(--rr-contour);background-size:cover;background-position:center top}.rr-desk-open-book{position:absolute;left:2%;bottom:0;width:66%;height:58%;border:2.5px solid var(--rr-contour);border-radius:4px 10px 10px 4px;cursor:pointer;padding:0;background:var(--rr-book-pages);box-shadow:0 6px 12px #00000040;transform:rotate(-3deg);overflow:hidden}.rr-desk-open-page{position:absolute;inset:0;width:50%}.rr-desk-open-page--left{left:0;background:var(--rr-book-pages)}.rr-desk-open-page--right{left:50%;background-size:cover;background-position:center}.rr-desk-open-crease{position:absolute;left:calc(50% - 4px);top:0;bottom:0;width:8px;background:linear-gradient(90deg,rgba(0,0,0,.22),transparent 40%,transparent 60%,rgba(0,0,0,.12))}.rr-desk-open-book:focus-visible,.rr-desk-stack-book:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.rr-desk-empty{position:absolute;left:20%;bottom:6%;width:36%;height:70%;opacity:.85}.rr-desk-empty svg{width:100%;height:100%}.rr-object{position:absolute;transform:translate(-50%,-100%) scale(var(--rr-obj-scale, 1));width:56px;height:56px;border:none;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18));transition:transform .2s ease,filter .2s ease}.rr-object svg{width:100%;height:100%}.rr-object:hover,.rr-object:focus-visible{filter:drop-shadow(0 3px 4px rgba(0,0,0,.18)) drop-shadow(0 0 10px var(--rr-glow))}.rr-object:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px;border-radius:8px}.rr-object--reveal{animation:rr-object-reveal 2.4s ease}@keyframes rr-object-reveal{0%{opacity:0;transform:translate(-50%,-100%) scale(.4)}20%{opacity:1;transform:translate(-50%,-100%) scale(1.15)}35%{transform:translate(-50%,-100%) scale(1)}70%{filter:drop-shadow(0 3px 4px rgba(0,0,0,.18)) drop-shadow(0 0 16px var(--rr-glow))}to{filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}}@media(prefers-reduced-motion:reduce){.rr-object,.rr-object--reveal{animation:none!important;transition:none!important}}.rr-lamp-glow{animation:rr-lamp-flicker 3.2s ease-in-out infinite}@keyframes rr-lamp-flicker{0%,to{opacity:.45}50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.rr-lamp-glow{animation:none;opacity:.5}}.rr-hotspot{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,var(--rr-glow) 0%,transparent 70%);opacity:0;transition:opacity .25s ease}.rr-object:hover .rr-hotspot,.rr-object:focus-visible .rr-hotspot{opacity:.55}.rr-plant-popover-anchor{position:absolute;right:2%;bottom:6%;z-index:30}.rr-plant-popover{width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.9rem 1rem}.rr-plant-popover-h{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rr-plant-popover-h h3{font-family:var(--font-serif);font-size:1rem;margin:0}.rr-plant-popover-stage{font-size:.82rem;color:var(--ink-2);margin:.4rem 0}.rr-plant-popover-stats{display:flex;justify-content:space-between;gap:.5rem;margin:0}.rr-plant-popover-stats dt{font-size:.7rem;color:var(--ink-3)}.rr-plant-popover-stats dd{margin:0;font-weight:600}.rr-plant-popover-h .closex{width:26px;height:26px;border-radius:50%;border:none;background:var(--surface-2);color:var(--ink-2);cursor:pointer;font-size:1rem;line-height:1}.rr-plant-popover-h .closex:hover{background:var(--surface-3);color:var(--ink)}.rr-empty-caption{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;color:var(--ink-2);font-size:.92rem}.rr-empty-caption strong{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink)}.rr-summary{display:flex;flex-wrap:wrap;gap:1.2rem;color:var(--ink-3);font-size:.85rem}.rr-summary-item strong{color:var(--ink);font-family:var(--font-serif)}.rr-hints{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.8rem;color:var(--ink-3)}.rr-hints-label{font-weight:600;color:var(--ink-2)}.rr-hint:before{content:"· "}.rr-text-alt summary{cursor:pointer;font-size:.8rem;color:var(--ink-3)}.rr-text-alt ul{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem}.bshow-room-cta{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:.45rem .9rem;font-size:.85rem;color:var(--ink);text-decoration:none;margin-top:.5rem}.bshow-room-cta svg{width:16px;height:16px}.bshow-room-cta:hover{background:var(--surface-3)}#scrim.rr-shelf-modal-wrap .modal{max-width:1100px;width:96vw}.rr-focus{padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.rr-focus-head{display:flex;align-items:center;justify-content:space-between}.rr-focus-back{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:none;cursor:pointer;color:var(--ink-2);font-size:.88rem;padding:.3rem .2rem}.rr-focus-back-ic{display:inline-flex;transform:rotate(180deg);width:16px;height:16px}.rr-focus-back:hover{color:var(--ink)}.rr-focus .closex{width:32px;height:32px;border-radius:50%;border:none;background:var(--surface-2);cursor:pointer;color:var(--ink-2)}.rr-focus .closex:hover{background:var(--surface-3);color:var(--ink)}.rr-focus-body{background:var(--rr-cabinet-inner);border-radius:var(--radius);padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;min-height:360px;justify-content:flex-end}.rr-focus-row{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap}.rr-focus-pager{display:flex;align-items:center;justify-content:center;gap:.8rem}.rr-focus-pager-dots{display:flex;gap:.4rem}.rr-focus-pager-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--border-2);cursor:pointer;padding:0}.rr-focus-pager-dot.active{background:var(--accent)}@media(max-width:900px){.rr-layer--cabinet{left:4%;top:14%;width:44%;height:78%}.rr-layer--desk{left:52%;top:64%;width:20%;height:24%}.rr-object{width:44px;height:44px}}@media(max-width:640px){.rr-stage{aspect-ratio:4/5}.rr-layer--cabinet{left:4%;top:10%;width:56%;height:82%}.rr-layer--desk{left:64%;top:58%;width:30%;height:26%}.rr-cabinet-shelves{inset:9% 5% 4%}.rr-object{width:38px;height:38px}#scrim.rr-shelf-modal-wrap .modal{width:100vw;height:100vh;max-width:none;border-radius:0}.rr-focus{height:100%}}.welcome-shell,.site-nav{--wc-bg: #15171c;--wc-surface: #1d2027;--wc-surface-2: #262a33;--wc-surface-3: #30353f;--wc-ink: #eceef3;--wc-ink-2: #a9aebb;--wc-ink-3: #8a90a0;--wc-border: rgba(236, 238, 243, .08);--wc-border-2: rgba(236, 238, 243, .16);--wc-accent: #93a9e3;--wc-navy: #2b3a67;--wc-cta: #f2a873;--wc-cta-hover: #f8c99c;--wc-cta-ink: #3a1d08;--wc-success: #7fc2a0}.welcome-shell{background:radial-gradient(1100px 620px at 78% -8%,rgba(43,58,103,.75),transparent 70%),radial-gradient(900px 520px at 0% 0%,rgba(43,58,103,.45),transparent 70%),var(--wc-bg);color:var(--wc-ink);min-height:100dvh;overflow-x:clip;position:relative}@media(prefers-reduced-motion:no-preference){html:has(.welcome-shell){scroll-behavior:smooth}}.welcome-shell [id]{scroll-margin-top:84px}.w-inner{max-width:1380px;margin:0 auto;padding-inline:1.75rem}.w-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.w-nav{position:sticky;top:0;z-index:20;background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease}.w-nav.is-scrolled{background:color-mix(in srgb,var(--wc-bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--wc-border)}.w-nav .w-inner{padding-block:.85rem;display:flex;align-items:center;gap:2rem}.w-brand{color:var(--wc-ink)}.w-brand .fo-brand-wordmark{font-size:1.5rem;color:var(--wc-ink)}.w-brand .fo-brand-tagline{font-size:.68rem;color:var(--wc-ink-3)}.w-nav-links{display:flex;gap:1.6rem;margin-right:auto}.w-nav-links a,.w-nav-link{font-size:.92rem;color:var(--wc-ink-2);transition:color .15s ease}.w-nav-links a:hover,.w-nav-link:hover{color:var(--wc-ink)}.w-nav-actions{display:flex;align-items:center;gap:1.2rem;margin-left:auto}.w-nav-links+.w-nav-actions{margin-left:0}.w-nav-cta{padding:.55rem 1.15rem;font-size:.9rem;background:var(--wc-cta);color:var(--wc-cta-ink);border:none}.w-nav-cta:hover{background:var(--wc-cta-hover)}.w-btn-primary{padding:.95rem 1.8rem;font-size:1.04rem;font-weight:600;background:var(--wc-cta);color:var(--wc-cta-ink);border:none;box-shadow:0 16px 32px -14px #f2a87399;transition:background .15s ease,transform .15s ease}.w-btn-primary:hover{background:var(--wc-cta-hover);transform:translateY(-1px)}.w-btn-ghost{display:inline-flex;align-items:center;gap:.35rem;padding:.9rem 1.2rem;font-size:1rem;font-weight:500;color:var(--wc-ink);border-radius:var(--radius);border:1px solid var(--wc-border-2);transition:border-color .15s ease,background .15s ease}.w-btn-ghost:hover{border-color:#eceef352;background:#eceef30a}.w-btn-ghost svg{width:.95rem;height:.95rem;transform:rotate(90deg)}@keyframes w-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.w-hero-in{opacity:0;animation:w-fade-up .7s ease forwards}.w-hero-in--1{animation-delay:.02s}.w-hero-in--2{animation-delay:.1s}.w-hero-in--3{animation-delay:.2s}.w-hero-in--4{animation-delay:.3s}.w-hero-in--5{animation-delay:.2s}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.w-hero{position:relative;max-width:1380px;margin:0 auto;padding:4.5rem 1.75rem 5rem;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:3.5rem}.w-hero>*:not(.w-glow){position:relative;z-index:1}.w-glow--hero{width:680px;height:520px;right:-6%;top:6%;background:radial-gradient(circle,rgba(147,169,227,.22),transparent 70%)}.w-hero-copy h1{font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.06;letter-spacing:-.02em;margin:0 0 1.3rem;text-wrap:balance;color:var(--wc-ink)}.w-hero-sub{color:var(--wc-ink-2);font-size:1.12rem;line-height:1.65;max-width:44ch;margin:0 0 2rem}.w-hero-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.w-hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.8rem 0 0;padding:0}.w-hero-trust li{display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:var(--wc-ink-2)}.w-hero-trust li svg{width:1rem;height:1rem;color:var(--wc-success);flex:0 0 auto}.w-hero-visual{min-width:0}.w-device{border-radius:14px;overflow:hidden;border:1px solid var(--wc-border-2);background:var(--wc-bg);box-shadow:0 40px 80px -30px #000000b3,0 0 0 1px #0006,0 0 120px -40px #93a9e373}.w-device-bar{position:relative;display:flex;align-items:center;gap:.4rem;padding:.6rem .8rem;background:var(--wc-surface-2);border-bottom:1px solid var(--wc-border)}.w-device-bar span{width:9px;height:9px;border-radius:50%;background:var(--wc-surface-3)}.w-device-bar em{position:absolute;left:50%;transform:translate(-50%);font-style:normal;font-size:.72rem;color:var(--wc-ink-3);background:#00000038;border-radius:6px;padding:.15rem 1.4rem}.w-device-stage{position:relative;aspect-ratio:960 / 600;background:var(--wc-bg)}.w-lottie{position:absolute;inset:0}.w-lottie svg{display:block;width:100%!important;height:100%!important}.w-steps{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.w-steps button{width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem .5rem;border-radius:var(--radius);border:1px solid var(--wc-border);background:#eceef308;color:var(--wc-ink-3);font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease}.w-steps button:hover{color:var(--wc-ink-2)}.w-step-icon{display:inline-flex}.w-step-icon svg{width:.95rem;height:.95rem}.w-step-num{display:none}.w-steps button.is-done{color:var(--wc-ink-2)}.w-steps button.is-done .w-step-icon{color:var(--wc-success)}.w-steps button.is-active{color:var(--wc-ink);border-color:#f2a8738c;background:#f2a8731a}.w-steps button.is-active .w-step-icon{color:var(--wc-cta)}.w-section{position:relative;padding-block:6rem}.w-section-head{max-width:660px;margin-bottom:3.2rem}.w-section-head h2{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 .9rem;text-wrap:balance;color:var(--wc-ink)}.w-section-head p{color:var(--wc-ink-2);font-size:1.07rem;line-height:1.65;margin:0}.w-kicker{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--wc-accent);margin-bottom:.7rem}.w-icon-badge{flex:0 0 auto;display:inline-flex;width:2.6rem;height:2.6rem;align-items:center;justify-content:center;border-radius:12px;background:#93a9e31f;color:var(--wc-accent)}.w-icon-badge svg{width:1.2rem;height:1.2rem}.w-icon-badge--cta{background:#f2a87321;color:var(--wc-cta)}.w-section-head--center{margin-inline:auto;text-align:center}.w-for{padding-top:5rem}.w-for-h{font-size:clamp(2.2rem,4.4vw,3.4rem);letter-spacing:-.02em;margin:0 0 2.4rem;color:var(--wc-ink)}.w-for-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.w-for-row{position:relative;display:flex;flex-direction:column;border-radius:20px;border:1px solid var(--wc-border-2);background:var(--wc-surface);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.w-for-row:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px #000000b3}.w-for-num{position:absolute;top:.9rem;left:1.1rem;z-index:1;font-size:.85rem;color:var(--wc-ink-3);font-variant-numeric:tabular-nums}.w-for-text{padding:1.3rem 1.4rem 1.6rem}.w-for-text h3{font-size:1.3rem;line-height:1.22;letter-spacing:-.005em;margin:0 0 .5rem;color:var(--wc-ink);text-wrap:balance}.w-for-text p{color:var(--wc-ink-2);margin:0;font-size:.93rem;line-height:1.55}.w-for-art{order:-1;position:relative;height:180px;display:flex;align-items:center;justify-content:center;padding:0 1rem;border-bottom:1px solid var(--wc-border);background:#22262e}.art-pill{display:inline-flex;align-items:center;gap:.35rem;font-style:normal;font-size:.76rem;font-weight:600;color:var(--wc-ink);background:var(--wc-surface-2);border:1px solid var(--wc-border-2);border-radius:var(--radius-pill);padding:.3rem .75rem;white-space:nowrap}.art-pill svg{width:.85rem;height:.85rem}.art-pill--cta{color:var(--wc-cta-ink);background:var(--wc-cta);border-color:var(--wc-cta)}.art-stack{position:relative;width:230px;height:124px}.art-cover{position:absolute;top:6px;left:calc(22px + var(--i) * 50px);width:70px;height:105px;-o-object-fit:cover;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:0 14px 22px -10px #000000bf;transform:rotate(calc((var(--i) - 1) * 9deg));transition:transform .35s ease}.w-for-row:hover .art-cover{transform:rotate(calc((var(--i) - 1) * 14deg)) translateY(-6px)}.art-stack .art-pill{position:absolute;right:0;bottom:0}.art-notes{position:relative;width:212px;height:110px}.art-note{position:absolute;left:calc(var(--i) * 62px);top:calc(10px + var(--i) * 9px);width:88px;height:78px;padding:.55rem .65rem;font-family:Caveat,cursive;font-weight:600;font-size:1.3rem;line-height:1.05;color:#1b1d24;transform:rotate(var(--r));box-shadow:0 12px 20px -10px #000000b3;transition:transform .35s ease}.w-for-row:hover .art-note{transform:rotate(0) translateY(calc(var(--i) * -4px))}.art-streak{display:flex;flex-direction:column;align-items:center;gap:.9rem}.art-days{display:flex;gap:.5rem}.art-days span{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.72rem;color:var(--wc-ink-3)}.art-days i{width:24px;height:24px;border-radius:50%;border:1.5px dashed var(--wc-border-2)}.art-days .is-on i{border:none;background:var(--wc-cta);box-shadow:0 0 12px -2px #f2a873b3}.art-quote{margin:0;font-size:1.3rem;font-style:italic;line-height:1.4;color:var(--wc-ink);text-align:center}.art-quote mark{color:inherit;background:linear-gradient(transparent 58%,rgba(242,168,115,.5) 58%,rgba(242,168,115,.5) 92%,transparent 92%) no-repeat;background-size:0% 100%;transition:background-size 1.1s ease .35s;-webkit-box-decoration-break:clone;box-decoration-break:clone}.reveal.is-visible .art-quote mark{background-size:100% 100%}.w-catalog{position:relative;background:#2b3a67;overflow:hidden}.w-catalog-inner{padding-block:4.5rem}.w-catalog-copy{max-width:470px}.w-catalog .w-catalog-marquee{position:absolute;top:50%;right:0;left:calc(max(1.75rem,50% - 690px + 1.75rem) + 470px + 3.5rem);transform:translateY(-50%)}.w-catalog-num{margin:0 0 .15rem;font-size:clamp(2.8rem,4.6vw,4rem);white-space:nowrap;font-weight:700;line-height:.95;letter-spacing:-.03em;color:#fff}.w-catalog-label{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#fff}.w-catalog-p{margin:0 0 1.3rem;max-width:46ch;line-height:1.65;color:#ffffffc7}.w-catalog-sources{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.w-catalog-sources li{font-size:.78rem;color:#fff;padding:.3rem .7rem;border-radius:6px;background:#ffffff1f}.w-catalog-cta{margin-top:1.8rem;box-shadow:0 16px 32px -14px #080e22b3}.w-catalog-marquee{min-width:0;display:flex;flex-direction:column;gap:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%);mask-image:linear-gradient(90deg,transparent,#000 10%)}@keyframes w-marquee{to{transform:translate(-50%)}}.marquee-row{overflow:hidden}.marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:w-marquee 45s linear infinite}.marquee-row--rev .marquee-track{animation-direction:reverse;animation-duration:55s}.w-catalog-marquee:hover .marquee-track{animation-play-state:paused}.mq-cover{flex:0 0 auto;display:block;width:96px;height:144px;margin-right:12px;-o-object-fit:cover;object-fit:cover;border-radius:2px 6px 6px 2px;background:#ffffff1a;box-shadow:0 14px 24px -12px #080e22bf}.w-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem;align-items:center}.w-how .w-section-head{margin-bottom:2rem}.w-how-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.w-how-list button{position:relative;overflow:hidden;width:100%;display:grid;grid-template-columns:2.4rem 1fr;gap:.9rem;align-items:start;text-align:left;padding:1rem 1.1rem;border-radius:14px;border:1px solid transparent;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .25s ease,border-color .25s ease}.w-how-list button:hover{background:#eceef308}.w-how-list button.is-active{background:var(--wc-surface);border-color:var(--wc-border-2)}.w-how-num{font-size:1.7rem;line-height:1;color:var(--wc-ink-3);transition:color .25s ease}.w-how-list .is-active .w-how-num{color:var(--wc-cta)}.w-how-copy strong{display:block;font-size:1.06rem;font-weight:600;color:var(--wc-ink-2);margin-bottom:.2rem;transition:color .25s ease}.w-how-list .is-active .w-how-copy strong{color:var(--wc-ink)}.w-how-copy>span{display:block;font-size:.92rem;line-height:1.5;color:var(--wc-ink-3)}@keyframes w-how-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.w-how-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--wc-cta);transform-origin:left;animation:w-how-fill 4.5s linear forwards}.w-how-stage{position:relative;aspect-ratio:640 / 400;background:var(--wc-bg)}.w-how-lottie{position:absolute;inset:0;opacity:0;transform:scale(.98);transition:opacity .4s ease,transform .5s ease}.w-how-lottie.is-active{opacity:1;transform:none}.w-how-lottie svg{display:block;width:100%!important;height:100%!important}.w-how-progress.is-paused{animation-play-state:paused}.w-features{background:radial-gradient(900px 500px at 50% 0%,rgba(147,169,227,.1),transparent 70%)}.w-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.w-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1.5rem;padding:1.7rem;border-radius:22px;border:1px solid var(--wc-border-2);background:var(--wc-surface);box-shadow:0 24px 40px -30px #000c}.tile-copy .w-kicker{margin-bottom:.45rem}.tile-copy h3{font-size:1.45rem;line-height:1.2;margin:0 0 .45rem;color:var(--wc-ink)}.tile-copy p{margin:0;font-size:.95rem;line-height:1.55;color:var(--wc-ink-2)}.w-tile--library{grid-column:span 4;background:linear-gradient(180deg,#232838,var(--wc-surface) 75%)}.w-tile--journal{grid-column:span 2;grid-row:span 2;background:#efe9dd;border-color:transparent}.w-tile--stats{grid-column:span 2}.w-tile--goal{grid-column:span 2;flex-direction:row;align-items:center}.w-tile--more{grid-column:span 6;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.1rem 2rem;background:radial-gradient(circle at 100% 0%,rgba(147,169,227,.16),transparent 60%),var(--wc-surface)}.shelf-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.shelf-tabs button{font:inherit;font-size:.8rem;padding:.4rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--wc-border-2);background:transparent;color:var(--wc-ink-2);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.shelf-tabs button:hover{color:var(--wc-ink);border-color:#eceef34d}.shelf-tabs b{margin-left:.25rem;color:var(--wc-ink)}.shelf-tabs .is-on{background:var(--wc-accent);border-color:var(--wc-accent);color:#12141a}.shelf-tabs .is-on b{color:#12141a}.shelf-stage{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1.4rem;align-items:end;margin-top:1.2rem}.shelf{display:flex;align-items:flex-end;gap:3px;min-width:0;height:132px;padding:0 .6rem;border-bottom:7px solid #5a4632;box-shadow:0 14px 18px -12px #000c}@keyframes w-spine-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.spine{position:relative;flex:0 0 auto;padding:0;border:0;border-radius:3px 3px 1px 1px;box-shadow:inset -3px 0 #00000038,inset 2px 0 #ffffff1a;transform-origin:bottom;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s ease}.w-tile--library:not(.is-visible) .spine{transform:scaleY(0)}.w-tile--library.is-visible .spine{animation:w-spine-in .55s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i) * 45ms)}.spine:hover,.spine.is-active{transform:translateY(-14px)}.spine.is-active{filter:brightness(1.18)}.spine:focus-visible{outline:2px solid var(--wc-accent);outline-offset:2px}.spine em{position:absolute;inset:6px 0;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);overflow:hidden;white-space:nowrap;font-style:normal;font-family:var(--font-serif);font-weight:600;font-size:.62rem;letter-spacing:.04em;color:#ffffffe6}.shelf-bookend{flex:0 0 auto;width:10px;height:64px;margin-left:6px;border-radius:2px 2px 0 0;background:#5a4632}.shelf-card{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem;border-radius:14px;background:#eceef30d;border:1px solid var(--wc-border)}.shelf-card img{flex:0 0 auto;width:74px;height:111px;-o-object-fit:cover;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:0 12px 20px -10px #000c}.shelf-card strong{display:block;font-size:1.04rem;line-height:1.2;color:var(--wc-ink);margin-bottom:.25rem}.shelf-card span{display:block;font-size:.8rem;color:var(--wc-ink-3)}.shelf-stars{margin-top:.55rem;letter-spacing:.08em}.shelf-stars i{font-style:normal;font-size:.95rem;color:var(--wc-surface-3)}.shelf-stars i.on{color:#f5b400}.shelf-progress{position:relative;margin-top:.8rem;height:6px;border-radius:3px;background:var(--wc-surface-3)}.shelf-progress i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--wc-cta)}.shelf-progress em{position:absolute;top:11px;left:0;font-style:normal;font-size:.75rem;color:var(--wc-ink-2);white-space:nowrap}.shelf-want{margin-top:.6rem;color:var(--wc-accent)!important;font-weight:600}.shelf-card-enter-active,.shelf-card-leave-active{transition:opacity .16s ease,transform .16s ease}.shelf-card-enter-from{opacity:0;transform:translateY(6px)}.shelf-card-leave-to{opacity:0}.w-tile--journal .w-kicker{color:#8f5f34}.w-tile--journal h3{color:#1b1d24}.w-tile--journal p{color:#4e5260}.journal-extras{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.4rem}.journal-extras>div{padding:1rem;border-radius:14px;background:#ffffff8c;border:1px solid rgba(27,29,36,.08)}.jx-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8f5f34;margin-bottom:.5rem}.jx-streak-row{display:flex;align-items:baseline;gap:.35rem}.jx-streak-row strong{font-size:2.2rem;line-height:1;color:#1b1d24}.jx-streak-row span{font-size:.8rem;color:#4e5260}.jx-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:200px;margin-top:.7rem}.jx-week i{aspect-ratio:1;border-radius:4px;background:#1b1d2414}.jx-week i.on{background:#f2a873}.jx-badges ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.jx-badges li{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.jx-badge-ic{display:inline-flex;width:2.3rem;height:2.3rem;align-items:center;justify-content:center;border-radius:50%;font-size:1.1rem;background:#fff;box-shadow:0 0 0 2px #f2a873,0 6px 12px -6px #1b1d2459}.jx-badges em{font-style:normal;font-size:.66rem;line-height:1.2;color:#4e5260}.jx-badges li.locked .jx-badge-ic{filter:grayscale(1);opacity:.45;box-shadow:0 0 0 1.5px #1b1d2433}.jx-badges li.locked em{opacity:.6}.journal-page{position:relative;margin-top:auto;padding:2rem 1.3rem 1.2rem;border-radius:6px;background:#fffdf8 repeating-linear-gradient(transparent 0 31px,#2b3a6721 31px 32px);background-position:0 14px;box-shadow:0 22px 34px -20px #1b1d2473;transform:rotate(-1.6deg);transition:transform .35s ease}.w-tile--journal:hover .journal-page{transform:rotate(0)}.journal-tape{position:absolute;top:-11px;left:50%;width:92px;height:24px;margin-left:-46px;background:#f2a87399;transform:rotate(3deg)}.journal-date{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#8f5f34}.journal-note{margin:.35rem 0 .4rem!important;font-family:Caveat,cursive;font-weight:600;font-size:1.7rem!important;line-height:32px!important;color:#2b3a67!important}.journal-stars{color:#f5b400;letter-spacing:.15em}.stats-art{display:flex;align-items:flex-end;gap:1.2rem}.stats-num strong{display:block;font-size:3.2rem;line-height:1;color:var(--wc-ink)}.stats-num span{font-size:.8rem;color:var(--wc-ink-3)}.stats-bars{flex:1;display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:104px}.stats-bars span{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.stats-bars i{width:100%;height:calc(var(--h) * 80px + 3px);border-radius:4px 4px 2px 2px;background:#93a9e3bf;transform:scaleY(0);transform-origin:bottom;transition:transform .6s cubic-bezier(.2,.8,.2,1) calc(var(--i) * 45ms)}.stats-bars span:nth-child(10) i{background:var(--wc-cta)}.reveal.is-visible .stats-bars i{transform:none}.stats-bars em{font-style:normal;font-size:.6rem;color:var(--wc-ink-3)}.goal-art{position:relative;flex:0 0 auto;width:124px;height:124px}.goal-art svg{width:100%;height:100%;transform:rotate(-90deg)}.goal-track{fill:none;stroke:var(--wc-surface-3);stroke-width:9}.goal-fill{fill:none;stroke:var(--wc-cta);stroke-width:9;stroke-linecap:round;stroke-dashoffset:264px;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.8,.2,1) .2s}.reveal.is-visible .goal-fill{stroke-dashoffset:var(--off)}.goal-label{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:center;padding-top:2.6rem;gap:.15rem;font-size:.95rem;color:var(--wc-ink-3)}.goal-label strong{font-size:2.1rem;line-height:1;color:var(--wc-ink)}.w-tile--more h3{font-size:1.45rem;margin:0;color:var(--wc-ink)}.w-tile--more ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.w-tile--more li{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--wc-border);background:#eceef30d;font-size:.9rem;color:var(--wc-ink)}.w-tile--more li svg{width:1rem;height:1rem;color:var(--wc-accent)}.w-gifts{background:#efe6d6;color:#1b1d24}.w-gifts .w-kicker{color:#8f5f34}.w-gifts-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:end;margin-bottom:2.6rem}.w-gifts-head h2{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;letter-spacing:-.015em;margin:0;color:#1b1d24}.w-gifts-head p{margin:0;font-size:1.05rem;line-height:1.65;color:#4e5260}.w-gift-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem}.w-gift{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fffdf8;color:inherit;box-shadow:0 1px 2px #1b1d240d;transition:transform .25s ease,box-shadow .25s ease}.w-gift:hover{transform:translateY(-4px);box-shadow:0 26px 44px -26px #1b1d2473}.w-gift--journal{grid-row:span 2}.w-gift--bookmark{grid-column:2 / span 2;flex-direction:row}.w-gift-photo{position:relative;flex:1 1 auto;min-height:200px;overflow:hidden;background:#e7ddcc}.w-gift-photo img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.w-gift:hover .w-gift-photo img{transform:scale(1.04)}.w-gift--bookmark .w-gift-photo{flex:0 0 34%;min-height:220px;background:#262a33}.w-gift--bookmark .w-gift-photo img{-o-object-fit:contain;object-fit:contain;padding:.8rem 0}.w-gift-body{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.2rem 1.4rem 1.3rem}.w-gift--bookmark .w-gift-body{flex:1;align-items:center}.w-gift-body h3{font-size:1.25rem;margin:0 0 .3rem;color:#1b1d24}.w-gift-body p{margin:0;font-size:.9rem;line-height:1.5;color:#4e5260}.w-gift-price{flex:0 0 auto;font-weight:600;font-size:.92rem;color:#3a1d08;background:#f2a873;border-radius:var(--radius-pill);padding:.35rem .8rem;white-space:nowrap}.w-gift--journal .w-gift-photo{min-height:420px}.w-paper{--paper-ink: #1b1d24;--paper-ink-2: #4e5260;--paper-ink-3: #6a6e7a;--paper-line: rgba(27, 29, 36, .12);background:#f3eee4;color:var(--paper-ink)}.w-paper .w-kicker{color:#8f5f34}.w-paper .w-section-head h2{color:var(--paper-ink)}.w-paper .w-section-head p{color:var(--paper-ink-2)}.w-paper .w-for-h{color:var(--paper-ink)}.w-paper .w-for-row{background:#fffdf8;border-color:var(--paper-line);box-shadow:0 1px 2px #1b1d240a}.w-paper .w-for-row:hover{box-shadow:0 24px 40px -26px #1b1d2473}.w-paper .w-for-art{background:#ebe4d6;border-bottom-color:var(--paper-line)}.w-paper .w-for-num{color:var(--paper-ink-3)}.w-paper .w-for-text h3{color:var(--paper-ink)}.w-paper .w-for-text p{color:var(--paper-ink-2)}.w-paper .art-quote{color:var(--paper-ink)}.w-paper .art-days span{color:var(--paper-ink-3)}.w-paper .art-days i{border-color:#1b1d2447}.w-paper .art-cover,.w-paper .art-note{box-shadow:0 14px 22px -12px #1b1d248c}.w-faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}.w-faq-side{position:sticky;top:100px}.w-faq-side h2{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 2rem;color:var(--paper-ink)}.w-faq-contact{position:relative;padding:1.6rem;border-radius:20px;background:#2b3a67;color:#fff;overflow:hidden}.w-faq-contact-covers{position:absolute;right:6px;top:6px;width:150px;height:120px}.w-faq-contact-covers img{position:absolute;width:58px;height:87px;-o-object-fit:cover;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:0 10px 18px -8px #0009}.w-faq-contact-covers img:nth-child(1){right:70px;top:18px;transform:rotate(-12deg)}.w-faq-contact-covers img:nth-child(2){right:34px;top:4px;transform:rotate(-2deg)}.w-faq-contact-covers img:nth-child(3){right:0;top:20px;transform:rotate(10deg)}.w-faq-contact strong{display:block;font-size:1.3rem;margin:0 0 .35rem;padding-right:7rem}.w-faq-contact p{margin:0 0 1.2rem;color:#ffffffc7;padding-right:6rem}.w-faq-contact-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.1rem;border-radius:10px;background:#f2a873;color:#3a1d08;font-weight:600;font-size:.92rem;transition:transform .15s ease}.w-faq-contact-btn:hover{transform:translate(2px)}.w-faq-contact-btn svg{width:.95rem;height:.95rem}.w-faq{display:flex;flex-direction:column;gap:.7rem}.w-faq details{position:relative;border-radius:16px;background:#fffdf8;border:1px solid var(--paper-line);box-shadow:0 1px 2px #1b1d240a,0 10px 24px -20px #1b1d2466;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;overflow:hidden}.w-faq details:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#f2a873;transform:scaleY(0);transform-origin:top;transition:transform .3s ease}.w-faq details:hover{transform:translateY(-2px);border-color:#1b1d2438}.w-faq details[open]{box-shadow:0 22px 40px -24px #1b1d2473;border-color:#f2a87399}.w-faq details[open]:before{transform:scaleY(1)}.w-faq summary{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.4rem;cursor:pointer;list-style:none}.w-faq summary::-webkit-details-marker{display:none}.w-faq-num{flex:0 0 auto;font-size:1rem;color:#8f5f34;font-variant-numeric:tabular-nums}.w-faq-q{flex:1;font-size:1.08rem;font-weight:600;color:var(--paper-ink)}.w-faq-toggle{flex:0 0 auto;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:50%;background:#ece5d7;color:var(--paper-ink-2);transition:transform .25s ease,background .25s ease,color .25s ease}.w-faq-toggle svg{width:1rem;height:1rem}.w-faq details[open] .w-faq-toggle{transform:rotate(45deg);background:#2b3a67;color:#fff}.w-faq details p{margin:0;padding:0 3.8rem 1.4rem 3.6rem;color:var(--paper-ink-2);line-height:1.7}.w-final{position:relative;overflow:hidden;padding:6.5rem 1.75rem;text-align:center;background:radial-gradient(800px 400px at 50% 0%,rgba(255,255,255,.35),transparent 70%),linear-gradient(135deg,#f6c08e,#f2a873 45%,#e48a5a);color:#3a1d08}.w-final-body{position:relative;z-index:1;max-width:640px;margin:0 auto}.w-final h2{font-size:clamp(2.2rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 .9rem;color:#2a1406;text-wrap:balance}.w-final p{color:#5a3218;font-size:1.1rem;margin:0 auto 2rem;max-width:46ch}.w-final-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.w-final-btn{padding:.95rem 2rem;font-size:1.05rem;font-weight:600;background:#1b1d24;color:#fff;border:none;box-shadow:0 18px 30px -16px #2a140699;transition:transform .15s ease,background .15s ease}.w-final-btn:hover{background:#2b3a67;transform:translateY(-1px)}.w-final-login{font-size:.92rem;color:#5a3218}.w-final-login a{color:#2a1406;font-weight:700;text-decoration:underline;text-underline-offset:3px}.w-final-covers{position:absolute;top:50%;width:360px;height:360px;transform:translateY(-50%);pointer-events:none}.w-final-covers img{position:absolute;width:118px;height:177px;-o-object-fit:cover;object-fit:cover;border-radius:3px 7px 7px 3px;box-shadow:0 24px 40px -18px #2a1406a6}.w-final-covers--left{left:0}.w-final-covers--right{right:0}.w-footer{position:relative;padding-block:4.5rem 2rem;font-size:.92rem;background:#101216;border-top:1px solid var(--wc-border)}.w-footer-top{display:grid;grid-template-columns:1.6fr .8fr .8fr 1.2fr;gap:3rem;padding-bottom:3.5rem}.w-footer-brand .w-brand{margin-bottom:1rem}.w-footer-brand p{color:var(--wc-ink-2);margin:0 0 1.6rem;max-width:36ch;line-height:1.6}.w-footer-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,max-content);gap:.7rem 1.6rem}.w-footer-trust li{display:flex;align-items:center;gap:.5rem;font-size:.84rem;color:var(--wc-ink)}.w-footer-trust li span{display:inline-flex;width:1.7rem;height:1.7rem;align-items:center;justify-content:center;border-radius:8px;background:#7fc2a01f;color:var(--wc-success)}.w-footer-trust svg{width:.9rem;height:.9rem}.w-footer-col{display:flex;flex-direction:column;gap:.75rem}.w-footer-colh{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--wc-ink-3);margin-bottom:.3rem}.w-footer-col a{color:var(--wc-ink-2);transition:color .15s ease}.w-footer-col a:hover{color:var(--wc-ink)}.w-footer-contact{display:flex;flex-direction:column;align-items:flex-start}.w-footer-contact p{margin:.3rem 0 1rem;color:var(--wc-ink-2);line-height:1.55}.w-footer-mail{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border-radius:12px;background:var(--wc-surface-2);border:1px solid var(--wc-border-2);color:var(--wc-ink);font-weight:600;transition:border-color .15s ease,background .15s ease}.w-footer-mail:hover{border-color:var(--wc-cta);background:#f2a87314}.w-footer-mail svg{width:1rem;height:1rem;color:var(--wc-cta)}.w-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem 1.5rem;padding-top:1.6rem;border-top:1px solid var(--wc-border);color:var(--wc-ink-3);font-size:.8rem}.w-footer-family{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--wc-accent)}.w-footer-family svg{width:.85rem;height:.85rem}@media(prefers-reduced-motion:reduce){.reveal,.w-steps button,.stats-bars i,.goal-fill,.art-quote mark,.w-how-lottie{transition:none}.w-hero-in{animation:none;opacity:1}.w-how-progress{display:none}.w-tile--library.is-visible .spine,.marquee-track{animation:none}}@media(max-width:1080px){.w-for-list,.w-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.w-tile--library,.w-tile--more{grid-column:span 2}.w-tile--journal,.w-tile--stats,.w-tile--goal{grid-column:span 1;grid-row:auto}.w-tile--goal,.w-tile--more{flex-direction:column;align-items:flex-start}.w-final-covers{opacity:.35}}@media(max-width:960px){.w-nav-links{display:none}.w-hero{grid-template-columns:1fr;padding-block:3rem 3.5rem;gap:2.6rem}.w-hero-copy{text-align:left}.w-how{grid-template-columns:1fr;gap:2.4rem}.w-catalog-inner{padding-block:3rem 2rem}.w-catalog .w-catalog-marquee{position:relative;top:auto;left:auto;transform:none;padding:0 0 3rem 1.75rem}.w-faq-wrap{grid-template-columns:1fr;gap:2rem}.w-gifts-head{grid-template-columns:1fr}.w-gift-grid{grid-template-columns:1fr 1fr}.w-gift--journal{grid-row:auto;grid-column:span 2}.w-gift--journal .w-gift-photo{min-height:320px}.w-gift--bookmark{grid-column:span 2}.w-faq-side{position:static}.w-section{padding-block:4.5rem}.w-footer-top{grid-template-columns:1fr 1fr;gap:2.4rem}.w-footer-contact,.w-footer-brand{grid-column:1 / -1}}@media(max-width:640px){.w-inner,.w-hero{padding-inline:1rem}.w-nav .w-inner{gap:1rem}.w-nav-actions{gap:.9rem}.w-nav-cta{padding:.5rem .9rem;font-size:.85rem}.w-hero-actions{flex-direction:column;align-items:stretch}.w-hero-actions>*{justify-content:center;text-align:center}.w-steps{gap:.35rem}.w-steps button{flex-direction:column;gap:.2rem;font-size:.78rem;padding:.5rem .25rem}.w-device-bar em{display:none}.w-bento{grid-template-columns:1fr}.w-tile--library,.w-tile--more{grid-column:span 1}.w-for-list{grid-template-columns:1fr}.w-tile{padding:1.3rem}.w-gift-grid{grid-template-columns:1fr}.w-gift--journal,.w-gift--bookmark{grid-column:auto}.w-gift-body{flex-direction:column;align-items:flex-start}.shelf-stage{grid-template-columns:1fr}.w-final{padding:4.5rem 1rem}.w-final-covers{display:none}.w-catalog .w-catalog-marquee{padding-left:1rem}.w-footer-trust{grid-template-columns:1fr}.w-faq details p{padding:0 1.3rem 1.3rem}.w-faq-contact strong,.w-faq-contact p{padding-right:0}.w-faq-contact-covers{display:none}.journal-extras{grid-template-columns:1fr}.w-footer-top{grid-template-columns:1fr;gap:1.8rem}.w-footer-bottom{flex-direction:column;align-items:flex-start}}.legal-shell{background:var(--bg);color:var(--ink);min-height:100dvh}.legal-shell [id]{scroll-margin-top:5.5rem}.legal-hero{background:var(--surface);border-bottom:1px solid var(--border);color:var(--ink)}.legal-hero-inner{max-width:1380px;margin:0 auto;padding:2.4rem 1.75rem 3.2rem}.legal-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2.4rem}.legal-tabs a{padding:.45rem .95rem;border-radius:999px;font-size:.85rem;font-weight:500;color:var(--ink-2);border:1px solid var(--border-2);transition:background .15s ease,color .15s ease}.legal-tabs a:hover{color:var(--ink);background:var(--surface-2)}.legal-tabs a.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.legal-hero-title{display:flex;align-items:center;gap:1rem}.legal-icon{flex:0 0 auto;display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,var(--cta) 14%,transparent);color:var(--cta)}.legal-icon svg{width:1.4rem;height:1.4rem}.legal-hero h1{font-size:clamp(2.2rem,4.4vw,3.2rem);line-height:1.05;letter-spacing:-.02em;margin:0;color:var(--ink)}.legal-updated{margin:1rem 0 0;font-size:.85rem;color:var(--ink-3)}.legal-intro p{margin:1.2rem 0 0;max-width:64ch;font-size:1.08rem;line-height:1.65;color:var(--ink-2)}.legal-main{max-width:1380px;margin:0 auto;padding:3.5rem 1.75rem 5rem;display:grid;grid-template-columns:260px minmax(0,1fr);gap:4rem;align-items:start}.legal-toc{position:sticky;top:5.5rem;display:flex;flex-direction:column;gap:.15rem;padding:1.1rem;border-radius:16px;background:var(--surface);border:1px solid var(--border);font-size:.88rem}.legal-toc-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600;margin:0 0 .5rem .5rem}.legal-toc a{display:flex;align-items:baseline;gap:.6rem;padding:.45rem .5rem;border-radius:8px;color:var(--ink-2);line-height:1.35;transition:background .15s ease,color .15s ease}.legal-toc a:hover{color:var(--ink);background:var(--surface-2)}.legal-toc a.is-active{color:var(--ink);background:var(--surface-2);font-weight:600}.legal-toc-num{flex:0 0 1.2rem;font-size:.78rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.legal-toc a.is-active .legal-toc-num{color:var(--cta)}.legal-content{min-width:0;max-width:72ch}.legal-content section{padding:0 0 2.2rem;margin-bottom:2.2rem;border-bottom:1px solid var(--border)}.legal-content section:last-child{border-bottom:0;margin-bottom:0}.legal-content h2{font-family:var(--font-serif);font-size:1.45rem;line-height:1.25;display:flex;align-items:center;gap:.8rem;margin:0 0 1rem}.legal-num{flex:0 0 auto;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--cta) 16%,transparent);color:var(--cta);font-family:var(--font-sans);font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.legal-content h3{font-size:1.02rem;margin:1.4rem 0 .5rem}.legal-content p{color:var(--ink-2);font-size:1.02rem;line-height:1.75;margin:0 0 1rem}.legal-content p:last-child{margin-bottom:0}.legal-content ul{margin:0 0 1rem;padding-left:1.3rem;color:var(--ink-2);line-height:1.75}.legal-content li{margin-bottom:.4rem}.legal-content li::marker{color:var(--cta)}.legal-content strong{color:var(--ink)}.legal-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.legal-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--cta);border-radius:14px;padding:1.2rem 1.4rem;margin-bottom:1rem}.legal-card p{margin:0 0 .25rem;font-size:.98rem}.legal-card p:last-child{margin:0}.legal-table-wrap{overflow-x:auto;margin-bottom:1rem;border:1px solid var(--border);border-radius:14px}.legal-table{width:100%;border-collapse:collapse;font-size:.9rem}.legal-table th{text-align:left;color:var(--ink-3);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border-2);white-space:nowrap}.legal-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border);color:var(--ink-2);vertical-align:top}.legal-table tr:last-child td{border-bottom:0}.legal-table td:first-child{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;white-space:nowrap}.legal-footer{border-top:1px solid var(--border)}.legal-footer-inner{max-width:1380px;margin:0 auto;padding:1.6rem 1.75rem 2.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem 1.5rem;color:var(--ink-3);font-size:.84rem}.legal-footer nav{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem}.legal-footer a{color:var(--ink-3);transition:color .15s ease}.legal-footer a:hover{color:var(--ink)}@media(max-width:860px){.legal-main{grid-template-columns:1fr;gap:2rem;padding-top:2rem}.legal-toc{position:static}}@media(max-width:560px){.legal-hero-inner,.legal-main,.legal-footer-inner{padding-inline:1rem}.legal-hero-title{align-items:flex-start;flex-direction:column;gap:.8rem}}.stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0 0 2.4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.2rem 0;position:relative}@media(min-width:760px){.stat-strip{grid-template-columns:repeat(4,1fr)}}@media(min-width:1100px){.stat-strip{grid-template-columns:repeat(8,1fr)}}@media(min-width:1100px){.stat-strip.stat-strip--two-rows{grid-template-columns:repeat(var(--stat-cols, 4),1fr);row-gap:.6rem}}.stat-cell{position:relative;padding:1rem 1.1rem;display:flex;flex-direction:column;justify-content:flex-start;gap:.2rem;min-height:96px}.stat-cell:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--border)}@media(min-width:1100px){.stat-cell:nth-child(8n+1):before{display:none}}@media(min-width:760px)and (max-width:1099px){.stat-cell:nth-child(4n+1):before{display:none}}@media(max-width:759px){.stat-cell:nth-child(odd):before{display:none}.stat-cell{padding:.85rem .9rem;min-height:84px}}.stat-cell .lbl{font-size:.62rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.05rem}.stat-cell .v{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.02em;font-variation-settings:"opsz" 72;color:var(--ink)}.stat-cell .v-sub{font-size:.7rem;color:var(--ink-2);margin-top:.2rem;font-style:italic;font-family:var(--font-serif),Georgia,serif;letter-spacing:.005em}.stat-cell.is-accent .v{color:var(--accent)}.stat-cell .delta{display:inline-flex;align-items:center;gap:.18rem;font-size:.66rem;font-weight:600;color:var(--success);margin-left:.4rem;vertical-align:middle}.stat-cell .delta.down{color:var(--danger)}.stat-cell .star-row{margin-top:.3rem;letter-spacing:1px;color:var(--warning);font-size:.78rem}.lib-hero{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:.4rem 0 2rem;margin:0 0 2rem;border-bottom:1px solid var(--border);position:relative}@media(min-width:768px){.lib-hero{grid-template-columns:1fr auto;align-items:end;gap:2rem}}.lib-hero-left{min-width:0}.lib-hero-eyebrow{font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;opacity:.85}.lib-hero-eyebrow:before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}.lib-hero-title{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.04;letter-spacing:-.025em;font-variation-settings:"opsz" 144;margin:0 0 .8rem;color:var(--ink)}.lib-hero-title .num{color:var(--accent);font-style:italic;font-variation-settings:"opsz" 144}.lib-hero-standfirst{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--ink-2);margin:0 0 1.4rem;line-height:1.5;max-width:60ch;white-space:pre-line}.stats-undated{margin:-.8rem 0 1.4rem;max-width:60ch;font-size:.88rem;line-height:1.5;color:var(--ink-3)}.lib-hero-standfirst em{color:var(--ink);font-family:var(--font-serif),Georgia,serif}.lib-hero-add{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--ink);color:var(--surface);border-radius:6px;font-family:Inter,sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;border:0;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}.lib-hero-add:hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 14px 24px -10px color-mix(in srgb,var(--accent) 60%,transparent)}.lib-hero-add svg{width:15px;height:15px}.lib-chips{display:flex;gap:.45rem;flex-wrap:wrap}.lib-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:99px;background:transparent;border:1px solid var(--border);font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .15s;white-space:nowrap}.lib-chip:hover{border-color:var(--border-2);color:var(--ink)}.lib-chip.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.lib-chip .ct{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.78rem;letter-spacing:-.01em;opacity:.55}.lib-chip.on .ct{opacity:1}.lib-chip .dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}.lib-chip[data-st=reading] .dot{background:var(--success);opacity:1}.lib-chip[data-st=read] .dot{background:var(--accent);opacity:1}.lib-chip[data-st=tbr] .dot{background:var(--ink-2);opacity:.6}.lib-chip[data-st=rereading] .dot{background:var(--accent-2);opacity:1}.lib-chip[data-st=paused] .dot{background:var(--warning);opacity:1}.lib-chip[data-st=dnf] .dot{background:var(--danger);opacity:1}.lib-chip[data-st=all] .dot{display:none}.shelf-wrap{padding:0;margin-top:0}.shelf-controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 1.5rem}.shelf-groupby{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.95rem;color:var(--ink-2);margin-right:auto}.shelf-groupby strong{font-family:Inter,sans-serif;font-style:normal;font-weight:500;font-size:.82rem;color:var(--ink-3);letter-spacing:.18em;text-transform:uppercase;margin-right:.6rem}.shelf-group-pills{display:flex;gap:.4rem;background:var(--surface-2);border-radius:6px;padding:3px}.shelf-group-pills button{padding:.45rem .95rem;border-radius:6px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:color .2s,background .2s}.shelf-group-pills button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.shelf-board{position:relative;padding:1.4rem 1.4rem 0;margin-bottom:2rem}.shelf-h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1rem;padding:0 .2rem}.shelf-h h3{margin:0;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.15rem;color:var(--ink);letter-spacing:-.01em}.shelf-h .ct{font-family:var(--font-serif),Georgia,serif;font-style:italic;color:var(--ink-2);font-size:.9rem}.shelf-h .ct strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink);margin-right:.15rem}.shelf-row{position:relative;display:flex;gap:3px;align-items:flex-end;min-height:172px;padding:.8rem 1.2rem 0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.02) 0 1px,transparent 1px 7px),linear-gradient(180deg,color-mix(in srgb,var(--ink) 5%,var(--surface-2)),color-mix(in srgb,var(--ink) 10%,var(--surface-2)) 92%,color-mix(in srgb,var(--ink) 14%,var(--surface-2)));border-radius:8px 8px 4px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;box-shadow:inset 0 4px 8px -4px #00000026,inset 0 -2px color-mix(in srgb,var(--ink) 18%,transparent)}.shelf-row::-webkit-scrollbar{height:6px}.shelf-row::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 25%,transparent);border-radius:99px}.shelf-row--covers{gap:14px;padding-bottom:.8rem}.shelf-ledge{position:relative;height:14px;margin:0 -.3rem;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 35%,var(--accent)),color-mix(in srgb,var(--ink) 45%,var(--accent)),color-mix(in srgb,var(--ink) 55%,var(--accent)) 70%,color-mix(in srgb,var(--ink) 38%,var(--accent)));border-radius:0 0 6px 6px;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0000002e,0 6px 14px -4px #00000038}.shelf-ledge:before{content:"";position:absolute;inset:1px 4px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 2px,transparent 2px 16px,rgba(255,255,255,.04) 16px 18px,transparent 18px 32px);opacity:.6;border-radius:0 0 4px 4px;pointer-events:none}.shelf-ledge:after{content:"";position:absolute;left:6px;right:6px;top:0;height:1px;background:#fff3}.shelf-empty{padding:1.5rem;text-align:center;font-family:var(--font-serif),Georgia,serif;font-style:italic;color:var(--ink-3);font-size:1rem;letter-spacing:.005em}.bookend{flex:0 0 auto;width:14px;height:148px;align-self:flex-end;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 35%,var(--ink)),color-mix(in srgb,var(--accent) 60%,var(--ink)),color-mix(in srgb,var(--accent) 35%,var(--ink)));border-radius:2px 6px 2px 2px;box-shadow:inset 1px 0 #ffffff2e,inset -1px 0 #00000038,2px 4px 6px -2px #00000040;position:relative;opacity:.85}.bookend:before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18));border-radius:0 0 2px 2px}.tbr-cta-group{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.lib-hero-pick{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:0;border-radius:6px;font-family:Inter,sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .2s,filter .2s;white-space:nowrap;box-shadow:0 8px 18px -8px color-mix(in srgb,var(--accent) 60%,transparent)}.lib-hero-pick:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 14px 24px -8px color-mix(in srgb,var(--accent) 65%,transparent)}.lib-hero-pick .dice{font-size:1.05rem;line-height:1}.kanban{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:1rem;padding-bottom:.6rem;min-height:60vh}@media(max-width:1100px){.kanban{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:.6rem;margin:0 -1rem;padding-left:1rem;padding-right:1rem}.kan-col{flex:0 0 280px;scroll-snap-align:start}}.kan-col{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1rem .85rem;display:flex;flex-direction:column;min-height:340px;transition:border-color .2s ease,background .2s ease;overflow:hidden}.kan-col:before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,var(--col-tint, transparent),transparent);pointer-events:none;z-index:0}.kan-col[data-col=wish]{--col-tint: color-mix(in srgb, var(--ink-3) 8%, transparent);--col-dot:var(--ink-3) }.kan-col[data-col=soon]{--col-tint: color-mix(in srgb, var(--accent) 6%, transparent);--col-dot:color-mix(in srgb, var(--accent) 60%, var(--ink-2)) }.kan-col[data-col=next]{--col-tint: color-mix(in srgb, var(--accent) 11%, transparent);--col-dot:var(--accent) }.kan-col[data-col=reading]{--col-tint: color-mix(in srgb, var(--success) 12%, transparent);--col-dot:var(--success) }.kan-col.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.kan-col.over:after{content:"";position:absolute;inset:6px;border:1.5px dashed color-mix(in srgb,var(--accent) 50%,transparent);border-radius:14px;pointer-events:none}.kan-h{position:relative;z-index:1;display:flex;flex-direction:column;gap:.15rem;padding:.2rem .35rem .9rem;border-bottom:1px solid var(--border);margin-bottom:.85rem}.kan-h .top{display:flex;justify-content:space-between;align-items:center}.kan-h .ct{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.08rem;letter-spacing:-.01em;color:var(--ink)}.kan-h .ct:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--col-dot, var(--ink-3));box-shadow:0 0 0 3px color-mix(in srgb,var(--col-dot, var(--ink-3)) 22%,transparent)}.kan-h .num{font-family:var(--font-serif),Georgia,serif;font-size:.78rem;font-weight:600;letter-spacing:-.01em;color:var(--ink-2)}.kan-h .num strong{color:var(--ink);margin-right:.1rem}.kan-h .sub{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-weight:500;font-size:.84rem;color:var(--ink-3);letter-spacing:.005em}.kan-list{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:.55rem;min-height:80px}.kan-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.65rem .7rem;cursor:grab;display:flex;gap:.7rem;align-items:flex-start;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kan-card:hover{transform:translateY(-2px);border-color:var(--border-2);box-shadow:0 14px 28px -16px color-mix(in srgb,var(--accent) 35%,transparent)}.kan-card.dragging{opacity:.45;transform:rotate(-1deg) scale(.98)}.kan-card:active{cursor:grabbing}.kan-card .kc-cover{flex:0 0 38px;width:38px;aspect-ratio:2/3;border-radius:3px;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));position:relative;overflow:hidden;transform:rotate(-1.5deg);box-shadow:inset 1px 0 #ffffff29,inset -1px 0 #0000002e,2px 4px 8px -2px #0000002e}.kan-card .kc-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.kan-card .kc-cover .kc-spine{position:absolute;left:0;top:0;bottom:0;width:2.5px;background:linear-gradient(180deg,#0000004d,#00000080)}.kan-card .kc-cover .kc-spine-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.25rem;font-family:var(--font-serif),Georgia,serif;color:#f5ecd9;font-size:.5rem;font-weight:600;text-align:center;line-height:1.18;text-shadow:0 1px 1px rgba(0,0,0,.55)}.kan-card .kc-info{flex:1;min-width:0}.kan-card .kc-t{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.92rem;line-height:1.22;letter-spacing:-.005em;color:var(--ink);margin:0 0 .12rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kan-card .kc-a{font-size:.74rem;color:var(--ink-2);margin:0 0 .35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kan-card .kc-meta{display:flex;align-items:center;gap:.45rem;font-size:.66rem;color:var(--ink-3);letter-spacing:.005em}.kan-card .kc-pri{display:inline-flex;align-items:center;padding:.12rem .42rem;border-radius:99px;font-family:Inter,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-2);color:var(--ink-2)}.kan-card .kc-pri.must{background:color-mix(in srgb,var(--danger) 15%,var(--surface));color:var(--danger)}.kan-card .kc-pri.high{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}.kan-card .kc-pri.med{background:var(--surface-2);color:var(--ink-2)}.kan-card .kc-pri.low{background:var(--surface-2);color:var(--ink-3)}.kan-card .kc-pages{font-family:var(--font-serif),Georgia,serif;font-weight:500;font-size:.7rem;color:var(--ink-2);letter-spacing:-.005em;margin-left:auto}.kan-empty{padding:1.6rem .5rem 1.2rem;text-align:center;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.92rem;color:var(--ink-3);border:1px dashed var(--border-2);border-radius:12px;transition:border-color .2s,color .2s}.kan-col.over .kan-empty{color:var(--accent);border-color:var(--accent)}.kan-add{margin-top:.7rem;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem;background:transparent;border:1px dashed var(--border);border-radius:10px;font-size:.78rem;color:var(--ink-3);font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.kan-add:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.kan-add svg{width:14px;height:14px}.stats-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.stats-grid{grid-template-columns:repeat(3,1fr)}}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem 1.5rem;position:relative;overflow:hidden;transition:border-color .25s,box-shadow .25s}.chart-card:hover{border-color:var(--border-2);box-shadow:0 14px 32px -22px color-mix(in srgb,var(--accent) 25%,transparent)}.chart-card:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 6%,transparent),transparent 65%);pointer-events:none}.chart-card-h{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1.1rem}.chart-card-h .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.chart-card-h .insight{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.85rem;color:var(--ink-2);text-align:right;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-card-h .insight strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink)}canvas{display:block;max-width:100%;position:relative;z-index:1}.stats-top-row{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:1.2rem}@media(min-width:1024px){.stats-top-row{flex-direction:row;align-items:stretch}}.stats-top-row .heat-card{flex:2;min-width:0;margin-bottom:0}.stats-top-row-month{flex:1;min-width:0;margin-bottom:0}.heat-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem 1.5rem;margin-bottom:1.2rem;position:relative;overflow:hidden}.heat-card:before{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 6%,transparent),transparent 65%);pointer-events:none}.heat-card-h{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1rem}.heat-card-h .l{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.heat-card-h .v{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.92rem;color:var(--ink-2)}.heat-card-h .v strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink);margin-right:.1rem}.heat-months{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;padding-bottom:.4rem;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);position:relative;z-index:1}.heat-months span{text-align:left;padding-left:2px}.heat-months span.current{color:var(--accent);font-weight:600}.heat-card{display:flex;flex-direction:column}.heat-wrap{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:150px}.heat-months-row{display:grid;grid-template-columns:repeat(var(--cols),1fr);margin-left:2.2rem;padding-bottom:.35rem;font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.heat-months-row span{white-space:nowrap}.heat-body{flex:1;display:flex;gap:.4rem;min-height:0}.heat-days{width:1.8rem;display:grid;grid-template-rows:repeat(7,1fr);gap:3px;font-size:.6rem;color:var(--ink-3)}.heat-days span{display:flex;align-items:center}.heatmap{flex:1;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(7,minmax(6px,1fr));gap:3px}.heat-cell{border-radius:3px;background:var(--surface-2);cursor:default;transition:transform .12s ease,box-shadow .12s ease}.heat-legend .heat-cell{aspect-ratio:1}.heat-cell:hover{transform:scale(1.25);z-index:5;box-shadow:0 0 0 1.5px var(--ink-2)}.heat-tip,.chart-tip{position:absolute;z-index:20;pointer-events:none;background:var(--surface-3, #2a2d36);color:var(--ink);border:1px solid var(--border-2);border-radius:10px;box-shadow:0 10px 28px #00000059;padding:.55rem .75rem;font-size:.78rem;line-height:1.45;width:-moz-max-content;width:max-content;max-width:260px}.heat-tip{transform:translate(-50%,calc(-100% - 8px))}.heat-tip.is-right{transform:translate(calc(-100% + 12px),calc(-100% - 8px))}.heat-tip.is-left{transform:translate(-12px,calc(-100% - 8px))}.heat-tip-d,.chart-tip-t{font-weight:600;margin-bottom:.15rem}.heat-tip-d:first-letter,.chart-tip-t:first-letter{text-transform:uppercase}.heat-tip-m{color:var(--ink-3)}.heat-tip-f{color:var(--accent)}.bar-chart{position:relative}.bar-chart canvas{display:block;width:100%}.chart-tip{position:fixed;z-index:60}.chart-tip.is-side-r{transform:translate(12px)}.chart-tip.is-side-l{transform:translate(calc(-100% - 12px))}.chart-tip-l{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-cell.is-clickable{cursor:pointer;border-radius:10px;transition:background .15s ease}.stat-cell.is-clickable:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.stat-cell.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sd-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.sd-sum{background:var(--surface-2);border-radius:12px;padding:.8rem .9rem}.sd-sum-v{font-family:var(--font-serif),Georgia,serif;font-size:1.45rem;font-weight:600;color:var(--ink);line-height:1.1}.sd-sum-l{font-size:.72rem;color:var(--ink-3);margin-top:.25rem}.sd-progress{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:-.2rem 0 1rem}.sd-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.sd-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.sd-chips span{font-size:.72rem;color:var(--ink-2);background:var(--surface-2);border-radius:99px;padding:.2rem .6rem}.sd-note{font-size:.8rem;color:var(--ink-3);margin:0 0 1rem}.sd-sec{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:.4rem 0 .6rem}.sd-bars{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.2rem}.sd-bar{display:grid;grid-template-columns:5.5rem 1fr 3.5rem;align-items:center;gap:.6rem;font-size:.78rem;color:var(--ink-2)}.sd-bar-l{white-space:nowrap;color:var(--ink-2)}.sd-bar-track{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.sd-bar-track span{display:block;height:100%;background:var(--accent);border-radius:inherit;min-width:0}.sd-bar-v{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.sd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.sd-row{display:flex;align-items:center;gap:.8rem;padding:.5rem .4rem;border-radius:10px;color:inherit;text-decoration:none}.sd-row:hover{background:var(--surface-2)}.sd-list li+li .sd-row{border-top:1px solid var(--border)}.sd-list li+li .sd-row:hover{border-top-color:transparent}.sd-cover{width:34px;height:50px;flex:none;border-radius:3px;background:var(--surface-2);overflow:hidden}.sd-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.sd-txt{flex:1;min-width:0;display:flex;flex-direction:column}.sd-title{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-meta{font-size:.75rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-val{flex:none;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);font-size:.88rem}.sd-empty{color:var(--ink-3);font-size:.85rem;text-align:center;padding:1.5rem 0}.heat-cell[data-l="1"]{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.heat-cell[data-l="2"]{background:color-mix(in srgb,var(--accent) 45%,var(--surface-2))}.heat-cell[data-l="3"]{background:color-mix(in srgb,var(--accent) 70%,var(--surface-2))}.heat-cell[data-l="4"]{background:var(--accent)}.heat-legend{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.7rem;color:var(--ink-3);justify-content:flex-end;position:relative;z-index:1}.heat-legend .lc{width:10px;height:10px;border-radius:2px;display:inline-block}.authors-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem 1.5rem;position:relative;overflow:hidden}.authors-card:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 8%,transparent),transparent 65%);pointer-events:none}.authors-h{position:relative;z-index:1;margin-bottom:1rem}.authors-h .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.25rem}.authors-h h3{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.18rem;margin:0;letter-spacing:-.01em;color:var(--ink)}.authors-list{position:relative;z-index:1;display:grid;gap:.65rem;grid-template-columns:1fr}@media(min-width:560px){.authors-list{grid-template-columns:1fr 1fr}}.author-row{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.5rem .25rem}.author-row .rank{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.78rem;color:var(--ink-3);letter-spacing:-.01em;width:18px}.author-row .nm{font-family:Inter,sans-serif;font-size:.86rem;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.author-row .ct{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.92rem;color:var(--ink-2);letter-spacing:-.01em}.author-row .bar{grid-column:1 / -1;margin-top:.25rem;height:3px;background:var(--surface-2);border-radius:99px;overflow:hidden}.author-row .bar .fl{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.genres-list{display:grid;gap:.15rem;grid-template-columns:1fr}@media(min-width:560px){.genres-list{grid-template-columns:1fr 1fr}}.genre-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;padding:.65rem .6rem;border-radius:10px;transition:background .12s ease}.genre-row:hover{background:var(--surface-2)}.genre-row .nm{font-family:Inter,sans-serif;font-size:.92rem;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genre-row .ct{font-size:.8rem;color:var(--ink-3);white-space:nowrap}.genre-row .bar{grid-column:1 / -1;margin-top:.35rem;height:3px;background:var(--surface-2);border-radius:99px;overflow:hidden}.genre-row .bar .fl{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.series-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.2rem}.series-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.3rem 1.4rem 1.2rem;position:relative;overflow:hidden;transition:border-color .25s ease;display:flex;flex-direction:column;gap:.85rem}.series-card:hover{border-color:var(--border-2)}.series-card--click{cursor:pointer}.series-card--click:hover{box-shadow:var(--shadow-sm)}.series-card--click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.series-card:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 8%,transparent),transparent 65%);pointer-events:none}.sc-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;padding:.22rem .7rem;border-radius:99px;font-family:Inter,sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--surface-2);color:var(--ink-2);align-self:flex-start}.sc-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.sc-status.ongoing{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.sc-status.ongoing:before{background:var(--accent);animation:pulse 1.8s infinite}.sc-status.complete{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.sc-status.complete:before{background:var(--success)}.sc-h{position:relative;z-index:1}.sc-t{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.3rem;line-height:1.18;margin:0 0 .15rem;color:var(--ink);letter-spacing:-.015em}.sc-a{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.96rem;color:var(--ink-2);margin:0}.sc-spines{position:relative;z-index:1;display:flex;align-items:flex-end;gap:4px;padding:.2rem 0}.sc-mini-spine{flex:0 0 auto;width:13px;height:38px;border-radius:1px 3px 3px 1px;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:transform .2s ease;box-shadow:inset -1px 0 2px #0000000d}.sc-mini-spine.read{background:linear-gradient(180deg,var(--accent),var(--accent-hover));border-color:transparent;box-shadow:inset -1px 0 2px #0000002e,inset 1px 0 #ffffff2e,0 2px 4px -1px #0000001f}.sc-mini-spine.reading{background:linear-gradient(180deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 60%,var(--accent)));border-color:transparent;box-shadow:inset -1px 0 2px #0000002e,inset 1px 0 #ffffff2e}.sc-mini-spine.reading:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent);animation:pulse 1.4s infinite}.sc-mini-spine.dnf{background:repeating-linear-gradient(45deg,var(--surface-3) 0 4px,var(--surface-2) 4px 8px)}.sc-mini-spine.tall{height:44px}.sc-mini-spine.short{height:32px}.sc-mini-spine:hover{transform:translateY(-3px);cursor:pointer}.sc-mini-spine .tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);font-family:Inter,sans-serif;font-size:.65rem;padding:.25rem .5rem;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:5}.sc-mini-spine:hover .tooltip{opacity:1}.sc-mini-count{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.92rem;color:var(--ink-2);margin-left:.6rem;letter-spacing:-.015em;align-self:center}.sc-mini-count strong{color:var(--ink);margin-right:.15rem;font-size:1.05rem}.sc-prog{position:relative;z-index:1}.sc-prog-bar{height:5px;background:var(--surface-2);border-radius:99px;overflow:hidden}.sc-prog-bar .fl{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px}.sc-prog-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:.72rem;color:var(--ink-2);margin-top:.4rem;font-variant-numeric:tabular-nums}.sc-prog-meta .pct{font-family:var(--font-serif),Georgia,serif;font-weight:600;color:var(--ink);font-size:.85rem;letter-spacing:-.01em}.sc-context{position:relative;z-index:1;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.92rem;color:var(--ink-2);padding-top:.75rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.45rem;line-height:1.4}.sc-context:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 5px}.sc-context.done:before{background:var(--success)}.sc-context.waiting:before{background:var(--ink-3);opacity:.5}.sc-context strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink);margin:0 .1rem}.series-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.5rem}.quote-search{position:relative;margin:0 0 1.2rem;max-width:520px}.quote-search input{width:100%;padding:.7rem 1rem .7rem 2.7rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-family:Inter,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.quote-search input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.quote-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--ink-3);width:18px;height:18px}.quote-grid{-moz-columns:1;columns:1;-moz-column-gap:1.2rem;column-gap:1.2rem;margin-top:.6rem}@media(min-width:640px){.quote-grid{-moz-columns:2;columns:2}}@media(min-width:1280px){.quote-grid{-moz-columns:3;columns:3}}.q-card{-moz-column-break-inside:avoid;break-inside:avoid;display:block;width:100%;margin:0 0 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.5rem 1.4rem 1.1rem;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.q-card:hover{transform:translateY(-2px);border-color:var(--border-2);box-shadow:0 18px 38px -20px color-mix(in srgb,var(--accent) 28%,transparent)}.q-card .q-t{position:relative;z-index:1;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-weight:500;font-size:1.16rem;line-height:1.48;color:var(--ink);margin:.3rem 0 1.1rem;letter-spacing:.005em}.q-card .q-attr{position:relative;z-index:1;display:flex;align-items:center;gap:.75rem;padding-top:1rem;padding-bottom:.9rem;border-top:1px solid var(--border)}.q-card .q-attr-cover{flex:0 0 38px;width:38px;aspect-ratio:2/3;border-radius:3px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));transform:rotate(-1.5deg);transform-origin:center bottom;box-shadow:inset 1px 0 #ffffff29,inset -1px 0 #0000002e,2px 4px 8px -2px #0000002e}.q-card .q-attr-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.q-card .q-attr-cover .q-stitle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:.22rem;font-family:var(--font-serif),Georgia,serif;color:#f5ecd9;font-size:.48rem;font-weight:600;text-align:center;line-height:1.18;text-shadow:0 1px 1px rgba(0,0,0,.5)}.q-card .q-attr-info{flex:1;min-width:0}.q-card .q-attr-info .q-bk{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.92rem;line-height:1.22;color:var(--ink);margin:0;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-card .q-attr-info .q-au{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.82rem;color:var(--ink-2);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-card .q-attr-info .q-rate{color:var(--warning);letter-spacing:.5px;font-size:.7rem;margin-top:.05rem}.q-card .q-actions{position:relative;z-index:1;display:flex;gap:.4rem;flex-wrap:wrap}.q-card{position:relative}.q-card .q-t{padding-right:1.75rem}.q-speaker{margin:-.4rem 0 .9rem;font-size:.85rem;color:var(--ink-2);letter-spacing:.02em}.q-menu{position:absolute;top:.75rem;right:.75rem;opacity:.55;transition:opacity .15s ease}.q-card:hover .q-menu,.q-menu:focus-within{opacity:1}.q-attr--link{color:inherit;text-decoration:none}.bm-stage{display:flex;justify-content:center;gap:1.1rem;--bm-w:160px;padding-top:calc(var(--bm-w) * .95)}.bm-stage--sm{--bm-w:120px}.bm-stage--xs{--bm-w:76px;gap:.6rem}.bm-card{position:relative;flex:none}.bm-strip{position:relative;width:var(--bm-w);height:calc(var(--bm-w) * 2.5);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.bm-strip--art .bm-art{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.bm-art--empty{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#fff 6%,transparent);color:#f6f0e4}.bm-eyelet{position:absolute;left:50%;top:calc(var(--bm-w) * .14);width:calc(var(--bm-w) * .13);height:calc(var(--bm-w) * .13);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--bg, #15171c) 0 42%,transparent 44%),conic-gradient(from 210deg,#f5f5f8,#a9aab3,#e9eaef,#8f909a,#f5f5f8);box-shadow:0 1px 2px #00000073,inset 0 0 0 1px #ffffff59}.bm-logo{position:absolute;left:50%;bottom:calc(var(--bm-w) * .12);width:calc(var(--bm-w) * .42);aspect-ratio:953/372;transform:translate(-50%);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55));opacity:.92;pointer-events:none}.bm-logo i{display:block;width:100%;height:100%;background:linear-gradient(115deg,#9c9da6,#f3f3f6 38%,#b5b6be,#e9eaee 72%,#8f909a);-webkit-mask:url(/images/magic-planner-stacked.png) center / contain no-repeat;mask:url(/images/magic-planner-stacked.png) center / contain no-repeat}.bm-tassel{position:absolute;left:50%;bottom:calc(100% - var(--bm-w) * .14);width:calc(var(--bm-w) * .3);height:calc(var(--bm-w) * 1.05);transform:translate(-50%);overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.45))}.bm-back-inner{position:absolute;top:50%;left:50%;width:calc(var(--bm-w) * 2.5);height:var(--bm-w);transform:translate(-50%,-50%) rotate(-90deg);box-sizing:border-box;text-align:left;display:flex;flex-direction:column;justify-content:flex-start;gap:.5em;padding:calc(var(--bm-w) * .16) calc(var(--bm-w) * .32) calc(var(--bm-w) * .16) calc(var(--bm-w) * .2);color:#f6f0e4;font-size:calc(var(--bm-w) * .085)}.bm-quote{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.25em;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.bm-speaker{font-size:.9em;opacity:.85}.bm-book{margin-top:auto;font-size:.72em;letter-spacing:.04em;opacity:.65}.bm-idea{display:flex;gap:.45rem;margin:0;font-size:.82rem;line-height:1.45;color:var(--ink-2)}.bm-idea span{flex:none;display:flex;color:var(--accent);margin-top:.15rem}.bm-idea svg{width:14px;height:14px}.bm-note{margin:0;text-align:center;font-size:.82rem;color:var(--ink-3)}.bm-regen{align-self:center;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:0;background:none;cursor:pointer;font-size:.8rem;color:var(--ink-3)}.bm-regen:hover{color:var(--accent)}.bm-regen span{display:flex;line-height:0}.bm-regen svg{width:13px;height:13px}.bm-intro{margin:0;font-size:.92rem;line-height:1.55;color:var(--ink-2)}.bm-empty{display:flex;flex-direction:column;gap:.8rem}.bm-wait{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0 1rem;text-align:center}.bm-wait-t{margin:.5rem 0 0;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink)}.bm-wait-clock{margin:0;font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.bm-spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:bm-spin .9s linear infinite}@keyframes bm-spin{to{transform:rotate(360deg)}}.q-attr--link .q-attr-cover{transition:transform .18s ease,box-shadow .18s ease}.q-attr--link .q-bk{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s ease}.q-attr--link:hover .q-attr-cover{transform:translateY(-2px);box-shadow:var(--shadow)}.q-attr--link:hover .q-bk{text-decoration-color:currentColor}.q-attr--link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.q-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem;background:transparent;border:1px solid var(--border);border-radius:6px;font-family:Inter,sans-serif;font-size:.74rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s}.q-btn:hover{background:var(--surface);border-color:var(--border-2);color:var(--ink);transform:translateY(-1px)}.q-btn.primary{background:var(--ink);color:var(--surface);border-color:transparent}.q-btn.primary:hover{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 16px -8px color-mix(in srgb,var(--accent) 55%,transparent)}.q-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.q-btn svg{width:13px;height:13px}.q-btn .label{font-weight:500}.q-empty{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 5%,var(--surface)) 0%,var(--surface) 100%);border:1px solid var(--border);border-radius:18px;padding:2.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}.q-empty:before{content:"“";position:absolute;top:-.5rem;left:1.25rem;font-family:var(--font-serif),Georgia,serif;font-weight:900;font-size:10rem;line-height:1;color:color-mix(in srgb,var(--accent) 18%,transparent);pointer-events:none}.q-empty p{position:relative;z-index:1;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--ink-2);margin:0 0 1.2rem;max-width:46ch;margin-left:auto;margin-right:auto;line-height:1.5}.xp-card{display:flex;gap:1.4rem;align-items:center;padding:1.6rem 1.8rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)) 0%,var(--surface) 60%);border:1px solid var(--border-2);border-radius:22px;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000005,0 24px 50px -28px color-mix(in srgb,var(--accent) 22%,transparent)}.xp-card:before{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 15%,transparent),transparent 65%);pointer-events:none}.xp-card:after{content:"";position:absolute;left:-30px;bottom:-50px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 12%,transparent),transparent 65%);pointer-events:none}.xp-avatar{flex:0 0 80px;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-family:var(--font-serif),Georgia,serif;font-size:1.9rem;font-weight:700;color:#fff;position:relative;z-index:1;box-shadow:inset 1px 1px #ffffff2e,0 8px 22px -8px color-mix(in srgb,var(--accent) 60%,transparent)}.xp-avatar:after{content:"";position:absolute;inset:-4px;border:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:50%}.xp-avatar--icon{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.xp-avatar--icon svg{image-rendering:pixelated}.xp-info{flex:1;min-width:0;position:relative;z-index:1}.xp-info .xp-eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}.xp-info h4{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.5rem;margin:0 0 .15rem;letter-spacing:-.015em;color:var(--ink)}.xp-info .xp-title{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.95rem;color:var(--ink-2);margin:0 0 .8rem}.xp-info .xp-title strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink)}.xp-bar{height:10px;background:color-mix(in srgb,var(--ink) 6%,var(--surface));border-radius:99px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000000f}.xp-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .8s cubic-bezier(.5,0,.2,1);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 40%,transparent)}.xp-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:.5rem;font-size:.78rem;color:var(--ink-2);font-variant-numeric:tabular-nums}.xp-meta .xp-cur strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;color:var(--ink)}.xp-meta .xp-next{font-family:var(--font-serif),Georgia,serif;font-style:italic}.xp-meta .xp-next strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink);margin-right:.15rem}.bingo-section-h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .85rem;flex-wrap:wrap;gap:.5rem}.bingo-section-h h3{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.18rem;letter-spacing:-.01em;color:var(--ink);margin:0}.bingo-section-h .ct{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.92rem;color:var(--ink-2)}.bingo-section-h .ct strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink)}.bingo-board{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:var(--surface);border:1px solid var(--border-2);padding:1rem;border-radius:22px;max-width:640px;margin:0 auto 2.4rem;position:relative;box-shadow:0 1px 2px #00000005,0 24px 56px -28px color-mix(in srgb,var(--accent) 25%,transparent)}.bingo-board:before,.bingo-board:after{content:"";position:absolute;width:18px;height:18px;border:1.5px solid var(--accent);opacity:.5}.bingo-board:before{top:-4px;left:-4px;border-right:0;border-bottom:0}.bingo-board:after{bottom:-4px;right:-4px;border-left:0;border-top:0}.bingo-cell{aspect-ratio:1;background:color-mix(in srgb,var(--ink) 3%,var(--surface));border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:.55rem;text-align:center;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;line-height:1.25;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:transform .15s ease,background .2s ease,color .15s ease,box-shadow .2s ease}.bingo-cell:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}.bingo-cell.on{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-weight:600;border-color:transparent;box-shadow:inset 0 1px #ffffff2e,0 8px 18px -6px color-mix(in srgb,var(--accent) 55%,transparent)}.bingo-cell.on:after{content:"";position:absolute;top:.35rem;right:.4rem;width:14px;height:14px;border-radius:50%;background:#fffffff2;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>");background-size:10px;background-position:center;background-repeat:no-repeat}.bingo-cell.on .cell-num{color:#ffffff80}.cell-num{position:absolute;top:.35rem;left:.45rem;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.62rem;color:var(--ink-3);letter-spacing:-.01em}.achiev-section-h{margin:0 0 1.1rem}.achiev-section-h .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.3rem}.achiev-section-h h3{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 .25rem}.achiev-section-h p{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.95rem;color:var(--ink-2);margin:0}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.badge{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.1rem .85rem 1rem;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;filter:grayscale(1) opacity(.5)}.badge.unlocked{filter:none;background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 6%,var(--surface)) 0%,var(--surface) 60%)}.badge.unlocked:hover{transform:translateY(-2px);border-color:var(--border-2);box-shadow:0 14px 28px -16px color-mix(in srgb,var(--accent) 40%,transparent)}.badge.unlocked:before{content:"";position:absolute;right:-20px;top:-20px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 65%);pointer-events:none}.badge-ic{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;margin:0 auto .55rem;color:#fff;font-size:1.6rem;position:relative;box-shadow:inset 1px 1px #ffffff2e,0 6px 14px -6px color-mix(in srgb,var(--accent) 55%,transparent)}.badge.unlocked .badge-ic:after{content:"";position:absolute;inset:-3px;border:1.5px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:50%}.badge .bn{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.85rem;color:var(--ink);margin-bottom:.2rem;letter-spacing:-.005em}.badge .bd{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.78rem;color:var(--ink-2);margin:0;line-height:1.3}.badge .bu{display:block;margin-top:auto;padding-top:.55rem;border-top:1px solid var(--border);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.badge.locked .bu{color:var(--ink-3)}.badge .bd{margin-bottom:.55rem}.badge .bu{white-space:nowrap}.badge-date{display:block;margin-bottom:.2rem;font-size:.62rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--ink-3)}.bu-ic{display:inline-flex;width:11px;height:11px;vertical-align:-1px;margin-right:.35rem}.bu-ic svg{width:100%;height:100%;stroke-width:2.4}.confetti-host{position:fixed;inset:0;pointer-events:none;z-index:90}.confetti-host i{position:absolute;width:8px;height:14px;border-radius:1px;will-change:transform;animation:cfall 2.2s ease-out forwards}@keyframes cfall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.2}}#scrim.more-sheet-wrap{align-items:flex-end;padding:0;overflow:hidden}#scrim.more-sheet-wrap .modal{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0;max-height:none;width:100%;max-width:520px;overflow:visible;align-self:flex-end}#scrim.more-sheet-wrap.on .modal{animation:sheet-up .32s cubic-bezier(.2,.8,.2,1)}#scrim.more-sheet-wrap.on{animation:scrim-in .25s ease}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scrim-in{0%{background:#0000}to{background:#0000008c}}@media(prefers-reduced-motion:reduce){#scrim.more-sheet-wrap.on .modal,#scrim.more-sheet-wrap.on{animation:none}}.more-sheet{background:var(--surface);border-radius:24px 24px 0 0;padding:.6rem 0 max(1rem,env(safe-area-inset-bottom));max-height:80vh;display:flex;flex-direction:column;width:100%;max-width:520px;position:relative}.more-sheet:before{content:"";position:absolute;top:.55rem;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:99px;background:var(--ink-3);opacity:.28}.more-sheet-h{padding:1.4rem 1.4rem 1rem;position:relative}.more-sheet-h .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.2rem}.more-sheet-h h3{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.35rem;letter-spacing:-.015em;color:var(--ink);margin:0}.more-sheet-h .closex{position:absolute;top:1.2rem;right:1rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-2);color:var(--ink-2)}.more-sheet-h .closex:hover{background:var(--surface-3);color:var(--ink)}.more-sheet-h .closex svg{width:18px;height:18px}.more-sheet-list{padding:.4rem .8rem 1rem;overflow-y:auto}.more-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:14px;cursor:pointer;border:0;background:transparent;width:100%;text-align:left;transition:background .15s ease,transform .15s ease;font-family:inherit}.more-row--btn{width:100%;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.more-row:hover{background:var(--surface-2)}.more-row:active{transform:scale(.98);background:var(--surface-3)}.more-row .m-ic{flex:0 0 40px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-radius:12px}.more-row .m-ic svg{width:20px;height:20px}.more-row .m-info{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column}.more-row .m-l{font-family:var(--font-sans);font-weight:500;font-size:.96rem;color:var(--ink);letter-spacing:-.005em}.more-row .m-sub{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.8rem;color:var(--ink-2);margin-top:.05rem}.more-row .m-arrow{color:var(--ink-3);flex:0 0 18px;transition:transform .2s,color .2s}.more-row:hover .m-arrow{color:var(--accent);transform:translate(2px)}#scrim{position:fixed;inset:0;background:#0000008c;z-index:100;display:none;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}#scrim.on{display:flex}.modal{background:var(--surface);border-radius:6px;width:100%;max-width:600px;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-2)}.modal-h{position:sticky;top:0;background:var(--surface);display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);z-index:2}.modal-h h3{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:1.2rem;font-weight:600}.modal-h-left{display:flex;align-items:center;gap:.7rem;min-width:0;flex-wrap:wrap}.modal-h-left .btn.sm svg{width:14px;height:14px}.modal-b{padding:1.25rem}.modal-f{position:sticky;bottom:0;background:var(--surface);padding:.85rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:.5rem;justify-content:flex-end}@media(max-width:560px){.modal{max-width:100%;max-height:96vh;border-radius:6px 6px 0 0;align-self:flex-end}#scrim{align-items:flex-end;padding:0}#scrim.on .modal{animation:sheet-up .3s cubic-bezier(.2,.8,.2,1)}}#scrim.confirm-scrim .modal{max-width:400px}#scrim.book-editor-scrim .modal{max-width:760px}#scrim.book-preview-scrim .modal{max-width:640px}.confirm-dialog{padding:1.25rem}.confirm-dialog-text{margin:0 0 1rem;font-size:.95rem;color:var(--ink)}.confirm-dialog-actions{display:flex;gap:.5rem;justify-content:flex-end}.drawer-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,92vw);background:var(--surface);z-index:110;transform:translate(100%);transition:transform .35s cubic-bezier(.5,0,.2,1);box-shadow:-24px 0 60px -20px #0000002e;display:flex;flex-direction:column}.drawer-panel.on{transform:none}.drawer-h{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)) 0%,var(--surface) 70%);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.drawer-h:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 65%);pointer-events:none}.drawer-h-text{position:relative;z-index:1}.drawer-h-text .eyebrow{font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.15rem}.drawer-h-text h3{margin:0;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink)}.drawer-h .icon-btn{position:relative;z-index:1}.drawer-b{flex:1;overflow-y:auto;padding:1.6rem 1.5rem 2rem;line-height:1.6}.guide-intro{margin:0 0 2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.guide-intro-eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem;display:flex;align-items:center;gap:.7rem}.guide-intro-eyebrow:before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}.guide-intro h2{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;font-variation-settings:"opsz" 96;margin:0 0 .9rem;color:var(--ink)}.guide-intro h2 em{color:var(--accent);font-style:italic}.guide-intro p{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.5;color:var(--ink-2);margin:0}.guide-section{margin:0 0 1.8rem;position:relative}.guide-section-h{display:flex;align-items:baseline;gap:.7rem;margin:0 0 .5rem}.guide-num{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.78rem;color:var(--accent);letter-spacing:.02em;flex:0 0 auto}.guide-section h4{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.08rem;margin:0;color:var(--ink);letter-spacing:-.005em}.guide-section p{margin:0 0 .65rem;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.55;color:var(--ink-2);padding-left:1.6rem}.guide-section p strong{color:var(--ink);font-weight:600}.guide-section p em{font-family:var(--font-serif),Georgia,serif;font-style:italic;color:var(--ink);font-size:.95rem}.guide-pull{margin:1.4rem 0;padding:1rem 1.2rem;background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-left:3px solid var(--accent);border-radius:0 12px 12px 0;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1rem;line-height:1.5;color:var(--ink)}.guide-pull strong{font-family:var(--font-serif),Georgia,serif;font-style:normal;font-weight:600}.guide-foot{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--border);text-align:center;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.85rem;color:var(--ink-3)}.guide-foot strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-style:normal;color:var(--ink-2)}#toast{position:fixed;bottom:7rem;left:50%;transform:translate(-50%) translateY(40px);background:var(--ink);color:var(--surface);padding:.7rem 1.1rem;border-radius:99px;font-size:.85rem;opacity:0;pointer-events:none;transition:transform .3s,opacity .3s;z-index:200}#toast.on{transform:translate(-50%);opacity:1}@media(min-width:1024px){#toast{bottom:1.5rem}}.book-editor .be-header-grid{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.be-cover-thumb{width:120px;height:180px;flex:0 0 120px;border-radius:8px;background:linear-gradient(135deg,var(--spine-1),var(--spine-3));position:relative;overflow:hidden;box-shadow:var(--shadow)}.be-cover-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.be-cover-thumb .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:.4rem;padding:.5rem;text-align:center}.be-cover-thumb .ph svg{width:28px;height:28px}.be-cover-thumb .ph span{font-size:.72rem}.be-cover-thumb--click{display:block;cursor:pointer;transition:filter .15s ease}.be-cover-thumb--click:after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .15s ease;background:#00000059 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' width='26' height='26'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E") no-repeat center}.be-cover-thumb--click:hover:after{opacity:1}.be-header-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:.85rem}.be-header-fields .field{margin:0}.be-cover-remove{align-self:flex-start;color:var(--ink-3);font-size:.78rem;text-decoration:underline;text-decoration-color:transparent;transition:color .15s ease,text-decoration-color .15s ease}.be-cover-remove:hover{color:var(--danger);text-decoration-color:currentColor}.advanced-toggle{margin:1rem 0 .5rem;padding:.5rem 0;border-top:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:.4rem;cursor:pointer}.advanced-toggle svg{transition:transform .2s}.advanced-toggle.open svg{transform:rotate(90deg)}.rate-row{display:flex;gap:.15rem}.rate-row .star{cursor:pointer;font-size:1.5rem;color:var(--surface-3);transition:color .15s}.rate-row .star.on{color:var(--warning)}.rate-row.spice .star.on{color:var(--danger)}.star-rating{display:inline-flex;align-items:center;gap:.5rem}.star-rating-stars{display:inline-flex;gap:.1rem}.star-slot{position:relative;display:inline-block;font-size:1.5rem;line-height:1}.star-slot.click{cursor:pointer}.star-rating--sm .star-slot{font-size:1.05rem}.star-bg{color:var(--surface-3)}.star-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--warning);pointer-events:none}.star-rating-num{font-size:.85rem;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.star-rating--sm .star-rating-num{font-size:.72rem}.tropes-pick{display:flex;flex-wrap:wrap;gap:.3rem;padding:.4rem;background:var(--surface-2);border-radius:10px;min-height:46px}.trope-add{display:inline-flex;align-items:center;gap:.25rem}.trope-add input{padding:.3rem .6rem;border-radius:6px;min-width:8.5rem;max-width:12rem;background:var(--surface);color:var(--ink);font-family:inherit;font-size:.78rem;font-weight:500;border:1px dashed var(--border-2);outline:none}.trope-add input::-moz-placeholder{color:var(--ink-2);opacity:.75}.trope-add input::placeholder{color:var(--ink-2);opacity:.75}.trope-add input:focus{border-style:solid;border-color:var(--accent)}.trope-add button{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border-radius:6px;cursor:pointer;background:var(--surface);color:var(--ink-2);border:1px solid var(--border-2);font-size:1rem;line-height:1}.trope-add button:hover{background:var(--accent);color:var(--on-accent);border-color:transparent}.lookup-panel{margin:.5rem 0 1rem;padding:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.lookup-panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.refresh-confirm{margin:0 0 1rem;padding:.9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.refresh-confirm-pick{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}.refresh-confirm-cover{flex:0 0 40px;width:40px;height:58px;border-radius:4px;overflow:hidden;background:var(--surface-3)}.refresh-confirm-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.refresh-confirm-meta{display:flex;flex-direction:column;min-width:0}.refresh-confirm-meta strong{font-size:.92rem;color:var(--ink)}.refresh-confirm-meta span{font-size:.8rem;color:var(--ink-2)}.refresh-confirm-text{font-size:.82rem;color:var(--ink-2);margin:0 0 .6rem}.refresh-confirm .check-row{margin-bottom:.7rem}.refresh-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}.lookup-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lookup-result{display:flex;align-items:center;gap:.6rem;padding:.4rem;background:var(--surface);border-radius:8px}.lookup-cover{width:2.2rem;height:3.2rem;-o-object-fit:cover;object-fit:cover;border-radius:4px;flex-shrink:0}.lookup-info{flex:1;min-width:0}.lookup-result-title{font-weight:600;font-size:.85rem}.lookup-result-sub{font-size:.75rem;color:var(--ink-2)}@media(pointer:coarse){.trope-add input{min-height:2.75rem;min-width:9.5rem}.trope-add button{width:2.75rem;height:2.75rem;font-size:1.15rem}}#onb{position:fixed;inset:0;z-index:200;background:var(--bg);background-image:var(--texture);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;overflow-y:auto}.onb-card{max-width:560px;width:100%;background:var(--surface);border:1px solid var(--border-2);border-radius:22px;padding:1.6rem 1.5rem;box-shadow:var(--shadow-lg)}.onb-brand{text-align:center;margin-bottom:1.2rem}.onb-brand-name{font-family:var(--font-serif),Georgia,serif;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0}.onb-brand-tag{color:var(--ink-2);font-size:.85rem;margin-top:.2rem}.onb-brand-link{display:inline-block;margin-top:.5rem;font-size:.78rem;color:var(--accent);font-weight:500}.onb-card h2{font-family:var(--font-serif),Georgia,serif;font-size:1.5rem;margin:0 0 .25rem}.onb-card .lead{color:var(--ink-2);font-size:.92rem;margin-bottom:1.25rem}.storage-opt{display:flex;gap:.85rem;padding:1.1rem 1rem;border:1.5px solid var(--border-2);border-radius:14px;margin-bottom:.85rem;cursor:pointer;transition:border-color .2s,background .2s}.storage-opt:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.storage-opt .ic{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:flex;align-items:center;justify-content:center}.storage-opt h3{font-family:var(--font-serif),Georgia,serif;font-size:1.05rem;margin:0 0 .2rem}.storage-opt p{margin:0;font-size:.82rem;color:var(--ink-2);line-height:1.45}.storage-opt .warn{display:block;margin-top:.45rem;padding:.5rem .65rem;background:color-mix(in srgb,var(--warning) 15%,var(--surface));color:color-mix(in srgb,var(--warning) 60%,var(--ink));font-size:.78rem;border-radius:8px;border-left:3px solid var(--warning)}.wiz-steps{display:flex;gap:.3rem;margin-bottom:1rem;justify-content:center}.wiz-steps i{width:6px;height:6px;border-radius:50%;background:var(--surface-3)}.wiz-steps i.on{background:var(--accent);width:22px;border-radius:99px}.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.theme-card{padding:.85rem .65rem;border:1.5px solid var(--border);border-radius:14px;cursor:pointer;text-align:center;background:var(--surface);transition:border-color .2s,transform .15s,box-shadow .2s;position:relative}.theme-card:hover{transform:translateY(-2px);border-color:var(--border-2)}.theme-card.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--accent) 40%,transparent)}.theme-card.on:after{content:"";position:absolute;top:.45rem;right:.45rem;width:14px;height:14px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>");background-size:10px;background-position:center;background-repeat:no-repeat}.theme-swatch{display:flex;gap:2px;height:42px;border-radius:8px;overflow:hidden;margin-bottom:.5rem;box-shadow:inset 0 0 0 1px #0000000d}.theme-swatch span{flex:1}.theme-card .tn{font-family:var(--font-serif),Georgia,serif;font-size:.85rem;font-weight:600;color:var(--ink);letter-spacing:-.005em}.theme-card .td{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.7rem;color:var(--ink-2);margin-top:2px;line-height:1.25}.set-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;align-items:start}.set-col{display:flex;flex-direction:column;gap:inherit;min-width:0}.set-card--danger{border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.set-card--danger .eyebrow,.set-card--danger h3{color:var(--danger)}.set-danger-text{margin:0 0 .9rem;color:var(--ink-2);font-size:.92rem;line-height:1.55}.set-card--danger .set-danger-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.set-card--danger .btn.danger{padding:0 .9rem;color:var(--danger);background:transparent;border-color:var(--danger)}.set-card--danger .btn.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,transparent);border-color:var(--danger)}@media(min-width:980px){.set-grid{grid-template-columns:1fr 1fr;gap:1.4rem}}.set-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem 1.5rem;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s}.set-card:hover{border-color:var(--border-2)}.set-card:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 6%,transparent),transparent 65%);pointer-events:none}.set-card-h{position:relative;z-index:1;margin-bottom:1.1rem}.set-card-h .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.25rem}.set-card-h h3{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:1.2rem;margin:0 .25rem 0 0;letter-spacing:-.01em;color:var(--ink);display:inline-block}.set-card-h .h-sub{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.85rem;color:var(--ink-2);margin-left:.25rem}.set-card .field-row,.set-card .field{position:relative;z-index:1}.set-avatar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem}.set-avatar-row .btn{white-space:nowrap;flex:none}.set-avatar{width:56px;height:56px;flex:0 0 auto;border-radius:50%;overflow:hidden;background:var(--surface-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem}.set-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.set-card .input,.set-card .select{background:var(--bg);border:1px solid var(--border);border-radius:12px;font-family:Inter,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.set-card .input:focus,.set-card .select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.set-lang{display:flex;gap:.5rem;flex-wrap:wrap}.set-lang button{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;background:transparent;border:1.5px solid var(--border);border-radius:6px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color .2s,background .2s,color .2s}.set-lang button:hover{border-color:var(--border-2);color:var(--ink)}.set-lang button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--ink)}.set-lang .flag{font-size:1.1rem;line-height:1}.set-storage{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.set-storage button{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:.85rem 1rem;background:transparent;border:1.5px solid var(--border);border-radius:14px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}.set-storage button:hover{border-color:var(--border-2)}.set-storage button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.set-storage .ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-2);color:var(--accent);margin-bottom:.5rem}.set-storage button.on .ic{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.set-storage .ic svg{width:18px;height:18px}.set-storage .lbl{font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:.92rem;color:var(--ink);letter-spacing:-.005em}.set-storage .desc{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.75rem;color:var(--ink-2);margin-top:.15rem;line-height:1.3}.set-storage button.on:after{content:"";position:absolute;top:.45rem;right:.45rem;width:14px;height:14px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>");background-size:10px;background-position:center;background-repeat:no-repeat}.set-storage-detail{margin-top:.8rem;padding:.65rem .85rem;background:var(--bg);border-radius:10px;font-size:.8rem;color:var(--ink-2);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;line-height:1.4}.set-storage-detail .dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent);flex:0 0 7px}.set-storage-detail .dot.grey{background:var(--ink-3);box-shadow:none;opacity:.5}.set-storage-detail strong{font-family:var(--font-serif),Georgia,serif;font-weight:600;color:var(--ink);font-style:normal;font-size:.85rem;letter-spacing:-.005em}.set-actions{display:flex;flex-direction:column;gap:.4rem;position:relative;z-index:1}.set-action{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;background:var(--bg);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.set-action:hover{background:var(--surface);border-color:var(--border-2)}.set-action .a-ic{flex:0 0 32px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-radius:8px}.set-action .a-ic svg{width:16px;height:16px}.set-action .a-info{flex:1;min-width:0}.set-action .a-l{font-family:Inter,sans-serif;font-weight:500;font-size:.88rem;color:var(--ink)}.set-action .a-sub{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.74rem;color:var(--ink-2);margin-top:.05rem}.set-action .arrow{color:var(--ink-3);transition:transform .2s,color .2s;flex:0 0 16px}.set-action:hover .arrow{color:var(--accent);transform:translate(2px)}.set-action.danger .a-ic{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.set-action.danger:hover{border-color:var(--danger)}.set-action input[type=file]{display:none}.import-preview{margin-top:1rem;padding:.9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.import-preview h4{margin:0 0 .5rem}.import-counts{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .8rem;font-size:.85rem}.import-errors{list-style:none;margin:0 0 .6rem;padding:.5rem;background:var(--surface);border-radius:8px;max-height:8rem;overflow-y:auto;font-size:.78rem;color:var(--ink-2)}.import-preview-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.6rem}.about-card{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 7%,var(--surface)) 0%,var(--surface) 60%);border:1px solid var(--border-2);border-radius:18px;padding:1.5rem 1.6rem;position:relative;overflow:hidden;text-align:center}.about-card:before{content:"";position:absolute;left:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 65%);pointer-events:none}.about-brand{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:1.4rem;letter-spacing:-.015em;color:var(--ink);margin:0 0 .25rem;position:relative;z-index:1}.about-tag{font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:.95rem;color:var(--ink-2);margin:0 0 1rem;position:relative;z-index:1}.about-link{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.2rem;background:var(--ink);color:var(--surface);border-radius:6px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;position:relative;z-index:1;transition:background .2s,transform .15s}.about-link:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-1px)}.timer-bar{position:fixed;left:1rem;right:1rem;bottom:5.5rem;background:var(--ink);color:var(--surface);border-radius:16px;padding:.7rem 1rem;display:flex;align-items:center;gap:.8rem;box-shadow:var(--shadow-lg);z-index:45}.timer-bar .tt{font-family:var(--font-serif),Georgia,serif;font-size:.92rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-bar .tc{font-family:var(--font-serif),Georgia,serif;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.timer-bar button{color:var(--surface);padding:.4rem .7rem;background:#ffffff1f;border-radius:8px;font-size:.78rem}@media(min-width:1024px){.timer-bar{left:auto;right:1.5rem;bottom:1.5rem;min-width:320px}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--ink-2)}.trash-list{display:flex;flex-direction:column;gap:.6rem}.trash-row{display:flex;align-items:center;gap:.9rem;padding:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.trash-cover{flex:0 0 44px;width:44px;height:64px;border-radius:6px;overflow:hidden;background-size:cover}.trash-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.trash-info{flex:1;min-width:0}.trash-title{font-weight:600;font-size:.9rem}.trash-author{font-size:.8rem;color:var(--ink-2)}.trash-deleted{font-size:.72rem;color:var(--ink-3)}.trash-actions{display:flex;gap:.4rem;flex-shrink:0}.trash-actions .btn span{margin-right:.3rem}.empty-state svg{width:48px;height:48px;color:var(--ink-3);margin:0 auto 1rem}.empty-state .btn svg{width:17px;height:17px;margin:0;color:inherit}.empty-state h3{font-family:var(--font-serif),Georgia,serif;font-size:1.2rem;margin:0 0 .35rem;color:var(--ink)}.empty-state p{margin:0 0 1rem;font-size:.92rem}@media print{.topbar,.sidebar,.tabbar,.fab,#toast,.lib-controls,.seg{display:none!important}body{background:#fff;color:#000}.card,.book-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none;border-color:#ccc}main{padding:0}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}
